Image processing apparatus, method for controlling image processing apparatus, and program

JP2024064804A5Pending Publication Date: 2025-10-29CANON KK
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2022173680
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-10-28
Publication Date
2025-10-29

AI Technical Summary

Technical Problem

Existing digital watermarking techniques face issues with decoding failures due to deteriorated reproducibility of encoded patterns during halftone processing, particularly when the screen angle of the color plane matches the encoded pattern angle or lacks specific frequency components, leading to inconsistent pattern reproduction.

Method used

An image processing device that includes a setting mechanism to select a halftone pattern, determines if the encoded pattern can be uniformly reproduced, and issues a warning notification if reproduction is likely to fail, preventing decoding failures by adjusting halftone settings before printing.

Benefits of technology

Prevents decoding failures by ensuring encoded patterns are uniformly reproduced, allowing for accurate extraction of additional information from printed materials.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide a mechanism that can prevent failure in decoding in advance.SOLUTION: An image forming apparatus 102 performs image processing for printing a print material embedded with additional information. The image forming apparatus 102 sets a halftone pattern used for halftone processing from a plurality of halftone patterns 1 to 3. When the set halftone pattern is used for the halftone processing, the image forming apparatus 102 determines whether coding patterns created based on the additional information can be uniformly reproduced in a color plane for composing the coding patterns. When determining that the coding patterns cannot be uniformly reproduced, the image forming apparatus 102 performs, before outputting the print material embedded with the additional information, warning notification for notifying that the print material is a print material in which failure in decoding the additional information may occur.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an image processing apparatus, a control method for an image processing apparatus, and a program. [Background technology]

[0002] There is a known digital watermarking technology that embeds additional information other than image information into an image (hereinafter referred to as "multiplexing"). In digital watermarking technology, for example, additional information such as the author's name and usage permission information is multiplexed into an image such as a photograph or painting so that it is difficult to visually distinguish. On the other hand, there are also cases where the additional information is multiplexed to increase the accuracy of extracting the additional information from the image, or to be intentionally seen on a white background, such as warning characters in a background pattern.

[0003] As a method for multiplexing additional information onto an image, a technique is known in which pixel values ​​are modulated in a local region of the image, and a pattern image (hereinafter, referred to as "encoding pattern") representing the additional information is synthesized onto the image. In Patent Document 1, an image is divided into blocks of 16 pixels (4×4 pixels), and of the 16 pixels, the pixel values ​​of half the 16 pixels (8 pixels) are modulated in the + direction, and the pixel values ​​of the remaining 16 pixels (8 pixels) are modulated in the - direction. The image synthesized with the encoding pattern in this way is subjected to halftone processing and then printed by a printer or the like. The additional information present on the printed matter generated in this way is extracted by analyzing a scanned image of the printed matter and executing a decoding process. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2000-305429 A Summary of the Invention [Problem to be solved by the invention]

[0005] However, when halftone processing is performed on the coding pattern, the reproducibility of some patterns is reduced. For example, in a configuration using a dithering method as halftone processing, if the screen angle of the color plane into which the coding pattern is synthesized matches the angle of the coding pattern, the coding pattern disappears. In addition, in a configuration using an error diffusion method that does not have a specific frequency component or angle, multiple patterns are not reproduced uniformly depending on the direction of error diffusion. When the reproducibility of some patterns is reduced in this way, there are cases where some patterns can be decoded but other patterns cannot be decoded, resulting in a problem of ultimately failing to decode.

[0006] An object of the present invention is to provide a mechanism capable of preventing decoding failures before they occur. [Means for solving the problem]

[0007] In order to achieve the above-mentioned object, the image processing device of the present invention is an image processing device that performs image processing to generate a printed material with embedded additional information, and is characterized in that it comprises a setting means for setting a halftone pattern to be used in the halftone processing from among a plurality of halftone patterns, a judgment means for judging whether the coding pattern generated based on the additional information can be uniformly reproduced in a color plane synthesized with the coding pattern when the set halftone pattern is used in the halftone processing, and a control means for issuing a warning notification before outputting the printed material with the embedded additional information, informing the user that the printed material is a printed material with the risk of failing to decode the additional information, if the judgment means judges that the coding pattern cannot be uniformly reproduced. Effect of the Invention

[0008] According to the present invention, it is possible to prevent a decoding failure before it occurs. [Brief description of the drawings]

[0009] [Figure 1]10A and 10B are diagrams for explaining multiplexing of additional information and extraction of additional information in the present embodiment. [Diagram 2] 2 is a block diagram illustrating a schematic hardware configuration of the host PC illustrated in FIG. 1. [Diagram 3] 2 is a block diagram illustrating a schematic hardware configuration of the additional information multiplexing device of FIG. 1. [Figure 4] 4 is a flowchart showing the procedure of a multiplexing control process executed in the additional information multiplexing device of FIG. [Diagram 5] 2 is a diagram showing an example of a coding pattern that is synthesized onto image data by the additional information multiplexing device of FIG. 1. [Figure 6] 4 is a diagram for explaining a method of calculating pixel values ​​when the additional information multiplexing device in FIG. 1 synthesizes encoded patterns. FIG. [Figure 7] 2 is a block diagram illustrating a schematic hardware configuration of the image forming apparatus in FIG. 1. [Figure 8] 8 is a flowchart showing a procedure of a control process executed in a controller of FIG. 7. [Figure 9] 3 is a diagram showing an example of a halftone pattern that can be used by the image forming apparatus of FIG. 1. [Figure 10] 2 is a block diagram illustrating a schematic hardware configuration of the additional information extraction device of FIG. 1. [Figure 11] 2 is a flowchart showing the procedure of additional information extraction processing executed in the additional information extraction device of FIG. [Figure 12] 10 is a schematic diagram showing a difference in frequency characteristics in a two-dimensional frequency domain in the Y plane of the present embodiment. FIG. [Figure 13] FIG. 1 is a diagram illustrating an example of an HPF having a specific frequency vector directionality. [Figure 14] FIG. 12 is a diagram for explaining detection of multiplexed blocks in step S1102 of FIG. [Figure 15] FIG. 13 is a diagram showing an example of a printed matter on which additional information is multiplexed. [Figure 16] FIG. 13 is a diagram for explaining reproducibility of an encoding pattern. [Figure 17] 2 is a flowchart showing the procedure of a PDL data transmission control process executed in the host PC of FIG. [Figure 18] FIG. 18 is a diagram showing an example of a coding pattern uniformity table generated in step S1712 of FIG. [Figure 19] FIG. 3 is a diagram showing an example of a warning screen displayed on the monitor of FIG. 2. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Hereinafter, the embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the present invention, and not all of the combinations of features described in the embodiments are essential to the solution of the present invention. Note that the same components are given the same reference numbers and descriptions are omitted.

