WO2020116176A1 - Embedding device, extracting device and program - Google Patents

Embedding device, extracting device and program Download PDF

Info

Publication number
WO2020116176A1
WO2020116176A1 PCT/JP2019/045551 JP2019045551W WO2020116176A1 WO 2020116176 A1 WO2020116176 A1 WO 2020116176A1 JP 2019045551 W JP2019045551 W JP 2019045551W WO 2020116176 A1 WO2020116176 A1 WO 2020116176A1
Authority
WO
WIPO (PCT)
Prior art keywords
watermark information
image
embedded
target image
unit
Prior art date
Application number
PCT/JP2019/045551
Other languages
French (fr)
Japanese (ja)
Inventor
勇 五十嵐
伊藤 直己
片山 淳
慎吾 安藤
淳 嵯峨田
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Publication of WO2020116176A1 publication Critical patent/WO2020116176A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J5/00Devices or arrangements for controlling character selection
    • B41J5/30Character or syllable selection controlled by recorded information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device

Definitions

  • the present invention relates to an embedding device, an extracting device and a program.
  • a technology called digital watermarking is known as a technology for embedding other information in content such as images and videos in a form that cannot be perceived by the human eye.
  • the electronic watermark is often used for the purpose of identifying and managing the content, protecting and managing the copyright, providing information related to the content, and the like in the distribution of the content.
  • Non-Patent Document 1 In digital watermark technology for image content, methods based on minute changes in pixel values are known. For example, a method is known in which geometric distortion correction using a frame line and a digital watermark algorithm based on a two-dimensional block pattern modulation method are combined (Non-Patent Document 1).
  • Non-Patent Document 1 even when an image in which a digital watermark is embedded in advance is printed on paper, a digital watermark is detected at high speed and stably using a camera such as a mobile phone or a smartphone. be able to. Further, when the image is printed, the digital watermark can be detected even if the image is taken from an oblique direction.
  • the area where the digital watermark can be embedded may be limited.
  • a digital watermark in an image including a product logo, a company logo, etc. specifically, an image of a product package, etc.
  • there is a need not to embed the digital watermark in the logo portion For this reason, it is necessary to embed the digital watermark pattern other than the logo portion, and the area in which the digital watermark can be embedded is limited.
  • the present invention has been made in view of the above points, and an object thereof is to improve the amount of watermark information that can be embedded in a target image.
  • an embedding device for embedding watermark information in a target image, and includes a pixel value for each divided area of the target image.
  • a superimposing unit that superimposes one of the at least two types of expressed features on the region, the superimposing unit is configured such that the watermark information includes the feature for each set of the regions in a predetermined unit.
  • the watermark information is embedded in the target image so as to be expressed by a pattern determined by the position of each embedded region in the set.
  • the extraction device is an extraction device for extracting watermark information embedded in a target image, and is expressed by a pixel value for each divided area of the target image.
  • the watermark information is extracted from the target image by detecting the watermark information according to a pattern determined by a position in the set.
  • the amount of watermark information that can be embedded in the target image can be improved.
  • FIG. 7 is a diagram showing an example of an embedding target image divided into a plurality of block areas. It is a figure (1) which shows an example of grouping of block areas. It is a figure (2) which shows an example of grouping of block areas.
  • a watermark information embedding device 10 capable of improving the amount of information that can be embedded in a target image (hereinafter also referred to as “embedding target image”) in which digital watermark information is to be embedded
  • a watermark information extraction device 20 capable of extracting information from an image in which electronic watermark information is embedded (hereinafter, also referred to as “embedded image”) or a printed matter thereof will be described.
  • digital watermarks are sometimes called tint block watermarks.
  • a technique for extracting the information from a printed matter on which an image in which information is embedded is printed in a manner that cannot be perceived by human eyes is sometimes referred to as a tint block watermark.
  • a digital watermark and a tint block watermark are not distinguished, and are collectively referred to simply as “watermark”. Therefore, information that is embedded in the target image as electronic data (digital watermark information) and information that is embedded in the printed matter with ink or the like are not distinguished and are collectively referred to as “watermark information”.
  • the embedding target image is described as a still image, but the target image in which the watermark information is embedded may be a moving image.
  • each of the frame images included in the moving image may be the embedding target image.
  • FIG. 1 is a diagram showing an example of the configurations of a watermark information embedding device 10 and a watermark information extracting device 20 according to an embodiment of the present invention.
  • the watermark information embedding device 10 shown in FIG. 1A is, for example, a computer such as a PC (personal computer), a smartphone, or a tablet terminal.
  • the watermark information embedding device 10 may be an image forming device having a scanner or a plotter, a digital camera, or the like.
  • the watermark information embedding device 10 may be any device that can input and output images.
  • the watermark information embedding device 10 has an embedding processing unit 100.
  • the embedding processing unit 100 performs watermark information embedding processing. That is, the embedding processing unit 100 embeds watermark information in the input embedding target image G100 to create an embedded image G200, and outputs the created embedded image G200.
  • the watermark information is arbitrary information (data) embedded in the embedding target image G100.
  • the watermark information extraction device 20 shown in FIG. 1B is a computer such as a PC, a smartphone, or a tablet terminal.
  • the watermark information extraction device 20 may be an image forming device having at least a scanner, a digital camera, or the like.
  • the watermark information extraction device 20 may be any device that can input at least an image.
  • the watermark information extraction device 20 has an extraction processing unit 200.
  • the extraction processing unit 200 performs watermark information extraction processing. That is, the extraction processing unit 200 extracts watermark information from the input embedded image G300 and outputs the extracted watermark information.
  • the embedded image G300 may be the embedded image G200, or may be an image created by scanning or photographing a printed matter on which the embedded image G200 is printed. Hereinafter, the embedded image G300 is also referred to as a “query image G300”.
  • the configurations of the watermark information embedding device 10 and the watermark information extracting device 20 shown in FIG. 1 are examples, and other configurations may be used.
  • the embedding processing unit 100 and the extraction processing unit 200 may be included in one device.
  • FIG. 2 is a diagram illustrating an example of the hardware configuration of the computer 300.
  • the computer 300 illustrated in FIG. 2 includes an input device 301, a display device 302, an external I/F 303, a RAM (Random Access Memory) 304, a ROM (Read Only Memory) 305, and a CPU (Central Processing Unit) 306. , A communication I/F 307 and an auxiliary storage device 308. These pieces of hardware are connected to each other via a bus B so that they can communicate with each other.
  • the input device 301 is, for example, a keyboard, a mouse, a touch panel, etc., and is used by the user to input various operations.
  • the display device 302 is, for example, a display or the like, and displays the processing result of the computer 300 and the like.
  • the external I/F 303 is an interface with an external device.
  • the external device includes a recording medium 303a and the like.
  • the computer 300 can read and write the recording medium 303a via the external I/F 303.
  • the recording medium 303a may store, for example, one or more programs that implement the embedding processing unit 100, one or more programs that implement the extraction processing unit 200, and the like.
  • the recording medium 303a includes, for example, a flexible disk, a CD (Compact Disc), a DVD (Digital Versatile Disk), an SD memory card (Secure Digital memory card), and a USV (Universal Serial Bus) memory card.
  • a flexible disk for example, a CD (Compact Disc), a DVD (Digital Versatile Disk), an SD memory card (Secure Digital memory card), and a USV (Universal Serial Bus) memory card.
  • RAM 304 is a volatile semiconductor memory that temporarily holds programs and data.
  • the ROM 305 is a non-volatile semiconductor memory that can retain programs and data even when the power is turned off.
  • the ROM 305 stores, for example, OS (Operating System) setting information, communication network setting information, and the like.
  • the CPU 306 is an arithmetic unit that reads programs and data from the ROM 305 and the auxiliary storage device 308 onto the RAM 304 and executes processing.
  • the CPU may be referred to as an MPU (Micro Processing Unit) or the like, for example.
  • the communication I/F 307 is an interface for connecting the computer 300 to a communication network.
  • the auxiliary storage device 308 is, for example, a HDD (Hard Disk Drive) or an SSD (Solid State Drive), and is a non-volatile storage device that stores programs and data.
  • the programs and data stored in the auxiliary storage device 308 include, for example, an OS, an application program that implements various functions on the OS, one or more programs that implement the embedding processing unit 100, and an extraction processing unit 200. There are one or more programs.
  • the watermark information embedding device 10 may include, as hardware, a printing device such as a plotter, an imaging device such as a camera, or the like.
  • the watermark information extraction device 20 may include, as hardware, an imaging device such as a camera and a reading device such as a scanner.
  • FIG. 3 is a diagram showing an example of a functional configuration of the embedding processing unit 100 according to the embodiment of the present invention.
  • the embedding processing unit 100 shown in FIG. 3 is realized by a process of causing the CPU 306 of the watermark information embedding device 10 to execute one or more programs installed in the watermark information embedding device 10.
  • the embedding processing unit 100 includes an input unit 101, a registration unit 102, a superposition unit 103, and an output unit 104.
  • the input unit 101 inputs the embedding target image G100. That is, the input unit 101 inputs the embedding target image G100 as digital data (electronic data).
  • the input embedding target image G100 is transmitted to the registration unit 102 and the superimposing unit 103.
  • the registration unit 102 calculates the position specifying information of the embedding target image G100 input by the input unit 101, and registers (stores) the calculated position specifying information in a predetermined storage area.
  • the position identification information is information for identifying the embedded image G200 from the query image G300 in the watermark information extraction process.
  • the position identification information is calculated using, for example, the image recognition method disclosed in JP-A-2015-201123. That is, for example, the registration unit 102 specifies the coordinates indicating the positions of the feature points extracted from the embedding target image G100, the local feature amount at the positions of these feature points, and the coordinates of the four vertices of the embedding target image G100. Calculate as information.
  • the predetermined storage area may be, for example, a storage area on the storage device that is accessible by both the watermark information embedding device 10 and the watermark information extracting device 20.
  • the superimposing unit 103 embeds watermark information in the embedding target image G100 input by the input unit 101 to create an embedded image G200.
  • the output unit 104 outputs the embedded image G200 created by the superimposing unit 103 to a predetermined output destination.
  • the output unit 104 may output the embedded image G200 to any preset output destination.
  • the output unit 104 may output the embedded image G200 to the auxiliary storage device 308, output the embedded image G200 to the display device 302, or output the embedded image G200 to a printing device such as a plotter. May be output.
  • the output unit 104 may output the embedded image G200 to another device (for example, another computer, an image forming device, a printer, a display device, etc.) connected via the communication I/F 307. .
  • FIG. 4 is a diagram showing an example of a functional configuration of the extraction processing unit 200 according to the embodiment of the present invention.
  • the extraction processing unit 200 shown in FIG. 4 is realized by a process of causing the CPU 306 of the watermark information extracting device 20 to execute one or more programs installed in the watermark information extracting device 20.
  • the extraction processing unit 200 includes an input unit 201, a specification unit 202, a correction unit 203, an extraction unit 204, and an output unit 205.
  • the input unit 201 inputs the query image G300.
  • the query image G300 is, for example, digital data (electronic data) input by photographing a printed matter on which the embedded image G200 is printed or a display or the like displaying the embedded image G200 with a camera.
  • the input query image G300 is transmitted to the identifying unit 202.
  • the query image G300 may be, for example, one input by scanning a printed matter on which the embedded image G200 is printed with a scanner, or may be the embedded image G200 itself.
  • the specifying unit 202 uses the position specifying information registered in a predetermined storage area to search for four of the embedded image G200 (that is, the image area corresponding to the embedded image G200) from the query image G300 input by the input unit 201. Specify the coordinates of the vertices. This identification can be performed by using, for example, the image recognition method disclosed in JP-A-2015-201123. That is, for example, the identifying unit 202 extracts feature points from the query image G300, and associates the extracted feature points with the feature points included in the position identification information by matching the local feature amounts.
  • the specifying unit 202 calculates the parameters of the projective transformation matrix by the least-squares method or the like from the degree of positional shift between these feature points, and then the four vertices included in the position specifying information (that is, 4 of the embedding target image G100). Which coordinate of the query image G300 the coordinate of the (vertex) is associated with is calculated by the projective transformation matrix using the parameter.
  • the obtained coordinates of the query image G300 (coordinates corresponding to each of the above four vertices) are coordinates of four vertices of the image area in which the watermark information is embedded (that is, the image area corresponding to the embedded image G200). Is.
  • the coordinates of the four vertices of the image area corresponding to the embedded image G200 are specified.
  • the identified result (coordinates of four vertices) is transmitted to the correction unit 203.
  • the correction unit 203 corrects the query image G300 using the coordinates of the four vertices identified by the identification unit 202. That is, the correction unit 203 normalizes the query image G300. Further, the correction unit 203 deletes (clipping) a portion other than the rectangular image area indicated by the coordinates of the four vertices. Note that the normalization is, for example, conversion of a query image G300 input by shooting a printed matter or the like on which the embedded image G200 is printed with a camera into an image input when the printed matter or the like is photographed from the front. It is to be.
  • the corrected query image G300 is transmitted to the extraction unit 204.
  • the corrected query image G300 is also simply referred to as “query image G300”.
  • the extraction unit 204 extracts watermark information from the query image G300 corrected by the correction unit 203. That is, the extraction unit 204 detects, for example, a block pattern represented by M block areas and NM block areas for each group including N block areas, thereby extracting the block pattern. Extract the K-adic watermark information in which is one digit. The extracted watermark information (or the watermark information obtained by converting the K-adic watermark information into a bit string) is transmitted to the output unit 205.
  • the output unit 205 outputs the watermark information extracted by the extraction unit 204 to a predetermined output destination.
  • the output unit 205 may output the watermark information to any preset output destination.
  • the output unit 205 may output the watermark information to the auxiliary storage device 308, or may output the watermark information to the display device 302.
  • the output unit 205 may output the watermark information to another device connected via the communication I/F 307.
  • the output unit 205 outputs the URL corresponding to the watermark information extracted by the extraction unit 204 to a Web browser or the like by referring to a table in which the watermark information and the URL (Uniform Resource Locator) are associated with each other.
  • a mail address corresponding to the watermark information extracted by the extraction unit 204 may be output to a mailer or the like by referring to a table in which the watermark information and the mail address are associated with each other.
  • FIG. 5 is a flowchart showing an example of the watermark information embedding process according to the embodiment of the present invention.
  • the input unit 101 inputs the embedding target image G100 (step S11).
  • the input unit 101 may input, for example, the embedding target image G100 stored in the auxiliary storage device 308, or may input the embedding target image G100 by shooting an arbitrary target with a camera or the like.
  • the registration unit 102 calculates the position identification information of the embedding target image G100 input by the input unit 101, and registers the calculated position identification information in a predetermined storage area (step S12).
  • the method of calculating the position specifying information is as described above.
  • the registration unit 102 may add a predetermined marker to the embedding target image G100, for example, instead of calculating and registering the position specifying information in step S12 described above.
  • a predetermined marker for example, instead of calculating and registering the position specifying information in step S12 described above.
  • an explicit frame line may be provided as a marker around the embedding target image G100, or a QR code (registered trademark) or the like may be provided as a marker at four corners of the embedding target image G100. Good.
  • the superimposing unit 103 divides the embedding target image G100 input by the input unit 101 into a plurality of block areas (step S13).
  • the superimposing unit 103 may divide the embedding target image G100 to which the marker is added into a plurality of block areas.
  • the block area may be a rectangular area and may be a square or a rectangle.
  • FIG. 6 shows an embedding target image G100 divided into a plurality of block areas.
  • the embedding target image G100 is divided into 64 block regions of 8 ⁇ 8. Note that division into 8 ⁇ 8 64 block regions is an example, and the superimposing unit 103 divides the embedding target image G100 into a predetermined arbitrary number of block regions.
  • the superimposing unit 103 groups the plurality of block areas obtained by the division in the above step S13 into N block areas (step S14).
  • the example shown in FIG. 7 is an example in which four block areas are grouped into one group when the embedding target image G100 is divided into 64 block areas of 8 ⁇ 8 in step S13. is there.
  • N 9 block areas are grouped.
  • the embedding target image G100 is divided into 144 block areas of 12 ⁇ 12 in step S13, nine block areas are grouped into one group. is there.
  • the superposition unit 103 may group any N block areas into one group.
  • the embedding target image G100 when used for a product package or the like, a company logo, a product logo, or the like (hereinafter simply referred to as “logo”) may be included in the embedding target image G100.
  • a company logo, a product logo, or the like hereinafter simply referred to as “logo”
  • the margin is divided into a plurality of block areas in step S13, and then the plurality of block areas are grouped in step S14.
  • a margin is often provided around the logo so that the logo stands out.
  • first group a set composed of M block areas
  • second group a set composed of NM block areas
  • Block Pattern X i is expressed by superimposing black dots on the block areas of the first group and white dots on the block areas of the second group included in the group i.
  • the superimposing unit 103 expresses the value of x i as a block pattern corresponding to the value.
  • Block Pattern X i is expressed by superimposing black dots on the block areas of the first group and white dots on the block areas of the second group included in the group i.
  • the superimposing unit 103 expresses the value of x i as a block pattern corresponding to the value.
  • the watermark information can be embedded in the embedding target image G100.
  • the number of groups included in the embedding target image G100 is I, it is possible to embed K I watermark information in the embedding target image G100.
  • At least one black dot may be superimposed on the first group block area, and at least one white dot may be superimposed on the second group block area.
  • the present invention is not limited to this. For example, only one of superimposing a black dot on the block area of the first group or superimposing a white dot on the second block area may be performed.
  • dots black dots in the case of the first group of block areas and white dots in the case of the second group of block areas
  • one dot may be added to one block area depending on the dot density setting.
  • Sometimes only a few dots are overwritten.
  • it is preferable that at least one dot is overwritten in the vicinity of the center of the block area for each block area.
  • the size of the dots (dot diameter) to be superimposed on each block area can be set arbitrarily. For example, in consideration of the case of printing the embedded image G200, the dot diameter corresponding to the dpi of the printing machine. It is preferable that
  • M is one of 1 ⁇ M ⁇ N ⁇ 1.
  • M can take any value of 0 or more and N or less for each group, It becomes possible to embed watermark information having a larger amount of information in the embedding target image G100.
  • Each digit in the case where the information is expressed in hexadecimal can be expressed.
  • the group pattern for one group increases, there is a high possibility that erroneous watermark information will be extracted due to noise in the watermark information extraction process.
  • the texture of the image area in which dots can be superimposed the performance of the printing machine when printing the embedded image G200, the performance of the camera that captures the printed material in the watermark information extraction processing, and the performance of the scanner that scans the printed material in the watermark information extraction processing.
  • the watermark information is embedded in the embedding target image G100 as it is, but it is preferable to embed the watermark information in the embedding target image G100 after performing various kinds of redundancy such as spectrum spreading and error correction coding.
  • redundancy such as spectrum spreading and error correction coding.
  • the watermark information may be scrambled.
  • black dots and white dots may be referred to as black dots and white dots, respectively. Further, it is not always necessary to use black dots or white dots, and any one kind or two or more kinds of feature points for distinguishing the block area included in the first group from the block area included in the second group are used. May be
  • the output unit 104 outputs the embedded image G200 created by the superposition unit 103 to a predetermined output destination (step S16).
  • the embedded image G200 when outputting the embedded image G200 to the printing machine, it is preferable to output to the printing machine that can use white ink in addition to the CMYK ink. As a result, the white dots superimposed on the block area of the second group can be printed with white ink.
  • the embedded image G200 is temporarily stored as an image file in the auxiliary storage device 308, the recording medium 303a, or the like, and then the image file is printed. You can print with.
  • FIG. 15 is a flowchart showing an example of watermark information extraction processing according to the embodiment of the present invention.
  • the input unit 201 inputs the query image G300 (step S21).
  • the input unit 201 may input the query image G300 by, for example, photographing a printed matter or the like on which the embedded image G200 is printed with a camera, or scanning the printed matter on which the embedded image G200 is printed with a scanner. Therefore, the query image G300 may be input, or the embedded image G200 stored in the auxiliary storage device 308 or the like may be input as the query image G300.
  • the specifying unit 202 uses the position specifying information registered in the predetermined storage area, from the query image G300 input by the input unit 201 to the embedded image G200 (that is, the image area corresponding to the embedded image G200). ) Coordinates of the four vertices are identified (step S22). The method of specifying the coordinates of these four vertices is as described above.
  • the identifying unit 202 may identify the coordinates of the four vertices of the embedded image G200 by detecting the marker.
  • the correction unit 203 corrects the query image G300 using the coordinates of the four vertices identified by the identification unit 202 (step S23). That is, the correction unit 203 normalizes the query image G300 using the coordinates of the four vertices, and then clips a portion other than the rectangular image area indicated by the coordinates of the four vertices.
  • step S23 clipping does not necessarily have to be performed, and clipping may not be performed.
  • watermark information is extracted from the query image G300 corrected by the correction unit 203 (step S24). That is, the extraction unit 204 detects the block pattern represented by the block area included in the first group and the block area included in the second group for each group of the query image G300, and thus the block pattern is set to 1 The K-adic watermark information having one digit is extracted.
  • the extraction unit 204 detects, for example, a block region in which the black dots are superimposed as a block region included in the first group, and a block region in which the white dots are superimposed is a block region included in the second group. Then, the block pattern is detected. Then, the extraction unit 204 extracts the watermark information by setting the value corresponding to the block pattern of each group as the value of the digit corresponding to the group among the digits of the K-adic watermark information. At this time, the extraction unit 204 may convert the K-adic number watermark information into a bit string.
  • the extraction unit 204 may use top hat processing or black hat processing in order to detect black dots or white dots.
  • the top hat process is a process of creating an image represented by the difference between the query image G300 and the query image G300 subjected to the opening process. By this processing, white dots can be detected.
  • the black hat process is a process of creating an image represented by the difference between the query image G300 and the closing query image G300. By this processing, black dots can be detected.
  • the extraction unit 204 decodes the watermark information before the redundancy or before the scramble. Take appropriate action.
  • the above-described step S24 is performed. Then, it suffices to detect only the dots (either black dots or white dots) that are superimposed in the watermark information embedding process.
  • the output unit 205 outputs the watermark information extracted by the extraction unit 204 to a predetermined output destination (step S25).
  • the watermark information embedding device 10 regards N block areas in the embedding target image G100 as one group, and sets M block areas and NM block areas in the group.
  • the watermark information can be embedded, and the amount of watermark information that can be embedded in the embedding target image G100 can be improved.
  • the watermark information extracting device 20 can extract the watermark information embedded by the watermark information embedding device 10 from the query image G300.
  • watermark information embedding device 20 watermark information extracting device 100 embedding processing unit 101 input unit 102 registration unit 103 superimposing unit 104 output unit 200 extraction processing unit 201 input unit 202 specifying unit 203 correcting unit 204 extracting unit 205 output unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Record Information Processing For Printing (AREA)
  • Facsimile Transmission Control (AREA)

