Image processing device, program

JP7912127B1Active Publication Date: 2026-08-27CANON KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2025147134
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-09-04
Publication Date
2026-08-27
Estimated Expiration
2045-09-04

AI Technical Summary

Benefits of technology

【0009】 本開示によれば、縮小画像を用いたベタ領域の判別を容易にし、オブジェクト毎の色変換処理を適切に実行することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007912127000001_ABST
    Figure 0007912127000001_ABST
Patent Text Reader

Abstract

This system facilitates the identification of solid areas using reduced images and provides a mechanism for appropriately executing color conversion processing for each object. [Solution] The image processing apparatus includes an acquisition means for acquiring an input image, a setting means for setting representative color information for each adjacent rectangular pixel block in the input image using the color information of one pixel other than the edges located at the four corners of the pixel block, a discrimination means for determining solid areas and non-solid areas using the representative color information in a reduced image with a resolution lower than the resolution of the input image, and a switching means for switching the color conversion process according to the result of the discrimination by the discrimination means.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an image processing apparatus and a program.

Background Art

[0002] There is known a printer that receives a digital manuscript described in a predetermined color space, performs mapping of each color in the color space to a color reproduction range reproducible by the printer, and outputs the result. For example, there is known a method of identifying an object in a manuscript, performing "colorimetric" mapping on a graphic area, and performing "perceptual" mapping on a photo area.

[0003] Specifically, the graphic area in the manuscript is discriminated by analyzing pixel by pixel whether the color information of pixels in a certain area is the same (solid area). On the other hand, the photo area is discriminated by analyzing pixel by pixel whether the color information of pixels in a certain area is not the same (non-solid area). However, in order to analyze an object in a manuscript, analysis is generally performed using a reduced image in order to increase the processing speed.

[0004] Patent Document 1 describes reducing the manuscript data to be recorded by averaging the pixels in a block of a block-encoded image, that is, the low-frequency component, and analyzing an object using the reduced manuscript data.

Prior Art Documents

Patent Documents

[0005]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0006] When analyzing pixel color information (RGB values, CMYK values, etc.) on a block-by-block basis to identify solid areas in an input image, using the average value of the color information of each pixel within a block results in the generation of a third color information in blocks containing solid area boundaries. This makes it difficult to identify solid areas and may prevent proper color conversion through object-by-object mapping.

[0007] This disclosure aims to provide a mechanism that facilitates the identification of solid areas using reduced images and appropriately performs color conversion processing for each object. [Means for solving the problem]

[0008] An image processing apparatus according to one aspect of the present disclosure is characterized by comprising: an acquisition means for acquiring an input image; a setting means for setting representative color information for each adjacent rectangular pixel block in the input image using the color information of one pixel other than the edges located at the four corners of the pixel block; a discrimination means for determining solid areas and non-solid areas using the representative color information in a reduced image with a resolution smaller than the resolution of the input image; and a switching means for switching a color conversion process according to the result of the discrimination by the discrimination means. [Effects of the Invention]

[0009] According to this disclosure, it is possible to easily identify solid areas using reduced images and to appropriately perform color conversion processing for each object. [Brief explanation of the drawing]

[0010] [Figure 1] This is a block diagram showing the configuration of an image processing device. [Figure 2] This is a diagram illustrating the recording head. [Figure 3] This is a flowchart showing the recording process in an image processing device. [Figure 4] This is a diagram to explain partial image data. [Figure 5] This is a flowchart for adaptive image processing in S103. [Figure 6] It is a diagram showing the input image acquired in S201. [Figure 7] It is a diagram for explaining the generation of a reduced image. [Figure 8] It is a diagram for explaining the setting of regions. [Figure 9] It is a diagram showing the result of expanding the region setting information. [Figure 10] It is a diagram showing a state where a solid area and a non-solid area are set. [Figure 11] It is a diagram showing the input image acquired in S201. [Figure 12] It is a diagram for explaining color degradation and its improvement. [Figure 13] It is a diagram for explaining color degradation and its improvement. [Figure 14] It is a diagram for explaining color degradation and its improvement. [Figure 15] It is a diagram showing the result of expanding the region setting information. [Figure 16] It is a flowchart showing the adaptive image processing of S103. [Figure 17] It is a diagram showing the input image acquired in S201. [Figure 18] It is a diagram showing the result of expanding the region setting information. [Figure 19] It is a flowchart showing the region setting process. [Figure 20] It is a flowchart showing the process of creating a color conversion table for reducing color degradation. [Figure 21] It is a diagram for explaining the case of synchronizing with the engine process. [Figure 22] It is a diagram for explaining the case of synchronizing with the engine process. [Figure 23] It is a diagram for explaining the case of not synchronizing with the engine process. [Figure 24] It is a diagram for explaining the case of not synchronizing with the engine process. [Figure 25] It is a flowchart showing the enlargement process. [Figure 26] This is a diagram to explain the buffer zone. [Figure 27] This is a diagram illustrating a variation. [Figure 28] This is a diagram showing a portion of the input image. [Figure 29] This is a diagram to explain the buffer zone. [Figure 30] This is a diagram illustrating a variation. [Figure 31] This is a flowchart showing the scaling process. [Figure 32] This is a flowchart showing the process for calculating color conversion intensity. [Figure 33] This is a diagram to explain color conversion intensity. [Figure 34] This is a diagram to explain the scaling process. [Figure 35] This is a diagram illustrating a variation. [Figure 36] This is a diagram illustrating a variation. [Figure 37] This is a diagram illustrating a variation. [Figure 38] This is a diagram illustrating a variation. [Figure 39] This is a flowchart showing the scaling process. [Figure 40] This is a diagram to explain the scaling process. [Figure 41] This is a diagram showing the user interface screen. [Modes for carrying out the invention]

[0011] The embodiments will be described in detail below with reference to the attached drawings. Note that the following embodiments do not limit the scope of the claims. While the embodiments describe multiple features, not all of these features are necessary, and the features may be combined in any way. Furthermore, in the attached drawings, identical or similar configurations are given the same reference numerals, and redundant descriptions are omitted.

[0012] [First Embodiment] The terms used in this embodiment are defined below.

[0013] (Solid area) In image data, a region where two or more pixels with the same color information are consecutive vertically and two or more pixels are consecutive horizontally is defined as a solid region, and in this embodiment, it may be referred to as the first region, the third region, etc., depending on the context of the explanation.

[0014] (Non-solid area) In image data, areas that do not fall under the above-mentioned solid areas are defined as non-solid areas, and in this embodiment, they may be referred to as the second area, fourth area, etc., depending on the explanation.

[0015] (Color gamut) The color gamut refers to the range of colors that can be reproduced in any given color space. It is also called the color range, color space, or gamut. The color space volume is an indicator that represents the breadth of this color gamut. The color space volume is the three-dimensional volume in any given color space. The chromaticity points that make up the color gamut can be discrete. For example, a particular color gamut may be represented by 729 points on the CIE-L*a*b* plane, and the points in between may be determined using known interpolation operations such as tetrahedron interpolation or cubic interpolation. In such cases, the corresponding color space volume can be obtained by calculating and accumulating the volumes of tetrahedra or cubes on the CIE-L*a*b* plane that make up the color gamut, corresponding to the interpolation operation method. The color gamut and color space in this embodiment are not limited to a specific color space, but in this embodiment, the color gamut in the CIE-L*a*b* space is explained as an example. Similarly, the numerical values ​​for the color gamut in this embodiment represent the volume calculated cumulatively in CIE-L*a*b* space, assuming tetrahedral interpolation.

[0016] (Gamut mapping) Gamut mapping is the process of converting between different color gamuts. For example, it involves mapping an input color gamut to an output color gamut. Conversion within the same color gamut is not called gamut mapping. Common ICC (International Color Consortiaum) profiles include Perceptual, Saturation, and Colorimetric. The mapping process can be performed using a single 3DLUT (Three-Dimensional Look Up Table). Alternatively, the color space can be converted to a standard color space before the mapping process. For example, if the input color space is sRGB, it can be converted to the CIE-L*a*b* color space. The mapping process is then performed on the output color gamut within the CIE-L*a*b* color space. The mapping process can be done using a 3DLUT or a conversion formula. It is also possible to perform the conversion between the input and output color spaces simultaneously. For example, the input color space may be sRGB, and the output may be converted to RGB or CMYK values ​​specific to the recording device.

[0017] (Color degeneration) In this embodiment, when gamut mapping is performed on any two colors, color degeneracy is defined as the case where the distance between the mapped colors in a predetermined color space becomes smaller than the distance between the colors before mapping. Specifically, suppose there are colors A and B in a digital original, and by mapping to the printer's color gamut, color A is converted to color C and color B is converted to color D. In this case, color degeneracy is defined as the case where the distance between color C and color D becomes smaller than the distance between color A and color B. When color degeneracy occurs, colors that were recognized as different in the digital original may be recognized as the same color when the image is recorded. For example, in a graph, different items are recognized as different items by using different colors. If color degeneracy occurs, different colors may be recognized as the same color, which can lead to the misconception that different items in a graph are the same item. The predetermined color space used to calculate the distance between colors here can be any color space. Examples include the sRGB color space, Adobe RGB color space, CIE-L*a*b* color space, CIE-LUV color space, XYZ color system color space, xyY color system color space, HSV color space, and HLS color space.

[0018] <Overall image processing device> Figure 1 is a block diagram showing the configuration of the image processing device in this embodiment. A PC, tablet, server, or recording device can be used as the image processing device 101. The CPU 102 performs various image processing by reading programs stored in a storage medium 104, such as an HDD or ROM, into the RAM 103, which serves as a work area, and executing them. For example, the CPU 102 obtains commands from the user via an HID (Human Interface Device) I / F (not shown). Then, it performs various image processing according to the obtained commands and the programs stored in the storage medium 104. The CPU 102 also performs predetermined processing on document data obtained via a data transfer I / F 106, according to the programs stored in the storage medium 104. The results and various information are then displayed on a display (not shown) and transmitted via the data transfer I / F 106. The image processing accelerator 105 is hardware capable of performing image processing at a higher speed than the CPU 102. The image processing accelerator 105 is activated when the CPU 102 writes the parameters and data necessary for image processing to a predetermined address in the RAM 103. The image processing accelerator 105 reads the above parameters and data, and then performs image processing on that data. However, the image processing accelerator 105 is not a mandatory element, and equivalent processing may be performed by the CPU 102. Specifically, the image processing accelerator 105 is a GPU or a specially designed electrical circuit. The above parameters may be stored in the storage medium 104, or they may be obtained externally via the data transfer interface 106.

[0019] In the recording device 108, the CPU 111 comprehensively controls the recording device 108 by reading programs stored in the storage medium 113 into the RAM 112, which serves as a work area, and executing them. The image processing accelerator 109 is hardware capable of performing image processing at a faster speed than the CPU 111. The image processing accelerator 109 is activated when the CPU 111 writes the parameters and data necessary for image processing to a predetermined address in the RAM 112. After reading the above parameters and data, the image processing accelerator 109 performs image processing on that data. However, the image processing accelerator 109 is not an essential element, and equivalent processing may be performed by the CPU 111. The above parameters may be stored in the storage medium 113, or in storage such as flash memory or an HDD (not shown).

[0020] Here, we will describe the image processing performed by the CPU 111 or the image processing accelerator 109. Image processing is, for example, the process of generating data indicating the ink dot formation position in each scan by the recording head 115 based on the acquired recording data. The CPU 111 or the image processing accelerator 109 performs, for example, color separation processing and quantization processing of the acquired recording data.

[0021] The color separation process is a process that converts the data into ink density values ​​that can be handled by the recording device 108. For example, the acquired recording data includes image data that represents an image. If the image data represents an image using color space coordinates such as sRGB, which is the color representation of a monitor, the data representing the image using sRGB color coordinates (R, G, B) is converted into ink data (CMYK) that can be handled by the recording device 108. The color separation method is implemented by matrix calculation processing, processing using a three-dimensional lookup table (3DLUT), or processing using a four-dimensional 4DLUT.

[0022] The recording device 108 of this embodiment uses, as an example, black (K), cyan (C), magenta (M), and yellow (Y) inks. Therefore, RGB signal image data is converted into image data (ink data) consisting of 8-bit color signals for each of K, C, M, and Y. Each color signal corresponds to the amount of each ink applied. Although four colors, K, C, M, and Y, are given as an example of the number of ink colors, other ink colors such as light cyan (Lc), light magenta (Lm), and gray (Gy) inks with lower densities may be used to improve image quality. In that case, ink data corresponding to those colors will be generated.

[0023] After color separation processing, quantization processing is performed on the ink data. Quantization processing is a process that reduces the number of gradation levels in the ink data. In this embodiment, quantization is performed using a dither matrix, which is an array of thresholds for comparing with the ink data values ​​for each pixel. After quantization processing, binary data is ultimately generated that indicates whether or not a dot is formed at each dot formation position.

[0024] After quantization processing, the recording head controller 114 transfers binary data to the recording head 115. Simultaneously, the CPU 111 controls the recording process via the recording head controller 114, operating the carriage motor that moves the recording head 115 and the transport motor that transports the recording medium. The recording head 115 scans the recording medium, and simultaneously, ink droplets are ejected onto the recording medium by the recording head 115, thereby recording an image.

[0025] The image processing device 101 and the recording device 108 are connected via a communication line 107. In this embodiment, a local area network is described as an example of the communication line 107, but it may also be a USB hub, a wireless communication network using a wireless access point, or a connection using Wi-Fi® direct communication function. Hereinafter, the recording head 115 will be described as having recording nozzle rows for four colors of color ink: cyan (C), magenta (M), yellow (Y), and black (K).

[0026] Figure 2 is a diagram illustrating the recording head 115 in this embodiment. In this embodiment, an image is recorded in multiple scans of N times for a unit area of ​​one nozzle row. The recording head 115 has a carriage 116, nozzle rows 117, 118, 119, and 120, and an optical sensor 122. The carriage 116, which is equipped with five nozzle rows 117, 118, 119, and 120 and the optical sensor 122, is capable of reciprocating along the main scanning direction (X direction in the figure) by the driving force of a carriage motor transmitted via a belt 121. As the carriage 116 moves in the X direction relative to the recording medium, ink droplets are ejected from each nozzle of the nozzle row in the direction of gravity (Z direction in the figure) based on the recorded data. In this embodiment, the ejection element that ejects ink droplets from each nozzle is a thermal type that generates bubbles using an electrothermal conversion element to eject liquid. However, it is not limited to this, and may also be a discharge element that uses a piezoelectric element (piezo) to discharge liquid, or another type of discharge element.