[0011] FIG. 1 is a diagram for explaining multiplexing of additional information and extraction of additional information in this embodiment.

[0012] In this embodiment, multiplexing of additional information is performed by a host PC 100, an additional information multiplexing device 101, and an image forming device 102 shown in FIG.

[0013] The host PC 100 converts image and document data into PDL data using a printer driver 212 shown in FIG. 2, which will be described later, and transmits this PDL data to the additional information multiplexing device 101 via a network 240 shown in FIG. 2, which will be described later. Note that PDL is an abbreviation for Page DeScription Language. The PDL data includes ON / OFF information for a multiplexing function, additional information, etc. Note that the details of the processing by the host PC 100 will be described later.

[0014] When the additional information multiplexing device 101 receives PDL data from the host PC 100, it performs a rasterization process on the PDL data to generate image data in a bitmap format. Next, the additional information multiplexing device 101 determines whether the multiplexing function is ON or OFF. For example, when the multiplexing function is OFF, the additional information multiplexing device 101 transmits image data generated by the rasterization process to the image forming device 102 via a network 240, which will be described later. On the other hand, when the multiplexing function is ON, the additional information multiplexing device 101 encodes the additional information into binary data represented by binary numbers and converts the binary data into an encoding pattern. In addition, the additional information multiplexing device 101 combines the encoding pattern with the image data generated by the rasterization process. The additional information multiplexing device 101 transmits the image data combined with the encoding pattern to the image forming device 102 via the network 240, which will be described later. Details of the process performed by the additional information multiplexing device 101 will be described later.

[0015] The image forming apparatus 102 converts the received image data into image data for printing, and performs printing processing based on this image data for printing, thereby generating a printed matter on which additional information is multiplexed.

[0016] In this embodiment, the extraction of additional information is performed by an additional information extraction device 103 shown in FIG. 1(b).

[0017] The additional information extraction device 103 reads a printed matter and generates scanned image data of the printed matter, or receives image data obtained by photographing the printed matter via a network 240, which will be described later. If additional information is multiplexed in the image data, the additional information extraction device 103 extracts a coding pattern. In addition, the additional information extraction device 103 converts the extracted coding pattern into binary data represented by binary numbers, and decodes this binary data into the original additional information. In this way, the additional information can be extracted from the printed matter on which the additional information is multiplexed.

[0018] Next, the host PC 100 in this embodiment will be described.

[0019] Fig. 2 is a block diagram showing a schematic hardware configuration of the host PC 100 in Fig. 1. In Fig. 2, the host PC 100 includes a CPU 201, a ROM 202, a RAM 203, a network I / F 204, an auxiliary storage device 210, and an input / output I / F 220. These are connected to each other via an internal bus 200.

[0020] The CPU 201 controls the entire host PC 100 in accordance with programs stored in the ROM 202, RAM 203, and auxiliary storage device 210. The ROM 202 stores various programs. The RAM 203 is used as a work area when the CPU 201 performs various processes. The auxiliary storage device 210 stores an application 211, a printer driver 212, an operating system (OS) 213, and the like.

[0021] The network I / F 204 is an interface for the host PC 100 to transmit and receive data to and from an external device connected to the network 240, for example, the additional information multiplexing device 101. The input / output I / F 220 is connected to an input / output device 230. The input / output device 230 is, for example, a keyboard 231, a pointing device 232, a camera 233, a microphone 234, and a monitor 235. The keyboard 231 and the pointing device 232 are input devices for a user to input various instructions to the host PC 100. The camera 233 has a photographing function. The microphone 234 has a sound collecting function. Note that in a configuration in which the host PC 100 has a photographing function and a sound collecting function, the camera 233 and the microphone 234 do not need to be connected to the input / output I / F 220. The monitor 235 displays various screens based on display data acquired from the input / output I / F 220.

[0022] Here, the operation of the printer driver 212 will be described. When the printer driver 212 receives a print instruction from the OS 213, it displays the print setting screen of the printer driver 212 on the monitor 235. The printer driver 212 saves the print setting information input by the user in the RAM 203. The print setting information includes, for example, ON / OFF information of the multiplexing function, additional information, color component information of the coding pattern, image processing setting information described later, and the like. The color component information of the coding pattern is information indicating the color planes to be combined with the coding pattern. Furthermore, the printer driver 212 judges whether the coding pattern can be uniformly reproduced based on the configuration of the coding pattern, the color component information of the coding pattern, and the image processing setting information. Based on the result of the judgment, a warning screen 1900 shown in FIG. 19 described later is displayed on the monitor 235, which allows the user to select whether to reset the print setting information or to interrupt printing. This makes it possible to prevent a printed matter on which the additional information cannot be decoded from being output. Details of the processing will be described later. Furthermore, the printer driver 212 generates PDL data in accordance with a GDI command provided by the OS 213, and stores this PDL data in the RAM 203. The generated PDL data is transmitted to the additional information multiplexing device 101 via the network I / F 204.

[0023] Next, the additional information multiplexing device 101 according to this embodiment will be described.

[0024] Fig. 3 is a block diagram showing a schematic hardware configuration of the additional information multiplexing device 101 in Fig. 1. The additional information multiplexing device 101 includes a CPU 301, a RAM 302, a ROM 303, and a network I / F 304. These are connected to each other via an internal bus 305.

[0025] The CPU 301 controls the entire additional information multiplexing device 101. The RAM 302 is used as a work area when the CPU 301 executes various commands. The ROM 303 stores programs executed by the CPU 301 when the additional information multiplexing device 101 is started up, setting data for the additional information multiplexing device 101, and the like. The network I / F 304 is an interface through which the additional information multiplexing device 101 transmits and receives data to and from external devices connected to the network 240, such as the host PC 100 and the image forming device 102. For example, when the additional information multiplexing device 101 receives PDL data from the host PC 100, it stores the PDL data in the RAM 302 and executes the multiplexing control process of FIG. 4.

[0026] Fig. 4 is a flowchart showing the procedure of the multiplexing control process executed in the additional information multiplexing device 101 of Fig. 1. The multiplexing control process of Fig. 4 is realized by the CPU 301 executing a program stored in the ROM 303. Fig. 4(a) shows the procedure of the entire multiplexing control process.

