Image processing device, image processing method, and program

The image processing device addresses color inconsistencies in printed materials by using device-dependent color spaces and correction mechanisms to embed additional information, ensuring color accuracy.

JP7739100B2Active Publication Date: 2025-09-16CANON KK
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2021149301
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-09-14
Publication Date
2025-09-16
Estimated Expiration
2041-09-14

AI Technical Summary

Technical Problem

Existing methods for embedding additional information in images result in color differences between the reproduced and intended colors on printed materials.

Method used

An image processing device that includes an acquisition unit, color conversion units, and correction means to adjust color values using different parameters based on whether additional information is embedded, ensuring color consistency.

Benefits of technology

Reduces color differences between the printed material and the intended color by employing device-dependent color spaces and correction mechanisms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007739100000001
    Figure 0007739100000001
  • Figure 0007739100000002
    Figure 0007739100000002
  • Figure 0007739100000003
    Figure 0007739100000003
Patent Text Reader

Abstract

To reduce the difference between a color reproduced on printed matter and a color intended by a user due to embedding of additional information.SOLUTION: An image processing device capable of performing processing of embedding additional information in an image being a printing object comprises: acquisition means which acquires data of the image; and color conversion means which converts a color value of the image into a device-dependent color value. The color conversion means performs conversion of the color value by using a first parameter when the processing of embedding the additional information is not performed, and performs conversion of the color value of the image by using at least a second parameter that is different from the first parameter and is not used when the processing of embedding the additional information is not performed in a case where the processing of embedding the additional information is performed.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to techniques for embedding information in images. [Background technology]

[0002] There is a method for embedding additional information such as a character string into an image to be printed. One method for embedding additional information is to embed the additional information in such a way that the image showing the additional information is visually difficult to distinguish.

[0003] Patent Document 1 describes a method of embedding a pattern generated by partially changing at least one of the color and brightness of print image data into print image data. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2000-305429 Summary of the Invention [Problem to be solved by the invention]

[0005] However, when a pattern representing additional information is embedded using the method of Patent Document 1, the pixel values ​​of the image data to be printed are changed, which can result in a difference between the color reproduced on the printed material based on the image data and the color intended by the user.

[0006] The technology disclosed herein aims to reduce the difference between the color reproduced on a printed material by embedding additional information and the color intended by the user. [Means for solving the problem]

[0007] The image processing device of the present disclosure is an image processing device capable of performing a process of embedding additional information in an image to be printed, the image processing device including: an acquisition unit that acquires data of the image; a color conversion unit that converts color values ​​of the image into device-dependent color values; a first correction means and a second correction means; wherein the color conversion means converts color values ​​of the image using a first parameter when the process of embedding the additional information is not performed, and converts color values ​​of the image using at least a second parameter that is different from the first parameter and is not used when the process of embedding the additional information is not performed when the process of embedding the additional information is performed. the first correction means corrects the first parameter based on a result of measuring the color of a printed matter obtained by printing a chart that has not been subjected to the process of embedding the additional information, and the second correction means corrects the second parameter based on a result of measuring the color of a printed matter obtained by printing a chart that has been subjected to the process of embedding the additional information. 1. An image processing device comprising: [Effects of the Invention]

[0008] According to the technology of the present disclosure, it is possible to reduce the difference between the color reproduced on the printed material by embedding additional information and the color intended by the user. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram illustrating a system configuration. [Figure 2] FIG. 2 is a diagram illustrating a hardware configuration of an additional information multiplexing device. [Figure 3] FIG. 2 is a diagram illustrating a functional configuration of an additional information multiplexing device. [Figure 4] FIG. 2 is a conceptual diagram of mask data. [Figure 5] FIG. 2 is a diagram illustrating a functional configuration of an additional information adding unit. [Figure 6] FIG. 10 is a diagram showing a color conversion table. [Figure 7] FIG. 10 is a diagram showing a table of multiplexing parameters. [Figure 8] 10 is a flowchart illustrating a multiplexing encoding process. [Figure 9] FIG. 1 is a diagram illustrating a hardware configuration of a device that performs multiplexing and decoding processing. [Figure 10] FIG. 1 is a diagram illustrating a functional configuration of an apparatus that performs multiplexing and decoding processing. [Figure 11] FIG. 10 is a diagram showing differences in frequency characteristics and multiplexed blocks on a printing sheet. [Figure 12] FIG. 10 is a diagram for explaining the detection position of a block. [Figure 13] 10 is a flowchart showing a procedure for correcting a color conversion table. [Figure 14] FIG. 10 is a schematic diagram illustrating an example of a calibration chart. [Figure 15] FIG. 10 is a diagram showing a search table. [Figure 16] FIG. 10 is a diagram showing a color conversion table. [Figure 17] 10 is a flowchart showing a procedure for correcting a color conversion table. [Figure 18] FIG. 2 is a diagram illustrating a functional configuration of an additional information multiplexing device. [Figure 19] FIG. 2 is a diagram illustrating a functional configuration of an additional information adding unit. [Figure 20] FIG. 10 is a diagram showing a color conversion table. [Figure 21] FIG. 2 is a diagram illustrating a functional configuration of an additional information adding unit. [Figure 22] 10 is a flowchart illustrating a multiplexing encoding process. [Figure 23] FIG. 10 is a diagram showing a phase pattern color conversion table. [Figure 24] FIG. 2 is a diagram illustrating a functional configuration of an additional information multiplexing device. [Figure 25] 10 is a flowchart showing a procedure for correcting a color conversion table. [Figure 26] 10 is a flowchart showing a procedure for correcting a color conversion table. DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, embodiments of the technology of the present disclosure will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the technology of the present disclosure according to the claims, and not all combinations of features described in the present embodiments are necessarily essential to the solution of the technology of the present disclosure. Note that the same components are given the same reference numerals and descriptions thereof will be omitted.

[0011] First Embodiment [System Configuration] 1 is a diagram showing the system configuration including an image processing device that performs processing to embed additional information in an image (also called multiplexing processing or multiplexing encoding processing) in this embodiment. The image processing device acquires PDL data A and additional information B, and performs processing to embed the additional information B in image data A in a bitmap format that is generated by executing a command in the PDL data A. Then, a printout C is generated by performing a printing process based on the image data obtained by embedding the additional information B in the image data A.

[0012] According to the multiplexing process of this embodiment, additional information such as the name of the author and whether or not usage is permitted can be embedded in an image such as a photograph, painting, etc. in a manner that makes it difficult to visually distinguish. Furthermore, in order to prevent counterfeiting of banknotes, revenue stamps, securities, etc. using image output devices such as copiers and printers, additional information can be embedded in printed matter so that the device that output the printed matter can be identified from the printed matter.

[0013] Fig. 1(a) shows a system configuration in which an additional information multiplexing device 102, which is an image processing device separate from a printer 103, performs processing to embed additional information B in image data obtained by executing a command for PDL data A. Fig. 1(b) shows a system configuration in which the functions of the additional information multiplexing device 102 are included within the printer 103. The printer 103 in Fig. 1(b) has an additional information multiplexing unit 105 that has the functions of the additional information multiplexing device 102 in Fig. 1(a), and the additional information multiplexing unit 105 performs processing to embed additional information B.

[0014] In Figures 1(a) and 1(b), PDL data A is input from input terminal 100. PDL data is data written in PDL (Page Description Language) and is drawing data including drawing commands for objects. Additionally, additional information B is input from input terminal 101. Additional information B indicates text document data, audio data, image data, or video data. Alternatively, additional information B is data obtained by compressing text document information, audio information, image information, or video information. Alternatively, additional information B is data obtained by converting compressed data of text document information, audio information, image information, or video information into another binary value.

[0015] The additional information multiplexing device 102 performs multiplexing processing to embed additional information B in PDL data A. Details of the additional information multiplexing processing will be described later. The printer 103 performs printing processing based on the image data in which the additional information B is embedded, and generates a printed matter C. The processing to extract the additional information B from the printed matter C is called a multiplexing decoding processing.

[0016] [Hardware configuration] Fig. 2 is a diagram illustrating an example of the hardware configuration of the additional information multiplexing device 102 in Fig. 1(a). The CPU 201 is a central processing unit that executes, for example, a process of multiplexing additional information according to a program. The ROM 202 stores the program executed by the CPU 201. The RAM 203 provides memory for temporarily storing various pieces of information when the CPU 201 executes the program. The secondary storage device 204 is, for example, a hard disk, and is a storage medium for saving image files, additional information, etc.

[0017] The display 205 is a display unit that displays a user interface screen, processing contents, etc. The input device 206 accepts processing instructions, settings, character input, etc. via operation of a device such as a keyboard. The network interface 207 is connected to, for example, a LAN (Local Area Network). The LAN is also connected to the Internet. The CPU 201 accesses a site connected to the Internet via the network interface 207, displays the site screen on the display 205, and transmits and receives data. The additional information multiplexing device 102 is, for example, an information processing device (image processing device) such as a PC or a smartphone, but may be any other type of device as long as it can execute processing to embed additional information B in PDL data A.

[0018] The hardware configuration of the printer 103 in FIG. 1(b) includes at least the components in FIG. 2. The function of the additional information multiplexing unit 105 is realized, for example, by the CPU 201 of the printer 103 expanding program code stored in the ROM 202 into the RAM 203 and executing it. Like the additional information multiplexing device 102 in FIG. 1(a), the printer 103 in FIG. 1(b) receives PDL data A from an input terminal 100. It also receives additional information B from an input terminal 101. The additional information multiplexing unit 105 executes a command for the PDL data A to embed the additional information B into image data obtained. The printing unit 106 generates a printed matter C by performing a printing process based on the image data in which the additional information B is embedded.

[0019] In the following description, this embodiment will be described based on the system configuration of Fig. 1(a), but this embodiment can also be applied to the system configuration of Fig. 1(b). When applied to the system configuration of Fig. 1(b), in the following description, the additional information multiplexing device 102 can be replaced with the additional information multiplexing unit 105.

[0020] [Functional configuration related to multiplexing encoding processing] 3(a) is a diagram showing the functional block configuration of basic firmware for multiplexing encoding processing in the additional information multiplexing device 102 in this embodiment. By executing processing by each functional unit described below, the PDL data is converted into print data with a resolution and number of gradations that can be processed by a print engine connected to the print head of the printer 103.

[0021] The PDL data acquisition unit 301 acquires PDL data A input from the input terminal 100. The PDL data A is data configured from drawing commands for objects. The acquired PDL data A is sent to the drawing unit 302.

[0022] The drawing unit 302 interprets the PDL data A received from the PDL data acquisition unit 301 and executes a drawing command to generate image data A in bitmap format and attribute data. The generated image data in bitmap format is sent to the image correction unit 303.

[0023] In this embodiment, the bitmap image data will be described as image data in the RGB color space. The attribute data is attribute information data for each pixel. The attribute information is determined based on the drawing command for the object, according to the following criteria:

[0024] If specified by the character drawing command (character type or character code): Character attributes If specified in a line drawing command (coordinate points, length, thickness): Line attributes If specified in a drawing command (rectangle, shape, coordinate points): Shape attributes If specified in an image drawing command (a set of points): Image attributes The image correction unit 303 performs image correction on the image data in the RGB color space generated by the drawing unit 302. Image correction includes brightness adjustment to brighten or darken the overall color, contrast adjustment, color balance adjustment, and the like.