[0027] As a result, an image equivalent to 1 / N (N: a natural number) main scans is recorded on the recording medium placed on the platen 123. Once one main scan is completed, the recording medium is transported in the transport direction (Y direction in the figure) intersecting the main scan direction by a distance corresponding to the width of 1 / N main scans. Through these operations, an image is recorded in N scans over an area the width of one nozzle row. By repeating these main scan and transport operations alternately, an image is gradually recorded on the recording medium. In this way, it is possible to control the process to complete the image recording for a predetermined area.

[0028] <Recording process> Figure 3 is a flowchart showing the recording process in the image processing device 101. The process in Figure 3 is realized, for example, by the CPU 102 executing a program read from the RAM 103. In this embodiment, an example is shown in which the recording process is performed by the image processing device 101, but it may also be performed by the recording device 108, or the processing may be divided between the image processing device 101 and the recording device 108.

[0029] In S101, the CPU 102 acquires the document data to be recorded. Specifically, the CPU 102 acquires the document data from the host PC's data transfer interface via the image processing device 101's data transfer interface 106. Here, the document data is defined as document data consisting of multiple pages.

[0030] Next, in S102, the CPU 102 divides the original data into multiple partial original data. In this embodiment, the original data to be recorded is, for example, document data consisting of multiple pages. The partial original data can take any form as long as it is a processing unit into which the original data has been divided. Figures 4(a) and 4(b) are diagrams for illustrating partial image data. For example, a page unit may be used as partial original data, as in the image data 200 shown in Figure 4(a). Figure 4(b) shows the recording area recorded by the scanning of the recording head 115. Area 204 shows an example where recording is completed in two scans of the recording head 115 (arrows indicate scanning direction). Data in units recorded by the recording head, such as area 204, may also be used as partial original data. Furthermore, if the image data in Figure 4(a) is described in PDL (Page Description Language), which is a page description language, area 201 or area 202, which are area units determined by the drawing command, may be used as partial original data. Furthermore, for example, if the data is on a page-by-page basis, multiple area units determined by pages, bands, and drawing commands may be combined into a single partial document data, such as combining the first and second pages. Alternatively, for example, one page may be divided into multiple bands, and each band unit may be treated as partial document data. In this embodiment, an example of dividing the data into partial document data on a page-by-page basis is shown.

[0031] Next, in S103, CPU102 performs a loop process that is executed for each portion of the original document data. In S103, CPU102 performs a color conversion process on the portion of the original document data. Details of the color conversion process will be described later.

[0032] Next, in S104, the CPU 102 determines whether the color conversion of all partial document data has been completed. If it is determined that it has been completed, the process moves to S105; if it is determined that it has not been completed, the color conversion process in S103 is performed on the next partial document data. Next, in S105, the CPU 102 records the document data. Specifically, for each pixel of the image data converted in S103, four processes are performed: ink color separation, output characteristic conversion, quantization, and recording.

[0033] Ink color separation is a process that converts the output values ​​Rout, Gout, and Bout of the color conversion process into the output values ​​of each ink color to be recorded by the inkjet recording method. In this embodiment, for example, recording with four inks, cyan, magenta, yellow, and black, is assumed. There are various ways to implement this conversion, for example, a 3D LUT is used to calculate a suitable combination of ink color pixel values ​​(C, M, Y, K) for a given combination of output pixel values ​​(Rout, Gout, Bout). For example, the following 3D LUT2

[0256]

[0256]

[0256] [4] is used.

[0034] C=LUT2[Rout][Gout][Bout][0]...(1) M=LUT2[Rout][Gout][Bout][1]...(2) Y=LUT2[Rout][Gout][Bout][2]...(3) K=LUT2[Rout][Gout][Bout][3]...(4) Alternatively, the number of LUT grids can be reduced from 256 grids to, for example, 16 grids, and the output value can be determined by interpolating the table values ​​of multiple grids, thereby reducing the table size.

[0035] Next, the output characteristic conversion is a process that converts the density of each ink color into the rate of recording dots. Specifically, for example, the density of each color with 256 gradations is converted into the rate of recording dots Cout, Mout, Yout, and Kout, which have 1024 gradations for each color. For this purpose, a one-dimensional LUT3[4]

[0256] is used, for example, which sets a suitable rate of recording dots for each ink color density, as shown below.

[0036] Cout=LUT3[0][C]···(5) Mout=LUT3[1][M]···(6) Yout=LUT3[2][Y]···(7) Kout=LUT3[3][K]···(8) Alternatively, the number of LUT grids can be reduced from 256 grids to, for example, 16 grids, and the output value can be determined by interpolating the table values ​​of multiple grids, thereby reducing the table size.

[0037] Next, quantization is the process of converting the recording dot ratios Cout, Mout, Yout, and Kout for each ink color into the On / Off state of the actual recording dots of each pixel. Various methods can be used for quantization, such as the error diffusion method and the dithering method. For example, the dithering method can be used to achieve this as shown in the following equation.

[0038] Cdot=Halftone[Cout][x][y]···(9) Mdot=Halftone[Mout][x][y]···(10) Ydot=Halftone[Yout][x][y]···(11) Kdot=Halftone[Kout][x][y]···(12) Then, by comparing the value with a threshold corresponding to each pixel position (x,y), the On / Off state of the recording dot for each ink color is achieved. Here, for example, Cout, Mout, Yout, and Kout are each represented by 10 bits and take values ​​in the range of 0 to 1023. Therefore, the occurrence probability of each recording dot is Cout / 1023, Mout / 1023, Yout / 1023, and Kout / 1023. Finally, the generated image data is recorded.

[0039] <Adaptive Image Processing> Figures 5 and 16 are flowcharts illustrating the adaptive image processing S103 in Figure 3 in this embodiment. The processing in Figures 5 and 16 is realized, for example, by the CPU 102 executing a program read from RAM 103. In this embodiment, an example is shown in which the adaptive image processing is performed by the image processing device 101, but it may also be performed by the recording device 108, or the processing may be divided between the image processing device 101 and the recording device 108. In this embodiment, the following three problems can be solved.

[0040] • Challenges arising from reduction processing for solid / non-solid analysis Challenges that arise when creating a color conversion table to correct color degradation. Challenges that arise when applying a color conversion table to correct color degradation. In S201, CPU 102 acquires image data for adaptive image processing. The image data acquired in this embodiment is partial document data output from S102, for example, page-level image data. This page-level image data will hereafter be referred to as the input image. The input image contains color information representing colors defined in a predetermined color space. In this embodiment, the color information is sRGB data. However, the color information is not limited to this; any data format that allows for color definition is acceptable, such as Adobe RGB data, CIE-L*a*b* data, CIE-LUV data, XYZ color system data, xyY color system data, HSV data, HLS data, etc.

[0041] In S202, CPU102 performs a reduction process on the acquired input image in order to perform the solid / non-solid region analysis, which will be explained later. Specifically, if the input image has 4960 x 7016 pixels, it is reduced to 1 / 8 of its size, resulting in an image of 512 x 877 pixels. The reason for this reduction process is to increase the processing speed when performing the solid / non-solid region analysis.

[0042] <Challenges arising from reduction processing for inlaid / non-inlaid analysis> Figure 6 shows an example of an input image acquired in S201. This input image consists of four solid regions, each containing three different color information values ​​601 to 603 indicating different densities.

[0043] Next, we will explain the dotted area 604 shown in Figure 6, which is an example of reducing the input image using S202. Specifically, the area of ​​the image shown in Figure 6 is reduced to 1 / 8th of its original size.

[0044] First, let's discuss the method of reducing the image size by averaging the pixels.

[0045] As shown in Figure 7(a), the pixels within the block size indicated by the black line (8x8 pixels in this embodiment) are averaged. Specifically, for sRGB data, the calculation is performed for each block using the following formula. A reduced image of the calculated result is shown in Figure 7(b).

[0046] TIFF0007912127000002.tif1631...(13) TIFF0007912127000003.tif1430...(14) TIFF0007912127000004.tif1430...(15) In this case, a third color information is generated in the pixels at the boundary of the solid area (pixels 701 in the thick black dotted line area).

[0047] On the other hand, Figure 7(c) shows the result of generating a reduced image by extracting some pixels within a certain block size. Specifically, this method extracts the color information of the pixel (shaded) that is adjacent to the centroid position within the pixel block (the middle pixel in the case of odd-sized blocks, and the pixel adjacent to the centroid in the case of even-sized blocks) as the representative pixel of that block. In this case, the generation of a third color information that occurred when averaging the color information of pixels within a pixel block can be suppressed.

[0048] Next, in S203, the CPU 102 performs color conversion on the input image using a color conversion table pre-stored in the storage medium 104. In this embodiment, color conversion is performed by gamut mapping on the input image, mapping the color reproduction range of the sRGB data to the color reproduction range of the recording device 108. The color reproduction range of the recording device 108 differs depending on the recording method and recording speed determined for each output mode. Therefore, the image processing device 101 requires gamut mapping that supports multiple output modes. The image data after gamut mapping is stored in the RAM 103 or the storage medium 104. Specifically, the color conversion table is a 3D LUT. The 3D LUT can calculate combinations of output pixel values ​​(Rout, Gout, Bout) for combinations of input pixel values ​​(Rin, Gin, Bin). When the input values ​​Rin, Gin, and Bin each have 256 gradations, it is preferable to use the table LUT1

[0256]

[0256]

[0256] [3] which has a total of 16,777,216 output values ​​(256 × 256 × 256). Color conversion is performed using the gamut mapping table described above. Specifically, this can be achieved by executing the following formula on each pixel of the image composed of the RGB pixel values ​​of the input image acquired in S201.

[0049] Rout = LUT1[Rin][Gin][Bin][0] ···(16) Gout = LUT1[Rin][Gin][Bin][1] ···(17) Bout = LUT1[Rin][Gin][Bin][2] ···(18) Furthermore, known techniques for reducing the table size may be used, such as reducing the number of LUT grids from 256 grids to, for example, 16 grids, and determining the output value by interpolating the table values ​​of multiple grids.

[0050] Next, in S204, CPU102 adds region setting information to the reduced image of the input image acquired in S201. Region setting information is information that divides the image into a first region (solid color region) to which solid color conversion is applied and a second region (non-solid color region) to which non-solid color conversion is applied.

[0051] The CPU 102 prepares a scaled-down version of the input image and an image with the same number of pixels in both width and height on the RAM 103, and records the area setting information that distinguishes between solid and non-solid areas as pixel values. This will hereafter be referred to as the low-resolution mask image.

[0052] In this embodiment, the solid color conversion and non-solid color conversion refer to the gamut mapping color conversion tables. Note that color conversion can be performed by creating a conversion formula, using a color conversion table, or any other method that enables color conversion.

[0053] In this embodiment, the color information of discriminable image data in the output of the recording device 108 is defined as a region having a predetermined or larger area in a planar manner, and this region is set as the first region. Specifically, the first region is defined as a region in the image data where two or more pixels with the same color information are consecutive vertically and two or more pixels are consecutive horizontally. In this embodiment, "discriminable" means that, in the case of document printing used in an office, the difference in color (color difference) between adjacent graphs in the document can be visually identified.

[0054] Figures 8(a) and 8(b) illustrate the setting of the first region in this embodiment. As indicated by the arrow in Figure 8(a), in this embodiment, line processing is performed sequentially on pixel-level image data. In pixel-level processing, it is determined whether the color information of the three surrounding pixels (pixels 801, 802, and 803) of the target pixel (pixel of interest) 800 shown in Figure 8(b) is the same as the color information of the pixel of interest. If the determination result is the same, the four pixels including the pixel of interest are set as the first region. Pixels that have already been set as the first region may be reset as the first region in pixel-level processing.

[0055] In this embodiment, the first region was set using the method described above, but the method is not limited to the above as long as a region with the same color information and a planar area of ​​a certain size or larger can be extracted. Also, in this embodiment, regions with the same color information were extracted, but in image data with lossy compression such as JPEG, the color information may vary within a predetermined range, even if the original image data has the same color information. Therefore, a range that allows variation may be set for regions with the same color information, for example, by setting the color difference ΔE to within 1.0 or the difference in RGB values ​​to within a predetermined value.

[0056] S205 performs an enlargement of the region setting information. Since the region setting information is a reduced image, it needs to be enlarged to the same resolution as the input image. Specifically, if the input image has 4960 x 7016 pixels and the reduced image is 512 x 877 pixels (1 / 8 the size), it will be enlarged to 8 times the size. The enlargement process is performed using the nearest neighbor method, which is a common technique.

[0057] As shown in the region setting results in Figure 9(a), when using a reduction method that averages the pixels within a block, non-solid regions that do not exist in the input image data are generated at the boundaries of the solid regions. On the other hand, as shown in the region setting results in Figure 9(b), when using a reduction method that extracts some pixels within a block, only the solid regions remain, and the first region can be identified faithfully to the input image data.

[0058] As a result, in this embodiment, for the image data in Figure 6, the areas filled in black in Figures 10(a) and 10(b) are set as solid areas (first area), and the areas filled in white are set as non-solid areas (second area). With a reduction method that averages the pixels within a block, non-solid areas that were not present in the input image data are created at the boundaries of the solid areas, as shown in Figure 10(a). In contrast, with a reduction method that extracts some pixels within a block, only solid areas remain, as shown in Figure 10(b). This allows the color conversion method to be appropriately applied to the solid and non-solid areas.

[0059] Next, in S206, CPU102 creates a color conversion table based on the following information.

[0060] • Input image acquired by S201 • Color conversion table pre-stored in storage medium 104 used in S203 Image data color-converted using the color conversion table pre-stored in the storage medium 104 used in S203. • Area setting information configured in S204 and expanded in S205 The format of the color conversion table created in S206 may be the same as the format of the color conversion table previously stored in the storage medium 104 used in S203.