[0027] In FIG. 4(a), first, the CPU 301 analyzes the PDL data read from the RAM 302 (step S401). The CPU 301 generates image data in a bitmap format and attribute data. The image data in a bitmap format is image data in an RGB color space (hereinafter referred to as "RGB image data"). The attribute data is data generated for each pixel based on the type of drawing command of the object. The attribute data is determined according to the following criteria. Specifically, the attribute data of pixels in an area specified by a character drawing command (character type and character code) is determined to be character attributes. The attribute data of pixels in an area specified by a line drawing command (coordinate points, length, thickness) is determined to be line attributes. The attribute data of pixels in an area specified by a figure drawing command (rectangle, shape, coordinate points) is determined to be figure attributes. The attribute data of pixels in an area specified by an image drawing command (set of points) is determined to be image attributes.

[0028] Furthermore, the CPU 301 acquires print setting information from the PDL data and stores this print setting information in the RAM 302. As described above, the print setting information includes ON / OFF information of the multiplexing function, additional information, color component information of the coding pattern, image processing setting information, etc. The image processing setting information is, for example, information indicating a halftone pattern used in halftone processing, which will be described later. This halftone pattern is, for example, a halftone pattern designated by a user who has instructed the host PC 100 to transmit PDL data, or a default halftone pattern.

[0029] Next, CPU 301 performs color space conversion to convert the generated RGB image data into image data in the CMYK color space (hereinafter referred to as "CMYK image data") (step S402). In this color space conversion, a four-dimensional LUT is used that can convert the RGB image data into a CMYK color space that can form desired color (Lab) values ​​on paper. This four-dimensional LUT may be one that has been obtained in advance through experiments or simulations, or may be one that has been calculated using a formula or the like. The CMYK image data obtained in step S402 is stored in RAM 302.

[0030] Next, CPU 301 determines whether the multiplexing function is ON based on ON / OFF information of the multiplexing function included in the print setting information stored in RAM 302 (step S403). If it is determined in step S403 that the multiplexing function is ON, CPU 301 acquires additional information from RAM 302 (step S404). Next, CPU 301 performs the additional information multiplexing process of FIG. 4B (step S405).

[0031] FIG. 4B is a flow chart showing the procedure of the additional information multiplexing process in step S405 of FIG.

[0032] In FIG. 4B, the CPU 301 performs encoding processing on the acquired additional information (step S411). In the encoding processing, the numbers and characters indicated by the additional information are converted into binary data, which is binary data represented only by "0" and "1", based on a character code. The character code defines information indicating what binary data the numbers and characters are converted into. Here, as an example, a case will be described where encoding processing is performed on the additional information "hello" based on the character code "Shift JIS". In this case, the additional information "hello" is converted into binary data "0110100001100101011011000110110001101111".

[0033] Next, CPU 301 converts the binary data obtained in step S411 into a coding pattern for each numerical value ("0" or "1") constituting the binary data (step S412). Here, the coding pattern to be synthesized with image data will be explained with reference to FIG. 5. FIG. 5(a) is an example of a coding pattern corresponding to the numerical value "0". This coding pattern is composed of 10px (pixels) x 10px. FIG. 5(b) is an example of a coding pattern corresponding to the numerical value "1". This coding pattern is also composed of 10px x 10px.

[0034] By combining the coding pattern in Fig. 5(a) and the coding pattern in Fig. 5(b) with image data, the image data will have different periodicities in 10px x 10px block units. The method of combining coding patterns will be described later. If a printed matter of image data combined with this coding pattern can be scanned and frequency analysis is performed on the image data obtained, and the arrangement of the coding patterns with two periodicities can be identified, binary data consisting of "0" and "1" can be read.

[0035] Next, the CPU 301 acquires the CMYK image data obtained in step S402 and the color component information of the coding pattern included in the print setting information from the RAM 302. The CPU 301 sets the position coordinates of the blocks to be combined with each coding pattern for the image of the color plane indicated by the color component information of the coding pattern in the CMYK image data (step S414). For example, the image size is assumed to be 640px vertical and 480px horizontal. Also, the block size is assumed to be the size of the coding pattern, that is, 10px vertical and 10px horizontal. In this case, the number of vertical blocks is 640÷10=64 blocks, and the number of horizontal blocks is 480÷10=48 blocks. Also, the total number of blocks is 64×48=3072 blocks. In step S414, for example, the upper left coordinates of the target block are set as the position coordinates of the block.

[0036] Here, the size of the additional information that can be expressed will be described. The additional information multiplexing device 101 multiplexes the same data in multiple locations so that the additional information extraction device 103 can extract the additional information even if only a part of the printed matter is read. For example, if the same additional information is multiplexed in 32 locations, and the total number of blocks in the image is 3072 as found in step S414, the size of the additional information is such that it can be expressed using 3072÷32=96 blocks. Since one block is 1-bit information of "0" and "1", the additional information can handle 96-bit information. However, in Shift JIS, 8 bits of "11111111", which are not expressed as characters, are included at the beginning of the character so that the starting position of the 96 bits can be known. Therefore, it is possible to define 96-8=88-bit data as the additional information. In this embodiment, in step S411, binary data that fits within 88 bits and is made up of "0" and "1" is obtained.

[0037] Next, the CPU 301 synthesizes each coding pattern obtained in step S412 with the CMYK image data obtained in step S402 at the position coordinates of each block set in step S414 (step S415). Here, a method of calculating pixel values ​​when synthesizing coding patterns will be described with reference to FIG. 6. In this embodiment, a case will be described in which a print instruction is given to synthesize the coding pattern on a Yellow plane (hereinafter referred to as "Y plane") having a high lightness component in the CMYK color space so that the coding pattern is not noticeable. FIG. 6(a) corresponds to the coding pattern in FIG. 5(a), and FIG. 6(b) corresponds to the coding pattern in FIG. 5(b). The numerical values ​​in the diagram indicate the pixel values ​​of Yellow to be added to the CMYK image data obtained in step S402. For example, if the pixel values ​​of the Y plane to which the coding pattern in FIG. 6 is synthesized are all 20, the pixel with a numerical value of 0 in FIG. 6 will be 20+0=20, and the pixel with a numerical value of 72 in FIG. 6 will be 20+72=92. If the pixel value of the Y plane of the block to which the coding pattern is to be synthesized is 184 or more, the value becomes 184+72=256, which exceeds the 8-bit maximum value. In such a case, the pixel value is clipped to the 8-bit maximum value of 255. By synthesizing the coding pattern in this way, the Y plane has a predetermined period due to the coding pattern in units of 10 pix x 10 pix blocks. The CMYK image data with which the coding pattern has been synthesized is stored in the RAM 302, and the multiplexing control process ends. After that, this CMYK image data and image processing setting information are transmitted to the image forming apparatus 102.

