BACKGROUND OF THE INVENTION 1. Field of the Invention
The present invention generally relates to a digital watermarking technique. More particularly, the present invention relates to a digital watermarking technique for embedding or reading digital watermark data in digital data contents which represent an image or a sound. In addition, the present invention relates to a technique for statistical processing of read watermark data in a system using the digital watermarking technique.
It is easy to replicate or tamper fraudulently with multimedia production, and the easiness hinders an data content provider from sending data. In addition, some users may not use the data originated from the provider validly. Therefore, copyright protection is strongly needed for the multimedia production. The digital watermarking technique is effective in realizing the copyright protection. According to the digital watermarking technique, sub-data is embedded in data contents without being noticed by a user by utilizing redundancy of data such as of an image and a sound. The digital watermarking technique is used for protecting a multimedia copyright by embedding copyright information, a user ID and the like as the sub-data in secret, since it is difficult to separate the sub-data from the data contents.
2. Description of the Related Art
Conventionally, the following digital watermarking techniques are proposed.
According to a technique proposed in Japanese patent application No. 9-57516, “Image processing method and the apparatus,” an image is subdivided into blocks larger than a 8×8 block size which is used for common non reversible compression. Then, the size of the frequency coefficient which is obtained by discrete Fourier transform of the block is changed, the frequency coefficient being represented by a polar coordinate system and the size being a distance from the origin point of the polar coordinate system. As a result, sub-data can be read correctly even when the non-reversible compression is performed. In addition, the frequency coefficient is normalized within a range of predetermined values, is embedded, and read. In addition, weaker image processing is carried out on a complicated region as compared to a flat region. As a result, degradation of image quality which may be caused by embedding the sub-data can be suppressed and a tolerance to contrast changing is obtained. Further, as the value of the frequency coefficient to be changed becomes larger, the modification amount of the frequency coefficient becomes larger (the smaller the value is, the smaller the modification amount is) so as to suppress the deterioration of image quality more effectively. In addition, when subdividing an image into blocks, an image area which is smaller than one block is treated as one block by using an average pixel value and/or using a form symmetric with respect to a line repeatedly to compensate for the lacking image area. Moreover, the sub-data is constituted from the whole image after weighting data of each block. As a result, the sub-data is read correctly even when the image is partly edited and/or the image with many flat parts is non-reversibly compressed.
In addition, according to a technique proposed in Japanese patent application No. 9-164466, “Information embedding method, data reading method and the apparatus,” when embedding data into motion pictures, data embedding is carried out to components of a relatively low frequency region. Further, frequency conversion is carried out with a block size larger than a block size used for data compression, and, then data embedding is carried out. Moreover, an original image is used when data is read. As a result, tolerance to data compression is obtained.
Other conventional techniques are proposed in Japanese patent applications No. 8-305370, No. 8-338769, No. 9-9812, No. 9-14388, No. 9-109924, No. 9-197003, No. 9-218467 and No. 10-33239. The digital watermark method is also called data hiding, finger printing steganography, image/sound deep encryption and the like.
Elements for determining performance of the digital watermarking technique are as follows:
- (1) quality of data contents in which the digital watermark is embedded;
- (2) durability of the digital watermark which is embedded in the data contents when the data contents are manipulated;
- (3) safety against intentional erasing of and tampering with digital watermark data, and
- (4) reliability of the digital watermark data which is read from the data contents.
The digital watermarking technique is broadly divided into two methods. One method of gives meaning to a data value by quantizing. For example, by dividing a data value by a quantization value and dividing the result by 2, a bit data can be represented by the remainder. Another method embeds digital watermark data by using a spread spectrum method.
The above-mentioned examples are based on the former method. In terms of the method, there is a problem with respect to the above element (1) in that the digital watermark data embedded in the data contents may be perceived, or commercial value of the data contents may be lost by embedding the digital watermark data. With respect to the above element (2), the digital watermark data which is embedded in the data contents may be dissipated even when a general user uses the data contents in a normal way. Particularly, it is a difficult problem to achieve both elements (1) and (2) with enough performance in practical use.
In addition, there is a method of embedding the digital watermark data repeatedly in order to give durability to the digital watermark data against manipulation of the data contents. Specifically, according to the method, digital watermark data which is embedded repeatedly (which is called a watermark sequence hereinafter) is read from data contents, and, then, the digital watermark data is reconstituted by performing statistical processing. The watermark sequence has durability against deterioration and noise to some extent. However, if the data contents are encoded by high compression rates, it may become difficult to read the watermark sequence from the data contents. Therefore, it may become impossible to reconstitute the digital watermark data.
In addition, as for a digital watermarking system, accuracy for determining the presence or absence of embedded data is important. In addition, reliability of embedded data is important. The digital watermarking system generally has a mechanism for reconstituting correct digital watermark data even when sub-data embedded in the data contents is corrupted to a certain extent, since the digital watermarking system assumes various processing on the watermarked data contents. However, under present circumstances, it is impossible for the system to evaluate validity of reconstituted digital watermark data quantitatively. Therefore, the system does not have enough reliability.
SUMMARY OF THE INVENTION It is a first object of the present invention to improve quality of watermarked digital data contents and to improve durability of digital watermark data against media processing of the watermarked digital data contents.
It is a second object of the present invention to evaluate quantitatively probabilities of cases that data contents which do not contain digital watermark data are wrongly judged as containing digital watermark data, and incorrect digital watermark data is read from watermarked digital data contents.
It is a third object of the present invention to separate a digital watermark data sequence, when reading watermarked digital data contents, from noise so that error bits which are included in the digital watermark data sequence can be reduced, thereby watermark data reading success rate being improved in comparison with the conventional method without changing an amount of digital watermark data and a method of embedding the digital watermark data.
The first object of the present invention is achieved by a method for embedding digital watermark data in digital data contents. The method includes the steps of:
receiving the digital data contents and the digital watermark data;
dividing the digital data contents into block data;
obtaining a frequency coefficient of the block data;
obtaining a complexity of the block data;
obtaining an amount of transformation of the frequency coefficient from the complexity and the digital watermark data by using a quantization width;
embedding the digital watermark data in said digital data contents by transforming the frequency coefficient by the amount; and
generating watermarked digital data contents.
The first object of the present invention is also achieved by a method including the steps of:
receiving the digital data contents and the digital watermark data;
dividing the digital data contents into block data;
obtaining a frequency coefficient of the block data;
obtaining an amount of transformation of the frequency coefficient from the digital watermark data by using a quantization width corresponding to the frequency coefficient, the quantization width being obtained beforehand according to a manipulation method of the digital data contents;
embedding the digital watermark data in said digital data contents by transforming the frequency coefficient by the amount; and
generating watermarked digital data contents.
According to the above-mentioned inventions, the amount of transformation of frequency coefficients is changed and/or the amount of transformation is increased or decreased according to the complexity of the digital data contents. Therefore, the quality of the watermarked digital data contents can be improved and the durability of digital watermark data against a manipulation of the watermarked digital data contents can be improved.
The second object of the present invention is achieved by a method for reading digital watermark data embedded in digital data contents, the method including the steps of:
receiving the digital data contents;
reading a bit sequence from the digital data contents;
calculating a probability of reading a bit ‘1’ or a bit ‘0’ in the bit sequence by using a test method on the basis of binary distribution;
determining the presence or absence of digital watermark data according to the probability; and
reconstituting and generating the digital watermark data from the bit sequence.
According to the above-mentioned invention, probabilities of the following cases can be evaluated quantitatively. The cases are that digital data contents which do not contain digital watermark data are wrongly judged as containing digital watermark data, and incorrect digital watermark data is read from watermarked digital data contents. In addition, the probability can be suppressed within a constant value.
The third object of the present invention is achieved by a method for reading digital watermark data from digital data contents in which each bit of digital watermark data is embedded a plurality of times, the method including the steps of:
receiving digital data contents;
reading a digital watermark sequence from the digital data contents;
performing soft decision in code theory by assigning weights to the digital watermark sequence with a weighting function;
reconstituting the digital watermark data from the digital watermark sequence.
According to the above-mentioned invention, the digital watermark data sequence is separated from the noise so that error bits which are included in the digital watermark data sequence can be reduced, thereby the digital watermark data reading success rate being improved in comparison with the conventional method. In addition, since weights are assigned to the digital watermark data sequence, the present invention is especially effective when the repeating number of watermark embedding is small.
BRIEF DESCRIPTION OF THE DRAWINGS Other objects, features and advantages of the present invention will become more apparent from the following detailed description when read in conjunction with the accompanying drawings, in which:
FIG. 1 is a block diagram of a digital watermarking system of the present invention;
FIG. 2 is a general flowchart showing a digital watermark embedding process according to a conventional technique;
FIG. 3 is a detailed flowchart showing a principal part of the digital watermark embedding process according to the conventional technique;
FIG. 4 is a conceptual diagram of the digital watermark embedding process according to the conventional technique;
FIG. 5 is a general flowchart showing a digital watermark reading process according to the conventional technique;
FIG. 6 is a detailed flowchart showing a principal part of the digital watermark reading process according to the conventional technique;
FIG. 7 is a block diagram showing receiving data and generating data of a digital watermark embedding apparatus of the present invention;
FIG. 8 is a block diagram showing receiving data and generating data of a digital watermark reading apparatus of the present invention;
FIG. 9 is a general flowchart showing a digital watermark embedding process according to a first embodiment of the present invention;
FIG. 10 is a detailed flowchart showing a principal part of the digital watermark embedding process according to the first embodiment of the present invention;
FIGS. 11A and 11B are conceptual diagrams of the digital watermark embedding process according to the first embodiment of the present invention;
FIG. 12 is a flowchart of a process for calculating a data complexity according to a second embodiment of the present invention;
FIG. 13 is a flowchart showing a process for obtaining a watermark weight ratio data according to the present invention;
FIG. 14 is a detailed flowchart showing a principal part of the digital watermark embedding process according to a third embodiment of the present invention;
FIG. 15 is a detailed flowchart showing a principal part of the digital watermark reading process according to a fourth embodiment of the present invention;
FIG. 16 is a flowchart showing a process of calculating a watermark strength matrix according to a fifth embodiment of the present invention;
FIG. 17 is a block diagram of a computer;
FIG. 18 is a block diagram of an integrated circuit;
FIG. 19 is a block diagram of a digital watermarking system of the present invention;
FIG. 20 is a block diagram of a digital watermark reading apparatus shown inFIG. 19;
FIG. 21 is a diagram for explaining judgment on digital watermark data;
FIG. 22 is a conceptual diagram of reconstituting digital watermark data;
FIG. 23 is a flowchart of a digital watermark reading process according to a seventh embodiment of the present invention;
FIG. 24 is a block diagram of a digital watermarking system according to an eighth embodiment of the present invention;
FIG. 25 is a flowchart of a digital watermark reading process according to a tenth embodiment of the present invention;
FIG. 26 is a flowchart of a digital watermark reading process according to a tenth embodiment of the present invention when reading digital watermark data sequence which is embedded after being modulated by a pseudo-random sequence;
FIG. 27 is a diagram showing the result of reading a digital watermark data sequence without modulation;
FIG. 28 is a diagram showing the result of reading a modulated digital watermark data sequence;
FIG. 29 is a diagram showing a digital watermark reading process according to a conventional technique;
FIG. 30 is a graph showing how MPEG-1 coding changes ‘1’ data bit, specifically the graph shows occurrence frequency with respect to change amount of a DCT coefficient value by 1.5-Mbps MPEG-1 coding;
FIG. 31 is a flowchart showing a principle of a thirteenth embodiment of the present invention corresponding to a third object;
FIG. 32 is a block diagram of a digital watermark reading apparatus according to the thirteenth embodiment of the present invention;
FIG. 33 is a general flowchart showing a digital watermark reading process according to the thirteenth embodiment of the present invention;
FIG. 34 is a diagram showing the result of comparison of a digital watermark data reading success rate between a conventional reading method and the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Before explaining embodiments of the present invention, definition of some words will be given. “Digital watermark data sequence” represents a data sequence read from the digital data contents before being reconstituted. “Digital watermark data” represents significant data for system operation, which data needs to be embedded in the digital data contents, or, data obtained by reconstituting the digital watermark sequence. “Reliability α of digital watermark” is an index representing validity of read digital watermark data. That is, it represents a probability that the read digital watermark data matches with the actual embedded digital watermark data. Conversely, a probability of reading digital watermark data from an image without digital watermark data or reading erroneous digital watermark data can be represented as 2(1−α). Similarly, “embedded sequence” represents data to be actually embedded. The embedded sequence includes sequence of embedded data which is modulated, extended or repeated. In addition, “read” may be replaced with “extract” in some cases.
FIG. 1 shows a digital watermarking system of the present invention. In the system shown inFIG. 1, digital-watermark data101 is embedded indigital data contents103 by a digitalwatermark embedding apparatus102, then, converted into watermarkeddigital data contents104.
The watermarkeddigital data contents104 are degraded to watermarkeddigital data contents105 by compression or image processing while the watermarkeddigital data contents104 are distributed by wireless or wire communication or by a packaged medium.
A digitalwatermark reading apparatus106 reads a watermark sequence from the degraded watermarkeddigital data contents105, and reconstitutesdigital watermark data107.
In the following, a digital watermark embedding method and a digital watermark reading method by using quantization will be described, since embodiments of the present invention are based on the methods. After the description of the methods, the embodiments of the present invention will be described.
According to the digital watermarking technique based on quantization, digital watermark data is embedded by quantizing all or a part of data which is transformed (for example, by an orthogonal transform) from original digital data contents, or not-yet-transformed data. As for digital watermark data reading, data in the contents in which digital watermark data is embedded is quantized by the same value as a value used for embedding digital watermark data, and, then digital watermark data is determined from the quantized data value.
In the following, a general outline of the methods will be described. The Japanese patent application No. 9-57516, “Image processing method and the apparatus”, and the Japanese patent application No. 9-164466, “Information embedding method, data reading method and the apparatus”, and the like can be referred to for obtaining detailed information of the digital watermarking technique based on quantization.
First, digital watermark embedding method based on quantization will be described. A process of the method is carried out by the digitalwatermark embedding apparatus102 shown inFIG. 1.FIG. 2 is a flowchart showing the process.
The digitalwatermark embedding apparatus102 obtainsblock data109 by dividingdigital data contents103 into a plurality of blocks (m blocks in this example) instep100. Then, a frequency coefficient matrix115 (an orthogonal transform coefficient matrix) is generated by performing an orthogonal transform on theblock data108 instep110.
Apseudo-random sequence125 is generated from inputkey data12 instep120. Then, a coefficient (for each block) from thecoefficient matrix115 is selected one by one using thepseudo-random sequence125 so as to generate afrequency coefficient sequence135 to be watermarked instep130. Each bit of thedigital watermark data101 are diffused by repeating number (t) of embedding so that adigital watermark sequence145 is generated instep140. Thedigital watermark sequence145 is embedded into thefrequency coefficient sequence135 such that a watermarkedfrequency coefficient sequence155 is generated instep150.
After that, thefrequency coefficient sequence135 in thefrequency coefficient matrix115 is replaced by the watermarkedfrequency coefficient sequence155 to generate a watermarkedfrequency coefficient matrix165 instep160. Then, the watermarkedfrequency coefficient matrix165 is inverse-orthogonal-transformed to form a watermarkedblock data175 instep170. After that, the block data part of the inputdigital data contents103 is replaced by the watermarkedblock data175 instep180. As a result, a watermarked digital data contents is output.
In the above description, data in which digital watermark data is embedded is assumed to be the coefficient of the frequency coefficient matrix. However, the data can be a pixel. In addition, when selecting a coefficient value from a block image, the number of the selected coefficient is not limited to one, that is, it can be more than one or zero. The present invention does not depend on the matter.
In the process of diffusing the digital watermark data shown inFIG. 2, for example, a process represented by s[j][k]=w[j] is carried out for all j and k, then, the digital watermark data (w[0], w[1], . . . , w[n−1]) is transformed to the digital watermark data-sequence s[0][0], s[0][1], . . . , s[0][t−1], s[1][0], s[1][1], . . . , s[1][t−1], s[n−1][0], s[n−1][1], . . . , s[n−1][t−1].
In the watermark embedding process, quantization widths of frequency coefficients q[0], q[1], . . . , q[m−1] are used.
In the following, the watermark embedding process (step150) will be described in detail with reference to a flowchart shown inFIG. 3.
Let the repeating number t of each bit of the digital watermark data be t=└m/n┘, the frequency sequence be w[j], s[j][k]ε{0,1}{0≦j<n,0≦k<t}.
The watermark embedding process to the frequency sequence {f[i]} is carried out as follows.
1. Following steps are carried out for all i
2. A watermarked frequency coefficient f′[i] is obtained from the frequency coefficient f[i] according to following steps.
i) If
mod2 is equal to s[X][Y],
ii) If
mod2 is different from s[X][Y] and
is equal to
iii) If
mod2 is different from s[X][Y] and
is different from
Here, X=i/t and Y=i mod t. In addition, [x] represents a maximum number which does not exceed x and x mod y represents the remainder of x divided by y.
FIG. 4 shows the concept of the conventional watermark embedding process. As shown in the figure, digital watermark data is embedded by changing a data value of watermarking area to a central value of the quantization width.
Next, the digital watermark reading method based on quantization will be described. The process is carried out in the digitalwatermark reading apparatus106. According to the digital watermark reading process, a digital watermark data sequence is read from watermarked contents, and, then digital watermark data is reconstituted by statistically processing the digital watermark data sequence.
FIG. 5 is a flowchart showing the conventional digital watermark reading process based on quantization.
The digitalwatermark reading apparatus106 obtains watermarkedblock data205 by dividing watermarkeddigital data contents105 into a plurality of blocks (m blocks in this example) instep200. Then, afrequency coefficient matrix215 is generated by performing an orthogonal transform on the watermarkedblock data205 instep210.
Apseudo-random sequence225 is generated from inputkey data22 instep220. Then, a coefficient value (for each block) of thefrequency coefficient matrix215 is selected one by one using thepseudo-random sequence225 so as to generate a watermarkedfrequency coefficient sequence235 instep230. Then, the watermark reading process is performed on the watermarkedfrequency sequence235 so that adigital watermark sequence245 is read instep240. Finally, theoriginal watermark data107 is output by performing statistical processing on the digital watermark data sequence instep250.
Next, the digital watermark reading process (step240) will be described in detail with reference to a flowchart inFIG. 6. The process for reading the digital watermark sequence from the watermarked frequency coefficient sequence {f′[i]} is shown in the following.
1. Following steps are carried out for all i
by using a frequency coefficient quantization width q.
2. The digital watermark sequence s[X][Y] is read from the frequency coefficient f′[i]. That is,
mod2.
Here,
Y=i mod t.
When the digital watermark data is reconstituted from the digital watermark data sequence by performing statistical processing, a majority decision method such as
is used.
Next, the present invention corresponding to the first object will be described.
FIG. 7 is a block diagram showing input data and output data of the digital watermark embedding apparatus of the present invention. The digitalwatermark embedding apparatus102 inputsdigital data contents103 such as an image and a sound as main data,key data12 anddigital watermark data101 as sub-data. The digitalwatermark embedding apparatus102 embedsdigital watermark data101 into thedigital data contents103 and outputs watermarkeddigital data contents104.
FIG. 8 is a block diagram showing input data and output data of the digital watermark reading apparatus of the present invention. The digitalwatermark reading apparatus20 inputs the watermarkeddigital data contents21 and thekey data22, and outputsdigital watermark data23 embedded in the watermarkeddigital data contents21. Here, thekey data22 is the same as thekey data12.
In the following, embodiments of the present invention will be described.
First Embodiment A first embodiment of the present invention will be described. According to the first embodiment, digital data contents and digital watermark data is received and the digital data contents are divided into block data. Then, a frequency coefficient of the block data and the complexity is obtained. Next, an amount of transformation of the frequency coefficient is obtained from the complexity and the digital watermark data by using a quantization width, and the digital watermark data is embedded by transforming the frequency coefficient by the amount. Then, watermarked digital data contents is generated.
The process of the first embodiment is a modified process of the digital watermark embedding process shown inFIG. 2, in which the modified part is the main part for watermark embedding.
FIG. 9 is a flowchart of the whole process of the first embodiment. InFIG. 9, astep190 which calculates the complexity and a watermark embedding process for varying the transformation amount according to the complexity (steps195,150) are different from the conventional process shown inFIG. 2. Therefore, the different point will be mainly described in the following.
Block data108 is input, and acomplexity sequence195 is generated by calculating a data complexity e[i](0≦e[i]≦1) for each block data instep190. Then, the coefficient value of data to be watermarked is transformed to a value within quantization width according to the data complexity. In this embodiment, it is possible to use a conventional method for calculating the data complexity. For example, in the case of an image, a process for obtaining local image complexity can be used. In this case, it is necessary to normalize the range of the local complexity such that the range becomes from 0 to 1, if the range is from −α to +β.
Next, the watermark embedding process which is the heart of the second embodiment will be described in detail.FIG. 10 is a flowchart showing the watermark embedding process (step150 inFIG. 9) in detail.
The process for embedding digital watermark data into a frequency coefficient sequence {f[i]} of the first embodiment is carried out as follows.
1. For all i (0≦i<└m/n┘·n), the following process is carried out.
2. A watermarked coefficient f′[i] is obtained from a coefficient f[i].
i) If
mod2 is equal to s[X][Y],
ii) If
is not equal to s[X][Y] and
is equal to
iii) If
is not equal to s[X][Y] and
is not equal to
Here, q represents the quantization width for digital watermark data embedding, X=i/j, Y=imodt, and [x] is the maximum integer which does not exceed x, and x mod y represents the remainder of x divided by y.
FIGS. 11A and 11B are conceptual diagrams showing the digital watermark embedding process of the first embodiment. As shown inFIG. 11B, a data complexity e[i](0≦e[i]≦1) is calculated for each block data, then, the value of data in which digital watermark data is embedded is transformed to a value within the quantization width according to the data complexity.
Generally, the quality of the watermarked digital data contents is a trade-off for the strength of the digital watermark data. However, according to the present invention, both of the quality of the watermarked digital data contents and the watermark durability can be improved while keeping the quality and the durability in balance. That is, digital watermark data is embedded according to the local data complexity. Specifically, digital watermark data is embedded with a greater strength in a complex part, and is embedded with a weaker strength in a non-complex part.
The watermarking technique has an embedding process and a reading process in a pair. However, even if the embedding process is modified from the conventional process according to the present invention, the reading process does not need to be changed from the conventional reading process for reading the digital watermark data which is embedded by the method of the present invention.
Second Embodiment In the following, a second embodiment of the present invention will be described. The second embodiment relates to the process for calculating the data complexity (step190 inFIG. 9).
According to the second embodiment, the block data is transformed by applying Wavelet transform. Then, high frequency coefficient data of the wavelet transformed data is filtered by using a threshold value, and the complexity of the block data is calculated from the number of the data values which exceed the threshold.
FIG. 12 is a flowchart of the process for calculating the data complexity according to the second embodiment. Here, let the dimension of a block data B[i] be N, and let the size of the block data be M0×M1. . . ×MN−1. A following process is performed on each element hv0,v1, . . . ,vN−1(0<vu<Mu/2, 0<u<N) of the high frequency coefficient matrix H0×H1. . . ×HN−1of N dimensional wavelet transformed block data.
1. count←0
2. For all (v0, v1, . . . , vN−1), a step3 is carried out (N dimensional loop).
3. For a threshold Δ≧0 which is set beforehand, If |hv0,v1, . . . ,vN−1|≧Δ, count←count+1. Here, |X| represents the absolute value of x.
4. For a threshold Γ≧0 which is set beforehand, If count≧Γ, e[i]←1.0. If not,
In the process for calculating the data complexity, for example, if it is assumed that N=2 (an image), the basis of the wavelet transform is the Haar basis, M0=16 and M1=16, an experiment shows that values of Δ=4 and Γ=16 are good for the balance for embedding digital watermark data without being notified by a human.
According to the second embodiment, the above-mentioned function can be realized by setting the two thresholds Δ and Γ according to the characteristics of the watermarking technique such as the kind of data to be watermarked, a unit (the size of the block data), the kind of orthogonal transform to be used. By applying the above-mentioned function to the watermarking technique, it becomes possible to embed digital watermark data more appropriately according to characteristics of individual digital data contents.
Third Embodiment In the following, a fourth embodiment of the present invention will be described.
According to the third embodiment, in the digital watermark embedding process, block data of digital data contents is obtained, and a transformation amount of frequency coefficient is calculated on the basis of a transformation amount for each frequency band according to a manipulation method of the digital data contents. Then, block data of the watermarked digital data contents is generated.
Let the dimension of a block data B[i] be N and the size be M0×M1. . . ×MN−1. Here, a sequence which represents the ratio of transformation width for the frequency band of each frequency coefficient needs to be obtained beforehand by using adequate digital data contents before operating a digital watermarking system. The calculation method for obtaining q[i] will be described in detail in a fifth embodiment later.
FIG. 13 is a flowchart for obtaining the ratio of the quantization with for each frequency band. First,digital data contents1000 is input, andblock data1015 is obtained by dividing the input digital data contents into blocks instep1010. Theblock data1015 is transformed to first frequency coefficient matrices by applying the orthogonal transform instep1020. Next,digital data contents1035 is generated by performing a manipulation such as non-reversible compression on thedigital data contents1000 instep1030. Then, blockdata1045 is generated by dividing thedigital data contents1035 into blocks in step1040.Second frequency matrices1055 is generated by applying the orthogonal transform to theblock data1015 instep1055. Then, the variance of the distribution of the difference between each element of thefrequency coefficients matrices1025 and each element of thefrequency coefficients matrices1055 is obtained instep1060. Finally, watermark weight ratio data d v0, v1, . . . ,vN−11070 which represents the ratio of transformation for each frequency coefficient is obtained. The watermark weight ratio data obtained in this way is stored, and it is used in a watermark embedding process and a watermark reading process as necessary. The quantization width is obtained as d v0, v1, . . . , vN−1×Power which will be described next.
FIG. 14 is a flowchart showing the watermark embedding process which is the heart of the third embodiment of the present invention. Here, the flow of the whole process is the same as that shown inFIG. 2 orFIG. 9.
Let the watermark weight ratio sequence be {dv0, v1, . . . , vN−1} (0≦vu<Mu, 0≦u<N), and let the watermark strength be Power (the watermark strength represents durability of digital watermark data against manipulations of watermarked digital data contents.)
The watermark embedding process of the embodiment is carried out as follows.
1. For all i
a following process is carried out.
2. A quantization width q[i] used when embedding digital watermark data into the frequency coefficient f[i] is obtained by q[i]←dv0, v1, . . . , vN−1×Power by using an element dv0, v1, . . . , vN−1of the watermark weight ratio sequence which corresponds to the band of the frequency coefficient f[i] (f[i] is a (v0, v1, . . . , vN−1) th component of the frequency coefficient matrices).
3. The watermarked frequency coefficient f′[i] is obtained from the frequency coefficient f[i] in the following way.
i) If
is equal to s[X][Y],
ii) If
is not equal to s[X][Y] and
is equal to
iii) If
is not equal to s[X][Y] and
is not equal to
Here, X=i/t, Y=i mod t, and [x] is the maximum integer which does not exceed x, and x mod y represents the remainder of x divided by y.
Fourth Embodiment In the following, a fourth embodiment of the present invention will be described.
The fourth embodiment is a watermark reading process corresponding to the watermark embedding process of the third embodiment. According to the fourth embodiment, block data of watermarked digital data contents is obtained, and digital watermark data is read from frequency coefficients on the basis of transformation amount for each frequency band according to a manipulation method of the digital data contents.
FIG. 15 is a flowchart showing the watermark reading process of the fourth embodiment of the present invention. Here, as in the case of the third embodiment, let the watermark weight ratio sequence be {dv0, v1, . . . , vN−1} (0≦vu<Mu, 0≦u<N), and let the watermark strength be Power (the watermark strength represents durability of digital watermark data against manipulations such as non-reversible compression to watermarked digital data contents.)
The process for reading the digital watermark data sequence from the watermarked frequency coefficient according to the fourth embodiment is carried out as follows.
1. For all i
a following process is carried out.
2. A quantization width q[i] used when reading digital watermark data from the frequency coefficient f′[i] is obtained by q[i]←dv0, v1, . . . , vN−1×Power by using an element dv0, v1, . . . , vN−1of the watermark weight ratio sequence which corresponds to the band of frequency coefficient f[i] (f[i] is a (v0, v1, . . . , vN−1) th component of the frequency coefficient matrices).
3. The digital watermark data sequence s[X][Y] is read from the watermarked frequency coefficient f′[i] in the following way.
Here,
and Y=imodt.
According to the above-mentioned third and fourth embodiment, the watermark embedding strength can be changed according to the frequency band. Specifically, the watermark embedding and reading method applicable for a manipulation method becomes possible. In the method, according to the amount of change of digital data contents from original data for each frequency band due to manipulation such as non-reversible compression, the watermark strength is raised to a band when the amount is large, and the watermark strength is reduced when the amount is small. Accordingly, both of the quality of watermarked digital data contents and the durability of digital watermark data can be improved at a time.
Fifth Embodiment In the following, a fifth embodiment of the present invention will be described. According to the fifth embodiment, a number of digital data contents (images, sounds and the like) are prepared and calculation of a watermark strength matrix is carried out for each frequency band.
A processing flow of the fifth embodiment is the same as that shown inFIG. 13 basically. Here, the orthogonal transform process shown inFIG. 13 is the same as an orthogonal transform process used for digital watermarking process. For example, if the orthogonal transform used for digital watermarking is discrete cosine transformation (DCT) for a 16×16 size, the DCT is used, and, if the transformation used for digital watermarking is fast Fourier transform (FFT) for an 128×128 size, the FFT is used.
FIG. 16 is a flowchart showing the process of calculating the watermark strength matrix for each frequency band according to the fifth embodiment.
Here, let the frequency coefficient matrices be N, the size be M0×M1. . . ×MN−1, and each of the components be x0v0,v1, . . . ,vN−1, xtv0,v1, . . . ,vN−1(0≦vu<Mu, 0≦u<N). The process shown inFIG. 16 is as follows.
1. For all i (0≦i<m), the followingsteps2 and3 are performed.
2. For all (v0, v1, . . . , vN−1)=(0, 0, . . . , 0)˜(M0, M1, . . . ,MN−1), the process of the following step 3 is performed.
3. yv0,v1, . . . ,vN−1(i)←xov0,v1, . . . ,vN−1−xtv0,v1, . . . ,vN−1
4. For all (v0, v1, . . . , vN−1)=(0, 0, . . . , 0)˜(M0, M1, . . . ,MN−1), the followingsteps5 and6 are performed.
According to the fifth embodiment, it becomes possible to set the watermark strength to a level that is suitable for each frequency band according to a manipulation method for digital data contents such as non-reversible compression. For example, if the watermark strength is Power and the distribution of the amount of change of each coefficient value of the frequency coefficients after a manipulation can be approximated by a Laplacian distribution, when digital watermark data is read from digital data contents on which an assumed manipulation is performed, the rate of bit reversal for the extracted digital watermark data can be made constant
regardless of the frequency band (e is the natural logarithm). It is the advantage of the present invention to be able to predict the rate of bit reversal with the constant formula. In addition, according to the embodiment of the present invention, one of the problem of the conventional method that durability of embedded digital watermark data is varied according to the position of the frequency coefficient is solved. That is, the durability of the embedded digital watermark data is constant regardless of the position of the frequency coefficient (which is obvious from the above formula). The embodiment can be applied not only to the watermarking method based on quantization but also to a watermarking method based on the spread spectrum technique.
Sixth Embodiment In the following, a sixth embodiment of the present invention will be described. According to the sixth embodiment, the digital watermark embedding process is carried out by utilizing the first embodiment and the third embodiment in combination. The watermark embedding process of the sixth embodiment will be described as a modification of thestep150 shown inFIG. 9.
According to the sixth embodiment, the process for embedding digital watermark data in a frequency coefficient sequence {f[i]} is as follows.
1. For all i
the following is performed.
2. A quantization width q[i] used when embedding digital watermark data into the frequency coefficient f[i] is obtained by q[i]←dv0, v1, . . . , vN−1×Power by using an element dv0, v1, . . . , vN−1of the watermark weight ratio sequence which corresponds to the band of the frequency coefficient f[i].
3. The watermarked coefficient f′[i] is obtained from the frequency coefficient f[i] in the following way.
i) If
is equal to s[X][Y],
ii) If
is not equal to s[X][Y] and
is equal to
iii) If
is not equal to s[X][Y] and
is not equal to
Here, X=i/t, Y=i mod t, and [x] is the maximum integer which does not exceed x, and x mod y represents the remainder of x divided by y.
According to the sixth embodiment, both of the quality of the watermarked digital data contents and the durability of digital watermark data can be further improved as compared with the first embodiment and the third embodiment applied separately. The watermark reading method shown in the fourth embodiment can be used as-is for a watermark reading method in the sixth embodiment.
The above-mentioned processes performed by the digital watermark reading apparatus and the digital watermark embedding apparatus according to the present invention can be constructed by a program which can be stored in a computer readable medium such as a disk unit, a floppy disk, CD-ROM and the like. Then, by installing the program into a computer from the medium, the present invention can be easily realized.FIG. 17 is a diagram showing the configuration example of the computer. As shown in the figure, the computer includes aCPU300, amemory301, anexternal storage unit302, adisplay303, akeyboard304 and acommunication processing unit305. The digital watermarking process of the present invention is carried out by running the program stored in thememory301 on theCPU300.
In addition, the digital watermark reading apparatus and the digital watermark embedding apparatus can be realized also by an integrated circuit shown inFIG. 18. The integrated circuit includes amemory part401, amicro processor part402, aninterface part403 managing an interface to an outside part. Since, the configuration inFIG. 18 shows principal parts, the integrated circuit may includes other parts. The program stored in thememory part401 is carried out by amicro processor part402. The integrated circuit can take various other configurations. The integrated circuit can be incorporated to various apparatuses such as a camera so that the apparatuses can perform the digital watermarking process of the present invention.
As mentioned above, according to the present invention, the rate of the amount of change of frequency coefficients is changed, and/or, the amount of change of rate is increased or decreased according to the complexity of the digital data contents. Therefore, the quality of the watermarked digital data contents can be improved and the durability of digital watermark data against a manipulation of the watermarked digital data contents can be improved.
Next, embodiments of the present invention corresponding to the second objectives will be described.
Seventh Embodiment In the following, the seventh embodiment of the present invention will be described with reference to figures.
FIG. 19 is a block diagram of a digital watermarking system to which the present invention relates.FIG. 19 shows a similar configuration to that shown inFIG. 1. The difference is thatFIG. 19 shows a digital watermarkdata reconstitution apparatus108 which is an essential part of the present invention. The digital watermarkdata reconstitution apparatus108 is provided in thewatermark embedding apparatus106. In the system, a digital watermark data sequence is read from the watermarkeddigital data contents105 by using thewatermark reading apparatus106. Then, the digital watermark data sequence is processed in the digital watermarkdata reconstitution apparatus108 so that the readdigital watermark data107 is obtained.
In the following, the process for reconstituting the digital watermark data is described in detail.
FIG. 20 is a block diagram of thewatermark reading apparatus106. The digital watermarkdata reconstitution apparatus108 provided in thewatermark reading apparatus106 obtains the probability q that bit1 is read when any 1 bit watermark sequence is read from a whole watermark area beforehand by using thewatermark reading apparatus106.
Specifically, assuming a 1 bit watermarksequence reading part501, thepart501 reads thewatermark sequence1 bit by 1 bit from all elements of the whole-watermark area (a broken line L1), and calculates the ratio of the number ofbit1 to the number of all trials.
In the embodiment, the reading probability ofbit1 and the number ofbit1 are obtained. However, it is possible that the reading probability ofbit0 and the number ofbit0 are obtained. Basically, there is no difference between the former and the latter. The difference is only on implementation.
Accordingly, the probabilities of detectingbit0 and1 when reading 1 bit at random in the watermark area by using the digital watermarking algorithm is calculated to be 1-q and q respectively.
The n bit watermarksequence reading part502 reads the digital watermark data sequence from the watermarked digital data contents for the number of total times of embedding digital watermark data.
Here, digital watermark data is defined as b0, b1, . . . , bm−1, biε{0, 1}, i<m (m bit length), the repeating number of embedding ith bit of the digital watermark data in the digital data contents is defined as ni, the read watermark sequence is defined as
b′0,0, b′0,1, . . . b′0,n0−1, b′1,0, b′1,1, . . . b′1,n1−1, . . . ,b′m−1,0, b′m−1, . . . b′m−1,nm −1 −1bi,jε{0,1} (Σr=0m−1nrbit length).
Thedata reconstitution apparatus108 receives a subsequence of the digital watermark data sequence one after another from a subsequence corresponding to 0th digital watermark data to a subsequence corresponding to (m−1)th digital watermark data (a solid line L2).
Next, the method for reconstituting ith bit of the digital watermark data will be described concretely.
When nibits of digital watermark data sequence is read at random from the watermark area, the probability P(x=k) of k ‘1’ bits appearing in the nibit sequence is represented by the binary distribution density function
P(x=k)=niCkqk·(1−q)ni−k (1)
and the distribution function of that, F(x), is
F(x)=Σk=0xniCkqk·(1q)ni−k(0≦x≦ni) (2)
Here, niCkis the number of combinations when selecting k out of ni.
Setting a reliability threshold value α (½<α≦1) of the digital watermark data, the number ofbit1 included in a subsequence b′i,0, b′i,1, . . . b′i,ni−1corresponding to ith digital watermark data is calculated by
ki=Σr=0ni−1b′i,r.
Then, digital watermark data is determined in the following way by using the formula (2):
r0 when 0F(ki)<1-a bi=1 when a F(k,).1.(3) L unknown or when 1-a<F(ki)<a not present
Viewing from a different angle, when determining by the number ofbit1 included in the watermark sequence ni, if the largest integer x0that satisfies 0≦F(x=x0)≦1−α and the smallest integer x1that satisfies α≦F(x=x1)≦1 are assumed to be threshold values, the digital watermark data is judged as shown inFIG. 21 such that if the number of 1 in n1equal to or smaller than x0, the digital watermark data is 0, and that if the number of 1 is equal to or larger than x1, the digital watermark data is 1.
The horizontal axis ofFIG. 21 represents the number ofbit1 included in the watermark sequence, and the vertical axis represents frequency of the corresponding number. As for unwatermarked digital data contents, the frequency that bit1 appears in a bit sequence read at random from the digital data contents becomes binary distribution. Thus, the peak of the frequency is at the half point of the number of bits. On the other hand, as for watermarked contents, in the subsequence niin which bit0 is embedded as digital watermark data, the frequency ofbit1 is 0 if there is no degradation and it is a small number which is equal to or smaller than x0even if there is degradation. In the subsequence niin which bit1 is embedded as digital watermark data, the frequency ofbit1 is n1 if there is no degradation and it is a large number which is equal to or larger than x1even if there is degradation. In this way, the distribution of the frequency ofbit1 orbit0 in the watermarked sequence is leaning to one side from the center of the binary distribution. The present invention uses the lean for reconstituting digital watermark data from the read watermark sequence.
Depending on a watermarking system, a following method can be used. That is, reconstituted digital watermark data is obtained by using the bias from the central value of the distribution P(x) of the watermark sequence extracted fromdigital data contents105. Next, the probability of appearing the read watermark sequence is calculated by the formula (2). Then, if the reconstituted digital watermark data is 1, F(ki) can be added to watermark dada as the reliability, and, if the reconstituted digital watermark data is 0, 1-F(ki) can be added. The reliability F(ki) and 1-F(ki) of the digital watermark data is obtained from the bias of appearance probability of the digital watermark data in the binary distribution of appearance probability of each bit of 1 bit sequence extracted at random from digital data contents.
FIG. 22 shows a concept in which the length of the digital watermark data is extended to m bits.
The digital watermarkdata reconstitution apparatus108 outputs the reconstituted digital watermark data b0, b1, . . . , bm−1as readdigital watermark data107.
FIG. 23 is a flowchart showing the above-mentioned process. The process will be described in the following with reference toFIG. 23.
Watermarkeddigital data contents105 and key data which is necessary for reading digital watermark data is input, and a digital watermark data sequence is extracted with respect to each bit value instep1. Then, a threshold value α of the reliability is set instep2, and a probability q that bit1 appears when 1 bit of digital watermark data is read at random from the whole watermark area is obtained in step3. Then, a binary distribution function F(x) which represents probability that x bits of 1 are included in the bit sequence is obtained from the probability q and the repeating number niof each bit of digital watermark data instep4.
Then, 0 is assigned to i which distinguish a subsequence of the digital watermark data sequence instep5. Next, the number ofbit1 in the subsequence is obtained as ki=Σr=0ni−1b′i,rand the appearance probability F(ki) is obtained, then it is determined whether F(ki) is equal to or less than 1-α in step6. If F(ki)≦1−α, the digital watermark data w′iis reconstituted as 0 in step7. Then, i is incremented by 1 in step8, and the process goes back to step6 if i<m instep9. If F(ki)≧α is not true in step6, it is checked whether F(ki)≦α is true in step10. If F(ki)≧α, the digital watermark data w is reconstituted as 1 in step11, and the process goes to step8. If F(ki)≧α is not true in step10, the process ends by determining as there is no watermark or the presence or absence is unknown instep12. If i is more than nistep9, a reconstituted watermark sequence {w′i} is output. In the above process, the reading process instep1 can be carried out betweenstep4 andstep5. In step6, it is checked whether 1-F(ki) is more than α.
In the seventh embodiment, it is assumed that there is no bias in the distribution represented by formula (1), that is, q≡½.
When the embedding number niof each bit of digital watermark data is adequate for obtaining a statistical characteristic, it becomes q≡½ generally. However, since the value of q depends on characteristics of an watermarking algorithm and digital data contents, q may take a value deviating largely from ½ in some rare cases. A method for solving this problem will be described in a eighth embodiment.
Eighth Embodiment In the following, the eighth embodiment will be described.FIG. 24 is a block diagram of a watermarking system of the ninth embodiment.
Thewatermark embedding apparatus102 embedsdigital watermark data101 indigital data contents103. At the time, when embedding each bit value nitimes repeatedly, watermark sequence is modulated and embedded in thedigital data contents103. The modulation is carried out by a pseudo-random sequence generator (A)601 which is provided in thewatermark embedding apparatus102.
For example, when assuming the embedding sequence as b0,0, b0,1, . . . b0,n0−1, b1,0, b1,1, . . . b1,n1−1, . . . ,bm−1,0, bm−1,1, . . . bm−1,nm−1−1bi,jε{0, 1}, and the pseudo-random sequence as rig, ri,0, ri,1, . . . ri,ni−1bi,jε{0, 1}, the embedding sequence is modulated to
mi,0, mi,1, . . . mi,ni−1
mi,j=bi,j(+)ri,j
by the pseudo-random sequence. A(+)B represents XOR of A and B.
According to the above-mentioned process, the same pseudo-random sequence is necessary for digital watermark data reading.
For example, if 1 bit watermark sequence is read by using an M-sequence as the pseudo-random sequence, it becomes q=½. Therefore, the present invention can be applicable without depending on the watermarking algorithm and digital data contents.
When digital watermark data reading, demodulation is carried out as b′i,j=mi,j(+) ri,jby using a pseudo-random sequence generator (B)602 which is provided in thewatermark reading apparatus106.
Here, the pseudo-random sequence generator (A)601 and the pseudo-random sequence generator (B)602 needs to be implemented such that both of the generators generate the same pseudo-random sequence.
Watermark data is reconstituted with the method of the seventh embodiment from the watermark sequence b′0,0, b′0,1, . . . b′0,n0−1, b′1,0, b′1,1, . . . b′1,n1−1, . . . , b′m−1,0, b′m−1,1, . . . b′m−1,nm−1−1bi,jε{0, 1} obtained by the demodulation.
Since it is considered that the appearance probability q ofbit1 in the watermark sequence can be approximated by the binary distribution regardless of the presence or absence of modulation, there is no influence on the distribution of the density function (1) due to the modulation shown in this embodiment.
In addition, q=½ can be assumed in implementation, that is, no process is necessary for obtaining q. Therefore, the amount of processing that is required for watermark reconstitution thus becomes the same as that for majority decision processing. Thus, the reconstitution process becomes faster.
Ninth Embodiment In the following, a ninth embodiment will be described. In the ninth embodiment, an example will be described showing concrete values on the basis of the seventh embodiment and the eighth embodiment. In this embodiment, it is assumed that digital watermark data is 1 bit, the repeating number n of embedding is 127 and the probability q that bit1 is read when reading 1 bit watermark sequence at random from the whole watermark area is ½. If the threshold value α is 0.99999 (which means 99.999%), x0inFIG. 21 is 36 and x1is 90. That is to say, according to the present invention, under the above-mentioned condition, digital watermark data is judged asbit0 if the number of ‘1’ appeared in the watermark sequence (n bits) is equal to or less than 36, and it is judged asbit1 if the number of ‘1’ appeared in the watermark sequence (n bits) is equal to or more than 90, and it is judged that there is no watermark data or the presence or absence is unknown in other cases. If it is judged that there is digital watermark data, the correctness of more than 99.999% can be ensured.
Tenth Embodiment A tenth embodiment will be described in the following. According to the embodiment shown inFIG. 23, as is understood from the above-mentioned procedure, if even the reliability of only 1 bit is not obtained, that is, if F(ki) or 1-F(ki) is less than α, the reconstitution of the digital watermark data becomes impossible because it is judged that there is no digital watermark data or the presence or absence is unknown. The tenth embodiment solves the problem. In this case, it is assumed that the repeating number of embedding each bit of digital watermark data is the same value n.
The method for reconstituting digital watermark data w0, w1, . . . , wm−1from watermark sequence b′0,0, b′0,1, . . . b′0,n0−1, b′1,0, b′1,1, . . . b′1,n−1, . . . , b′m,0, b′m,1, . . . b′m,n−1which is read from digital data contents will be described in the following with reference toFIG. 25.
The watermark sequence is read with respect to each bit value from the digital data contents and key data necessary for digital watermark data reading instep1.
The threshold value α(½<α≦1) of the reliability is set instep2. For example, if the reliability of read digital watermark data needs to be equal to or more than 99%, it is set as α=0.99.
The probability q of bit ‘1’ when 1 bit of the watermark sequence is read at random from the whole watermark area of watermarked digital data contents is obtained beforehand in step3. The appearance probabilities of bits ‘0’and ‘1’ are calculated as 1=q and q respectively.
The probability that x bits of ‘1’ are included in the watermark sequence of each bit data of digital watermark data are obtained as
F(x)=Σj=0xnCjqj·(1−q)n−j
by using the binary distribution function instep4.
It is checked instep5 that the probability that n bit digital watermark data sequence is digital watermark data exceeds the threshold value α. Specifically, it is checked whether the following formula (4) is satisfied.
Here, |a| represents the absolute value of a. Σj=0n−1bi,j−n/2 represents the bias from the center of the binary distribution of the number of bit ‘1’ in the n bit watermark sequence. Σi=0m−1of Σj=0n−1bi,j−n/2 divided by m represents the average for the m bits of the whole digital watermark data. n/2 represents the center of the binary distribution.
If the formula (4) is true, it is judged that there is digital watermark data. Thus, in each n bit watermark sequence of m digital watermark data sequences, digital watermark data is reconstituted by a majority decision processing.
Specifically, if it is judged that there is digital watermark data, digital watermark data is reconstituted in the following way in step6.
For all i (0≦i<m),
when Σj=0n−1bi,j<n/2:w′i=0,
when Σj=0n−1bi,j≧n/2:w′i=1.
This process is carried out by steps6-1-6-7 inFIG. 25.
it is judged that there is no watermark data or the presence or absence is unknown. A following formula (5) can be used instead of the formula (4).
If the formula (5) is not true, it is judged that there is no watermark data or the presence or absence unknown.
According to the tenth embodiment, statistical processing for whole watermark sequence is carried out so as to judge the presence or absence of watermark by using the formula (4) or the formula (5). If it is judged that there is digital watermark data, the reconstitution is carried out by the majority decision processing. Therefore, even if there is one bit of low reliability, digital watermark data can be reconstituted.
InFIG. 25, thestep1 can be carried out between thesteps4 and5.
The tenth embodiment may use the pseudo-random sequence which is described in the eighth embodiment. Specifically, watermark embedding is carried out by modulating digital watermark data sequence with the pseudo-random sequence. When reconstituting, the read digital watermark data sequence is demodulated by the pseudo-random sequence, then the judgment by the formula (4) is performed. If the result is more than a and there is digital watermark data, the reconstitution process of the majority decision is performed on the demodulated sequence, which is the same process as the step6 of the eleventh embodiment. The whole process is shown inFIG. 26, adding the same reference symbol to the corresponding part shown inFIG. 25. In the example, the pseudo-random sequence {ri,j} is generated from key data ‘Key’ and the process goes to step2 in step8. Next to step4, watermark sequence is demodulated with the pseudo-random sequence {ri,j} instep9. The watermark bit b′i,jin the formula (4) instep5 is a bit which is demodulated instep9. Also, the majority decision processing in step6 is performed on b′i,j.
Eleventh Embodiment In the following, a eleventh embodiment will be described.
Since digital watermark data is dispersed by the pseudo-random sequence, when q is approximated to ½, the presence or the absence of watermark data in the watermark sequence can be judged as follows.
The probability that x bits of ‘1’ (a number x of ‘1’ bits) are included in the n bit watermark sequence which constitutes each bit of digital watermark data is represented as
F(x)=Σj=0xnC3(½n)
by using the binary distribution function. Accordingly, by obtaining the smallest integer x1which satisfies F(x=x1)≧α, the demodulated sequence of thestep5 in the tenth embodiment can be judged with the following formula (6).
In this case, the amount of processing can be reduced to the same level as that of the majority decision processing.
The judgment is equivalent to a judgment for judging whether the average of the bias from the center n/2 of the binary distribution of the watermark sequence is equal to or more than X1.
If the formula (6) is true and it is judged that there is digital watermark data, the majority decision process is performed on the watermark sequence which is demodulated by the pseudo-random sequence in the following way.
For all i (0≦i<m),
when Σj=0n−1b′i,j<n/2:w′i=0,
when Σj=0n−1b′i,j>n/2:w′i=1
Then, the digital watermark data is reconstituted.
If
it is judged that there is no watermark data or the presence or absence is unknown.
In the above process, it is possible to use the maximum integer X0which satisfies F(x=x0)≦1−α instead of the minimum integer x1which satisfies F(x=x1)≧α. In this case, a formula for judging the presence or absence of watermark is shown below as a formula (7).
If the left part of the formula is more than x0, it is judged that there is no watermark data or the presence or absence is unknown.
Twelfth Embodiment In the following, a twelfth embodiment of the present invention will be described.
When it is judged that there is digital watermark data by the formula (4), the digital watermark data is reconstituted by the above-mentioned majority decision process. At the same time, the reliability of the reconstituted watermark sequence as a whole is calculated as
and it is output.
Similarly, when it is judged that there is digital watermark data by the formula (5) and the digital watermark data is reconstituted, the reliability of the reconstituted digital watermark data sequence as a whole is calculated as
and it is output.
When it is judged that there is digital watermark data by the formula (6), the digital watermark data is reconstituted by the above-mentioned majority decision process. At the same time, the reliability of the reconstituted watermark sequence as a whole is calculated as
and it is output.
Similarly, when it is judged that there is digital watermark data by the formula (7), the reliability of the digital watermark data as a whole is calculated as
and it is output.
In the above-mentioned seventh-twelfth embodiments, the reading probability ofbit1 and the number ofbit1 are obtained. However, it is possible that the reading probability ofbit0 and the number ofbit0 are obtained. Basically, there is no difference between the former and the latter. The difference is only on implementation.
In the following, examples of experiments will be shown. In the following experiments, an image of “lena” which has 128×128 pixels is used as a test image, and the threshold value α of the reliability is assumed to be 0.999999.
First Experiment In this experiment, 1 bit digital watermark data ‘1’ was embedded 127 times repeatedly using key data ‘50,000’, and the watermark sequence was read with various key data.FIG. 27 shows the number of bit ‘1’ in the read watermark sequence corresponding to the key data. InFIG. 27, the vertical axis shows the number of bit ‘1’ in the read watermark sequence, and the horizontal axis shows the key data value. In this experiment, the appearance frequency of bit ‘1’ in the watermark area A was q=0.492247.
When correct key data (50,000) is used, it is judged that digital watermark data is ‘1’ with 99.9999% correctness since the number of bit ‘1’ is more than the threshold value X1for judging the presence of watermark. When incorrect key data is used, it is judged that there is no watermark data or the presence or absence is unknown.
Second Experiment In the second experiment, a watermark sequence which was modulated with a 7 stage M-sequence (initial state is 64) was embedded, and a similar experiment as the first experiment was carried out with various key data and M-sequences of various initial states. The result is shown inFIG. 28. By carrying out the modulation, the value of q becomes 0.500000 from 0.492247, and the variance becomes 31.718777 from 31.008265. Thus, the values are almost not changed from those of the first experiment. It is only when correct key data and correct pseudo-random sequence are used that digital watermark data can be read. In addition, when the watermark sequence is embedded in half data of the watermark area A, q=0.741547 with the modulation and q=0.499768 without the modulation.
The effects of the present invention corresponding to the second object is as follows.
(1) There are following effects by judging digital watermark data on the basis of the binary distribution in statistics:
The probabilities of following cases can be evaluated quantitatively. The cases are: digital data contents which do not contain digital watermark data are wrongly judged as containing digital watermark data, and incorrect digital watermark data is read from watermarked digital data contents. In addition, the probability can be suppressed within 2(1−α) by using the reliability threshold α of digital watermark data.
(2) There are following effects by modulating digital watermark data by a pseudo-random sequence before embedding the digital watermark data:
The bias of the probability q of reading bit ‘1’ when 1 bit watermark sequence is read at random from the whole watermark area.
It becomes difficult to detect the presence or absence of watermark data and the value from the bias of q without the correct key data and the pseudo-random sequence, the key data being necessary for reading digital watermark data and the pseudo-random sequence being necessary for demodulating read watermark sequence. It can strengthen security which is an important element for the digital watermarking system.
In an implementation, since it can be assumed to be q=½, the amount of processing that is required for watermark reconstitution becomes the same as that for majority decision processing. Thus, the speed of the processing becomes higher.
αis an index which represents a lower limit of the correctness rate of read digital watermark data, and is manageable in the digital watermarking system. Therefor, the method of using α is superior to a conventional method of showing the correctness rate of read digital watermark data to a user.
According to the seventh embodiment, if there is even one bit of low reliability in digital watermark data {w′i}, it is judged that there is no watermark data or the presence or absence is unknown. However, even in the case, according to the eleventh-thirteenth embodiments, the reliability of digital watermark data can be evaluated quantitatively, the probability for reading digital watermark data incorrectly can be suppressed within 2(1−α), and the digital watermark data can be reconstituted. In the tenth-twelfth embodiments, the whole digital watermark data is statistically processed by modifying the formula for judging the presence or absence of digital watermark data, since digital watermark data can be reconstituted in many cases, when watermark sequence {b′i,j}, (0≦i<m, 0≦j<n) is seen statistically as a whole.
In addition, according to the seventh embodiment, F(Σj=0n−1b′i,j) needs to be calculated with the distribution function F(x) of the binary distribution for all i to reconstitute digital watermark data from watermark sequence. On the other hand, according to the tenth-twelfth embodiments, only one calculation using the distribution function is necessary so that the amount of processing can be reduced.
The present invention becomes more effective in combination with an error correction code. That is, when a part of bits in digital watermark data is intensively corrupted, it is judged that only the part of bits is unknown and other bit data is in high correctness rate. Therefore, correct data can be read by correcting only the corrupted bit data.
In the present invention corresponding to the second object, the above-mentioned processes can be constituted by programs which can be stored in a computer readable medium. Therefore, digital watermarking processing of the present invention can be carried out with a computer such as one shown inFIG. 17. Additionally, the watermarking apparatus of the present invention can be realized by an integrated circuit such as one shown inFIG. 18.
In the following, the present invention corresponding to the third object will be described.
In the first place, the conventional digital watermark reading method will be further described in order to clarify the feature of the present invention corresponding to the first objective. The conventional method is based on hard decisions on binary coding in code theory, which is shown inFIG. 29. With respect to the watermark reading method based on hard decisions on binary coding, if almost all watermarked contents are embedded within a same range (shown as the diagonally shaded area), the performance is enough.
However, according to the conventional watermark reading method, there is a following problem.FIG. 30 shows a graph showing how MPEG-1 coding changes ‘1’ data bit, specifically the graph shows occurrence frequency with respect to change amount of a DCT coefficient value by 1.5 Mbps MPEG-1 coding. As shown inFIG. 30, there is a case in which a considerable amount of watermarked data appears in the vicinity of the boundary of the reading bit value (which is shown in two dotted circles a and a′). As a result, it becomes difficult to separate noise from the watermarked data. In addition, there is a possibility that a digital watermark data value which is read becomes reversed with respect to the embedded digital watermark data.
In order to avoid the problem, two measures are conceivable. First measure is to raise the data diffusion rate by increasing the number of times the data is embedded. Second measure is to increase the watermark embedding strength. Neither of these measures is a true solution because the first one may reduce the relative amount of embedded data and the second one may degrade the image. Accordingly, the present invention adopts soft decision rather than hard decision. In the following, a general description of the present invention will be given.
FIG. 31 is a diagram of a principle of the present invention corresponding to the third object. As shown in the figure, a watermark sequence and the reliability is obtained instep1, and, then, most likely digital watermark data is reconstituted based on the watermark sequence and the reliability instep2.
FIG. 32 is a diagram showing a principle of a digital watermark reading apparatus of the present invention. As shown inFIG. 32, the digital watermark reading apparatus includes a digital watermarksequence obtaining part1 andreconstitution part2. The digital watermarksequence obtaining part1 obtains the most likely digital watermark sequence and the reliability by carrying out soft decisions of coding theory using a weight function, and thereconstitution part2 reconstitutes digital watermark data on the basis of the most likely digital watermark sequence and the reliability.
Inferring from the frequency plot shown inFIG. 30, it is easy to detect the digital watermark data sequence correctly if the repeating number of embedding is large enough. However, if a sufficiently large repeating number can not be obtained in actual practice, it becomes difficult to detect the desired digital watermark data sequence, thus filtering for watermarked content data becomes important. For example, concerning data which exists in the dotted circle inFIG. 30, it is difficult to determine whether the data is watermarked content data or noise. Thus, it is needed to separate watermarked content data from noise effectively. For that purpose, according to the present invention, weights are assigned to the digital watermark data sequence by using soft decisions of coding theory. Specifically, distribution of watermarked content data is predicted, then digital watermark data is reconstituted from a digital watermark data sequence to which a corresponding distribution value is added as the weight.
Accordingly, the watermarked content data can be separated from noise. Thus, error bits included in the digital watermark data sequence can be reduced, thereby a success rate of reading digital watermark data improves as compared with the above-mentioned conventional methods. According to the present invention, it becomes possible to see significant distribution bias in the watermark content data when the repeating number of embedding digital watermark data is small.
In the following, the present invention corresponding to the third object will be described in detail.
First, the operation of the digitalwatermark reading apparatus106 will be described.FIG. 33 is a diagram for explaining the operation. As shown inFIG. 33, the process according to the present invention corresponds to the process shown inFIG. 5 in which steps240-250 are improved.
As shown inFIG. 33, in the digitalwatermark reading apparatus106, when reading digital watermark,
for all i
by using frequency coefficient quantization width q[0],q[1], . . . ,q[m−1]. Here,
Y=i mod t,
The function weight will be described later.
In the process for reconstituting digital watermark data by performing statistical processing on a digital watermark data sequence, for example,
is used for the reconstitution.
Thirteenth Embodiment In the following, a thirteenth embodiment of the present invention will be described. In the following example, the digital watermark reading process based on quantization in the digitalwatermark reading apparatus106 will be described.
According to the thirteenth embodiment of the present invention, the digital watermark embedding process is not changed from the conventional method. On the other hand, the digital watermark reading process is modified in order to improve digital watermark reading performance.
Here, let digital watermark data to be embedded in contents be w0, w1, . . . , wn−1, wiε{−1, 1}, 0≦i≦n−1, and let a data set in which digital watermark data is embedded be {d0,0, d0,1, . . . , d0,m−1, d1,0, d1,1, . . . , d1,m−1, . . . , dn−1,1. . . , dn−1,m−1}. Let a quantization value used for quantize data di,j(0≦i≦n−1, 0≦j≦m−1) be qi,j. Each bit data Wiof digital watermark data is embedded m times repeatedly. The digital watermark embedding process based on quantization is assumed to be a process in the following.
For all i and j (0≦i≦n−1, 0≦j≦m−1)
i) If
is equal to wi, di,jis changed to
ii) If
is different from wiand
is equal to
di,jis changed to
iii) If
is different from wiand
is different from
di,jis changed to
Here, └x┘ is a maximum number which does not exceed x. “x mod y” represents the remainder of x divided by y.
The present invention is not only applicable to the contents in which digital watermark data is embedded in the above-mentioned way but also applicable to other contents in which digital watermark data is embedded in other equivalent way.
In the following, the operation of the digitalwatermark reading apparatus106 will be described in detail.
According to a following process, a watermark sequence {{tilde over (w)}0,0, {tilde over (w)}0,1, . . . , {tilde over (w)}0,m−1, {tilde over (w)}1,0, {tilde over (w)}1,1, . . . , {tilde over (w)}1,m−1, . . . , {tilde over (w)}n−1,0, {tilde over (w)}n−1,1, . . . , {tilde over (w)}n−1,m−1} is read from a set of data values {{tilde over (d)}0,0, {tilde over (d)}0,1, . . . , {tilde over (d)}0,m−1, {tilde over (d)}1,0, {tilde over (d)}1,1, . . . , {tilde over (d)}1,m−1, . . . , {tilde over (d)}n−1,0, {tilde over (d)}n−1,1, . . . , {tilde over (d)}n−1,m−1} of the watermarkeddigital data contents105 in which digital watermark data is embedded.
For all i and j (0≦i≦n−1, 0≦j≦m−1)
and
Here, weight(x) (the domain is
and the range is equal to or more than 0. The function weight(x) will be called a weight function hereinafter) is a function which assigns weights to a read watermark sequence. By adopting a function which takes a large value in the vicinity of the central value (in the vicinity of the dotted vertical axis inFIG. 30) and takes a small value in the vicinity of the boundary of the bit value (in the dotted circle inFIG. 30), it becomes possible to separate effective watermark data sequence from noise.
Of course, it is possible to adopt a stretched weight(x) function in which the domain and the region is not limited. However, in the case, it is necessary to change the above mentioned formula to some extent.
Contents in which digital watermark data is embedded by digital watermark embedding processing is degraded due to data compression, media processing and the like. Thus, a watermark embedded data value {tilde over (d)}i,jdeviates in some degree from a value di,jof immediately after being embedded. Therefore, it is desirable to adopt a following function as the weight function. The function can be obtained such that the distribution of the ratio
of the amount of the deviation between di,jand {tilde over (d)}i,jto the quantization value qi,jis predicted, and it is normalized with an appropriate scale for approximation. (There is no condition for the scale.)
For example, when assuming that digital watermark data is read from watermarked motion pictures which are MPEG compressed, the distribution shown inFIG. 30 can be approximated by a Laplacian distribution. Thus, a Laplacian distribution ofaverage 0 and variance 0.08 or a normal distribution ofaverage 0 andvariance 1/16 can be used effectively as the weighting function.
In addition, there is another method which uses another distribution function. The distribution function is formed so as to predict the error of the watermarked content data.
The digitalwatermark reading apparatus106 reconstitutes and outputs digital watermark data {tilde over (w)}0, {tilde over (w)}1, . . . , {tilde over (w)}n−1from read watermark sequence by applying, for example,
or Japanese patent-application No. 10-219236, “Embedding data coding method, the apparatus, computer readable medium storing embedding data coding program, read data decoding method, the apparatus, computer readable medium storing read data decoding program, digital watermark data coding method, the apparatus, computer readable medium storing digital watermark coding program, digital watermark decoding method, the apparatus, computer readable medium storing digital watermark decoding program”.
In addition, the above-mentioned process performed by the digitalwatermark reading apparatus106 can be constructed by a program which can be stored in a computer readable medium such as a disk unit, a floppy disk, CD-ROM and the like. That is, by installing the program in a computer such as one shown inFIG. 17, the processes of watermark reading of the present invention can be carried out. In addition, the digital watermark reading apparatus of the present invention can be realized by the integrated circuit shown inFIG. 18.
Experiments is performed in order to compare the method of the present invention and the conventional method of digital watermarking to motion pictures described in Japanese patent application No. 9-164466.
As experimental conditions, a unit for digital watermark processing is assumed to be a 16×16 pixel and the conventional digital watermark data sequence reading is assumed to be {tilde over (w)}i,j=(ni,jmod 2)×2−1 on the basis of the assumptions of the above-mentioned embodiment. Watermark data is reconstituted as {tilde over (w)}0, w1, . . . ,wn−1for both of the present invention and the conventional method.
As shown inFIG. 34, it is recognized that digital watermark-data reading success rate is improved in an MPEG-1 coded picture in any bit rates. The result shows the effectiveness of the present invention. Here, the digital watermark data reading success rate is obtained by dividing the number of correctly reconstituted digital watermark data by the total number of embedded digital watermark data.
According to the present invention, the digital watermark data sequence is separated from the noise so that error bits which are included in the digital watermark data sequence can be reduced, thereby the digital watermark data reading success rate is improved in comparison with the conventional method.
In addition, since weights are assigned to the digital watermark data sequence, the present invention is especially effective when the repeating number of watermark embedding is small.
The point of the present invention corresponding to the third objective is applying soft decisions for the digital watermark reading process as opposed to the conventional method which uses hard decisions. The present invention is not limited to the above-mentioned process and can apply to other equivalent digital watermarking method.
In the above-mentioned embodiments corresponding to first-third objects, embodiments corresponding to each object can be performed with embodiments corresponding to other objects.
The present invention is not limited to the specifically disclosed embodiments, and variations and modifications may be made without departing from the scope of the invention.