Abstract

An embedding device for embedding watermark information into a target image comprises a superimposing unit that superimposes, on each of a plurality of areas into which the target image is divided, one of at least two types of features expressed by use of respective pixel values, the embedding device being characterized in that the superimposing unit embeds the watermark information into the target image such that, for each of a plurality of sets each consisting of a prescribed number of ones of the areas, the watermark information is expressed by a pattern determined by the position of each area, in which the feature is embedded, in each set.

Description

埋め込み装置、抽出装置及びプログラムEmbedded device, extraction device and program
 本発明は、埋め込み装置、抽出装置及びプログラムに関する。 The present invention relates to an embedding device, an extracting device and a program.
 人間の目で知覚できないような態様で画像や映像等のコンテンツ内に別の情報を埋め込む技術として、電子透かしと称される技術が知られている。電子透かしは、コンテンツの流通等において、コンテンツの識別や管理、著作権の保護や管理、コンテンツに関連する情報の提供等の目的のために用いられることが多い。 A technology called digital watermarking is known as a technology for embedding other information in content such as images and videos in a form that cannot be perceived by the human eye. The electronic watermark is often used for the purpose of identifying and managing the content, protecting and managing the copyright, providing information related to the content, and the like in the distribution of the content.
 画像コンテンツに対する電子透かし技術では、画素値の微小変更に基づく方法が知られている。例えば、枠線を利用した幾何ひずみ補正と、2次元ブロックパターン変調方式に基づく電子透かしアルゴリズムとを組み合わせた手法が知られている(非特許文献1)。 In digital watermark technology for image content, methods based on minute changes in pixel values are known. For example, a method is known in which geometric distortion correction using a frame line and a digital watermark algorithm based on a two-dimensional block pattern modulation method are combined (Non-Patent Document 1).
 非特許文献1に開示されている手法によれば、予め電子透かしを埋め込んだ画像を紙に印刷した場合でも、携帯電話やスマートフォン等のカメラを使って、高速かつ安定的に電子透かしを検出することができる。また、画像を印刷した場合に、斜め方向から撮影しても電子透かしを検出することができる。 According to the method disclosed in Non-Patent Document 1, even when an image in which a digital watermark is embedded in advance is printed on paper, a digital watermark is detected at high speed and stably using a camera such as a mobile phone or a smartphone. be able to. Further, when the image is printed, the digital watermark can be detected even if the image is taken from an oblique direction.
 しかしながら、電子透かしを埋め込む対象によっては、電子透かしが埋め込み可能な領域が限られてしまう場合がある。例えば、商品ロゴや企業ロゴ等が含まれる画像(具体的には、商品パッケージ等の画像)に電子透かしを埋め込む場合には、電子透かしをロゴ部分には埋め込みたくないというニーズがある。このため、ロゴ部分以外に電子透かしパターンを埋め込む必要があり、電子透かしが埋め込み可能な領域が限られてしまう。 However, depending on the target of embedding the digital watermark, the area where the digital watermark can be embedded may be limited. For example, when embedding a digital watermark in an image including a product logo, a company logo, etc. (specifically, an image of a product package, etc.), there is a need not to embed the digital watermark in the logo portion. For this reason, it is necessary to embed the digital watermark pattern other than the logo portion, and the area in which the digital watermark can be embedded is limited.
 また、電子透かしが埋め込まれた画像を印刷機で印刷する場合、印刷機の解像度によって電子透かしの埋め込む際に用いられるブロック領域の大きさには下限が存在する。このため、電子透かしが埋め込まれた画像の印刷物の単位面積から抽出可能な情報の情報量には限りがある。 Also, when printing an image in which a digital watermark is embedded with a printing machine, there is a lower limit to the size of the block area used when embedding a digital watermark depending on the resolution of the printing machine. Therefore, the amount of information that can be extracted from the unit area of the printed matter of the image in which the digital watermark is embedded is limited.
 したがって、電子透かしを埋め込む対象の画像内の同一領域で比較した場合に、当該領域内に埋め込み可能な電子透かしの情報量を増やす必要がある。 Therefore, it is necessary to increase the amount of digital watermark information that can be embedded in the area when comparing the same area in the image where the digital watermark is embedded.
 本発明は、上記の点に鑑みてなされたもので、対象画像に埋め込み可能な透かし情報の情報量を向上させることを目的とする。 The present invention has been made in view of the above points, and an object thereof is to improve the amount of watermark information that can be embedded in a target image.
 上記目的を達成するため、本発明の実施の形態における埋め込み装置は、対象画像に対して透かし情報を埋め込むための埋め込み装置であって、前記対象画像の分割された領域ごとに、それぞれ画素値で表現される少なくとも2種の特徴の中から1種の特徴を前記領域に重畳させる重畳部を有し、前記重畳部は、所定の単位の前記領域の集合ごとに、前記透かし情報が前記特徴を埋め込んだ各領域の前記集合における位置によって決定されるパターンによって表現されるよう、前記透かし情報を前記対象画像に埋め込む、ことを特徴とする。 In order to achieve the above object, an embedding device according to an embodiment of the present invention is an embedding device for embedding watermark information in a target image, and includes a pixel value for each divided area of the target image. A superimposing unit that superimposes one of the at least two types of expressed features on the region, the superimposing unit is configured such that the watermark information includes the feature for each set of the regions in a predetermined unit. The watermark information is embedded in the target image so as to be expressed by a pattern determined by the position of each embedded region in the set.
 また、本発明の実施の形態における抽出装置は、対象画像に埋め込まれた透かし情報を抽出するための抽出装置であって、前記対象画像の分割された領域ごとに、それぞれ画素値で表現される少なくとも2種の特徴の中から1種の特徴を前記領域から検出する検出部を有し、前記検出部は、所定の単位の前記領域の集合ごとに、前記特徴が埋め込まれた各領域の前記集合における位置によって決定されるパターンによって前記透かし情報を検出することで、前記透かし情報を前記対象画像から抽出する、ことを特徴とする。 The extraction device according to the embodiment of the present invention is an extraction device for extracting watermark information embedded in a target image, and is expressed by a pixel value for each divided area of the target image. There is a detection unit that detects one type of features from at least two types of features from the region, and the detection unit includes, for each set of the regions of a predetermined unit, the features of each region in which the features are embedded. The watermark information is extracted from the target image by detecting the watermark information according to a pattern determined by a position in the set.
 対象画像に埋め込み可能な透かし情報の情報量を向上させることができる。 The amount of watermark information that can be embedded in the target image can be improved.