[0061] Next, in S207, the CPU 102 generates color-converted image data by performing calculations (applying) the color conversion table created in S206 to the image data acquired in S201. The generated image data is stored in RAM 103 or storage medium 104.

[0062] <Challenges that arise when creating a color conversion table to correct color degradation> Furthermore, the appearance of a third color within the analysis image of a solid color area can lead to problems with color discrimination when creating a color conversion table to correct color degeneracy, as color differences may become indistinguishable. This example demonstrates how to create a color conversion table that reduces color degradation, allowing the colors of the original data to be distinguishable even in the output of the recording device 108.

[0063] Figure 11(a) is an example of an input image acquired by S201. Figure 11(a) is the original document data created by the user for input into the image processing device 101. Figure 11(b) is an image reduced by a reduction method that averages the pixels within the block in Figure 11(a). In Figure 11(a), there are only two colors, 601 and 602, of the bar graph, but in Figure 11(b), in addition to 601 and 602, 603 and 604 are generated by the reduction process described above. Generally, when the resolution is converted from a low resolution to the original resolution as described above, 603, which is generated unintentionally by the user, is close to 601, and similarly, 604, which is generated unintentionally by the user, is close to 602.

[0064] Figures 12 to 14 are diagrams illustrating color degradation and its improvement. Figure 12 shows the case where the image data (input image) before color conversion is as shown in Figure 11(a), and Figures 13 and 14 show the case where the image data (input image) before color conversion is as shown in Figure 11(b). The color reproduction range 701 is the color reproduction range of the input image, and in this embodiment, it shows the sRGB color reproduction range. The color reproduction range 702 is the color reproduction range after adaptive image processing in S207, which will be described later, and corresponds to the color reproduction range in a predetermined output mode of the recording device 108.

[0065] In Figure 12, color 703 is the color obtained by color transformation of color 601 using gamut mapping. Color 704 is the color obtained by color transformation of color 602 using gamut mapping. Color degeneracy is determined when the color difference ΔE705 between color 703 and color 704 is smaller than the color difference ΔE706 between color 601 and color 602. The Euclidean distance in the color space is used as the method for calculating the color difference ΔE. In this embodiment, the Euclidean distance in the CIE-L*a*b* color space (hereinafter referred to as color difference ΔE) is used as a preferred example. 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, when the Euclidean distance in the CIE-L*a*b* color space becomes small, people perceive colors as getting closer, and when it becomes large, they perceive colors as moving further apart. Color information in the CIE-L*a*b* color space is represented by a three-axis color space of L*, a*, and b*, respectively. The formula for calculating the color difference ΔE between colors (L1, a1, b1) and (L2, a2, b2) is as follows:

[0066] TIFF0007912127000005.tif14113...(19) Therefore, in this embodiment, a color conversion table is created that corrects color degeneracy by increasing the inter-color distance between color 703 and color 704 in a predetermined color space. This becomes the color conversion table for solid colors. Specifically, a correction process is performed to increase the inter-color distance between color 703 and color 704 beyond the inter-color distance at which they can be distinguished as different colors based on human visual characteristics. The inter-color distance at which they can be distinguished as different colors based on visual characteristics is a color difference ΔE of 2.0 or more. More preferably, it is desirable that the color difference between color 703 and color 704 is about the same as the color difference ΔE 706. For this reason, a color conversion table is created in which color 601 is gamut-mapped to color 707 and color 602 is gamut-mapped to color 708. As a result, a color difference ΔE 709 equal to the color difference ΔE 706 can be reproduced in the device color gamut.

[0067] On the other hand, in Figure 13, color 710 is the color obtained by color conversion of color 603 using gamut mapping. Color 711 is the color obtained by color conversion of color 604 using gamut mapping. If we apply a correction to increase the inter-color distance to compensate for color degeneracy, as described above, we will create a color conversion table in which color 601 is gamut-mapped to color 712, color 602 to color 713, color 603 to color 714, and color 604 to color 715, as shown in Figure 14. As a result, although an inter-color distance is created, it may not be possible to increase the inter-color distance in the device color gamut to 2.0 or more, or to the same extent as the color difference ΔE706 between color 712 and color 713. Consequently, colors that can be identified in the original data displayed on the monitor may not be identified in the output result of the recording device 108.

[0068] In this embodiment, instead of creating a solid color conversion table using the color information of all pixels in a reduced-size image of the input image, a first region which is a solid color area and a second region which is not a solid color area are defined in the input image, and a color conversion table is created using the color information of the first region. As will be described later, in this embodiment, the region necessary for color discrimination is defined from the input image, and the color conversion table is created using only the color information of that region. As a result, even when an image like Figure 11(b) is input, it becomes possible to create a color conversion table suitable for color discrimination as shown in Figure 12, rather than Figure 14, and the problem of being unable to distinguish color differences in the output of the recording device 108 described above can be improved.

[0069] As shown in Figures 8(a) and 8(b), the first and second regions are identified. Then, as shown in Figure 12, a color conversion table is created.

[0070] Figure 15 shows the result of enlarging the region setting information using S205. Since the region setting information is a reduced image, it needs to be enlarged to the same resolution as the input image. Specifically, if the input image has 4960 x 7016 pixels and the reduced image is 1 / 8 the size, which is 512 x 877 pixels, it will be enlarged to 8 times its original size. The enlargement process is performed using the nearest neighbor method, which is a common technique.

[0071] In this embodiment, for the input image in Figure 11(a), the area filled in black in Figure 15(a) is set as the first area, and the area filled in white is set as the second area. In other words, the reduction method that averages the pixels within a block results in unintended colors 603 and 604, as shown in Figure 11(b). However, in this embodiment, these colors are not taken into consideration when creating the color conversion table that corrects the color degeneracy.

[0072] Next, in S206, the CPU 102 creates a color conversion table, and in S207, it converts the input image acquired in S201 using the color conversion table. The specific method is the same as explained in Figure 12, so the explanation is omitted.

[0073] <Challenges that arise when applying a color conversion table to correct color degradation> Furthermore, applying a color conversion table intended for solid areas to non-solid areas (gradient areas) may result in a decrease in tonal gradation.

[0074] Figure 17 shows an example of an input image acquired by S201. Below the input image in Figure 17, in addition to the input image in Figure 11(a), regions 1101 and 1102, which are horizontal bar graphs, are drawn. Within both regions 1101 and 1102 of the bar graphs, a horizontal gradient is drawn. To make the explanation easier to understand, the left end of the region is color 601 in Figure 11, and the right end is color 602, and the area between them is composed of pixels with a gradient in which the brightness changes continuously between color 601 and color 602.

[0075] When a color conversion table pre-stored in the storage medium 104 is applied to region 1101 in Figure 17, a smooth gradient connecting color 601 to color 602 in Figure 17 is output from the recording device 108. On the other hand, when a color conversion table created in S206 to reduce color degradation is applied to region 1101 in Figure 17, a gradient between color 707 and color 708 in Figure 12 is output from the recording device 108. In this case, as shown in Figure 12, although the color reproduction range that reproduces the gradient is expanded, the number of pixels that form the gradient remains the same, so the color information of each pixel constituting the gradient becomes more discrete data. Therefore, steps may occur between the gradations of the gradient. Thus, for example, when a color conversion table that prioritizes color discrimination (i.e., a color conversion table to reduce color degradation) is set, image quality may deteriorate in areas that prioritize color continuity (gradation).

[0076] Therefore, in this embodiment, in order to reduce the degradation of image quality, we will describe an example in which we set up areas to which a color conversion table for solid areas is applied and areas to which a color conversion table for non-solid areas is applied, and switch the color conversion method according to the set areas.

[0077] Figure 16 is a flowchart illustrating the adaptive image processing shown in S103 of Figure 3 in this embodiment. The processing in Figure 16 is realized, for example, by the CPU 102 executing a program read from RAM 103. In this embodiment, an example is shown in which the adaptive image processing is performed by the image processing device 101, but it may also be performed by the recording device 108, or the processing may be shared between the image processing device 101 and the recording device 108. Since S201 to S205 are the same as in Figure 5, their explanation is omitted. Also, S203 and S204 and S301 are executed in parallel. Furthermore, processing may be performed sequentially in the order of S201, S301, and S202.

[0078] In S301, the CPU 102 sets up a third region from the input image acquired in S201 to which the solid color conversion table set in the subsequent S302 is applied, and a fourth region to which the non-solid color conversion table set in S302 is applied. Here, in order to prioritize color gradation, the fourth region is designated as the region to which the color conversion table for solid areas that prioritize color discrimination is not applied. In other words, the fourth region is the region that prioritizes color gradation.

[0079] In this embodiment, in order to emphasize color gradation, the setting of the fourth region, to which a color conversion table that emphasizes color discrimination is not applied, will be explained using Figures 8(a) and 8(b), similar to the first embodiment. As indicated by the arrows in Figure 8(a), line processing is performed sequentially on pixel-level image data. In pixel-level processing, as shown in Figure 8(b), it is determined whether the color information of the three surrounding pixels (pixels 801, 802, and 803) of the pixel of interest (the pixel to be processed) 800 is continuous with the color information of the pixel of interest. In this embodiment, if the color information of each of the three surrounding pixels of the pixel of interest 800 is not identical to the color information of the pixel of interest 800, and the color difference ΔE is not 2.0 or more, the pixel of interest is set as the fourth region. Pixels that have already been set as the fourth region may be reset as the fourth region in pixel-level processing. In this embodiment, the fourth region was extracted using the method described above, but the method is not limited to the above as long as a region in which the color information changes continuously as image data can be set. For the image data in Figure 17, the area filled in black in Figure 18(a) is set as the fourth region, and the area filled in white is set as the third region.

[0080] Figures 18(a) and 18(b) show the results of enlarging the region setting information using S205. Since the region setting information is a reduced image, it needs to be enlarged to the same resolution as the input image. Specifically, if the input image has 4960 x 7016 pixels and the reduced image is 1 / 8 the size, which is 512 x 877 pixels, it will be enlarged to 8 times its original size. The enlargement process is performed using the nearest neighbor method, which is a common technique.

[0081] Figure 18(b) shows the first region, which is a solid area, and the second region, which is a non-solid area, as defined in S204. In Figure 18(b), the first region is shown as a black-filled area, and the second region is shown as a white-filled area. In this embodiment, colors 603 and 604 are included in the second region.

[0082] As shown in Figures 18(a) and 18(b), the third region to which a color conversion table that emphasizes color discrimination can be applied should include the first region to which a color conversion table that emphasizes color discrimination is applied. Specifically, it is desirable to set conditions for defining the first and second regions, and conditions for defining the third and fourth regions. In other words, it is desirable to set the region to which a color conversion table that emphasizes color discrimination is applied so that it does not become a region that does not emphasize color discrimination.

[0083] Next, in S302, the CPU 102 creates color conversion tables for the third and fourth regions set in S301. The color conversion table for the third region is the same as that in S206 in Figure 5, so its explanation is omitted. For the fourth region, a color conversion table prioritizing gradation, which is stored in the storage medium 104 beforehand, is set. Furthermore, the color conversion table prioritizing gradation is different from the color conversion table applicable to the third region.

[0084] Next, in S303, CPU102 performs color conversion based on the following information.

[0085] • S301 area information • Color conversion table for the third region set in S302 • A color conversion table prioritizing gradation for the fourth region set in S302, which is pre-stored in the storage medium 104. For the image data acquired in S201, the third region extracted in S301 is processed using the color conversion table set in S302 to generate color-converted image data. On the other hand, for the fourth region extracted in S301, the gradation-prioritizing color conversion table set in S302 and pre-stored in the storage medium 104 is processed using the color conversion table to generate color-converted image data. The generated image data is stored in the RAM 103 or the storage medium 104.

[0086] According to this embodiment, in a reduction method for extracting some pixels within a block, when extracting color information from some pixels within an adjacent predetermined block (M×N, where both M and N are 3 or more), at least one pixel other than the block edges (excluding the pixels at the four corners: top left, bottom left, top right, and bottom right) is used to set the representative color information of the block. As a result, the generation of a third color information at the boundary of a solid area consisting of two color information can be suppressed. This makes it easier to identify solid areas and enables accurate switching of color processing.

[0087] Furthermore, according to this embodiment, by setting the first and second regions as described above, an appropriate color conversion method can be set based on the information of the region necessary for color conversion. In addition, a third region to which a different color conversion method is applied, and a fourth region to which a color conversion method for non-solid areas is applied are set, which are different from the first region. This makes it possible to perform color conversion that emphasizes color discrimination only in regions where the image quality does not deteriorate even when a color conversion method that emphasizes color discrimination is applied.

[0088] Furthermore, in this embodiment, an example was shown in which a region where image quality deteriorates when the color conversion method generated from the first region is applied to the image data is set as a fourth region, and the image quality deterioration is avoided by not applying the color conversion method generated from the first region to the fourth region. However, the third and fourth regions may be separated by setting a third region in which no image quality deterioration occurs even when the color conversion method generated from the first region is applied to the image data.

[0089] Furthermore, in this embodiment, a color conversion table prioritizing gradation, which is pre-stored in the storage medium 104, is applied to the fourth region. However, if the color conversion table pre-stored in the storage medium 104 used in S203 of Figure 5 is applicable, it may be configured to apply that instead.

[0090] <Settings for the area> The region setting described in Figures 8(a) and 8(b) will be explained in detail using the flowchart in Figure 19. The process in Figure 19 is realized, for example, by the CPU 102 executing a program read from RAM 103. The input image shown in Figure 7(c) is shown in Figure 19(a), and the 2x2 window is scanned in the direction indicated by the white arrow as shown in window 1701. Specifically, this is the M+1 pixels (for example, M is 1 to 4) in the main scanning direction 1702 and the N+1 pixels (for example, N is 1 to 3) in the sub-scanning direction 1703. Then the target pixel "*" is scanned (loop of S401 and S410, and loop of S402 and S409). In S403, the color information of the target pixel "*" and the three pixels in the window (right pixel, bottom right pixel, and bottom pixel) are compared to see if they match. If they match, in S406 all pixels in the window are determined to be "solid".

