Watermark embedding method and system thereof
Patent Information
- Application Number
- JP2024008201
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-09
- Filing Date
- 2024-01-23
- Publication Date
- 2025-02-21
- Estimated Expiration
- 2044-01-23
AI Technical Summary
【0015】 本開示のいくつかの実施形態によれば、ウォーターマーク(watermark)のベースパターン(base pattern)とペイロードパターン(payload pattern)が個別に埋め込まれることができる。このような場合、ベースパターンとペイロードパターンに適用される加重値(すなわち、ピクセル値の調整強度を表す値)、埋め込み領域の形状などを自由に設計できるため、ウォーターマーク埋め込みアルゴリズムの設計自由度が大きく向上することができる。
Smart Images

Figure 2025026263000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a watermark embedding method and system, and more particularly, to a method and system for invisibly embedding a watermark in a given image. [Background technology]
[0002] Digital watermarking is a technology that embeds (inserts) specific information into various digital data such as photos and videos. Such watermarking technology is used for various purposes such as preventing unauthorized copying, authenticity verification, information labelling, etc.
[0003] Recently, technology that embeds watermarks in original images in a way that is not perceptible to the human eye has been attracting much attention, and research into this subject is being actively pursued. For example, research has been conducted to improve both the invisibility of watermarks and their extraction performance (i.e., recognition rate).
[0004] However, since there is a certain trade-off between the invisibility of the watermark and the extraction performance of the watermark, it is very difficult to improve both at the same time, and continuous research is required. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Korean Patent No. 10-1877372 (Announced on July 13, 2018) Summary of the Invention [Problem to be solved by the invention]
[0006] A technical problem to be solved by some embodiments of the present disclosure is to provide a watermark embedding method and system therefor that can improve the invisibility of a watermark and minimize quality degradation of an original image.
[0007] Another technical problem to be solved by some embodiments of the present disclosure is to provide a watermark embedding method and system thereof that can improve the watermark extraction performance (i.e., recognition rate).
[0008] The technical problems of the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by a person of ordinary skill in the art of the present disclosure from the following description. [Means for solving the problem]
[0009] A watermark embedding method according to some embodiments of the present disclosure for solving the above technical problem includes, in a method performed by at least one computing device, a step of obtaining an original image and a base pattern of the watermark, a step of obtaining a payload pattern in which the payload of the watermark is embedded, a step of embedding the base pattern in the original image to generate an intermediate image, and a step of embedding the payload pattern in the intermediate image, wherein the base pattern has an embedded synchronization signal used for extracting the payload of the watermark.
[0010] A watermark embedding method according to some other embodiments of the present disclosure for solving the above technical problem, in a method performed by at least one computing device, includes the steps of obtaining an original image and a base pattern of the watermark, obtaining a payload pattern in which the payload is embedded, embedding the base pattern in a first region of the original image based on a value of a first weight parameter, and embedding the payload pattern in a second region of the original image based on a second weight parameter different from the value of the first weight parameter, wherein the base pattern has an embedded synchronization signal used for extracting the payload of the watermark.
[0011] A watermark embedding system according to some embodiments of the present disclosure for solving the above technical problem includes one or more processors and a memory for storing a computer program executed by the one or more processors, the computer program including instructions for operations of obtaining an original image and a base pattern of a watermark, obtaining a payload pattern in which the payload is embedded, embedding the base pattern in the original image to generate an intermediate image, and embedding the payload pattern in the intermediate image, the base pattern having an embedded synchronization signal used for extracting the payload of the watermark.
[0012] A watermark embedding system according to some other embodiments of the present disclosure for solving the technical problem includes one or more processors and a memory for storing a computer program executed by the one or more processors, wherein the computer program includes instructions for obtaining an original image and a base pattern of a watermark, obtaining a payload pattern having a payload of the watermark therein, embedding the base pattern in a first region of the original image based on a first weighting value, and embedding the payload pattern in a second region of the original image based on a second weighting value different from the first weighting value, wherein the base pattern has a synchronization signal used for extracting the payload of the watermark therein.
[0013] A computer program according to some embodiments of the present disclosure for solving the technical problem can be stored on a computer-readable recording medium to be combined with a computing device and execute steps of obtaining a base pattern of an original image and a watermark - the base pattern having an inherent synchronization signal used for extracting the payload of the watermark -, obtaining a payload pattern having an inherent payload in the payload, embedding the base pattern in the original image to generate an intermediate image, and embedding the payload pattern in the intermediate image.
[0014] A computer program according to some other embodiments of the present disclosure for solving the technical problem may be stored in a computer-readable recording medium when combined with a computing device to execute steps of obtaining a base pattern of an original image and a watermark - the base pattern having an inherent synchronization signal used for extracting the payload of the watermark -, obtaining a payload pattern having an inherent payload, embedding the base pattern in a first region of the original image based on a value of a first weight parameter, and embedding the payload pattern in a second region of the original image based on a second weight parameter different from the value of the first weight parameter. Effect of the Invention
[0015] According to some embodiments of the present disclosure, a base pattern and a payload pattern of a watermark can be embedded separately. In this case, weights (i.e., values representing adjustment strengths of pixel values) applied to the base pattern and the payload pattern, the shape of the embedding region, and the like can be freely designed, which greatly improves the design freedom of the watermark embedding algorithm.
[0016] Also, the base pattern may be embedded first, and then the payload pattern may be embedded. In this case, the embedding of the base pattern can prevent the embedding result of the payload pattern from being weakened, and the extraction performance of the watermark can be improved. Furthermore, the presence or absence of embedding of the payload pattern and the embedding strength (i.e., the adjustment strength of the pixel value) can be adjusted in consideration of the embedding result of the base pattern (i.e., the intermediate image), and as a result, both the invisibility and extraction performance (i.e., the recognition rate) of the watermark can be improved. For example, by embedding the payload pattern with a low embedding strength in the low frequency region of the intermediate image, the quality degradation of the original image can be minimized and the invisibility of the watermark can be improved at the same time. Alternatively, if the payload pattern is already reflected in the pixel value of the intermediate image (i.e., if the payload pattern can be extracted from the pixel value of the intermediate image), the embedding process of the payload pattern can be skipped or the embedding strength can be lowered, thereby improving the invisibility while maintaining the extraction performance of the watermark. Alternatively, the watermark extraction performance can be improved by embedding the payload pattern relatively strongly in the intermediate image (because the base pattern detected from the frequency domain can be detected well even if it is weakly embedded, and the watermark extraction performance ultimately depends on the detection accuracy of the payload pattern).
[0017] In addition, by embedding a base pattern in the outer portion (or entirety) of a unit region (or sub-region) of the original image and embedding a payload pattern in the center, both the invisibility and extraction performance of the watermark can be improved. In addition, the payload is repeatedly encoded using different random number sequences, and the encoding results are combined to generate a payload pattern, thereby further improving the extraction performance of the watermark.
[0018] The effects of the technical idea of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description. [Brief description of the drawings]
[0019] [Figure 1] FIG. 1 is an exemplary diagram for generally illustrating the operation of a watermark embedding system and a watermark extraction system according to some embodiments of the present disclosure. [Diagram 2] 2A-2C are diagrams of example original and watermark images that may be referenced in various embodiments of the present disclosure. [Diagram 3] 1 is an exemplary flow chart illustrating a watermark embedding method according to some embodiments of the present disclosure. [Figure 4] FIG. 2 is an exemplary diagram for explaining a method for generating a base pattern according to some embodiments of the present disclosure. [Diagram 5] FIG. 2 is an exemplary diagram for explaining a payload pattern generation scheme according to some embodiments of the present disclosure. [Figure 6] 1 illustrates exemplary encoding rules that may be referenced in various embodiments of the present disclosure. [Figure 7] FIG. 11 is an exemplary diagram for explaining a payload pattern generation method according to some other embodiments of the present disclosure. [Figure 8] 1 is an exemplary flow chart illustrating an embedding weight determination scheme according to some embodiments of the present disclosure. [Figure 9] 1 is an exemplary diagram for explaining a pattern embedding scheme according to some embodiments of the present disclosure. [Figure 10] 11A to 11C are exemplary diagrams for explaining a pattern embedding method according to some other embodiments of the present disclosure. [Figure 11] FIG. 2 is an exemplary diagram for explaining the concept of scale that can be referenced in various embodiments of the present disclosure. [Figure 12] FIG. 2 is an exemplary diagram for explaining the concept of scale that can be referenced in various embodiments of the present disclosure. [Figure 13] 1A to 1C are exemplary diagrams for explaining the shape of an embedding region and a pattern embedding method therefor according to some embodiments of the present disclosure. [Figure 14] 1A to 1C are exemplary diagrams for explaining the shape of an embedding region and a pattern embedding method therefor according to some embodiments of the present disclosure. [Figure 15] 11A to 11C are exemplary diagrams for explaining the shape of an embedding region and a pattern embedding method therefor according to some other embodiments of the present disclosure. [Figure 16] 11A to 11C are exemplary diagrams for explaining the shape of an embedding region and a pattern embedding method therefor according to still other embodiments of the present disclosure. [Figure 17] 11A to 11C are exemplary diagrams for explaining the shape of an embedding region and a pattern embedding method therefor according to still other embodiments of the present disclosure. [Figure 18] 11A to 11C are exemplary diagrams for explaining the shape of an embedding region and a pattern embedding method therefor according to still other embodiments of the present disclosure. [Figure 19] 11A to 11C are exemplary diagrams illustrating the effects of pattern embedding methods according to various embodiments of the present disclosure in relation to the shape of an embedding region. [Figure 20] 5 is an exemplary flow chart illustrating a watermark embedding method according to some other embodiments of the present disclosure. [Figure 21] 1 is an exemplary flowchart illustrating a method for extracting a watermark according to some embodiments of the present disclosure. [Figure 22] 22 is an exemplary flowchart showing a detailed process of determining whether a base pattern is detected, as shown in FIG. 21; [Diagram 23] 22 is an exemplary diagram for explaining a conversion operation of the photographed image shown in FIG. 21. FIG. [Figure 24]22 is an exemplary flowchart showing detailed steps of an operation for determining an extraction reference position of a payload shown in FIG. 21. [Diagram 25] FIG. 22 is an exemplary diagram for explaining the payload extraction step shown in FIG. 21. [Figure 26] FIG. 1 illustrates an example computing device capable of implementing a watermark embedding system and / or a watermark extraction system according to some embodiments of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0020] Various embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. Advantages and features of the present disclosure, as well as methods for achieving the same, will become clear with reference to the following embodiments in detail with the accompanying drawings. However, the technical idea of the present disclosure is not limited to the following embodiments, and may be realized in various different forms. The following embodiments are provided merely to complete the technical idea of the present disclosure and to fully inform those skilled in the art of the present disclosure of the scope of the present disclosure, and the technical idea of the present disclosure is defined only by the scope of the claims.
[0021] In describing various embodiments of the present disclosure, detailed descriptions of related known structures or functions will be omitted if they are considered to obscure the gist of the present disclosure.
[0022] Unless otherwise defined, the terms (including technical and scientific terms) used in the following embodiments are used in the sense commonly understood by those having ordinary knowledge in the technical field to which the present disclosure belongs, but this may change depending on the intention or precedent of the engineer engaged in the related field, the emergence of new technology, etc. The terms used in the present disclosure are intended to describe the embodiments and are not intended to limit the scope of the present disclosure.
[0023] In the following embodiments, the singular expressions include the plural concept unless otherwise clearly specified in the context. In addition, the plural expressions include the singular concept unless otherwise clearly specified in the context.
[0024] In addition, terms such as 1st, 2nd, A, B, (a), (b) etc. used in the following embodiments are only used to distinguish one component from another, and the nature, order or sequence of the corresponding components is not limited by the terms.
[0025] Various embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings.
[0026] FIG. 1 is an exemplary diagram that generally illustrates the operation of a watermark embedding system 10 and a watermark extraction system 11 according to some embodiments of the present disclosure.
[0027] As shown in Fig. 1, the watermark embedding system 10 is a computing device / system capable of embedding (inserting) a watermark having an inherent payload (12) into an original image 13. Herein, the watermark can be understood as a general term for a base pattern and a payload pattern, which will be described later, or as a term indicating data inherent in such patterns. Hereinafter, for convenience of explanation, the watermark embedding system 10 and the watermark extraction system 11 will be abbreviated as "embedding system 10" and "extraction system 11", respectively.
[0028] Specifically, the embedding system 10 can generate the watermarked image 14 by invisibly embedding the watermark contained in the payload 12 into the original image 13. For example, the embedding system 10 can embed the watermark into the original image 13 by adjusting pixel values of the original image 13 according to a predefined embedding rule. In this manner, the watermark can be invisibly embedded into the original image 13, and the quality degradation of the original image 13 can be minimized. Figure 2 illustrates an original image 21 and a watermarked image 23 in which a specific payload 22 is embedded in an exemplary manner, and it can be confirmed that there is almost no difference between the two images 21 and 23 to the naked eye.
[0029] Payload 12 refers to target data / information to be embedded. The format of payload 12 may be defined and designed in various ways. For example, the format of payload 12 may be defined and designed as shown in Table 1 below. However, the scope of the present disclosure is not limited thereto.
[0030] [Table 1]
[0031] Referring to Table 1, the payload 12 may be configured to include, for example, a 15-bit control parameter, 54-bit body data, a 7-bit verification code (e.g., CRC-8), and a 68-bit error correction code.
[0032] The control parameter means metadata such as the type of body data (e.g., version, etc.). The control parameter can include, for example, a 4-bit version code, a 3-bit verification code for the corresponding field (e.g., CRC-4), and an 8-bit error correction code.
[0033] Next, the body data refers to the actual data / information to be embedded (e.g., if the original image 13 is a product image, it may be the product ID, etc.). Since the 54-bit body data can represent 254 cases, various information can be easily embedded in the body data.
[0034] Next, the error correction code means a code for correcting an extraction error of the payload. The error correction code may be, for example, a BCH (Bose-Chaudhuri-Hocquenghem) code, but the scope of the present disclosure is not limited thereto.
[0035] A specific method for embedding a watermark by the embedding system 10 will be described in detail below with reference to FIG.
[0036] In some cases, the embedding system 10 may be referred to as a "watermark insertion device / system," a "watermarking device / system," a "watermark encoding device / system," or the like.
[0037] Next, the extraction system 11 is a computing device / system capable of extracting the payload 12 from the watermark image 14. For example, the extraction system 11 can extract the payload 12 contained in the watermark image 14 by acquiring the watermark image 14 using a photographing module or the like and performing a reverse operation according to the embedding rule. A specific extraction method will be described in detail later with reference to the drawings from FIG. 21 onwards.
[0038] In some cases, extraction system 11 may be referred to as a "watermark detection device / system," a "watermark recognition device / system," a "watermark decoding device / system," and so on.
[0039] The above-described embedded system 10 and extraction system 11 can be implemented as at least one computing device. For example, all functions of the embedded system 10 can be implemented in one computing device, a first function of the embedded system 10 can be implemented in a first computing device and a second function of the embedded system 10 can be implemented in a second computing device, or certain functions of the embedded system 10 can be implemented in multiple computing devices.
[0040] A computing device may include any device with computing capabilities, see FIG. 26 for an example of such a device. Because a computing device is a collection of various interacting components (e.g., memory, processor, etc.), it may also be referred to as a "computing system." Of course, the term computing system may also encompass the concept of a collection of interacting computing devices.
[0041] Up to now, the operation of the embedding system 10 and the extraction system 11 according to some embodiments of the present disclosure has been generally described with reference to Figures 1 and 2. Various methods that may be performed by the above-described systems 10 and 11 will be described in detail below with reference to Figures 3 and subsequent figures.
[0042] First, a watermark embedding method according to some embodiments of the present disclosure will be described with reference to FIGS.
[0043] For ease of understanding, the following description will continue on the assumption that all steps / operations of the watermark embedding method described below are performed in the above-mentioned embedding system 10. Therefore, when the subject of a particular step / operation is omitted, it can be understood that it is performed in the embedding system 10. However, in an actual environment, some steps / operations of the method described below may be performed in another computing device.
[0044] 3 is an exemplary flowchart illustrating a watermark embedding method according to some embodiments of the present disclosure, although this is a preferred embodiment for achieving the objectives of the present disclosure, and some steps may be added or removed as needed.
[0045] As shown in Fig. 3, this embodiment starts with step S31 of generating a base pattern of a watermark using a frequency spectrum in which a synchronization signal exists. Here, the synchronization signal is a signal used to determine the presence or absence of a watermark, the degree of distortion of a watermark image (i.e., a watermark image obtained by shooting), the extraction reference position of a payload (or a payload pattern), etc., and a predefined frequency characteristic (e.g., a magnitude peak at a specific coordinate) is used as the synchronization signal. It can be understood that the reason for using the frequency characteristic is that the synchronization signal must have a characteristic that is resistant to image distortion and noise. The base pattern can be shared in advance between the embedding system 10 and the extraction system 11.
[0046] As a specific example, as shown in FIG. 4, the embedding system 10 can generate a base pattern 42 by performing an inverse Fourier transform (e.g., IDFT, IFFT) on a frequency spectrum 41 having a magnitude peak (see the point in the figure) at a specific coordinate. However, the scope of the present disclosure is not limited thereto. The frequency spectrum 41 (or a spectral image) may be a 2D magnitude spectrum having a non-zero magnitude value only in the region corresponding to the magnitude peak and having a magnitude value of 0 in all regions other than the magnitude peak, but the scope of the present disclosure is not limited thereto.
[0047] For reference, the frequency spectrum 41 shown in Fig. 4 is a magnitude spectrum on a logarithmic scale, with the center of the spectrum 41 representing low frequencies and the outer periphery representing higher frequencies. Also, brighter colors in the frequency spectrum 41 represent a larger magnitude value of the frequency at the corresponding coordinates.
[0048] The base pattern (e.g., 42) may be, for example, a "128 x 128" pixel pattern (block), and each pixel of the base pattern (e.g., 42) may have a pixel value (e.g., 255, 0) corresponding to either a first color (e.g., white) or a second color (e.g., black). However, the scope of the present disclosure is not limited thereto.
[0049] A base pattern may also be referred to as a "noise base pattern," a "noise base image," a "base block," a "synchronization pattern," a "synchronization block," or the like.
[0050] Referring again to FIG.
[0051] In step S32, an original image and a payload are obtained. As described above, the payload refers to the target data / information to be embedded in the original image. The payload may be configured in a format such as that shown in Table 1, but the scope of the present disclosure is not limited thereto.
[0052] In step S33, the payload is encoded to generate a payload pattern of the watermark. For example, the embedding system 10 can generate a payload pattern in which the payload is embedded by encoding (converting) the value of each bit (or byte, etc.) constituting the payload into a unit pattern according to an encoding rule. In the following, the following description will be continued assuming that the payload is encoded in units of "bits".
[0053] The specific manner of generating the payload pattern in step S33 may vary depending on the embodiment.
[0054] In some embodiments, as shown in FIG. 5, the embedding system 10 can determine an encoding rule 55 for a specific bit 52 of a payload 51 based on a predefined random number sequence 53, and encode (convert) the corresponding bit 52 into a unit pattern 56 based on the encoding rule 55. For example, assume that the length (i.e., the number of random numbers) of the random number sequence 53 is the same as the bit length (i.e., the number of bits) of the payload 51. Also assume that six types of encoding rules (e.g., rules for encoding "0" and "1" into a "2×2" unit pattern) as shown in FIG. 6 are defined. In such a case, the embedding system 10 can refer to a random number (54, e.g., "5") corresponding to the specific bit 52 of the payload 51 in the random number sequence 53 to determine an encoding rule (55, e.g., the fifth encoding rule) to be applied to the corresponding bit 52. Then, the embedding system 10 can encode (convert) the corresponding bit 52 into a unit pattern 56 according to the encoding rule 55. This encoding process is repeated for other bits of the payload 51 to generate a payload pattern (block), and the payload 51 can be securely converted into the payload pattern (i.e., the security of the watermark embedding and extraction process can be improved). The random number sequence 53 must be used when extracting the payload 51, so it can be shared in advance between the embedding system 10 and the extraction system 11.
[0055] In the above embodiment, the unit pattern (e.g., 56) refers to a pixel pattern corresponding to a bit unit (i.e., encoding unit) of the payload (e.g., 51). The unit pattern (e.g., 56) may be, for example, a pixel pattern of size 2×2 (e.g., a 2×2 pixel pattern composed of a white pixel value of 255 and a black pixel value of 0) composed of a first color (e.g., white) and a second color (e.g., black), but the scope of the present disclosure is not limited thereto. However, in the following, for ease of understanding, it is assumed that the unit pattern (e.g., 56) is a 2×2 pixel pattern as exemplified in FIG. 5 or FIG. 6.
[0056] Since the unit pattern (eg, 56) is a block-shaped pixel pattern, it may be called a "unit block pattern," a "unit pixel block," a "unit pixel pattern," etc., depending on the situation.
[0057] In some other embodiments, as shown in FIG. 7, the embedding system 10 may generate multiple payload patterns (or blocks) (73-1 to 73-N) from the payload 71 using multiple random number sequences (72-1 to 72-N) that are different from each other. For example, the embedding system 10 may encode the payload 71 according to an encoding rule determined based on a first random number sequence (e.g., 72-1) to generate a first payload pattern (e.g., 73-1), and encode the payload 71 according to an encoding rule determined based on a second random number sequence (e.g., 72-2) that is different from the first random number sequence (e.g., 72-1) to generate a second payload pattern (e.g., 72-2). Next, the embedding system 10 may combine (collect) the multiple payload patterns (73-1 to 73-N) to generate a final payload pattern 74. That is, the embedding system 10 may encode the same payload 71 multiple times in different ways to generate the payload pattern 74. In such a case, the security of the watermark embedding and extraction process can be improved, and the extraction performance (i.e., recognition rate) of the payload 71 can also be improved (because multiple payloads can be extracted from the watermark image and compared for verification).
[0058] In the above embodiment, the embedding system 10 can generate 25 24×24 payload patterns (e.g., 73-1) from the 144-bit payload 71 using 25 random number sequences (e.g., 72-1), and combine them to generate a 128×128 payload pattern 74. However, the scope of the present disclosure is not limited to this.
[0059] Referring again to FIG.
[0060] For reference, although Figure 3 shows steps S32 and S33 occurring after step S31, step S31 may occur simultaneously with or after steps S32 and S33, i.e., the base pattern and payload pattern may be generated in any order.
[0061] In step S34, the base pattern is embedded in the original image to generate an intermediate image. Specifically, the embedding system 10 can embed the base pattern by adjusting pixel values of the original image based on an embedding rule corresponding to pixel values of the base pattern. At this time, the size (scale), shape, etc. of the embedding region of the base pattern (i.e., the region where the base pattern is embedded and the pixel values are adjusted) can be set in various ways, which will be described later with reference to Figures 11 to 19.
[0062] The embedding rules can be defined, for example, to adjust pixel values of an image (e.g., an original image) based on predetermined weights (e.g., values of weight parameters), and each embedding rule can correspond to a pixel value of the base pattern.
[0063] For example, as shown in Table 2 below, the embedding rule can be defined to adjust the values of the a-channel and the b-channel of the Lab color space in a reciprocal manner based on a weight value ("W1") and a specific value ("α"), where the weight value ("W1") is a value that indicates (controls) the adjustment strength of the pixel value, and the specific value ("α") is a value that represents the basic adjustment width.
[0064] [Table 2]
[0065] As another example, an embedding rule may be defined to adjust the values of the R, G, and B channels of an RGB color space based on a weighting value (eg, W1).
[0066] As another example, an embedding rule may be defined to adjust the values of the Y, Cb, and Cr channels of the YCbCr color space based on a weighting value (eg, W1).
[0067] As another example, the embedding rules may be defined in a manner different from the above examples, or may be defined based on various combinations of the above examples.
[0068] In the following, for clarity of this disclosure, unless otherwise specified, the embedding rule and weighting value applied to the base pattern will be named the "first embedding rule" and "first weighting value," respectively, and the embedding rule and weighting value applied to the payload pattern will be named the "second embedding rule" and "second weighting value," respectively.
[0069] In step S35, the payload pattern is embedded in the intermediate image to generate a watermark image. Specifically, the embedding system 10 can embed the payload pattern by adjusting pixel values of the intermediate image based on a second embedding rule corresponding to pixel values of the payload pattern. At this time, the size, shape, etc. of the embedding area of the payload pattern (i.e., the area where the payload pattern is embedded and the pixel values are adjusted) can be set in various ways, which will be described later with reference to Figures 11 to 19.
[0070] The second padding rules can be defined to adjust pixel values of an image (e.g., an intermediate image) based on a second predetermined weight value, and each of the second padding rules can correspond to a pixel value of the payload pattern. The second padding rules can be defined in a similar manner to the first padding rules, although the scope of the present disclosure is not limited in this respect.
[0071] The reason for embedding the payload pattern later can be understood to be to embed the payload pattern contained in the actual data (i.e., payload) more accurately (i.e., to be extracted well.) In other words, when embedding the base pattern later, the embedding result of the payload pattern may be weakened due to the embedding of the base pattern, so that the reason for embedding the payload pattern later can be understood to be to prevent such a point from occurring.
[0072] Also, the reason why the base pattern and the payload pattern are embedded separately is that it has the advantage that the size, shape, and embedding weights (e.g., first weight, second weight) of the area where each pattern is embedded can be freely set. By appropriately setting these elements, both the invisibility and extraction performance of the watermark can be improved. For more information, see the descriptions of Figures 9 to 19.
[0073] Meanwhile, a specific method for determining the first weight value and / or the second weight value may vary depending on the embodiment.
[0074] In some embodiments, the first weight value may be set to have a smaller value than the second weight value, which may be understood to reflect the fact that the base pattern can be successfully detected even if it is weakly embedded, and that the extraction performance of the watermark is largely dependent on the detection accuracy of the general payload pattern.
[0075] In some other embodiments, as shown in Fig. 8, the embedding system 10 may embed a payload pattern in an intermediate image while changing the value of a weight parameter, and evaluate the extraction performance of the payload (or payload pattern) (S81). Then, the embedding system 10 may determine a weight (i.e., a second weight) to be applied to the payload pattern based on the evaluation result (see S82 and S83). For example, the embedding system 10 may determine the value of the weight parameter that has the best evaluation result as the second weight. In this case, the embedding strength of the payload pattern may be appropriately determined taking into account the characteristics of the intermediate image, and as a result, both the invisibility and extraction performance of the watermark may be improved.
[0076] In some cases, the embedding system 10 may determine the values of the first and second weights to be applied to each pattern by embedding the base pattern and payload pattern in the original image while varying the values of the first and second weight parameters and evaluating the payload extraction performance.
[0077] In some other embodiments, the first weight and / or the second weight may be determined based on various combinations of the above-described embodiments.
[0078] The watermark image generated in step S35 can be output in the form of a digital image file, and can be printed on various printing media such as paper by a printing device. Also, the watermark image can be used for various purposes such as preventing unauthorized copying, authenticity determination, information labelling, etc.
[0079] The general flow and technical principles of the watermark embedding method according to some embodiments of the present disclosure have been described above with reference to Figures 3 to 8. According to the above, the base pattern and payload pattern of the watermark can be embedded separately. In this case, the weights (i.e., values representing the adjustment strength of pixel values) applied to the base pattern and payload pattern, the shape of the embedding area, etc. can be freely designed, which greatly improves the design freedom of the watermark embedding algorithm.
[0080] Also, the base pattern may be embedded first, and then the payload pattern. In this case, it is possible to prevent the embedding result of the payload pattern from being weakened by the embedding of the base pattern, and therefore the extraction performance of the watermark can be improved. Furthermore, it is also possible to adjust the embedding strength (i.e., the adjustment strength of the pixel value) of the payload pattern, etc., taking into account the embedding result of the base pattern (i.e., the intermediate image), and as a result, it is possible to improve both the invisibility and extraction performance (i.e., the recognition rate) of the watermark.
[0081] Various pattern embedding methods applicable to the above-mentioned watermark embedding method will be described below with reference to Figures 9 to 19. The various pattern embedding methods described below can be applied to, for example, the base pattern and / or payload pattern embedding steps (e.g., S34, S35).
[0082] FIG. 9 is an exemplary diagram for explaining a pattern embedding method according to some embodiments of the present disclosure.
[0083] This embodiment relates to a method of adjusting weights according to the frequency characteristics of an image region and embedding a pattern (e.g., a base pattern, a payload pattern). In the following, the description will be continued assuming that a payload pattern is embedded in an intermediate image 91 as shown in FIG.
[0084] Specifically, the embedding system 10 may divide the regions of the intermediate image 91 based on frequency. For example, the embedding system 10 may divide the regions of the intermediate image 91 into a high frequency region (e.g., 92) and a low frequency region (e.g., 93), or may divide the regions based on more specific criteria. The embedding system 10 may perform this division on a pixel basis or on a larger basis. However, the specific manner in which the regions are divided may vary depending on the embodiment.
[0085] In some embodiments, the embedding system 10 may classify regions of the intermediate image 91 based on the degree of change in pixel values. For example, the embedding system 10 may classify regions of the intermediate image 91 where the degree of change in pixel values is equal to or greater than a reference value as high frequency regions, and regions where the degree of change in pixel values is less than the reference value as low frequency regions. Alternatively, the embedding system 10 may further subdivide and classify the regions of the intermediate image 91 according to the degree of change in pixel values.
[0086] In some other embodiments, the embedding system 10 can segment regions of the intermediate image 91 based on the border detection results. For example, the embedding system 10 can detect borders in the intermediate image 91 using a border detection filter or the like. The embedding system 10 can then segment the regions where the borders are detected (e.g., 92) as high frequency regions and the remaining regions (e.g., 93) as low frequency regions (because the regions where the borders are detected are regions where pixel values change abruptly). Alternatively, the embedding system 10 can further subdivide and segment the regions of the intermediate image 91 depending on the strength of the border detection.
[0087] In some other embodiments, the embedding system 10 may use a Fourier transform to segment the regions of the intermediate image 91. For example, the embedding system 10 may perform a Fourier transform on each region of the intermediate image 91, analyze the frequency characteristics of each region, and segment the regions of the intermediate image 91 based on the analysis results.
[0088] In some other embodiments, the regions of the intermediate image 91 may be divided based on various combinations of the above-mentioned embodiments.
[0089] Next, the embedding system 10 embeds the payload pattern by adjusting the weight (i.e., the second weight) based on the region division result. For example, the embedding system 10 can increase (i.e., adjust upward) the second weight for the high frequency region and decrease (i.e., adjust downward) the second weight for the low frequency region. In this way, the payload pattern can be effectively embedded and the invisibility of the watermark can be improved (because the payload pattern is weakly embedded in the low frequency region). In some cases, the increase (or decrease) of the second weight can be determined to be larger the higher (or lower) the frequency of the corresponding region.
[0090] As a more specific example, assume that a first region 92 and a second region 93 of the intermediate image 91 correspond to a high frequency region and a low frequency region, respectively, and that a first block of the payload pattern is embedded in the first region 92 and a second block of the payload pattern is embedded in the second region 93. In this case, the embedding system 10 may embed the first block of the payload pattern in the first region 92 based on a weight value greater than that in the second region 93 of the intermediate image 91. Also, the embedding system 10 may embed the second block of the payload pattern in the second region 93 based on a weight value less than that in the first region 92 of the intermediate image 91.
[0091] A pattern embedding method according to some embodiments of the present disclosure has been described above with reference to Fig. 9. According to the above, by adjusting the embedding weights of patterns (e.g., base pattern, payload pattern) based on the frequency characteristics of each image region, both the invisibility and extraction performance of the watermark can be improved. Of course, the quality degradation of the original image can also be minimized.
[0092] Hereinafter, with reference to FIG. 10, an exemplary diagram will be shown to explain a pattern embedding method according to some other embodiments of the present disclosure.
[0093] This embodiment relates to a method of embedding a pattern while controlling whether to embed the pattern and the embedding strength based on the pixel values of the image area (e.g., 102). In the following, the explanation will be continued assuming that a specific unit pattern 104 is embedded in a specific unit area 102 of an intermediate image 101 as shown in Fig. 10. In drawings such as Fig. 10, the unit area (e.g., 102) means an image area corresponding to a unit pattern (e.g., 104), and in the following explanation, the term "unit area" will be used with the same meaning. The unit area (e.g., 102) may also be named a "unit block" or the like depending on the circumstances.
[0094] Specifically, the embedding system 10 can determine whether it is possible to extract (detect) a unit pattern (104, i.e., a unit pattern to be embedded in the corresponding unit area 102) (i.e., whether the payload pattern is already reflected) from pixel values (see 103) of the unit area 102 of the intermediate image 101. For example, the embedding system 10 can determine whether the unit pattern 104 can be extracted when the embedding rule is inversely calculated using the pixel values (see 103) of the unit area 102.
[0095] Next, the embedding system 10 may skip the embedding process of the unit pattern 104 based on the determination that the unit pattern 104 can be extracted. Alternatively, the embedding system 10 may embed the unit pattern 104 based on a weight value smaller than the weight value (i.e., the second weight value) set in the payload pattern. This process may be repeated for other unit regions constituting the intermediate image 101. In this way, the invisibility of the watermark may be improved and the degradation of the quality of the original image may be minimized.
[0096] Up to now, the pattern embedding method according to some other embodiments of the present disclosure has been described with reference to Fig. 10. Hereinafter, the pattern embedding method related to the scale and the shape of the embedding region will be described with reference to Figs. 11 to 19.
[0097] For ease of understanding, the concept of scale will first be explained with reference to FIGS.
[0098] As shown in FIG. 11, scale refers to the size (resolution) of a pattern (e.g., base pattern, payload pattern). For example, if the value of the scale parameter is set to "2", the size of the "2x2" unit pattern 111 can be upscaled to "4x4" (see 112). Such upscaling can be performed by duplicating pixel values (see FIG. 11) or by other methods. However, for ease of understanding, the following description will continue assuming that upscaling is performed by duplicating pixel values. Also, in the description of FIG. 11 and FIG. 12, in order to distinguish between unit patterns 111, 112 before and after upscaling, unit pattern 111 will be referred to as "first unit pattern 111" and upscaled unit pattern 112 will be referred to as "second unit pattern 112". It is referred to as:
[0099] 12, by upscaling the first unit pattern 111, the size of the unit area 122 can be increased accordingly. For example, if the size of the unit area 122 corresponding to the first unit pattern 111 on the intermediate image 121 is "2×2", the size of the unit area 123 corresponding to the second unit pattern 112 will be "4×4".
[0100] Meanwhile, the value of the scale parameter may be a preset fixed value or may be a variable value depending on the situation. For example, the value of the scale parameter may be a variable value determined based on the size (or resolution) of the original image. Specifically, the value of the scale parameter may increase as the size of the original image increases. This may be understood as reflecting the fact that the larger the size of the original image, the more likely it is that the watermark image will be photographed from a greater distance. In other words, it may be understood as increasing the size of the unit pattern so that the watermark can be accurately extracted even when the watermark image is photographed from a greater distance. As another example, the value of the scale parameter may be set to a fixed value in advance regardless of the size of the original image.
[0101] Hereinafter, various pattern embedding methods related to the shape of the embedding region will be described with reference to FIGS.
[0102] In the following, for ease of understanding, the following description will be continued assuming that the value of the scale parameter is set to "4" (e.g., the size of the unit pattern is "8 x 8" and the size of the base pattern and payload pattern is "512 x 512"). However, the scope of the present disclosure is not limited to this.
[0103] FIG. 13 is an exemplary diagram for explaining the shape of an embedding region and a pattern embedding method based on the shape of an embedding region according to some embodiments of the present disclosure.
[0104] 13, this embodiment relates to a method of embedding both a base pattern and a payload pattern (see 134) in a central portion (e.g., 133) of a unit area (e.g., 132) of an image (e.g., 131, original image, intermediate image). Here, embedding a pattern (e.g., base pattern, payload pattern) in the central portion (e.g., 133) means embedding a part (e.g., 135) of a pattern (e.g., 134) corresponding to the central portion (e.g., 133) in the central portion (e.g., 133), rather than the entire pattern.
[0105] Specifically, the embedding system 10 can extract a portion (135, e.g., a central portion) of the unit pattern (134, i.e., the upscaled unit pattern) and embed it in the central portion 133 of the unit area 132. For example, the embedding system 10 can extract pixel values of a central block 135 of the unit pattern 134 and embed it in the central portion 133 of the unit area 132. Here, extracting pixel values of the central block 135 and embedding them in the central portion 133 means adjusting the pixel values of the central portion 133 based on an embedding rule corresponding to the pixel values of the central block 135. Other unit patterns constituting the payload pattern can be embedded in a similar manner, and the base pattern can also be embedded in a similar manner.
[0106] 14, the embedding system 10 can extract a portion (141 to 144, e.g., the central portion) of each of the multiple blocks constituting the unit pattern 134 and embed it in the central portion 133 of the unit area 132. The base pattern can also be embedded in a similar manner.
[0107] The reason for embedding a pattern (e.g., base pattern, payload pattern) in the center portion 133 of the unit area 132 can be understood to be to improve the extraction performance of the watermark. To explain further, when extracting a watermark, the watermark image is often resized (e.g., reduced), and most resizing techniques perform interpolation around pixel values in the center of each area. Therefore, the pixel value characteristics of the center portion (e.g., 133) are much more likely to be preserved than those of the outer portion, and for this reason, it can be understood that embedding a pattern in the center portion (e.g., 133) improves the extraction performance of the watermark.
[0108] On the other hand, in some cases, the payload pattern (e.g., 134) may be embedded more strongly than the base pattern (e.g., when the second weight is set to a value greater than the first weight) to further improve the extraction performance of the watermark. See the above description for more details.
[0109] Shapes of embedding regions and pattern embedding methods using the shapes according to other embodiments of the present disclosure will be described below with reference to Fig. 15. However, to clarify the present disclosure, descriptions that overlap with the above embodiments will be omitted.
[0110] As shown in FIG. 15, this embodiment relates to a method of embedding both a base pattern and a payload pattern (see 155) in the central portion (e.g., 154) of a plurality of sub-areas (e.g., 153) constituting a unit area (e.g., 152) of an image (151, e.g., original image, intermediate image).
[0111] Specifically, the embedding system 10 can extract a portion (156-159, e.g., the central portion) of a block constituting the unit pattern 155 and embed it in the central portion (e.g., 154) of the corresponding sub-region (e.g., 153). For example, the embedding system 10 can extract the central portion (156, e.g., the "2x2" block) of the upper left block and embed it in the central portion (154, e.g., the "2x2" region) of the upper left sub-region 153. Other unit patterns constituting the payload pattern can be embedded in a similar manner, and the base pattern can also be embedded in a similar manner (e.g., a portion of the block of the scaled base pattern corresponding to the upper left block 156 is also embedded in the central portion 154). In such a case, the watermark extraction performance can be improved for the reasons described above.
[0112] Hereinafter, the shape of the embedding region and the pattern embedding method according to the other embodiments of the present disclosure will be described with reference to Figures 16 to 18. Image regions 161, 171, and 181 shown in Figures 16 to 18 refer to unit regions (e.g., 152) or sub-regions (e.g., 153).
[0113] 16, the embedding system 10 can embed a base pattern (i.e., a portion of the base pattern corresponding to the outer portion 162) in an outer portion 162 of an image area 161, and embed a payload pattern (i.e., a portion of the payload pattern corresponding to the central portion 163) in a central portion 163 of the image area 161 (e.g., embedding a first block of a scaled unit pattern in the central portion 163, and embedding a second block of a scaled base pattern corresponding to the first block in the outer portion 162). In this case, the outer portion 162 can be set so as not to overlap with the central portion 163. In this case, both the extraction performance of the watermark and the invisibility of the watermark can be improved; for this, see the description of FIG. 19.
[0114] 17, the embedding system 10 can embed the base pattern throughout the image region 171 and embed the payload pattern in a central portion 172 of the image region 171 (e.g., embedding a first block of a scaled unit pattern in central portion 172 and embedding a second block of a scaled base pattern corresponding to the first block throughout region 171). Even in such a case, the watermark extraction performance can be improved for the reasons described above.
[0115] In some cases, the embedding system 10 may embed both the base pattern and the payload pattern throughout the entire image area 181, as shown in FIG.
[0116] FIG. 19 is an exemplary diagram for explaining the effect of various embedding methods in relation to the shape of the embedding region. FIG. 19 shows a comparison of results (195-197) of embedding a base pattern and a payload pattern in an upper left sub-region 193 of a specific unit region 192 of an original image 191 using three methods. Specifically, in FIG. 19, the leftmost pixel value (194, e.g., pixel value of a specific channel) indicates the pixel value of the sub-region 193, and the other pixel values (195-197) indicate the pixel values of the watermark images (hereinafter abbreviated as "Image 1", "Image 2", and "Image 3") generated using the methods exemplified in FIG. 18, FIG. 15, and FIG. 17 (or when the payload pattern of the shape exemplified in FIG. 16 is strongly embedded). FIG. 19 assumes that the embedding rule of the base pattern and the payload pattern is defined to increase the pixel value by "6".
[0117] 19, it can be seen that in the case of 'Image 3', the difference between the pixel value of the outer part (e.g., '134') and the pixel value of the center part (e.g., '140') is relatively smaller than that of 'Image 2'. This shows that 'Image 3' has a quality relatively close to the original image 191 and has excellent watermark invisibility.
[0118] In addition, in the case of “Image 3”, the pixel value in the center (e.g., “140”) well indicates the payload pattern, so the watermark extraction performance is also very good.
[0119] In conclusion, it can be seen that by embedding a base pattern in the entire or outer part of a sub-region (e.g., 193) and embedding a payload pattern in the central part, the degradation in quality of the original image 191 is minimized and the invisibility and extraction performance of the watermark are improved.
[0120] Up to now, the watermark embedding method according to some embodiments of the present disclosure has been described with reference to Figures 3 to 19. Hereinafter, the watermark embedding method according to some other embodiments of the present disclosure will be described with reference to Figure 20. However, for clarity of the present disclosure, the description overlapping with the above embodiments will be omitted.
[0121] 20 is an exemplary flowchart showing a watermark embedding method according to some other embodiments of the present disclosure, although this is a preferred embodiment for achieving the objectives of the present disclosure, and it goes without saying that some steps may be added or removed as necessary.
[0122] As shown in FIG. 20, this embodiment relates to a method for embedding a base pattern and a payload pattern regardless of the order.
[0123] This embodiment also starts with step S201 of generating a base pattern for a watermark using a frequency spectrum in which a synchronization signal exists, as described above with reference to step S31.
[0124] In step S202, the original image and payload are obtained, see the description of step S32 above.
[0125] In step S203, the watermark payload pattern is generated, see the description of step S33 above.
[0126] In step S204, the base pattern is embedded in the first region of the original image, and the payload pattern is embedded in the second region of the original image. For example, the embedding system 10 may embed the base pattern in the first region of the original image based on a first weight value, and embed the payload pattern in the second region of the original image based on a second weight value. In this case, the first weight value may be set to have a value smaller than the second weight value, but the scope of the present disclosure is not limited thereto.
[0127] In some embodiments, the shape of the first region may be set to be different from that of the second region. For example, as illustrated in FIG. 16 or 17, the shape of the region in which the base pattern is embedded in a unit region (or subregion) of the original image may be different from the shape of the region in which the payload pattern is embedded.
[0128] Also, in some embodiments, the first region and the second region may be set so as not to overlap each other. For example, as illustrated in FIG. 16, the base pattern may be embedded in an outer portion of a unit region (or sub-region) of the original image, and the payload pattern may be embedded in a central portion, so that the central portion and the outer portion do not overlap each other. As a more specific example, the embedding system 10 may scale (i.e., upscale) each of the base pattern and the payload pattern based on the value of the scale parameter. Next, the embedding system 10 may extract a portion of each of a plurality of blocks constituting a scaled unit pattern (i.e., a unit pattern constituting a scaled payload pattern) and embed the portion in the central portion of the sub-region of the original image (i.e., the central portion of each sub-region belongs to the second region). Also, the embedding system 10 may extract a portion of each of the blocks of the base pattern corresponding to the plurality of blocks and embed the portion in the outer portion of the corresponding sub-region (i.e., the outer portion of each sub-region belongs to the first region). For this, please refer to the description of FIG. 15 and FIG. 17.
[0129] On the other hand, if there is an overlapping area between the first and second regions, the embedding system 10 may first embed the base pattern in the first region of the original image and then embed the payload pattern in the second region. This method may be considered to be substantially the same as or similar to the watermark embedding method described with reference to FIG. 3.
[0130] Up to now, the watermark embedding method according to some other embodiments of the present disclosure has been described with reference to Fig. 21. In the following, a method for extracting the watermark embedded according to the above description will be described.
[0131] For ease of understanding, the following description will continue on the assumption that all steps / operations of the watermark embedding method described below are performed in the above-mentioned extraction system 11. Therefore, when the subject of a particular step / operation is omitted, it can be understood that it is performed in the extraction system 11. However, in an actual environment, some steps / operations of the method described below may be performed in another computing device.
[0132] 21 is an exemplary flowchart showing a method for extracting a watermark according to some embodiments of the present disclosure, although this is a preferred embodiment for achieving the objectives of the present disclosure, and it is understood that some steps may be added or removed as necessary.
[0133] 21, the method for extracting a watermark according to the embodiment begins with a step S211 of acquiring a captured image. For example, the extraction system 11 can capture an image (i.e., an image from which a watermark is to be extracted) using a built-in capture module, or can receive the captured image from an external device.
[0134] In step S212, it is determined whether the base pattern is detected. That is, it is possible to determine whether a watermark is present in the captured image. For example, the extraction system 11 can detect the base pattern by extracting a number of regions (e.g., "256x256", "512x512" image regions, etc.) from the captured image and performing the operations / steps shown in FIG. 22 for each of the corresponding regions. There may be overlapping regions between the multiple regions. FIG. 22 assumes that the base pattern is generated from a 2D magnitude spectrum. The following description will be given with reference to FIG. 22.
[0135] In step S221, the image domain is transformed into the frequency domain to generate a 2D magnitude spectrum (MS2, hereafter referred to as the "second spectrum").
[0136] In step S222, a 2D magnitude spectrum (MS1, hereinafter referred to as the "first spectrum") of the base pattern used in the embedding process is prepared.
[0137] In step S223, a log polar transform is performed on each of the first spectrum MS1 and the second spectrum MS2. The log polar transform has a property of being invariant to two-dimensional rotation and magnitude transformation, and therefore, by using the log polar transform, defects of the captured image in terms of rotation and magnitude can be more accurately corrected.
[0138] In step S224, each of the resulting images obtained by the log-polar transform is transformed into the frequency domain.
[0139] In step S225, a multiplication operation is performed on the transformation result (f_LP1, f_LP2).
[0140] In step S226, a division operation is performed between the result of the multiplication operation (R) and the magnitude matrix (MM2) of the transformation result (f_LP2) for the image region. As a result, a first result matrix for the corresponding image region can be derived. Here, the first result matrix can be understood as a matrix indicating how much of the base pattern is included in the corresponding image region (e.g., a matrix indicating the ratio of the included base pattern, etc.). The first result matrix can also be understood as a matrix indicating the similarity between the corresponding image region and the base pattern.
[0141] In step S227, the first result matrix for the corresponding image region is transformed into the spatial domain, so that a first reference image for the corresponding image region can be generated.
[0142] In step S228, a first similarity for a corresponding image region may be determined using the first reference image. Specifically, the maximum pixel value of the first reference image may be determined as the first similarity, and the "X" and "Y" coordinates of the pixel having the maximum pixel value may be determined as the rotation angle and scale, respectively.
[0143] The first similarity may be understood as a value used to determine whether or not a base pattern has been detected. That is, if the first similarity is less than a reference value, the extraction system 11 may determine that a base pattern has not been detected in a corresponding image region, and vice versa.
[0144] The above steps S221 to S228 may be performed on other areas of the captured image according to predefined conditions (eg, until a base pattern is detected).
[0145] Referring again to FIG.
[0146] In step S213, the photographed image is transformed using the detected base pattern, and the extraction position of the payload is determined in the transformed photographed image. This step can be understood as a pre-processing process (e.g., a correction process to remove distortion) that aligns the orientation of the photographed image and transforms the size (resolution) of the photographed image to match the size (resolution) of the watermark image when embedding. For example, as shown in FIG. 23, the extraction system 11 can calculate the rotation value (e.g., "θ") and scale (e.g., "120%") of the photographed image 232 by referring to the base pattern 231 used in the embedding process (see step S212), and transform the photographed image 232 using these (see 233). In this way, the extraction performance of the watermark can be greatly improved.
[0147] Figure 24 shows a detailed process of determining the payload extraction reference position. Figure 24 also assumes that the base pattern is generated from a 2D magnitude spectrum, and the process can be performed on the transformation result of the image area where the base pattern is detected (hereinafter, abbreviated as "transformed image area"). Hereinafter, a description will be given with reference to Figure 24. However, the process shown in Figure 24 is similar to the process shown in Figure 22 except that log-polar transformation is not performed, so the description overlapping with Figure 22 will be omitted.
[0148] In step S241, the transformed image domain is transformed into the frequency domain to generate a frequency domain matrix (f2, hereinafter referred to as the "second matrix").
[0149] In step S242, a frequency domain matrix (f1, hereinafter referred to as the "first matrix") of the base pattern used in the embedding process is prepared.
[0150] In step S243, a multiplication operation is performed between the first matrix and the second matrix.
[0151] In step S244, a division operation may be performed between the result of the multiplication operation (R') and the magnitude matrix (MM2') of the transformed image region (i.e., the magnitude matrix for the second matrix), resulting in a second result matrix for the corresponding image region.
[0152] In step S245, the second result matrix for the transformed image domain is transformed into the spatial domain, so that a second reference image for the transformed image domain can be generated.
[0153] In step S246, a reference position (e.g., a start position) for payload extraction is determined in the transformed image region using the second reference image. Specifically, the coordinates of a pixel having a maximum pixel value in the second reference image may be determined as the reference position, and the maximum pixel value may be determined as the second similarity.
[0154] The second similarity can be understood as a value used to make a judgment to determine whether or not to extract the payload. That is, if the second similarity is less than a reference value, the extraction system 11 can determine that the payload cannot be extracted from the converted image area, and in the opposite case, the extraction system 11 can start the payload extraction operation.
[0155] Referring again to FIG.
[0156] In step S214, the payload is extracted from the transformed captured image with reference to the determined extraction reference position. For example, the extraction system 11 can extract the payload by performing the embedding operation in reverse from the extraction reference position of the transformed image area (e.g., extracting each bit of the payload by performing the embedding operation in reverse with reference to the random number sequence for each unit area). Hereinafter, the detailed process of step S214 will be described assuming that the payload is embedded in the manner shown in Figures 5 and 6 (i.e., the unit pattern is a '2x2' pixel pattern).
[0157] More specifically, the extraction system 11 can also perform a monochrome transformation on the transformed image region. As shown in Figure 25, performing a monochrome transformation on the watermark image 253 highlights the adjusted pixel values (see 251, 252, 254) so that the payload can be extracted more accurately.
[0158] Next, the extraction system 11 can extract each bit constituting the payload by reversing the embedding rule while cycling through '2x2' pixel regions (i.e., unit regions) in the monochrome image region. At this time, the extraction system 11 can extract the payload bits by referring to a random number sequence shared in advance (e.g., if the pixel value of the unit region is 103 in FIG. 10, the unit pattern 104 is extracted and the payload bit is determined to be '0'). Then, the extraction system 11 can concatenate the extracted bits to complete the payload.
[0159] On the other hand, if multiple random number sequences are used in the watermark embedding process, the extraction system 11 can extract the first payload using the first random number sequence and the second payload using the second random number sequence. The extraction system 11 can then verify the extracted payload by comparing the first payload with the second payload. In this way, the accuracy of payload extraction can be further improved. So far, the watermark extraction method according to some embodiments of the present disclosure has been described with reference to Figures 22 to 25. In the following, an example computing device 260 capable of implementing the embedding system 10 and / or the extraction system 11 according to some embodiments of the present disclosure will be described with reference to Figure 26.
[0160] FIG. 26 is an exemplary hardware configuration diagram of a computing device 260.
[0161] As shown in FIG. 26, the computing device 260 may include one or more processors 261, a bus 263, a communication interface 264, a memory 262 for loading a computer program executed by the processor 261, and a storage 267 for storing a computer program 266. However, FIG. 26 shows only components related to the embodiment of the present disclosure. Therefore, a person skilled in the art to which the present disclosure belongs may understand that other general-purpose components (e.g., a photographing module such as a camera) may be further included in addition to the components shown in FIG. 26. That is, the computing device 260 may further include various components in addition to the components shown in FIG. 26. In addition, the computing device 260 may be configured in a form in which some of the components shown in FIG. 26 are omitted depending on the case. Each component of the computing device 260 will be described below.
[0162] The processor 261 may control the overall operation of each component of the computing device 260. The processor 261 may include at least one of a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), a graphic processing unit (GPU), a neural processing unit (NPU), or any other type of processor well known in the art of the present disclosure. The processor 261 may also perform calculations for at least one application or program for performing operations / methods according to embodiments of the present disclosure. The computing device 260 may include one or more processors.
[0163] In turn, the memory 262 stores various data, instructions and / or information. The memory 262 can load computer programs 266 from the storage 267 to perform operations / methods according to embodiments of the present disclosure. The memory 262 can be implemented as a volatile memory such as a RAM, although the scope of the present disclosure is not limited in this respect.
[0164] The bus 263 then provides a communication function between the components of the computing device 260. The bus 263 can be realized as various types of buses such as an address bus, a data bus, and a control bus.
[0165] Next, the communication interface 264 supports wired or wireless Internet communication for the computing device 260. The communication interface 264 may also support various communication methods other than Internet communication. For this reason, the communication interface 264 may be configured to include a communication module well known in the art of the present disclosure.
[0166] Storage 267 then non-transiently stores one or more computer programs 266. Storage 267 may include non-volatile memory such as Read Only Memory (ROM), Erasable Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), flash memory, etc., a hard disk, a removable disk, or any other form of computer-readable recording medium well known in the art to which the present disclosure pertains.
[0167] In turn, the computer program 266 may include instructions that, when loaded into the memory 262, cause the processor 261 to perform operations / methods according to various embodiments of the present disclosure. That is, the processor 261 may execute the loaded instructions to perform operations / methods according to various embodiments of the present disclosure.
[0168] For example, the computer program 266 may include instructions to perform operations to obtain a base pattern of an original image and a watermark, obtain a payload pattern in which a payload resides, embed the base pattern in the original image to generate an intermediate image, and embed the payload pattern in the intermediate image.
[0169] As another example, the computer program 266 may include instructions to perform operations of obtaining a base pattern of an original image and a watermark, obtaining a payload pattern having a payload inherent therein, embedding the base pattern in a first region of the original image based on a first weighting value, and embedding the payload pattern in a second region of the original image based on a second weighting value different from the first weighting value.
[0170] As another example, the computer program 266 may include instructions to perform at least some of the steps / actions described with reference to FIGS.
[0171] As illustrated, computing device 260 may implement embedded system 10 according to some embodiments of the present disclosure.
[0172] Also, for example, the computer program 266 may include instructions to cause the computer to perform at least some of the steps / operations described with reference to FIGS. 1, 2, and 21-25.
[0173] In the illustrative case, the computing device 260 may implement the extraction system 11 according to some embodiments of the present disclosure.
[0174] Meanwhile, in some embodiments, the computing device 260 illustrated in FIG. 26 may represent a virtual machine realized based on cloud technology. For example, the computing device 260 may be a virtual machine running on one or more physical servers included in a server farm. In this case, at least a part of the processor 261, memory 262, and storage 265 illustrated in FIG. 26 may be virtual hardware, and the communication interface 264 may also be realized as a virtualized networking element such as a virtual switch.
[0175] An example computing device 260 capable of implementing the embedding system 10 and / or the extraction system 11 according to some embodiments of the present disclosure has been described above with reference to FIG.
[0176] Various embodiments of the present disclosure and the effects of the embodiments have been described above with reference to Figures 1 to 26. The effects of the technical ideas of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.
[0177] In addition, although the above embodiments have been described as a combination of multiple components or a combination that operates in combination, the technical idea of the present disclosure is not necessarily limited to such an embodiment. That is, within the scope of the technical idea of the present disclosure, all of the components may be selectively combined to operate in combination.
[0178] The technical ideas of the present disclosure described above can be realized as computer readable codes on a computer readable recording medium. The computer program recorded on the computer readable recording medium can be transferred to another computing device via a network such as the Internet and installed in the computing device, and can be used in the computing device.
[0179] Although the figures show operations in a particular order, it should not be understood that the operations must be performed in the particular order shown or in a sequential order, or that desired results will be obtained only if all of the operations shown are performed. In certain situations, multitasking and parallel processing may be advantageous. Although various embodiments of the present disclosure have been described above with reference to the accompanying drawings, those skilled in the art to which the present disclosure pertains can understand that the technical ideas of the present disclosure may be embodied in different specific forms without changing the technical ideas or essential features thereof. Therefore, the above embodiment is illustrative in all respects and should not be understood as being limiting. The scope of protection of the present disclosure should be analyzed according to the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the technical ideas defined by the present disclosure.
Claims
1. 1. A method performed by at least one computing device, comprising: obtaining an original image and a base pattern for a watermark; obtaining a payload pattern in which a payload of the watermark exists; embedding the base pattern in the original image to generate an intermediate image; embedding the payload pattern in the intermediate image; A watermark embedding method, wherein the base pattern contains a synchronization signal used for extracting the payload of the watermark.
2. The step of acquiring a payload pattern includes: generating a first payload pattern by encoding the payload using an encoding rule determined based on a first random number sequence; generating a second payload pattern by encoding the payload using an encoding rule determined based on a second random number sequence different from the first random number sequence; generating the payload pattern by combining the first payload pattern and the second payload pattern; The watermark embedding method according to claim 1 , wherein the encoding rule is a rule for encoding the value of the payload with a predefined unit pattern.
3. The step of generating the intermediate image comprises: generating the intermediate image by adjusting pixel values of the original image based on the base pattern and a first weighted value; The watermark embedding method of claim 1 , wherein the first weight represents a strength of adjustment of pixel values by the base pattern and is smaller than a second weight represents a strength of adjustment of pixel values by the payload pattern.
4. the base pattern is embedded by adjusting pixel values of the original image based on a first weighted value; the first weight value represents a pixel value adjustment strength according to the base pattern, The step of embedding a payload pattern includes: embedding the payload pattern while changing a value of a weight parameter and evaluating an extraction performance of the payload; determining a second weighting to be applied to the payload pattern based on a result of the evaluation; and adjusting pixel values of the intermediate image based on the payload pattern and the second weighted values; The watermark embedding method according to claim 1 , wherein the value of the weight parameter represents a strength of adjustment of pixel values by the payload pattern.
5. the payload pattern includes a plurality of unit patterns, The step of embedding a payload pattern includes: determining whether a specific unit pattern can be extracted from pixel values of a specific unit area of the intermediate image; skipping an embedding process of the specific unit pattern based on whether the specific unit pattern can be extracted or embedding the specific unit pattern based on a weighting value smaller than a weighting value set in the payload pattern, The watermark embedding method according to claim 1 , wherein the specific unit area is an area in which the specific unit pattern out of the plurality of unit patterns is embedded.
6. The step of embedding a payload pattern includes: embedding a first block of the payload pattern into a first region of the intermediate image based on a first weight value; and embedding a second block of the payload pattern into a second region of the intermediate image based on a second weighted value; the first weight and the second weight represent adjustment strengths of pixel values of the first block and the second block, respectively; the first region is a higher frequency region than the second region, The watermark embedding method according to claim 1 , wherein the first weight is determined to be greater than the second weight.
7. The step of embedding a payload pattern includes: scaling the payload pattern based on a value of a scale parameter; embedding the scaled payload pattern into the intermediate image; 2. The method of claim 1, wherein the intermediate image is generated by embedding the base pattern scaled based on the value of the scale parameter.
8. The method of claim 7 , wherein the value of the scale parameter is determined based on the size of the original image.
9. the scaled payload pattern includes a plurality of scaled unit patterns; each of the plurality of scaled unit patterns includes a plurality of blocks; Embedding the scaled payload pattern into the intermediate image comprises: determining a first region of the intermediate image corresponding to a first block of the plurality of blocks; 8. The method of claim 7, further comprising the step of extracting a portion of the value of the first block and embedding the portion in a central portion of the first region.
10. 10. The watermark embedding method of claim 9, wherein a second block of the scaled base pattern corresponding to the first block is embedded in the entire first region.
11. 10. The method of claim 9, wherein a portion of the values of a second block of the scaled base pattern corresponding to the first block is also embedded in the central portion of the first region.
12. 10. The watermark embedding method of claim 9, wherein a portion of values of a second block of the scaled base pattern corresponding to the first block is embedded in an outer portion of the first region.
13. 1. A method performed by at least one computing device, comprising: obtaining an original image and a base pattern for a watermark; obtaining a payload pattern in which a payload of the watermark exists; embedding the base pattern in a first region of the original image based on a value of a first weight parameter; embedding the payload pattern in a second region of the original image based on a second weight parameter different from a value of the first weight parameter; A watermark embedding method, wherein the base pattern contains a synchronization signal used for extracting the payload of the watermark.
14. The method of claim 13, wherein the first weighting value is smaller than the second weighting value.
15. The method of claim 13 , wherein there is no overlapping area between the first region and the second region.
16. The method of claim 13 , wherein the first region has a different shape than the second region.
17. The step of embedding a payload pattern includes: scaling the payload pattern based on a value of a scale parameter; embedding the scaled payload pattern into the second region; The watermark embedding method according to claim 13, wherein the base pattern is also embedded after being scaled based on the value of the scale parameter.
18. the scaled payload pattern includes a plurality of scaled unit patterns; each of the plurality of scaled unit patterns includes a plurality of blocks; Embedding the scaled payload pattern in the second region includes: determining an area of the original image corresponding to a first block of the plurality of blocks; extracting a portion of the values of the first block and embedding the portion in a central portion of the determined region; The watermark embedding method of claim 17 , wherein the central portion belongs to the second region and the outer portion belongs to the first region.
19. one or more processors; and a memory for storing a computer program for execution by the one or more processors. The computer program comprises: obtaining an original image and a base pattern for a watermark; An operation of obtaining a payload pattern in which a payload of the watermark exists; embedding the base pattern in the original image to generate an intermediate image; and instructions for embedding the payload pattern in the intermediate image; A watermark embedding system, wherein the base pattern contains a synchronization signal used to extract the payload of the watermark.
20. one or more processors; and a memory for storing a computer program for execution by the one or more processors. The computer program comprises: obtaining an original image and a base pattern for a watermark; An operation of obtaining a payload pattern in which a payload of the watermark exists; embedding the base pattern in a first region of the original image based on a first weight value; and instructions for embedding the payload pattern in a second region of the original image based on a second weight value different from the first weight value; A watermark embedding system, wherein the base pattern contains a synchronization signal used to extract the payload of the watermark.
Citation Information
Patent Citations
Method for embedding and extraction of watermarking data
KR101877372B1