本発明の実施の形態における透かし情報埋め込み装置及び透かし情報抽出装置の構成の一例を示す図である。It is a figure which shows an example of a structure of the watermark information embedding apparatus and watermark information extraction apparatus in embodiment of this invention. コンピュータのハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of a computer. 本発明の実施の形態における埋め込み処理部の機能構成の一例を示す図である。It is a figure showing an example of functional composition of an embedding processing part in an embodiment of the invention. 本発明の実施の形態における抽出処理部の機能構成の一例を示す図である。It is a figure which shows an example of a functional structure of the extraction process part in embodiment of this invention. 本発明の実施の形態における透かし情報埋め込み処理の一例を示すフローチャートである。6 is a flowchart showing an example of watermark information embedding processing according to the embodiment of the present invention. 複数のブロック領域に分割された埋め込み対象画像の一例を示す図である。FIG. 7 is a diagram showing an example of an embedding target image divided into a plurality of block areas. ブロック領域のグループ化の一例を示す図(その1)である。It is a figure (1) which shows an example of grouping of block areas. ブロック領域のグループ化の一例を示す図(その2)である。It is a figure (2) which shows an example of grouping of block areas. 埋め込み対象画像にロゴが含まれる場合におけるブロック領域への分割及びグループ化の一例を示す図である。It is a figure which shows an example of division|segmentation into a block area|region and grouping when a logo is contained in an image for embedding. N=4,M=2である場合におけるグループ内のブロックパターンとK=6進数で各桁が取り得る値との対応関係の一例を示す図である。It is a figure which shows an example of the correspondence of the block pattern in a group and the value which each digit can take in K=hexadecimal in the case of N=4 and M=2. N=4,M=2である場合における黒ドット及び白ドットの上書きの一例を示す図である。It is a figure which shows an example of overwriting of a black dot and a white dot in case N=4 and M=2. N=9,M=2である場合におけるグループ内のブロックパターンとK=36進数で各桁が取り得る値との対応関係の一例を示す図である。It is a figure which shows an example of the corresponding relationship between the block pattern in a group in the case of N=9, and M=2, and the value which each digit can take in K=36 base. N=9,M=2である場合における黒ドット及び白ドットの上書きの一例を示す図である。It is a figure which shows an example of the overwriting of the black dot and the white dot in case N=9 and M=2. N=4,M=0~4である場合におけるグループ内のブロックパターンと16進数で各桁が取り得る値との対応関係の一例を示す図である。It is a figure which shows an example of the corresponding relationship between the block pattern in a group in case of N=4, M=0-4, and the value which each digit can take in a hexadecimal number. 本発明の実施の形態における透かし情報抽出処理の一例を示すフローチャートである。It is a flow chart which shows an example of watermark information extraction processing in an embodiment of the invention.
 以下、本発明の実施の形態について、図面を参照しながら説明する。本発明の実施の形態では、電子透かし情報を埋め込む対象となる対象画像(以降、「埋め込み対象画像」とも表す。)に埋め込み可能な情報量を向上させることが可能な透かし情報埋め込み装置10と、電子透かし情報が埋め込まれた画像(以降、「埋め込み済み画像」とも表す。)やその印刷物等から情報を抽出可能な透かし情報抽出装置20とについて説明する。 Embodiments of the present invention will be described below with reference to the drawings. In the embodiment of the present invention, a watermark information embedding device 10 capable of improving the amount of information that can be embedded in a target image (hereinafter also referred to as “embedding target image”) in which digital watermark information is to be embedded, A watermark information extraction device 20 capable of extracting information from an image in which electronic watermark information is embedded (hereinafter, also referred to as “embedded image”) or a printed matter thereof will be described.
 なお、電子透かしは、地紋透かしと呼ばれることもある。特に、人間の目で知覚できないような態様で情報が埋め込まれた画像を印刷した印刷物から当該情報を抽出する技術を地紋透かしと呼ぶこともある。本発明の実施の形態では、電子透かしと地紋透かしとを区別せずに、これらを総称して、単に「透かし」と表す。したがって、電子データとして対象画像に埋め込まれる情報(電子透かし情報)と、インク等によって印刷物に埋め込まれている情報とを区別せずに、これらを総称して、「透かし情報」と表す。 Note that digital watermarks are sometimes called tint block watermarks. In particular, a technique for extracting the information from a printed matter on which an image in which information is embedded is printed in a manner that cannot be perceived by human eyes is sometimes referred to as a tint block watermark. In the embodiment of the present invention, a digital watermark and a tint block watermark are not distinguished, and are collectively referred to simply as “watermark”. Therefore, information that is embedded in the target image as electronic data (digital watermark information) and information that is embedded in the printed matter with ink or the like are not distinguished and are collectively referred to as “watermark information”.
 また、本発明の実施の形態では、埋め込み対象画像は静止画であるものとして説明するが、透かし情報が埋め込まれる対象画像は動画であってもよい。この場合、動画に含まれる各フレーム画像の各々を埋め込み対象画像とすればよい。 In the embodiment of the present invention, the embedding target image is described as a still image, but the target image in which the watermark information is embedded may be a moving image. In this case, each of the frame images included in the moving image may be the embedding target image.
 <透かし情報埋め込み装置10及び透かし情報抽出装置20の構成>
 まず、本発明の実施の形態における透かし情報埋め込み装置10及び透かし情報抽出装置20の構成について、図1を参照しながら説明する。図1は、本発明の実施の形態における透かし情報埋め込み装置10及び透かし情報抽出装置20の構成の一例を示す図である。