[0025] The multiplexing function determination unit 304 determines whether to embed a pattern image representing additional information based on the on / off setting of the multiplexing function. The on / off setting of the multiplexing function is set, for example, by the user operating the input device 206. If the multiplexing function determination unit 304 determines that the multiplexing function is on, processing is performed to embed additional information B. For this reason, the image data A corrected by the image correction unit 303 is sent to the additional information addition unit 305, which is a functional unit that performs processing to embed additional information B. If the multiplexing function determination unit 304 determines that the multiplexing function is off, embedding of additional information B is not performed, and the image data A is sent to the color conversion unit 308.

[0026] The additional information adding unit 305 and color conversion unit 308 convert the image data A into color values ​​in the device-dependent color space of the printer 103 so that the desired colors intended by the user are obtained when the printer 103 outputs the image data. The color reproduction ranges of a display unit such as a monitor and a printer do not necessarily match. For some colors, the printer's reproduction range may be narrower, and for other colors, the printer's reproduction range may be wider. In order to minimize degradation of images recorded by a printer, it is necessary to compress and expand colors as appropriate. In this embodiment, a relative color space based on the color reproduction range of a device such as a printer engine is called a device-dependent color space.

[0027] The additional information adding unit 305 performs color conversion into the trimRGB color space, which is a device-dependent color space. The trimRGB color space is a space that takes into consideration the reproducibility of the device so that the image on the printout C output by the printer 103 is reproduced in suitable colors, and also takes into consideration the embedding of a pattern image. Furthermore, the additional information adding unit 305 executes a process of embedding a pattern image into the image data A based on three types of data: additional information B input from the input terminal 101, multiplexing parameters 306 pre-stored in the ROM 202, and a multiplexing color conversion table 307. The pattern image is also simply referred to as a pattern. Details of the pattern image and the additional information adding unit 305 will be described later.

[0028] On the other hand, the color conversion unit 308 converts the RGB values ​​of each pixel of the image data A into color values ​​of the DeviceRGB color space, which is a device-dependent color space for a printer that takes into account the reproducibility of the device, so that the image on the printout C output by the printer 103 is reproduced in suitable colors. The color conversion unit 308 is also called a first color conversion unit.

[0029] Color values ​​in the DeviceRGB color space are also called DeviceRGB values. Conversion can be performed using matrix calculations or the like, but this embodiment will be described as using a three-dimensional color conversion table 309 (first parameter). The format of the three-dimensional color conversion table 309 will be described together with the multiplexing color conversion table 307 (second parameter), which will be described later. Note that color conversion to DeviceRGB values ​​is sometimes called normal color conversion, and color conversion table 309 is sometimes called a normal color conversion table.

[0030] The color conversion unit 308 determines DeviceRGB values ​​corresponding to the target RGB values ​​using a three-dimensional color conversion table 309, but may output values ​​of 8 bits or more in consideration of gradation. Note that, although this embodiment will be described assuming that the color conversion unit 308 performs color conversion from RGB to RGB, it is also applicable to color conversion between other color spaces, such as CMYK to CMYK, RGB to CMYK, and CMYK to RGB.

[0031] The ink color conversion unit 310 converts the Device RGB values ​​converted by the color conversion unit 308 into color values ​​of ink colors. Alternatively, the ink color conversion unit 310 converts the trim RGB values ​​of image data generated by the additional information addition unit 305 by embedding a pattern image in image data A into color values ​​of ink colors. The ink color conversion unit 310 performs color conversion to ink colors using a color separation table 311 in which ink color values ​​corresponding to combinations of color values ​​before conversion are written in advance. The color separation table 311 is, for example, a table with 17 grids similar to the color conversion table 309.

[0032] In this embodiment, the ink colors will be described as four colors: cyan (C), magenta (M), yellow (Y), and black (K). Therefore, the color separation table 311 is a table that describes the values ​​of the four colors corresponding to the grids of color values ​​before conversion. As with the color conversion table 309, the ink separation values ​​corresponding to the RGB values ​​between the grids among the target pre-conversion RGB values ​​are determined by applying tetrahedral interpolation or the like.

[0033] The density correction unit 312 performs correction for each of the colors C, M, Y, and K. Here, a one-dimensional density correction table 313 is used. For example, the density correction table 313 is a table that corresponds to an 8-bit input (256 gradations) for each color.

[0034] The gradation conversion unit 314 converts the multi-bit data that has been converted into ink colors and density corrected into a number of gradations that can be printed by the printer 103. In the following description, it is assumed that the number of gradations that the printer 103 can handle is two gradations (1 bit): printing (1) / non-printing (0). As a gradation conversion method, for example, an error diffusion method that eliminates low-frequency components of the image and can reproduce gradations that are visually suitable is used. In the following description, it is assumed that the input signal is an 8-bit signal ranging from 0 to 255.

[0035] Here, the error distribution method in the error diffusion method will be explained. When the signal value of a target pixel is signal value L, it is compared with a threshold value TH. The threshold value is, for example, 127. To convert 0 to 255 into a binary value, if L > TH, it is determined to be 1 (printing), and if L ≦ TH, it is determined to be 0 (non-printing). Depending on the determination result, the quantized representative value V is set to 255 for 1 (printing) and 0 for 0 (non-printing). The resulting error E (= LV) is then distributed to surrounding pixels according to the distribution coefficient. The signal value L of the next target pixel is then added to the distributed error Ea to obtain La, which is then compared with the threshold value. Therefore, if La > TH, it is determined to be 1 (printing), and if La ≦ TH, it is determined to be 0 (non-printing). By performing this process for all pixels and all ink colors C, M, Y, and K, printable 1-bit ink color data can be obtained. The tone conversion unit 314 sends the generated ink color data to the printer 103, which is the print engine.

[0036] The printer 103 has at least a receiving memory for storing received data, a CPU, and a printing unit for applying ink to a recording medium (printing paper). The printer 103 stores the input ink color data in the receiving memory. The printing unit converts the ink color data into ink droplet data corresponding to the nozzles of the recording head. The printing process is performed by ejecting ink droplets onto the recording medium using a recording head that scans in a direction intersecting the recording medium transport direction. In this embodiment, the printer 103 is described as a serial scan inkjet recording device, but the printer 103 may also be another recording device, such as a line head recording device or a laser engine recording device.

[0037] 3 are realized by the CPU 201 of the additional information multiplexing device 102 expanding program code stored in the ROM 202 into the RAM 203 and executing it. Alternatively, some or all of the functions of the units in FIG. 3 may be realized by hardware such as an ASIC or electronic circuit.

[0038] [About the pattern image] The additional information B is information embedded in the image data A generated by executing a command in the PDL data A. For example, the additional information B is text document data. The text document data is converted into numeric string data (binary data) by assigning numerical values ​​to the characters or numbers indicated in the text document data using character codes.

[0039] For example, suppose the text document data, which is additional information B, is data representing the text "hello." This text document data is converted into numeric string data, or so-called binary data. Which numeric values ​​correspond to which characters is defined by something called a "character code." In the case of "Shift JIS," which is one type of character code, "h" corresponds to the binary data value "01101000." Similarly, "e" corresponds to the binary data value "01100101," "l" corresponds to the binary data value "01101100," and "o" corresponds to the binary data value "01101111." Therefore, the character "hello" can be expressed in binary data as "0110100001100101011011000110110001101110001101111."

[0040] The additional information B is converted into binary data in this way. The additional information adding unit 305 performs a process of embedding a pattern image corresponding to the binary data into the image data A. The pattern image corresponding to the binary data is in a format that can be extracted and read by multiplexing decoding processing, and is, for example, a pattern having a different periodicity for each block on the image into which the pattern image is embedded.

[0041] When additional information B is converted into numeric string data of "0" and "1" and embedded, a masking process is performed on image data A to make it possible to read "0" and "1", and two pattern images with different periodicities are embedded within the image indicated by image data A.

[0042] Figures 4(a) and (b) are diagrams showing examples of pattern images for superimposing two periodicities. Figures 4(a) and (b) are mask data consisting of 5px (pixels) x 5px, and by multiplying the image represented by image data A with pattern images having two periodicities in a 5px x 5px area, "0" and "1" are expressed on the image represented by image data A.

[0043] For example, pattern images corresponding to "0" and "1" are determined in advance, such that Fig. 4(a) is a pattern image of "0" and Fig. 4(b) is a pattern image of "1." Then, by performing frequency analysis on the captured image obtained by capturing an image of printed matter C and determining the arrangement of the two periodic pattern images, binary data consisting of "0" and "1" can be read.

[0044] [How to embed pattern images] Next, we will explain a method for embedding a pattern image in image data A. In this embodiment, as an example of embedding a pattern image in an image, we will explain a method of alternately applying "0" and "1" to the entire image represented by one-color gray image data.

[0045] The image size of image data A into which the pattern image is embedded is 640px vertically and 480px horizontally. The mask data is 5px x 5px, as in Figures 4(a) and 4(b), and Figure 4(a) is defined as "0" and Figure 4(b) as "1."

[0046] For example, as shown in Figures 4(a) and 4(b), the mask data is made up of a black block 401, a white block 402, and a diagonal block 403. Numerical values ​​are assigned to the black block 401, the white block 402, and the diagonal block 403, and as shown in Figures 4(c) and 4(d), the black block 401 is assigned +2, the white block 402 is assigned 0, and the diagonal block is assigned -1.

[0047] In the following pseudocode, if maskA is true, it is set to "0" to show Figure 4(a), and if it is false, it is set to "1" to show Figure 4(b). The pseudocode below shows how to use the numerical values ​​of the black, white, and shaded blocks in Figures 4(a) and 4(b) as mask data and apply it to the entire image.

[0048] Pseudocode: ---------------------------------------------------------------------------------- 1 int i, j, k, l; 2 int width = 640, height=480; 3 unsigned char *data = image data; 4 int **maskA = maskData; 6 bool isMaskA = true; 5 for(j = 0; j < height; j+=5){ 6 for(i = 0; i < width; i+=5){ 7 for(k = 0; k < 5; k++){ 8 for(l = 0; l < 5; l++){ if(isMaskA == true){ 9 data[(i+k)+(j+l)*width] += maskA[k][l]; } 10} 11} 12} 13} ---------------------------------------------------------------------------------- As shown in the pseudo code above, the entire image is divided into 5px x 5px blocks, and the maskA data is added for each block to form a superimposed pattern image. Also, the pseudo code above uses single-color gray image data, but when forming a pattern image, there are cases where you want to form a pattern image that is less visually noticeable. Depending on the shape and frequency components of the pattern image to be formed, it is known that changes in color components are less visually noticeable than changes in brightness components.

[0049] Therefore, in this embodiment, the color space of the image data is converted to the YUV color space, and the color values ​​are separated into luminance and color components. Then, a pattern image is embedded in the image by applying mask data to the color components, not the luminance components. This method makes it possible to generate an image in which the embedded pattern image is visually inconspicuous.