[0091] If the color information does not match in S403, and there are already determined pixels in the window in S404, the process proceeds to S405. If the determined pixels are "solid," then in S407, all determined pixels in the window are classified as "solid," and all others are classified as "non-solid." If there are no determined pixels in S404, or if the determined pixels in S405 are not "solid," the process proceeds to S408, where all pixels in the window are classified as "non-solid."

[0092] <Creating a color conversion table> A method for creating a color conversion table that reduces color degradation in S206 will be explained in detail using the flowchart in Figure 20. The process in Figure 20 is realized, for example, by the CPU 102 executing a program read from RAM 103. In this embodiment, the process of creating the color conversion table is shown as being performed by the image processing device 101, but it may also be performed by the recording device 108, or the processing may be shared between the image processing device 101 and the recording device 108.

[0093] In S501, the CPU 102 detects the color information of the first region set in S204. The detection process is repeated for each pixel of the image data in the first region, and is performed for all pixels included in the image data of the first region. In this embodiment, colors 601 and 602 in Figure 11(a) or Figure 11(b) are detected. The list of color information is initialized at the start of S501.

[0094] In S502, the CPU 102 detects the number of color combinations that exhibit color degeneration based on the color information list detected in S501. Here, as explained in S203, the combination of color 601 and color 602 is detected as degenerate.

[0095] In S503, the CPU 102 determines whether the number of color combinations exhibiting color degeneration is zero. If it is determined that the number of color combinations exhibiting color degeneration is zero (no color degeneration), the process proceeds to S504, and the CPU 102 determines that color degeneration correction is unnecessary for the image. In this case, the color conversion table is set to the color conversion table previously stored in the storage medium 104, which was used in S203. If it is determined that the number of color combinations exhibiting color degeneration is not zero (color degeneration exists), the process proceeds to S505, and the CPU 102 performs color degeneration correction.

[0096] Color degeneracy correction will cause color changes. As a result, color changes will occur even for color combinations that are not color degenerated, resulting in unwanted color changes. Therefore, the necessity of color degeneracy correction can be determined from the total number of color information list combinations and the number of color degeneracy combinations. Specifically, for example, if the number of color degeneracy combinations is more than half of the total number of combinations in the color information list, it may be determined that color degeneracy correction is necessary (i.e., color degeneracy correction is determined in S503). By doing so, the harmful effects of color changes caused by color degeneracy correction can be suppressed. For example, in Figures 11(a) and 11(b), bar graphs are shown for two colors, color 601 and color 602. If bar graphs for 10 colors are shown, the total number of combinations is 45. In that case, if the number of color degeneracy combinations is, for example, 23 or more, it may be determined that color degeneracy correction is necessary.

[0097] In S505, the CPU 102 performs color degeneration correction on color combinations that undergo color degeneration based on the image data, the image data after color conversion, and the color conversion table. As explained in Figure 12, the color difference ΔE705 between color 703 and color 704 is corrected to ΔE709 between color 707 and color 708, which is approximately the same as the color difference ΔE706. The color degeneration correction process is repeated for each color combination that undergoes color degeneration. The results of the color degeneration correction for each color combination are stored in a table, containing the color information before correction and the color information after correction. In Figure 12, the color information is in the CIE-L*a*b* color space. Therefore, the color information may be converted to the color space of the input image data and the output image data. In that case, the color information before correction in the color space of the input image data and the color information after correction in the color space of the output image data are stored in a table.

[0098] Furthermore, although Figure 12 shows the extension line between color 703 and color 704, this embodiment is not limited to this. The color difference ΔE709 between color 707 and color 708 can be in any direction in the CIE-L*a*b* color space, such as the lightness direction, chroma direction, or hue angle direction, as long as they are separated by a color difference ΔE706. Moreover, it can be not just one direction, but a combination of the lightness direction, chroma direction, and hue angle direction.In addition, although Figure 12 shows an example in which both color 703 and color 704 are corrected, it is also possible to correct only one of the colors to separate them by a color difference ΔE706.

[0099] In S506, CPU 102 modifies the color conversion table using the result of the degeneracy correction in S505. The original color conversion table is one that converts color 601 to color 703 and color 602 to color 704, as shown in Figures 11(a) and 11(b). Using the result of S505, it modifies the table to one that converts color 601 to color 707 and color 602 to color 708, as shown in Figure 11(a). On the other hand, if it is determined in S503 that no color degeneracy correction is needed, the process in S506 is not performed. In other words, the process in S503 can be rephrased as a process to determine whether or not to modify the color conversion table in S506. As described above, a color degeneracy correction-corrected table can be created. The modification of the color conversion table is repeated for each combination of colors that undergo color degeneracy.

[0100] <Modified form of the first embodiment> In this embodiment, the reduction process was described as extracting color information from the pixel at the centroid position within an 8x8 pixel block (the middle pixel in the case of odd-sized blocks, and the pixel touching the centroid in the case of even-sized blocks). However, the reduction process may also be performed by extracting representative color information within a block using a single pixel other than the block edges (the four corner pixels at the top left, bottom left, top right, and bottom right) used in the nearest neighbor method.

[0101] Furthermore, the method may involve extracting dominant color information from within a block, rather than just from pixels at predetermined positions within the block, or by using the mode or median of the pixel values ​​within the block. Specifically, color information from some pixels within a block, excluding the pixels at the edges (the four corners: top left, bottom left, top right, and bottom right), may be extracted.

[0102] Furthermore, while the block size was described as 8x8, it is not limited to that size; as long as M x N, both M and N are 3 or greater, it is acceptable. Also, as will be discussed later, the block size and the phase of the blocks in the input image data may or may not be synchronized with the switching position of the engine processing (band processing).

[0103] (When synchronizing with engine processing) This will be explained using an example of an input image consisting of solid areas of two color information sources 2101 and 2102, as shown in Figure 21(a). As mentioned above, engine processing is performed on a band-by-band basis, and the number of pixels in the sub-scan direction per band is generally a multiple of 8. Specifically, there are cases of 8 pixels, 16 pixels, 32 pixels per band, etc., but in this embodiment, we will describe the case of 8 pixels per band, and the boundary of 8 pixels per band will be shown as 2103. On the other hand, the input image may be a compressed image using block coding such as JPEG, and the compression block size is generally 8x8 pixels, and block noise occurs during compression in the compressed block 2104 at the boundary of the solid area.

[0104] If the phase of the pixel blocks is not synchronized with the switching position of the engine processing, specifically if the image area is reduced from a 16x32 pixel area represented by 8x8 pixel black squares starting from a position shifted by 2 pixels in the sub-scanning direction, a 2x4 pixel reduced image as shown in Figure 21(b) will be generated. The reduced image will have more than one pixel with block noise. In other words, the effect of block noise during compression extends to two pixels. Therefore, it becomes difficult to distinguish solid areas when setting areas using two adjacent pixels in this embodiment.

[0105] On the other hand, as shown in Figure 22(a), when the block phase is synchronized with the switching position of the engine processing, when a reduced image is generated, the number of pixels in the reduced image that produce block noise can be limited to one pixel, as shown by pixel 2202 in Figure 22(b). In other words, the effect of block noise during compression can be limited to one pixel. This makes it possible to suppress the difficulty in distinguishing solid areas when setting regions.

[0106] Specifically, the block size is set to either the Minimum Coded Unit (MCU) or the DCT processing unit if the input image is block-coded. Block coding methods include Hadamard compression coding using the Hadamard transform, DCT compression coding using the Discrete Cosine Transform (DCT), and DST compression coding using the Discrete Sine Transform (DST). If the subsampling structure between color components differs, such as in YUV, the block unit is set to either the MCU unit or the DCT processing unit. Alternatively, the block position is set to the same position as the image start position or the band processing start position.

[0107] (If not synchronized with engine processing) This will be explained using an example of an input image consisting of two color information points, 2301 (solid area) and 2302 (non-solid area), as shown in Figure 23(a).

[0108] As mentioned above, the number of pixels in the sub-scanning direction per band is generally a multiple of 8. In this embodiment, we describe the case of 8 pixels per band, and the boundary of 8 pixels per band is indicated as 2303. When the recording head sequentially scans in the main scanning direction with a time difference in band units, and the scanning direction alternates between left and right between scans, if the order of ink ejection from the recording head nozzles is asymmetrical, the order in which the ink is ejected onto the paper will differ, making it easy for density unevenness to occur between bands. Figure 23(b) shows the density unevenness after printing.

[0109] Furthermore, the color conversion method for solid areas and non-solid areas is switched at the block 2304 level. Specifically, since area 2305 is a solid area, graphic color processing is performed, and since area 2306 is a non-solid area, photographic color processing is performed. Therefore, if the phase of the blocks is synchronized with the switching position of the engine processing, i.e., at the band level, the boundary position 2307 of the band unevenness that occurs between bands and the switching boundary position 2308 of the color conversion method will coincide, which may cause density unevenness to be further emphasized.

[0110] On the other hand, by shifting the phase of the blocks by two pixels in the sub-scanning direction, as shown in Figure 24(a), the boundary position 2307 of the band unevenness after printing and the boundary position 2308 of the color conversion method switching can be shifted. As a result, the density unevenness changes in steps, and the emphasis on density unevenness can be suppressed.

[0111] Specifically, the block size shall be a value divisible by an integer fraction of the processing unit (band processing) on ​​the engine side. Alternatively, the block position shall be shifted in phase by a predetermined number of pixels from the image start position or the band processing start position, with the number of pixels being between 1 pixel and (block size - 1) pixels.

[0112] In this embodiment, the color conversion process was switched using a color profile for each solid and non-solid color area, but the color conversion process is not limited to this, and it may also be a process that replaces the color of the identified solid color area with a different spot color.

[0113] In this embodiment, the color information of image data that is identifiable by a human and discriminable at the output of the recording device 108 is defined as a region having a predetermined or larger area in a planar manner, and this region is set as color 601 and color 602. Therefore, for example, the horizontal line at the bottom of the bar graph in Figure 11(a) or Figure 11(b) is not detected, but since it is not the target for setting color degeneracy correction, it is not necessary to apply the modified color conversion table created above. Also, if the image data of S201 is Figure 11(b), as shown in Figure 15(b), colors 603 and 604 are not the first region used to generate the correction color conversion table, but rather the region adjacent to the first region (second region). And, as described above, since colors 603 and 604 are close to colors 601 and 602, colors 603 and 604 are also color-converted using the modified color conversion table above. In other words, the region to which the modified color conversion table is applied is the first region and the region including at least a part of the second region. In this way, by making the area used to generate the modified color conversion table different from the area to which the generated modified color conversion table is applied, it is possible to prevent unnecessary color degradation correction and obtain an optimal output image.

[0114] According to this embodiment, a first region and a second region are set. By setting each region, unnecessary color degradation correction can be prevented, and appropriate color conversion can be performed based only on the information of the region necessary for color degradation correction (i.e., the first region). As a result, a color conversion result suitable for the recording device 108 can be obtained for the entire image.

[0115] In this embodiment, the color information of image data that is identifiable by a person and discriminable in the output of the recording device 108 is defined as a region having a predetermined area in a planar manner, with the condition that two or more pixels with the same color information are consecutive vertically and two or more pixels are consecutive horizontally. However, the number of consecutive pixels vertically and horizontally may be set according to the output resolution of the recording device 108 and the visual characteristics of the person viewing the output of the recording device 108. As a result, it becomes possible to set the first region more optimally. Furthermore, the user of the recording device 108 may specify the setting conditions for the first region from the user interface (UI) of the recording device 108 or from the information attached to the original data. As a result, it becomes possible to reflect the user's intentions in the setting conditions for the first region.

[0116] Furthermore, in this embodiment, a color conversion table previously stored in the storage medium 104 is used to create the color conversion table, and the color conversion table is created in the same format as that color conversion table. For example, in the color conversion in S202, instead of using the color conversion table stored in the storage medium 104, the color may be converted according to a predetermined rule to convert the color relative to the color reproduction range of the recording device 108 from the color reproduction range of the acquired image data. As a result, it is not necessary to store a color conversion table in the storage medium 104 in advance, and the storage capacity can be reduced. Also, in setting the color conversion method in S204, instead of creating a color conversion table, the color information before and after color conversion may be set in a 1:1 correspondence (so-called dictionary format), or it may be set using a calculation formula if it can be approximated by a calculation formula. As a result, the storage capacity required to store the color conversion method can be reduced compared to using a color conversion table.

[0117] [Second Embodiment] The second embodiment will now be described in terms of its differences from the first embodiment. In the first embodiment, a method for enlarging a low-resolution mask image using the nearest neighbor method was described. However, when an image is reduced in size, the region boundaries on the image are rounded off due to the reduction process. Therefore, the region boundaries in the low-resolution analysis image and the region boundaries in the high-resolution image before reduction do not necessarily coincide. When the boundaries do not coincide, depending on the color conversion table applied to the pixels around the boundary, a large difference may occur between the color conversion results inside and outside the boundary, which may be perceived as an image artifact.

[0118] <Expansion Processing Flow> Figure 25 is a flowchart showing the mask image enlargement flow in this embodiment, corresponding to the process at S205 in Figure 5. The process in Figure 25 is realized, for example, by the CPU 102 executing a program read from RAM 103.

[0119] In S601, the CPU 102 enlarges the mask image created by low-resolution analysis (hereinafter referred to as the low-resolution mask image). Here, as in the first embodiment, one pixel of the low-resolution mask image is enlarged to 8x8 pixels. This results in a mask image with the same resolution as the input image (hereinafter referred to as the mask image). At this point, the region setting information, which is the pixel value of the 8x8 pixel pixel block, is set to the same value for all of them.

[0120] In Figure 26(a), pixel blocks 2401 and 2402 are 8x8 pixel blocks. Here, as explained in Figure 7(c) above, we assume a reduction in size where pixels near the center of the block are extracted as representative pixels. Pixel 2403 is the pixel position extracted as a representative pixel in pixel block 2401, and pixel 2404 is the pixel position extracted as a representative pixel in pixel block 2402.

[0121] In other words, in S601, the region setting information, which is the pixel value of the low-resolution mask image obtained by analyzing the pixel at the position of pixel 2403, is expanded to 8x8 pixels to form pixel block 2401. Similarly, the pixels of the low-resolution mask image obtained by analyzing the pixel at the position of pixel 2404 are expanded to 8x8 pixels to form pixel block 2402.