<Structures of Watermark Information Embedding Device 10 and Watermark Information Extracting Device 20>
First, the configurations of the watermark information embedding device 10 and the watermark information extracting device 20 according to the embodiment of the present invention will be described with reference to FIG. FIG. 1 is a diagram showing an example of the configurations of a watermark information embedding device 10 and a watermark information extracting device 20 according to an embodiment of the present invention.
 図1(a)に示す透かし情報埋め込み装置10は、例えばPC(パーソナルコンピュータ)、スマートフォン、タブレット端末等のコンピュータである。透かし情報埋め込み装置10は、スキャナやプロッタ等を有する画像形成装置、デジタルカメラ等であってもよい。透かし情報埋め込み装置10は、画像の入力及び出力が可能な種々の装置であればよい。 The watermark information embedding device 10 shown in FIG. 1A is, for example, a computer such as a PC (personal computer), a smartphone, or a tablet terminal. The watermark information embedding device 10 may be an image forming device having a scanner or a plotter, a digital camera, or the like. The watermark information embedding device 10 may be any device that can input and output images.
 透かし情報埋め込み装置10は、埋め込み処理部100を有する。透かし情報埋め込み装置10は、埋め込み処理部100により、透かし情報埋め込み処理を行う。すなわち、埋め込み処理部100は、入力した埋め込み対象画像G100に対して透かし情報を埋め込んで埋め込み済画像G200を作成し、作成した埋め込み済画像G200を出力する。透かし情報は、埋め込み対象画像G100に埋め込まれる任意の情報(データ)である。 The watermark information embedding device 10 has an embedding processing unit 100. In the watermark information embedding device 10, the embedding processing unit 100 performs watermark information embedding processing. That is, the embedding processing unit 100 embeds watermark information in the input embedding target image G100 to create an embedded image G200, and outputs the created embedded image G200. The watermark information is arbitrary information (data) embedded in the embedding target image G100.
 図1(b)に示す透かし情報抽出装置20は、例えばPC、スマートフォン、タブレット端末等のコンピュータである。透かし情報抽出装置20は、少なくともスキャナを有する画像形成装置、デジタルカメラ等であってもよい。透かし情報抽出装置20は、少なくとも画像の入力が可能な種々の装置であればよい。 The watermark information extraction device 20 shown in FIG. 1B is a computer such as a PC, a smartphone, or a tablet terminal. The watermark information extraction device 20 may be an image forming device having at least a scanner, a digital camera, or the like. The watermark information extraction device 20 may be any device that can input at least an image.
 透かし情報抽出装置20は、抽出処理部200を有する。透かし情報抽出装置20は、抽出処理部200により、透かし情報抽出処理を行う。すなわち、抽出処理部200は、入力した埋め込み済画像G300から透かし情報を抽出し、抽出した透かし情報を出力する。なお、埋め込み済画像G300は、埋め込み済画像G200であってもよいし、埋め込み済画像G200を印刷した印刷物をスキャンや撮影することで作成された画像であってもよい。以降では、埋め込み済画像G300を「クエリ画像G300」とも表す。 The watermark information extraction device 20 has an extraction processing unit 200. In the watermark information extraction device 20, the extraction processing unit 200 performs watermark information extraction processing. That is, the extraction processing unit 200 extracts watermark information from the input embedded image G300 and outputs the extracted watermark information. The embedded image G300 may be the embedded image G200, or may be an image created by scanning or photographing a printed matter on which the embedded image G200 is printed. Hereinafter, the embedded image G300 is also referred to as a “query image G300”.
 なお、図1に示す透かし情報埋め込み装置10及び透かし情報抽出装置20の構成は一例であって、他の構成であってもよい。例えば、埋め込み処理部100と、抽出処理部200とが1台の装置に含まれていてもよい。 The configurations of the watermark information embedding device 10 and the watermark information extracting device 20 shown in FIG. 1 are examples, and other configurations may be used. For example, the embedding processing unit 100 and the extraction processing unit 200 may be included in one device.
 <ハードウェア構成>
 次に、透かし情報埋め込み装置10及び透かし情報抽出装置20を実現するコンピュータ300のハードウェア構成について、図2を参照しながら説明する。図2は、コンピュータ300のハードウェア構成の一例を示す図である。
<Hardware configuration>
Next, the hardware configuration of the computer 300 that realizes the watermark information embedding device 10 and the watermark information extracting device 20 will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of the hardware configuration of the computer 300.
 図2に示すコンピュータ300は、入力装置301と、表示装置302と、外部I/F303と、RAM(Random Access Memory)304と、ROM(Read Only Memory)305と、CPU(Central Processing Unit)306と、通信I/F307と、補助記憶装置308とを有する。これら各ハードウェアは、それぞれがバスBを介して通信可能に接続されている。 The computer 300 illustrated in FIG. 2 includes an input device 301, a display device 302, an external I/F 303, a RAM (Random Access Memory) 304, a ROM (Read Only Memory) 305, and a CPU (Central Processing Unit) 306. , A communication I/F 307 and an auxiliary storage device 308. These pieces of hardware are connected to each other via a bus B so that they can communicate with each other.
 入力装置301は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置302は、例えばディスプレイ等であり、コンピュータ300の処理結果等を表示する。 The input device 301 is, for example, a keyboard, a mouse, a touch panel, etc., and is used by the user to input various operations. The display device 302 is, for example, a display or the like, and displays the processing result of the computer 300 and the like.
 外部I/F303は、外部装置とのインタフェースである。外部装置には、記録媒体303a等がある。コンピュータ300は、外部I/F303を介して、記録媒体303aの読み取りや書き込み等を行うことができる。記録媒体303aには、例えば、埋め込み処理部100を実現する1以上のプログラム、抽出処理部200を実現する1以上のプログラム等が記録されていてもよい。 The external I/F 303 is an interface with an external device. The external device includes a recording medium 303a and the like. The computer 300 can read and write the recording medium 303a via the external I/F 303. The recording medium 303a may store, for example, one or more programs that implement the embedding processing unit 100, one or more programs that implement the extraction processing unit 200, and the like.
 記録媒体303aには、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USV(Universal Serial Bus)メモリカード等がある。 The recording medium 303a includes, for example, a flexible disk, a CD (Compact Disc), a DVD (Digital Versatile Disk), an SD memory card (Secure Digital memory card), and a USV (Universal Serial Bus) memory card.
 RAM304は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM305は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM305には、例えば、OS(Operating System)に関する設定情報や通信ネットワークに関する設定情報等が格納されている。 RAM 304 is a volatile semiconductor memory that temporarily holds programs and data. The ROM 305 is a non-volatile semiconductor memory that can retain programs and data even when the power is turned off. The ROM 305 stores, for example, OS (Operating System) setting information, communication network setting information, and the like.
 CPU306は、ROM305や補助記憶装置308等からプログラムやデータをRAM304上に読み出して処理を実行する演算装置である。なお、CPUは、例えば、MPU(Micro Processing Unit)等と称されてもよい。 The CPU 306 is an arithmetic unit that reads programs and data from the ROM 305 and the auxiliary storage device 308 onto the RAM 304 and executes processing. The CPU may be referred to as an MPU (Micro Processing Unit) or the like, for example.
 通信I/F307は、コンピュータ300を通信ネットワークに接続するためのインタフェースである。 The communication I/F 307 is an interface for connecting the computer 300 to a communication network.
 補助記憶装置308は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置308に格納されているプログラムやデータには、例えば、OS、当該OS上で各種機能を実現するアプリケーションプログラム、埋め込み処理部100を実現する1以上のプログラム、抽出処理部200を実現する1以上のプログラム等がある。 The auxiliary storage device 308 is, for example, a HDD (Hard Disk Drive) or an SSD (Solid State Drive), and is a non-volatile storage device that stores programs and data. The programs and data stored in the auxiliary storage device 308 include, for example, an OS, an application program that implements various functions on the OS, one or more programs that implement the embedding processing unit 100, and an extraction processing unit 200. There are one or more programs.
 なお、透かし情報埋め込み装置10は、ハードウェアとして、例えば、プロッタ等の印刷装置、カメラ等の撮像装置等を有していてもよい。また、透かし情報抽出装置20は、ハードウェアとして、例えば、カメラ等の撮像装置、スキャナ等の読み取り装置等を有していてもよい。 Note that the watermark information embedding device 10 may include, as hardware, a printing device such as a plotter, an imaging device such as a camera, or the like. Further, the watermark information extraction device 20 may include, as hardware, an imaging device such as a camera and a reading device such as a scanner.
 <埋め込み処理部100の機能構成>
 次に、本発明の実施の形態における埋め込み処理部100の機能構成について、図3を参照しながら説明する。図3は、本発明の実施の形態における埋め込み処理部100の機能構成の一例を示す図である。
<Functional configuration of the embedding processing unit 100>
Next, the functional configuration of the embedding processing unit 100 according to the embodiment of the present invention will be described with reference to FIG. FIG. 3 is a diagram showing an example of a functional configuration of the embedding processing unit 100 according to the embodiment of the present invention.
 図3に示す埋め込み処理部100は、透かし情報埋め込み装置10にインストールされた1以上のプログラムが、当該透かし情報埋め込み装置10のCPU306に実行させる処理により実現される。 The embedding processing unit 100 shown in FIG. 3 is realized by a process of causing the CPU 306 of the watermark information embedding device 10 to execute one or more programs installed in the watermark information embedding device 10.
 埋め込み処理部100には、入力部101と、登録部102と、重畳部103と、出力部104とが含まれる。 The embedding processing unit 100 includes an input unit 101, a registration unit 102, a superposition unit 103, and an output unit 104.
 入力部101は、埋め込み対象画像G100を入力する。すなわち、入力部101は、デジタルデータ(電子データ)として埋め込み対象画像G100を入力する。入力された埋め込み対象画像G100は、登録部102及び重畳部103に送信される。 The input unit 101 inputs the embedding target image G100. That is, the input unit 101 inputs the embedding target image G100 as digital data (electronic data). The input embedding target image G100 is transmitted to the registration unit 102 and the superimposing unit 103.
 登録部102は、入力部101が入力した埋め込み対象画像G100の位置特定情報を算出し、算出した位置特定情報を所定の記憶領域に登録(保存)する。ここで、位置特定情報とは、透かし情報抽出処理において、クエリ画像G300から埋め込み済画像G200を特定するための情報である。位置特定情報は、例えば、特開2015-201123号公報に開示されている画像認識手法を用いて算出される。すなわち、登録部102は、例えば、埋め込み対象画像G100から抽出される特徴点の位置を示す座標と、これら特徴点の位置における局所特徴量と、埋め込み対象画像G100の4頂点の座標とを位置特定情報として算出する。なお、所定の記憶領域としては、例えば、透かし情報埋め込み装置10と、透かし情報抽出装置20との両方がアクセス可能な記憶装置上の記憶領域とすればよい。 The registration unit 102 calculates the position specifying information of the embedding target image G100 input by the input unit 101, and registers (stores) the calculated position specifying information in a predetermined storage area. Here, the position identification information is information for identifying the embedded image G200 from the query image G300 in the watermark information extraction process. The position identification information is calculated using, for example, the image recognition method disclosed in JP-A-2015-201123. That is, for example, the registration unit 102 specifies the coordinates indicating the positions of the feature points extracted from the embedding target image G100, the local feature amount at the positions of these feature points, and the coordinates of the four vertices of the embedding target image G100. Calculate as information. The predetermined storage area may be, for example, a storage area on the storage device that is accessible by both the watermark information embedding device 10 and the watermark information extracting device 20.
 重畳部103は、入力部101が入力した埋め込み対象画像G100に対して透かし情報を埋め込んで、埋め込み済画像G200を作成する。 The superimposing unit 103 embeds watermark information in the embedding target image G100 input by the input unit 101 to create an embedded image G200.
 すなわち、重畳部103は、入力部101が入力した埋め込み対象画像G100を複数のブロック領域に分割した上で、N個のブロック領域毎にグループ化する。そして、重畳部103は、グループ毎に、M(ただし、1≦M≦N-1)個のブロック領域と、N-M個のブロック領域とで表されるブロックパターンが、透かし情報をK(ただし、K=,すなわちN個のブロック領域の中からM個のブロック領域を選択可能な組合せ)進数で表現した場合における1つの桁に対応するように、当該M個のブロック領域と当該N-M個のブロック領域とに対してそれぞれ黒ドットと白ドットとを重畳させることで、透かし情報を埋め込む。これにより、埋め込み済画像G200が作成される。作成された埋め込み済画像G200は出力部104に送信される。なお、Nは予め設定される2以上の整数であり、Mは予め設定される1以上かつN-1以下の整数である。 That is, the superimposing unit 103 divides the embedding target image G100 input by the input unit 101 into a plurality of block areas, and then groups each of the N block areas. Then, the superimposing unit 103 determines that the block information represented by M (1≦M≦N−1) block areas and NM block areas for each group has the watermark information K( However, K= N C M , that is, a combination of M block areas that can be selected from N block areas) A combination of M block areas corresponding to one digit when expressed in a base number Watermark information is embedded by superimposing black dots and white dots on the NM block areas. As a result, the embedded image G200 is created. The created embedded image G200 is transmitted to the output unit 104. Note that N is a preset integer of 2 or more, and M is a preset integer of 1 or more and N-1 or less.
 出力部104は、重畳部103が作成した埋め込み済画像G200を所定の出力先に出力する。ここで、出力部104は予め設定された任意の出力先に埋め込み済画像G200を出力すればよい。例えば、出力部104は、補助記憶装置308に埋め込み済画像G200を出力してもよいし、表示装置302に埋め込み済画像G200を出力してもよいし、プロッタ等の印刷装置に埋め込み済画像G200を出力してもよい。また、例えば、出力部104は、通信I/F307を介して接続される他の装置(例えば、他のコンピュータや画像形成装置、プリンタ、ディスプレイ装置等)に埋め込み済画像G200を出力してもよい。 The output unit 104 outputs the embedded image G200 created by the superimposing unit 103 to a predetermined output destination. Here, the output unit 104 may output the embedded image G200 to any preset output destination. For example, the output unit 104 may output the embedded image G200 to the auxiliary storage device 308, output the embedded image G200 to the display device 302, or output the embedded image G200 to a printing device such as a plotter. May be output. Further, for example, the output unit 104 may output the embedded image G200 to another device (for example, another computer, an image forming device, a printer, a display device, etc.) connected via the communication I/F 307. .
 <抽出処理部200の機能構成>
 次に、本発明の実施の形態における抽出処理部200の機能構成について、図4を参照しながら説明する。図4は、本発明の実施の形態における抽出処理部200の機能構成の一例を示す図である。