[0050] However, when embedding a pattern image in a color component, increasing or decreasing pixel values ​​in a local region with a small printing area may prevent the user from achieving the intended color on the printed matter C. In this case, differences may occur in the reproduced colors even if the average value of the input signal is guaranteed on a block-by-block basis. Therefore, the additional information adding unit 305 of this embodiment will explain a method of performing color conversion so as to reduce differences in color tone by converting color values ​​into a device-dependent color space using parameters different from those used by the color conversion unit 308.

[0051] [Details of additional information section] Fig. 5 is a block diagram showing detailed functions of the additional information adding unit 305 in this embodiment. The additional information adding unit 305 will be described in detail using Fig. 5. The additional information adding unit 305 in this embodiment has a multiplexing color conversion unit 501, a YUV color space conversion unit 502, a block position setting unit 503, a digitization unit 504, a pattern selection unit 505, an information multiplexing unit 506, and a color space inverse conversion unit 507. The additional information adding unit 305 performs color conversion processing on the image data to suppress color variations caused by embedding a pattern image, and further performs processing to embed the pattern image.

[0052] The multiplexing color conversion unit 501 performs color conversion processing to convert the color values ​​(RGB values) in the RGB color space of each pixel of image data A obtained by drawing based on the commands in PDL data A into color values ​​(trimRGB values) in the trimRGB color space. Converting the color values ​​into trimRGB values ​​can suppress color variations caused by embedding a pattern image. The method of converting the color values ​​in the RGB color space into color values ​​in the trimRGB color space is performed using the multiplexing color conversion table 307. The multiplexing color conversion unit 501 is also called a second color conversion unit.

[0053] In this embodiment, a multiplexing color conversion table 307 is created to perform color conversion such that the difference in color tone that occurs depending on whether or not a pattern image is embedded is reduced, and is stored in advance in the ROM 202. The multiplexing color conversion table 307 (second parameters) is a color conversion table that is different from the color conversion table 309 (first parameters) and is not used when processing to embed additional information is not performed. By performing color conversion based on the multiplexing color conversion table 307, the multiplexing color conversion unit 501 can convert the RGB values ​​of image data generated from PDL data into trimRGB values ​​that take into account the reproducibility of the device and the embedding of a pattern image.

[0054] Fig. 6 is a diagram for explaining the multiplexing color conversion table 307 and the normal color conversion table 309. The color conversion table in Fig. 6 holds R'G'B' values, which are converted output signal values ​​that cause the colors reproduced on printed matter C based on PDL data A by the printer 103 to be the same as the colors displayed on the display based on PDL data A.

[0055] Note that if the input RGB values ​​are 8 bits (256 gradations) for each color, it is not realistic from a capacity standpoint to store all combinations, so the color conversion table of this embodiment uses a table that has been thinned out at a predetermined interval. The table in Fig. 6 is a color conversion table in which the 256 gradations for each RGB color are represented by 17 points (17 x 17 x 17 = 4913 grids (rows)) and the converted RGB values ​​corresponding to the 4913 grids are stored. Each grid is identified by a grid number, as shown in the "Number" column in Fig. 6.

[0056] For example, suppose the input signal values ​​in PDL data A are (R, G, B) = (0, 0, 240). In this case, when the multiplexing function is set to on, the multiplexing color converter 501 refers to row 601 of the multiplexing color conversion table 307 in FIG. 6A and converts the values ​​to (R', G', B') = (0, 70, 220). On the other hand, when the multiplexing function is set to off, the color converter 308 refers to row 602 of the color conversion table 309 in FIG. 6B and converts the values ​​to (R', G', B') = (0, 65, 229). In this way, the multiplexing color conversion table 307 and the color conversion table 309, which hold converted output signal values ​​R'G'B' corresponding to RGB values ​​of the same input signal, are pre-stored in the ROM 202. Therefore, by switching to the multiplexing color conversion table 307 or the color conversion table 309 and performing color conversion depending on whether the multiplexing function is on or off, it is possible to reduce the color difference on the printed matter that occurs when a pattern image is embedded and when it is not embedded.

[0057] The YUV color space conversion unit 502 converts the color values ​​of the input image data into color values ​​in the YUV color space, which is a color space for embedding a pattern image. In this embodiment, the YUV color space conversion unit 502 converts the color values ​​in the trimRGB color space converted by the multiplexing color conversion unit 501 into color values ​​in the YUV color space. As described above, in order to embed a pattern into color components so that the embedded pattern image is less visually noticeable, the YUV color space conversion unit 502 converts the color space of the image data into the YUV space. For example, the color values ​​in the RGB color space (trimRGB color space) are converted into color values ​​in the YUV color space using equations (1), (2), and (3). Y = 0.299×R+0.587×G+0.114×B (1) U =-0.169×R-0.331×G+0.500×B (2) V = 0.500×R-0.419×G-0.081×B (3)

[0058] In this embodiment, the description will be given assuming that a pattern image is embedded in the U plane, but the same applies to Y and V. In this embodiment, the image to be printed is divided into multiple block areas, and a pattern image is formed by modulating the density of each pixel in block units, thereby embedding additional information B. In this embodiment, an area consisting of 5px x 5px is defined as one block, and a pattern image with a different periodicity is embedded in each block. For this reason, it is necessary to set blocks in the image in order to embed the pattern image.

[0059] The block position setting unit 503 acquires image data converted to the YUV color space and sets the coordinates of each block in the image of the specified U color plane according to the size of one block. For example, assume that the image size of the U color plane in the YUV color space is 640px vertically and 480px horizontally, and the block size is 5px vertically and 5px horizontally. In this case, the number of vertical blocks is 640÷5=128, or 128 blocks, and the number of horizontal blocks is 480÷5=96, or 96 blocks. The total number of blocks is 128×96=12288, or 12288 blocks. For example, the block position setting unit 503 sets the upper left coordinates of these blocks as the block positions.

[0060] The digitizing unit 504 acquires the additional information B and converts it into digitized data. As described above, if the additional information B is a character string defined in Shift JIS, a conversion map in which characters correspond to numbers in Shift JIS format is stored in advance, and the digitizing unit 504 converts the character string that is the additional information B into numeric string data (binary data).

[0061] The pattern selection unit 505 determines a mask pattern to be applied to the binary data converted from the additional information B for each block.

[0062] Figures 4(c) and (d) are conceptual diagrams in which mask patterns with different frequency characteristics are quantified. The mask pattern in Figure 4(c) corresponds to the mask pattern in Figure 4(a) described above. The mask pattern in Figure 4(d) corresponds to the mask pattern in Figure 4(b) described above.

[0063] The mask patterns shown in Figures 4(c) and (d) are pre-registered. For example, one block is 5px high and 5px wide, and the mask patterns in Figures 4(c) and 4(d) are used as the mask patterns for one block. If the value to be multiplexed is "0", the mask pattern in Figure 4(c) is used, and if the value to be multiplexed is "1", the mask pattern in Figure 4(d) is used, thereby expressing one bit of "0" or "1" for each block.

[0064] The information multiplexing unit 506 is a processing unit that embeds a pattern image by applying a mask pattern selected for each block to image data. When reading printed matter C in the multiplexing decoding process described below, it is not always possible to read the entire printed matter C. For this reason, the information multiplexing unit 506 embeds the same data in multiple locations so that additional information B can be extracted even when only a portion of printed matter C is read.

[0065] For example, if the total number of blocks in the entire image is 12,288 and each unit of additional information is 96 blocks, the information multiplexing unit 506 divides the additional information B into 128 regions (12,288 / 96=128) and embeds the same additional information B. In other words, the image data is divided into 128 regions. Each region contains 96 blocks, each 5 pixels high and 5 pixels wide. Since each 96 blocks is an area for embedding one piece of additional information B, 96 bits of information can be embedded. However, to identify the start position, the 8 bits of "11111111," which are not represented as characters in Shift-JIS, are included at the beginning of the character. Therefore, 96-8=88, making it possible to embed 88 bits of data as additional information B.

[0066] As data that fits within 88 bits, binary data of "0" and "1" set by the digitizing unit 504 is used. A numerical value is defined for each block, and either the mask pattern shown in FIG. 4(c) or 4(d) is selected according to the defined numerical value. Then, the information multiplexing unit 506 determines the pixel value after embedding the pattern image by adding a numerical value obtained by multiplying the numerical value in the mask pattern shown in FIG. 4(c) or 4(d) by the multiplexing parameter 306 to the original pixel value.

[0067] 7 is a diagram illustrating the multiplexing parameters. The multiplexing parameters 306 are coefficients used when embedding a pattern image, and are a table that holds coefficients corresponding to U-plane values ​​of image data color-converted to YUV space.

[0068] For example, suppose that the YUV values ​​of all pixels in one block (5px x 5px) in an image after color conversion by the YUV color space conversion unit 502 are (Y, U, V) = (0, -112, 0). In this case, according to the multiplexing parameters 306 in FIG. 7, the coefficient is 2 from row 701. Therefore, if the numerical value (mask value) in the mask pattern shown in FIG. 4(c) or (d) is "0," the information multiplexing unit 506 adds 2 x 0 = 0, which is the product of the coefficient 2 and the mask value 0, to the U value -112, converting the U value to "-112." If the mask value is "-1," the information multiplexing unit 506 adds 2 x (-1) = -2, which is the product of the coefficient 2 and the mask value -1, converting the U value to "-114." If the mask value is "2," the information multiplexing unit 506 adds 2 x 2 = 4, which is the product of the coefficient 2 and the mask value 2, converting the U value to "-108." In this way, the color value of a pixel with a U value of -112 is changed to one of -112, -114, or -108 according to the multiplexing parameter 306 and the mask pattern, resulting in a predetermined cycle.

[0069] The color space inverse conversion unit 507 performs processing to return the color space converted by the YUV color space conversion unit 502 to the original color space. When returning from the YUV color space to a certain RGB color space, for example, the YUV color space is converted to the RGB color space using equations (4), (5), and (6). In this embodiment, the color space is converted to the original color space, trimRGB color space. R = 1.000×Y+1.402×V (4) G = 1.000×Y-0.344×U-0.714×V (5) B = 1.000×Y+1.772×U (6)

[0070] As described above, when the multiplexing function is on, color conversion is performed using the multiplexing color conversion table 307, which takes into account the embedding of pattern images. This makes it possible to reduce the difference in color that occurs when a pattern image is embedded, between the color of the image reproduced on the printed matter C and the color intended by the user (the color when displayed on the display).

[0071] [Multiplexing encoding process flow] Fig. 8 is a flowchart showing the flow of the multiplexing encoding process of this embodiment. The series of processes shown in the flowchart of Fig. 8 are performed by the CPU of the additional information multiplexing device 102 expanding program code stored in ROM into RAM and executing it. Also, some or all of the functions of the steps in Fig. 8 may be realized by hardware such as an ASIC or electronic circuit. Note that the symbol "S" in the explanation of each process indicates a step in the flowchart, and this also applies to subsequent flowcharts.

[0072] In S801, the PDL data acquisition unit 301 acquires PDL data A, and the drawing unit 302 generates bitmap image data A and attribute data based on the PDL data A. The image correction unit 303 also performs a predetermined correction on the image data A. The drawing unit 302 generates bitmap image data by drawing with a number of pixels according to the input resolution to the printer 103. If the input resolution to the printer 103 is 600 dpi (dots per inch), for example, the number of pixels for A4 paper size is 5000 x 7000 pixels.