[0122] In Figure 26(a), pixel block 2402 has solid area setting information, and subsequently the solid area color conversion table, which is the first color conversion of this embodiment, is applied. Pixel block 2401 has non-solid area setting information, and subsequently the non-solid area color conversion table, which is the second color conversion of this embodiment, is applied.

[0123] In S602, the CPU 102 scans the low-resolution mask image to acquire two adjacent pixels. In this embodiment, the CPU 102 selects the top-left pixel as the pixel of interest and sequentially scans the pixel of interest to the right to acquire two adjacent pixels. The two adjacent pixels are the pixel of interest and the pixel to its right, the pixel of interest and the pixel below it, and the pixel of interest and the pixel to its lower right. After scanning to the rightmost pixel, the CPU 102 scans the line one pixel below again from the left edge. If the position of the pixel of interest is at the edge of the image and adjacent pixels cannot be acquired, the acquisition is skipped.

[0124] In this embodiment, the CPU 102 scanned horizontally, but is not limited to this. For example, the CPU 102 may scan vertically. Alternatively, the CPU 102 may sequentially scan both horizontally and vertically. In the processing described later in this embodiment, the order of scanning does not affect the result. Furthermore, the CPU 102 may sequentially scan diagonally in addition to horizontally and vertically.

[0125] In S603, CPU102 determines whether the region setting information, which is the pixel value of two adjacent pixels acquired in S602, is different. This corresponds to comparing two adjacent blocks in a block-by-block manner in terms of the resolution of the input image.

[0126] CPU102 proceeds to S604 if it determines that the region setting information of two adjacent pixels obtained in S602 is different, and to S607 if it determines that they are the same. If the region setting information of two adjacent pixels is different, it is necessary to perform processing from S604 onwards because it is an object switch.

[0127] In S604, the CPU 102 obtains the positions of two adjacent pixels on the input image that correspond to the positions of two adjacent pixels on the low-resolution mask image obtained in S602. In this embodiment, since the reduction process described in Figure 7(c) of the first embodiment is applied, the CPU 102 obtains the positions of the pixels extracted on the input image, specifically the fixed position of the 8x8 pixel coordinate (X,Y=3,3) with the top left being (X,Y=0,0).

[0128] <Setting a buffer area> In S605, the CPU 102 sets the buffer region in the mask image according to this embodiment.

[0129] Figure 26(b) is a diagram illustrating the buffer region in this embodiment. Pixels 2403 and 2404 in Figure 26(b) are pixels used in the analysis and are representative pixels picked up during the reduction process. Pixel block 2401 is a portion determined to be non-solid in the analysis, and its region setting information is non-solid, shown in white in the figure. Pixel block 2402 is a portion determined to be solid in the analysis, and its region setting information is solid, shown in gray in the figure.

[0130] As explained in S601, pixel block 2401 is a pixel block obtained by enlarging the pixels of pixel 2403 to 8x8 pixels, and the area setting information is the same as pixel 2403, non-solid. Similarly, pixel block 2402 is a pixel block obtained by enlarging the pixels of pixel 2404 to 8x8 pixels, and the area setting information is the same as pixel 2404, non-solid.

[0131] In S605, the CPU 102 sets the area of ​​the shaded region 2405 as a buffer region. The buffer region 2405 is located inward toward the boundary between pixels 2403 and 2404, and does not include pixels 2403 and 2404. This is because, during analysis, pixels 2403 and 2404, which were pixels in a low-resolution image, are determined to be a non-solid area for pixel 2403 and a solid area for pixel 2404.

[0132] However, in analysis of low-resolution images, it is not possible to determine at which pixel between pixel 2403 and pixel 2404 the transition between solid and non-solid areas occurs in the input image resolution. Therefore, in this embodiment, the area between pixel 2403 and pixel 2404 is designated as a buffer region. In this embodiment, when the solid area is designated as the first region and the non-solid area as the second region, the buffer region becomes the third region, and the position of the buffer region is set in units finer than block units such as pixel blocks 2401 and 2402. This allows for processing at a higher resolution than when region settings are made on a block basis.

[0133] In S606, CPU 102 determines the color conversion of the buffer region. Figure 26(c) shows the same coordinates as Figures 26(a) and 26(b). CPU 102 modifies the pixels of the mask image so that the region setting information for the buffer region set above is arranged in a staggered pattern of non-solid and solid colors. By using a staggered pattern, calculations such as alpha blending, which will be described later, can be omitted, enabling high-speed processing with only 1 bit of memory required per pixel, thus reducing memory consumption.

[0134] To explain the effects of this embodiment, we will first use Figure 26(a) as a mask image and describe an example of the prior art. As described above, since the analysis is performed in pixel block units with pixels 2403 and 2404 as representative values, pixel block 2401 is used as region setting information for the non-solid area and pixel block 2402 is used for the solid area.

[0135] Figures 28(a) and 28(b) show portions of the input image. Object 2501 in Figure 28(a) is a photographic object containing gradients and natural images, while object 2502 is a graphics object filled with a single color.

[0136] Pixel block 2401 is treated as a non-solid area and a color conversion table for non-solid areas is applied, while pixel block 2402 is treated as a solid area and a color conversion table for solid areas with high color discrimination and high saturation is applied. In this case, range 2503 should ideally have the high-saturation color conversion table applied, but the non-solid area color conversion table is applied instead. As a result, range 2503 becomes a different color from the high-saturation pixel block 2402, and an outline that is not originally present on the object appears.

[0137] On the other hand, in this embodiment, where Figure 26(c) is used as the mask image, the range 2503 is set as a buffer region. The region setting information for the buffer region is a staggered arrangement that switches between non-solid and solid areas on a pixel-by-pixel basis. Because the staggered arrangement has a high spatial frequency, it has low visual sensitivity characteristics for humans. Humans cannot distinguish colors that are too high in frequency, and perceive the average color of those pixels as visual. In other words, macroscopically, it becomes an intermediate color between the color to which the non-solid color conversion table is applied and the color to which the solid color conversion table is applied. An intermediate color can be rephrased as the brightness and saturation when the non-solid color conversion table is applied and when the solid color conversion table is applied falling in between. It should be noted that the effect is not limited to a staggered arrangement, and a similar effect can be obtained by performing a switch with a high spatial frequency. At least by switching at a unit finer than a pixel block, the frequency becomes higher than switching at the pixel block level, and the effect can be obtained. In addition, by applying halftone processing (for example, quantization by dither matrix) afterward, the high-frequency color differences here become difficult for humans to perceive.

[0138] As described above, in this embodiment, by providing a buffer region, the color difference between range 2503 and pixel block 2402 is reduced, thereby mitigating the aforementioned fringing.

[0139] Figure 28(b) shows an example where the coordinates of the boundary between photographic object 2501 and graphics object 2502 are to the right compared to Figure 28(a). As described above, we will first explain an example of the conventional technique using Figure 26(a) as a mask image.

[0140] Pixel block 2401 is treated as a non-solid area and a color conversion table for non-solid areas is applied, while pixel block 2402 is treated as a solid area and a high-luminance color conversion table for solid areas is applied. In this case, range 2504 should ideally be treated with the color conversion table for non-solid areas, but instead, a high-saturation color conversion table for solid areas is applied. As a result, the range of pixel 2504 becomes a highly saturated color different from the hue of pixel block 2401, and an outline that is not originally present in the photographic object appears.

[0141] On the other hand, in this embodiment, where Figure 26(c) is used as the mask image, range 2504 is set as a buffer region. Macroscopically, the buffer region is an intermediate color between the color obtained by applying the non-solid color conversion table and the color obtained by applying the solid color conversion table. Therefore, the difference in hue between range 2504 and pixel block 2401 is reduced, and the above-mentioned border can be mitigated.

[0142] The above described the lateral buffering area.

[0143] Here, we will also explain the buffering areas in the vertical and diagonal directions using Figures 29(a) to 29(c).

[0144] The pixel blocks 2601, 2602, 2603, and 2604 shown in Figure 29(a) are 8x8 pixel blocks. The pixels indicated by dashed lines are the pixel positions used in the analysis as representatives of each block. In the analysis, only pixel block 2602 was determined to be a solid area. In this case, the CPU 102 sets buffer area 2605 in Figure 29(b) as the buffer area.

[0145] The representative pixels of pixel blocks 2601, 2603, and 2604, indicated by dashed lines, were determined to be non-solid areas in the analysis, and their region setting information is non-solid. Therefore, the left and bottom sides including the representative pixel positions are considered non-solid areas. The representative pixel of pixel block 2602, indicated by dashed lines, was determined to be a solid area in the analysis, and its region setting information is solid. Therefore, the right and top sides including the representative pixel positions are considered solid areas. The pixels between the non-solid pixel blocks and the solid pixel blocks, excluding each representative pixel position, are designated as buffer regions.

[0146] Then, the mask image is rewritten from Figure 29(a) to Figure 29(c). As mentioned above, by using a staggered arrangement, the macroscopic result is an intermediate color between the color obtained by applying the non-solid color conversion table and the color obtained by applying the solid color conversion table. This prevents abrupt color changes within objects when arranging objects at a pixel level, which is finer than block levels.

[0147] In S607, the CPU 102 determines whether scanning has been completed for all pixels. If the last pixel has been reached, the magnification process shown in Figure 25 is terminated; otherwise, the process returns to S602 to proceed to the next pixel.

[0148] [Modification 1 of the second embodiment] In the above example, the buffer regions were arranged in a staggered pattern, but this is not always the case. Figure 27(a) is a mask image, similar to Figure 26(c). As explained in Figure 26(c), the analysis determined that the 8x8 pixel blocks of pixel block 2401 are non-solid areas, and the 8x8 pixel blocks of pixel block 2402 are solid areas, and the respective region setting information was configured.

[0149] Figure 27(a) shows a mask where the left side of the buffer region (located at buffer region 2405 in Figure 26(b)) has more non-solid color pixels, and the right side has more solid color pixels. This allows for a gradual transition between the colors to which the non-solid color conversion table is applied and the colors to which the solid color conversion table is applied, preventing abrupt color changes within the object.

[0150] [Modification 2 of the second embodiment] In the above example, the color conversion table for non-solid colors and the color conversion table for solid colors were switched on a pixel-by-pixel basis within the buffer region, but this is not the only method. Similar effects can be obtained by weighting the blending based on distance and using alpha blending.

[0151] Furthermore, the mask image in this case must be in a data format that can handle multiple values, such as 8-bit, 16-bit, or 32-bit, rather than being binary.

[0152] In S606, CPU102 determines the color conversion method for the buffer area as follows:

[0153] Figure 27(b) is a mask image, similar to Figures 26(c) and 27(a). As explained in Figure 26(c), the analysis determined that the 8x8 pixel block of pixel block 2401 is a non-solid area, and the 8x8 pixel block of pixel block 2402 is a solid area.

[0154] The numerical values ​​within a pixel represent the proportion (weight) of the solid color conversion table. That is, a pixel labeled 1 / 8 has a proportion of 1 / 8 in the solid color conversion table and a proportion of 7 / 8 in the non-solid color conversion table. When the results of applying the non-solid color conversion table to the RGB values ​​of a pixel are denoted as Rp, Gp, and Bp, and the results of applying the solid color conversion table are denoted as Rg, Gg, and Bg, the results of applying the color conversion to that pixel, Rr, Gr, and Br, can be determined as follows.

[0155] Rr = Rp*(1-1 / 8)+Rg*1 / 8 ···(20) Gr = Gp*(1-1 / 8)+Gg*1 / 8 ···(21) Br = Bp*(1-1 / 8)+Bg*1 / 8 ···(22) As shown in Figure 27(b), the left side of the buffer area has a larger proportion of non-solid areas, and the proportion of solid areas increases as you move to the right. This allows for a gradual transition between the colors to which the non-solid color conversion table is applied and the colors to which the solid color conversion table is applied, preventing abrupt color changes within the object.

[0156] [Modification 3 of the second embodiment] In the above, the buffer region was defined as the area from the representative pixel position analyzed in an adjacent pixel block to the representative pixel position of the adjacent pixel block (excluding the representative pixel position itself), but this is not always the case.

[0157] Figure 27(c) is a mask image, similar to Figures 26(c), 27(a), and 27(b). As explained in Figure 26(c), the analysis determines that the 8x8 pixel blocks of pixel block 2401 are non-solid areas, and the 8x8 pixel blocks of pixel block 2402 are solid areas. The area from the pixel to the right of the leftmost pixel of pixel block 2401 to the pixel to the left of the rightmost pixel of pixel block 2402 is designated as a buffer region, and the non-solid color conversion table and the solid color conversion table are switched in a staggered arrangement.

[0158] This makes it possible to prevent abrupt color changes over a wider range than described above, even for complex shapes that are not divided by straight lines like rectangles. However, since there is a high probability that the area to the left of pixel 2403 is not solid color and the area to the right of pixel 2404 is solid color, intermediate colors will be used in those areas instead of the color conversion tables intended for non-solid and solid colors, respectively. Nevertheless, the leftmost pixel in pixel block 2401 and the rightmost pixel in pixel block 2402 can be color-converted to the correct values, and the effects of this embodiment can be obtained for these pixels.

[0159] The leftmost pixel of pixel block 2401 and the rightmost pixel of pixel block 2402 can also be described as the pixels furthest from their adjacent positions within the block, and in this modified example, these pixels are not included in the buffer area. In other words, the buffer area is defined in units smaller than the size of the pixel block.

[0160] [Modification 4 of the second embodiment] In the above example, the representative pixel position used for analysis was fixed, but the effect can also be obtained even if the position is variable. Figure 30 illustrates the case where the representative pixel position is not fixed. Pixel blocks 2701, 2702, 2703, and 2704 shown in Figure 30(a) are 8x8 pixel blocks. The pixels indicated by dashed lines are the pixel positions used for analysis as representatives of each block. In the analysis, only pixel block 2702 is determined to be a solid area. In this case, the CPU 102 sets buffer region 2705 in Figure 30(b) as the buffer region.