[0038] On the other hand, if it is determined in step S403 that the multiplexing function is not ON but OFF, the multiplexing control process ends. After that, the CMYK image data and the image processing setting information stored in the RAM 302 are transmitted to the image forming apparatus 102.

[0039] In the present embodiment, the configuration has been described in which the additional information acquired from the PDL data is converted into a coding pattern and the coding pattern is synthesized with the CMYK image data, but the present invention is not limited to this configuration. For example, instead of the additional information acquired from the PDL data, additional information previously stored in the ROM 303 of the additional information multiplexing device 101 may be converted into a coding pattern and the coding pattern may be synthesized with the CMYK image data.

[0040] Next, the image forming apparatus 102 according to the present embodiment will be described.

[0041] Fig. 7 is a block diagram showing a schematic hardware configuration of the image forming apparatus 102 in Fig. 1. In Fig. 7, the image forming apparatus 102 includes a controller 700, a UI 720, a scanner 730, and a printer 740. The controller 700 is connected to the UI 720, the scanner 730, and the printer 740. The controller 700 also includes a network I / F 701, a CPU 702, a RAM 703, a ROM 704, a printer image processing unit 705, an engine I / F 706, and an input / output I / F 707. These are connected to each other via an internal bus 708.

[0042] The network I / F 701 is an interface through which the image forming apparatus 102 transmits and receives data to and from an external device connected to the network 240, such as the additional information multiplexing device 101. The CPU 702 controls the entire image forming apparatus 102. The RAM 703 is used as a work area when the CPU 702 executes various commands. The ROM 704 stores programs executed by the CPU 702 when the image forming apparatus 102 is started up, setting data for the controller 700, and the like. The printer image processing unit 705 converts image data and document data received from an external device into print data. The engine I / F 706 transfers this print data to the printer 740. The input / output I / F 707 is an interface through which the controller 700 transmits and receives data to and from the UI 720 and the scanner 730.

[0043] The printer 740 prints an image on paper based on the print data. The UI 720 is a user interface that allows the user to give instructions such as selecting paper information to the image forming apparatus 102. The scanner 730 reads a printed material and generates image data of the printed material.

[0044] Here, an overview of the operation of the controller 700 will be described.

[0045] Fig. 8 is a flowchart showing the procedure of the control process executed in the controller 700 of Fig. 7. The control process of Fig. 8 is realized by the CPU 702 of the controller 700 executing a program stored in the ROM 704. The control process of Fig. 8 is executed when the additional information multiplexing device 101 executes the above-mentioned multiplexing control process to generate CMYK image data and transmits this CMYK image data and image processing setting information to the image forming device 102.

[0046] 8, first, the CPU 702 acquires CMYK image data and image processing setting information from the additional information multiplexing device 101 via the network I / F 701 (step S801). As described above, the image processing setting information is information that indicates the halftone pattern used in the halftone process.

[0047] Here, a case where the user switches the halftone pattern will be described First, halftone pattern candidates in this embodiment will be described with reference to FIG.

[0048] Fig. 9 is a diagram showing an example of halftone patterns that can be used by the image forming apparatus 102 in Fig. 1. In Fig. 9, halftone pattern 1 is a halftone pattern with a low screen ruling, halftone pattern 2 is a halftone pattern with a high screen ruling, and halftone pattern 3 is a halftone pattern with a higher screen ruling than halftone pattern 2. The image forming apparatus 102 can switch between these three halftone patterns. In this embodiment, halftone pattern 1 is a default halftone pattern with a low screen ruling, and halftone pattern 2 is a default halftone pattern with a high screen ruling.

[0049] In the dithering method using a threshold matrix, the higher the number of lines, the more small dots the image data after halftone processing is composed of. This improves the reproducibility of small points and characters with low signal values, but the reproducibility of the dots themselves becomes unstable and the gradation of the image area decreases.

[0050] On the other hand, in the dithering method using a threshold matrix, the lower the number of lines, the fewer the number of large dots the image data after halftone processing is composed of. Therefore, the reproducibility of small points and characters with low signal values ​​decreases (increased jaggedness, etc.), but the reproducibility of the dots themselves is stable and the gradation of gradations and the like is improved. In this way, there is a trade-off between low line count and high line count. The image forming device 102 obtains the attribute data obtained in step S401 from the additional information multiplexing device 101 and performs halftone processing based on this attribute data. For example, the image forming device 102 performs halftone processing by the dithering method with a low line count threshold matrix on the image attribute region in the image data. Also, the image forming device 102 performs halftone processing by the dithering method with a high line count threshold matrix on the character attribute region, line attribute region, and graphic attribute region in the image data. By controlling the halftone processing according to the attribute in this way, the trade-off relationship of the line count is eliminated, and it is possible to output a printed matter of good image quality for each attribute.

[0051] For example, a user may be more concerned about jaggy characteristics than gradation and may select halftone pattern 2, which has a higher screen ruling than halftone pattern 1, as the default halftone pattern for the image part. Anticipating such user requests, the image forming apparatus 102 holds a plurality of halftone patterns. Note that, in the following, for ease of explanation, an example will be described in which the halftone pattern is not switched for each attribute, but only the default halftone pattern with a low screen ruling is used. In other words, in this embodiment, it is assumed that halftone pattern 1, which is the default halftone pattern with a low screen ruling, is set as the halftone pattern used in halftone processing.

[0052] Returning to the explanation of Fig. 8, the CPU 702 performs gamma correction processing on the CMYK image data acquired in step S801 (step S802). This gamma correction processing is performed using a one-dimensional LUT so that the image data obtained by halftone processing in step S803, which will be described later, has desired density characteristics when transferred to recording paper. The image data that has undergone gamma correction processing is stored in the RAM 703.

[0053] Next, the CPU 702 performs halftone processing on the gamma-corrected image data stored in the RAM 703 (step S803). The halftone-processed image data is stored in the RAM 703, and this control process ends. Thereafter, the printer 740 forms the halftone-processed image data stored in the RAM 703 on paper. This produces a printed matter. For example, if the multiplexing function is ON, a printed matter is produced on which additional information is multiplexed.

[0054] Next, the additional information extraction device 103 in this embodiment will be described.