<Functional configuration of the extraction processing unit 200>
Next, the functional configuration of the extraction processing unit 200 according to the embodiment of the present invention will be described with reference to FIG. FIG. 4 is a diagram showing an example of a functional configuration of the extraction processing unit 200 according to the embodiment of the present invention.
 図4に示す抽出処理部200は、透かし情報抽出装置20にインストールされた1以上のプログラムが、当該透かし情報抽出装置20のCPU306に実行させる処理により実現される。 The extraction processing unit 200 shown in FIG. 4 is realized by a process of causing the CPU 306 of the watermark information extracting device 20 to execute one or more programs installed in the watermark information extracting device 20.
 抽出処理部200には、入力部201と、特定部202と、補正部203と、抽出部204と、出力部205とが含まれる。 The extraction processing unit 200 includes an input unit 201, a specification unit 202, a correction unit 203, an extraction unit 204, and an output unit 205.
 入力部201は、クエリ画像G300を入力する。クエリ画像G300は、例えば、埋め込み済画像G200が印刷された印刷物や埋め込み済画像G200を表示するディスプレイ等をカメラで撮影することにより入力されたデジタルデータ(電子データ)である。入力されたクエリ画像G300は、特定部202に送信される。なお、クエリ画像G300は、例えば、埋め込み済画像G200が印刷された印刷物をスキャナでスキャンすることにより入力されたものであってもよいし、埋め込み済画像G200そのものであってもよい。 The input unit 201 inputs the query image G300. The query image G300 is, for example, digital data (electronic data) input by photographing a printed matter on which the embedded image G200 is printed or a display or the like displaying the embedded image G200 with a camera. The input query image G300 is transmitted to the identifying unit 202. The query image G300 may be, for example, one input by scanning a printed matter on which the embedded image G200 is printed with a scanner, or may be the embedded image G200 itself.
 特定部202は、所定の記憶領域に登録されている位置特定情報を用いて、入力部201が入力したクエリ画像G300から埋め込み済画像G200(つまり、埋め込み済画像G200に相当する画像領域)の4頂点の座標を特定する。この特定は、例えば、特開2015-201123号公報に開示されている画像認識手法を用いて行うことができる。すなわち、特定部202は、例えば、クエリ画像G300から特徴点を抽出し、抽出した特徴点と、位置特定情報に含まれる特徴点との対応付けを局所特徴量の照合により行う。そして、特定部202は、これら特徴点同士の位置のずれ具合から最小二乗法等により射影変換行列のパラメータを算出した上で、位置特定情報に含まれる4頂点(つまり、埋め込み対象画像G100の4頂点)の座標が、クエリ画像G300のどの座標に対応付けられるかを、当該パラメータを用いた射影変換行列により求める。この求められたクエリ画像G300の座標(上記の4頂点のそれぞれに対応する座標)が、透かし情報が埋め込まれている画像領域(つまり、埋め込み済画像G200に相当する画像領域)の4頂点の座標である。 The specifying unit 202 uses the position specifying information registered in a predetermined storage area to search for four of the embedded image G200 (that is, the image area corresponding to the embedded image G200) from the query image G300 input by the input unit 201. Specify the coordinates of the vertices. This identification can be performed by using, for example, the image recognition method disclosed in JP-A-2015-201123. That is, for example, the identifying unit 202 extracts feature points from the query image G300, and associates the extracted feature points with the feature points included in the position identification information by matching the local feature amounts. Then, the specifying unit 202 calculates the parameters of the projective transformation matrix by the least-squares method or the like from the degree of positional shift between these feature points, and then the four vertices included in the position specifying information (that is, 4 of the embedding target image G100). Which coordinate of the query image G300 the coordinate of the (vertex) is associated with is calculated by the projective transformation matrix using the parameter. The obtained coordinates of the query image G300 (coordinates corresponding to each of the above four vertices) are coordinates of four vertices of the image area in which the watermark information is embedded (that is, the image area corresponding to the embedded image G200). Is.
 これにより、クエリ画像G300において、埋め込み済画像G200に相当する画像領域の4頂点の座標が特定される。特定された結果(4頂点の座標)は、補正部203に送信される。 With this, in the query image G300, the coordinates of the four vertices of the image area corresponding to the embedded image G200 are specified. The identified result (coordinates of four vertices) is transmitted to the correction unit 203.
 補正部203は、特定部202が特定した4頂点の座標を用いて、クエリ画像G300を補正する。すなわち、補正部203は、クエリ画像G300を正規化する。また、補正部203は、当該4頂点の座標で示される矩形の画像領域以外の部分を削除(クリッピング)する。なお、正規化とは、例えば、埋め込み済画像G200が印刷された印刷物等をカメラで撮影することにより入力されたクエリ画像G300を、当該印刷物等を正面から撮影した場合に入力される画像に変換することである。補正後のクエリ画像G300は、抽出部204に送信される。以降では、補正後のクエリ画像G300も、単に、「クエリ画像G300」と表す。 The correction unit 203 corrects the query image G300 using the coordinates of the four vertices identified by the identification unit 202. That is, the correction unit 203 normalizes the query image G300. Further, the correction unit 203 deletes (clipping) a portion other than the rectangular image area indicated by the coordinates of the four vertices. Note that the normalization is, for example, conversion of a query image G300 input by shooting a printed matter or the like on which the embedded image G200 is printed with a camera into an image input when the printed matter or the like is photographed from the front. It is to be. The corrected query image G300 is transmitted to the extraction unit 204. Hereinafter, the corrected query image G300 is also simply referred to as “query image G300”.
 抽出部204は、補正部203が補正したクエリ画像G300から透かし情報を抽出する。すなわち、抽出部204は、例えば、N個のブロック領域が含まれるグループ毎に、M個のブロック領域とN-M個のブロック領域とで表されるブロックパターンを検出することで、当該ブロックパターンを1つの桁とするK進数の透かし情報を抽出する。抽出された透かし情報(又は、K進数の透かし情報をビット列に変換した透かし情報)は、出力部205に送信される。 The extraction unit 204 extracts watermark information from the query image G300 corrected by the correction unit 203. That is, the extraction unit 204 detects, for example, a block pattern represented by M block areas and NM block areas for each group including N block areas, thereby extracting the block pattern. Extract the K-adic watermark information in which is one digit. The extracted watermark information (or the watermark information obtained by converting the K-adic watermark information into a bit string) is transmitted to the output unit 205.
 出力部205は、抽出部204が抽出した透かし情報を所定の出力先に出力する。ここで、出力部205は予め設定された任意の出力先に透かし情報を出力すればよい。例えば、出力部205は、補助記憶装置308に透かし情報を出力してもよいし、表示装置302に透かし情報を出力してもよい。また、例えば、出力部205は、通信I/F307を介して接続される他の装置に透かし情報を出力してもよい。又は、例えば、出力部205は、透かし情報とURL(Uniform Resource Locator)とが対応付けられたテーブルを参照して、抽出部204が抽出した透かし情報に対応するURLをWebブラウザ等に出力してもよいし、透かし情報とメールアドレスとが対応付けられたテーブルを参照して、抽出部204が抽出した透かし情報に対応するメールアドレスをメーラー等に出力してもよい。 The output unit 205 outputs the watermark information extracted by the extraction unit 204 to a predetermined output destination. Here, the output unit 205 may output the watermark information to any preset output destination. For example, the output unit 205 may output the watermark information to the auxiliary storage device 308, or may output the watermark information to the display device 302. Further, for example, the output unit 205 may output the watermark information to another device connected via the communication I/F 307. Alternatively, for example, the output unit 205 outputs the URL corresponding to the watermark information extracted by the extraction unit 204 to a Web browser or the like by referring to a table in which the watermark information and the URL (Uniform Resource Locator) are associated with each other. Alternatively, a mail address corresponding to the watermark information extracted by the extraction unit 204 may be output to a mailer or the like by referring to a table in which the watermark information and the mail address are associated with each other.
 <透かし情報埋め込み処理>
 以降では、埋め込み対象画像G100に対して透かし情報を埋め込んだ埋め込み済画像G200を作成して、作成した埋め込み済画像G200を出力する処理について、図5を参照しながら説明する。図5は、本発明の実施の形態における透かし情報埋め込み処理の一例を示すフローチャートである。