[0161] The representative pixels of pixel blocks 2701, 2703, and 2704 have been determined to be non-solid areas through analysis. Therefore, the left and bottom areas including the representative pixel positions are considered non-solid areas. The representative pixel of pixel block 2702 has been determined to be a solid area through analysis. Therefore, the right and top areas including the representative pixel are considered solid areas. Then, the pixels that do not contain each representative pixel between the non-solid pixel blocks and the solid pixel blocks are designated as buffer regions. Finally, the mask image is rewritten from Figure 30(a) to Figure 30(c).

[0162] As mentioned above, by using a staggered arrangement, the macroscopic result is an intermediate color between the color obtained by applying the non-solid color conversion table and the color obtained by applying the solid color conversion table. This prevents abrupt color changes within the object.

[0163] [Third Embodiment] The third embodiment will now be described in terms of its differences from the first and second embodiments. In the first embodiment, a method for enlarging a low-resolution mask image using the nearest neighbor method was described. However, when an image is reduced in size, the region boundaries on the image are rounded off by the reduction process. Therefore, the region boundaries in the low-resolution mask image and the region boundaries in the input image before reduction do not necessarily coincide. When the boundaries do not coincide, depending on the intensity of the color conversion process applied to the pixels around the boundary, a large difference may occur between the color conversion results inside and outside the boundary, which may be perceived as an image artifact.

[0164] In the second embodiment, when enlarging adjacent pixels having different region setting information, a buffer region was set and the different region setting information was arranged in a staggered pattern. In this embodiment, when enlarging adjacent pixels having different region setting information, the color conversion intensity of the color conversion process is set, and the region setting information of the pixel with the lower color conversion intensity is enlarged to a wider range than that of the pixel with the higher color conversion intensity. As a result, the number of pixels to which the color conversion process with the lower color conversion intensity is applied increases, thus reducing the cases that are recognized as image defects. In other words, the possibility of image defects due to boundary mismatch can be reduced with a different enlargement processing method than in the second embodiment.

[0165] Figure 31 is a flowchart showing the expansion process in the third embodiment. The process in Figure 31 is realized, for example, by the CPU 102 executing a program read from RAM 103.

[0166] In S701, the CPU 102 enlarges the low-resolution mask image to the size of the input image before reduction to generate a mask image of the input resolution, and stores it in an output array. In this embodiment, the CPU 102 applies the enlargement process described in the first embodiment and obtains an input resolution mask image enlarged using the nearest neighbor method.

[0167] In S702, the CPU 102 sets the color conversion intensity for each type of color conversion process. In this embodiment, the color conversion intensity for each color conversion process is calculated using the flowchart shown in Figure 32.

[0168] Figure 32 is a flowchart showing the process for calculating the color conversion intensity for a color conversion process. The assumed color conversion processes can be broadly classified into those applied based on the relationship between input and output values, such as tone curves and LUTs, and those applied by convolution using filters. In this embodiment, in both cases, color conversion intensity is defined as the amount of change before and after color conversion. However, since there are differences in the specific calculation methods for the color conversion intensity of the two color conversion processes, the color conversion intensity calculation processes for each will be explained.

[0169] Figure 32(a) is a flowchart showing the color conversion intensity calculation process when dealing with color conversion processing applied based on the relationship between input and output values. Note that the color conversion processing referred to here is assumed to be a process that converts the brightness, saturation, hue, contrast, sharpness, etc., of an image.

[0170] In S801, the CPU 102 obtains one pixel value included in the input range for the target color conversion process. In S802, the CPU 102 applies the target color conversion process using the value obtained in S801 as input. In S803, the CPU 102 calculates the absolute difference between the values ​​before and after applying the color conversion process in S802.

[0171] In S804, the CPU 102 determines whether the processing in S803 has been completed for one or more predetermined values ​​included in the input range of the color conversion process. In this embodiment, the CPU 102 determines whether the processing in S803 has been completed for all values ​​in the input range. If the CPU 102 determines that the processing has been completed, it moves to S805; if it determines that the processing has not been completed, it moves to S801. In S805, the CPU 102 calculates the average value of the values ​​calculated in S803 and outputs the calculation result as the intensity of the color conversion process.

[0172] Here, Figure 33(a) illustrates the color conversion intensity when a color conversion process is applied based on the relationship between input and output values. Color conversion processes 3001 to 3003 each show the relationship between input and output in different color conversion processes. Note that the target color conversion process may also be a 3D color conversion process using a 3D LUT, etc., but for the sake of explanation, Figure 33(a) illustrates a 1D color conversion process as an example.

[0173] Color conversion process 3001 has a high color conversion intensity because the difference between the input and output is large. Color conversion process 3002 has a lower color conversion intensity than color conversion process 3001 because the difference between the input and output is smaller. Color conversion process 3003 has a color conversion intensity of zero because the input and output match.

[0174] Figure 32(b) is a flowchart showing the color conversion intensity calculation process when the conversion process applied by convolution using a filter is targeted. Note that the color conversion process here refers to a process that converts the sharpness of an image.

[0175] In S811, the CPU 102 obtains the filter coefficients for the target color conversion process. In S812, the CPU 102 calculates the absolute difference between the filter coefficients obtained in S811 and the filter coefficients of the through filter at the same position. For example, if the target filter size is 3x3, the absolute difference of a total of nine coefficients is calculated. A through filter is a filter that outputs the input data as is, and in an NxN size filter, only the center coefficient is 1, and the other coefficients are 0. By looking at the absolute difference with the through filter, the amount of change that the filter has on the input can be seen. In S813, the CPU 102 calculates the average value of the values ​​calculated in S812 and outputs the calculation result as the intensity of the color conversion process.

[0176] Here, Figure 33(b) illustrates the color conversion intensity when considering color conversion processing applied by convolution with a filter. Color conversion processes 3011 to 3013 show the filter coefficients for different color conversion processes. For the sake of explanation, Figure 33(b) illustrates a 3x3 size filter as an example.

[0177] Color conversion process 3011 is a pass-through filter, so its color conversion intensity is 0. Color conversion process 3012 shows a large difference from the pass-through filter, with an intensity of approximately 1.8. Color conversion process 3013 shows a smaller difference from the pass-through filter compared to 3012, with an intensity of approximately 0.9. In other words, the color conversion intensity of color conversion process 3013 is lower than that of color conversion process 3012.

[0178] In this embodiment, since color conversion processing is performed using gamut mapping with a color conversion table, a color conversion intensity calculation process is applied when targeting a color conversion process that is applied based on the relationship between input and output values ​​shown in Figure 32(a). In this embodiment, the color conversion intensity is calculated as part of the scaling process, but the timing of the color conversion intensity calculation is not limited to this. For example, the CPU 102 may calculate the color conversion intensity of each color conversion process as part of the initialization process when the processing in Figure 3 starts. Alternatively, the developer / designer may store the color conversion intensity calculated during the development / design stage in the storage medium 104 in a manner linked to each color conversion process.

[0179] Furthermore, while the color conversion intensity was calculated in this embodiment, the method for setting the color conversion intensity is not limited to this. For example, developers and designers may pre-associate color conversion intensity with each color conversion process as part of their development and design activities. Alternatively, an unillustrated UI may be provided that allows users to specify the intensity for each color conversion process, and the user may specify the color conversion intensity through this UI.

[0180] The above describes the color conversion intensity calculation process in this embodiment.

[0181] Returning to the explanation of Figure 31, in S703, the CPU 102 scans the low-resolution mask image to acquire two adjacent pixels. In this embodiment, the CPU 102 scans the pixels from the top left pixel to the right to acquire two adjacent pixels. After scanning to the two adjacent pixels at the right edge, the CPU 102 scans the line one pixel below again from the left edge.

[0182] In this embodiment, the CPU 102 scanned horizontally, but it is not limited to this. For example, the CPU 102 may scan vertically. Alternatively, the CPU 102 may sequentially scan both horizontally and vertically. In the processing described later in this embodiment, the order of scanning does not affect the result. In addition, the CPU 102 may sequentially scan diagonally as well as horizontally and vertically.

[0183] In S704, the CPU 102 determines whether the region setting information of two adjacent pixels obtained in S703 is different. If the CPU 102 determines that the region setting information of the two adjacent pixels is different, it moves to S704; otherwise, it moves to S709.

[0184] In S705, the CPU 102 obtains the positions of two adjacent pixels on the input image that correspond to the positions of two adjacent pixels on the low-resolution mask image obtained in S703. In this embodiment, since the low-resolution mask image is generated by the reduction process described in S202 of the first embodiment, the CPU 102 obtains the positions of pixels extracted on the input image that was subjected to the reduction process (pixel positions at the input resolution).

[0185] In S706, CPU102 determines whether the pixel positions at the two input resolutions acquired in S705 are adjacent or not. If they are not adjacent, CPU102 moves to S707; if they are adjacent, it moves to S709.

[0186] In S707, the CPU 102 refers to the color conversion intensity set in S701 for each color conversion process corresponding to two adjacent pixels on the low-resolution mask image acquired in S703, and selects the pixel with the lower color conversion intensity. If both color conversion intensities are equal, the CPU 102 may select either pixel. For example, it may be predetermined which pixel to select.

[0187] In S708, CPU102 overwrites the region between the two input resolution pixel positions acquired in S705 on the input resolution mask image enlarged in S701 with the region setting information of the pixel selected in S707.

[0188] In S709, the CPU 102 determines whether all pixels in the low-resolution mask image have been scanned in all directions as performed in S703. If scanning is complete, the CPU 102 terminates the scaling process shown in Figure 31 and outputs the input resolution mask image. If scanning is not complete, it moves to S703 and scans the next two adjacent pixels.

[0189] Here, Figure 34 is a diagram that supplements the explanation of the enlargement process shown in Figure 31. Ranges 3111 to 3114 indicate the types of ranges in Figure 34. Range 3111 indicates the range of one pixel. Range 3112 indicates the range on the input resolution image corresponding to one pixel in the low-resolution image, and corresponds to a pixel block. In this embodiment, the block is an M×M pixel square range, but the block size is not limited to this and may be an M×N pixel rectangular range. Range 3113 indicates the pixel position on the input resolution image corresponding to the position of each pixel on the low-resolution image 3101. Range 3114 indicates the range of pixels located between the two input resolution pixel positions acquired in S705. Range 3114 is also the range that is overwritten in the processing of S708 in this embodiment.

[0190] Pixels 3115 to 3117 indicate the types of pixels in Figure 34. Pixel 3115 indicates a pixel with a lower color conversion intensity in the corresponding color conversion process compared to pixel 3116. Pixel 3116 indicates a pixel with a higher color conversion intensity in the corresponding color conversion process compared to pixel 3115. Pixel 3117 indicates a pixel that was overwritten by pixel 3115 in S708.

[0191] Images 3101 to 3106 show examples of input and output images for the magnification process in this embodiment. Image 3101 shows a low-resolution mask image with region setting information, which is the input for the S701 process. Image 3102 shows the input resolution mask image output by the S701 process when image 3101 is used as input. Images 3103 to 3106 show the input resolution mask images after being overwritten by the S708 process when image 3102 is used as input. Image 3103 shows the input resolution mask image after the S708 process when scanned horizontally in S703. Image 3104 shows the input resolution mask image after the S708 process when scanned vertically in S703. Image 3105 shows the input resolution mask images after the S708 process when scanned horizontally and vertically in S703. Image 3106 shows the input resolution mask image after processing in S708, when scanning is performed in the diagonal direction in addition to the horizontal and vertical directions in S703. In this embodiment, since scanning is performed in the horizontal direction in S703, the input resolution mask image shown in Image 3103 is output.

[0192] As shown in Figure 34, in this embodiment, when two adjacent pixels having different region setting information are enlarged, the region setting information with the lower color conversion intensity is set for a portion of the block (sub-region) adjacent to the boundary of the block corresponding to the two adjacent pixels.

[0193] The above describes the enlargement process in this embodiment. According to this embodiment, when enlarging two adjacent pixels having different region setting information, the region setting information with the lower color conversion intensity is enlarged more broadly. Therefore, by reliably applying the color conversion process with the lower color conversion intensity to the boundary area on the input image, the difference in hue at the boundary area can be reduced, thus reducing the possibility of it being perceived as an image defect compared to the case where it is uncertain which color conversion process will be applied.

[0194] [Modification 1 of the third embodiment] In this embodiment, the enlargement process enlarges the pixel with the weaker color conversion intensity among two adjacent pixels, but additional processing may be added to determine whether or not to perform the enlargement.

[0195] Figure 35 is a flowchart illustrating the enlargement process in this modified example. Note that the processes in this flowchart that are numbered the same as those in the flowchart of Figure 31 are the same processes described in the third embodiment, and therefore their explanation is omitted here.

[0196] In S901, the CPU 102 determines whether the color of the input image at the pixel position on the input image acquired in S705 that corresponds to the pixel not selected in S707 is achromatic or not. In this embodiment, the CPU 102 determines that the pixel is achromatic if the pixel value is R=G=B, and not achromatic otherwise. Note that the values ​​may be given a certain range. For example, it may be determined to be achromatic if the following conditions are met.

[0197] Abs(R-G) <offset Abs(G-B) <offset Abs(B-R) <offset Here, Abs is a function that calculates the absolute value, and offset is an arbitrary value that allows for a difference in RGB values ​​to be considered gray. CPU102 moves to S708 if it is achromatic, and to S709 if it is not achromatic.

[0198] As explained above, according to this modification, the region setting information of the pixel with the lower color conversion intensity is expanded only when the pixel with the higher color conversion intensity is achromatic. As a result, when the intensity of each color conversion process on achromatic pixels is sufficiently low, there is little difference in the amount of change caused by the two color conversion processes, thus suppressing image defects more safely. In this modification, it is more desirable that the intensity of each color conversion process on achromatic pixels is zero.

[0199] Furthermore, the method for determining whether or not to perform magnification is not limited to this. For example, the CPU 102 may determine whether the color conversion intensity of the color conversion process corresponding to the pixel selected in S707 is below a predetermined threshold before processing S708, and may control the system to perform processing S708 only if the color conversion intensity is below a predetermined value. In this case, the decision to perform processing S708 can be made by considering not only the relative intensity of the two target color conversion processes, but also the absolute intensity of the color conversion process. In other words, the magnification process of S708 can be executed only when the intensity of the color conversion process is absolutely low, thus more reliably reducing the possibility of image defects.

