The invention relates to a method and arrangement for embedding auxiliary data in an information signal, for example, a video signal, an audio signal, or, more generally, multimedia content. The invention also relates to a method and arrangement for detecting said auxiliary data.
A known method of embedding auxiliary data is disclosed in U.S. Pat. No. 5,748,783. In this prior art method, an N-bit code is embedded through the addition of a low amplitude watermark which has the look of pure noise. Each bit of the code is associated with an individual watermark which has a dimension and extent equal to the original signal (e.g. both are a 512×512 digital image). A code bit “1” is represented by adding the respective watermark to the signal. A code bit “0” is represented by refraining from adding the respective watermark to the signal or, alternatively, by subtracting it from the signal. The N-bit code is thus represented by the sum of up to N different watermark (noise) patterns.
When an image (or part of an image) in, say an issue of a magazine, is suspected of being an illegal copy of an original image, the original image is subtracted from the suspect image and the N individual watermark patterns are cross-correlated with the difference image. Depending on the amount of correlation between the difference image and each individual watermark pattern, the respective bit is assigned either a “0” or a “1” and the N-bit code is retrieved.
A drawback of the prior method is that N different watermark patterns are to be added at the encoding end, and N watermark patterns are to be individually detected at the decoding end.
It is an object of the invention to provide a method and arrangement for embedding and detecting a watermark which overcomes the drawbacks of the prior art.
To this end, the invention provides a method of embedding auxiliary data in an information signal, comprising the steps of: shifting one or more predetermined watermark patterns one or more times over a vector, the respective vector(s) being indicative of said auxiliary data; and embedding said shifted watermark(s) in said information signal. The corresponding method of detecting auxiliary data in an information signal comprises the steps of: detecting one or more embedded watermarks; determining a vector by which each detected watermark is shifted with respect to a predetermined watermark; and retrieving said auxiliary data from said vector(s). Preferred embodiments of the invention are defined in the subclaims.
The invention allows multi-bit codes to be accommodated in a single watermark pattern or only a few different watermarks patterns. This is important for watermark detection in home equipment such as video and audio players and recorders because the watermark patterns to be detected must be stored in said equipment. The invention exploits the insight that detection methods are available which not only detect whether or not a given watermark is embedded in a signal but also provide, without additional computational effort, the relative positions of pluralities of said watermark. This is a significant advantage because the number of bits that can be embedded in information content is always a trade-off between robustness, visibility and detection speed in practice. The invention thus allows real-time detection with moderate hardware requirements.
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 Wi 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)}conj(ŵ)
where the symbol {circle around (x)} 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 evaluation circuit 29 (
A multi-bit code can be embedded in a single shifted watermark pattern (e.g. the pattern W2′ shown in
A mathematical analysis of the number of bits that can be embedded will now be given. More generally, we will assume that we have n basic watermark tiles W1 . . . Wn, all of the same fixed size M×M, and mutually uncorrelated. M is of the form M=2m for an integer m. Typically, we have M=128=27. Practically feasible numbers of different basic patterns to be applied are presently small: we may for instance think of n=4 or n=8. The exact location of a peak is only accurate up to a few pixels. Therefore, to embed information in relative shifts of peaks, we use a courser grid for allowed translations of basic watermark patterns. We will consider grids of size G×G, where G=2g for an integer g smaller than m. The grid spacing is h=M/G.
We will first consider the number of bits that can be embedded in n different basic watermark patterns (W1 . . . Wn), the peak of one of which (say W1) is used to provide a reference position. In this case, we embed the information in the relative positions of W2 . . . Wn with respect to W1. For each of these patterns W2 . . . Wn, we have G2 possible shifts (i.e. 2g bits). The information content which can be embedded in the relative shifts of n watermark patterns on a G×G grid equals 2g(n−1) bits. The following table I shows these numbers of bits for various grid sizes and numbers of basic patterns. In this table, we assume that the watermark patterns are of size 128×128.
A grid spacing h of 4 pixels seems to be a feasible choice given the current precision of peak detection. When scalings have to be taken into account, perhaps larger spacings are required. The number of watermarks that can be applied may be as high as 4 or even 6 when it comes to visibility. Robustness need not always be a big issue with, say 4 basic patterns, but detection complexity still is. It is therefore of interest to investigate the situation where we use different shifts of just one basic pattern.
We will also consider the number of bits that can be embedded in n translated versions of only one basic pattern Wi. This has the advantage that we only need to apply one pattern to the detector to determine n correlation peaks. It reduces the complexity of detection by a factor n, when compared to the situation where n different patterns are being used. We will see that this is at the expense of some information content, but that reduction factor is considerably less than that in detection time. There are two important differences when we compare using n shifts of the same watermark with using n different watermarks:
To determine the exact information content, we need to count all possible different patterns up to cyclic shifts. The inventors have carried out these calculations. The result is listed in the following table II.
The methods described above can be combined in several ways. For instance, one can use multiple shifted versions of different patterns, or one can use sign information in combination with shifts, etc.
Thus, the invention is based on the invariance properties of a watermark method that is based on embedding n basic watermark patterns. The detection method in the Fourier domain enables the watermark to be found in shifted or cropped versions of an image. The exact shift of a watermark pattern is represented by a correlation peak, obtained after inverting the Fast Fourier Transform. The invention exploits the insight that, since the exact shift of the watermark is detected, this shift can be used to embed information. The invention allows watermark detection to be used, in a cost-effective manner, for embedding multi-bit information rather than merely deciding whether an image or video is watermarked or not.
In summary, a method is disclosed for embedding auxiliary data in a signal. The data is encoded into the relative position or phase of one or more basic watermark patterns. This allows multi-bit data to be embedded by using only one or a few distinct watermark patterns.
Number | Date | Country | Kind |
---|---|---|---|
98200656 | Mar 1998 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB99/00348 | 3/2/1999 | WO | 00 | 11/4/1999 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO99/45705 | 9/10/1999 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5689587 | Bender et al. | Nov 1997 | A |
6185312 | Nakamura et al. | Feb 2001 | B1 |
6233347 | Chen et al. | May 2001 | B1 |
6427012 | Petrovic | Jul 2002 | B1 |
6442283 | Tewfik et al. | Aug 2002 | B1 |
6553127 | Kurowski | Apr 2003 | B1 |