[0055] Fig. 10 is a block diagram showing a schematic hardware configuration of the additional information extraction device 103 of Fig. 1. In Fig. 10, the additional information extraction device 103 includes an additional information extraction control unit 1000, a UI 1010, and an image reading unit 1020. The additional information extraction control unit 1000 is connected to the UI 1010 and the image reading unit 1020. The additional information extraction control unit 1000 also includes a network I / F 1001, a CPU 1002, a RAM 1003, and a ROM 1004. These are connected to each other via an internal bus 1005.

[0056] The additional information extraction control unit 1000 extracts additional information from the scan image data generated by the image reading unit 1020 by reading a printed matter. The network I / F 1001 is an interface for the additional information extraction device 103 to transmit and receive data to and from an external device connected to the network 240. The CPU 1002 controls the entire additional information extraction device 103. The RAM 1003 is used as a work area when the CPU 1002 executes various commands. The ROM 1004 stores programs executed by the CPU 1002 when the additional information extraction device 103 is started, setting data of the additional information extraction control unit 1000, and the like. The UI 1010 is a user interface for a user to operate the additional information extraction device 103. The image reading unit 1020 has a scan function. For example, when a user inputs an instruction to read additional information multiplexed on a printed matter to the UI 1010, the image reading unit 1020 reads the set printed matter and generates scan image data of the printed matter. The generated scanned image data is stored in the RAM 1003, and the additional information extraction process of FIG. 11 is executed.

[0057] Fig. 11 is a flowchart showing the procedure of the additional information extraction process executed in the additional information extraction device 103 of Fig. 1. This additional information extraction process is realized by the CPU 1002 executing a program stored in the ROM 1004.

[0058] 11, the CPU 1002 acquires the scan image data generated by the image reading unit 1020 from the RAM 1003 (step S1101). Next, the CPU 1002 detects the position of a multiplexed block corresponding to a block of a coding pattern combined with the acquired scan image data (step S1102). Here, a method of detecting the position of a multiplexed block will be described with reference to FIGS. 12, 13, and 14.

[0059] 12 is a schematic diagram showing the difference in frequency characteristics in the two-dimensional frequency domain in the Y plane of the present embodiment. The horizontal axis indicates the frequency in the horizontal direction, and the vertical axis indicates the frequency in the vertical direction. The origin in the center indicates a direct current component, and the frequency range increases as the frequency moves away from the origin.

[0060] 12, the area where the power of frequency components at 117 deg and 297 deg appears is indicated by a straight line 1201, and the area where the power of frequency components at 27 deg and 206 deg appears is indicated by a straight line 1202. Furthermore, the area where the power of frequency components at 134 lpi appears is indicated by a circle 1203. In other words, an intersection 1211 of the straight line 1201 and the circle 1203 indicates the location where the power of frequency components at 134 lpi and 117 deg appears, and an intersection 1212 of the straight line 1201 and the circle 1203 indicates the location where the power of frequency components at 134 lpi and 297 deg appears. An intersection 1213 between the line 1202 and the circle 1203 indicates the location where the power of the frequency component at 134 lpi and 27 deg appears, and an intersection 1214 between the line 1202 and the circle 1203 indicates the location where the power of the frequency component at 134 lpi and 206 deg appears.

[0061] For example, when the frequency components of the coding pattern in Fig. 5(a) are 134 lpi and 117 deg, a large power spectrum occurs at the intersection 1211. When the frequency components of the coding pattern in Fig. 5(b) are 134 lpi and 27 deg, a large power spectrum occurs at the intersection 1213. By detecting the location where a power spectrum above a certain threshold occurs in this way, it is possible to determine which coding patterns are being combined.

[0062] For example, when the halftone pattern set is 300 lpi, 0 deg, which can uniformly reproduce the coding pattern, the frequency component of the Y plane generated by the halftone process appears at point 1215. 300 lpi, 0 deg is a halftone pattern that can uniformly reproduce the coding patterns of FIG. 5(a) and FIG. 5(b). Therefore, when frequency analysis is performed on the scanned image data in which these coding patterns are uniformly reproduced, a large power spectrum appears at intersection 1211 and intersection 1213. On the other hand, when the halftone pattern set is a halftone pattern that cannot uniformly reproduce the coding pattern, for example, a halftone pattern of 134 lpi, 117 deg, the coding pattern of FIG. 5(a) disappears. Therefore, the large power spectrum that should have appeared at intersection 1211 does not appear, and the coding pattern cannot be detected.

[0063] Figures 13(a) and 13(b) are diagrams showing an example of an HPF (high-pass filter) having a specific frequency vector directionality. The HPFs in Figures 13(a) and 13(b) are also used as spatial filters when detecting frequency vectors. That is, the spatial filter in Figure 13(a) can emphasize frequency vectors on a straight line 1201, and the spatial filter in Figure 13(b) can emphasize frequency vectors on a straight line 1202.

[0064] As an example, a case will be described in which a large power spectrum occurs on the frequency vector of the line 1201 in Fig. 12 due to the encoding pattern in Fig. 5(a). In this case, the spatial filter in Fig. 13(a) amplifies the amount of change in the power spectrum, but the spatial filter in Fig. 13(b) hardly amplifies the amount of change in the power spectrum. In other words, when multiple spatial filters are filtered in parallel, amplification occurs only when the spatial filter with the same frequency vector is used, and amplification hardly occurs in other filters. Therefore, it is easy to determine on which frequency vector a large power spectrum occurs.

[0065] As described above, by determining the frequency characteristics, it is possible to extract the coding pattern, but if the position to be extracted is shifted when determining the frequency characteristics, the coding pattern cannot be extracted correctly. For this reason, in this embodiment, in step S1102, the position of the multiplexed block in the acquired scanned image data is detected.

[0066] FIG. 14 is a diagram for explaining the detection of the multiplexed block in step S1102 in FIG. 11. An image 1401 shows a part of the image constituting the scanned image data, specifically, an image composed of four blocks of the coding pattern. Regions 1402 and 1403 show the regions to be determined for the frequency characteristics. FIG. 14(a) shows a state in which the determination region 1402 is shifted from the position of the block of the coding pattern. FIG. 14(b) shows a state in which the determination region 1403 coincides with the position of the block of the coding pattern. When the determination region 1403 coincides with the position of the block of the coding pattern as in FIG. 14(b), it is possible to correctly identify the predetermined frequency. On the other hand, when the determination region 1402 is shifted from the position of the block of the coding pattern as in FIG. 14(a), the power spectrum of the specific frequency vector is lowered, making it difficult to identify the predetermined frequency. The CPU 1002 detects the position of the multiplexed block corresponding to the block of the coding pattern based on whether the power spectrum of the specific frequency vector is strong or weak. Therefore, the CPU 1002 detects multiplexed blocks by determining frequency characteristics while shifting the position of the block for the acquired scan image data. This is the method for detecting multiplexed blocks.