<Watermark information embedding process>
Hereinafter, a process of creating the embedded image G200 in which watermark information is embedded in the embedding target image G100 and outputting the created embedded image G200 will be described with reference to FIG. FIG. 5 is a flowchart showing an example of the watermark information embedding process according to the embodiment of the present invention.
 まず、入力部101は、埋め込み対象画像G100を入力する(ステップS11)。入力部101は、例えば、補助記憶装置308に格納されている埋め込み対象画像G100を入力してもよいし、カメラ等により任意の対象を撮影することで埋め込み対象画像G100を入力してもよい。 First, the input unit 101 inputs the embedding target image G100 (step S11). The input unit 101 may input, for example, the embedding target image G100 stored in the auxiliary storage device 308, or may input the embedding target image G100 by shooting an arbitrary target with a camera or the like.
 次に、登録部102は、入力部101が入力した埋め込み対象画像G100の位置特定情報を算出し、算出した位置特定情報を所定の記憶領域に登録する(ステップS12)。位置特定情報の算出方法は上述した通りである。 Next, the registration unit 102 calculates the position identification information of the embedding target image G100 input by the input unit 101, and registers the calculated position identification information in a predetermined storage area (step S12). The method of calculating the position specifying information is as described above.
 なお、登録部102は、上記のステップS12で位置特定情報を算出及び登録する代わりに、例えば、埋め込み対象画像G100に対して所定のマーカを付与してもよい。具体的には、例えば、埋め込み対象画像G100の周囲に明示的な枠線をマーカとして付与してもよいし、QRコード(登録商標)等をマーカとして埋め込み対象画像G100の四隅に付与してもよい。 Note that the registration unit 102 may add a predetermined marker to the embedding target image G100, for example, instead of calculating and registering the position specifying information in step S12 described above. Specifically, for example, an explicit frame line may be provided as a marker around the embedding target image G100, or a QR code (registered trademark) or the like may be provided as a marker at four corners of the embedding target image G100. Good.
 次に、重畳部103は、入力部101が入力した埋め込み対象画像G100を複数のブロック領域に分割する(ステップS13)。なお、上記のステップS12でマーカが付与された場合には、重畳部103は、マーカが付与された埋め込み対象画像G100を複数のブロック領域に分割すればよい。また、ブロック領域は、矩形領域であればよく、正方形又は長方形のいずれであってもよい。 Next, the superimposing unit 103 divides the embedding target image G100 input by the input unit 101 into a plurality of block areas (step S13). When the marker is added in step S12 described above, the superimposing unit 103 may divide the embedding target image G100 to which the marker is added into a plurality of block areas. The block area may be a rectangular area and may be a square or a rectangle.
 ここで、複数のブロック領域に分割された埋め込み対象画像G100を図6に示す。図6に示す例では、埋め込み対象画像G100が8×8の64個のブロック領域に分割されている。なお、8×8の64個のブロック領域に分割することは一例であって、重畳部103は、予め決められた任意の数のブロック領域に埋め込み対象画像G100を分割する。 Here, FIG. 6 shows an embedding target image G100 divided into a plurality of block areas. In the example shown in FIG. 6, the embedding target image G100 is divided into 64 block regions of 8×8. Note that division into 8×8 64 block regions is an example, and the superimposing unit 103 divides the embedding target image G100 into a predetermined arbitrary number of block regions.
 次に、重畳部103は、上記のステップS13の分割によって得られた複数のブロック領域をN個のブロック領域毎にグループ化する(ステップS14)。 Next, the superimposing unit 103 groups the plurality of block areas obtained by the division in the above step S13 into N block areas (step S14).
 ここで、一例として、N=4個のブロック領域毎にグループ化した場合を図7に示す。図7に示す例は、上記のステップS13で埋め込み対象画像G100が8×8の64個のブロック領域に分割された場合に、4個のブロック領域を1つのグループにグループ化したときの例である。 Here, as an example, FIG. 7 shows a case where N=4 block areas are grouped. The example shown in FIG. 7 is an example in which four block areas are grouped into one group when the embedding target image G100 is divided into 64 block areas of 8×8 in step S13. is there.
 また、一例として、N=9個のブロック領域毎にグループ化した場合を図8に示す。図8に示す例では、上記のステップS13で埋め込み対象画像G100が12×12の144個のブロック領域に分割された場合に、9個のブロック領域を1つのグループにグループ化したときの例である。 Further, as an example, FIG. 8 shows a case where N=9 block areas are grouped. In the example shown in FIG. 8, when the embedding target image G100 is divided into 144 block areas of 12×12 in step S13, nine block areas are grouped into one group. is there.
 なお、図7及び図8に示す例では各グループそれぞれの表す画像領域が単連結な領域である場合を示したが、必ずしも各グループそれぞれの表す画像領域が単連結な領域である必要はない。したがって、重畳部103は、任意のN個のブロック領域を1つのグループにグループ化してよい。 Note that the examples shown in FIGS. 7 and 8 show the case where the image area represented by each group is a single connected area, but the image area represented by each group does not necessarily have to be a single connected area. Therefore, the superposition unit 103 may group any N block areas into one group.
 ここで、埋め込み対象画像G100が商品パッケージ等に用いられる場合、企業ロゴや商品ロゴ等(以降、単に「ロゴ」と表す。)が当該埋め込み対象画像G100に含まれる事がある。このような場合に、ロゴ部分に透かし情報を埋め込みたくないというニーズが存在する。そこで、ロゴの周辺に余白がある場合には、上記のステップS13で当該余白部分を複数のブロック領域に分割した上で、上記のステップS14では、これら複数のブロック領域をグループ化する。なお、一般に、ロゴが目立つように、ロゴの周辺には余白が設けられることが多い。 Here, when the embedding target image G100 is used for a product package or the like, a company logo, a product logo, or the like (hereinafter simply referred to as “logo”) may be included in the embedding target image G100. In such a case, there is a need not to embed the watermark information in the logo portion. Therefore, if there is a margin around the logo, the margin is divided into a plurality of block areas in step S13, and then the plurality of block areas are grouped in step S14. Generally, a margin is often provided around the logo so that the logo stands out.
 埋め込み対象画像G100にロゴが含まれる場合に、当該ロゴの周辺の余白部分を複数のブロック領域に分割し、これら複数のブロック領域をN=4個毎にグループ化した場合の例を図9に示す。図9に示す例では、ロゴの周辺の余白部分において、N=4個のブロック領域を1つのグループにグループ化している。なお、ロゴの周辺の余白部分にはテクスチャが少なく、ノイズの原因となる要素が少ないことから、このような余白部分を複数のブロック領域に分割及びグループ化することで、透かし情報抽出処理において、グループ内のブロック領域に重畳させた黒ドット及び白ドットを容易に検出することができるようになる。 FIG. 9 shows an example of a case where a logo is included in the embedding target image G100, a margin portion around the logo is divided into a plurality of block areas, and the plurality of block areas are grouped into N=4 pieces. Show. In the example shown in FIG. 9, N=4 block areas are grouped into one group in the margin portion around the logo. Since there are few textures in the margins around the logo and there are few elements that cause noise, by dividing and grouping such margins into multiple block areas, in the watermark information extraction process, It becomes possible to easily detect the black dot and the white dot that are superimposed on the block area in the group.
 次に、重畳部103は、グループ毎に、M(ただし、1≦M≦N-1)個のブロック領域と、N-M個のブロック領域とで表されるブロックパターンが、透かし情報をK(ただし、K=)進数で表現した場合における1つの桁に対応するように、当該M個のブロック領域と当該N-M個のブロック領域とに対してそれぞれ黒ドットと白ドットとを重畳させて、埋め込み済画像G200を作成する(ステップS15)。これにより、埋め込み対象画像G100に対して透かし情報が埋め込まれた埋め込み済画像G200が作成される。 Next, the superimposing unit 103 determines that the block pattern represented by M (where 1≦M≦N−1) block areas and NM block areas is watermark information K for each group. (However, K= N C M ) In order to correspond to one digit when expressed in a base number, black dots and white dots are respectively set for the M block regions and the NM block regions. Are superimposed to create an embedded image G200 (step S15). As a result, an embedded image G200 in which watermark information is embedded in the embedding target image G100 is created.
 ここで、以降では、M個のブロック領域で構成される集合を「第1群」、N-M個のブロック領域で構成される集合を「第2群」と表す。 Hereafter, a set composed of M block areas will be referred to as a “first group”, and a set composed of NM block areas will be referred to as a “second group”.
 このとき、一例として、N=4,M=2であり、上記のステップS14でグループ化されたグループ数が16である場合について具体的に説明する。この場合、まず、重畳部103は、K==6進数で表現した透かし情報をx・・・x15として、グループi(i=0,・・,15)のブロックパターンによりxを表現し、当該グループiに含まれる第1群のブロック領域に黒ドットを、第2群のブロック領域に白ドットを重畳させる。 At this time, as an example, a case where N=4 and M=2 and the number of groups grouped in step S14 is 16 will be specifically described. In this case, first, superimposing unit 103, K = 4 C 2 = the watermark information represented in hexadecimal numbers as x 0 x 1 ··· x 15, group i (i = 0, ··, 15) Block Pattern X i is expressed by superimposing black dots on the block areas of the first group and white dots on the block areas of the second group included in the group i.
 例えば、xは0~5のいずれかの値を取り得るため、各グループiのブロックパターンとxの取り得る値とを図10に示すように対応させることができる。このため、重畳部103は、xの値を、当該値に対応するブロックパターンで表現する。 For example, since x i can take any value from 0 to 5, the block pattern of each group i and the possible values of x i can be associated as shown in FIG. Therefore, the superimposing unit 103 expresses the value of x i as a block pattern corresponding to the value.
 そして、重畳部103は、当該ブロックパターンが表す第1群のブロック領域に黒ドットを重畳すると共に、当該ブロックパターンが表す第2群のブロック領域に白ドットを重畳する。例えば、x=0である場合、重畳部103は、図11に示すように、グループiのブロックパターン(x=0に対応するブロックパターン)が表す第1群のブロック領域に黒ドットを重畳すると共に、当該ブロックパターンが表す第2群のブロック領域に白ドットを重畳する。このとき、重畳部103は、1つのブロック領域に対して空間的にランダムに分散させたドット(第1群のブロック領域の場合は黒ドット、第2の群のブロック領域の場合は白ドット)を所定の密度で上書きする。 Then, the superimposing unit 103 superimposes black dots on the block area of the first group represented by the block pattern and superimposes white dots on the block area of the second group represented by the block pattern. For example, when x i =0, the superimposing unit 103 forms black dots in the block area of the first group represented by the block pattern of the group i (the block pattern corresponding to x i =0) as shown in FIG. While superimposing, white dots are superposed on the block area of the second group represented by the block pattern. At this time, the superimposing unit 103 spatially randomly disperses dots in one block area (black dots in the case of the block area of the first group, white dots in the case of the block area of the second group). Is overwritten with a predetermined density.
 また、同様に、一例として、N=9,M=2であり、上記のステップS14でグループ化されたグループ数が16である場合について具体的に説明する。この場合、まず、重畳部103は、K==36進数で表現した透かし情報をx・・・x15として、グループi(i=0,・・,15)のブロックパターンによりxを表現し、当該グループiに含まれる第1群のブロック領域に黒ドットを、第2群のブロック領域に白ドットを重畳させる。 Similarly, as an example, a case where N=9 and M=2 and the number of groups grouped in step S14 is 16 will be specifically described. In this case, first, superimposing unit 103, K = 9 C 2 = the watermark information represented by 36 binary as x 0 x 1 ··· x 15, group i (i = 0, ··, 15) Block Pattern X i is expressed by superimposing black dots on the block areas of the first group and white dots on the block areas of the second group included in the group i.
 例えば、xは0~9,A~Zのいずれかの値を取り得るため、各グループiのブロックパターンとxの取り得る値とを図12に示すように対応させることができる。このため、重畳部103は、xの値を、当該値に対応するブロックパターンで表現する。 For example, since x i can take any value of 0 to 9 and A to Z, the block pattern of each group i and the possible value of x i can be associated as shown in FIG. Therefore, the superimposing unit 103 expresses the value of x i as a block pattern corresponding to the value.
 そして、重畳部103は、当該ブロックパターンが表す第1群のブロック領域に黒ドットを重畳すると共に、当該ブロックパターンが表す第2群のブロック領域に白ドットを重畳する。例えば、x=0である場合、重畳部103は、図13に示すように、グループiのブロックパターン(x=0に対応するブロックパターン)が表す第1群のブロック領域に黒ドットを重畳すると共に、当該ブロックパターンが表す第2群のブロック領域に白ドットを重畳する。このとき、重畳部103は、1つのブロック領域に対して空間的にランダムに分散させたドット(第1群のブロック領域の場合は黒ドット、第2の群のブロック領域の場合は白ドット)を所定の密度で上書きする。 Then, the superimposing unit 103 superimposes black dots on the block area of the first group represented by the block pattern and superimposes white dots on the block area of the second group represented by the block pattern. For example, when x i =0, the superimposing unit 103 forms black dots in the block area of the first group represented by the block pattern of the group i (the block pattern corresponding to x i =0) as shown in FIG. While superimposing, white dots are superposed on the block area of the second group represented by the block pattern. At this time, the superimposing unit 103 spatially randomly disperses dots in one block area (black dots in the case of the block area of the first group, white dots in the case of the block area of the second group). Is overwritten with a predetermined density.
 このように、K=進数で表現された透かし情報の1つの桁を1つのグループで表すことで、当該透かし情報を埋め込み対象画像G100に埋め込むことができる。このとき、埋め込み対象画像G100に含まれるグループ数をIとすれば、当該埋め込み対象画像G100には、K通りの透かし情報を埋め込むことができる。 As described above, by representing one digit of the watermark information expressed by K= N C M base number with one group, the watermark information can be embedded in the embedding target image G100. At this time, if the number of groups included in the embedding target image G100 is I, it is possible to embed K I watermark information in the embedding target image G100.
 なお、第1群のブロック領域に少なくとも1つ以上の黒ドットを重畳させると共に、第2群のブロック領域に少なくとも1つ以上の白ドットを重畳させるようにしてもよいし、これに限られず、例えば、第1群のブロック領域に黒ドットを重畳させるか又は第2のブロック領域に白ドットを重畳させるかのいずれか一方のみを行ってもよい。 Note that at least one black dot may be superimposed on the first group block area, and at least one white dot may be superimposed on the second group block area. However, the present invention is not limited to this. For example, only one of superimposing a black dot on the block area of the first group or superimposing a white dot on the second block area may be performed.
 また、ブロック領域にドット(第1群のブロック領域の場合は黒ドット、第2の群のブロック領域の場合は白ドット)を重畳させる場合、ドットの密度設定によっては1つのブロック領域に対して数個程度のドットしか上書きされないことがある。この場合、ブロック領域の位置ずれに対する頑健性(ロバスト性)を高めるため、各ブロック領域に対して、少なくとも1つのドットが当該ブロック領域の中央近傍に上書きされるようにすることが好ましい。 Also, when dots (black dots in the case of the first group of block areas and white dots in the case of the second group of block areas) are to be superimposed on the block area, one dot may be added to one block area depending on the dot density setting. Sometimes only a few dots are overwritten. In this case, in order to improve the robustness (robustness) of the block area with respect to positional displacement, it is preferable that at least one dot is overwritten in the vicinity of the center of the block area for each block area.
 また、各ブロック領域に重畳させるドットの大きさ(ドット径)は任意に設定することができるが、例えば、埋め込み済画像G200を印刷する場合を考慮して、印刷機のdpiに応じたドット径とすることが好ましい。 The size of the dots (dot diameter) to be superimposed on each block area can be set arbitrarily. For example, in consideration of the case of printing the embedded image G200, the dot diameter corresponding to the dpi of the printing machine. It is preferable that
 ここで、上記では、Mは1≦M≦N-1のいずれかであるものとしたが、例えば、各グループに対してMを0以上N以下の任意の値を取り得るものとすれば、より多くの情報量を有する透かし情報を埋め込み対象画像G100に埋め込むことが可能となる。例えば、N=4の場合に、各グループに対してMを0以上N=4以下の任意の値を取り得るものとすれば、図14に示すように、1つのグループのグループパターンで、透かし情報を16進数で表現した場合における各桁を表現することができる。ただし、この場合、1つのグループに対するグループパターンが増加することから、透かし情報抽出処理において、ノイズによって誤った透かし情報が抽出される可能性が高くなる。そのため、ドットを重畳可能な画像領域のテクスチャ、埋め込み済画像G200を印刷する場合における印刷機の性能、透かし情報抽出処理において印刷物を撮影するカメラの性能、透かし情報抽出処理において印刷物をスキャンするスキャナの性能等を考慮して、透かし情報を安定して抽出可能な数にグループパターンの数を制限することが好ましい。 Here, in the above, M is one of 1≦M≦N−1. However, for example, if M can take any value of 0 or more and N or less for each group, It becomes possible to embed watermark information having a larger amount of information in the embedding target image G100. For example, in the case of N=4, if M can take an arbitrary value of 0 or more and N=4 or less for each group, as shown in FIG. Each digit in the case where the information is expressed in hexadecimal can be expressed. However, in this case, since the group pattern for one group increases, there is a high possibility that erroneous watermark information will be extracted due to noise in the watermark information extraction process. Therefore, the texture of the image area in which dots can be superimposed, the performance of the printing machine when printing the embedded image G200, the performance of the camera that captures the printed material in the watermark information extraction processing, and the performance of the scanner that scans the printed material in the watermark information extraction processing. In consideration of performance and the like, it is preferable to limit the number of group patterns to a number that enables stable extraction of watermark information.
 また、上記では、透かし情報をそのまま埋め込み対象画像G100に埋め込んだが、例えば、スペクトル拡散や誤り訂正符号化等の各種冗長化を行った上で、埋め込み対象画像G100に埋め込むことが好ましい。これにより、例えば、透かし情報抽出処理において、部分遮蔽等の様々な劣化要因に対するロバスト性を高めることができる。 In the above, the watermark information is embedded in the embedding target image G100 as it is, but it is preferable to embed the watermark information in the embedding target image G100 after performing various kinds of redundancy such as spectrum spreading and error correction coding. Thereby, for example, in the watermark information extraction process, robustness against various deterioration factors such as partial occlusion can be enhanced.
 また、透かし情報をK進数で表現した場合の各桁と、埋め込み対象画像G100の各グループの並びとは必ずしも一致させる必要はなく、例えば、透かし情報に対してスクランブルを施してもよい。 Also, it is not always necessary to match each digit when the watermark information is expressed in a K-adic number with the arrangement of each group of the embedding target image G100, and for example, the watermark information may be scrambled.
 なお、黒ドット及び白ドットは、それぞれ黒点及び白点と称されてもよい。また、必ずしも黒ドットや白ドットを用いる必要はなく、第1群に含まれるブロック領域と第2群に含まれるブロック領域とを区別するための任意の1種類又は2種類以上の特徴点が用いられてもよい。 Note that black dots and white dots may be referred to as black dots and white dots, respectively. Further, it is not always necessary to use black dots or white dots, and any one kind or two or more kinds of feature points for distinguishing the block area included in the first group from the block area included in the second group are used. May be
 次に、出力部104は、重畳部103が作成した埋め込み済画像G200を所定の出力先に出力する(ステップS16)。ここで、印刷機に埋め込み済画像G200を出力する場合、CMYKインク以外にホワイトインクを利用できる印刷機に出力することが好ましい。これにより、第2群のブロック領域に重畳させた白ドットをホワイトインクで印刷することができる。なお、印刷機に埋め込み済画像G200を出力する際に、例えば、当該埋め込み済画像G200を補助記憶装置308や記録媒体303a等に画像ファイルとして一旦保存した上で、その後、当該画像ファイルを印刷機で印刷してもよい。 Next, the output unit 104 outputs the embedded image G200 created by the superposition unit 103 to a predetermined output destination (step S16). Here, when outputting the embedded image G200 to the printing machine, it is preferable to output to the printing machine that can use white ink in addition to the CMYK ink. As a result, the white dots superimposed on the block area of the second group can be printed with white ink. When outputting the embedded image G200 to the printing machine, for example, the embedded image G200 is temporarily stored as an image file in the auxiliary storage device 308, the recording medium 303a, or the like, and then the image file is printed. You can print with.
 <透かし情報抽出処理>
 以降では、透かし情報が埋め込まれたクエリ画像G300から透かし情報を抽出する処理について、図15を参照しながら説明する。図15は、本発明の実施の形態における透かし情報抽出処理の一例を示すフローチャートである。