[0073] In S802, the multiplexing function determination unit 304 checks the on / off setting value of the multiplexing function recorded in the RAM 203 and determines whether to embed a pattern image. If the result of the determination is that the multiplexing function is set to on and the pattern image is to be embedded, the process proceeds to S803.

[0074] In S803, the additional information adding unit 305 acquires data of additional information B to be embedded in the image data to be printed. For example, text document data entered by any keyboard on a smartphone is acquired as the data of additional information B. The text document data is, for example, a character string consisting of numbers and letters.

[0075] In S804, the additional information adding unit 305 executes a multiplexing process to embed a pattern image representing additional information B into all pixels of the bitmap format image data A acquired in S401. Details of the process by the additional information adding unit 305 in S804 are omitted as they have been explained using FIG.

[0076] On the other hand, if it is determined that the pattern image is not to be embedded, the process proceeds to S805. In S805, the color conversion unit 308 converts the color values ​​of the RGB color space into color values ​​of the DeviceRGB color space using the normal color conversion table 309 for the image data.

[0077] If the processing of S805 or S804 is completed, the process proceeds to S806. In S806, the ink color conversion unit 310 performs ink separation processing on the color-converted image data as appropriate, and converts the DeviceRGB values ​​or trimRGB values ​​into color values ​​of ink colors.

[0078] In S807, the density correction unit 312 applies density correction to the image data multiplexed with the additional information. Then, the gradation conversion unit 314 performs gradation conversion in accordance with the number of gradations to generate print data.

[0079] In S808, the CPU 201 transmits the tone-converted image data (print data) to the printer 103. The printer 103 applies ink of each color to a recording medium according to the tone-converted image, and a printed matter C is generated.

[0080] [Explanation of multiplexing decoding process] To extract additional information B embedded in printed matter C, the target printed matter is imaged using an imaging device such as a scanner or a built-in camera of a mobile terminal, and the image is analyzed to extract the additional information embedded in the image.

[0081] 9 is a diagram showing the hardware configuration of a camera-equipped mobile terminal 901, which is an image processing device that performs multiplexing decoding to extract additional information from image information. The camera-equipped mobile terminal 901 is a device that extracts additional information B embedded in printed matter C by analyzing an image obtained by capturing, with a camera or the like, printed matter C generated by multiplexing encoding processing.

[0082] The image sensor 902 has a function of capturing an image of the printed matter C. The additional information separation device 903 analyzes the image captured by the image sensor 902 to extract the additional information B. The process of extracting the additional information will be described in detail later.

[0083] The CPU 904 is a central processing unit that executes various processes according to a program. The ROM 905 stores the program executed by the CPU 904. The RAM 906 provides memory for temporarily storing various information when the CPU 904 executes the program. The secondary storage device 907 is, for example, a hard disk, and is a storage medium for saving image files and image analysis results. The display 908 displays the extracted additional information to the user. The input device 909 is realized, for example, by providing the display 908 with a touch panel function, and accepts processing instructions and character inputs, etc., issued by the user via the touch panel. The network interface 910 is connected, for example, to a wireless LAN (Local Area Network). The LAN is also connected to the Internet. The CPU 904 accesses a site connected to the Internet, displays the site screen on the display 908, and transmits and receives data. If the extracted additional information is audio data or audio-accompanied video data, the speaker 911 outputs the audio indicated by the additional information B. Furthermore, when additional information B is a URL and video data is available at the destination accessed via the Internet, speaker 911 outputs the sound reproduced by the video data.

[0084] Although the camera-equipped mobile terminal 901 has a built-in imaging sensor 902, the configuration may not include the imaging sensor 902. For example, the CPU 904 may perform control so that an imaging sensor included in a device separate from the camera-equipped mobile terminal 901 captures an image obtained as a result of capturing an image of the printed matter C. For example, a digital camera or a video camera may be used instead of the imaging sensor 902. A personal computer or smartphone including the function of the additional information separation device 903 may then capture the captured image of the printed matter C and extract the additional information B.

[0085] 10 is a block diagram showing the functional configuration realized by the basic firmware for multiplexing decoding processing in the camera-equipped mobile terminal 901. The functions described below extract additional information B embedded in printed matter C. In this embodiment, it is assumed that binary data indicating additional information B, such as text document data, audio data, or video data, is embedded as a pattern image on printed matter C. As described above, it is assumed that the same additional information B is embedded multiple times in each area throughout the entire printed matter C.

[0086] The image sensor 902 includes an image capture unit 1001 and a color adjustment unit 1002. The image capture unit 1001 converts the printed matter C, in which additional information B is embedded, into data indicating a sensor value using an image capture element in the image capture sensor 902. For example, the image capture element in the image capture sensor 902 is a CCD. Since CCD image capture elements are a well-known technology, details of the CCD are omitted. The sensor value obtained by the image capture unit 1001 is sent to the color adjustment unit 1002. The color adjustment unit 1002 converts the sensor value extracted by the photodiode in the image capture unit 1001 into captured image data in which the color value of one pixel is, for example, 8-bit data in the YUV color space. The color adjustment unit 1002 also performs color adjustment processing, such as white balance and brightness adjustment, which are normally performed during image capture.

[0087] The additional information separation device 903 has a multiplexing position detection unit 1003, an additional information separation unit 1004, and an extracted data analysis unit 1005. The multiplexing position detection unit 1003 acquires color-adjusted captured image data obtained by capturing an image of a printed matter C in which additional information B is embedded. The multiplexing position detection unit 1003 acquires frequency characteristics of the acquired captured image data. The multiplexing position detection unit 1003 determines the multiplexed signal based on the acquired frequency characteristics, thereby detecting the position of the area in which additional information B is multiplexed.

[0088] FIG. 11(a) is a schematic diagram showing differences in frequency characteristics in a two-dimensional frequency domain. The horizontal axis represents horizontal frequency, and the vertical axis represents vertical frequency. The origin at the center represents the DC component, and the frequency range increases as one moves away from the origin. In this embodiment, switching the mask pattern images shown in FIGS. 4(c) and 4(d) changes the frequency characteristics of the U component in the YUV color space of the multiplexed printed material.

[0089] For example, when the mask pattern of Figure 4(c) is applied, the change in the characteristics of the U component causes a large power spectrum to appear on the frequency vector of line 1101. When the mask pattern of Figure 4(d) is applied, the change in the characteristics of the U component causes a large power spectrum to appear on the frequency vector of line 1102. When separating the additional information B, the multiplexed signal can be determined by detecting the frequency vector where this large power spectrum appears.

[0090] The mask patterns in Figures 4(c) and (d) correspond to HPFs (high-pass filters) with specific frequency vector directionality. Therefore, the mask patterns in Figures 4(c) and (d) are also used as spatial filters for detecting frequency vectors. For example, the spatial filter corresponding to the mask pattern in Figure 4(c) can emphasize the frequency vectors on the line 1101 in Figure 11(a). The spatial filter corresponding to the mask pattern in Figure 4(d) can emphasize the frequency vectors on the line 1102 in Figure 11(a).

[0091] For example, suppose that applying the mask pattern of FIG. 4(c) generates a large power spectrum on the frequency vector of the straight line 1101 in FIG. 11(a). In this case, the amount of change in the power spectrum is amplified by the spatial filter corresponding to the mask pattern of FIG. 4(c), but is hardly amplified by the spatial filter corresponding to the mask pattern of FIG. 4(d). In other words, when filtering is performed using multiple spatial filters in parallel, the power spectrum is amplified only by the spatial filter with the matching frequency vector, and is hardly amplified by the other spatial filters. Therefore, by identifying the spatial filter that amplified the power spectrum, it is possible to determine on which frequency vector the large power spectrum occurred.

[0092] By determining the frequency characteristics in this way, it becomes possible to extract the embedded information. However, if the detection position when determining the frequency characteristics is shifted, the frequency characteristics may not be determined correctly.

[0093] FIG. 12 is a diagram illustrating detection positions when determining frequency characteristics. As shown in FIG. 12, a printed matter 1201 is divided into four blocks, each of which is multiplexed. In FIG. 12(a), a rectangular determination area 1202 enclosed by a dotted line for determining frequency characteristics for each block spans multiple blocks, and the determination area 1202 is offset from the position of the block. On the other hand, in FIG. 12(b), a determination area 1203 for determining frequency characteristics for each block coincides with the position of the multiplexed block, and the determination area 1203 does not span multiple blocks. In the determination area 1203 shown in FIG. 12(b), the frequency characteristics can be correctly determined. On the other hand, in the determination area 1202 shown in FIG. 12(a), the power spectrum of a specific frequency vector is lowered, making it difficult to correctly determine the frequency characteristics.

[0094] The multiplexing position detection unit 1003 detects the position of a multiplexed block based on whether the power spectrum of a specific frequency vector is strong or weak. Specifically, the multiplexing position detection unit 1003 detects frequency characteristics while shifting a determination area for the acquired captured image of printed matter C, and identifies the position of the multiplexed block by determining the detected frequency characteristics.

[0095] The additional information separator 1004 extracts the multiplexed additional information B using the result of determining the frequency characteristics based on the position of the block detected by the multiplexed position detector 1003 .

[0096] Figure 11(b) is a diagram showing how each block is multiplexed on a printed matter. Each rectangular area on the printed matter 1103 is a multiplexed block, and block 1104 is one of these blocks. The number of multiplexed blocks is assumed to be 8 blocks horizontally and 12 blocks vertically, for a total of 96 blocks. It is assumed that "0" and "1" indicating additional information B have been embedded in each block of the printed matter 1103 by multiplexing encoding.

[0097] For example, in FIG. 11(a), if the power spectrum of the frequency vector of line 1101 exceeds a certain threshold, it is determined to be data "0." Also, if the power spectrum of the frequency vector on line 1102 exceeds a certain threshold, it is determined to be data "1." Based on the position detected by the multiplexing position detection unit 1003, the position is shifted by 96 blocks in block units to determine the frequency characteristics. In this case, one bit, "0" or "1," can be determined for each block, so a total of 96 bits of data can be extracted from the printed matter 1103. In this way, by determining the frequency characteristics while shifting the position, multiplexed data can be extracted.

[0098] The extracted data analysis unit 1005 analyzes the numeric string data obtained by the additional information separation unit 1004 separating it from the captured image of the printed matter, and converts the numeric string data into the original format of the additional information B embedded in the printed matter.

[0099] For example, suppose that the additional information B to be multiplexed is text document data, and the numeric string embedded in the multiplexed block is a numeric value obtained by converting the character code of the text into "Shift JIS." The numeric string obtained by separating it from the captured image data as additional information B is temporarily stored in RAM 906. Then, a "Shift JIS" conversion map stored in advance in secondary storage device 907 is made available for reference.