[0200] [Modification 2 of the third embodiment] In the third embodiment, the color conversion intensity was set for each type of color conversion process, but the method for setting the color conversion intensity is not limited to this. The color conversion intensity setting process may calculate the amount of change due to the color conversion process when the target pixel is input and set it as the color conversion intensity. In other words, the color conversion intensity may be set dynamically depending on the input image, rather than being set statically regardless of the input image.

[0201] Figure 36 is a flowchart illustrating the enlargement process in this modified example. Note that the processes in this flowchart that are numbered the same as those in the flowchart of Figure 31 are the same processes described in Figure 31, and therefore their explanation is omitted here.

[0202] In S1101, the CPU 102 calculates and sets the color conversion intensity for each type of color conversion process corresponding to the two adjacent pixels acquired in S703 for the target pixel. In this modified example, the color conversion intensity for each color conversion process for the target pixel is calculated using the flowchart shown in Figure 37.

[0203] Figure 37 is a flowchart showing the color conversion intensity calculation process for the target pixels of the color conversion process. The process in Figure 37 is implemented, for example, by the CPU 102 executing a program read from RAM 103. Note that among the processes in this flowchart, those numbered the same as those in the flowchart of Figure 32 perform the same processes as those described in Figure 32, and therefore their explanation is omitted here.

[0204] Figure 37(a) is a flowchart showing the color conversion intensity calculation process for a target pixel when the color conversion process is applied based on the relationship between the input and output values.

[0205] In S1201, CPU102 sets the pixel range to be used for calculating the color conversion intensity.

[0206] Here, Figure 38 is a diagram illustrating the setting of the target pixel range. Ranges 3511 to 3514 indicate the types of ranges in Figure 38. Range 3511 indicates the range of one pixel. Range 3512 indicates the range on the input resolution image corresponding to one pixel in the low-resolution image. Range 3513 indicates the pixel position on the input resolution image corresponding to the position of one pixel in the low-resolution image. Range 3514 indicates the pixel range to be used for calculating the color conversion intensity set in processing S1201.

[0207] Ranges 3501 to 3506 are diagrams representing the range of target pixels set in S1201 for different cases. Ranges 3501 to 3503 represent the case where the target pixels are the group of pixels located between the two input resolution pixel positions acquired in S705 of Figure 31. Range 3501 represents the range of target pixels when scanning horizontally in S703 of Figure 31. Range 3502 represents the range of target pixels when scanning vertically in S703 of Figure 31. Range 3503 represents the range of target pixels when scanning diagonally in S703 of Figure 31.

[0208] In this modified example, the CPU 102 targets the group of pixels located between the two input resolution pixel positions acquired in S705 of Figure 31. Furthermore, in this modified example, since scanning is performed horizontally in S703 of Figure 31, the range of target pixels is set as shown in range 3501.

[0209] Note that the method for setting the target pixel range is not limited to this. For example, the CPU 102 may set the group of pixels on the line connecting the two input resolution pixel positions acquired in S705 of Figure 31 as the target pixels. Ranges 3504 to 3506 represent the case where the group of pixels on the line connecting the two input resolution pixel positions acquired in S705 of Figure 31 is set as the target pixels. Ranges 3504 to 3506 also represent the range of target pixels when scanning in the horizontal, vertical, and diagonal directions in S703 of Figure 31, respectively. By setting the range of target pixels as shown in ranges 3504 to 3506, a smaller range of target pixels can be set, thereby reducing the time required for color conversion intensity calculation.

[0210] Returning to the explanation of Figure 37(a), in S1202, the CPU 102 obtains one pixel value from the target pixel range set in S1201. In S1203, the CPU 102 determines whether the processing in S803 has finished for all pixels in the target pixel range. If the CPU 102 determines that it has finished, it moves to S805; if it determines that it has not finished, it moves to S1202.

[0211] Figure 37(b) is a flowchart showing the color conversion intensity calculation process for a target pixel when the conversion process applied by convolution using a filter is the target.

[0212] In S1211, the CPU 102 selects one pixel from the target pixel range set in S1201. In S1212, the CPU 102 applies the filter processing of the target color conversion process to the pixel selected in S1211. In S1213, the CPU 102 calculates the absolute difference between the pixel value of the pixel selected in S1211 and the filter processing result obtained in S1212. In S1214, the CPU 102 determines whether the processing in S1213 has been completed for all pixels within the target pixel range set in S1201. If the CPU 102 determines that the processing has been completed, it moves to S1215; otherwise, it moves to S1211. In S1215, the CPU 102 calculates the average value of the values ​​calculated in S1213 and outputs the calculation result as the intensity of the color conversion process.

[0213] In this modified example, since color conversion processing is performed using gamut mapping with a color conversion table, the color conversion intensity calculation process is applied when targeting a color conversion process that is applied based on the relationship between input and output values ​​shown in Figure 37(a).

[0214] The above describes the color conversion intensity calculation process and the scaling process in this modified example. As described above, according to this modified example, when scaling two adjacent pixels having different region setting information, the color conversion intensity can be set for the pixels within the range of the target pixels corresponding to the two adjacent pixels. Therefore, a color conversion process with a weaker intensity can be reliably applied to the target pixels.

[0215] [Fourth Embodiment] The fourth embodiment will now be described in terms of its differences from the first to third embodiments. In the second and third embodiments, different magnification methods were described for magnifying adjacent pixels having different region setting information. According to the magnification method described in the second embodiment, by switching the applied color conversion process at a microscopic level (pixel level), the color conversion process can be switched in stages macroscopically, thereby reducing the difference in hue at the boundaries. According to the magnification method described in the third embodiment, by applying a color conversion process with low color conversion intensity to the boundaries, the difference in hue at the boundaries can be reduced. According to the magnification method described in Modification 1 of the third embodiment, when the color conversion intensity for achromatic pixels of each color conversion process is sufficiently low, there is no significant difference in the amount of change caused by the two color conversion processes. Therefore, the switching of color conversion processes is less perceptible, and image defects can be suppressed more safely. In this embodiment, the magnification process to be applied is switched according to the state of the image to which the color conversion process is applied. This makes it possible to apply an appropriate magnification process according to the state of the image.

[0216] Figure 39 is a flowchart showing the expansion process in this embodiment. The process in Figure 39 is realized, for example, by the CPU 102 executing a program read from RAM 103. Note that among the processes in this flowchart, those numbered the same as those in the flowcharts of Figures 25 and 31 perform the same processes as those described in Figures 25 and 31, and therefore their explanation is omitted here.

[0217] In S1301, the CPU 102 determines whether the color of the input image at the pixel position on the input image acquired in S705 that corresponds to the pixel not selected in S707 is achromatic or not. The method for determining achromatic is as explained in the processing of S901 in Figure 35. If the color is achromatic, the CPU 102 moves to S708; otherwise, it moves to S605.

[0218] Here, Figure 40 is a diagram that supplementarily explains the enlargement process in this embodiment. Note that among the elements in Figure 40, those numbered the same as those in Figure 34 are the same as those explained in Figure 34, and therefore their explanation is omitted here.

[0219] Pixel 3711 is a pixel on the input image to which a low-intensity color conversion process is applied. Pixels 3712 and 3713 are pixels on the input image to which a high-intensity color conversion process is applied. Furthermore, pixel 3712 is achromatic, and pixel 3713 is achromatic.

[0220] Image 3701 shows the input image to be color converted. Image 3702 shows the low-resolution mask image generated from Image 3701. Image 3703 shows the input resolution mask image output by the scaling process in this embodiment when Image 3702 is used as input.

[0221] As shown in Figure 40, in this embodiment, when enlarging two adjacent pixels having different region setting information, the enlargement process is switched depending on whether the pixel with the higher color conversion intensity is achromatic or not. If the pixel with the higher color conversion intensity is not achromatic, the enlargement process described in the second embodiment is performed, and both region setting information is set to be staggered in the corresponding range 3114. On the other hand, if the pixel with the higher color conversion intensity is achromatic, the enlargement process described in the third embodiment is performed, and region setting information with a lower color conversion intensity is set in the corresponding range 3114.

[0222] As described above, according to this embodiment, the magnification process described in the second and third embodiments is switched depending on whether the pixel with the higher color conversion intensity is achromatic or not. This allows for appropriate magnification processing to be performed according to the image state when the intensity of each color conversion process on achromatic pixels is sufficiently low. Specifically, the magnification process of the third embodiment can be performed when there is little difference in the amount of change caused by each color conversion process and the switch in color conversion processing is difficult to perceive, while the magnification process of the second embodiment can be performed in other states. In other words, according to this embodiment, image artifacts at the boundaries can be suppressed more safely depending on the image state.

[0223] Although the invention has been described using various embodiments, it is not limited to the scope described in the embodiments above. It will be apparent to those skilled in the art that various modifications or improvements can be made to the embodiments described above. Such modified or improved forms may also fall within the technical scope of the present invention.

[0224] In each embodiment, an example was described in which a color conversion table is set from the color information of the first region to reduce color degradation and enable the discrimination of colors in the original data in the output. When a color conversion method that prioritizes color discrimination is set, image quality degradation may occur in regions that prioritize gradation. Therefore, an example was described in which a region that prioritizes gradation is extracted as a fourth region. However, this is not the only example. For example, if the color reproduction gamut of the recording device 108 is narrow and the color reproduction gamut of the acquired image data is wide, the continuous gradations of the high-saturation parts of the image data may be mapped to the color reproduction gamut boundary of the color reproduction gamut of the recording device 108, resulting in a decrease in gradation. Therefore, a region that prioritizes gradation may be set as the first region. A color conversion table that prioritizes gradation may be created from the color information of that first region. When a color conversion table that prioritizes gradation is created, applying that color conversion table to a region that prioritizes color discrimination may result in a decrease in image quality. Therefore, a region that prioritizes color discrimination may be set as the fourth region. As a result, it becomes possible to set a color conversion table that prioritizes gradation generated from the gradation range, and to apply that color conversion table to areas where applying the gradation-prioritizing color conversion table does not cause a decrease in image quality. In other words, if the area that prioritizes gradation is designated as the first area and the area that prioritizes color discrimination is designated as the fourth area, and the operation of the above embodiment is applied, it is possible to prevent the application of the gradation-prioritizing color conversion table to the area that prioritizes color discrimination. Alternatively, instead of the area that prioritizes color discrimination, an area that prioritizes saturation may be set, and the operation of the above embodiment may be applied. This makes it possible to generate a saturation-prioritizing color conversion table from the saturation-prioritizing area, and to apply that color conversion table to areas where applying the saturation-prioritizing color conversion table does not cause a decrease in image quality.

[0225] In each embodiment, the user may be able to input an instruction on whether or not to perform color degradation correction. In that case, a UI screen like that shown in Figure 41 may be displayed on a display unit (not shown) mounted on the image processing device 101 or the recording device 108 to accept user instructions. On the UI screen shown in Figure 41, the user can select the type of color correction using a toggle button. Furthermore, the user can select ON or OFF whether or not to perform "adaptive gamut mapping," which is the process described in each embodiment, using a toggle button. With this configuration, it is possible to switch whether or not to perform adaptive gamut mapping according to the user's instructions. As a result, when the user wants to reduce the degree of color degradation, they can perform the gamut mapping described in each embodiment.

[0226] This disclosure can also be implemented by supplying a program that implements one or more of the functions of the embodiments described above to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be implemented by a circuit (e.g., an ASIC) that implements one or more functions.