[0067] Returning to FIG. 11, CPU 1002 determines whether the position of the multiplexed block has been detected (step S1103). If it is determined in step S1103 that the position of the multiplexed block has not been detected, the additional information extraction process ends. If it is determined in step S1103 that the position of the multiplexed block has been detected, CPU 1002 uses the detected position as a reference and extracts the synthesized coding pattern using the determination result of the frequency characteristics (step S1104).

[0068] FIG. 15 is a diagram showing an example of a printed matter 1501 on which additional information is multiplexed. In FIG. 15, a block 1502 indicates a multiplexed block. The number of multiplexed blocks is 48 blocks horizontally and 96 blocks vertically, totaling 3072 blocks. In FIG. 15, the additional information is encoded to "0" and "1" for each block and synthesized as an encoding pattern. In step S1104, the position is shifted by 3072 blocks in block units based on the position detected in step S1102, and frequency characteristics are determined. In this case, one encoding pattern can be determined for each block, so that a total of 96 bits x 32 bits of data can be extracted. In this way, by determining frequency characteristics while shifting the position, all encoding patterns can be extracted. However, in this embodiment, as described above, 32 pieces of the same data are synthesized, so the size of the additional information itself is 88 bits, excluding "11111111" which indicates the start.

[0069] Next, CPU 1002 analyzes the extracted coding patterns and decodes them into the original additional information format (step S1105). Specifically, CPU 1002 converts the extracted coding patterns into binary data represented by binary numbers, and decodes this binary data into the original additional information based on the character code. By comparing the decoded additional information with correct answer data stored in an external server, for example, it becomes possible to identify the author. When the process of step S1105 is completed, the additional information extraction process ends.

[0070] However, when halftoning is performed on the image data with which the coding pattern is combined in the control process of Fig. 8 described above, the coding pattern may not be reproduced uniformly. Here, a case where the coding pattern cannot be reproduced uniformly will be described with reference to Fig. 16.

[0071] Fig. 16(a) shows an example in which the coding patterns of Fig. 5(a) and Fig. 5(b) are combined with the Y plane of CMYK image data. Fig. 16(b) shows the threshold matrix for Yellow in halftone pattern 1. Fig. 16(c) shows the result of halftone processing of the image data of Fig. 16(a) using the threshold matrix of Fig. 16(b).

[0072] In FIG. 16(a), 1601 and 1604 are obtained by combining the coding patterns in FIG. 5(a) with a signal value of "72", and 1602 and 1603 are obtained by combining the coding patterns in FIG. 5(b) with a signal value of "72". The image data combined with the coding patterns in this way is subjected to halftone processing using the yellow threshold matrix of halftone pattern 1 shown in FIG. 16(b). Note that the 134 lpi, 117 deg line screen shown in FIG. 9 is used by default for the Y plane of halftone pattern 1. Through the above halftone processing, the image data shown in FIG. 16(a) becomes the binary image shown in FIG. 16(c).

[0073] In 1606 and 1607 in FIG. 16(c), even if the coding pattern is converted to binary by halftone processing, dots corresponding to the coding pattern still exist, so that the periodicity of the coding pattern can be maintained on the paper even if it is printed as is. On the other hand, in 1605 and 1608 in FIG. 16(c), dots corresponding to the coding pattern do not exist and disappear due to halftone processing, so additional information cannot be extracted from the printed matter obtained by printing such image data. This is because the angle of the coding pattern matches the screen angle of the Y plane of the halftone pattern 1 used in the halftone processing, and binary dots are not formed due to the threshold arrangement or initial phase of the screen matrix. Specifically, the gray parts of 1601 and 1604 are compared only with the parts with high thresholds in the screen matrix of FIG. 16(b), and as a result, binary dots are not formed. In this way, if the angle of the coding pattern matches the screen angle of the color plane with which the coding pattern is synthesized in the halftone pattern used in the halftone processing, the coding pattern cannot be reproduced uniformly. As a result, a printed matter that fails to be decoded is output.

[0074] In order to solve such a problem, in this embodiment, a PDL data transmission control process shown in FIG. 17 is executed.

[0075] Fig. 17 is a flowchart showing the procedure of the PDL data transmission control process executed in the host PC 100 of Fig. 1. The PDL data transmission control process of Fig. 17 is realized by the CPU 201 executing a program stored in the ROM 202 or the auxiliary storage device 210. Fig. 17(a) shows the procedure of the entire PDL data transmission control process.

[0076] In FIG. 17(a), the CPU 201 displays a print setting screen on the monitor 235 (step S1701). The print setting screen is a screen for the user to set print setting information such as ON / OFF information for the multiplexing function, additional information, color component information of the coding pattern, image processing setting information, etc., and to give print instructions. Next, the CPU 201 accepts print instructions from the user (step S1702). The user can give print instructions by inputting print setting information into the print setting screen and selecting a predetermined button.

[0077] Next, the CPU 201 acquires ON / OFF information of the multiplexing function from the print setting information input by the user to the print setting screen. Next, the CPU 201 determines whether the multiplexing function is ON or not based on the acquired ON / OFF information of the multiplexing function (step S1703). If it is determined in step S1703 that the multiplexing function is ON, the CPU 201 performs the coding pattern uniformity determination process of FIG. 17(b) (step S1704).

[0078] FIG. 17B is a flowchart showing the procedure of the coding pattern uniformity determination process in step S1704 of FIG.

[0079] 17B, ​​the CPU 201 acquires color component information of the coding pattern from the print setting information input by the user to the print setting screen (step S1711). The color component information of the coding pattern is information indicating the color plane with which the coding pattern is synthesized in the CMYK image data, as described above.

