The invention relates to a method of detecting a watermark in an information signal that has possibly been watermarked by modifying values of said information signal in accordance with (temporally or spatially) corresponding values of a watermark pattern. The invention also relates to an arrangement for detecting a watermark.
A prior art method as defined in the opening paragraph is disclosed in International Patent Application WO-A-98/03014. The watermark is detected by computing the correlation of the suspect information signal with an applied watermark pattern, and comparing the correlation with a predetermined threshold. If the correlation is larger than the threshold, the watermark is said to be present, otherwise it is said to be absent. The larger the correlation is, the more reliable the detection is and the more processing is allowed until the watermark can not be detected anymore. As disclosed in WO-A-98/03014, the information signal and/or the watermark pattern may be subjected to matched filtering before the correlation is computed. The reliability of the watermark detection is drastically improved thereby.
A problem of the prior art watermark detection method is that the (temporal or spatial) position of the watermark pattern with respect to the information signal is not absolutely known. If the position of the watermark applied to the detector differs from the location during embedding, the correlation will be small and the watermark can erroneously detected to be absent.
It is an object of the invention to further improve the method of detecting a watermark.
This is achieved by the method defined in claim 1 and the arrangement defined in claim 6. Advantageous embodiments are defined in the subclaims.
The invention exploits the insight that the correlation of the information signal and the applied watermark for a number of possible positions of the watermark is best computed in the Fourier domain, and that the robustness and reliability of detection can be improved by applying Symmetrical Phase Only Matched Filtering (SPOMF) to the information signal and the watermark before correlation. SPOMF, which is known per se in the field of pattern recognition, postulates that most of the relevant information needed for correlation detection is carried by the phase of Fourier coefficients. In accordance herewith, the magnitudes of the complex Fourier coefficients are normalized to have substantially the same magnitudes.
Although the adjective “symmetrical” in the expression SPOMF refers to filtering both the information signal and the watermark, the inventors have found that normalizing the Fourier transformed information signal contributes most to the improvement of the correlation detection. Also normalizing the magnitudes of the Fourier transformed watermark constitutes an embodiment of the invention.
The step of normalizing the magnitude of complex Fourier coefficients includes dividing each Fourier coefficient by its absolute value. However, the inventors have found that the detection strength does not decrease significantly if each coefficient is divided by its real or imaginary part, depending on which is the largest. This yields a courser approximation for the normalization (the magnitudes will vary between 1 and {square root}{square root over (2)}), but reduces the number of calculations considerably.
For the sake of convenience, the watermarking scheme in accordance with the invention will be described as a system for attaching invisible labels to video contents but the teachings can obviously be applied to any other contents, including audio and multimedia. We will hereinafter often refer to this method as JAWS (Just Another Watermarking System).
To avoid that the watermark detection process needs to search the watermark W over the large N1×N2 space, the watermark is generated by repeating, and if necessary truncating, smaller units called “tiles” W(K) over the extent of the image. This “tiling” operation (15) is illustrated in
Then, a local depth map or visibility mask λ(P) is computed (16). At each pixel position, λ(P) provides a measure for the visibility of additive noise. The map λ(P) is constructed to have an average value equal to 1. The extended sequence W(K) is subsequently modulated (17) with λ(P), i.e. the value of the tiled watermark W(K) at each position is multiplied by the visibility value of λ(P) at that position. The resulting noise sequence W(K,P) is therefore dependent on both the key K and the image content of P. We refer to W(K,P) as an adaptive watermark as it adapts to the image P.
Finally, the strength of the final watermark is determined by a global depth parameter d which provides a global scaling (18) of W(K,P). A large value of d corresponds to a robust but possibly visible watermark. A small value corresponds to an almost imperceptible but weak watermark. The actual choice of d will be a compromise between the robustness and perceptibility requirements. The watermarked image Q is obtained by adding (12) W=d×W(K,P) to P, rounding to integer pixel values and clipping to the allowed pixel value range.
In order to embed the multi-bit code K in the watermark W, every tile W(K) is built up from a limited set of uncorrelated basic or primitive tiles {W1 . . . Wn} and shifted versions thereof, in accordance with
where “shift(Wi,ki
The next step in the detection process is to assert the presence in buffer q of a particular noise pattern. To detect whether or not the buffer q includes a particular watermark pattern W, the buffer contents and said watermark pattern are subjected to correlation. Computing the correlation of a suspect information signal q with a watermark pattern w comprises computing the inner product d=<q,w> of the information signal values and the corresponding values of the watermark pattern. For a one-dimensional information signal q={qn} and watermark pattern w={wn}, this can be written in mathematical notation as:
For the two-dimensional M×M image q={qij} and watermark pattern W={wij}, the inner product is:
In principle, the vector ki by which a tile Wi has been shifted can be found by successively applying Wi with different vectors k to the detector, and determining for which k the correlation is maximal. However, this brute force searching algorithm is time consuming. Moreover, the image Q may have undergone various forms of processing (such as translation or cropping) prior to the watermark detection, so that the detector does not know the spatial location of the basic watermark pattern W1 with respect to the image Q.
Instead of brute force searching JAWS exploits the structure of the patterns W(K). The buffer q is examined for the presence of these primitive patterns, their signs and shifts. The correlation dk of an image q and a primitive pattern w being shifted by a vector k (kx pixels horizontally and ky pixels vertically is:
The correlation values dk for all possible shift vectors k of a basic pattern Wi are simultaneously computed using the Fast Fourier transform. As shown in
{circumflex over (q)}=FFT(q) and
ŵ=FFT(w),
where {circumflex over (q)} and ŵ are sets of complex numbers.
Computing the correlation is similar to computing the convolution of q and the conjugate of Wi. In the transform domain, this corresponds to:
{circumflex over (d)}={circumflex over (q)}{circle over (×)}conj(ŵ)
where the symbol {circle over (×)} denotes pointwise multiplication and conj( ) denotes inverting the sign of the imaginary part of the argument. In
d=IFFT({circumflex over (d)})
which is carried out in
The embedded information may identify, for example, the copy-right holder or a description of the content. In DVD copy-protection, it allows material to be labeled as ‘copy once’, ‘never copy’, ‘no restriction’, ‘copy no more’, etc.
The Fourier coefficients {circumflex over (d)} are complex numbers, that is, they have a real part and an imaginary part, or a magnitude and a phase. The inventors have found that the reliability of the detector is significantly improved if the magnitude information is thrown away and the phase is considered only.
{circumflex over (d)}:={circumflex over (d)}Φabs({circumflex over (d)}) (1)
where Φ denotes pointwise division and abs( ) denotes:
abs({circumflex over (d)}k)={square root}{square root over (R({circumflex over (d)})}k)2+I({circumflex over (d)}k)2 (2)
where R( ) and I( ) denote the real and imaginary part of the argument, respectively.
Said normalization of magnitudes is referred to as Symmetrical Phase Only Matched Filtering (SPOMF).
Because normalizing the magnitudes of {circumflex over (d)} is equivalent to normalizing the magnitudes of both {circumflex over (q)} and ŵ, the normalization circuit 30 in
It should further be noted that the FFT and the conjugation of the applied watermark Wi (c.f. circuits 25 and 26, respectively, in
The inventors have further found that the detection strength does not decrease significantly if a more course approximation for the normalization is used. Instead of dividing each Fourier coefficient by its magnitude as defined by equations (1) and (2), it suffices to divide each coefficient by its real or imaginary part, depending on which is the largest. The magnitudes will then vary between 1 and {square root}{square root over (2)}, the detection strength decreasing by 1% only. The advantage is saving of computational complexity, because the square root in equation (2) needs not be calculated. In such an embodiment, the normalization circuit 30 performs the following algorithm:
if R({circumflex over (d)}k)≧I({circumflex over (d)}k)
then {circumflex over (d)}k:={circumflex over (d)}k/R({circumflex over (d)}k)
else {circumflex over (d)}k:{circumflex over (d)}k/I({circumflex over (d)}k)
where {circumflex over (d)}k is a complex Fourier coefficient of {circumflex over (d)} (or {circumflex over (q)} or ŵ as the case may be), R({circumflex over (d)}k) and I({circumflex over (d)}k) are the real and imaginary part of {circumflex over (d)}k, respectively, and / denotes division.
A further reduction of complexity can be obtained if the normalization includes divisions by only powers of 2. The magnitudes will then vary between 1 and 2{square root}{square root over (2)}, the detection strength decreasing by 2.5%. Division by powers of 2 is particularly efficient in most common floating point number systems in which the real and imaginary parts of complex coefficients are represented as:
sign·mantissa·2exp
where mantissa is a fixed point representation of a number between 1 and 2. The above normalization can now be simplified as follows:
if exp(R({circumflex over (d)}k))≧exp(I({circumflex over (d)}k))
then divider:=exp(R({circumflex over (d)}k))
else divider:=exp (I({circumflex over (d)}k))
exp(R({circumflex over (d)}k)):=exp(R({circumflex over (d)}k))−divider
exp(I({circumflex over (d)}k)):=exp(I({circumflex over (d)}k))−divider
In summary, an improved method and arrangement for detecting a watermark in an information (e.g. image or video) signal are disclosed. The detection is more reliable and less vulnerable to image processing by subjecting the suspect image (q) and the watermark to be detected (Wi) to Symmetrical Phase Only Matched Filtering (24-28,30) prior to detecting (29) the amount of correlation (d) between said signals.
Number | Date | Country | Kind |
---|---|---|---|
98200656.1 | Mar 1998 | EP | regional |
Number | Date | Country | |
---|---|---|---|
Parent | 09423277 | Nov 1999 | US |
Child | 10990633 | Nov 2004 | US |
Parent | 10291009 | Nov 2002 | US |
Child | 10990633 | Nov 2004 | US |