<Watermark information extraction process>
Hereinafter, a process of extracting watermark information from the query image G300 in which the watermark information is embedded will be described with reference to FIG. FIG. 15 is a flowchart showing an example of watermark information extraction processing according to the embodiment of the present invention.
 まず、入力部201は、クエリ画像G300を入力する(ステップS21)。入力部201は、例えば、埋め込み済画像G200が印刷された印刷物等をカメラで撮影することによりクエリ画像G300を入力してもよいし、埋め込み済画像G200が印刷された印刷物をスキャナでスキャンすることによりクエリ画像G300を入力してもよいし、補助記憶装置308等に格納されている埋め込み済画像G200をクエリ画像G300として入力してもよい。 First, the input unit 201 inputs the query image G300 (step S21). The input unit 201 may input the query image G300 by, for example, photographing a printed matter or the like on which the embedded image G200 is printed with a camera, or scanning the printed matter on which the embedded image G200 is printed with a scanner. Therefore, the query image G300 may be input, or the embedded image G200 stored in the auxiliary storage device 308 or the like may be input as the query image G300.
 次に、特定部202は、所定の記憶領域に登録されている位置特定情報を用いて、入力部201が入力したクエリ画像G300から埋め込み済画像G200(つまり、埋め込み済画像G200に相当する画像領域)の4頂点の座標を特定する(ステップS22)。これら4頂点の座標の特定方法は上述した通りである。 Next, the specifying unit 202 uses the position specifying information registered in the predetermined storage area, from the query image G300 input by the input unit 201 to the embedded image G200 (that is, the image area corresponding to the embedded image G200). ) Coordinates of the four vertices are identified (step S22). The method of specifying the coordinates of these four vertices is as described above.
 なお、埋め込み済画像G200にマーカが付与されている場合は、特定部202は、当該マーカを検出することで、埋め込み済画像G200の4頂点の座標を特定すればよい。 If a marker is attached to the embedded image G200, the identifying unit 202 may identify the coordinates of the four vertices of the embedded image G200 by detecting the marker.
 次に、補正部203は、特定部202が特定した4頂点の座標を用いて、クエリ画像G300を補正する(ステップS23)。すなわち、補正部203は、当該4頂点の座標を用いてクエリ画像G300を正規化した上で、当該4頂点の座標で示される矩形の画像領域以外の部分をクリッピングする。 Next, the correction unit 203 corrects the query image G300 using the coordinates of the four vertices identified by the identification unit 202 (step S23). That is, the correction unit 203 normalizes the query image G300 using the coordinates of the four vertices, and then clips a portion other than the rectangular image area indicated by the coordinates of the four vertices.
 なお、クリッピングするのは当該4頂点の座標で示される矩形の画像領域以外の部分は不要であるためである。したがって、上記のステップS23では、必ずしもクリッピングを行う必要はなく、クリッピングしなくてもよい。 The reason for clipping is that the area other than the rectangular image area indicated by the coordinates of the four vertices is unnecessary. Therefore, in step S23 described above, clipping does not necessarily have to be performed, and clipping may not be performed.
 次に、補正部203が補正したクエリ画像G300から透かし情報を抽出する(ステップS24)。すなわち、抽出部204は、クエリ画像G300のグループ毎に、第1群に含まれるブロック領域と第2群に含まれるブロック領域とで表されるブロックパターンを検出することで、当該ブロックパターンを1つの桁とするK進数の透かし情報を抽出する。 Next, watermark information is extracted from the query image G300 corrected by the correction unit 203 (step S24). That is, the extraction unit 204 detects the block pattern represented by the block area included in the first group and the block area included in the second group for each group of the query image G300, and thus the block pattern is set to 1 The K-adic watermark information having one digit is extracted.
 ここで、抽出部204は、例えば、黒ドットが重畳されているブロック領域を第1群に含まれるブロック領域と検出し、白ドットが重畳されているブロック領域を第2群に含まれるブロック領域と検出することで、ブロックパターンを検出する。そして、抽出部204は、各グループのブロックパターンに対応する値を、K進数の透かし情報の各桁のうちの当該グループに対応する桁の値とすることで、透かし情報を抽出する。このとき、抽出部204は、K進数の透かし情報をビット列に変換してもよい。 Here, the extraction unit 204 detects, for example, a block region in which the black dots are superimposed as a block region included in the first group, and a block region in which the white dots are superimposed is a block region included in the second group. Then, the block pattern is detected. Then, the extraction unit 204 extracts the watermark information by setting the value corresponding to the block pattern of each group as the value of the digit corresponding to the group among the digits of the K-adic watermark information. At this time, the extraction unit 204 may convert the K-adic number watermark information into a bit string.
 また、抽出部204は、黒ドット又は白ドットを検出するために、トップハット処理やブラックハット処理を用いてもよい。トップハット処理とは、クエリ画像G300と、オープリング処理を施したクエリ画像G300との差分によって表される画像を作成する処理である。この処理により白ドットを検出することができる。一方で、ブラックハット処理とは、クエリ画像G300と、クロージング処理を施したクエリ画像G300との差分によって表される画像を作成する処理である。この処理により黒ドットを検出することができる。 Also, the extraction unit 204 may use top hat processing or black hat processing in order to detect black dots or white dots. The top hat process is a process of creating an image represented by the difference between the query image G300 and the query image G300 subjected to the opening process. By this processing, white dots can be detected. On the other hand, the black hat process is a process of creating an image represented by the difference between the query image G300 and the closing query image G300. By this processing, black dots can be detected.
 更に、透かし情報埋め込み処理において、例えば、透かし情報を冗長化していたり、透かし情報にスクランブルを施していたりする場合、抽出部204は、冗長化前やスクランブルを施す前の透かし情報に復号するための適切な処理を行う。 Furthermore, in the watermark information embedding process, for example, when the watermark information is made redundant or the watermark information is scrambled, the extraction unit 204 decodes the watermark information before the redundancy or before the scramble. Take appropriate action.
 なお、透かし情報埋め込み処理において、第1群のブロック領域への黒ドットの重畳又は第2群のブロック領域への白ドットの重畳のいずれか一方のみを行っている場合には、上記のステップS24では、透かし情報埋め込み処理で重畳されたドット(黒ドット又は白ドットのいずれか)のみを検出すればよい。 In the watermark information embedding process, if only one of the black dot superimposition on the first group block area or the white dot superimposition on the second group block area is performed, the above-described step S24 is performed. Then, it suffices to detect only the dots (either black dots or white dots) that are superimposed in the watermark information embedding process.
 次に、出力部205は、抽出部204が抽出した透かし情報を所定の出力先に出力する(ステップS25)。 Next, the output unit 205 outputs the watermark information extracted by the extraction unit 204 to a predetermined output destination (step S25).
 <まとめ>
 以上のように、本発明の実施の形態における透かし情報埋め込み装置10は、埋め込み対象画像G100内のN個のブロック領域を1つのグループとして、当該グループ内のM個のブロック領域とN-M個のブロック領域とのブロックパターンによってK=進数で表現された透かし情報を埋め込み対象画像G100に埋め込む。したがって、本発明の実施の形態における透かし情報埋め込み装置10によれば、例えば、埋め込み対象画像G100に対して透かし情報を埋め込むことが可能な画像領域が限られている場合であっても高い密度で透かし情報を埋め込むことが可能となり、埋め込み対象画像G100に埋め込み可能な透かし情報の情報量を向上させることができるようになる。