[0080] Next, the CPU 201 generates the coding pattern uniformity table 1801 of FIG. 18 (step S1712). The coding pattern uniformity table 1801 is created based on a result of comparing the screen angle of each color plane in the halftone patterns 1 to 3 with the angle of the coding pattern to be synthesized with the CMYK image data. The coding pattern uniformity table 1801 includes uniformity reproducibility information for each of cyan, magenta, yellow, and black for the halftone patterns 1 to 3. The uniformity reproducibility information is information indicating whether all the coding patterns to be synthesized with the CMYK image data can be reproduced uniformly (◯) or not (×). For example, when the screen angle of the Y plane of the halftone pattern 1 matches the angle of any of the coding patterns to be synthesized with the CMYK image data, the uniformity reproducibility information of the Y plane of the halftone pattern 1 is set to "×". On the other hand, when the screen angle of the M plane of the halftone pattern 1 does not match the angles of all the coding patterns to be combined with the CMYK image data, the uniformity reproduction feasibility information of the M plane of the halftone pattern 1 is set to "o". In FIG. 18, for example, the uniformity reproduction feasibility information of cyan and yellow in the halftone pattern 1, magenta in the halftone pattern 2, and magenta in the halftone pattern 3 is set to "x". This indicates that the coding pattern cannot be reproduced uniformly in cyan and yellow in the halftone pattern 1, magenta in the halftone pattern 2, and magenta in the halftone pattern 3. Note that in the coding pattern uniformity table 1801, "x" may be set as the uniformity reproduction feasibility information for a color plane that has an angle that is approximately the same as the angle of the coding pattern even if it does not completely match the angle of the coding pattern.

[0081] Next, the CPU 201 acquires uniformity reproducibility information corresponding to the color plane indicated by the color component information of the coding pattern acquired in step S1711 in the halftone pattern 1 from the coding pattern uniformity table 1801. The CPU 201 determines whether the acquired uniformity reproducibility information is "o" (step S1713).

[0082] If it is determined in step S1713 that the acquired uniformity reproducibility information is "◯", the process proceeds to step S1714. In step S1714, the CPU 201 outputs Pattern_Uniformity_Flag=1 as a flag indicating that it has been determined that the coding pattern can be uniformly reproduced. Thereafter, the coding pattern uniformity determination process ends, and the process proceeds to step S1705 in FIG. 17(a).

[0083] In step S1713, if it is determined that the acquired uniformity reproducibility information is "x" rather than "o", the process proceeds to step S1715. In step S1715, the CPU 201 outputs Pattern_Uniformity_Flag=0 as a flag indicating that it has been determined that the coding pattern cannot be reproduced uniformly. Thereafter, the coding pattern uniformity determination process ends, and the process proceeds to step S1705 in FIG. 17(a).

[0084] In step S1705, the CPU 201 determines whether Pattern_Uniformity_Flag is "1". If it is determined in step S1705 that Pattern_Uniformity_Flag is "1", the process proceeds to step S1706. Also, if it is determined in step S1703 that the multiplexing function is OFF rather than ON, the process proceeds to step S1706. In step S1706, the CPU 201 converts the image data and print setting information into PDL data. Note that this print setting information includes halftone setting information determined in step S1704 to be capable of uniformly reproducing the coding pattern. Next, the CPU 201 transmits the PDL data to the additional information multiplexing device 101 via the network I / F 204 (step S1707), and the PDL data transmission control process ends. As described above, in this embodiment, the PDL data transmitted to the additional information multiplexing unit 101 is generated based on the halftone setting information determined in step S1704 to be capable of uniformly reproducing the encoded pattern.

[0085] If it is determined in step S1705 that the Pattern_Uniformity_Flag is "0" rather than "1", the process proceeds to step S1708. In step S1708, the CPU 201 causes the monitor 235 to display a warning screen 1900 of FIG. 19 via the input / output I / F 220. The warning screen 1900 is a screen for issuing a warning notice informing the user that a printed matter generated based on the set halftone setting information is a printed matter that may cause a failure in decoding additional information. The warning screen 1900 displays a warning message indicating that the image forming apparatus 102 cannot uniformly reproduce the coding pattern with the set halftone setting information, and therefore there is a risk that decoding additional information may fail. Furthermore, the warning screen 1900 displays a "Redo Print Settings" button 1901 and a "End Printing" button 1902. The CPU 201 waits until the user selects either the "Redo Print Settings" button 1901 or the "End Printing" button 1902. When the user selects either the "Redo print settings" button 1901 or the "End printing" button 1902, the process proceeds to step S1709.

[0086] In step S1709, CPU 201 determines whether the button selected by the user is "Redo print settings" button 1901 or "End printing" button 1902. If it is determined in step S1709 that the button selected by the user is "Redo print settings" button 1901, the process returns to step S1701, and the print setting screen is displayed on monitor 235. This allows the user to change the halftone setting information to appropriate halftone setting information that can generate a printed material that does not fail to decode additional information before the printed material is output.

[0087] If it is determined in step S1709 that the button selected by the user is the "End Printing" button 1902, the PDL data transmission control process ends. That is, in this embodiment, PDL data is not generated based on inappropriate halftone setting information that would generate a printed matter that may cause additional information decoding to fail, and such PDL data is not transmitted to the additional information multiplexing device 101. This makes it possible to prevent the generation of a printed matter that may cause additional information decoding to fail.

[0088] According to the above-described embodiment, when it is determined that the coding pattern cannot be uniformly reproduced, a warning is issued before a printed matter in which additional information is embedded is output, informing the user that the printed matter may cause a failure in decoding the additional information. This makes it possible to inform the user that the printed matter generated based on the halftone setting information is a printed matter that may cause a failure in decoding the additional information before the printed matter is output. As a result, it is possible to prevent a decoding failure from occurring.

[0089] Furthermore, in the embodiment described above, a warning screen 1900 including a message to the effect that there is a concern that decoding of the additional information may fail is displayed on the monitor 235. This allows the user to easily know that a printed matter generated based on the set halftone setting information is a printed matter for which there is a concern that decoding of the additional information may fail, before the printed matter is output.

[0090] The image processing device according to this embodiment is a host PC 100 (information processing device) that generates PDL data for causing an image forming device 102 to print a printed matter with embedded additional information. This makes it possible to prevent decoding failures in a configuration in which the host PC 100 generates PDL data and the image forming device 102 generates a printed matter with embedded additional information based on this PDL data.

[0091] Furthermore, in the above-described embodiment, before the PDL data is transmitted to the image forming apparatus 102, a warning screen 1900 is displayed on the monitor 235. This allows the user to know, before the printout is output, that the printout generated based on the set halftone setting information is one in which there is a risk of failure in decoding the additional information.

[0092] In this embodiment, when the "Redo Print Settings" button 1901 is selected, the print setting screen is displayed on the monitor 235 as described above. On this print setting screen, halftone patterns 1 to 3 may be displayed as options for halftone setting information. Alternatively, among the halftone patterns 1 to 3, a halftone pattern that is determined to be capable of uniformly reproducing the coding pattern in a color plane into which the coding pattern is synthesized when used in halftone processing may be displayed as an option for halftone setting information. This allows the user to select a desired halftone pattern from among the halftone patterns that are determined to be capable of uniformly reproducing the coding pattern when resetting the halftone setting information.