[0100] For example, suppose the numeric string obtained by the additional information separation unit 1004 separating from the captured image is "0110100001100101011011000110110001101111. In this case, when it is mapped to the "Shift-JIS" conversion map, it becomes the following: The upper four bits "0110" and the lower four bits "1000" form the character "h." The upper four bits "0110" and the lower four bits "0101" form the character "e." The upper four bits "0110" and the lower four bits "1100" form the character "l." The upper four bits "0110" and the lower four bits "1100" form the character "l." The upper four bits "0110" and the lower four bits "1111" form the character "o." Therefore, the extracted data analysis unit 1005 can extract the character string "hello" as data of the additional information B in the original format.

[0101] As described above, in this embodiment, a method has been described in which color conversion for multiplexing, which takes into account changes in color on the printed material due to the embedding of a pattern image, is performed before adding additional information B. This makes it possible to reduce the difference between the color reproduced on the print section C and the color intended by the user, which occurs when a pattern image is embedded.

[0102] Note that, in this embodiment, an example has been described in which the multiplexing function determination unit 304 is provided and two types of print flows are provided depending on whether the function is on or off, but this embodiment is not limited to this example. It may also be an apparatus that does not include the multiplexing function determination unit 304 and always executes only a print flow that embeds additional information. Even in this form, by performing color conversion that takes into account the embedding of a pattern image, it is possible to reduce differences from the color intended by the user that occur when a pattern image is embedded.

[0103] Furthermore, in this embodiment, an example has been described in which the user switches the multiplexing function on or off via the input device 206, but the configuration may also be such that the user can specify whether the multiplexing function is on or off when issuing a print instruction. For example, if the PDL data A is data that includes print settings such as paper size, the print settings may include information indicating whether the multiplexing function specified by the user when issuing a print instruction is on or off. The multiplexing function determination unit 304 may then make a determination based on the print settings.

[0104] In addition, in this embodiment, the method of applying mask data has been described as dividing the image into 5px x 5px blocks, but other block sizes and mask shapes may also be used. In other words, any method may be used as long as it is possible to distinguish patterns when imaging the multiplexed print C.

[0105] In addition, although the present embodiment has been described using the YUV space as an example of the color space for embedding a pattern image, the color space is not limited to the YUV color space. The color space for embedding a pattern image may be any color space that can be separated into a luminance component and a color component, and may be the Lab color space or the YCrCb color space in addition to the YUV space.

[0106] [About calibration of the color conversion table for multiplexing] The colors reproduced on the printed material by the printer 103 may vary due to internal factors such as individual differences in hardware or external factors such as temperature and humidity. Therefore, if color conversion is performed using a pre-designed multiplexing color conversion table 307, differences may occur between the colors reproduced on the printed material and the colors intended by the user.

[0107] Fig. 3(b) is a diagram showing a functional block configuration of basic firmware for encoding processing in the additional information multiplexing device 102, which is different from Fig. 3(a). As shown in Fig. 3(b), the additional information multiplexing device 102 may have a multiplexing color conversion table correction unit 315 that corrects (calibrates) the multiplexing color conversion table 307.

[0108] Fig. 13 is a flowchart showing the flow of the correction process for the multiplexing color conversion table 307. The series of processes shown in the flowchart in Fig. 13 are performed by the CPU of the additional information multiplexing device 102 by loading program code stored in ROM into RAM and executing it. Details of the calibration by the multiplexing color conversion table correcting unit 315 will be described with reference to Fig. 13. It should be noted that the multiplexing calibration chart 316 is stored in advance in the ROM 202.

[0109] In S1301, the multiplexing color conversion table correction unit 315 loads the multiplexing calibration chart 316 stored in the ROM 202 into the RAM 203. Then, processing is performed to print the multiplexing calibration chart 316 under the conditions when the multiplexing function determination unit 304 determines that the multiplexing function is off. That is, the color conversion unit 308 performs color conversion processing, and then the ink color conversion unit 310, density correction unit 312, and gradation conversion unit 314 perform their respective processes to generate printing data, which is ink color data for the multiplexing calibration chart 316. The generated printing data is sent to the printer 103, and the printer 103 is caused to print.

[0110] 14(a) is a schematic diagram of the multiplexing calibration chart 316. Each patch on the multiplexing calibration chart 316 corresponds to the RGB value before conversion of each grid number in the multiplexing color conversion table 307. For example, patch 1401 corresponds to the RGB value (R, G, B) = (0, 0, 0) of grid number "1" in the multiplexing color conversion table 307 of FIG. 6. Patch 1402 corresponds to the RGB value (R, G, B) = (0, 0, 16) of grid number "2" in the multiplexing color conversion table 307. Therefore, there are the same number of patches as the grid numbers.

[0111] In S1302, the multiplexing color conversion table correction unit 315 acquires a read image obtained by reading the printout obtained as a result of S1301 using a reading device (not shown).The area corresponding to each patch in the read image is then colorimetrically measured to acquire the color value for each patch.The acquired color values ​​are, for example, known Lab values.The reading device (not shown) is provided, for example, in the printer 103, and is provided in a position where it can read the printout after it has been generated.

[0112] In S1303, the multiplexing color conversion table correcting unit 315 loads the multiplexing calibration chart 316 stored in the ROM 202 into the RAM 203. Then, under the conditions when the multiplexing function determining unit 304 determines that the multiplexing function is on, processing is performed to print the multiplexing calibration chart 316. That is, the additional information adding unit 305 performs color conversion to the trimRGB color space and embeds a pattern image.

[0113] Thereafter, the ink color conversion unit 310, density correction unit 312, and gradation conversion unit 314 perform their respective processes to generate ink color data printing data for a multiplexing calibration chart 316 with an embedded pattern image. When embedding a pattern image in the multiplexing calibration chart 316, it is sufficient to embed a uniform pattern image over the entire surface. For example, the pattern is embedded so that the entire patch is filled with a pattern representing "0" in FIG. 4(a). Alternatively, the pattern is embedded so that the entire patch is filled with a pattern representing "1" in FIG. 4(b). The generated ink color data is sent to the printer 103, which then prints it.

[0114] Fig. 14(b) is a schematic diagram of a calibration chart in which a pattern image is embedded as a result of the processing of S1303. As shown in Fig. 14(b), as a result of the processing of S1303, a multiplexing calibration chart 316 in which a pattern image is embedded in each patch is printed, unlike Fig. 14(a).

[0115] In S1304, the multiplexing color conversion table correction unit 315 acquires a read image obtained by reading the printout of the calibration chart obtained as a result of S1303 using a reading device (not shown). Then, it measures the color of each patch in the read image and acquires the color value of each patch. The acquired color values ​​are publicly known Lab values, as in S1302.

[0116] In S1305, the multiplexing color conversion table correction unit 315 creates a search table for searching for correction values ​​of the multiplexing color conversion table, and stores the search table in the RAM 203.

[0117] 15 is a diagram showing a schematic diagram of a search table 1500. In a column 1502 of the search table that holds converted color values, each converted R'G'B' signal value in the current multiplexing color conversion table 307 is held for each corresponding grid number. Furthermore, the search table is generated so that the search Lab signal values ​​in column 1501 of the search table hold the Lab values ​​corresponding to each grid number (patch) obtained by colorimetry in S1304. That is, column 1501 of the search table generated in this flowchart holds the Lab values ​​obtained by colorimetry of the multiplexing calibration chart 316 that is generated by embedding a pattern image.

[0118] In S1306, the multiplexing color conversion table correction unit 315 updates the multiplexing color conversion table 307 using the Lab values ​​of each patch acquired in S1302 and the search table created in S1305.

[0119] 13B is a flowchart for explaining the details of the step of updating the color conversion table 307. The update process of the multiplexing color conversion table 307 in S1306 will be explained in detail using FIG.

[0120] In S1311, the multiplexing color conversion table correction unit 315 reads the multiplexing color conversion table 307 to be corrected into the RAM 203.

[0121] S1312 to S1315 are loop processes, and S1312 to S1315 are repeated until the converted R'G'B' values ​​for all grid numbers in the multiplexing color conversion table 307 to be corrected have been updated. That is, in S1312, the multiplexing color conversion table corrector 315 selects a grid number to be corrected from among the uncorrected grid numbers. Then, the processes of S1313 to S1314 are performed on the color value of the selected grid number to be corrected. When the process for the grid number to be corrected is completed, another grid number to be corrected is selected from among the uncorrected grid numbers. When there are no more uncorrected grid numbers, the process proceeds to S1316.

[0122] In S1313, the multiplexing color conversion table correction unit 315 calculates a correction value for the grid number to be corrected selected in S1312. The correction value is calculated by interpolating the RGB values ​​corresponding to the Lab values ​​when the multiplexing function is off using the search table created in S1305, and the calculated RGB values ​​are used as the correction values. Specifically, first, the Lab values ​​corresponding to the grid number to be corrected selected in S1312 are selected from the group of Lab values ​​when the multiplexing function is off, obtained in S1302. Next, the selected Lab values ​​are used as input values, and the RGB values ​​are calculated by well-known tetrahedral interpolation using the search table created in S1305.

[0123] In S1314, the multiplexing color conversion table correction unit 315 performs correction by replacing the converted R'G'B' value corresponding to the grid number to be corrected in the multiplexing color conversion table 307 with the RGB value calculated in S1313.

[0124] 16 shows an example of a multiplexing color conversion table after correction in this processing. For example, assume that the grid number selected for processing is "16" and the correction value calculated in S1313 is (R, G, B) = (0, 72, 221). In this case, as shown in row 1601, the multiplexing color conversion table 307 has been updated so that the cell holding the converted R'G'B' value for grid number "16" in the multiplexing color conversion table 307 holds (R', G', B') = (0, 72, 221).

[0125] In S1315, the multiplexing color conversion table correction unit 315 determines whether correction has been completed for all grid numbers. If the result of the determination is that correction has been completed for all grid numbers, the process proceeds to S1316. If not, the process returns to S1312, where a grid number for which updating has not been completed is selected and the process is repeated.

[0126] In S1316, the multiplexing color conversion table correcting unit 315 stores the corrected multiplexing color conversion table 307 in the ROM 202, and the table correction process is completed.

[0127] [Calibrating the color conversion table to DeviceRGB color space] The additional information multiplexing device 102 may also have a color conversion table correction unit 318 (see FIG. 18(b)) that calibrates the normal color conversion table 309 used for color conversion to Device RGB values. Correcting the normal color conversion table 309 can suppress variations in colors reproduced on a printed material that occur due to internal or external factors, such as individual differences in hardware included in the printer 103.

[0128] Fig. 17 is a flowchart showing the flow of the correction process of the color conversion table 309. The series of processes shown in the flowchart of Fig. 17 are performed by the CPU of the additional information multiplexing device 102 by loading program code stored in ROM into RAM and executing it.

[0129] In S1701, the color conversion table correction unit 318 reads into the RAM 203 target color values ​​corresponding to the RGB values ​​of each grid number stored in the ROM 202. The target color values ​​are known Lab values, and the target color values ​​are stored in the ROM 202 for each patch (each grid number) of the calibration chart. The calibration chart 319 used in this flowchart is the same as the multiplexing calibration chart 316 described above, but for ease of explanation, it will be described with numbers different from those of the multiplexing calibration chart 316. The target color values ​​will be referred to below as Lab values. target_x The x at the end corresponds to the grid number.

