Image output device, image output method, image analysis device, image analysis method, and program
By configuring and rotating the frequency components of the pattern in the frequency domain, and combining key information and one-time random values to generate the pattern image, the problem of easy tampering with the pattern image is solved, and the secure output and parsing of the pattern image is realized.
Patent Information
- Application Number
- CN202480011546.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-02-15
- Filing Date
- 2024-02-08
- Publication Date
- 2025-11-11
AI Technical Summary
In existing technologies, pattern images are easily tampered with, making it difficult to effectively prevent the relationship between data and pattern images from being cracked.
By configuring a pattern of frequency components in the frequency domain and transforming the pattern using key information, a one-time random value, and a hash value, a pattern image is generated and overlaid with an information code image for output. The image analysis device recovers the recognition information through frequency domain transformation and rotation.
It effectively prevents the tampering of pattern images, ensures that the relationship between identification information and pattern images is difficult to crack, and ensures the security of pattern images.
Smart Images

Figure CN120937333A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to an image output device, an image output method, an image parsing device, an image parsing method, and a program. Background Technology
[0002] Techniques are known to insert electronic watermarks into content to attach data such as the author's name and usage license terms to the content. As an example of such electronic watermark insertion methods, there is a method of overlaying a data-generated pattern image onto a content image (e.g., Patent Document 1).
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: Japanese Patent Application Publication No. 2004-15396 Summary of the Invention
[0006] In previous methods, if multiple pattern images exist, it is possible to use differential attacks to break the relationship between the data and the pattern images, thereby tampering with the pattern images.
[0007] The purpose of this invention is to provide an image output device, image output method, image parsing device, image parsing method, and program that can prevent tampering with pattern images.
[0008] The image output device according to the embodiments of the present invention includes: an acquisition unit that acquires recognition information; a pattern setting unit that sets a pattern of frequency components in the frequency domain by configuring frequency components according to the recognition information; a transformation unit that transforms the pattern by rotating the pattern in the frequency domain; a pattern image generation unit that generates a pattern image obtained by performing a domain transformation from the frequency domain to the spatial domain on the transformed pattern; and an output unit that outputs the pattern image.
[0009] Furthermore, the image output device according to the embodiment preferably also includes a key information setting unit for setting key information, and a transformation unit for transforming patterns based on the key information.
[0010] Furthermore, in the image output device according to the embodiment, it is preferable that the key information setting unit sets arbitrary data as key information.
[0011] Furthermore, the image output device according to the embodiment is preferably further comprising a one-time random number generation unit that generates one-time random values, and a transformation unit that transforms the pattern based on the one-time random values.
[0012] Furthermore, the image output device according to the embodiment preferably includes: a key information setting unit that sets key information; and / or a one-time random number generation unit that generates one-time random values; and a transformation unit that determines the rotation angle of the pattern based on the key information and / or the one-time random values.
[0013] In addition, the image output device according to the embodiment is preferably further provided with a code image generation unit, which generates an information code image containing a one-time random value, and the output unit outputs the information code image together with the pattern image.
[0014] Furthermore, in the image output device according to the embodiment, it is preferable that the code image generation unit generates an information code image representing a URL, the URL including a one-time random value as a URL parameter.
[0015] Furthermore, in the image output device according to the embodiment, it is preferable that the output unit outputs the pattern image and the information code image after superimposing them.
[0016] Furthermore, in the image output device according to the embodiment, it is preferable that the pattern setting unit configures frequency components at a configuration position selected based on identification information among a plurality of configuration positions preset in the frequency domain.
[0017] Furthermore, in the image output device according to the embodiment, it is preferable that a plurality of configuration positions are configured on one or more circles centered at the origin in the frequency domain.
[0018] Furthermore, in the image output device according to the embodiment, it is preferable that the output unit outputs the pattern image and the basic image after superimposing them.
[0019] The image output method according to the embodiments of the present invention is an image output method executed by an image output device, including: acquiring recognition information; configuring frequency components according to the recognition information in the frequency domain to set a pattern of frequency components; transforming the pattern by rotating the pattern in the frequency domain; generating a pattern image obtained by performing a domain transformation from the frequency domain to the spatial domain on the transformed pattern; and outputting the pattern image.
[0020] The program according to the embodiments of the present invention causes a computer to perform the following processes: acquiring identification information; configuring frequency components according to the identification information in the frequency domain to set a pattern of frequency components; transforming the pattern by rotating the pattern in the frequency domain; generating a pattern image obtained by performing a domain transformation from the frequency domain to the spatial domain on the transformed pattern; and outputting the pattern image.
[0021] The image analysis apparatus according to the embodiments of the present invention includes: an image acquisition unit that acquires a pattern image; a pattern generation unit that generates a pattern of frequency components disposed in the frequency domain by performing a domain transformation on the pattern image from the spatial domain to the frequency domain; a transformation unit that transforms the pattern by rotating the pattern in the frequency domain; an extraction unit that analyzes the transformed pattern and extracts recognition information; and an output unit that outputs the recognition information.
[0022] The image analysis method according to the embodiments of the present invention is an image analysis method executed by an image analysis device, including: acquiring a pattern image; generating a pattern of frequency components configured in the frequency domain by performing a domain transformation on the pattern image from the spatial domain to the frequency domain; transforming the pattern by rotating the pattern in the frequency domain; analyzing the transformed pattern and extracting recognition information; and outputting the recognition information.
[0023] The program involved in the embodiments of the present invention causes a computer to perform the following processes: acquiring a pattern image; generating a pattern of frequency components configured in the frequency domain by performing a domain transformation of the pattern image from the spatial domain to the frequency domain; transforming the pattern by rotating the pattern in the frequency domain; parsing the transformed pattern and extracting recognition information; and outputting the recognition information.
[0024] Invention Effects
[0025] The image output device, image output method, image parsing device, image parsing method, and program involved in the embodiments of the present invention can prevent the tampering of pattern images. Attached Figure Description
[0026] Figure 1 This is a schematic diagram showing the general structure of the image generation system 1.
[0027] Figure 2 This is a functional block diagram of the image output device 2.
[0028] Figure 3 This is a functional block diagram of the image analysis device 3.
[0029] Figure 4 This is a schematic diagram illustrating an example of a pattern representing frequency components.
[0030] Figure 5 This is a schematic diagram illustrating an example of a pattern transformed in the frequency domain.
[0031] Figure 6 This is a diagram representing an example of a patterned image P obtained by performing a domain transformation from the frequency domain to the spatial domain.
[0032] Figure 7 (A) and Figure 7(B) is a schematic diagram representing an example of the output method of the pattern image P and the information code image C.
[0033] Figure 8 This is a diagram illustrating an example of the data structure of the moving pattern table T1.
[0034] Figure 9 This is a flowchart illustrating an example of the image output processing flow.
[0035] Figure 10 This is a flowchart illustrating an example of the image parsing and processing flow. Detailed Implementation
[0036] Various embodiments of the present invention will now be described with reference to the accompanying drawings. It should be noted that the scope of protection of the present invention is not limited to these embodiments, but extends to the invention as described in the claims and its equivalents.
[0037] Figure 1 This is a schematic diagram illustrating the general structure of an image generation system 1 according to an embodiment of the present invention. The image generation system 1 includes an image output device 2 and an image parsing device 3. The image output device 2 outputs a pattern image P as an electronic watermark based on predetermined identification information and an information code image C containing information for parsing the pattern image P. The information code image C is, for example, a one-dimensional barcode or a two-dimensional barcode. An example of a two-dimensional barcode is described in Japanese Patent No. 5908113. The image parsing device 3 acquires the identification information by acquiring and parsing the pattern image P and the information code image C. The image generation system 1 assigns the identification information to the content, which is image data or printed material, by inserting the pattern image P and the information code image C into the content.
[0038] Figure 2 This is a functional block diagram of the image output device 2. The image output device 2 is an information processing terminal such as a PC (Personal Computer), server, tablet terminal, mobile phone, smartphone, or portable game console. The image output device 2 includes a storage unit 21, a communication unit 22, a display unit 23, a printing unit 24, and a processing unit 25.
[0039] Storage unit 21 is a structure for storing programs and data, and may include storage devices such as semiconductor memory. Storage unit 21 stores operating system programs, drivers, application programs, etc., which are used as programs in the processing unit 25. Programs can be installed into storage unit 21 from computer-readable and non-transitory removable storage media such as CD-ROM (Compact Disc Read Only Memory) and DVD-ROM (Digital Versatile Disc Read Only Memory).
[0040] The communication unit 22 is a structure that enables the image output device 2 to communicate with other devices, and it includes a communication interface circuit. The communication interface circuit included in the communication unit 22 is a wired LAN (Local Area Network) or wireless LAN communication interface circuit, etc. The communication unit 22 receives data from other devices and provides it to the processing unit 25, and also transmits data provided by the processing unit 25 to other devices.
[0041] Display unit 23 is a structure for displaying images, and may include display devices such as liquid crystal displays or organic EL (electro-Luminescence) displays. Display unit 23 displays images based on display data provided from processing unit 25.
[0042] The printing unit 24 is a structure for printing images on a medium and includes a printer. The printer may be, for example, an inkjet printer, a laser printer, or a thermal transfer printer. The printing unit 24 prints images on the medium based on printing data provided from the processing unit 25.
[0043] The processing unit 25 is a structure that uniformly controls the operation of the image output device 2, and includes one or more processors and their peripheral circuitry. The processing unit 25 is implemented by circuitry, such as a CPU (Central Processing Unit). The processing unit 25 may also include a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), an LSI (Large Scale Integration), an ASIC (Application Specific Integrated Circuit), or a FPGA (Field Programmable Gate Array). The processing unit 25 controls the operation of each structure and performs various processes, enabling the image output device 2 to execute various processes in an appropriate order based on the program stored in the storage unit 21.
[0044] The processing unit 25 comprises an acquisition unit 251, a pattern setting unit 252, a key information setting unit 253, a one-time random number generation unit 254, a hash generation unit 255, a transformation unit 256, a pattern image generation unit 257, a code image generation unit 258, and an output unit 259 as functional blocks. These units are functional modules implemented by a program executed by the processing unit 25. These units can also be installed as dedicated arithmetic circuits in the image output device 2.
[0045] Figure 3 This is a functional block diagram of the image analysis device 3. The image analysis device 3 is an information processing terminal such as a PC, server, tablet terminal, mobile phone, smartphone, or portable game console. The image analysis device 3 includes a storage unit 31, a communication unit 32, an imaging unit 33, and a processing unit 34.
[0046] Storage unit 31 is a structure for storing programs and data, and may include a storage device such as a semiconductor memory. Storage unit 31 stores operating system programs, drivers, application programs, etc., which are used as programs in the processing unit 34. Programs can be installed into storage unit 31 from computer-readable and non-transitory removable storage media such as CD-ROMs and DVD-ROMs.
[0047] The communication unit 32 is a structure that enables the image analysis device 3 to communicate with other devices, and it includes a communication interface circuit. The communication interface circuit included in the communication unit 32 is a wired LAN, wireless LAN, or other communication interface circuit. The communication unit 32 receives data from other devices and provides it to the processing unit 34, and also transmits data provided by the processing unit 34 to other devices.
[0048] The imaging unit 33 is a structure for generating captured images, such as a camera. The camera includes: an imaging optical system for imaging on a light-receiving surface; photoelectric conversion elements such as a CCD (Charge Coupled Device) sensor arranged two-dimensionally on the light-receiving surface, outputting an electrical signal corresponding to the amount of incident light; and an image generation circuit that generates an image based on the output of the photoelectric conversion elements. The imaging unit 33 generates an image based on control signals provided from the processing unit 34 and provides the generated image to the processing unit 34.
[0049] The processing unit 34 is a structure that uniformly controls the operation of the image resolution device 3, and includes one or more processors and their peripheral circuitry. The processing unit 34 is implemented by circuitry, such as a CPU. The processing unit 34 may also include a GPU, DSP, LSI, ASIC, FPGA, etc. The processing unit 34 controls the operation of each structure and performs various processes, enabling the image resolution device 3 to execute various processes in an appropriate order based on the program stored in the storage unit 31.
[0050] The processing unit 34 includes an image acquisition unit 341, a key information acquisition unit 342, a one-time random number acquisition unit 343, a hash generation unit 344, a pattern generation unit 345, a transformation unit 346, an extraction unit 347, and an output unit 348 as functional blocks. These units are functional modules implemented by a program executed by the processing unit 34. These units can also be installed as arithmetic circuits in the image parsing device 3.
[0051] Next, use Figures 4-7 The following is a summary of the processing by which the image output device 2 outputs a pattern image P based on recognition information. Based on the recognition information, the image output device 2 configures frequency components in the two-dimensional frequency domain to set a pattern of frequency components. The image output device 2 transforms the set pattern in the frequency domain. The image output device 2 generates a pattern image by performing a domain transformation from the frequency domain to the spatial domain on the transformed pattern.
[0052] Figure 4 This is a schematic diagram illustrating an example of a pattern of frequency components set by the image output device 2. The positions of the frequency components are set on multiple circles in the frequency domain, centered at the origin and having mutually different radii. Figure 4 In the example shown, configuration positions are set on circles with radii R1 and R2 centered at the origin in the frequency domain. Radius R1 and R2 are set to values smaller than half the horizontal pixel count Nx of the generated pattern image P and half the vertical pixel count Ny of the pattern image P.
[0053] The image output device 2 configures frequency components at a selected location based on recognition information from among multiple pre-defined configuration locations in the frequency domain. Figure 4 In the example shown, six configuration positions P1-P6 are pre-defined on the circle of radius R1, corresponding to the first and second quadrants of the frequency space. Frequency components are configured at the selected configuration positions P1, P2, P4, and P5 (shown in white), while no frequency components are configured at the unselected configuration positions P3 and P6 (shown in black). Here, configuring a frequency component at a configuration position means that the spatial spectrum at that position is a non-zero value (e.g., 1). Conversely, not configuring a frequency component at a configuration position means that the spatial spectrum at that position is zero. Figure 4 In the example shown, there are cases where frequency components are configured at each of the six configuration positions P1-P6 and cases where no frequency components are configured, thus enabling the representation of 64 types of identification information.
[0054] In the portion of the circle with radius R2 corresponding to the first and second quadrants of the frequency space, frequency components are arranged at predetermined positions Q1-Q3. Positions Q1-Q3 are arranged at unequal intervals on the circle for the image analysis device 3 to detect the shooting angle of the pattern image P. Furthermore, the spatial spectrum at positions other than the frequency domain positions P1-P6 and Q1-Q3 is zero.
[0055] In this way, by configuring the position on a circle centered on the origin, the image analysis device 3 can easily detect frequency components.
[0056] Figure 5 This is a schematic diagram illustrating an example of a pattern transformed in the frequency domain. For instance, the pattern is transformed by moving frequency components configured based on identification information between multiple configuration positions P1-P6 and rotating the pattern. Figure 5 In the example shown, the frequency components are swapped between configuration positions P5 and P6. Additionally, the pattern of the frequency components rotates counter-clockwise around the origin. The movement of the frequency components and the rotation of the pattern are performed based on key information and / or a one-time random number (nonce) value.
[0057] Figure 6 This diagram illustrates an example of a patterned image P obtained by performing a domain transformation from the frequency domain to the spatial domain. The pattern transformed in the frequency domain is then transformed into the spatial domain via a two-dimensional discrete Fourier inverse transform. Furthermore, to ensure that the brightness values of each pixel in the patterned image P are positive real values, frequency components that are point-symmetric with respect to the transformed pattern about the origin are configured before the domain transformation, and a frequency component (DC component) is configured at the origin in the frequency domain.
[0058] Figure 7 (A) and Figure 7 (B) is a schematic diagram illustrating an example of the output method for the pattern image P and the information code image C. Figure 7 In the example shown in (A), the pattern image P and the information code image C are overlaid and output. The information code image C is an image containing one-time random values of the pattern transformations used for frequency components. To facilitate the recognition of the pattern image P and the information code image C, the pattern image P and the information code image C can be displayed with different hues, chroma, or brightness. Figure 7 In the example shown in (A), the pattern image P and the information code image C are displayed with different brightness levels. Figure 7 In the example shown in (B), the pattern image P is displayed overlapping the basic image I, which serves as the content. Additionally, the information code image C is positioned close to the pattern image P.
[0059] Figure 8 This diagram illustrates an example of the data structure of the motion pattern table T1 stored in the storage unit 21 of the image output device 2. The motion pattern table T1 stores motion patterns when frequency components move between multiple configuration positions. The motion pattern table T1 stores the motion destination for each configuration position for each motion pattern.
[0060] exist Figure 8 In the example shown, six configuration positions P1-P6 are set in the frequency domain, resulting in 6! = 720 possible movement patterns. For each of the 720 movement patterns, the configuration position that becomes the destination of the previous configuration positions P1-P6 is stored. For example, in movement pattern #1, the following situation is shown: the frequency components of configuration positions P1-P4 do not move, but they move between configuration positions P5 and P6 by swapping frequency components. Furthermore, frequency component movement of a configuration position means that the spatial spectrum value of that configuration position is set to the value of the spatial spectrum of another configuration position.
[0061] The data in the moving pattern table T1 is preset. In addition, the storage unit 31 of the image analysis device 3 stores a table showing the moving patterns of the moving pattern table T1 before and after the moving destination is changed.
[0062] Figure 9 This is a flowchart illustrating an example of the image output processing flow performed by the image output device 2. The image output processing is the process of generating and outputting a pattern image P based on recognition information. The image output processing is implemented by the processing unit 25 in cooperation with other structures of the image output device 2, based on a program stored in the storage unit 21.
[0063] First, the acquisition unit 251 acquires identification information (step S101). Identification information is any information inserted into the content. For example, identification information may be information identifying the content's creator, copyright holder, etc. Identification information may also be information indicating the person who has received permission to use the content, or information indicating the terms of the permission. For example, the acquisition unit 251 outputs identification information by receiving it from another device via the communication unit 22.
[0064] Next, the pattern setting unit 252 configures the frequency components in the frequency domain according to the identification information to set the pattern of the frequency components (step S102). The pattern setting unit 252 configures the frequency components at a configuration position selected from a plurality of pre-set configuration positions in the frequency domain based on the relationship between the pre-set identification information and the configuration position.
[0065] Next, the key information setting unit 253 sets the key information (step S103). The key information is the same information that is pre-stored in the storage unit 21 of the image output device 2 and the storage unit 31 of the image analysis device 3 for generating the pattern image P based on the recognition information by the image output device 2 and for extracting the recognition information from the pattern image P by the image analysis device 3. The key information can also be set by inputting data from an external source, such as a password, or by storing it in a server that needs to be activated and obtaining it through encrypted communication. The key information is preferably hidden data, and it is also preferably data with a certain amount of information. The key information can be an arbitrarily set value or a randomly generated value. In addition, the key information can also be a hash value or the like obtained by further processing these values.
[0066] Next, the one-time random number generation unit 254 generates a one-time random value (step S104). The one-time random value is a value generated each time image output processing is performed, such as a random integer value. The one-time random value can also be a random string. The one-time random value can also be a unique value instead of random.
[0067] Next, the hash generation unit 255 generates a hash value based on a one-time random value and key information (step S105). The hash generation unit 255 concatenates the one-time random value and key information, applies a hash function to the concatenated value, and thus generates a hash value. The hash generation unit 255 may also generate a hash value by applying a hash function to the key information instead of using a one-time random value.
[0068] By using hash values, it is difficult to discover the regularity of the pattern in the transformed frequency components. Furthermore, the hash generation unit 255 can also use a random number obtained by applying arbitrary processing different from the hash function to the concatenated value as the hash value. In this case, the same effect can be achieved.
[0069] Next, the transformation unit 256 transforms the pattern of frequency components (step S106). In the frequency domain, the transformation unit 256 moves the frequency components contained in the pattern between multiple configuration positions based on hash values, and rotates the pattern after the frequency components have been moved, thereby transforming the pattern.
[0070] For example, the transformation unit 256 moves the configuration position of the frequency component based on a movement pattern pre-stored in the storage unit 21. In this case, the transformation unit 256 selects one of a plurality of movement patterns stored in the movement pattern table T1 based on a hash value. For example, the transformation unit 256 selects the movement pattern based on the remainder obtained by dividing the hash value by the number of movement patterns. Figure 8 In the example shown, 720 movement patterns are stored in the movement pattern table T1. Therefore, the transformation unit 256 selects the movement pattern whose number corresponds to the remainder obtained by dividing the hash value by 720. As a result, the probability of each movement pattern being selected becomes equal.
[0071] Furthermore, the transformation unit 256 determines the rotation angle based on the hash value, which is the rotation angle determined by rotating the pattern of frequency components around the origin. The rotation angle is the angle obtained by multiplying the value extracted from the hash value by a unit angle. The value extracted from the hash value is, for example, an integer value greater than 0 and less than 65536 represented by the two bytes corresponding to a specified byte position in the byte string representing the hash value. In this case, the unit angle is set to the angle obtained by dividing 360 degrees by 65536. As a result, the distribution of the rotation angle becomes uniform.
[0072] Next, the pattern image generation unit 257 generates a pattern image P obtained by performing a domain transformation from the frequency domain to the spatial domain on the transformed pattern (step S107). The pattern image generation unit 257 arranges the frequency components in a point-symmetric manner with respect to the transformed pattern about the origin, so that the pixel values of the pattern image P in the spatial domain become real values when the pattern is transformed. Furthermore, the pattern image generation unit 257 arranges the frequency components at the origin, so that the pixel values of the pattern image P in the spatial domain become positive real values when the pattern is transformed. The pattern image generation unit 257 generates the pattern image P by applying a two-dimensional inverse discrete Fourier transform to the pattern of the frequency components.
[0073] Next, the code image generation unit 258 generates an information code image C containing a one-time random value (step S108). For example, the code image generation unit 258 generates an information code image C representing a URL (Uniform Resource Locator), which contains a one-time random value as a URL parameter. A URL containing a one-time random value as a URL parameter is, for example, "http: / / test.sample / mypege.html?nonce=12321". The code image generation unit 258 generates a QR code image obtained by encoding the URL in a prescribed manner. The URL can, for example, be associated with content describing the image parsing operation of the pattern image P. By setting the information code image to represent a URL containing a one-time random value as a URL parameter, the one-time random value is embedded while associating the URL with certain content, thereby effectively utilizing limited printing space.
[0074] Next, the output unit 259 outputs the information code image C and the pattern image P (step S109). For example, the output unit 259 outputs the information code image C and the pattern image P by controlling the printing unit 24 to print them onto a medium. The output unit 259 can also output the information code image C and the pattern image P by displaying them on the display unit 23. The output unit 259 can also output the information code image C and the pattern image P by sending the image data of the information code image C and the pattern image P to another device via the communication unit 22. The output unit 259 outputs the pattern image P after overlapping the information code image C. By overlapping in this way, the limited space can be used effectively. The output unit 259 can also output the pattern image P and the information code image C close to each other without overlapping. When the pattern image P and the information code image C are overlapped or close to each other, image analysis can be performed in one shot. The output unit 259 can also output the pattern image P after overlapping the basic image as content. The image output processing ends based on the above.
[0075] Figure 10 This is a flowchart illustrating an example of the image analysis process performed by the image analysis device 3. Image analysis processing is the process of analyzing a pattern image and extracting recognition information. Image analysis processing is implemented by the processing unit 34 in cooperation with other components of the image analysis device 3, based on a program stored in the storage unit 31.
[0076] First, the image acquisition unit 341 acquires the information code image C and the pattern image P (step S201). For example, the image acquisition unit 341 controls the imaging unit 33 to capture images of a medium on which the information code image C and the pattern image P are printed, or on a display unit 23 displaying the information code image C and the pattern image P, thereby acquiring the information code image C and the pattern image P. The image acquisition unit 341 may also acquire the information code image C and the pattern image P by receiving them via the communication unit 32.
[0077] Next, the key information acquisition unit 342 acquires the key information stored in the storage unit 31 (step S202). The key information stored in the storage unit 31 is the same as the key information stored in the storage unit 21.
[0078] Next, the one-time random number acquisition unit 343 acquires a one-time random value from the information code image C (step S203). For example, the one-time random number acquisition unit 343 parses the information code image C using a known parsing technique to obtain a URL from the information code image C. The one-time random number acquisition unit 343 acquires a one-time random value included as a parameter in the acquired URL.
[0079] Next, the hash generation unit 344 generates a hash value based on a one-time random value and key information used to decrypt the identification information (step S204). The hash generation unit 344 generates the hash value by concatenating the one-time random value with the key information obtained by the key information acquisition unit 342 and applying a hash function to the concatenated value. The hash function applied by the hash generation unit 344 is the same as the hash function applied in step S105 of the image output processing. Therefore, the hash generation unit 344 generates the same hash value as the hash value generated in step S105.
[0080] Next, the pattern generation unit 345 generates a pattern of frequency components disposed in the frequency domain by performing a domain transformation on the pattern image P from the spatial domain to the frequency domain (step S205). The pattern generation unit 345 generates the pattern of frequency components by applying a two-dimensional discrete Fourier transform to the pattern image P.
[0081] Next, the transformation unit 346 transforms the pattern of frequency components in the frequency domain based on the hash value (step S206). In the frequency domain, the transformation unit 346 rotates the pattern based on the hash value, thereby moving the frequency components contained in the rotated pattern between multiple configuration positions, and thus transforming the pattern.
[0082] For example, the transformation unit 346 determines the rotation angle based on the hash value, centered on the origin, and rotates the pattern of frequency components by the determined rotation angle. The rotation angle is the angle obtained by multiplying the value extracted from the hash value by a predetermined unit angle. The value extracted from the hash value is, for example, an integer value greater than 0 and less than 65536 represented by the two bytes corresponding to the predetermined byte position in the byte string representing the hash value. In this case, the unit angle is, for example, set to the negative value of the angle obtained by dividing 360 degrees by 65536. The rotation angle determined in this way is the negative value of the rotation angle determined in step S106 of the image output processing. That is, the transformation unit 346 reverses the rotation of the pattern after rotation in step S106 to restore the original state.
[0083] Furthermore, the transformation unit 346 moves the configuration position of the frequency components based on the movement pattern pre-stored in the storage unit 31. The transformation unit 256 selects one of the multiple movement patterns stored in the storage unit 31 based on a hash value. The movement pattern stored in the storage unit 31 is the pattern before movement and after swapping the movement destination in the movement pattern table T1 stored in the storage unit 21. That is, the transformation unit 346 reverses the configuration position of the frequency components after movement in step S105 to restore the original state.
[0084] Furthermore, the transformation unit 346 corrects the pattern of frequency components based on the arrangement of frequency components at the shooting angle used to detect the pattern image. For example, the transformation unit 346 extracts a predetermined number of frequency components from the pattern after the arrangement position of the frequency components has been moved, which are close to the origin of the frequency space. The transformation unit 346 corrects the pattern by rotating and scaling the pattern, so that the distance between the extracted frequency components and the origin becomes R2, and the arrangement position of the extracted frequency components becomes a preset arrangement position. Figures 4-5 The configuration positions shown are Q1-Q3.
[0085] Next, the extraction unit 347 analyzes the transformed pattern to extract recognition information (step S207). The extraction unit 347 removes the frequency components located in the third quadrant, the fourth quadrant, and the origin from the transformed pattern. Based on the pre-stored relationship between the pattern of frequency components and recognition information, the extraction unit 347 extracts the recognition information corresponding to the location of the remaining frequency components.
[0086] Next, the output unit 348 outputs the extracted recognition information (step S208). For example, the output unit 348 outputs the recognition information by sending it to another device via the communication unit 32. The image analysis processing ends based on the above.
[0087] As explained above, the image output device 2 transforms a pattern based on the frequency components of the recognition information by rotating it, and then generates a pattern image by performing a domain transformation from the frequency domain to the spatial domain. By rotating the pattern in the frequency domain, the relationship between the recognition information and the pattern image becomes difficult to crack. Therefore, the image output device 2 can prevent tampering with the pattern image.
[0088] Furthermore, the image output device 2 transforms the pattern of frequency components based on key information. By transforming the pattern based on key information that is hidden from devices or people different from the image output device 2 and the image analysis device 3, the relationship between the identification information and the pattern image is difficult to crack. As a result, the rotation angle of the pattern becomes random, making the relationship between the identification information and the pattern image even more difficult to crack. Therefore, the image output device 2 can more effectively prevent the tampering of the pattern image.
[0089] Furthermore, the image output device 2 transforms the pattern of frequency components based on a one-time random value and key information. When the key information and identification information are the same, the pattern of the frequency components set by the image output device 2 is the same. However, by changing the one-time random value each time an image is output, the pattern image changes significantly, thus making the relationship between the identification information and the pattern image more complex and difficult to crack. Therefore, the image output device 2 can more effectively prevent the tampering of the pattern image.
[0090] Furthermore, the image output device 2 outputs an information code image containing a one-time random value along with the pattern image. Therefore, the image analysis device 3 can acquire the one-time random value by simultaneously capturing the information code image while capturing the pattern image. Thus, the image output device 2 makes it easy for authorized personnel to analyze the pattern image.
[0091] The image analysis device 3 transforms the pattern image by performing a domain transformation from the spatial domain to the frequency domain and rotating the pattern of frequency components in the frequency domain, and extracts recognition information from the transformed pattern. Thus, the image analysis device 3 can prevent tampering with the pattern image.
[0092] The following variation can also be applied in image generation system 1.
[0093] In the above description, it is assumed that in step S102 of the image output processing, the frequency component is configured at a configuration position selected from multiple configuration positions set on a circle with radius R1 based on recognition information, but this is not limited to such an example. The configuration position for configuring the frequency component based on the recognition information may also be set not on a single circle, but on multiple circles with different radii.
[0094] In the above description, the frequency component for detecting the shooting angle of the pattern image is configured at a position on a circle with a radius of R2, but this is not an isolated example. It is also possible that the frequency component for detecting the shooting angle of the pattern image is not configured. Alternatively, the configuration position for the frequency component for detecting the shooting angle can be set on the same circle as the configuration position for configuring the frequency component based on the recognition information. That is, multiple configuration positions can also be set on a circle centered at the origin in the frequency domain.
[0095] In the above description, it is assumed that in the image output processing step S106, the pattern is transformed based on a hash value generated based on a one-time random value and key information, but this is not a limited example. The transformation unit 256 may transform the pattern based solely on the one-time random value without using key information. In this case, the image output device 2 may not have a key information setting unit 253. Furthermore, in this case, in the image parsing processing step S206, the transformation unit 346 transforms the pattern based solely on the one-time random value without using key information. Similarly, the transformation unit 256 may also transform the pattern based solely on key information without using the one-time random value. In this case, the image output device 2 may not have a one-time random number generation unit 254. Furthermore, in this case, in the image parsing processing step S206, the transformation unit 346 transforms the pattern based solely on key information without using the one-time random value.
[0096] In the above description, it is assumed that in step S106 of the image output processing, the frequency components configured according to the recognition information are moved between multiple configuration positions. However, it is also possible to move the frequency components configured for detecting the shooting angle. This makes the relationship between the recognition information and the pattern image more difficult to crack, and more effectively prevents tampering with the pattern image. In this case, the frequency components may be moved between the configuration positions configured according to the recognition information and between the configuration positions configured for detecting the shooting angle, or they may be moved between all configuration positions without distinguishing between them. In this case, in step S206 of the image parsing processing, the transformation unit 346 reverses the configuration position of the frequency components used for detecting the shooting angle to restore the original state.
[0097] In the above description, it is assumed that in step S106 of the image output processing, the pattern of frequency components is rotated. However, it is also possible that not all frequency components contained in the pattern are rotated, but only a portion of the frequency components are rotated. For example, the transformation unit 256 may only rotate the frequency components configured based on the recognition information, without rotating the frequency components used to detect the shooting angle. In this case, in step S206 of the image parsing processing, the transformation unit 346 only rotates the frequency components configured based on the recognition information in the reverse direction.
[0098] Furthermore, the frequency components can be rotated by different angles along the circles with set configuration positions. That is, the frequency components can also be rotated by different angles depending on the distance between the configuration position and the origin. For example, the transformation unit 256 extracts the integer value represented by two bytes corresponding to byte positions that are different from each of the multiple circles from the byte string representing the hash value. The transformation unit 256 rotates the frequency component by an angle obtained by multiplying the extracted integer value by a unit angle. As a result, the relationship between the identification information and the pattern image is more difficult to crack, and the tampering of the pattern image is more effectively prevented. In this case, in the image analysis processing step S206, the transformation unit 346 rotates the frequency components by different angles along the circles with set configuration positions for the frequency components.
[0099] In the above description, it is assumed that in step S106 of the image output processing, the frequency components contained in the pattern are moved between multiple configuration positions, and the pattern after the frequency components have been moved is rotated, thereby transforming the pattern, but this is not limited to such an example. The transformation unit 256 may also rotate the pattern without moving the frequency components between multiple configuration positions. In this case, in step S206 of the image parsing processing, the transformation unit 346 rotates the frequency components in the reverse direction instead of moving them in the reverse direction.
[0100] In the above description, it is assumed that in step S108 of the image output processing, an information code image representing a URL containing a one-time random value as a parameter is generated, but this is not limited to such an example. For example, the code image generation unit 257 can generate the information code image by encoding the string representing the one-time random value. Alternatively, the code image generation unit 257 can generate an image containing the string representing the one-time random value itself.
[0101] The functions of the image output device 2 and the image parsing device 3 described above can also be achieved by multiple devices.
[0102] Those skilled in the art will understand that various changes, substitutions, and modifications can be made to the invention without departing from its scope. For example, the above-described embodiments and variations can also be appropriately combined and implemented within the scope of the invention.
Claims
1. An image output device, comprising: The acquisition unit acquires identification information; The pattern setting unit sets a pattern of frequency components in the frequency domain by configuring frequency components according to the identification information. The transformation unit transforms the pattern by rotating the pattern in the frequency domain; The pattern image generation unit generates a pattern image by performing a domain transformation from the frequency domain to the spatial domain on the transformed pattern. as well as The output unit outputs the pattern image.
2. The image output device according to claim 1, wherein, It also has a key information setting unit for setting key information. The transformation unit transforms the pattern based on the key information.
3. The image output device according to claim 2, wherein, It also has a one-time random number generator that generates one-time random values. The transformation unit transforms the pattern based on the key information and the one-time random value.
4. The image output device according to claim 1, wherein, It also has: Key information setting unit, which sets key information; and / or A one-time random number generator, which generates one-time random values. The transformation unit determines the rotation angle of the pattern based on the set key information and / or the generated one-time random value.
5. The image output device according to claim 3, wherein, It also includes a code image generation unit, which generates an information code image containing the one-time random value. The output unit outputs the information code image together with the pattern image.
6. The image output device according to claim 5, wherein, The code image generation unit generates the information code image representing the URL, wherein the URL includes the one-time random value as a URL parameter.
7. The image output device according to claim 5, wherein, The output unit outputs the pattern image and the information code image after they are superimposed.
8. The image output device according to claim 1, wherein, The pattern setting unit configures frequency components at a configuration position selected based on the identification information from a plurality of pre-set configuration positions in the frequency domain.
9. The image output device according to claim 8, wherein, The plurality of configuration positions are configured on one or more circles centered at the origin in the frequency domain.
10. The image output device according to claim 1, wherein, The output unit outputs the pattern image and the basic image after superimposing them.
11. An image output method, performed by an image output device, the image output method comprising: Obtain identification information; In the frequency domain, the frequency components are configured according to the identification information to set the pattern of the frequency components; The pattern is transformed by rotating it in the frequency domain; Generate a pattern image by performing a domain transformation from the frequency domain to the spatial domain on the transformed pattern; as well as Output the pattern image.
12. A program that causes a computer to perform the following processes: Obtain identification information; In the frequency domain, the frequency components are configured according to the identification information to set the pattern of the frequency components; The pattern is transformed by rotating it in the frequency domain; Generate a pattern image by performing a domain transformation from the frequency domain to the spatial domain on the transformed pattern; as well as Output the pattern image.
13. An image analysis device, comprising: The image acquisition unit acquires the pattern image; The pattern generation unit generates a pattern of frequency components configured in the frequency domain by performing a domain transformation on the pattern image from the spatial domain to the frequency domain. The transformation unit transforms the pattern by rotating the pattern in the frequency domain; The extraction unit analyzes the transformed pattern and extracts recognition information; as well as The output unit outputs the identification information.
14. An image parsing method, executed by an image parsing device, the image parsing method comprising: Obtain the pattern image; A pattern of frequency components configured in the frequency domain is generated by performing a domain transformation from the spatial domain to the frequency domain on the pattern image. The pattern is transformed by rotating it in the frequency domain; The transformed pattern is analyzed and recognition information is extracted; as well as Output the identification information.
15. A program that causes a computer to perform the following processes: Obtain the pattern image; A pattern of frequency components configured in the frequency domain is generated by performing a domain transformation from the spatial domain to the frequency domain on the pattern image. The pattern is transformed by rotating it in the frequency domain; The transformed pattern is analyzed and recognition information is extracted; as well as Output the identification information.
Citation Information
Patent Citations
Magnetic head
JP1984008113A
Electronic watermark inserting method and apparatus thereof, and electronic watermark detecting method and apparatus thereof
JP2004015396A