[0227] This embodiment includes an image processing device and a program. (Item 1) An acquisition means for acquiring an input image, A setting means for setting representative color information for each adjacent rectangular pixel block in the input image, using the color information of one pixel other than the edges located at the four corners of the pixel block. A discrimination means for determining solid areas and non-solid areas using the representative color information in a reduced image with a resolution lower than the resolution of the input image, A switching means that switches the color conversion process according to the result of the discrimination by the discrimination means, An image processing apparatus characterized by comprising: (Item 2) An acquisition means for acquiring an input image, A setting means for setting representative color information for each adjacent rectangular pixel block in the input image, using the dominant color information in each of the aforementioned input image. A discrimination means for determining solid areas and non-solid areas using the representative color information in a reduced image with a resolution lower than the resolution of the input image, A switching means that switches the color conversion process according to the result of the discrimination by the discrimination means, An image processing apparatus characterized by comprising: (Item 3) The image processing apparatus according to item 1, characterized in that the aforementioned pixel is the pixel at the centroid position within the pixel block. (Item 4) The image processing apparatus according to item 2, characterized in that the dominant color information is the color information of the mode or median of the color information of the pixels in the pixel block. (Item 5) The aforementioned input image is processed band by band. The image processing apparatus according to any one of items 1 to 4, characterized in that the size and phase of the pixel block are synchronized with the switching position of the band-unit processing. (Item 6) If the input image is a block-encoded image, The size of the aforementioned pixel block is the size of an MCU (Minimum Coded Unit) or a DCT (Discrete Cosine Transform) processing unit. The aforementioned block coding is either Hadamard compression coding using the Hadamard transform, DCT compression coding using the DCT, or DST compression coding using the DST (Discrete Sine Transform). If the subsampling structure differs between color components, the unit of the pixel block will be either an MCU unit or a DCT processing unit. The image processing apparatus according to item 5, characterized in that (Item 7) The image processing apparatus according to item 5 or 6, characterized in that the phase of the pixel block is synchronized with the starting position of the input image and the starting position of the band-unit processing. (Item 8) The aforementioned input image is processed band by band. The image processing apparatus according to any one of items 1 to 4, characterized in that the size and phase of the pixel block are not synchronized with the switching position of the band-unit processing. (Item 9) The aforementioned input image is processed band by band. The image processing apparatus according to any one of items 1 to 4, characterized in that the size of the pixel block is a value divisible by an integer fraction of the band unit. (Item 10) The aforementioned input image is processed band by band. The phase of the aforementioned pixel block is shifted by a predetermined number of pixels from the starting position of the input image and the starting position of the band-unit processing. The predetermined number of pixels is a value between 1 pixel and the number of pixels obtained by subtracting 1 from the size of the pixel block. An image processing apparatus according to any one of items 1 to 4, characterized in that (Item 11) The image processing apparatus according to any one of items 1 to 10, characterized in that the determination means determines that a solid area is present when the difference in color information of adjacent pixels is within a predetermined value. (Item 12) The image processing apparatus according to any one of items 1 to 11, characterized in that the color conversion process is the replacement of the color of the solid area or a color conversion process using a color profile. (Item 13) An acquisition means for acquiring an input image, A division means for dividing the input image into a plurality of rectangular pixel blocks, A region setting means that sets whether a pixel block divided by the division means is a first region or a second region different from the first region, Color conversion means for performing a first color conversion process on the pixels in the first region and a second color conversion process different from the first color conversion process on the pixels in the second region; comprising; The region setting means; When the first pixel block that is the first region and the second pixel block that is the second region are adjacent, in at least one of the pixel blocks, in pixel units, a part of the region adjacent to the boundary between the first pixel block and the second pixel block is set as a third region by first setting means; further comprising; When the third region is set, the color conversion means performs a third color conversion process on the pixels in the third region so that the third region becomes a region of lightness and chroma between the lightness and chroma obtained by performing the first color conversion process and the lightness and chroma obtained by performing the second color conversion process. An image processing apparatus characterized by the above. (Item 14) The image processing apparatus according to item 13, wherein the color conversion means switches between the first color conversion process and the second color conversion process at a high frequency in the third region. (Item 15) The image processing apparatus according to item 13, wherein the color conversion means performs α blending between the first color conversion process and the second color conversion process in the third region. (Item 16) By extracting one pixel from each of the pixel blocks divided by the dividing means, a reduced image having a resolution smaller than the resolution of the input image is generated, The third region is determined based on the position of the one pixel, The image processing apparatus according to any one of items 13 to 15, characterized by the above. (Item 17) The image processing apparatus according to any one of items 13 to 16, wherein the third region does not include the pixels farthest from the boundary between the first pixel block and the second pixel block in each of the adjacent pixel blocks. (Item 18) The image processing apparatus according to any one of items 13 to 17, characterized in that the first region is a solid region and the second region is a non-solid region. (Item 19) An acquisition means for acquiring an input image, A division means for dividing the input image into a plurality of rectangular pixel blocks, A region setting means that sets whether a pixel block divided by the division means is a first region or a second region different from the first region, A color conversion means that performs a first color conversion process on pixels in the first region and a second color conversion process different from the first color conversion process on pixels in the second region, An intensity setting means for setting the intensity of each of the first and second color conversion processes, Equipped with, The aforementioned region setting means is When the first pixel block, which is the first region, and the second pixel block, which is the second region, are adjacent to each other, a second setting means sets a portion of the second pixel block adjacent to the boundary between the first pixel block and the second pixel block as the first region. Furthermore, The intensity of the first color conversion process is less than the intensity of the second color conversion process. An image processing apparatus characterized by the following: (Item 20) The image processing apparatus according to item 19, characterized in that at least one of the first color conversion process and the second color conversion process is a process that converts at least one of the brightness, saturation, contrast, and sharpness of an image. (Item 21) The image processing apparatus according to item 19 or 20, characterized in that the intensity of the color conversion process is an index representing the amount of change between the input and output of the color conversion process. (Item 22) The image processing apparatus according to any one of items 19 to 21, characterized in that the intensity setting means statically sets the intensity of each of the first color conversion process and the second color conversion process. (Item 23) The image processing apparatus according to any one of items 19 to 21, characterized in that the intensity setting means calculates and sets the intensity of each of the first color conversion process and the second color conversion process. (Item 24) The image processing apparatus according to item 23, characterized in that the intensity setting means calculates the intensity of the color conversion process when the pixel value of at least one pixel in the partial region is taken as input for each of the first color conversion process and the second color conversion process. (Item 25) In the first color conversion process and the second color conversion process, the amount of change when a grayscale pixel is input is less than a predetermined value. The setting by the second setting means is performed when at least one pixel included in the second pixel block is achromatic. An image processing apparatus according to any one of items 19 to 24, characterized in that (Item 26) The image processing apparatus according to any one of items 19 to 24, characterized in that the setting by the second setting means is performed when the lower intensity of the color conversion process among the first color conversion process and the second color conversion process is below a predetermined threshold. (Item 27) The image processing apparatus according to any one of items 1 to 26, characterized in that the aforementioned pixel block is a block of M × N pixels (where both M and N are 3 or more). (Item 28) An acquisition means for acquiring an input image, A division means for dividing the input image into a plurality of rectangular pixel blocks, A region setting means that sets whether a pixel block divided by the division means is a first region or a second region different from the first region, A color conversion means that performs a first color conversion process on pixels in the first region and a second color conversion process different from the first color conversion process on pixels in the second region, An intensity setting means for setting the intensity of each of the first and second color conversion processes, Equipped with, The region setting means, when the first pixel block which is the first region and the second pixel block which is the second region are adjacent, A first setting means for setting a third region as a portion of the area adjacent to the boundary between the first pixel block and the second pixel block on a pixel-by-pixel basis in at least one pixel block, A second setting means for setting a portion of the second pixel block adjacent to the boundary between the first pixel block and the second pixel block as the first region, Furthermore, The area setting means controls the setting by the second setting means when the conditions are met, and by the first setting means when the conditions are not met. An image processing apparatus characterized by the following: (Item 29) The aforementioned conditions are, The intensity of the first color conversion process is less than the intensity of the second color conversion process, and In the first color conversion process and the second color conversion process, the amount of change when a grayscale pixel is input is less than a predetermined value, and At least one pixel in the second pixel block is achromatic, The image processing apparatus according to item 28, characterized in that it is the same as the image processing apparatus described in item 28. (Item 30) A program for causing a computer to function as one of the means of an image processing apparatus described in any one of items 1 through 29.

[0228] The technical idea derived from the present disclosure is not limited to the disclosed exemplary embodiments, and is intended to include various modifications to the exemplary embodiments, or substitutions by equivalent structures or functions, etc. The scope of the following claims should be given the broadest interpretation so as to include all such modifications and equivalent structures and functions.

Description of Reference Numerals

[0229] 101 Image processing apparatus: 108 Recording apparatus: 102, 111 CPU: 103, 112 RAM: 104, 113 Storage medium

Claims

1. An acquisition means for acquiring an input image, A setting means for setting representative color information for each adjacent rectangular pixel block in the input image, using the color information of one pixel other than the edges located at the four corners of the pixel block. In a reduced image with a resolution lower than the resolution of the input image, a discrimination means for determining solid areas and non-solid areas using the representative color information, A switching means that switches the color conversion process according to the result of the discrimination by the discrimination means, An image processing apparatus characterized by comprising:

2. An acquisition means for acquiring an input image, A setting means for setting representative color information for each adjacent rectangular pixel block in the input image, using the dominant color information in each of the aforementioned input image. In a reduced image with a resolution lower than the resolution of the input image, a discrimination means for determining solid areas and non-solid areas using the representative color information, A switching means that switches the color conversion process according to the result of the discrimination by the discrimination means, An image processing apparatus characterized by comprising:

3. The image processing apparatus according to claim 1, characterized in that the aforementioned pixel is the pixel at the centroid position within the pixel block.

4. The image processing apparatus according to claim 2, characterized in that the dominant color information is the color information of the mode or median of the color information of the pixels in the pixel block.

5. The aforementioned input image is processed band by band. The image processing apparatus according to claim 1, characterized in that the size and phase of the pixel block are synchronized with the switching position of the band-unit processing.

6. If the input image is a block-encoded image, The size of the aforementioned pixel block is the size of an MCU (Minimum Coded Unit) or a DCT (Discrete Cosine Transform) processing unit. The aforementioned block coding is Hadamard compression coding using the Hadamard transform, DCT compression coding using DCT, or DST compression coding using DST (Discrete Sine Transform). If the subsampling structure differs between color components, the unit of the pixel block will be either an MCU unit or a DCT processing unit. The image processing apparatus according to feature 5.

7. The image processing apparatus according to claim 5, characterized in that the phase of the pixel block is synchronized with the starting position of the input image and the starting position of the band-unit processing.

8. The aforementioned input image is processed band by band. The image processing apparatus according to claim 1, characterized in that the size and phase of the pixel block are not synchronized with the switching position of the band-unit processing.

9. The aforementioned input image is processed band by band. The image processing apparatus according to claim 1, characterized in that the size of the pixel block is a value divisible by one integer fraction of the band unit.

10. The aforementioned input image is processed band by band. The phase of the aforementioned pixel block is shifted by a predetermined number of pixels from the starting position of the input image and the starting position of the band-unit processing. The predetermined number of pixels is a value between 1 pixel and the number of pixels obtained by subtracting 1 from the size of the pixel block. The image processing apparatus according to feature 1.

11. The image processing apparatus according to claim 1, characterized in that the discrimination means determines that a region is a solid color area when the difference in color information of adjacent pixels is within a predetermined value.

12. The image processing apparatus according to claim 1, characterized in that the color conversion process is the replacement of the color of the solid area or a color conversion process using a color profile.

13. An acquisition means for acquiring an input image, A division means for dividing the input image into a plurality of rectangular pixel blocks, A region setting means that sets whether a pixel block divided by the division means is a first region or a second region different from the first region, A color conversion means that performs a first color conversion process on pixels in the first region and a second color conversion process different from the first color conversion process on pixels in the second region, Equipped with, The aforementioned region setting means is When the first pixel block, which is the first region, and the second pixel block, which is the second region, are adjacent to each other, the first setting means sets a portion of the region adjacent to the boundary between the first pixel block and the second pixel block as a third region in at least one of the pixel blocks, in units finer than the size of the pixel block. Furthermore, When the third region is set, the color conversion means performs a third color conversion process on the pixels of the third region so that the third region becomes a region of brightness and saturation between the brightness and saturation obtained by performing the first color conversion process and the brightness and saturation obtained by performing the second color conversion process. An image processing apparatus characterized by the following:

14. The image processing apparatus according to claim 13, characterized in that the color conversion means switches between the first color conversion process and the second color conversion process in the third region in units finer than pixel blocks.

15. The image processing apparatus according to claim 13, characterized in that the color conversion means α-blends the first color conversion process and the second color conversion process in the third region.

16. By extracting one pixel from each of the pixel blocks divided by the division means, a reduced image with a resolution smaller than the resolution of the input image is generated. The third region is determined based on the position of the single pixel. The image processing apparatus according to feature 13.

17. The image processing apparatus according to claim 13, characterized in that the third region does not include the pixel furthest from the boundary between the first pixel block and the second pixel block in each of the adjacent pixel blocks.

18. The image processing apparatus according to claim 13, characterized in that the first region is a solid region and the second region is a non-solid region.

19. An acquisition means for acquiring an input image, A division means for dividing the input image into a plurality of rectangular pixel blocks, A region setting means that sets whether a pixel block divided by the division means is a first region or a second region different from the first region, A color conversion means that performs a first color conversion process on pixels in the first region and a second color conversion process different from the first color conversion process on pixels in the second region, An intensity setting means for setting the intensity of each of the first and second color conversion processes, Equipped with, The aforementioned region setting means is When the first pixel block, which is the first region, and the second pixel block, which is the second region, are adjacent to each other, a second setting means sets a portion of the second pixel block adjacent to the boundary between the first pixel block and the second pixel block as the first region. Furthermore, The intensity of the first color conversion process is less than the intensity of the second color conversion process. An image processing apparatus characterized by the following:

20. The image processing apparatus according to claim 19, characterized in that at least one of the first color conversion process and the second color conversion process is a process for converting at least one of the brightness, saturation, contrast, and sharpness of an image.

21. The image processing apparatus according to claim 19, characterized in that the intensity of the color conversion process is an index representing the amount of change between the input and output of the color conversion process.

22. The image processing apparatus according to claim 19, characterized in that the intensity setting means statically sets the intensity of each of the first and second color conversion processes.

23. The image processing apparatus according to claim 19, characterized in that the intensity setting means calculates and sets the intensity of each of the first and second color conversion processes.

24. The image processing apparatus according to claim 23, wherein the intensity setting means calculates the intensity of the color conversion process when the pixel value of at least one pixel in the partial region is taken as input for each of the first color conversion process and the second color conversion process.

25. In the first color conversion process and the second color conversion process, the amount of change when a grayscale pixel is input is less than a predetermined value. The setting by the second setting means is performed when at least one pixel included in the second pixel block is achromatic. The image processing apparatus according to feature 19.

26. The image processing apparatus according to claim 19, characterized in that the setting by the second setting means is performed when the lower intensity of the color conversion process among the first color conversion process and the second color conversion process is below a predetermined threshold.

27. The image processing apparatus according to claim 1, characterized in that the pixel block is a block of M × N pixels (where both M and N are 3 or more).

28. An acquisition means for acquiring an input image, A division means for dividing the input image into a plurality of rectangular pixel blocks, A region setting means that sets whether a pixel block divided by the division means is a first region or a second region different from the first region, A color conversion means that performs a first color conversion process on pixels in the first region and a second color conversion process different from the first color conversion process on pixels in the second region, An intensity setting means for setting the intensity of each of the first and second color conversion processes, Equipped with, The region setting means, when the first pixel block which is the first region and the second pixel block which is the second region are adjacent, A first setting means for setting a third region as a portion of the area adjacent to the boundary between the first pixel block and the second pixel block on a pixel-by-pixel basis in at least one pixel block, A second setting means for setting a portion of the second pixel block adjacent to the boundary between the first pixel block and the second pixel block as the first region, Furthermore, The area setting means controls the setting by the second setting means when the conditions are met, and by the first setting means when the conditions are not met. An image processing apparatus characterized by the following:

29. The aforementioned conditions are, The intensity of the first color conversion process is less than the intensity of the second color conversion process, and In the first color conversion process and the second color conversion process, the amount of change when a grayscale pixel is input is less than a predetermined value, and At least one pixel included in the second pixel block is achromatic, The image processing apparatus according to claim 28, characterized in that it is the same as the present invention.

30. A program for causing a computer to function as each means of the image processing apparatus according to any one of claims 1 to 29.

Citation Information

Patent Citations

  • Image processor and method thereof

    JP2003250056A

  • Image processor and image processing method

    JP2008252699A

  • Image processing apparatus, image processing method, and program

    JP2024008265A

  • Image processing apparatus, method, and program

    JP2025105458A