[0130] Steps S1702 and S1703 are the same as steps S1301 and S1302. That is, in step S1702, the color conversion table correction unit 318 reads the calibration chart 319 stored in the ROM 202 into the RAM 203. Then, the color conversion table correction unit 318 performs processing to print the calibration chart 319 under the conditions when the multiplexing function determination unit 304 determines that the multiplexing function is off.

[0131] In S1703, the color conversion table correction unit 318 acquires a read image obtained by reading the printout obtained as a result of S1702 using a reading device (not shown).The color of each patch in the read image is then measured to acquire a color value for each patch.The acquired color values ​​are, for example, known Lab values.Each patch in the calibration chart 319 corresponds to the RGB value before conversion of each grid number in the color conversion table 309.

[0132] In S1704, the color conversion table correction unit 318 generates a search table for calculating correction values ​​for the color conversion table 309 and stores it in the RAM 203. The format of the search table has the same configuration as the search table 1500 in Fig. 15. However, in the search table when correcting the color conversion table 309, the signal values ​​of the converted RGB values ​​in column 1502 store R'G'B' values, which are the signal values ​​of the converted color values ​​in the current color conversion table 309, for each corresponding grid number. Furthermore, the signal values ​​of the search Lab values ​​in column 1501 of the search table store, for each grid number, the values ​​of the Lab values ​​corresponding to the patches obtained by measuring the color of the calibration chart when the multiplexing function was turned off in S1703.

[0133] In S1705, the color conversion table correction unit 318 uses the Lab values ​​of each patch acquired in S1701 and the search table created in S1704 to update the color conversion table 309. The updated color conversion table 309 is saved in the ROM 202.

[0134] The detailed processing of S1705 is the same as the processing in the flowchart of Fig. 13(b) In other words, the color conversion table correction unit 318 replaces the color conversion table to be corrected with the color conversion table 309 and performs the processing of S1311 to S1316.

[0135] In the correction value calculation process of S1313 in the color conversion table update process of S1705, first, the Lab value corresponding to the grid number to be corrected is selected from the target Lab value group acquired in S1701. Next, the Lab value of the selected target value is used as the input value, and an RGB value is calculated by known tetrahedral interpolation using the lookup table generated in S1704. This calculated RGB value becomes the correction value.

[0136] By performing the above processing and updating the color conversion table 309, it is possible to reduce the difference between the color intended by the user and the color reproduced on the printed material, which is caused by internal factors such as individual differences in hardware and external factors such as temperature and humidity. In this way, unlike the correction using the multiplexing color conversion table 307 described above, it is possible to perform correction using only a calibration chart that does not have a pattern image embedded.

[0137] Furthermore, although an example of correcting the color conversion table 309 has been described as a method for suppressing variations in colors reproduced on a printed material, the object of correction is not limited to the color conversion table 309. Other tables may also be corrected to suppress variations due to internal factors such as individual differences in hardware and external factors such as temperature and humidity. For example, a configuration may be adopted in which variations due to internal and external factors are suppressed by correcting the color separation table 311 or density correction table 313 shown in FIG. 3.

[0138] Note that the calibration of the color conversion table described in this embodiment is a correction that takes into account the state of the printer 103 and the environment in which the printer 103 is installed, and therefore is desirably performed periodically. For example, calibration is desirably performed when the printer 103 itself is started, when a predetermined period of time has passed since the last correction, when a specified number of printed sheets has been reached, or at other times. For example, a function may be provided that displays a message on the display 205 prompting the user to perform calibration at the above-mentioned times. Performing the above-described calibration makes it possible to reduce differences in the colors reproduced in printed materials that arise due to internal factors such as individual differences in hardware and external factors such as temperature and humidity.

[0139] <Modification of the first embodiment> In the above explanation, color conversion to the trimRGB color space, which is a color space for suppressing color changes caused by embedding a pattern image, is performed before the information multiplexing unit 506 performs the process of embedding a pattern image. Alternatively, color conversion to the trimRGB color space may be performed after the information multiplexing unit 506 performs the process of embedding a pattern image. This example also reduces the difference between the color reproduced on the printed material C and the color intended by the user, which occurs when a pattern image is embedded in image data A.

[0140] FIG. 5(b) is a diagram showing the functional configuration within the additional information adding unit 305 of this modified example. The same processing blocks as those in FIG. 5(a) are assigned the same numbers, and their descriptions are omitted. In the additional information adding unit 305 of this modified example, first, the YUV color space conversion unit 502 converts the color space of the image data A into an image in the YUV color space. Then, the information multiplexing unit 506 embeds a pattern image by converting the U value of the YUV color space. Then, the color space inverse conversion unit 507 converts the color space of the image data A in which the pattern image has been embedded from the YUV color space back to the original RGB color space.

[0141] In this embodiment, at the next timing, the multiplexing color conversion unit 501 performs color conversion to the trimRGB color space, which is the color space for multiplexing. The method of this modified example also makes it possible to reduce the difference between the color on the printed material and the color intended by the user, which occurs when a pattern image is embedded.

[0142] <Second embodiment> In this embodiment, a method will be described in which the timing of color conversion from the color space of image data to the DeviceRGB color space by the color conversion unit 308 is different from that in the first embodiment. The differences from the first embodiment will be mainly described in this embodiment. Portions not specifically mentioned have the same configuration and processing as the first embodiment.

[0143] [Functional configuration related to multiplexing encoding processing] 18(a) is a diagram showing the block configuration of basic firmware related to the multiplexing encoding process of the additional information multiplexing device 102 in this embodiment. The same processing blocks as in the first embodiment are assigned the same numbers and descriptions thereof will be omitted.

[0144] The color conversion unit 308 in Fig. 18(a) performs processing to convert the color space of image data into the DeviceRGB color space, similar to the color conversion unit 308 in Fig. 3(a). However, unlike Fig. 3(a), the color conversion unit 308 in Fig. 18(a) performs color conversion to DeviceRGB values ​​before the determination by the multiplexing function determination unit 304. Furthermore, the flow of the multiplexing encoding process in this embodiment differs from the processing in the flowchart in Fig. 8 in that step S805 is performed before step S802.

[0145] 19(a) is a diagram showing the functional configuration of the additional information adding unit 305 of this embodiment. Image data A is input to the additional information adding unit 305 of this embodiment after being color-converted to color values ​​in the DeviceRGB color space by the color conversion unit 308. Therefore, the multiplexing color conversion unit 501 of the additional information adding unit 305 of this embodiment performs color conversion on the image data converted to DeviceRGB values ​​to trimRGB values ​​using a multiplexing color conversion table 1801 that takes into account fluctuations due to the embedding of a pattern image.

[0146] [Color conversion table for multiplexing] 20 is a diagram showing a multiplexing color conversion table 1801 used by the multiplexing color conversion unit 501 of the second embodiment. The format of the table is the same as that of the multiplexing color conversion table 307 described in the first embodiment. The difference between the multiplexing color conversion table 307 of the first embodiment and the multiplexing color conversion table 1801 of this embodiment is the RGB color space before conversion. The multiplexing color conversion table 307 of the first embodiment was premised on converting the RGB values ​​of the input signal values ​​of PDL data A. On the other hand, the multiplexing color conversion table 1801 of this embodiment is a table that converts RGB values ​​(Device RGB values) for a printer that takes into account color reproducibility in printed matter into trim RGB values.

[0147] For example, suppose the color values ​​for reproducing a certain color on a printout are (R',G',B') = (0,5,230) when the multiplexing function is on, and (R',G',B') = (0,0,240) when the multiplexing function is off. In this case, the multiplexing color conversion table 1801 stores values ​​such that the color value of (R',G',B') = (0,0,240) is converted to the color value of (R',G',B') = (0,5,230). Color values ​​are stored so that the same configuration is achieved for other colors.

[0148] By performing color conversion using the normal color conversion table 309 and then performing color conversion using the multiplexing color conversion table 1801, it is possible to obtain results equivalent to those obtained by performing color conversion using a table obtained by combining the normal color conversion table 309 and the multiplexing color conversion table 307. In other words, the relationship is such that the table obtained by combining the tables of Figure 6(b) and Figure 20 is equivalent to the multiplexing color conversion table 307 of Figure 6(a) in the first embodiment.

[0149] As described above, in this embodiment, color conversion that takes into account changes in color on a printed material due to the embedding of a pattern image is performed using the normal color conversion table 309 and the multiplexing color conversion table 1801. That is, the conversion is performed separately: conversion to the DeviceRGB color space, and conversion from the DeviceRGB color space to trimRGB values. Therefore, like the first embodiment, this embodiment makes it possible to reduce the difference between the color on a printed material and the color intended by the user that occurs due to the embedding of a pattern image.

[0150] Note that this embodiment may also have a color conversion table corrector 318 that corrects the color conversion table 309 in order to suppress variations in colors reproduced on printed matter that occur due to internal factors such as individual differences in hardware and external factors such as temperature and humidity. FIG. 18(b) is a diagram showing the functional block configuration of the additional information multiplexing device 102 that has the color conversion table corrector 318. Although not shown in FIG. 18(b), in order to suppress variations in colors reproduced on printed matter, the additional information multiplexing device 102 may have a multiplexing color conversion table corrector that corrects the multiplexing color conversion table 1801 instead of the color conversion table corrector 318.

[0151] <Modification of the second embodiment> As in the modified example of the first embodiment, in this embodiment, color conversion processing to the trimRGB color space may be performed after the information multiplexing unit 506 has performed processing to embed a pattern image.

[0152] FIG. 19(b) is a diagram showing the functional configuration of the additional information adding unit 305 of this modified example. The same processing blocks as those in FIG. 19(a) are assigned the same numbers and their descriptions are omitted. In this modified example, first, the YUV color space conversion unit 502 converts the color space of the image data A into an image in the YUV color space. Then, the information multiplexing unit 506 embeds a pattern image by converting the U value of the YUV color space. Then, the color space inverse conversion unit 507 converts the color space of the image data A in which the pattern image is embedded from the YUV color space back to the original DeviceRGB color space.

[0153] The multiplexing color conversion unit 501 then performs color conversion on the image data in the DeviceRGB color space with the pattern embedded into the trimRGB color space, which is the color space for multiplexing, using the multiplexing color conversion table 1801. Therefore, this modification also makes it possible to reduce the difference between the color on the printed material and the color intended by the user, which occurs when a pattern image is embedded.

[0154] <Third embodiment> In the modified examples of the first and second embodiments, we have described a method for embedding a pattern image and then performing color conversion for multiplexing to reduce the difference between the color reproduced in the printed material and the color intended by the user. However, this method may reduce the power spectrum in a specific direction on the frequency vector generated in the U component by applying the mask pattern shown in Figure 4(c) or (d). This may reduce the accuracy of multiplexing decoding.

[0155] The reason for the reduction in the accuracy of multiplex decoding will be explained below. When color conversion is performed after embedding a pattern image, the difference in RGB values ​​within one 5px x 5px block in image data A may become smaller. In this case, the color difference within one block on printed matter C obtained by printing based on image data A will also become smaller. Therefore, the change in the characteristics of the U component within one block in the captured image of printed matter C becomes smaller, and the power spectrum of a specific direction on the frequency vector of the U component becomes smaller during multiplex decoding. During multiplex decoding, additional information B is extracted by detecting the power spectrum of a specific direction on the frequency vector from the U component of the captured image obtained by capturing an image of printed matter C. Therefore, if the power spectrum becomes smaller, it becomes more difficult to extract additional information B, which may reduce the accuracy of multiplex decoding.