<Summary>
As described above, the watermark information embedding device 10 according to the embodiment of the present invention regards N block areas in the embedding target image G100 as one group, and sets M block areas and NM block areas in the group. The watermark information expressed in K= N C M base number by the block pattern with the block area of is embedded in the embedding target image G100. Therefore, according to the watermark information embedding device 10 in the embodiment of the present invention, for example, even when the image area in which the watermark information can be embedded in the embedding target image G100 is limited, it is possible to achieve high density. The watermark information can be embedded, and the amount of watermark information that can be embedded in the embedding target image G100 can be improved.
 なお、本発明の実施の形態における透かし情報埋め込み装置10では、Nの値を大きくする程、埋め込み対象画像G100に埋め込むことが可能な透かし情報の密度を高くすることができる。また、1つのグループで0~K-1まで表現することが可能であるため、M=N/2とした場合に最も効率良く透かし情報を埋め込むことが可能となる。 Note that with the watermark information embedding device 10 according to the embodiment of the present invention, the greater the value of N, the higher the density of watermark information that can be embedded in the embedding target image G100. Further, since 0 to K-1 can be expressed by one group, it becomes possible to embed the watermark information most efficiently when M=N/2.
 また、本発明の実施の形態における透かし情報抽出装置20は、透かし情報埋め込み装置10によって埋め込まれた透かし情報をクエリ画像G300から抽出することができる。 Further, the watermark information extracting device 20 according to the embodiment of the present invention can extract the watermark information embedded by the watermark information embedding device 10 from the query image G300.
 本発明は、具体的に開示された上記の実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。 The present invention is not limited to the above specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims.
 10    透かし情報埋め込み装置
 20    透かし情報抽出装置
 100   埋め込み処理部
 101   入力部
 102   登録部
 103   重畳部
 104   出力部
 200   抽出処理部
 201   入力部
 202   特定部
 203   補正部
 204   抽出部
 205   出力部
10 watermark information embedding device 20 watermark information extracting device 100 embedding processing unit 101 input unit 102 registration unit 103 superimposing unit 104 output unit 200 extraction processing unit 201 input unit 202 specifying unit 203 correcting unit 204 extracting unit 205 output unit

Claims (7)

  1.  対象画像に対して透かし情報を埋め込むための埋め込み装置であって、
     前記対象画像の分割された領域ごとに、それぞれ画素値で表現される少なくとも2種の特徴の中から1種の特徴を前記領域に重畳させる重畳部を有し、
     前記重畳部は、
     所定の単位の前記領域の集合ごとに、前記透かし情報が前記特徴を埋め込んだ各領域の前記集合における位置によって決定されるパターンによって表現されるよう、前記透かし情報を前記対象画像に埋め込む、
     ことを特徴とする埋め込み装置。
    An embedding device for embedding watermark information in a target image,
    For each of the divided regions of the target image, a superimposing unit that superimposes one type of features among the at least two types of features represented by pixel values on the region,
    The superimposing section is
    Embedding the watermark information in the target image so that the watermark information is expressed by a pattern determined by the position of each region in which the feature is embedded in the set, for each set of the regions in a predetermined unit.
    An embedded device characterized by the above.
  2.  前記重畳部は、
     前記対象画像にロゴが含まれる場合、前記対象画像のうちの前記ロゴ以外の画像領域が分割された領域ごとに、前記1種の特徴を前記領域に重畳させる、
     ことを特徴とする請求項1に記載の埋め込み装置。
    The superimposing section is
    When the target image includes a logo, in each of the divided regions of the image other than the logo in the target image, the one type of feature is superimposed on the region.
    The implanting device according to claim 1, wherein:
  3.  前記重畳部は、
     前記1種の特徴を1つ以上、前記領域に重畳させ、かつ、前記1つ以上の特徴のうちの少なくとも1つを、前記領域の中央近傍に重畳させる、
     ことを特徴とする請求項1又は2に記載の埋め込み装置。
    The superimposing section is
    One or more features of the one type are superimposed on the region, and at least one of the one or more features is superimposed near the center of the region;
    The implanting device according to claim 1 or 2, characterized in that:
  4.  前記1種の特徴は白ドットであり、
     前記対象画像に対して前記透かし情報が埋め込まれた画像について、前記透かし情報が埋め込まれた画像に含まれる前記白ドットをホワイトインクで印刷する印刷部を有する、ことを特徴とする請求項1乃至3の何れか一項に記載の埋め込み装置。
    The one characteristic is a white dot,
    A printing unit for printing the white dots included in the image in which the watermark information is embedded with white ink for the image in which the watermark information is embedded in the target image. 4. The implantable device according to any one of 3 above.
  5.  対象画像に埋め込まれた透かし情報を抽出するための抽出装置であって、
     前記対象画像の分割された領域ごとに、それぞれ画素値で表現される少なくとも2種の特徴の中から1種の特徴を前記領域から検出する検出部を有し、
     前記検出部は、
     所定の単位の前記領域の集合ごとに、前記特徴が埋め込まれた各領域の前記集合における位置によって決定されるパターンによって前記透かし情報を検出することで、前記透かし情報を前記対象画像から抽出する、
     ことを特徴とする抽出装置。
    An extraction device for extracting watermark information embedded in a target image,
    A detection unit that detects, from each of the divided regions of the target image, one feature from at least two features represented by a pixel value,
    The detection unit,
    For each set of the regions of a predetermined unit, the watermark information is extracted from the target image by detecting the watermark information by a pattern determined by the position of each region in which the feature is embedded in the set,
    An extraction device characterized by the above.
  6.  前記2種の特徴はそれぞれ黒ドット及び白ドットであり、
     前記検出部は、
     トップハット処理又はブラックハット処理を前記対象画像に施すことで、前記黒ドット又は前記白ドットを前記特徴として検出し、前記集合ごとに、検出された前記特徴が埋め込まれた各領域の前記集合における位置によって決定されるパターンによって前記透かし情報を検出する、ことを特徴とする請求項5に記載の抽出装置。
    The two characteristics are black dots and white dots,
    The detection unit,
    By subjecting the target image to a top hat process or a black hat process, the black dots or the white dots are detected as the features, and for each set, in the set of each region in which the detected features are embedded. The extraction device according to claim 5, wherein the watermark information is detected by a pattern determined by a position.
  7.  コンピュータを、請求項1乃至4の何れか一項に記載の埋め込み装置における各部又は請求項5又は6に記載の抽出装置における各部として機能させるためのプログラム。 A program for causing a computer to function as each part of the embedded device according to any one of claims 1 to 4 or each part of the extraction device according to claim 5 or 6.
PCT/JP2019/045551 2018-12-05 2019-11-21 Embedding device, extracting device and program WO2020116176A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018228511A JP2020090032A (en) 2018-12-05 2018-12-05 Embedding device, extraction device and program
JP2018-228511 2018-12-05

Publications (1)

Publication Number Publication Date
WO2020116176A1 true WO2020116176A1 (en) 2020-06-11

Family

ID=70973854

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/045551 WO2020116176A1 (en) 2018-12-05 2019-11-21 Embedding device, extracting device and program

Country Status (2)

Country Link
JP (1) JP2020090032A (en)
WO (1) WO2020116176A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008178146A (en) * 2008-04-04 2008-07-31 Canon Inc Tint block image generating apparatus
JP2009260717A (en) * 2008-04-17 2009-11-05 Mitsubishi Electric Corp Electronic watermark embedding apparatus, electronic watermark detecting apparatus, method, and program
WO2018155331A1 (en) * 2017-02-23 2018-08-30 日本電信電話株式会社 Digital watermark padding device, digital watermark detecting device, digital watermark padding method, digital watermark detecting method, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008178146A (en) * 2008-04-04 2008-07-31 Canon Inc Tint block image generating apparatus
JP2009260717A (en) * 2008-04-17 2009-11-05 Mitsubishi Electric Corp Electronic watermark embedding apparatus, electronic watermark detecting apparatus, method, and program
WO2018155331A1 (en) * 2017-02-23 2018-08-30 日本電信電話株式会社 Digital watermark padding device, digital watermark detecting device, digital watermark padding method, digital watermark detecting method, and program

Also Published As

Publication number Publication date
JP2020090032A (en) 2020-06-11

Similar Documents

Publication Publication Date Title
US11238556B2 (en) Embedding signals in a raster image processor
JP4137084B2 (en) Method for processing documents with fraud revealing function and method for validating documents with fraud revealing function
JP6733030B2 (en) Digital watermark embedding device, digital watermark detecting device, digital watermark embedding method, digital watermark detecting method, and program
US8433067B2 (en) Device, method, and program for image encryption/decryption
US20020104003A1 (en) Digital watermark processing apparatus, and digital contents distribution system using the apparatus
US8509425B2 (en) Image processing system, program and method
US9152810B2 (en) Information output system, method, and program for tampering detection
US20030128863A1 (en) Information processing device and method for processing picture data and digital watermark information
US20100119067A1 (en) Electronic document encrypting system, decrypting system, program and method
US10354355B2 (en) Digital watermarking
JP2000299778A (en) Method and device for adding watermark, method and device for reading and recording medium
EP2133853B1 (en) Image encryption apparatus and image decryption apparatus
WO2010106678A1 (en) Marker generation program, restoration program, marker generation device, restoration device, and marker generation method
Cheung et al. A sequential quantization strategy for data embedding and integrity verification
JP4426617B2 (en) Document falsification detection method using encoded dots
WO2020116176A1 (en) Embedding device, extracting device and program
TWI411927B (en) Method of embedding information in input image, method of extracting information from input image and related apparatuses thereof
CN110648271A (en) Method for embedding digital watermark in halftone image by using special dots
Lee et al. Photograph watermarking
JP6920719B2 (en) Digital watermarking device and method
JP4796150B2 (en) Image encryption / decryption device, method and program
WO2018061232A1 (en) Information processing device, display method, reading method, and computer-readable non-transitory storage medium
JP4679084B2 (en) Add digital watermark
Safonov et al. Embedding digital hidden data into hardcopy
JP6296319B1 (en) Information processing apparatus, display method, reading method, and computer-readable non-transitory storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19893985

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19893985

Country of ref document: EP

Kind code of ref document: A1