[0093] In the above-described embodiment, the image processing device according to the present embodiment is the host PC 100, but the image processing device according to the present embodiment is not limited to the host PC 100. For example, the image processing device according to the present embodiment may be the image forming device 102. For example, when a user inputs a print instruction to the UI 720 of the image forming device 102 instead of the host PC 100, the image forming device 102 performs the above-described process from step S1702 onwards. By controlling in this manner, it is possible to inform the user that the printed material generated based on the print instruction input by the user to the UI 720 of the image forming device 102 is a printed material for which there is a risk of failure in decoding additional information before the printed material is output.

[0094] In the above-mentioned embodiment, the additional information multiplexing device 101 synthesizes the code patterns, and the additional information extraction device 103 extracts the additional information. However, the present invention is not limited to this configuration. For example, the image forming device 102 may perform both the synthesis of the code patterns and the extraction of the additional information. When the image forming device 102 performs both the synthesis of the code patterns and the extraction of the additional information, the host PC 100 transmits the PDL data to the image forming device 102, and the image forming device 102 encodes the additional information and performs a printing process of the image data synthesized with the encoded pattern. At this time, in the extraction of the additional information, the scanner 730 of the image forming device 102 reads the printed matter and generates the scanned image data of the printed matter, and the image forming device 102 performs the above-mentioned additional information extraction process based on the scanned image data.

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

[0096] The disclosure of this embodiment includes the following configurations and methods. (Configuration 1) An image processing device that performs image processing to generate a printed matter with embedded additional information, comprising: a setting means for setting a halftone pattern to be used for the halftone processing from among a plurality of halftone patterns; a judgment means for judging whether the coding pattern generated based on the additional information can be uniformly reproduced in a color plane into which a coding pattern is synthesized when the set halftone pattern is used for the halftone processing; and a control means for, when the judgment means judges that the coding pattern cannot be uniformly reproduced, issuing a warning notification before outputting the printed matter with the embedded additional information to inform the user that the printed matter is a printed matter for which there is a risk that the decoding of the additional information will fail. (Configuration 2) The image processing device according to configuration 1, further comprising a display means, wherein the control means causes the display means to display a warning screen including a message indicating that there is a risk of failure in decoding the additional information. (Configuration 3) The image processing apparatus according to configuration 2, wherein the warning screen displays an object for instructing a user to reset a halftone pattern used in the halftone process. (Configuration 4) The image processing device according to Configuration 3, further comprising a means for displaying on the display means a selection screen that allows a user to select a halftone pattern to be used in the halftone processing from among a plurality of halftone patterns that have been determined to be capable of uniformly reproducing the encoding pattern in a color plane into which the encoding pattern is synthesized when used in the halftone processing, in response to the selection of the object. (Configuration 5) The image processing device according to any one of configurations 1 to 4, which is an information processing device that generates PDL data for causing an image forming device to print a printed matter in which the additional information is embedded. (Configuration 6) In the image processing device according to configuration 5, the control means issues the warning notice before transmitting the PDL data to the image forming device. (Configuration 7) The image processing device according to any one of configurations 1 to 4, characterized in that the image processing device is an image forming device that performs the halftone processing using the halftone pattern set by the setting means and outputs a printed matter in which the additional information is embedded. [Explanation of symbols]

[0097] 100 Host PC 102 Image forming device 201 CPU 235 Monitor 702 CPU 720 UI 1900 Warning Screen 901 "Redo print settings" button

Claims

1. An image processing device that performs image processing to generate a printed material into which additional information is embedded, a setting means for setting a halftone pattern to be used for halftone processing from among a plurality of halftone patterns; a determination means for determining whether or not the coded pattern can be uniformly reproduced in a color plane into which a coded pattern generated based on the additional information is synthesized when the set coded pattern is used in the halftone processing; and a control means for notifying a user that, when the determination means determines that the coding pattern cannot be uniformly reproduced, the printed matter in which the additional information is embedded is a printed matter in which the additional information may fail to be decoded, without outputting the printed matter in which the additional information is embedded.

2. Further comprising a display means, 2. The image processing apparatus according to claim 1, wherein said control means causes said display means to display a predetermined screen including a message indicating that decoding of said additional information may fail.

3. 3. The image processing apparatus according to claim 2, wherein an object for instructing a reset of a halftone pattern used in the halftone processing is displayed on the predetermined screen.

4. The image processing device described in Claim 3, characterized in that the display means, upon selection of the object, displays a selection screen that allows the user to select a halftone pattern to be used in the halftone processing from among a plurality of halftone patterns that have been determined to be capable of uniformly reproducing the encoding pattern in the color plane that synthesizes the encoding pattern when used in the halftone processing.

5. 2. The image processing apparatus according to claim 1, wherein the image processing apparatus generates PDL data for causing an image forming apparatus to print a printed matter in which the additional information is embedded.

6. 6. The image processing apparatus according to claim 5, wherein the control unit issues the notification before transmitting the PDL data to the image forming apparatus.

7. 2. The image processing apparatus according to claim 1, wherein the image forming apparatus performs the halftone process using the halftone pattern set by the setting means, and outputs a printed matter in which the additional information is embedded.

8. 1. A control method for an image processing device that performs image processing to generate a printed material in which additional information is embedded, comprising: a setting step of setting a halftone pattern to be used for halftone processing from among a plurality of halftone patterns; a determining step of determining whether or not the coding pattern can be uniformly reproduced in a color plane into which the coding pattern generated based on the additional information is synthesized when the set halftone pattern is used in the halftone processing; and if it is determined in the determination step that the coding pattern cannot be uniformly reproduced, a control step of not outputting the printed matter in which the additional information is embedded, and notifying the user that the printed matter in which the additional information is embedded may fail to be decoded.

9. A program for causing a computer to execute a control method for an image processing device that performs image processing for generating a printed material in which additional information is embedded, The control method for the image processing device includes: a setting step of setting a halftone pattern to be used for halftone processing from among a plurality of halftone patterns; a determining step of determining whether or not the coding pattern can be uniformly reproduced in a color plane into which the coding pattern generated based on the additional information is synthesized when the set halftone pattern is used in the halftone processing; and a control step of not outputting a printed matter in which the additional information is embedded, when it is determined in the determination step that the coding pattern cannot be uniformly reproduced, and notifying the user that the printed matter in which the additional information is embedded may fail to be decoded.