[0156] Therefore, in this embodiment, a method for converting the color value of each pixel so as to reduce color changes on a printed material caused by embedding a pattern image and maintain a power spectrum in a specific direction on a frequency vector occurring in the U component will be described. This embodiment will be described focusing on the differences from the first embodiment. Unless otherwise specified, the configuration and processing are the same as those of the first embodiment.

[0157] [Functional configuration of the additional information adding unit] The functional configuration related to the multiplexing encoding process in the additional information multiplexing device 102 of this embodiment will be described as being the same as that of the second embodiment shown in Fig. 18(a). That is, the description will be given assuming that image data A in the RGB color space obtained by drawing based on PDL data A is converted into DeviceRGB color space and input to the additional information adding unit 305.

[0158] 21 is a diagram showing the functional configuration of the additional information adding unit 305 of this embodiment. The additional information adding unit 305 of this embodiment has a block position setting unit 503, a pattern selecting unit 505, a phase information adding unit 2101, and a pattern color converting unit. The same processing blocks as in FIG. 5 are assigned the same numbers and their descriptions are omitted.

[0159] The phase information adding unit 2101 adds a P component to the image data after conversion to the DeviceRGB color space based on the processing results of the block position setting unit 503 and the pattern selecting unit 505, to hold a value indicating phase information. Phase information is information indicating whether the phase is a positive phase, a zero phase, or a negative phase. A positive phase indicates that the image to be embedded in the pixel is the black block 401 shown in FIGS. 4(a) and 4(b). Similarly, a zero phase indicates the white block 402 shown in FIGS. 4(a) and 4(b), and a negative phase indicates the shaded block 403 shown in FIGS. 4(a) and 4(b). An image to which a P component has been added is called an RGBP image.

[0160] The pattern color conversion unit 2102 acquires the RGBP image from the RAM 203, selects one of the phase pattern color conversion tables 2103-2105 according to the phase information of the P component, and converts the color value of each pixel using the selected phase pattern color conversion table. In this embodiment, the pattern color conversion unit 2102 converts the color values ​​using the phase pattern color conversion tables 2103-2105, thereby simultaneously embedding the pattern image and converting the color that takes into account the color difference caused by embedding the pattern image.

[0161] [Processing flow of the phase information addition part] Fig. 22(a) is a flowchart for explaining the details of the processing of the phase information adding unit 2101. The series of processing shown in the flowchart of Fig. 22(a) is performed by the CPU of the additional information multiplexing device 102 by loading program code stored in ROM into RAM and executing it.

[0162] In S2201, the phase information adding unit 2101 acquires image data A, which is image data output from the block position setting unit 503 and whose color space is the DeviceRGB color space.

[0163] In S2202, the phase information adding unit 2101 adds a P component for adding phase information to the image data acquired in S2201. For example, if the image acquired in S2201 is an image with three channels of RGB, the phase information adding unit 2101 expands it to four-channel image data of RGBP by adding the P component. In the following steps, the image data A will be described as RGBP image data expanded to four channels of RGBP by the processing of S2202. Note that at the completion of S2202, phase information has not been set for the P component.

[0164] S2203 to S2208 are loop processes, and in S2203, the phase information adding unit 2101 selects from the RGBP image data a block to be processed that has no phase information set for the P component from among the blocks set by the block position setting unit 503. S2204 to S2208 are then executed for one block to be processed. When processing for the block to be processed is completed, the process returns to S2203, and a block to be processed is again selected from the unprocessed blocks.

[0165] In S2204, the phase information adding unit 2101 obtains the mask pattern (either the mask pattern in FIG. 4(a) or FIG. 4(b)) of the block currently being processed from the RAM 203. The mask pattern to be applied to the block currently being processed can be obtained from the position coordinates of the block currently being processed based on the processing result of the block position setting unit 503 and the selection result of the pattern selecting unit 505.

[0166] S2205 to S2207 are loop processes, and in S2205 the phase information adding unit 2101 selects a pixel for which phase information is not set in the P component from among the pixels constituting the block currently being processed as a pixel of interest. Then, S2206 is executed for the pixel of interest.

[0167] In S2206, the phase information adding unit 2101 sets phase information in the P channel of the pixel of interest. Specifically, if the pixel corresponding to the pixel of interest among the pixels of the mask pattern selected in S2204 is a positive phase (black block 401 in FIGS. 4(a) and 4(b)), a value indicating a positive phase is set to the P component of the pixel of interest. Similarly, if the pixel is a zero phase, a value indicating a zero phase is set to the P component of the pixel of interest, and if the pixel is a negative phase, a value indicating a negative phase is set to the P component of the pixel of interest.

[0168] In S2207, the phase information adding unit 2101 determines whether phase information has been set for the P component of all pixels that make up the block currently being processed. If phase information has been set for all pixels (YES in S2207), the process proceeds to S2208. If there are pixels for which phase information has not been set (NO in S2207), the process returns to S2205, and a pixel of interest is again selected from the unprocessed pixels that make up the block being processed.

[0169] In S2208, the phase information adding unit 2101 determines whether the process of setting phase information has been performed for all blocks in the RGBP image. If there are unprocessed blocks (NO in S2208), the process returns to S2203. If the process for all blocks has been completed (YES in S2208), the RGBP image data is written to the RAM 203 and the process ends. In this way, the phase information adding unit 2101 generates an RGBP image to which the P component indicating phase information has been added.

[0170] [Processing flow of pattern color conversion part] Fig. 22(b) is a flowchart for explaining the details of the processing of the pattern color conversion unit 2102. The series of processing shown in the flowchart in Fig. 22(b) is performed by the CPU of the additional information multiplexing device 102 by loading program code stored in ROM into RAM and executing it.

[0171] In S2211, the pattern color conversion unit 2102 acquires from the RAM 203 an RGBP image in which phase information is set for the P component of each pixel.

[0172] Steps S2212 to S2217 are loop processes, and in step S2212 the pattern color conversion unit 2102 selects an unprocessed pixel whose color value has not been converted as a pixel of interest from among the pixels of the RGBP image acquired in step S2211. Steps S2213 to S2216 are then executed on the pixel of interest.

[0173] In S2213, the pattern color conversion unit 2102 refers to the value of the P component of the current pixel of interest, and determines whether the value of the P component indicates a positive phase, a zero phase, or a negative phase.

[0174] If the value of the P component is a value indicating a positive phase, the process proceeds to S2214, and the pattern color conversion unit 2102 performs processing to convert the RGB value of the target pixel to a +R+G+B value, which is an RGB value of a positive phase, using a pattern color conversion table 2103 for a positive phase.

[0175] If the value of the P component is a value indicating a 0 phase, the process proceeds to S2215, and the pattern color conversion unit 2102 uses the 0 phase pattern color conversion table 2104 to convert the RGB value of the target pixel to a 0R0G0B value, which is an RGB value of a 0 phase.

[0176] If the value of the P component is a value indicating a negative phase, the process proceeds to S2216, and the pattern color conversion unit 2102 uses the negative phase pattern color conversion table 2105 to convert the RGB value of the target pixel to a negative RGB value, which is the RGB value of the negative phase.

[0177] Fig. 23 shows the pattern color conversion tables for each phase used in this step. Fig. 23(a) is a pattern color conversion table 2103 for a + phase, Fig. 23(b) is a pattern color conversion table 2104 for a 0 phase, and Fig. 23(c) is a pattern color conversion table 2105 for a - phase.

[0178] The table format of the three phase pattern color conversion tables 2103 to 2105 is the same as that of the multiplexing color conversion table 1801 of the second embodiment. That is, the color conversion table in FIG. 23 holds color values ​​after conversion of 17 points (17×17×17=4913 grids) out of the 256 gradations of each RGB color. That is, each grid number holds a converted RGB value corresponding to the DeviceRGB value before conversion. The DeviceRGB values ​​are color values ​​in a color space that takes into account the reproducibility of colors on printed matter by the printer 103.

[0179] Each RGB signal value held in the converted column for each grid number is characterized by a value that maintains a power spectrum in a specific direction on the frequency vector that the pattern image has in the U component on the printed matter C. Furthermore, each RGB signal value held in the converted column is characterized by a value that causes the color after embedding the pattern image to not change on a block-by-block basis compared to the color when the pattern image is not embedded.

[0180] For example, suppose a pattern image is embedded in an area where all the color values ​​of the pixels constituting a certain block in an image after normal color conversion are (R, G, B) = (0, 0, 240). In this case, for positive-phase pixels, row 2301 of the positive-phase pattern color conversion table 2103 is referenced and the pixels are converted to (R, G, B) = (0, 5, 232). Similarly, for zero-phase pixels, row 2302 of the zero-phase pattern color conversion table 2104 is referenced and the pixels are converted to (R, G, B) = (0, 5, 230). For negative-phase pixels, row 2303 of the negative-phase pattern color conversion table 2105 is referenced and the pixels are converted to (R, G, B) = (0, 5, 228). In this way, the color values ​​of (R, G, B) = (0, 0, 240) are converted to color values ​​that do not change color on a block-by-block basis and maintain the power spectrum in a specific direction on the U-component frequency vector.

[0181] 23, in each of the phase pattern color conversion tables 2103-2105, these converted RGB values ​​are stored in association with the pre-conversion color values ​​(R, G, B) = (0, 0, 240) in the DeviceRGB color space. When embedding a pattern image, the color values ​​are converted by switching between the three phase pattern color conversion tables 2103-2105 based on the phase information. By performing one of the processes in S2214-S2216 on all pixels, the embedding of the pattern image and color value conversion that takes into account the color difference caused by embedding the pattern image are performed.

[0182] In S2217, the pattern color conversion unit 2102 determines whether or not color value conversion has been performed for all pixels taking into account the embedding of the pattern. If processing of all pixels has been completed, the RGB image obtained by converting the color values ​​of the RGBP image is written to the RAM 203, and processing ends. If there are unprocessed pixels, the process returns to S2212, selects the unprocessed pixel as the pixel of interest, and repeats processing until conversion of the color values ​​of all pixels is completed.

[0183] As described above, according to this embodiment, it is possible to reduce the difference between the color intended by the user and the actual color that occurs when a pattern image is embedded. Furthermore, in this embodiment, a color value conversion process is performed using a pattern color conversion table that corresponds to the phase information of the pattern image. Therefore, according to this embodiment, it is possible to simultaneously embed a pattern image and perform color conversion that takes into consideration the reduction of the difference between the color intended by the user and the actual color that occurs when the pattern image is embedded.

[0184] In the description of this embodiment, the functional configuration of the additional information multiplexing device 102 has been described as being the same as that shown in FIG. 18(a) used in the second embodiment. Alternatively, this embodiment can be applied even if the functional configuration of the additional information multiplexing device 102 is the configuration shown in FIG. 3(a) described in the first embodiment. In this case, image data A that has not undergone color conversion by the color conversion unit 308 is input to the additional information adding unit 305 in FIG. 21. Therefore, in S2201 in FIG. 22, image data A that has not undergone color space conversion after conversion from PDL data A is acquired.

