Information processing apparatus, information processing method, and program
The information processing apparatus enhances color mapping by correcting conversion parameters to minimize color degradation and maintain consistent color tones across pages, addressing issues in existing technologies.
Patent Information
- Application Number
- JP2024002043
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-10
- Publication Date
- 2025-07-23
AI Technical Summary
Existing color mapping technologies, such as 'Perceptual' and 'Absolute Colorimetric' mapping, can lead to saturation loss or color degradation when converting colors outside a printer's reproducible gamut, and result in undesirable color tone changes when the original document is modified.
An information processing apparatus that corrects conversion parameters to increase the color difference between colors after conversion, using a color difference threshold to minimize color collapse and discomfort across pages.
Reduces the degree of color conversion and discomfort by ensuring distinct color representation across multiple pages, maintaining desired color tones.
Smart Images

Figure 2025108241000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing apparatus, an information processing method, and a program.
Background Art
[0002] There is known an information processing apparatus that receives a digital manuscript described in a predetermined color space, performs mapping of each color in the color space to a color gamut reproducible by a printer, and outputs the result. Patent Document 1 describes "Perceptual" mapping and "Absolute Colorimetric" mapping. Patent Document 2 describes determination of presence or absence of color space compression and compression direction for an input color image signal.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Patent Document 2
Summary of the Invention
Problems to be Solved by the Invention
[0004] When performing the "Perceptual" mapping described in Patent Document 1, the saturation may decrease even for colors reproducible by the printer in the color space of the digital manuscript. Also, when performing "Absolute Colorimetric" mapping, color degradation may occur due to mapping between a plurality of colors outside the reproducible color gamut of the printer included in the digital manuscript. Further, in Patent Document 2, since unique compression is performed in the saturation direction on the input color image signal, there remains a concern about the effect of reducing the degree of color degradation. Also, there has been a problem that even when a preferable mapping result is obtained, when the manuscript before mapping is modified, the color tone after mapping is not always as desired by the user.
[0005] The present invention enables color mapping to a printing color gamut such that the degree of color conversion caused by color conversion is reduced, and also aims to reduce the sense of discomfort across multiple pages when performing such color mapping.
Means for Solving the Problems
[0006] To achieve the object of the present invention, for example, an information processing apparatus according to an embodiment includes the following configuration. That is, a first acquisition unit that acquires first color information of a first image including a pixel representing color information of a first color defined in a first color gamut and a pixel representing color information of a second color defined in the first color gamut; and when a color difference between a third color defined in a second color gamut obtained by converting the first color by a color conversion process and a fourth color defined in the second color gamut obtained by converting the second color by the color conversion process is smaller than a predetermined threshold value, a first correction unit that corrects a first conversion parameter in the color conversion process so that the color obtained by converting the first color is a fifth color different from the third color and having a color difference from the fourth color larger than the color difference between the third color and the fourth color; and a conversion unit that performs a color conversion process using the corrected first conversion parameter on a second image different from the first image.
Effects of the Invention
[0007] It is possible to perform color mapping to a printing color gamut such that the degree of color conversion caused by color conversion is reduced, and it is also possible to reduce the sense of discomfort across multiple pages when performing such color mapping.
Brief Description of the Drawings
[0008]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Mode for Carrying Out the Invention
[0009] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. It should be noted that the following embodiments do not limit the invention according to the claims. Although a plurality of features are described in the embodiments, not all of these plurality of features are essential to the invention, and the plurality of features may be arbitrarily combined. Further, in the accompanying drawings, the same or similar configurations are denoted by the same reference numerals, and redundant descriptions are omitted.
[0010] [Embodiment 1] The terms used in this specification are defined as follows in advance.
[0011] [Color reproduction range] The color reproduction range according to this embodiment refers to the range of reproducible colors in an arbitrary color space. Hereinafter, the color reproduction range is also referred to as a color reproduction range, a color gamut, or a gamut. As an index representing the size of this color reproduction range, there is a gamut volume. The gamut volume is the three-dimensional volume in an arbitrary color space.
[0012] It is conceivable that the chromaticity points constituting the color reproduction range are discrete. For example, it is conceivable that a specific color reproduction range is represented by 729 points on CIE-L*a*b*, and for the points in between, known interpolation operations such as tetrahedral interpolation or cubic interpolation are used to obtain them. In such a case, the corresponding gamut volume can use the volume on CIE-L*a*b* such as a tetrahedron or a cube constituting the color reproduction range obtained by cumulative calculation corresponding to the interpolation operation method.
[0013] For the color reproduction range and color gamut according to this embodiment, an example using the color reproduction range in the CIE-L*a*b* space will be described. However, if the same processing is possible, it is not particularly limited in this way, and different color reproduction ranges may be used. Similarly, the numerical values of the color reproduction range according to this embodiment indicate the volume when cumulatively calculated in the CIE-L*a*b* space on the premise of tetrahedral interpolation, but it is not particularly limited in this way.
[0014] [Gamma mapping] The gamut mapping according to this embodiment is a process of converting a color in a certain color gamut into a color in a different color gamut. For example, mapping a color in an input color gamut to an output color gamut is called gamut mapping, and a conversion within the same color gamut is not called gamut mapping. In gamut mapping, maps such as Perceptual, Saturation, or Colorimetric of an ICC profile may be used. Hereinafter, when simply denoted as "mapping process", it refers to the mapping process in gamut mapping.
[0015] The mapping process may convert one 3DLUT (look-up table). Also, the mapping process may be performed after color space conversion to a standard color space. For example, when the input color space is sRGB, the input color may be converted into a color on the CIE-L*a*b* color space, and the mapping process may be performed on the output color gamut on the CIE-L*a*b* color space. This mapping process may be a 3DLUT process or a process using a conversion formula. Also, the mapping process and the conversion process from the input color space to the output color space may be performed simultaneously. For example, at the input, it may be the sRGB color space, and at the output, it may be converted into RGB values or CMYK values specific to the image forming apparatus.
[0016] [Original manuscript data] The original manuscript data according to this embodiment refers to the entire input digital data to be processed, and is assumed to be composed of one page to a plurality of pages. The single-page original manuscript data may be held as image data or expressed as drawing commands. When the original manuscript data is expressed as drawing commands, rendering may be performed and the data may be converted into image data before being processed. The image data is composed of a plurality of pixels arranged two-dimensionally. Each pixel holds information representing a color in a color space. Examples of the information representing a color include RGB values, CMYK values, K values, CIE-L*a*b* values, HSV values, or HLS values.
[0017] [Color difference reduction, color degradation] In the present embodiment, for any two colors, when performing gamma mapping, the fact that the distance between the colors after mapping in a predetermined color space is smaller than the distance between the colors before mapping is simply expressed as "color difference reduction". When color difference reduction occurs, it is conceivable that what was recognized as different colors before mapping is recognized as the same color after mapping due to the reduced color difference after mapping. In what follows, the occurrence of color difference reduction and the color difference after conversion being less than a predetermined threshold will be referred to as "color collapse". The threshold value used here will be described later.
[0018] Hereinafter, a specific example of color collapse will be given and described. Here, assume that there are color A and color B in a digital manuscript, and by mapping these to the color gamut of a printer, color A is converted to color C and color B is converted to color D. In this case, the state where the distance between color C and color D is smaller than the distance between color A and color B and the color difference between color C and color D is less than a predetermined threshold is defined as color collapse. When color collapse occurs, colors that were recognized as different in the digital manuscript are recognized as the same color when printed. For example, when printing a graph that uses different colors to recognize different items, if different colors are recognized as the same color due to color collapse, there is a possibility of being misrecognized as the same item even though they are different items.
[0019] In the present embodiment, any color space may be used as the predetermined color space for calculating the distance between colors. For example, the sRGB color space, Adobe RGB color space, CIE-L*a*b* color space, CIE-LUV color space, XYZ colorimetric system color space, xyY colorimetric system color space, HSV color space, or HLS color space, etc. may be used when calculating the color difference.
[0020] [Information Processing Apparatus] FIG. 1 is a block diagram showing an example of the configuration of an information processing apparatus and an image forming apparatus according to the present embodiment. In the present embodiment, a PC, a tablet, a server, or an image forming apparatus can be used as the information processing apparatus 101. The information processing apparatus 101 includes a CPU 102, a RAM 103, a storage medium 104, an accelerator 105, and a transfer I / F 106.
[0021] The CPU 102 is a central processing unit, and executes various processes by reading a program stored in the storage medium 104 such as an HDD or a ROM into the RAM 103 as a work area and executing it. For example, the CPU 102 acquires a command based on a user input acquired via an HID (Human Interface Device) I / F (not shown). Then, the CPU 102 executes various processes according to the acquired command or a program stored in the storage medium 104. Further, the CPU 102 performs predetermined processing on the document data acquired via the transfer I / F 106 according to a program stored in the storage medium 104. Then, the CPU 102 displays the result of such processing and various information on a display (not shown) and transmits it to an external device via the transfer I / F 106.
[0022] The accelerator 105 is hardware capable of executing information processing faster than the CPU 102. The accelerator 105 is activated when the CPU 102 writes parameters and data necessary for information processing to a predetermined address in the RAM 103. After reading the above parameters and data, the accelerator 105 executes information processing on the data. The accelerator 105 according to the present embodiment is not an essential element, and the CPU 102 may execute equivalent processing. Specifically, the accelerator is a GPU or a dedicated electrical circuit. The above parameters may be stored in the storage medium 104 or may be acquired from the outside via the transfer I / F 106.
[0023] The image forming apparatus 108 is an apparatus that forms an image on a print medium. The image forming apparatus 108 according to the present embodiment includes an accelerator 109, a transfer I / F 110, a CPU 111, a RAM 112, a storage medium 113, a recording head controller 114, and a recording head 115.
[0024] The CPU 111 is a central processing unit, and comprehensively controls the image forming apparatus 108 by reading out the program stored in the storage medium 113 into the RAM 112 as a work area and executing it. The accelerator 109 is hardware capable of executing information processing faster than the CPU 111. The accelerator 109 is activated by the CPU 111 writing the parameters and data necessary for information processing to a predetermined address in the RAM 112. After reading the above parameters and data, the accelerator 109 executes information processing on the data. The accelerator 109 according to the present embodiment is not an essential element, and the CPU 111 may execute equivalent processing. The above parameters may be stored in the storage medium 113 or in a storage (not shown) such as a flash memory or an HDD.
[0025] Here, the information processing performed by the CPU 111 or the accelerator 109 will be described. The information processing performed by the CPU 111 or the accelerator 109 according to the present embodiment is, for example, a process of generating data indicating the dot formation positions of ink in each scan by the recording head 115 based on the acquired print data.
[0026] In the present embodiment, it is described that the information processing apparatus 101 performs each process including the color conversion process and the quantization process described below, and the image forming apparatus 108 performs image forming processing based on the print data generated by those processes. However, if the same functions can be implemented, the processes performed by the information processing apparatus 101 and the image forming apparatus 108 are not particularly limited in this way, and part or all of the processes described as being performed by the information processing apparatus 101 may be executed by the image forming apparatus 108. For example, the color conversion process and the quantization process may be performed by the image forming apparatus 108.
[0027] The information processing apparatus 101 according to the present embodiment converts a color represented in a first color gamut included in the input image data into a color represented in a second color gamut. Hereinafter, when simply referred to as "color conversion process", it refers to the color conversion process between color gamuts performed by such an information processing apparatus 101. In the present embodiment, by the color conversion process performed by the information processing apparatus 101, the input image data is converted into data (ink data) indicating the color and density of ink for each pixel to be printed by the image forming apparatus 108.
[0028] For example, the acquired print data includes image data indicating an image. When the image data is data indicating an image in a color space coordinate (here, sRGB) that is the display color of the monitor, the data indicating the image with the color coordinates (R, G, B) is converted into ink data (here, CMYK) handled by the image forming apparatus 108 by the color conversion process. The color conversion method according to the present embodiment is realized by a known conversion process such as matrix operation processing, three-dimensional LUT, or four-dimensional LUT.
[0029] The image forming apparatus 108 according to this embodiment uses, as an example, inks of black (K), cyan (C), magenta (M), and yellow (Y). Therefore, the image data of the RGB signal is converted into image data composed of 8-bit color signals of K, C, M, and Y. Each color signal corresponds to the amount of application of each ink. Also, the case where the number of ink colors used is four colors of K, C, M, and Y will be described as an example, but for the purpose of improving image quality, other ink colors such as light cyan (Lc), light magenta (Lm), or gray (Gy) inks with low density may be used. In that case, an ink signal corresponding to its color is generated.
[0030] After the color conversion process, the information processing apparatus 101 performs quantization processing on the ink data. The quantization processing according to this embodiment is a process of reducing the number of gradation levels of the ink data. The information processing apparatus 101 according to this embodiment performs quantization using a dither matrix in which thresholds for comparing with the values of the ink data are arranged for each pixel. Through the quantization process, finally, binary data indicating whether to form dots or not at each dot formation position is generated.
[0031] After the binary data for printing is generated, the binary data is transferred to the recording head 115 by the recording head controller 114. At the same time, the CPU 111 performs printing control to operate the carriage motor that operates the recording head 115 via the recording head controller 114, and further operates the conveyance motor that conveys the printing medium. The recording head 115 scans on the printing medium and forms an image by discharging ink droplets onto the printing medium at the same time.
[0032] The information processing apparatus 101 and the image forming apparatus 108 are connected via a communication line 107. In the present embodiment, a local area network is used as the communication line 107, but it is not particularly limited as long as the information processing apparatus 101 and the image forming apparatus 108 can be communicably connected. The communication line 107 may be, for example, a USB hub, a wireless communication network using a wireless access point, or a connection using a Wi-Fi Direct (registered trademark) communication function.
[0033] Hereinafter, the recording head 115 will be described as having recording nozzle arrays for four colors of cyan (C), magenta (M), yellow (Y), and black (K). FIG. 14 is a diagram for explaining the recording head 115 according to the present embodiment. In the image forming process according to the present embodiment, an image is formed by performing a plurality of N scans on a unit area corresponding to one nozzle array.
[0034] The recording head 115 includes a carriage 116, nozzle arrays 115k, 115c, 115m, and 115y, and an optical sensor 118. The carriage 116 on which the four nozzle arrays 115k, 115c, 115m, and 115y and the optical sensor 118 are mounted can reciprocate 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 relative to the print medium in the X direction, ink droplets are ejected from each nozzle of the nozzle array in the gravitational direction (the -Z direction in the figure) based on the recording data. Thereby, an image corresponding to 1 / N of the main scan is formed on the print medium placed on the platen 119. When one main scan is completed, the print medium is conveyed along the conveyance direction (the -y direction in the figure) intersecting the main scanning direction by a distance corresponding to the width of 1 / N of the main scan. By these operations, an image having a width corresponding to one nozzle array is formed by a plurality of N scans. By alternately repeating such main scanning and conveyance operations, an image is gradually formed on the print medium. By doing so, it is possible to control so as to complete the image formation for a predetermined area.
[0035] The information processing apparatus 101 according to the present embodiment can reduce the degree of color degradation by increasing the distance between colors in the color space after color conversion for a combination of colors that causes color degradation due to color conversion processing. The process of correcting the conversion parameters in the color conversion process so that the distance between colors in the color space after color conversion becomes large is hereinafter referred to as color degradation correction.
[0036] In the following description, the information processing apparatus 101 according to the present embodiment processes image data (first image) including a pixel including color information of a first color defined in a first color gamut and a pixel including color information of a second color defined in the first color gamut. The information processing apparatus 101 generates conversion parameters in the color conversion process for converting the first color and the second color into a third color and a fourth color defined in a second color gamut, respectively, for the first image. Here, the color difference between the third color and the fourth color is larger than the color difference between the first color and the second color. That is, the information processing apparatus 101 according to the present embodiment generates (corrects) conversion parameters so as to perform color degradation correction on the first color and the second color for the first image.
[0037] Next, the information processing apparatus 101 performs color conversion processing on a second image different from the first image using the generated conversion parameters. For example, when the input image data includes a plurality of pages of a document, the information processing apparatus 101 can generate conversion parameters based on one page among such a plurality of pages and perform color conversion processing using the generated conversion parameters on other pages as well. According to such processing, it is possible to reduce the sense of incongruity in printing across a plurality of pages, such as a case where the same color is printed as different colors between a plurality of pages, while suppressing the reduction of the color difference by color degradation correction.
[0038] For example, the information processing apparatus 101 acquires conversion parameters different from the conversion parameters generated from the first image, and presents information regarding those conversion parameters to the user. Next, the information processing apparatus may select, based on the user input, the conversion parameters to be used in the color conversion process of the second image from among those conversion parameters. For example, when the information processing apparatus 101 generates the second image by modifying the first image, the information processing apparatus 101 may be configured to generate a post-color-fading correction table for the second image as well, and to be able to select the post-color-fading correction table to be used in the color conversion process for the second image. Such selection processing will be described later.
[0039] FIG. 2 is a flowchart showing an example of the overall processing performed by the information processing apparatus 101 according to the present embodiment. The processing shown in FIG. 2 is composed of a first flow indicated by S101 to S104 that performs color fading correction in the first image, and a second flow indicated by S105 to S108 that performs color conversion processing of the second image using the conversion parameters generated by the first flow. The information processing apparatus 101 according to the present embodiment can reduce the degree of color fading by increasing the distance between colors in the color space after color conversion for a combination of colors that causes color fading due to color conversion processing. The processing in FIG. 2 is realized, for example, by the CPU 102 reading out a program stored in the storage medium 104 to the RAM 103 and executing it, both for the first flow and the second flow. Also, the processing in FIG. 2 may be executed by the accelerator 105. The processing in FIG. 2 is assumed to be executed in response to the input of image data.
[0040] First, the first flow will be described. In S101, the CPU 102 acquires the manuscript data used for printing. In this embodiment, it is assumed that the manuscript data stored in the storage medium 104 is acquired, but the manuscript data may be input from an external device via the transfer I / F 106. Next, the CPU 102 acquires the image data including color information from the acquired manuscript data. The CPU 102 according to this embodiment acquires the value representing the color expressed in a predetermined color space included in the image data. As the value representing the color, for example, sRGB data, Adobe RGB data, CIE-L*a*b* data, CIE-LUV data, XYZ colorimetric system data, xyY colorimetric system data, HSV data, or HLS data is used.
[0041] Note that as the manuscript data used here, a first image including pixels containing color information of a first color and pixels containing color information of a second color is acquired, and the color information of such an image is acquired. Hereinafter, such first and second colors are used as unique colors (here, color 403 and color 404) to be described later with reference to FIG. 4 and the like in each process, but the colors used in the process are not limited to these two, and three or more colors may be used. Also, in S101 according to this embodiment, a manuscript including image data of a plurality of pages is acquired, and one of the image data is selected as the processing target in the first flow.
[0042] In S102, the CPU 102 performs color conversion on the image data using the conversion parameters stored in the storage medium 104 in advance. The conversion parameters in this embodiment are a gamma mapping table, and gamma mapping using the gamma mapping table is performed on the color information of each pixel of the image data as the color conversion process. The image data after gamma mapping is stored in the RAM 103 or the storage medium 104.
[0043] The CPU 102 according to this embodiment uses a three-dimensional look-up table as a gamma mapping table. The CPU 102 can calculate a combination of output pixel values (Rout, Gout, Bout) by gamma mapping for a combination of input pixel values (Rin, Gin, Bin) with reference to the gamma mapping table. When the input values Rin, Gin, and Bin each have 256 gradations, as the gamma mapping table, a table Table1
[0256]
[0256]
[0256] [3] having a total of 16,777,216 sets of output values can be used. The color conversion process may be realized, for example, by performing the processes shown in the following formulas (1) to (3) for each pixel of the image composed of the RGB pixel values of the image data input in S101. Rout = Table1[Rin][Gin][Bin][0] ··· (Formula 1) Gout = Table1[Rin][Gin][Bin][1] ··· (Formula 2) Bout = Table1[Rin][Gin][Bin][2] ··· (Formula 3)
[0044] Note that the number of grids of the gamma mapping table is not limited to 256 grids. For example, the number of grids may be reduced from 256 grids (for example, to 16 grids) so that the table values of a plurality of grids are stored and the output value is determined. Known processes performed when using the LUT table, such as reducing the table size in this way, may be arbitrarily additionally executed.
[0045] In S103, the CPU 102 creates a table after color fade correction based on the image data input in S101, the image data after gamma mapping performed in S102, and the gamma mapping table. The format of the table after color fade correction is the same as the format of the gamma mapping table. The process performed in S103 and the table after color fade correction will be described later with reference to FIGS. 3 and 4.
[0046] In S104, the CPU 102 stores the conversion parameters (post-color degradation correction table) generated in S103 in the RAM 103 or the storage medium 104, and ends the first flow.
[0047] Next, the second flow will be described. In S105, the CPU 102 acquires the original data used for printing. In S105, the original data may be acquired in the same manner as in S101, or a part of the plurality of image data acquired in S101 may be acquired as the original data. Here, among the plurality of image data acquired in S101, the image data that was not the processing target in the first flow is acquired as the original data to be processed in the second flow.
[0048] In S106, the CPU 102 acquires the conversion parameters stored in S104. In S107, the CPU 102 uses the post-color degradation correction table acquired in S106 with the image data input as the processing target in S105 as the input, and generates post-color degradation correction image data after color degradation correction is performed. The generated post-color degradation correction image data is stored in the RAM 103 or the storage medium 104. When S107 ends, the process proceeds to S108.
[0049] In S108, the CPU 102 outputs the post-color degradation correction image data stored in S107 from the information processing apparatus 101 via the transfer I / F 106, and ends the second flow. Note that the color conversion process in the gamma mapping may be a mapping from the color in the sRGB color space to the color in the color reproduction gamut of printing by the image forming apparatus 108. According to such a process, it is possible to reduce the discomfort of printing across a plurality of pages while suppressing a decrease in chroma and color difference due to gamma mapping within the color reproduction gamut of the image forming apparatus 108.
[0050] Note that in the process shown in FIG. 2, the input manuscript has images on multiple pages. In the description, one of the images is the target of the first flow of processing, and the other images are the targets of the second flow of processing. However, it is not necessary that the image data for which the first flow is the target and the image data for which the second flow is the target are included in the same manuscript. Also, for example, when a plurality of manuscripts are acquired, the above-described processing may be performed for each of those manuscripts.
[0051] Hereinafter, with reference to FIG. 3, the table after color fading correction created in S103 will be described. FIG. 3 is a flowchart showing an example of the process for creating the table after color fading correction in S103. The process of FIG. 3 is realized, for example, by the CPU 102 reading out a program stored in the storage medium 104 into the RAM 103 and executing it. Also, the process of FIG. 3 may be executed by the accelerator 105.
[0052] In S201, the CPU 102 detects all the unique colors of the image data input in S101. Here, the unique color refers to the color detected from the image data, and those with different pixel values are detected as different unique colors. Here, the detection result of the unique color is stored in the RAM 103 or the storage medium 104 as a unique color list. The unique color is specified by components such as RGB, but one unique color may have a width for each component of RGB, and the content of the unique color may vary according to the color detection method. The unique color list is initialized at the start of S201. The CPU 102 repeats the unique color detection process for each pixel of the image data, and for all the pixels included in the image data, determines whether the color of each pixel is different from the unique colors detected so far. By such processing, the color determined to be a unique color is stored as a unique color in the unique color list.
[0053] When the input image data is sRGB, since it has 256 gradations each, there are unique colors among a total of 16,777,216 colors of 256×256×256. If all of these colors are detected as unique colors and stored in the unique color list, the number of colors becomes enormous and the processing speed decreases. From such a perspective, the CPU 102 may perform the detection of unique colors discretely. For example, the CPU 102 may perform the detection of unique colors after reducing the 256 gradations to 16 gradations. In such a case, the CPU 102 may group 16 adjacent colors out of the 256-gradation colors into 16 gradations. According to such a color reduction process, it is possible to detect unique colors from a total of 4096 colors of 16x16x16, thereby making it possible to improve the processing speed.
[0054] In S202, based on the unique color list detected in S201, the CPU 102 detects a combination of colors in which color degeneracy occurs among the combinations of unique colors included in the image data. The process executed in S202 will be described using the schematic diagram of FIG. 4. In FIG. 4, on a plane using two axes of the L* axis and the C* axis in the CIE-L*a*b* color space, the color gamut of the input image data before the color conversion process is shown as the color gamut 401, and the color gamut after being converted by gamut mapping is shown as the color gamut 402. The input image data includes the color 403 (the first color) and the color 404 (the second color), which are shown on the color gamut 401. The colors 405 and 406 are the colors on the color gamut 402. The color 405 is the color when gamut mapping is performed on the color 403, and the color 406 is the color when gamut mapping is performed on the color 404.
[0055] When the color difference 408 between color 405 and color 406 is smaller than a predetermined threshold, the CPU 102 according to this embodiment determines that color degradation has occurred. Here, in addition to the color difference 408 between color 405 and color 406 being smaller than the predetermined threshold, it is determined that color degradation has occurred when the color difference 408 is smaller than the color difference 407 between color 403 and color 404. The threshold used here can be arbitrarily set according to the conditions desired by the user. This threshold may be a fixed value or a value that varies depending on the color combination. For example, the CPU 102 may use the color difference before conversion of the combined colors (here, the color difference 407 between color 403 and color 404) as the above-mentioned predetermined threshold. The CPU 102 repeats such determination processing for all color combinations in the unique color list.
[0056] In this embodiment, the color difference between two colors is calculated as the Euclidean distance in the color space. Since the CIE-L*a*b* color space is a visually uniform color space, the Euclidean distance can be approximated as the amount of color change. Therefore, people tend to perceive that the colors are approaching when the Euclidean distance on the CIE-L*a*b* color space becomes smaller, and that the colors are separating when it becomes larger. Hereinafter, the case of using the Euclidean distance (hereinafter referred to as color difference ΔE) in the CIE-L*a*b* color space as the color difference will be described. The color information in the CIE-L*a*b* color space is represented by a three-axis color space of L*, a*, and b* respectively. Color 403 is represented by L403, a403, and b403. Color 404 is represented by L404, a404, and b404. Color 405 is represented by L405, a405, and b405. Color 406 is represented by L406, a406, and b406. When the input image data is represented in another color space, it may be converted to the CIE-L*a*b* color space by a known color space conversion technique, or subsequent processing may be performed in that color space as it is. The calculation formulas for color difference ΔE407 and color difference ΔE408 are as follows.
Equation
[0057] The CPU 102 determines that color degradation occurs when the color difference ΔE408 is less than the threshold value. Based on the identification of the color difference of a person, if the converted color difference ΔE408 can distinguish different colors, it can be determined that color degradation does not occur and there is no need to correct the color difference. From this perspective, the threshold value used here can be, for example, 2.0. Also, as described above, this threshold value may be the same as ΔE407. Further, the CPU 102 may determine that color degradation occurs when the color difference ΔE408 is less than 2.0 and the color difference ΔE408 is less than the color difference ΔE407.
[0058] In S203, the CPU 102 determines whether the number of color combinations determined to cause color degradation in S202 is zero. If it is zero, the process proceeds to S204; otherwise, the process proceeds to S205. In S204, the CPU 102 determines that the input image data is an image that does not require color degradation correction, and ends the process in FIG. 2.
[0059] Here, it has been described that when the number of colors determined to cause color degradation is zero, it is determined that the image does not require color degradation correction. However, the processing is not particularly limited in this way. For example, the CPU 102 may determine whether the image does not require color degradation correction based on the number of color combinations that cause color degradation with respect to the total number of combinations of unique colors. In that case, the CPU 102 may determine that the image requires color degradation correction when, for example, the number of color combinations that cause color degradation is more than half of the total number of combinations of unique colors. According to such processing, the setting can be made to execute color degradation correction only when it can be determined that color degradation correction is more necessary.
[0060] In S205, the CPU 102 performs color degradation correction on the color combinations that cause color degradation based on the input image data and the table after degradation correction.
[0061] Regarding the color degradation correction performed by the CPU 102 according to this embodiment, a detailed description will be given with reference to FIG. 4. In FIG. 4, it is determined that color degradation occurs in the color combination of color 403 and color 404. Therefore, the CPU 102 according to this embodiment corrects the conversion parameters used in the color conversion process so that the color difference after the color conversion between color 403 and color 404 becomes larger. That is, the CPU 102 can correct the annular parameters so as to increase the color distance on a predetermined color space after the color conversion. By such correction, the degree of color degradation can be reduced. Here, the CPU 102 sets a color distance (discriminable color distance) that can be recognized as different colors based on human visual characteristics, and corrects the conversion parameters of the color conversion process so that the color difference after the conversion of two colors becomes such a color distance.
[0062] Here, the CPU 102 sets the above-mentioned discriminable color distance as a color distance where the color difference ΔE is 2.0 or more. Also, the conversion parameters may be corrected so that the color difference after the conversion of two colors is approximately the same as the color difference Δ407 between color 403 and color 404 before the conversion.
[0063] The process of color degradation correction is repeated for all combinations of colors in which color degradation occurs. The results of color degradation correction for the number of color combinations are stored in a table in association with the color information before correction and the color information after correction in S206 described later, and the table with the corresponding parameters corrected in this way is used as the table after color degradation correction. In the example shown in FIG. 4, the color information is represented by the color information in the CIE-L*a*b* color space. Therefore, the CPU 102 may store the color information to be stored in the table after color degradation correction after converting it into the color in the color space of the input image data and the image data at the time of output. In that case, the color information before correction is converted into the color information in the color space of the input image data, and the color information after correction is converted into the color information in the color space of the output image data, and then stored in the table after color degradation correction.
[0064] Next, the processing of such color degradation correction will be described in detail. The CPU 102 obtains a color difference correction amount 409 necessary to make the color difference ΔE408 after conversion a distinguishable color distance. In the present embodiment, the distinguishable color distance is set to a color difference ΔE of 2.0, and the difference between such a value 2.0 and the color difference ΔE408 is calculated as the color difference correction amount 409. Also, the CPU 102 may calculate the color difference correction amount 409 as the difference between the color difference ΔE407 and the color difference ΔE408.
[0065] In FIG. 4, the color 405 is shown as the color 410 obtained by correcting the color on the extension line from the color 406 to the color 405 by the color difference correction amount 409 in the CIE-L*a*b* color space. In the present embodiment, in this way, the color 410 calculated by the color conversion process after color degradation correction is described as a color existing on the extension line from the color 406 to the color 405. However, if the color difference from the color 406 to the color 410 is equal to or greater than the total value of the color difference ΔE408 and the color difference correction amount 409, it is not particularly limited in this way. For example, the color 410 may be a color at a position separated by a distance equal to the total value of the color difference ΔE408 and the color difference correction amount 409 in any direction of the lightness direction, the chroma direction, or the hue angle direction from the color 406 in the CIE-L*a*b* color space. Also, the color 410 may be a color separated by the total value of the color difference ΔE408 from the color 406 in consideration of not only one direction but also the lightness direction, the chroma direction, and the hue angle direction.
[0066] In the example of FIG. 4, the color conversion parameters were corrected so that the color after conversion of color 403 changed from color 405 to color 410. However, if the color difference between the two colors after conversion becomes the distinguishable color distance as described above, for example, the color after conversion of color 404 may be made different from color 405, or the colors after conversion of both color 403 and color 404 may be made different from the colors before correction. In the example of FIG. 4, when attempting to correct color 406 by the color difference correction amount 409 on the extension line from color 405 to color 406 in the CIE-L*a*b* color space, it would go outside the color gamut 402 and such correction cannot be performed. Therefore, when changing the color after conversion of color 404 by correcting the conversion parameters, the color is set on the boundary surface of the color gamut 402 and the color distance from color 405 is set to the distinguishable color distance. Here, if the color distance between the two colors after conversion does not reach the distinguishable color distance by only changing the color after conversion of color 404, the shortfall to the distinguishable color distance may be compensated by correcting the conversion parameters so as to change the color after conversion of color 403.
[0067] In S206, the CPU 102 corrects the gamma mapping table using the result of the color degradation correction in S205 to obtain a table after color degradation correction. Here, the gamma mapping table before correction is a table that converts the input color, color 403, to the output color, color 405, and the table after color degradation correction is a table that converts the input color, color 403, to the output color, color 410. From the result of S205, the output color of the input color, color 403, is changed to a table that converts to color 410. The correction of the gamma mapping table is repeatedly executed for all combinations of colors where color degradation occurs. Through such processing, a table after color degradation correction is created.
[0068] According to the process shown in FIG. 3, after creating the degenerate color correction table, by converting the input image using such a table, in the unique color combinations of the input image, it is possible to increase the distance between colors for the color combinations that will cause degenerate colors after conversion. Therefore, it is possible to reduce the degree of degenerate colors in the color combinations that cause degenerate colors due to conversion.
[0069] When the input image data is sRGB data, the gamma mapping table is created on the premise that the input image data has 16,777,216 colors. The gamma mapping table created on this premise is created considering degenerate colors and chroma for all colors not included in the actual input image data. According to the process shown in this embodiment, by correcting the conversion parameters only for the colors detected in the input image data that will cause degenerate colors after conversion, an adaptive degenerate color correction table can be created for the input image data. Therefore, it is possible to execute color conversion processing with a reduced degree of degenerate colors by gamma mapping suitable for the input image data.
[0070] Hereinafter, with reference to FIG. 4, the color conversion processing by the information processing apparatus 101 according to this embodiment when using the modified image of the first image as the second image will be described. Here, as an example, a case will be described where an image having colors 403 and 404 (referenced in FIG. 4) is used as the first image, and an image modified to delete the object having color 404 from the first image is used as the second image. In such a case, for the first image, as shown in FIG. 4, a degenerate color correction table (first table) for converting color 403 to color 410 and color 404 to color 406 is generated.
[0071] Here, consider the case of creating a color degradation correction table in the second image in the same way as in the first image. In the second image, since there is no object of color 404 and it is not necessary to convert color 403 to color 410 to ensure the color difference from color 406, a color degradation correction table (second table) that converts color 403 to color 405 is generated. Thus, when different conversion parameters are generated for the first image and the second image respectively for color conversion processing, color 403 is converted to different colors and output. On the other hand, in the processing performed by the information processing apparatus 101 according to the present embodiment as shown in FIG. 2, even when the image is corrected in such a manner, the second image is converted using the first table so that color 403 is converted to color 410 without change. Thereby, it becomes possible to suppress the occurrence of color degradation by performing color degradation correction and to reduce the discomfort by matching the conversion colors between images.
[0072] Also, the information processing apparatus 101 may be configured to be able to select whether to perform color conversion processing using the conversion parameters generated based on the first image in the second image, or to generate conversion parameters so that color degradation correction is performed in the second image in the same way as in the first image and then perform color conversion processing. For that purpose, for example, the information processing apparatus 101 can present information regarding such conversion parameters to the user and acquire user input. Hereinafter, such processing will be described. Note that here, it is assumed that color degradation correction tables are generated as conversion parameters from two images respectively and are presented so that they can be selected, but an aspect in which conversion parameters generated from three or more images can be selected may also be possible.
[0073] Note that the "information regarding conversion parameters" according to this embodiment may be, for example, a preview display when color conversion processing of a second image is executed using the conversion parameters, or information indicating whether color degradation correction was performed when the conversion parameters were generated, and is not limited thereto. Hereinafter, as information regarding conversion parameters, each information described as being associated with an image will be exemplified with reference to Tables 1 to 4 and the like.
[0074] For example, the information processing apparatus 101 can store, in association with each other, a plurality of images, an image, and conversion parameters generated based on the image. For example, the information processing apparatus 101 can store an association table as shown in Table 1 below for the above-described first image and a second image generated by modifying the first image. Here, the information stored in the table associates the image and the conversion parameters based on the image with information indicating whether the parameters are those for which color degradation correction has been performed (item name: color degradation correction), the generation date, and the colors included.
Table 1
[0075] For example, the information processing apparatus 101 can present such a table to the user and allow the user to select which conversion parameters to use for conversion of the image to be processed. According to such processing, for example, it becomes possible to easily provide a combination of an image and a conversion table according to the user's wishes, such as "performing color conversion processing on the first image using the first table", "performing color conversion processing on the second image using the second table", or "performing color conversion processing on the second image using the first table". For example, the user can confirm information such as that a color that the user wants to maintain the absolute color tone when the second image is converted is converted, or that there are conversion parameters that perform conversion to a more preferable color for the user, based on the conversion content by each conversion table.
[0076] For example, each time a correction is made to a document, the information processing apparatus 101 may generate conversion parameters based on the corrected document and store each piece of information in association with each other in Table 1. Here, when the user selects an image for which color conversion processing is to be performed and the conversion parameters to be used, the information processing apparatus 101 may cause the image after color conversion output based on the selected image and conversion parameters to be previewed and displayed on a display. By performing such processing, it becomes easier for the user to confirm the conversion result, and the convenience in selecting conversion parameters can be improved. Note that the preview display here refers to the display of an image generated when color conversion processing is performed on the selected image using the selected conversion parameters.
[0077] Also, for example, when performing a preview display, the information processing apparatus 101 may highlight portions where color differences occur in the preview display when color conversion processing is performed on a certain common image using different conversion parameters. For example, the information processing apparatus 101 may extract the color differences in the preview display between the conversion parameters for which color fading correction is performed and the conversion parameters for which color fading correction is performed, and highlight portions where the color differences at the same position are equal to or greater than a predetermined threshold. According to such processing, it becomes possible to visually provide the user with an easy understanding of the influence when switching conversion parameters.
[0078] In this case, each time a selection is made, a preview display corresponding to the combination of the image and conversion parameters selected at that time may be performed, or multiple preview displays may be performed simultaneously. By performing multiple (three or more may be acceptable) preview displays simultaneously, it becomes possible to facilitate the comparison of each preview when the user selects conversion parameters.
[0079] According to such processing, when correcting and printing a saved document, it becomes possible to perform a preview and print using the conversion parameters generated in the past.
[0080] Also, in this embodiment, the degenerate correction after table is created by correcting the gamma mapping table. However, if the color difference after conversion becomes the same value, it is not particularly limited to such processing. For example, the gamma mapping table before color degenerate correction may be directly used for the image data after gamma mapping, and further color conversion may be performed using a different gamma mapping table. In that case, in S205, a table for converting from the color information converted by the gamma mapping data before correction to the color information after color degenerate correction is created as the gamma mapping post-correction table. The gamma mapping post-correction table generated here is a table for converting color 405 in FIG. 4 to color 410 as the input. In this case, in S105, the color conversion process is executed by applying the gamma mapping post-correction table to the image data after gamma mapping.
[0081] Also, in this embodiment, the processes shown in FIGS. 2 and 3 are assumed to be started automatically in response to receiving the input of image data, but may be configured to be executed based on a user instruction. For example, the CPU 102 may be configured to receive a user input on whether to execute each information process according to this embodiment in a UI screen as shown in FIG. 15 described later. In the UI screen of FIG. 15, a toggle button for selecting the type of color correction is displayed. Also, in the UI screen of FIG. 15, a toggle button for selecting whether to execute gamma mapping using an adaptive degenerate correction after table is displayed by ON and OFF. According to such a configuration, it is possible to switch whether to execute adaptive gamma mapping according to the user's instruction. As a result, when the user wants to reduce the degree of color degeneracy, adaptive gamma mapping can be executed.
[0082] According to such a configuration, it becomes possible to generate a color degradation correction table for the first image and perform color conversion processing using the generated color degradation correction table also in the color conversion processing for the second image. In particular, by generating such a color degradation correction table from a plurality of images and presenting each generated table to the user so that it can be selected, it is possible to enable the user to select a conversion considering both the conversion for performing color degradation correction and the conversion for obtaining the color expected by the user.
[0083] In addition, in this embodiment, as an example of correcting an image (document), an example of deleting an object of a specific color (in the above-described example, the object of color 404) has been described, but the correction of the image is not limited to such deletion processing. For example, a process of "adding an object of a specific color to the image" may be executed as the image correction process, and the same process may be similarly executed for the second image generated by such a process. When the second image is generated by performing an operation on the first image, if the same process can be performed using the first image and the second image, the content of the operation performed there is not particularly limited.
[0084] The information processing apparatus 101 according to subsequent Embodiments 2 to 4 can generate conversion parameters by color degradation correction based on the first image in the same manner as in Embodiment 1, and perform color conversion processing on the second image using the generated conversion parameters. Hereinafter, the color degradation correction performed in each embodiment will be described.
[0085] [Embodiment 2] [Correction of Repulsion within the Same Hue] The information processing apparatus 101 according to Embodiment 1 detected the number of color combinations that cause color degradation for all unique color combinations included in the image data, and performed color degradation correction processing for each of them. On the other hand, there may be cases where it is considered that color degradation does not occur even without determining whether color degradation occurs, such as color combinations with significantly different hues. Therefore, the information processing apparatus 101 according to Embodiment 2 groups a part corresponding to the hue range out of the detected plurality of unique colors as one color group, and performs color degradation correction processing within the group. Hereinafter, when simply referred to as a "group", it refers to a grouping of unique colors as one color group in this way.
[0086] The information processing apparatus 101 according to the present embodiment can, for example, group the detected unique colors for each predetermined hue angle, and perform the same color degradation correction processing as in Embodiment 1 within the group. By grouping a part rather than the entire detected unique colors as one color group and performing color degradation correction processing only within that part, it is possible to reduce the processing load and processing time by reducing the number of combinations to be calculated.
[0087] Also, in the present embodiment, when performing color degradation correction, the color degradation correction may be performed so that the change due to the color degradation correction of the converted color is only in the lightness direction. By making the change in the color after color conversion by correcting the conversion parameters only in the lightness direction, it is possible to suppress the change in color tone due to the correction of the conversion parameters. In the present embodiment, for example, as shown in FIG. 7 described later, based on the lightness of the input color, the lightness after the color conversion processing after correcting the conversion parameters is determined, and the correction of the conversion parameters may be performed so that the chroma does not change from before the correction.
[0088] When the color difference ΔE before gamma mapping is greater than the minimum distinguishable color difference, the color difference ΔE to be maintained only needs to be greater than the minimum distinguishable color difference. In such a case, in the color conversion by gamma mapping, it is conceivable to set the conversion parameters so that the color difference after conversion of the two colors approaches the color difference before conversion. From such a perspective, the information processing apparatus 101 according to the present embodiment may correct the conversion parameters so that the color after conversion is determined based on the color after conversion and the color difference before conversion of the combined colors. By the color degradation correction, the color difference after gamma mapping of the two colors becomes the color difference before gamma mapping, so that the ease of discrimination before gamma mapping can be reproduced even after color conversion. Note that the color difference after gamma mapping after such color degradation correction may be greater than the color difference before gamma mapping. In this case, after color conversion, it is possible to facilitate discrimination between two colors more easily than before gamma mapping. Hereinafter, such correction processing of the conversion parameters will be described.
[0089] Hereinafter, with reference to FIG. 5, an example of the determination process of whether color degradation occurs, which is performed by the information processing apparatus 101 according to the present embodiment in S202, will be described. FIG. 5 is a diagram showing two axes of the a* axis and the b* axis in the CIE-L*a*b* color space as a plane, and plotting a plurality of unique colors. In the present embodiment, as described above, unique colors within a predetermined hue angle are grouped as one color group. The hue range 501 represents a range in which a plurality of unique colors within a predetermined hue angle are regarded as one color group. In FIG. 5, the hue angle of 360 degrees is equally divided into six parts, and the hue range 501 represents a range from 0 degrees to 60 degrees. The hue range used for grouping is preferably a hue range that can be recognized as the same color and can be arbitrarily set by the user. For example, in the CIE-L*A*B* color space, the hue range grouped as one color group may be set in the range of 30 degrees to 60 degrees. When this angle is 60 degrees, it can be considered that it is grouped and divided into six color groups of red, green, blue, cyan, magenta, and yellow. When this angle is 30 degrees, it can also be divided by the colors between the colors grouped at 60 degrees.
[0090] Note that, as shown in FIG. 5, a hue range to be grouped at a fixed angle may be set, or a hue range may be set according to unique colors included in the image data. For example, the range of hue angles may be determined respectively within a range set so as to visually appear evenly (the same color), and unique colors may be grouped respectively within the range of hue angles thus set.
[0091] Also, in the present embodiment, the description will be made assuming that color degradation correction processing is performed using unique colors within one group grouped using hue angles. However, using unique colors included in two adjacent groups having adjacent hue angle ranges, a calculation process for the number of combinations in which color degradation occurs, which will be described later, may be performed. By detecting such combinations across adjacent hue ranges, it is possible to suppress a sharp change in the number of color combinations in which color degradation occurs when the region for detecting combinations is shifted by one. In this case, assuming that a range that is easily recognized as the same color is 30 degrees in the CIE-L*A*B* color space, by setting the hue angle range for one grouping to 15 degrees, the hue angle becomes 30 degrees when two hue ranges are combined. Therefore, combinations can be detected from within a hue angle range that is easily recognized as the same color.
[0092] The CPU 102 calculates the number of color combinations that cause color degeneracy for unique color combinations within the hue range 501. In FIG. 5, colors 504, 505, 506, and 507 are shown as the colors included within the hue range 501. The CPU 102 according to the present embodiment determines whether color degeneracy occurs by color conversion processing for all combinations of the four colors 504, 505, 506, and 507. Such determination processing is repeated for all hue ranges. By such processing, it is possible to detect color combinations that cause color degeneracy for each hue range and calculate the number of such combinations. In FIG. 5, there are a total of six color combinations within the hue range 501. Detection of color combinations that cause color degeneracy can be performed in the same manner as in the first embodiment. In the following, when explaining color combinations (two colors), it is assumed that the explanation is being made for combinations within one hue range unless otherwise specified.
[0093] The CPU 102 according to this embodiment selects a reference color (reference color) from among the unique colors included in the grouped color groups, and corrects the conversion parameters in the color conversion process so that the color after conversion of the other colors is determined based on the color difference between the other colors and the reference color. Further, the CPU 102 according to this embodiment can generate a function (brightness conversion function) for calculating the brightness of the color output from the brightness of the input color in the color conversion process after correction of the conversion parameters, based on the brightness of such a reference color and the brightness of a color different from the reference color (hereinafter referred to as a scale color). In this embodiment, two scale colors, one with higher brightness and one with lower brightness, are set for the reference color, and the above-described brightness conversion function is generated based on the reference color and the two scale colors. The brightness conversion function will be described later as Equation (8). Here, the color 603 (and its converted color 607) in FIG. 6 to be described later is the reference color, the color 601 (and its converted color 605) is the scale color, and based on the color difference between the colors 605, 607, and the colors 603 and 601, the converted color 612 (or color 614) of the color 601 by the gamma mapping after the degeneracy correction is calculated. Such processing will also be described later.
[0094] Hereinafter, with reference to FIG. 6, an example of the color degeneracy correction process performed by the information processing apparatus 101 according to this embodiment in S205 will be described. In FIG. 6, on a plane using two axes, the L* axis and the C* axis, in the CIE-L*a*b* color space, the color gamut of the input image data before the color conversion process is shown as the color gamut 617, and the color gamut after conversion by gamma mapping is shown as the color gamut 616. L* represents brightness, and C* represents chroma. Further, the colors 504 to 507 included in the hue range 501 before the color conversion process are plotted in the color gamut 617 as the colors 601 to 604, respectively. Also, the colors 605 to 607 are the colors on the color gamut 616 after converting the colors 601 to 603 by gamma mapping, respectively. Here, it is assumed that the color 604 is the same color even after the color conversion by gamma mapping.
[0095] The CPU 102 according to this embodiment can calculate a correction rate, which is the reflection rate of the correction of the conversion parameter in color degradation correction, based on the ratio of the number of color combinations in which color degradation occurs to the number of color combinations included in the group. For example, the CPU 102 according to this embodiment calculates the correction rate R in a certain group as follows. R = the number of color combinations in which color degradation occurs / the number of color combinations included in the group
[0096] The above correction rate R decreases as the ratio of the color combinations in which color degradation occurs within the group decreases, and increases as the ratio increases. For example, in the examples of FIGS. 5 and 6, the number of color combinations within the group is 6, and when it is determined that color degradation occurs in 4 of those combinations, the correction rate R is calculated as 0.667. By performing correction of the conversion parameter using such a correction rate, the degree of correction of color degradation can be strengthened as the ratio of the color combinations in which color degradation occurs within the group increases.
[0097] The CPU 102 according to this embodiment can set the above-described reference color from among the unique colors included in the group. In this embodiment, among the unique colors included in the group, the color with the highest chroma (maximum chroma color) is set as the reference color. Further, the CPU 102 sets the color with the highest lightness (maximum lightness color) and the color with the lowest lightness (minimum lightness color) as scale colors with respect to the reference color. In the example of FIG. 6, color 601 is the maximum lightness color, color 602 is the minimum lightness color, and color 603 is the maximum chroma color.
[0098] In color degradation correction, the CPU 102 according to this embodiment generates corresponding lightness conversion functions for the unique colors (light color group) whose lightness is equal to or higher than the lightness of the maximum chroma color and the unique colors (dark color group) whose lightness is lower than the maximum chroma color. Hereinafter, the calculation process of the correction amount based on the correction rate R, the maximum lightness color, the minimum lightness color, and the maximum chroma color performed by the CPU 102 according to this embodiment will be described.
[0099] The CPU 102 separately calculates the correction amount Mh in the light color group and the correction amount Ml in the dark color group (details regarding the use of these correction amounts will be described later). In the following, the color 601, which is the maximum brightness color, is represented by L601, a601, and b601. Also, the color 602, which is the minimum brightness color, is represented by L602, a602, and b602. Further, the color 603, which is the maximum chroma color, is represented by L603, a603, and b603. Here, the CPU 102 may use, for example, a value obtained by multiplying the color difference ΔE between the maximum brightness color and the maximum chroma color by the correction rate R as the correction amount Mh. Also, the CPU 102 may use a value obtained by multiplying the color difference ΔE between the maximum chroma color and the minimum brightness color by the correction rate R as the correction amount Ml. An example of the calculation formulas for the correction amount Mh and the correction amount Ml is shown as the following formulas (6) and (7).
Equation
[0100] In FIG. 6, the color difference between the color 601 and the color 603 is indicated by the color difference ΔE608, and the color difference between the color 602 and the color 603 is indicated by the color difference ΔE609. Therefore, the correction amount Mh and the correction amount Ml are values obtained by multiplying the respective color differences ΔE608 and ΔE609 by R.
[0101] The CPU 102 according to the present embodiment generates a brightness conversion table for each hue range. The brightness conversion table according to the present embodiment is a table showing the brightness of the output pixel (converted brightness) by gamma mapping with respect to the brightness of the input pixel. Hereinafter, a method for creating such a brightness correction table will be described.
[0102] The brightness conversion table according to this embodiment is a 1D LUT. Such a 1D LUT has a smaller capacity compared to a 3D LUT with a large number of dynamic items, and a reduction in the processing time required for transfer is expected. The brightness after conversion stored in the brightness conversion table is based on the brightness of the reference color, the brightness of the input color, and the brightness of the maximum brightness color (or minimum brightness color), and the brightness and correction amount of the color obtained by converting the reference color by gamma mapping. (In this embodiment, it is calculated separately for the light color group and the dark color group.) In the following, the input color will be described as a color in the light color group, but when using a color in the dark color group, the same processing can be performed using the minimum brightness color instead of the maximum brightness color.
[0103] Figure 7 is a graph showing an example of the components of the brightness conversion table according to this embodiment. In Figure 7, the horizontal axis represents the brightness of the input color in the brightness conversion table, and the vertical axis represents the output brightness. L605 to L611 in Figure 7 correspond to the brightnesses of 605 to 611 in Figure 6. That is, in Figure 7, the brightnesses after conversion of the maximum brightness color, the reference color, and the minimum brightness color by gamma mapping are shown as L605, L607, and L606, respectively. In the following, only the brightness L607 to L605 in the brightness range of the brightness group will be described in the graph of Figure 7.
[0104] L610 is the value output when L605 is input to the brightness conversion table, and is the value obtained by adding the correction amount Mh to L607. In Figure 6, the color obtained by moving the color 607 by the correction amount Mh in the brightness direction is shown as color 610.
[0105] First, the color 610, and the colors 612 and 614 set based on the color 610 will be described. Such a color 610 is a color that has the color difference between the color 603 and the color 601 as the color difference from the color 607 in the lightness direction. The color 612 is the color obtained by moving the color 605 after the conversion of the color 601 in the lightness direction so as to have such a lightness L610. By performing color shrinkage correction so that the color after the color conversion becomes the color 612, the change in the color after the color conversion is only in the lightness direction, and the change in hue due to the correction of the conversion parameter can be suppressed. Also, since the sensitivity of the lightness difference is high in terms of visual characteristics, by converting the color difference including the saturation into the lightness difference, it is possible to provide a color that is likely to feel as if a larger color difference is attached after the conversion even with a small lightness difference in terms of visual characteristics. Also, due to the relationship between the sRGB color gamut and the color gamut of the image forming apparatus, the lightness difference is likely to be smaller than the saturation difference. Therefore, by converting the color difference including the saturation into the lightness difference, it becomes possible to effectively utilize a narrow color gamut.
[0106] On the other hand, as illustrated in FIG. 7, it is also conceivable that the color 612 converted in such a manner goes outside the color gamut 616. In such a case, the color 612 may be moved by color difference minimum mapping to become the color 614 within the color gamut 616, and such a color 614 may be set to be the color after the conversion of the color 601 after the color shrinkage correction. The color difference minimum mapping will be described later with reference to Expressions (10) to (14).
[0107] In the present embodiment, as shown in FIG. 7, the output value obtained by inputting the L607 of the reference color into the lightness conversion table remains L607. Also, as described above, L610 is the output value when the lightness L605 of the color after the conversion of the maximum lightness color is input into the lightness conversion table. In the present embodiment, the value when a lightness value greater than L607 and smaller than L605 is input into the lightness conversion table is calculated based on L607 and L610. For example, as shown in the graph of FIG. 7, the output value L2 when a lightness L1 greater than L607 and smaller than L605 is input into the lightness conversion table can be calculated by the following Expression (8) that is the lightness conversion function. L2 = L607+(L610 - L607)×(L1 - L607) / (L605 - L607) Equation (8)
[0108] A table that outputs such a value L2 with L1 as the input is calculated as the lightness conversion table in the light color group. For each color after conversion by gamma mapping, its lightness is converted by the lightness conversion table, and for colors that need to be moved, such as color 614 relative to color 612, the moved color becomes the color after conversion by gamma mapping with color degradation correction in this embodiment.
[0109] Here, it is assumed that the lightness conversion function is generated as in Equation (8) based on two points, but it is not particularly limited as long as the corresponding lightness output is calculated. For example, assuming that the lightness conversion function is a quadratic function, the parameters of the lightness conversion function may be calculated from three points.
[0110] In this embodiment, as described above, the reference color L607 does not change by input to the lightness conversion table. By such processing, for the color with the highest chroma, the color difference can be corrected while maintaining the chroma by maintaining the color after conversion. Also, when an output value is input to the lightness conversion table with a lightness greater than L605 or less than L606, since it is not included in the input image data, it is assumed to be indeterminate here, but in that case, Equation (8) may be applied for calculation or the like.
[0111] So far, an example of performing color degradation correction processing on image data including four colors of color 601 to color 604 as the processing target has been described. Here, when an object composed of a specific color is deleted from this image data (in this embodiment, this image data is referred to as the "first image"), it is assumed that the color after conversion by the conversion parameters after color degradation correction will be different.
[0112] FIG. 16 is a diagram for explaining the color conversion result in the case of performing color degradation correction on a second image obtained by deleting color 603 in FIG. 6 from a first image. In FIG. 16, similar to FIG. 6, on a plane using two axes of the L* axis and the C* axis in the CIE-L*a*b* color space, the color gamut of the input image data before performing the color conversion process is shown as color gamut 617, and the color gamut after being converted by gamut mapping is shown as color gamut 616. Also, colors 504, 505, and 507 included in the hue range 501 before performing the color conversion process are plotted within color gamut 617 as colors 601, 602, and 604, respectively. Also, colors 1601 to 1602 are colors on color gamut 616 after converting colors 601 to 602 by gamut mapping, respectively. Here, it is assumed that color 604 remains the same color even after color conversion by gamut mapping. Since the colors shown in FIG. 6 are the same as those shown in FIG. 6 except for colors 1601 to 1604, duplicate explanations are omitted.
[0113] In FIG. 16, the maximum chroma color is color 602, and color 602 is used as a reference color to generate a lightness conversion function. Therefore, in the example of FIG. 16, the lightness of the reference color is the lightness L602 of color 602, and the correction amount Mh is the color difference ΔE1601 between color 601 and color 602. Also, since the maximum chroma color and the minimum lightness color are the same color 602, the correction amount Ml in the dark color group is 0.
[0114] Also in the second image shown in FIG. 16, a lightness conversion function is generated as described with reference to FIGS. 6 and 7, and the colors after conversion of colors 601, 602, and 604 are determined. FIG. 17 is a graph showing the components of a lightness conversion table generated in the same manner as that shown in FIG. 7 based on the second image. That is, in FIG. 17, the lightness of the input color in the lightness conversion table is shown on the horizontal axis, and the output lightness is shown on the vertical axis. The slope of the lightness conversion function is calculated such that L606 is output when lightness L606 is input, and L1602 is output when L605 is input.
[0115] Here, the lightness L1602 of color 1602 is the value output when L605 is input to the lightness conversion table, and is the value obtained by adding the correction amount Mh to L606. In FIG. 16, the color obtained by moving color 606 in the lightness direction by the correction amount Mh is shown as color 1602, and the color obtained by moving the color 605 after conversion of color 601 in the lightness direction so as to have such lightness L1602 is color 1603.
[0116] Also in this case, the information processing apparatus 101 may be configured to store, in association with each other, an image and conversion parameters generated based on the image for a plurality of images, and to enable selection by the user in the same manner as in the first embodiment. For example, the information processing apparatus 101 can store a correspondence table as shown in Table 2 below for the above-described first image and the second image generated by modifying the first image. In Table 2, instead of the item of color fading correction in Table 1, information (item name: lightness difference correction) indicating whether the conversion parameter based on the image is a parameter for which lightness difference correction is performed is stored.
Table 2
[0117] According to such processing, even when correction based on the lightness difference is performed, it is possible to enable the user to select a conversion in consideration of the conversion for performing color fading correction and the conversion for obtaining the color expected by the user.
[0118] Also, when the brightness value output by conversion using the brightness conversion table for the maximum brightness color exceeds the maximum brightness of the color gamut 616 after gamma mapping, the CPU 102 may perform maximum value clipping processing. The maximum value clipping processing according to the present embodiment is a process of subtracting the difference between such an output brightness value and the maximum brightness of the color gamut 616 after gamma mapping from the entire output of the brightness conversion table. In this case, the brightness of the maximum chroma color after gamma mapping also changes to the lower brightness side. According to such processing, even when the unique colors of the input image data are biased toward the high brightness side, overall correction can be performed so as to utilize the brightness gradation on the low brightness side. Regarding the minimum brightness color, also when the corrected minimum brightness is lower than the minimum brightness of the color gamut after gamma mapping, the same processing can be performed for the case where the brightness value output by conversion using the brightness conversion table exceeds the minimum brightness of the color gamut 616 after gamma mapping.
[0119] The CPU 102 according to the present embodiment creates a degenerate correction table for each hue range by correcting the gamma mapping table using the values of the brightness conversion table calculated in this way. Here, for each corresponding input, the degenerate correction table is created by correcting the brightness value of the output of the gamma mapping table to the value of the output of the brightness conversion table.
[0120] In this embodiment, a brightness conversion table is created for each hue range. However, when performing processing using different tables for each such hue range, it is conceivable that a sharp change may occur in the output value depending on whether or not the boundary of the hue range is crossed. From such a perspective, when performing gamma mapping on a color in a certain hue range, the CPU 102 may additionally use the brightness conversion table of one adjacent hue range to perform color conversion processing. The CPU 102 may calculate the brightness after gamma mapping of the color by weighted-summing the brightness converted by the brightness conversion table in the hue range and the brightness converted by the brightness conversion table in the hue range. For example, when performing color conversion on a color C located at the hue angle Hn degrees (here, it is assumed to be an angle within the hue range 501 in FIG. 5), the CPU 102 can calculate the value Lc of the brightness after color conversion as shown in the following formula (9). [Number]
[0121] Here, H 501 is the intermediate hue angle of the hue range 501, and H 502 is the intermediate hue angle of the hue range 502. Also, Lc 501 is the value obtained by converting the brightness of color C with the brightness conversion table in the hue range 501, and Lc 502 is the value obtained by converting the brightness of color C with the brightness conversion table in the hue range 502. According to such processing, by performing brightness conversion taking into account the brightness conversion tables of adjacent hue ranges, it is possible to suppress a sharp change at the boundary of the hue range of the output value due to gamma mapping.
[0122] Also, as described above, for the CPU 102 according to the present embodiment, regarding the colors that go outside the color gamut 616 in the color degradation correction that uses the output brightness of the brightness conversion table as it is, such as color 612, the values after such conversion are converted into values within the color gamut by minimum color difference mapping. In the example of FIG. 6, as described above, color 612 is converted into color 614 by minimum color difference mapping. Hereinafter, such minimum color difference mapping will be described.
[0123] For example, the CPU 102 can convert color 612 into the color closest to color 612 among the colors within the color gamut 616 located in a predetermined direction from color 612 by minimum color difference mapping. The relationship between the weight for setting such a predetermined direction and the distance ΔEw from color 612 to the color after conversion (here 614) at that time can be shown by the following equations (10) to (14).
Equation
[0124] Here, the color before conversion by minimum color difference mapping is denoted as (Ls, as, bs), and the color after conversion is denoted as (Lt, at, bt). Also, as the weight for setting the above-described predetermined direction, the weight in the brightness direction is represented as Wl, the weight in the chroma direction is represented as Wc, and the weight of the hue angle is represented as Wh (Wh + Wl + Wc = 1). By searching for (Lt, at, bt) that satisfies equation (14), the color of the conversion destination by minimum color difference mapping is determined.
[0125] Here, the values of Wl, Wc, and Wh can be arbitrarily set by the user. In Embodiment 2, since the degenerated correction table is created so that the change due to the color degenerate correction of the converted color is only in the lightness direction, if one wants to maintain such an effect as much as possible, it is conceivable to make the weight in the lightness direction larger than the other weights. Also, since the hue has a great influence on the color tone, by making the weight of the hue angle larger (for example, than the weights in the lightness direction and the chroma direction), the change in the color tone before and after the color degenerate correction can be suppressed. For example, the color difference minimum mapping can be performed with the relationship of these weights as Wh > Wl > Wc.
[0126] Note that in the color difference minimum mapping, the explanation was given assuming that color 614 is searched from among the colors located in a predetermined direction from color 612. However, the process of converting a color that is located outside the color gamut after the degenerate correction, such as color 612, into the color gamut is not particularly limited in this way. For example, color 612 may be moved into the color gamut 616 with the minimum moving distance so that the distance from color 607 is maintained, and the resulting color may be set as color 614 to be the converted color of color 601 after the color degenerate correction.
[0127] In this embodiment, an example of performing color degenerate correction was described so that the change due to the color degenerate correction of the converted color is only in the lightness direction. Here, as a visual characteristic, the sensitivity to the lightness difference varies depending on the chroma. For example, the lightness difference between low-chroma colors tends to be more sensitive than the lightness difference between higher-chroma colors of such colors. From such a viewpoint, the CPU 102 according to this embodiment may perform control so that the amount of change in the lightness direction of the color after the color degenerate correction further varies depending on the chroma value. Here, the colors are classified into low-chroma colors and high-chroma colors, and for high-chroma colors, the process is performed as described with reference to FIG. 6 and the like, and for low-chroma colors, the process is performed so that the amount of change in the lightness direction of the converted color becomes smaller. In the following, an explanation will be given of the color degenerate correction in which the amount of change in the lightness direction becomes smaller for the colors determined to be such low-chroma colors.
[0128] When the CPU 102 corrects the brightness value of the output of the gamma mapping table to the value of the output of the brightness conversion table, it uses the chroma correction rate S to internally divide the brightness value Ln before such correction and the brightness value Lc after correction to obtain Lc’, and sets Lc’ as the brightness value of the output of the table after degeneracy correction. The chroma correction rate S is calculated by the following formula (15) using the chroma value Sn of the output value of gamma mapping and the maximum chroma value Sm of the color gamut after gamma mapping at the hue angle of the output value of gamma mapping. Also, Lc’ is calculated by the following formula (16). S = Sn / Sm Formula (15) Lc’ = S × Lc + (1 - S) × Ln Formula (16)
[0129] Here, the conditions for classifying colors into low-chroma and high-chroma are not particularly limited and can be arbitrarily set according to the user and the environment. For example, a predetermined threshold may be set for chroma, and chroma above the threshold may be regarded as high-chroma, and chroma below the threshold may be regarded as low-chroma. Also, for example, the lower half of the detected chroma may be regarded as low-chroma and the rest as high-chroma. Further, the CPU 102 may perform color degeneracy correction so that the change amount of the color after conversion becomes zero for low-chroma colors.
[0130] According to such processing, color degeneracy correction can be performed in accordance with visual sensitivity, and a state where the degree of correction is too strong can be suppressed. For example, for colors on the gray axis, the change due to color degeneracy correction can be suppressed. Also, while reducing the capacity of the table used for conversion and the processing time required for transferring the table, it is possible to enable the user to select a conversion considering both the conversion for performing color degeneracy correction and the conversion for obtaining the color expected by the user.
[0131] [Embodiment 3] [Heterochromatic Repulsion Force] Even for colors that exist within different hue ranges, if the brightness difference becomes small after gamma mapping, it may become difficult to distinguish them. From such a perspective, when the brightness difference between two colors after gamma mapping in the information processing apparatus 101 according to the present embodiment drops below a predetermined threshold (color difference ΔE), color degradation correction can be performed so that such a brightness difference becomes larger.
[0132] The information processing apparatus 101 according to the present embodiment can perform the same color degradation correction processing as in Embodiment 1. Hereinafter, the differences in the color degradation correction processing performed by the information processing apparatus 101 in the present embodiment and Embodiment 1 will be described.
[0133] Hereinafter, with reference to FIG. 8, an example of the determination processing for whether brightness degradation occurs, which is performed by the information processing apparatus 101 according to the present embodiment in S202, will be described. In the present embodiment, as described above, the case where the brightness difference between two colors after gamma mapping drops below a predetermined color difference ΔE is referred to as brightness degradation. Further, the CPU 102 according to the present embodiment determines that color degradation has occurred when brightness degradation has occurred.
[0134] In S202, the CPU 102 detects a combination of colors in which brightness degradation occurs among the combinations of unique colors included in the image data based on the unique color list detected in S201. In FIG. 8, on a plane using two axes of the L* axis and the C* axis in the CIE-L*a*b* color space, the color gamut of the input image data before color conversion processing is shown as color gamut 801, and the color gamut after conversion by gamma mapping is shown as color gamut 802. The input image data includes color 803 (the first color) and color 804 (the second color), which are shown on color gamut 801. Colors 805 and 806 are colors on color gamut 802. Color 805 is the color when gamma mapping is performed on color 803, and color 806 is the color when gamma mapping is performed on color 804. The processing described below is repeated for all combinations of unique colors included in the image data.
[0135] Here, when the brightness difference 808 between color 805 and color 806 is smaller than the brightness difference 807 between color 803 and color 804, the CPU 102 determines that the brightness difference has decreased. Here, it is assumed that the brightness difference in the CIE-L*a*b* color space is calculated. The color information in the CIE-L*a*b* color space is represented by a three-axis color space of L*, a*, and b* respectively. Color 803 is represented by L803, a803, and b803. Color 804 is represented by L804, a804, and b804. Color 805 is represented by L805, a805, and b805. Color 806 is represented by L806, a806, and b806. When the input image data is represented in another color space, it may be converted to the CIE-L*a*b* color space by known color space conversion techniques, or subsequent processing may be performed in that color space as it is. The brightness difference ΔL807 and the brightness difference ΔL808 are calculated, for example, by the following formulas (17) and (18).
Number
[0136] When the brightness difference ΔL808 is smaller than the brightness difference ΔE807, the CPU 102 determines that the brightness difference has decreased. Further, when the brightness difference ΔL808 is equal to or less than a predetermined threshold value, the CPU 102 determines that there is not enough difference to distinguish the colors and that brightness degradation has occurred.
[0137] If the brightness difference between color 805 and color 806 is large enough to be distinguishable as different colors in terms of human visual characteristics, it can be determined that there is no need to correct the brightness difference. From this perspective, the threshold value used here can be, for example, 0.5. The CPU 102 may determine that brightness degradation has occurred when the brightness difference ΔL808 is smaller than the brightness difference ΔL807 and the brightness difference ΔL808 is smaller than 0.5.
[0138] Next, the color degradation correction process performed in S205 according to this embodiment will be described with reference to FIG. 8.
[0139] The CPU 102 according to this embodiment can calculate a correction rate T, which is the reflection rate of the correction of the conversion parameter in color degradation correction, based on the ratio of the number of color combinations that cause lightness degradation to the total number of color combinations in the unique color list. For example, the CPU 102 according to this embodiment calculates the correction rate T as follows. T = the number of color combinations that cause lightness degradation / the number of color combinations in the unique color list
[0140] The above correction rate T decreases as the ratio of the color combinations that cause lightness degradation in the unique color list decreases, and increases as the ratio increases. By performing the correction of the conversion parameter using such a correction rate, the degree of correction of color degradation can be strengthened as the ratio of the color combinations that cause lightness degradation increases.
[0141] Next, the CPU 102 performs lightness difference correction based on the correction rate T and the lightness before gamma mapping. The lightness Lc after lightness difference correction can be calculated, for example, by the following formula (19), as the value obtained by internally dividing the lightness Lm before gamma mapping and the lightness Ln after gamma mapping by the correction rate T. Lc = T × (Lm - Ln) + Ln Formula (19)
[0142] Such lightness difference correction is repeated for all unique colors in the input image data. In FIG. 8, the lightness L805 of color 805 is subjected to lightness difference correction using the correction rate T, and the result of the correction is shown as color 809. In the example of FIG. 8, since color 809 is outside the color gamut 802 after gamma mapping, it is mapped to the color gamut 802 and becomes color 810. The same process is performed for color 804. According to such a process, gamma mapping with an increased lightness difference can be performed for the colors included in the image data, and the degree of lightness degradation can be reduced when lightness degradation occurs. Therefore, by suppressing the state where the lightness difference after gamma mapping becomes too small, the reduction in discriminability can be reduced.
[0143] So far, an example of performing color degradation correction processing on image data including two colors, color 803 and color 803, has been described. In the following, when an object composed of a specific color is deleted from this image data (in this embodiment, this image data is referred to as the "first image"), it is assumed that the colors after conversion by the conversion parameters after color degradation correction will be different.
[0144] For example, consider the case where the first image is modified to obtain a second image with an object composed of color 804 deleted. In such a case, the conversion parameters after color degradation correction based on the first image are parameters for converting color 803 to color 810, and the conversion parameters after color degradation correction based on the second image are parameters for converting color 803 to color 805.
[0145] Even in such a case, the information processing apparatus 101 may be configured to, in the same manner as in Embodiment 1, associate and store, for a plurality of images, an image and conversion parameters generated based on the image, respectively, and enable selection by the user. For example, the information processing apparatus 101 can store a correspondence table as shown in Table 3 below for the above-described first image and the second image generated by modifying the first image. In Table 3, instead of the item of color degradation correction in Table 1, information indicating whether the conversion parameters based on the image are parameters for which brightness difference correction is performed (item name: brightness difference correction) is stored.
Table 3
[0146] According to such processing, even when performing brightness difference correction between different colors, it is possible to enable the user to select a conversion considering both the conversion for performing color degradation correction and the conversion for obtaining the color expected by the user.
[0147] Note that the reduction process for lightness degradation according to this embodiment may be performed simultaneously with the process according to Embodiment 2. In that case, the lightness difference correction process is performed with respect to the reference color of the color degradation correction process. Along with correcting the lightness difference of the reference color, it is also possible to process the lightness difference correction of other colors. According to such a configuration, when performing color degradation correction, it is possible to reduce the degree of lightness degradation in addition to the degree of color degradation.
[0148] [Embodiment 4] [Region Setting] In Embodiments 1 to 3, color degradation correction processing was performed on all unique colors included in the input image data. However, in some cases, different priorities are set for each region in the input image data, and it may be preferable to perform different gamma mappings for each of them.
[0149] For example, the meaning of the color may be different in terms of identification between the color used in the graph and the color used as part of the gradation. For example, for the color used in the graph, since the distinguishability from another color in the graph is important, it is conceivable to perform a strong color degradation correction with a high degree of color degradation correction. On the other hand, for the color used as part of the gradation, since the gradation with the colors of surrounding pixels is important, it is conceivable to perform a weak color degradation correction with a low degree of color degradation correction. When these two colors are the same color and are included in the same input image data, it is preferable to perform a relatively strong color degradation correction for the color of the graph and a relatively weak color degradation correction for the color used as part of the gradation. Such a situation can occur particularly when the input manuscript data has image data of multiple pages and color degradation correction processing is performed on such multiple pages.
[0150] The information processing apparatus 101 according to the present embodiment sets a plurality of partial regions in the image data and generates conversion parameters separately for each of these partial regions. That is, the information processing apparatus 101 according to the present embodiment generates conversion parameters in the color conversion process for each partial region. In particular, when there are a plurality of images, a plurality of partial regions may be set from among those images.
[0151] FIG. 9 is a flowchart showing an example of the overall processing performed by the information processing apparatus 101 according to the present embodiment. The processing shown in FIG. 9 is composed of a first flow (S301 to S307) and a second flow (S308 to S313), similar to the processing in FIG. 2, and is a process of performing color conversion processing on a second image using the conversion parameters generated by the first flow. In the following, detailed description of the processing performed in the same manner as the processing shown in FIG. 2 will be omitted.
[0152] First, the first flow in FIG. 9 will be described. At S301, the CPU 102 acquires manuscript data (image data) used for printing in the same manner as at S101. At S302, the CPU 102 performs color conversion on the image data using the conversion parameters stored in the storage medium 104 in advance in the same manner as at S102.
[0153] At S303, the CPU 102 sets partial regions in the image data acquired at S301. Here, it is assumed that at least two partial regions are set. The partial regions according to the present embodiment may be set based on the information included in the manuscript data, may be set based on the image of the manuscript data (for example, as a region where the pixel values satisfy a predetermined condition), or may be set based on a user input for setting the partial regions.
[0154] S305 to S306 are loop processes that target one of the partial regions set in S304. In S304, the CPU 102 sets one of the partial regions set in S303 as the target to be processed. In S305, the CPU 102 creates a table after color fading correction for the partial region to be processed, similar to S103. In S306, the CPU 102 determines whether all of the partial regions set in S303 have been processed. If all partial regions have been processed, the process proceeds to S307; otherwise, the process returns to S304. In S307, the CPU 102 stores each of the conversion parameters (tables after color fading correction) generated in S305 in association with the partial regions in the RAM 103 or the storage medium 104, and ends the first flow.
[0155] Next, the second flow in FIG. 9 will be described. In S305, the CPU 102 acquires original data for printing, similar to S105. In S309, the CPU 102 acquires the conversion parameters for each partial region stored in S307.
[0156] S311 to S312 are loop processes that target one of the partial regions set in S310. In S310, the CPU 102 sets one of the partial regions associated with the conversion parameters acquired in S309 as the target to be processed. In S311, the CPU 102 generates color fading corrected image data after color fading correction is performed using the table after color fading correction for the partial region to be processed, similar to S107. In S312, the CPU 102 determines whether all of the partial regions associated with the conversion parameters acquired in S309 have been processed. If all partial regions have been processed, the process proceeds to S313; otherwise, the process returns to S310. In S313, the CPU 102 outputs the color fading corrected image data generated and stored in S311 from the information processing apparatus 101 via the transfer I / F 106, similar to S108, and ends the second flow.
[0157] The setting process of the partial area in S303 will be described in detail. FIG. 10 is a diagram for explaining an example of a page of the manuscript data input in S303 of the present embodiment. Here, it is assumed that the document data included in the manuscript data is described in PDL. PDL is an abbreviation for Page Description Language, and is composed of a set of drawing commands for each page. The types of drawing commands are defined for each PDL specification, and any type can be adopted. In the present embodiment, as an example, the following three types of commands 1 to 3 are used. Command 1) TEXT drawing command (X1, Y1, color, font information, string information) Command 2) BOX drawing command (X1, Y1, X2, Y2, color, filling shape) Command 3) IMAGE drawing command (X1, Y1, X2, Y2, image file information)
[0158] In addition, drawing commands of other types according to the application, such as a DOT drawing command for drawing points, a LINE drawing command for drawing lines, or a CIRCLE drawing command for drawing arcs, may be used. For example, general PDLs such as PDF (Portable Document Format) proposed by Adobe, XPS proposed by Microsoft, or HP-GL / 2 (registered trademark) proposed by HP may be used.
[0159] The manuscript page 1000 in FIG. 10 represents one page of the document data. This document data is, as an example, assumed to have a pixel count of 600 pixels in width and 800 pixels in height. Hereinafter, an example of PDL corresponding to the document data of the manuscript page 1000 in FIG. 10 is shown.
[0160] <PAGE=001> <text>50,50,550,100,BLACK,STD-18,"ABCDE FGHIJKLMNOPQR”< / text> <text>50,100,550,150,BLACK,STD-18,"abcd efghijklmnopqrstuv”< / text> <text>50,150,550,200,BLACK,STD-18,"1234 567890123456789”< / text> <box>50,350,200,550,GRAY,STRIPE< / box> 250,300,580,700,“PORTRAIT.jpg”< / IMAGE>
[0161] The following describes the description from this <PAGE=001> (line 1) to (line 11). Here, each of these descriptions describes an object including text, graphics (boxes, squares), and image data included in the manuscript data. Here, as the types of objects, three types, text, graphics, and image data, will be described, but different types of objects may be used. For example, an object of a type indicating a partial region where special printing is performed may be used.
[0162] The <PAGE=001> on the first line is a tag representing the page number of the manuscript data according to this embodiment. Usually, since PDL is designed to be able to describe multiple pages, a tag indicating the page break is described in the PDL. In this example, indicates that it is the first page. In this embodiment, it corresponds to manuscript page 1000 in FIG. 10. If there is a second page, <PAGE=002> will be described following the above PDL.
[0163] The second line <text>from the third line< / text> to is a drawing instruction 1 (first TEXT instruction) for describing text as an object, corresponding to the first line of region 1001 in FIG. 10. The first two coordinates indicate the coordinates (X1, Y1) that are the upper left of the drawing area, and the following two coordinates indicate the coordinates (X2, Y2) that are the lower right of the drawing area. Subsequently, it is described that the color of the characters is BLACK (black: R = 0, G = 0, B = 0), the font of the characters is "STD" (standard), the character size is 18 points, and the character string to be described is "ABCDEFGHIJKLMNOPQR".
[0164] The fourth line <text>from the fifth line< / text> to is a drawing instruction 2 (second TEXT instruction) for describing text as an object, corresponding to the second line of region 1001 in FIG. 10. The first four coordinates and the two character strings each represent the drawing area, the character color, and the font of the characters, similar to instruction 1, and it is described that the character string to be described is "abcdefghijklmnopqrstuv".
[0165] From the 6th line <text>from the seventh line< / text> to this point is the drawing instruction 3 (the 3rd TEXT instruction) for describing text as an object, corresponding to the 3rd line in region 1001 of FIG. 10. Similar to the drawing instructions 1 and 2, the first four coordinates and the two strings respectively represent the drawing area, the character color, and the font of the characters, and it is described that the string to be described is "1234567890123456789".
[0166] From the 8th line <box>from< / box> to this point is the drawing instruction 1 (BOX instruction) for describing a box as an object, corresponding to region 1002 of FIG. 10. The first two coordinates indicate the upper left coordinate (X1, Y1) which is the drawing start point, and the following two coordinates indicate the lower right coordinate (X2, Y2) which is the drawing end point. Subsequently, the filling color of the region is GRAY (feature 1: R = 128, G = 128, B = 128), and the filling pattern is STRIPE (striped pattern). In this embodiment, the direction of the striped pattern is a line in the lower right direction, but the angle and period of the line etc. may be specified in the BOX instruction.
[0167] The IMAGE instructions on the 9th and 10th lines are the drawing instruction 1 (IMAGE instruction) for specifying image data as an object, corresponding to region 1003 of FIG. 10. Here, it is described that the file name of the image existing in the region is "PORTRAIT.jpg", which indicates that the image data is a JPEG file, which is a commonly used image compression format. What is described on the 11th line indicates the end of the drawing of the page.
[0168] As an actual PDL file, in addition to the above drawing instruction group, there is a case where it is integrated including "STD" font data and "PORTRAIT.jpg" image file. This is because when the font data and the image file are managed separately, only the drawing instructions cannot form the character part and the image part, and the information becomes insufficient to form the image in FIG. 10. Also, the area 1004 in FIG. 10 is an area where there are no drawing instructions and becomes blank.
[0169] As described above, the CPU 102 according to the present embodiment may set the partial area based on the information included in the manuscript data, may set it based on the image of the manuscript data (for example, as an area where the pixel value satisfies a predetermined condition), or may set it based on a user input for setting the partial area. When the partial area is set based on the information included in the manuscript data, for example, for a manuscript page described in PDL such as the manuscript page 1000 in FIG. 10, the partial area can be extracted by analyzing the above PDL. Specifically, each drawing instruction is described such that the start point and the end point of the Y coordinate of the object are as follows. The objects of each TEXT instruction are continuously arranged in terms of area. Also, both the BOX instruction and the IMAGE instruction are separated from the TEXT instruction by 100 pixels or more in the Y direction. Drawing Instruction Y Start Point Y End Point First TEXT Instruction 50 100 Second TEXT Instruction 100 150 Third TEXT Instruction 150 200 BOX Instruction 350 550 IMAGE Instruction 300 700
[0170] Next, the BOX instruction and the IMAGE instruction are described such that the start point and the end point of the X coordinate of each object are as follows. The X coordinates of the objects of each TEXT instruction are common to both the start point and the end point. Also, the objects drawn by the BOX instruction and the IMAGE instruction are separated by 50 pixels in the X direction. Drawing Instruction X Start Point X End Point BOX Instruction 50 200 IMAGE command 250 580
[0171] From the above, in the example of FIG. 10, the CPU 102 can set the following three regions as sub-regions. Region X start point Y start point X end point Y end point First region 50 50 550 200 Second region 50 350 200 550 Third region 250 300 580 700
[0172] In this way, the CPU 102 can set sub-regions based on the description regarding the drawing of the objects included in the manuscript data. Further, in addition to the configuration in which the CPU 102 analyzes the PDL as described above to set sub-regions, the CPU 102 can divide an image into a plurality of divided regions and set sub-regions based on such divided regions. Here, for example, the image may be divided into unit tiles described later, and one or more such unit tiles may be set as sub-regions. Hereinafter, such a configuration will be described.
[0173] FIG. 11 is a flowchart showing an example of detailed processing when the sub-region setting process in S303 is performed in tile units. At S401, the CPU 102 sets unit tiles (hereinafter, this may be simply referred to as "tiles") on the manuscript page and divides the manuscript page into such tiles. In the present embodiment, the unit tiles on the manuscript page are set as tiles of 30 pixels both vertically and horizontally. Since the present manuscript page is 600×800 pixels as described above, there are 20 tiles in the X direction and 27 tiles in the Y direction (including one tile that cannot be completely drawn). In order to set such unit tiles, here, a variable for setting a region number for each tile is set as Area_number
[20]
[27] .
[0174] FIG. 12 is a diagram showing an image of tile settings for a manuscript page in the present embodiment. In FIG. 12, the manuscript page 1200 represents the entire manuscript page. Also, the area 1201 is an area where text is drawn, the area 1202 is an area where a figure is drawn, the area 1203 is an area where image data is drawn, and the area 1204 is an area where no object is drawn. In the following, when specifying a tile arranged on the manuscript page in this way, the tile may be referred to as tile (x, y) indicating the x-th tile from the left and the y-th tile from the top.
[0175] In S402, the CPU 102 determines whether each tile is a blank tile. Here, if a tile has no overlapping object, it is determined to be a blank tile; otherwise, it is determined not to be a blank tile. The CPU 102 may determine whether a tile is a blank tile by comparing the coordinates of the tile with the start and end points of the XY coordinates of each object described by the drawing instruction as described above, or may detect a tile in which all pixel values within the actual unit tile are R = G = B = 255 as a blank tile. Note that whether this determination is made by comparing coordinates or based on the pixel values within the tile can be set based on processing accuracy, detection accuracy, and the like.
[0176] In S403 to S410, an area number is set for each tile. In S403, the CPU 102 sets initial values of each value including an area number for each tile as follows. · Set area number "0" for the tile determined to be a blank tile in S402 · Set area number "-1" for tiles other than the above (non - blank) · Set "0" to the maximum value of the area number
[0177] Specifically, the initial values of each value are set as follows. Blank tile (x1, y1) area_number[x1][y1]=0 Non - blank tile (x2, y2) area_number[x1][y1]= - 1 Maximum value of area number max_area_number = 0
[0178] Therefore, at the completion of the process in S402, "0" or "-1" is set for all tiles.
[0179] In S404, the CPU 102 detects tiles with an area number of "-1". Here, for the range of x = 0 to 19 and y = 0 to 26 for the tile (x, y), the CPU 102 makes the following determination. When a tile with an area number of "-1" is first detected, or when the detection process has been completed for all tiles, the detected tile is set as the processing target and the process proceeds to S405. if(area_number[x][y] = -1) → Detected else → Not detected
[0180] In S405, the CPU 102 determines whether a tile with an area number of "-1" was detected in S404. If detected, the process proceeds to S406; otherwise, the process proceeds to S410.
[0181] In S406, the CPU 102 increments the maximum value of the area number by +1 and sets the area number of the tile detected as "-1" to the updated maximum value of the area number. Specifically, for the detected tile (x3, y3), the following processing is performed. max_area_number = max_area_number + 1 area_number[x3][y3] = max_area_number
[0182] For example, here, if it is the tile that is first detected by the detection process in S404 and for which the process in S406 is first executed, the updated maximum value of the area number will be "1", and thus the area number of the tile will be "1". Thereafter, each time S406 is executed again, the maximum value of the area number increases by 1.
[0183] Subsequently, in S407 to S409, processing is performed to expand consecutive non - blank regions as the same region. In S407, the CPU 102 detects a tile that is an adjacent tile of the tile with the maximum area number and has an area number of "-1". Specifically, for tiles (x, y) in the range of x = 0 to 19 and y = 0 to 26, the following determination is made. When a tile with an area number of "-1" is first detected, or when the detection process has been completed for all tiles, the detected tile is the processing target and the process proceeds to S408. 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)) → Detected else → Not detected
[0184] In S408, the CPU 102 determines whether a tile with an area number of "-1" was detected in S407. If detected, the process proceeds to S409; otherwise, the process returns to S404.
[0185] In S409, the CPU 102 updates the area number of the tile that is an adjacent tile and has an area number of "-1" to the maximum area number at that time. Specifically, for the detected adjacent tile, with the position of the tile of interest as (x4, y4), it is realized by processing as follows. 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
[0186] When the area numbers of adjacent tiles are updated in S409, the process returns to S407, and the detection of other adjacent non - blank tiles continues. Then, when there is no situation where undetected non - blank adjacent tiles exist, that is, when there are no tiles to which the maximum area number should be assigned, the process returns to S404. In a state where the area numbers of all tiles are not "-1", that is, when all tiles are blank tiles or when area numbers of 0 or more are set for all tiles, it is determined in S405 that there are no tiles with an area number of "-1".
[0187] In S410, the CPU 102 sets the maximum value of the area number as the number of areas and ends the process of FIG. 11. That is, the maximum value of the area number set so far becomes the number of areas existing on the manuscript page.
[0188] FIG. 13 is a diagram showing each tile area after the area setting is completed. The manuscript page 1300 in FIG. 13 represents the entire manuscript page corresponding to the manuscript page 1200. The area 1301 in FIG. 13 is the area where text is drawn, the area 1302 is the area where a figure is drawn, the area 1303 is the area where image data is drawn, and the area 1304 is the area where no object is drawn. Here, the result of the area setting is as follows. · 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
[0189] In the example shown in FIG. 13, each region is spatially separated via at least one blank tile. In other words, assuming that a plurality of tiles that do not even have one blank tile between them are adjacent, they are processed as the same region.
[0190] Human vision has the characteristic that the difference between two colors that are spatially adjacent or exist in extremely close locations is relatively easy to perceive, while the difference between two colors that are spatially separated is relatively difficult to perceive. That is to say, the above-mentioned "output in different colors" result is likely to be perceived when performed on the same color that is spatially adjacent or exists in an extremely close location, and is difficult to perceive when performed on the same color that exists in a spatially separated location.
[0191] In the processing according to this embodiment, regions regarded as different regions are separated by a predetermined minimum distance or more on the paper surface. This also means that pixel positions regarded as the same region exist within such a minimum distance with a background color (for example, white, black, or gray) in between. This minimum distance is determined by the size of the unit tile and can be arbitrarily set according to the size of the paper for printing or the observation distance assumed by the user, etc. In this embodiment, printing on A4-sized printing paper is assumed, and the minimum distance is set to be 0.7 mm or more. Even if the distance between such objects on the paper surface is not separated by the minimum distance, if they are set as different objects, they may also be regarded as different regions. For example, when there are an image region and a box region that are not separated by a predetermined distance, since their object types are different, they may be set as different regions.
[0192] According to such a configuration, a plurality of partial regions can be set in the image data, and color conversion processing can be selected for each of them. In particular, regardless of whether or not predetermined color information is included in those partial regions, the color conversion processing can be selectively changed according to whether or not the type of the partial region is a specific type. Also, according to this processing, even for separated objects, if they have the same color distribution and the same type, similar color degradation correction can be performed. Further, by performing the color degradation correction processing for each partial region in this way, the number of combinations of colors to be the target of the color degradation correction processing can be limited, and the processing speed can be improved.
[0193] In addition, in this embodiment, the description has been made assuming that the object information is included in the manuscript data (as described with reference to FIG. 10). However, as long as the objects in the image can be identified, it is not particularly necessary for the manuscript data to have the type of the object. For example, the CPU 102 may be configured to detect a specific object from the image. In that case, for example, the position of the object can be the position of the bounding box including the object, and the type of the object can be set by classifying the class of the detected object. Such detection processing of the object in the image can be executed by, for example, a known object recognition technique using a neural network.
[0194] Also, in this embodiment, the description has been made assuming that the partial regions in the manuscript data are set in S303. Here, as described above, since the manuscript data has image data of a plurality of pages, partial regions may be set from those plurality of pages. In particular, the entire image data of one page (or more) out of the image data of the plurality of pages may be set as a partial region with respect to the entire manuscript data. Hereinafter, an example in which such image data for one page is set as a partial region (partial page) will be described.
[0195] Here, as described above, the document data to be printed is document data composed of a plurality of pages. The "partial page" is information for grouping one or more pages out of the plurality of pages included in the document data and making it the target for creating the above-described gamma mapping table after degeneracy correction. For example, assume that the document data is composed of pages from page 1 to page 3. If each page is to be the target for creating a separate mapping table, then each of page 1, page 2, and page 3 becomes a partial page. Also, if page 1 and page 2, and page 3, are each to be the target for creating a mapping table, then "page 1 and page 2" and "page 3" become partial pages. That is, the CPU 102 can selectively change the color conversion process for each such partial page and for each partial area.
[0196] Note that the "partial page" used here is not limited to the grouping in page units included in the document data. For example, in some cases, a partial area of page 1 may be regarded as a "partial page". In this case, in S303, the CPU 102 sets the document data into a plurality of "partial pages" according to a predetermined grouping of "partial pages". Note that the grouping of "partial pages" may be specified by the user.
[0197] Also, in Embodiments 1 to 3, for a plurality of images, the image and the conversion parameters generated based on the image are stored in association with each other, and an aspect in which the user can select a combination of an image and conversion parameters has been described. On the other hand, in this embodiment, a plurality of partial areas are set in the image, and conversion parameters are generated for each of them. Therefore, the information processing apparatus according to this embodiment can store, in association with each other, a partial area and the conversion parameters generated based on the partial area for the plurality of partial areas included in one image.
[0198] For example, the information processing apparatus 101 can store a correspondence table as shown in Table 4 below for the first image before correction and the second image generated by correcting the first image. Here, for each partial region (regions 1 to 3) in the first image before correction, information associating information indicating whether the conversion parameter based on the image is a parameter for which color fading correction has been performed and the generation date is stored in the table. Also, in Table 4, for the second image which is the image after correction, only the information regarding the partial region (here, region 2) where a change has occurred due to the image correction is described. [Table 4]
[0199] In Table 4, as a result of the correction performed within region 2 in the first image, in the second image, the conversion parameter based on region 2 has been changed to a parameter for which color fading correction is performed.
[0200] According to such processing, even when performing color fading correction in units of partial regions within an image, it is possible to enable the user to select a conversion considering both the conversion for performing color fading correction and the conversion for obtaining the color expected by the user.
[0201] The disclosure of this specification includes the following information processing apparatus, information processing method, and program. (Item 1) First acquisition means for acquiring first color information of a first image including pixels representing color information of a first color defined in a first color gamut and pixels representing color information of a second color defined in the first color gamut; When the color difference between the third color defined in the second color gamut, which is obtained by converting the first color through color conversion processing, and the fourth color defined in the second color gamut, which is obtained by converting the second color through the color conversion processing, is smaller than a predetermined threshold value, the first correction means corrects the first conversion parameter in the color conversion processing so that the color obtained by converting the first color becomes a fifth color different from the third color, and having a color difference from the fourth color larger than the color difference between the third color and the fourth color. Conversion means for performing color conversion processing using the corrected first conversion parameter on a second image different from the first image. An information processing apparatus, characterized by comprising the above. (Item 2) The information processing apparatus according to item 1, characterized in that the predetermined threshold value is smaller than the color difference between the first color and the second color. (Item 3) The information processing apparatus according to item 1 or 2, characterized in that the predetermined threshold value is 2.0 in terms of Euclidean distance ΔE. (Item 4) The information processing apparatus according to item 2, characterized in that the first color and the second color are colors represented in any one of the color spaces of CIE-L*a*b*, RGB, HLS, and HSV. (Item 5) The information processing apparatus according to any one of items 1 to 4, characterized in that the second color gamut is a color reproduction gamut for printing by an image forming apparatus. (Item 6) The apparatus further comprises grouping means for grouping the colors included in the first image according to the hue range. The information processing apparatus according to any one of items 1 to 5, characterized in that the first color information including the first color and the second color is color information in the hue range grouped by the grouping means. (Item 7) The information processing apparatus according to item 6, characterized in that the fifth color is a color calculated based on the third color, the fourth color, and the color difference between the first color and the second color. (Item 8) The information processing apparatus according to item 7, wherein the fifth color is a color obtained by correcting the lightness of the third color based on the color difference between the first color and the second color. (Item 9) The information processing apparatus according to item 8, wherein the fifth color is a color obtained by setting the lightness of the third color to a value obtained by adding the color difference between the first color and the second color to the lightness of the fourth color. (Item 10) The information processing apparatus according to item 7, wherein the fifth color is a color obtained by mapping a color obtained by setting the lightness of the third color to a value obtained by adding the color difference between the first color and the second color to the lightness of the fourth color into the second color gamut. (Item 11) The corrected first conversion parameter is a conversion parameter for converting a sixth color different from the first color and the second color included in the first color information into a seventh color defined in the second color gamut. The information processing apparatus according to item 7, wherein the seventh color is a color calculated based on the fifth color, the third color, and an eighth color which is a color obtained by converting the sixth color using the first conversion parameter before the sixth color is corrected. (Item 12) The information processing apparatus according to any one of items 7 to 11, wherein the second color is the color with the highest chroma among the colors included in the first color information. (Item 13) The information processing apparatus according to item 12, wherein the first color is the color with the highest lightness or the lowest lightness among the colors included in the first color information. (Item 14) The information processing apparatus further includes determination means for determining whether or not two colors are recognized as the same color based on a hue range. The information processing apparatus according to any one of items 6 to 13, wherein the grouping means groups colors determined to be the same color by the determination means. (Item 15) The information processing apparatus according to item 14, wherein the determination means recognizes colors in a hue range from 30 degrees to 60 degrees as the same color. (Item 16) The information processing apparatus according to any one of items 1 to 15, further comprising second correction means for correcting a correction amount of the first conversion parameter by the first correction means based on a ratio between the total number of color combinations included in the first color information and the number of color combinations included in the first color information, in which the color difference after conversion by the color conversion processing is smaller than the predetermined threshold value. (Item 17) The information processing apparatus according to any one of items 1 to 16, wherein the first acquisition means acquires first color information from an image of a partial region in the first image. (Item 18) The information processing apparatus according to item 17, wherein the partial region is a region constituted by one or more of divided regions obtained by dividing the image into a plurality of regions. (Item 19) second acquisition means for acquiring a second conversion parameter different from the first conversion parameter; presentation means for presenting information regarding the first conversion parameter and the second conversion parameter to a user; selection means for selecting a conversion parameter to be used in the color conversion processing for the second image from the first conversion parameter and the second conversion parameter based on a user input; and further comprising The information processing apparatus according to any one of items 1 to 18, wherein the conversion means performs color conversion processing on the second image using the conversion parameter selected by the selection means. (Item 20) The second conversion parameter is a conversion parameter obtained by correcting the conversion parameter in the color conversion process such that when the color difference between the tenth color defined in the second color gamut, which is obtained by converting the ninth color defined in the first color gamut included in the second image by color conversion processing, and the twelfth color defined in the second color gamut, which is obtained by converting the eleventh color defined in the first color gamut included in the second image by the color conversion processing, is smaller than a predetermined threshold value, the color difference between the color obtained by converting the ninth color and the twelfth color is larger than the color difference between the tenth color and the twelfth color, and is a thirteenth color different from the eleventh color. The information processing apparatus according to item 19, characterized in that it is a conversion parameter. (Item 21) The presentation means presents to the user a preview display obtained by performing color conversion processing on the second image using the first conversion parameter or the second conversion parameter as information regarding the conversion parameter. The information processing apparatus according to item 19 or 20, characterized in that it is a preview display. (Item 22) The presentation means simultaneously presents to the user a preview display obtained by performing color conversion processing on the second image using the first conversion parameter and the second conversion parameter, respectively, as information regarding the conversion parameter. The information processing apparatus according to item 19 or 20, characterized in that it is a preview display. (Item 23) In the preview display obtained by performing color conversion processing on the second image using the first conversion parameter or the second conversion parameter, the presentation means highlights a portion where the color difference between the preview display obtained by performing color conversion processing on the second image using the first conversion parameter and the preview display obtained by performing color conversion processing on the second image using the second conversion parameter is equal to or greater than a threshold value. The information processing apparatus according to item 21, characterized in that it is a highlighting display. (Item 24) A step of obtaining first color information of a first image including a pixel representing color information of a first color defined in a first color gamut and a pixel representing color information of a second color defined in the first color gamut; When the color difference between the third color defined in the second color gamut, which is obtained by converting the first color through color conversion processing, and the fourth color defined in the second color gamut, which is obtained by converting the second color through the color conversion processing, is smaller than a predetermined threshold value, the color obtained by converting the first color is different from the third color, and the color difference from the fourth color is larger than the color difference between the third color and the fourth color. A first step of correcting the first conversion parameter in the color conversion process so as to be a fifth color; A step of performing color conversion processing using the corrected first conversion parameter on a second image different from the first image; An information processing method, characterized by comprising the above. (Item 25) A program for causing a computer to function as each means of the information processing apparatus according to any one of Items 1 to 23.
[0202] (Other embodiments) The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and causing one or more processors in the computer of the system or apparatus to read and execute the program. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
[0203] The invention is not limited to the above-described embodiments, and various changes and modifications can be made without departing from the spirit and scope of the invention. Therefore, claims are attached to disclose the scope of the invention.
Explanation of reference numerals
[0204] 101: Information processing apparatus, 108: Image forming apparatus
Claims
1. First acquisition means for acquiring first color information of a first image including a pixel representing color information of a first color defined in a first color gamut and a pixel representing color information of a second color defined in the first color gamut; When the color difference between a third color defined in a second color gamut obtained by converting the first color by color conversion processing and a fourth color defined in the second color gamut obtained by converting the second color by the color conversion processing is smaller than a predetermined threshold value, first correction means for correcting a first conversion parameter in the color conversion processing so that the color obtained by converting the first color is a fifth color different from the third color and having a color difference from the fourth color larger than the color difference between the third color and the fourth color; Conversion means for performing color conversion processing using the corrected first conversion parameter on a second image different from the first image; An information processing apparatus, comprising:
2. The information processing apparatus according to claim 1, wherein the predetermined threshold value is smaller than a color difference between the first color and the second color.
3. The information processing apparatus according to claim 1, wherein the predetermined threshold value is 2.0 in terms of Euclidean distance ΔE.
4. The information processing apparatus according to claim 2, wherein the first color and the second color are colors represented in any one of color spaces of CIE-L*a*b*, RGB, HLS, and HSV.
5. The information processing apparatus according to claim 1, wherein the second color gamut is a color reproduction gamut for printing by an image forming apparatus.
6. Further comprising grouping means for grouping the colors included in the first image according to a hue range, The information processing apparatus according to claim 1, wherein the first color information including the first color and the second color is color information in a hue range grouped by the grouping means.
7. The information processing apparatus according to claim 6, wherein the fifth color is a color calculated based on the third color, the fourth color, and a color difference between the first color and the second color.
8. The information processing apparatus according to claim 7, wherein the fifth color is a color obtained by correcting the lightness of the third color based on a color difference between the first color and the second color.
9. The information processing apparatus according to claim 8, wherein the fifth color is a color obtained by setting the lightness of the third color to a value obtained by adding the color difference between the first color and the second color to the lightness of the fourth color.
10. The information processing apparatus according to claim 7, wherein the fifth color is a color obtained by mapping, within the second color gamut, a color obtained by setting the lightness of the third color to a value obtained by adding the color difference between the first color and the second color to the lightness of the fourth color.
11. The corrected first conversion parameter is a conversion parameter for converting a sixth color, which is different from the first color and the second color and is included in the first color information, into a seventh color defined in the second color gamut. The information processing apparatus according to claim 7, wherein the seventh color is a color calculated based on the fifth color and an eighth color, which is a color obtained when the sixth color is converted by the color conversion process using the first conversion parameter before the sixth color is corrected.
12. The information processing apparatus according to claim 7, wherein the second color is the color having the highest chroma among the colors included in the first color information.
13. The information processing apparatus according to claim 12, wherein the first color is the color having the highest lightness or the lowest lightness among the colors included in the first color information.
14. The information processing apparatus further includes determination means for determining whether or not two colors are recognized as the same color based on a hue range. The grouping means according to claim 6, wherein the grouping means groups colors determined to be the same color by the determination means.
15. The information processing apparatus according to claim 14, wherein the determination means recognizes colors within a hue range of 30 degrees to 60 degrees as the same color.
16. The information processing apparatus according to claim 1, further includes second correction means for correcting a correction amount of the first conversion parameter by the first correction means based on a ratio between the total number of combinations of colors included in the first color information and the number of combinations of colors whose color difference after conversion by the color conversion process is smaller than the predetermined threshold value and is included in the first color information.
17. The information processing apparatus according to claim 1, wherein the first acquisition means acquires the first color information from an image of a partial region in the first image.
18. The information processing apparatus according to claim 17, wherein the partial area is an area constituted by one or more of divided areas obtained by dividing the image into a plurality of areas.
19. second acquisition means for acquiring a second conversion parameter different from the first conversion parameter; presentation means for presenting information on the first conversion parameter and the second conversion parameter to a user; selection means for selecting, based on a user input, a conversion parameter to be used in color conversion processing for the second image from the first conversion parameter and the second conversion parameter; further comprising: The conversion means performs color conversion processing on the second image using the conversion parameter selected by the selection means. The information processing apparatus according to claim 1.
20. When the color difference between a tenth color defined in the second color gamut obtained by converting a ninth color defined in the first color gamut included in the second image by color conversion processing and a twelfth color defined in the second color gamut obtained by converting an eleventh color defined in the first color gamut included in the second image by the color conversion processing is smaller than a predetermined threshold value, the color obtained by converting the ninth color has a color difference from the twelfth color that is larger than the color difference between the tenth color and the twelfth color, and is a conversion parameter obtained by correcting the conversion parameter in the color conversion processing so as to be a thirteenth color different from the eleventh color. The information processing apparatus according to claim 19.
21. The presentation means presents a preview display in which color conversion processing of the second image is executed using the first conversion parameter or the second conversion parameter to the user as information on the conversion parameter. The information processing apparatus according to claim 19.
22. The presentation means presents a preview display in which color conversion processing of the second image is executed using the first conversion parameter and the second conversion parameter to the user at the same time as information on the conversion parameter. The information processing apparatus according to claim 19.
23. The information processing apparatus according to claim 21, wherein the presentation means performs highlighting of a portion where a color difference between a preview display obtained by performing color conversion processing on the second image using the first conversion parameter and a preview display obtained by performing color conversion processing on the second image using the second conversion parameter is equal to or greater than a threshold value in a preview display obtained by performing color conversion processing on the second image using the first conversion parameter or the second conversion parameter.
24. A step of obtaining first color information of a first image including a pixel representing color information of a first color defined in a first color gamut and a pixel representing color information of a second color defined in the first color gamut; When a color difference between a third color defined in a second color gamut obtained by converting the first color by color conversion processing and a fourth color defined in the second color gamut obtained by converting the second color by the color conversion processing is smaller than a predetermined threshold value, a first step of correcting a first conversion parameter in the color conversion processing so that a color obtained by converting the first color is a fifth color different from the third color and having a color difference from the fourth color greater than a color difference between the third color and the fourth color; A step of performing color conversion processing using the corrected first conversion parameter on a second image different from the first image; An information processing method, characterized by comprising:
25. A program for causing a computer to function as each means of the information processing apparatus according to any one of claims 1 to 23.
Citation Information
Patent Citations
Color picture converter
JP1995203234A
Profile adjustment method, profile adjustment device, profile adjustment program, color conversion method, color conversion device, and color conversion program
JP2020027948A