[0185] Furthermore, in the phase pattern color conversion tables 2103 to 2105 when the functional configuration is that of Fig. 3(a), color values ​​that take into consideration the embedding of a pattern image and the color difference resulting from the embedding of the pattern image are held as post-conversion color values, similar to Fig. 23. However, unlike Fig. 23, the post-conversion columns in the phase pattern color conversion tables 2103 to 2105 hold post-conversion color values ​​when the input signal values ​​on the PDL data A are the color values ​​before conversion.

[0186] <Fourth embodiment> In the first and second embodiments, the functional unit that performs calibration of the color conversion table has been described as having either the multiplexing color conversion table correction unit 315 or the color conversion table correction unit 318. In this embodiment, a configuration that has both the multiplexing color conversion table correction unit 315 and the color conversion table correction unit 318 will be described.

[0187] 24 is a diagram showing the block configuration of basic firmware related to the multiplexing encoding process of the additional information multiplexing device 102 in this embodiment. As described above, the additional information multiplexing device 102 includes a multiplexing color conversion table correction unit 315 that calibrates the multiplexing color conversion table, and a color conversion table correction unit 318 that calibrates the normal color conversion table. The functions of the multiplexing color conversion table correction unit 315 and the color conversion table correction unit 318 in this embodiment will be described later using flowcharts.

[0188] [Color conversion table correction processing] Fig. 25 is a flowchart for explaining the details of the correction process for the color conversion table. The flow of the correction process for each conversion table in this embodiment will be explained using Fig. 25. The series of processes shown in the flowchart in Fig. 25 are performed by the CPU of the additional information multiplexing device 102 by loading program code stored in ROM into RAM and executing it.

[0189] Through the processing of S2501 to S2505, the color conversion table correction unit 318 prints the calibration chart 319 with the multiplexing function set to off, and corrects the color conversion table 309 by measuring the color of the patches on the printed matter obtained as a result of the printing. The processing of S2501 to S2505 is the same as S1701 to S1705 in FIG. 17, and therefore description thereof will be omitted.

[0190] Next, the multiplexing color conversion table correction unit 315 performs the processes from S2506 to S2508 to generate a search table for multiplexing as shown in Fig. 25. The processes from S2506 to S2508 are the same as the processes from S1303 to S1305 in Fig. 13(a) described in the first embodiment, and therefore will not be described again.

[0191] In S2509, the multiplexing color conversion table correcting unit 315 updates the multiplexing color conversion table. The detailed processing of S2509 is the same as the processing in the flowchart of Fig. 13(b), and the multiplexing color conversion table correcting unit 315 corrects the multiplexing color conversion table by performing the processing of S1311 to S1316.

[0192] However, the method for calculating the correction value in S1313 differs from that in the first embodiment. In S2509 in S1313, first, a color value corresponding to the grid number to be corrected is selected from the group of target color values ​​acquired in S2501. Next, the Lab values, which are the target color values ​​of the selected target value, are used as input values ​​to calculate RGB values ​​by known tetrahedral interpolation using the lookup table generated in S2508. The calculated RGB values ​​become the correction values ​​for the grid number to be corrected.

[0193] In this embodiment, the normal color conversion table 309 is corrected to reproduce the target colors as a result of the processes in S2501 to S2505. Similarly, the multiplexing color conversion table 307 is corrected to reproduce the target colors as a result of the processes in S2506 to S2509. Therefore, unlike the correction method for the multiplexing color conversion table described in the first embodiment, this embodiment can also correct the multiplexing color conversion table to target colors similar to those of the normal color conversion table. This makes it possible to reduce color differences that occur when the multiplexing function is turned on and off. Furthermore, by performing the above correction process, it becomes possible to reduce differences between the colors reproduced on the printed material and the colors intended by the user, which occur due to internal factors such as individual differences in hardware or external factors such as temperature and humidity.

[0194] [How to select the color conversion table to be corrected] Fig. 26 is a flowchart for explaining the details of the correction process for the color conversion table. Next, a method will be described that differs from that of Fig. 25 in that the user selects a color conversion table to be corrected and then corrects the selected color conversion table. The series of processes shown in the flowchart of Fig. 26 are performed by the CPU of the additional information multiplexing device 102 loading program code stored in ROM into RAM and executing it. What differs from Fig. 25 is that the color conversion table to be corrected is switched depending on the determination result of S2602.

[0195] Since S2601 is the same process as S2501, the explanation will be omitted.

[0196] In S2602, the CPU 202 reads the on / off setting of the multiplexing function recorded in the RAM 203 and determines whether the multiplexing function is set to on. If the multiplexing function is off (NO in S2602), the color conversion table correction unit 318 executes the processes of S2603 to S2606 to correct the normal color conversion table 309. Since S2603 to S2606 are the same processes as S2502 to S2505, their explanation will be omitted.

[0197] If the multiplexing function is on (YES in S2602), the multiplexing color conversion table correcting unit 315 executes the processes of S2607 to S2610 to correct the multiplexing color conversion table 307. Since S2607 to S2610 are the same processes as S2506 to S2509, a description thereof will be omitted.

[0198] It is preferable that calibration of the color conversion table be performed when predetermined conditions are met, but in the method of Fig. 26, only the color conversion table corresponding to the on / off setting of the multiplexing function is subject to correction. Therefore, if the user does not switch the on / off setting of the multiplexing function at the appropriate time, it is expected that correction of the table that meets the predetermined conditions will not be performed. For this reason, when the user switches the setting of the multiplexing function, it is preferable that a message prompting the user to perform correction is displayed on the display 205.

[0199] In this way, the method shown in the flowchart in Figure 26 can switch the table to be corrected based on the settings of the multiplexing function in response to user instructions. This allows correction processing to be performed only on the color conversion tables that require correction. This reduces the burden on the user and makes it possible to reduce the difference between the color reproduced in the printed material when a pattern image is embedded and the color intended by the user, regardless of the environment or individual differences between printers.

[0200] <Other embodiments> The above-described embodiment can also be applied to the system configuration shown in Fig. 1(b). For example, as long as the multiplexed image generated by the additional information multiplexing unit 105 of the printer 103 after multiplexing encoding processing can be transmitted to the printer 103 and the printing unit 106, either of the configurations shown in Fig. 1(a) and (b) may be used.

[0201] The present disclosure can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes one or more functions. [Explanation of symbols]

[0202] 102 Additional information multiplexing device 501 Multiplexing color conversion unit 307 Multiplexing color conversion table 308 Color conversion unit 309 Color Conversion Table

Claims

1. An image processing device capable of embedding additional information into an image to be printed, an acquisition means for acquiring data of the image; a color conversion means for converting the color values ​​of the image into device-dependent color values; a first correction means; a second correcting means; The color conversion means When the process of embedding the additional information is not performed, a color value is converted using a first parameter; When the process of embedding the additional information is performed, converting color values ​​of the image using at least a second parameter that is different from the first parameter and is not used when the process of embedding the additional information is not performed; the first correction means corrects the first parameter based on a result of measuring the color of a printed matter obtained by printing a chart that has not been subjected to processing to embed the additional information; The second correction means corrects the second parameter based on a result of measuring the color of a printed matter obtained by printing a chart in which the additional information has been embedded.

1. An image processing device comprising:

2. The color conversion means When the process of embedding the additional information is performed, the color value is converted using the second parameter instead of the first parameter.

2. The image processing device according to claim 1, wherein:

3. The second parameter is a parameter for converting the color value of the image acquired by the acquisition unit into a color value for suppressing color fluctuations caused by the process of embedding the additional information.

3. The image processing device according to claim 2.

4. The color conversion means converting color values ​​using the first parameters regardless of whether or not the process of embedding the additional information is performed; When performing the process of embedding the additional information, the image in which the color values ​​have been converted using the first parameter is subjected to color value conversion using the second parameter.

2. The image processing device according to claim 1, wherein:

5. The second parameter is a parameter for converting the color value converted using the first parameter into a color value for suppressing color fluctuations caused by the process of embedding the additional information.

5. The image processing device according to claim 4.

6. At least one of the first correcting means and the second correcting means corrects the parameters based on a user instruction.

2. The image processing device according to claim 1, wherein:

7. When the processing for embedding the additional information is performed, the color conversion means converts color values ​​using the second parameters before the processing for embedding the additional information is performed.

7. The image processing device according to claim 1, wherein the image processing device is a computer.

8. When the processing for embedding the additional information is performed, the color conversion means converts color values ​​using the second parameters after the processing for embedding the additional information is performed.

8. The image processing device according to claim 1, wherein the image processing device is a computer.

9. a selection means for selecting a pattern representing the additional information; and a processing means for processing the pattern to be embedded in the image.

9. The image processing device according to claim 1, wherein the image processing device is a computer.

10. the image is a color image, The processing means performs a process of embedding the pattern by applying mask data to color components of the image.

10. The image processing device according to claim 9,

11. further comprising a selection means for selecting a pattern representing the additional information; The color conversion means When performing the process of embedding the additional information, the selected pattern is embedded by changing the second parameter depending on the pixels that make up the pattern and converting the color value of the pixel of interest in the image.

6. The image processing device according to claim 1, wherein the image processing device is a computer.

12. The color conversion means The second parameters include a plurality of parameters corresponding to pixel values ​​of pixels that form the pattern, A parameter corresponding to the pixel value corresponding to the pixel of interest is selected from the plurality of parameters, and the color value of the pixel of interest is converted using the selected parameter.

12. The image processing device according to claim 11.

13. The plurality of parameters are parameters for embedding the selected pattern and suppressing color variations caused by performing the pattern embedding process.

13. The image processing device according to claim 12.

14. The method further includes a determination unit that determines whether or not to perform a process of embedding the additional information based on a setting made by a user, If the determining means determines that the process of embedding the additional information is to be performed, the process of embedding the additional information is performed.

14. The image processing device according to claim 1, wherein the image processing device is a computer.

15. An image processing method for embedding additional information into an image to be printed, an acquisition step of acquiring data of the image; a color conversion step of converting color values ​​of the image into device-dependent color values; a first correction step; a second correction step; and In the color conversion step, When the process of embedding the additional information is not performed, a color value is converted using a first parameter; When the process of embedding the additional information is performed, converting color values ​​of the image using at least a second parameter that is different from the first parameter and is not used when the process of embedding the additional information is not performed; In the first correction step, correcting the first parameter based on a result of measuring the color of a printed matter obtained by printing a chart that has not been subjected to processing to embed the additional information; In the second correction step, an image processing method for correcting the second parameter based on a result of measuring the color of a printed matter obtained by printing a chart in which the additional information has been embedded;

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

Citation Information

Patent Citations

  • Information imbedding method, system and recording medium thereof

    JP2000106626A

  • Image processor, image processing method, and image processing program

    JP2006129447A

  • Printing system, program and recording medium

    JP2006309685A

  • Color image having predetermined image embedded in original image, color image forming method and device therefor, and image processing method and device therefor

    JP2009044536A

  • Apparatus, and method for processing image, program, and recording medium

    JP2010263322A