The present invention relates to a method of watermarking a video signal, a corresponding system, and a computer readable data medium for storing a signal watermarked by this method. It also relates to a method of extracting the watermarking from a video signal and a system for implementing this method.
To be more precise, the invention relates to a method of watermarking a video signal by applying a watermarking function to motion vectors calculated by motion estimation between images of the video signal, the method being of the type comprising the following steps:
A method of the above kind is described in the paper by F. Jordan, M. Kutter, and T. Ebrahimi, “Proposal of a watermarking technique for hiding/retrieving data in compressed and decompressed video”, ISO/IEC document JTC1/SC29/WG11/MPEG97/M2281, of July 1997. In that document, the watermarking function is applied with the aid of a marking key. This is a binary word of 16 or 32 bits inserted into the motion vectors of the video signal, which motion vectors are obtained with the aid of an MPEG4 encoder. The number of motion vectors selected is the same as the number of bits in the marking key, i.e. 16 or 32 motion vectors are selected. Then, for each of the vectors selected, the corresponding bit of the marking key is inserted into one of the components of the motion vector, for example the vertical component, modifying its parity.
Unfortunately, that solution is not very robust, since the slightest attack can transform an even ordinate into an odd ordinate and vice-versa. Here, the term “attack” means malicious attacks and also non-malicious attacks such as compression or changing the spatial or the temporal format of the video signal. Moreover, by always modifying the same predetermined component of the selected motion vectors, for example the vertical component, that solution runs the risk of making the watermarking more visible in the video signal.
The invention aims to remedy those drawbacks by providing a robust method of watermarking a video signal that improves watermarking performance in terms of invisibility and in which the watermarking is carried by the motion vectors.
To this end, the invention consists in a method of the above-specified type for watermarking a video signal, wherein, in order to apply the watermarking function, the method further comprises the following steps:
With this approach, greater diversity in the modification of the selected motion vectors can be envisaged, which improves the quality of the watermarking in terms of invisibility. Robustness is also improved since the watermarking leads to modifying the components of the selected motion vectors by a geometrical transformation and not solely by a change of parity.
A method of the invention may further comprise the feature whereby the reference partition is a reference grid comprising blocks with predefined dimensions, each block comprising a first zone and a second zone.
A watermarking method of the invention optionally includes the following steps:
The hierarchical approach of this method effectively increases the robustness of watermarking by judiciously spreading the marking key over a plurality of motion vectors, starting from a single selected motion vector.
A method of the invention for watermarking a video signal may further comprise one or more of the following features:
The invention also consists in a video signal watermarking device including means for implementing a method as described above.
The invention further consists in a computer readable data medium including means for storing a video signal watermarked with the aid of a method as described above.
The invention further consists in a method of extracting watermarking from a video signal watermarked by applying a method as described above, which extraction method comprises applying a function for extracting the binary marking key, and consisting in:
A method of extracting the watermarking from a video signal may further comprise, for each motion vector of the highest level selected on applying the watermarking method, the following steps:
Finally, the invention further consists in a device for extracting the watermarking from a video signal, which device includes means for implementing a watermarking extraction method as described above.
The invention will be better understood on reading the following description, which is given by way of example only and with reference to the accompanying drawings, in which:
The watermarking method shown in
The watermarking method includes a first step 10 of motion estimation.
During this step, a source video signal S is fed to the input of the microcomputer and a matrix 12 of motion vectors is associated with any image of the video signal S in the conventional way. This matrix of motion vectors is used to generate a prediction of the image concerned, for example starting with the preceding image of the video signal, by moving blocks of pixels thereof as a function of the calculated motion vectors.
The motion vectors are calculated by applying a block matching method, for example. For each block of pixels of the image concerned, this method consists in evaluating the best motion vector for reconstructing the current block from a block of the same size in the preceding image displaced with the aid of the motion vector. To this end, a search is conducted around the current block in the preceding image in order to determine the motion vector that minimizes a standard Displaced Frame Difference (DFD) cost function, representing the difference between the displaced preceding image and the current block in the image concerned.
The matrix 12 of motion vectors represented in this figure includes thirty-six motion vectors denoted {right arrow over (V)}i,j, with 1≦i≦9 and 1≦j≦4. Of course, the number of motion vectors is generally greater. Only thirty-six are shown to simplify the remainder of the description.
Then, during a step 14, a higher level of motion vectors 16 is calculated. At this higher level, each motion vector is associated with four motion vectors of the lower level 12. In fact, the blocks corresponding to each motion vector of the lower level 12 are grouped four at a time into macroblocks. The higher level therefore includes nine vectors denoted {right arrow over (V1)} to {right arrow over (V9)}. Each motion vector {right arrow over (Vi)} of the higher level is representative of a macroblock and is calculated in the following manner:
Step 14 could be iterated several times, which would create a hierarchy of motion vector levels. This example is limited to one iteration, that is to say to two levels of motion vectors.
Then, during a step 18, a set 20 of motion vectors is selected from the motion vector 16 of the higher level in a deterministic manner or in a pseudorandom manner on the basis of a secret key or on the basis of a mask. In this example, the set 20 of selected motion vectors comprises the vectors {right arrow over (V6)}, {right arrow over (V5)}, {right arrow over (V2)}, and {right arrow over (V9)}.
During the watermarking step 22 that follows, the selected vectors 20 are modified by applying a watermarking function to them with the aid of a marking key W. The number of motion vectors 20 selected is directly related to the size of the marking key W. In this example, W is a binary word comprising four bits, which is why four motion vectors were selected in step 18.
Accordingly, during step 22, the parameters of the watermarking function are set to insert the first bit of the marking key W into the motion vector {right arrow over (V6)}, the second bit into the motion vector {right arrow over (V5)}, the third bit into the motion vector {right arrow over (V2)}, and the fourth bit into the motion vector {right arrow over (V9)}.
The chosen watermarking function is described in more detail with reference to
f({right arrow over (Vi)})={right arrow over (Vi)}+{right arrow over (δVi)}
in which {right arrow over (δVi )} is a parameter depending on the chosen watermarking function and on the ith bit of the marking key W to be inserted.
After this step 22, four new motion vectors {right arrow over (V′6)}, {right arrow over (V′5)}, {right arrow over (V′2)} and {right arrow over (V′9)} 24 are obtained. As indicated above, these vectors satisfy the following equations:
During the next step 25, the watermarking function is applied to the motion vectors of the lower level that are associated with the selected vectors 20, using the parameters {right arrow over (δVi )} calculated during the preceding step. For example, the transformation {right arrow over (δV6 )} applied to the motion vector {right arrow over (V6 )} is also applied to the corresponding vectors of the lower level, i.e. to the vectors {right arrow over (V6,1)}, {right arrow over (V6,2)}, {right arrow over (V6,3)}, {right arrow over (V6,4)}. Thus sixteen new motion vectors 26 are obtained at the lower level, satisfying the following equation:
∀i∈{6;5;2;9}, ∀j∈{1,2,3,4,}{right arrow over (V′i,j)}={right arrow over (δVi)}
These sixteen new motion vectors replace the corresponding original vectors to furnish a new matrix 28 of motion vectors. The new matrix 28 is used to obtain a watermarked version S′ of the video signal S.
In fact, during a last step 30, movement compensation is applied with the aid of this motion vector matrix 28, based on the image that was used as a reference for motion estimation during step 10, i.e. the image preceding the image concerned.
Two methods can be envisaged for this step.
A first method consists in compensating movement with the aid of all of the motion vectors of the matrix 28 to obtain a watermarked version of the image concerned.
A second method consists in compensating movement only for the blocks corresponding to the motion vectors modified by the watermarking operation, leaving the other blocks of the image concerned unchanged, in order to improve image quality.
The steps 10 to 30 described above can be iterated over several images of the video signal S. The redundancy obtained in this way increases the robustness of the watermarking.
Watermarking redundancy can also be obtained by associating each bit of the marking key W with a plurality of selected motion vectors of the higher level.
A watermarking method like that described above cannot be used in a encoding/decoding system. However, the modifications to be made to it so that it can be used in a encoding/decoding system, using motion analysis, will be evident to the person skilled in the art. In fact, video coding methods, such as methods using the MPEG2 standard or the MPEG4 standard, generate matrices of motion vectors to which the above-described method can be applied when encoding the video signal.
It will be noted that step 14 is optional. Without applying this step, the selected motion vectors are the lower level motion vectors, and the less extensive spreading of the watermarking in the image can be compensated by selecting a plurality of motion vectors for each bit of the marking key. However, this has the effect of limiting the performance of the watermarking in terms of invisibility. In fact, one benefit of the hierarchical approach is applying the same deformation to adjoining motion vectors at the lower level.
In one particular embodiment of the invention, the insertion of the marking key into the video signal S can be distributed over a plurality of pairs of images. In other words, in this case, only a portion of the marking key W is inserted into the selected motion vectors of a matrix of motion vectors calculated between two successive images, after which the remainder of the marking key is inserted over one or more matrices of motion vectors calculated between other pairs of successive images of the video signal S.
The watermarking function applied to the selected motion vectors 20 is described next with reference to
Application of the watermarking function uses a reference grid that is shown in
A centered sub-block 42 with smaller dimensions is defined inside each block. In this example, the sub-block 42 has the dimensions K1=H1=five pixels.
Two zones Z0 and Z1 are therefore defined within each block of the reference grid, the first zone Z0 lying between the sub-block 42 and the block 40 and the zone Z1 being the interior zone of the sub-block 42. The dimensions K0, H0, K1and H1 are preferably chosen so that zones Z0 and Z1 have substantially the same area. In this example, the total area of each block 40 is 49 pixels, the area of zone Z1 is 25 pixels and the area of zone Z0 is 24 pixels.
Let {right arrow over (V)}(Vx,Vy) be a motion vector selected for applying the watermarking function with the aid of the marking key W. To be more precise, applying the watermarking function to the vector {right arrow over (V)} consists in transforming the latter so that it carries information for determining the value of one of the bits of the marking key, for example the ith bit Wi. The resulting vector is denoted {right arrow over (V′)}(V′x, V′y).
The watermarking function is defined by applying the following rules:
The vertex closest to V is determined, here the point A, and then weighted central symmetry with respect to the center A is applied to displace the point V to V′ in zone Z0. Of course, the weighting parameter is calculated so that V′ is always in zone Z0. For example, given the dimensions of the blocks 40 and 42, the weighted central symmetry is defined here by the following equation:
If Wi=1 and V is in zone Z0, then V′ is obtained by applying weighted axial symmetry whose axis is the side of the sub-block 42 nearest the point V, if that transformation yields a point V′ in zone Z1. This is the situation shown in
In this case, if H denotes the projection of V onto the axis concerned, and with the dimensions chosen for this example, the weighted axial symmetry is defined by the following equation:
In the other situations represented in
defines the weighted central symmetry. This situation arises when the point V is in the vicinity of one vertex of the block 40.
It is possible to detect and extract the mark inserted into a video signal using the watermarking method described above.
The mark detection and extraction method comprises applying a function for extracting the binary marking key W, and consisting in:
To be more precise, if step 14 has been executed during the watermarking of the video signal, for each motion vector 20 of the highest level 16 selected during applying the watermarking method:
This extraction method can extract an estimate {tilde over (W)}=({tilde over (W)}1, {tilde over (W)}2, {tilde over (W)}3, {tilde over (W)}4) of the marking key W=(W1, W2, W3, W4) from a watermarked image of the video signal.
Once the marking key has been extracted, a correlation score is used to determine a+
confidence threshold characterizing the presence or the absence of the marking key in the video signal.
A first correlation rule for estimating whether the marking key is present or not in an image is given by the following formula:
A second correlation rule for estimating the presence of the marking key in a plurality of images I′n of the signal S′ is given by the following recurrent formula:
in which d({tilde over (w)}n,w) is the Hamming distance.
It is clear that a watermarking method of the invention improves the robustness and the performance in terms of invisibility of the existing methods.
In fact, the watermarking function, which aims to place a motion vector in a zone Z1 or Z0 as a function of the value of the bit of the marking key to be inserted, effects watermarking of the video signal that is hardly visible.
Another advantage of a watermarking method of the invention lies in the hierarchical approach described above with respect to step 14 in particular of the above-described method. Spreading the watermarking over a plurality of motion vectors of a lower hierarchical level based on the selection of a corresponding motion vector from a higher hierarchical level reduces the effect of an attack on the watermarking of the video signal, whether malicious or not.
Number | Date | Country | Kind |
---|---|---|---|
02 13660 | Oct 2002 | FR | national |
Number | Name | Date | Kind |
---|---|---|---|
5960081 | Vynne et al. | Sep 1999 | A |
6785332 | Kutter et al. | Aug 2004 | B1 |
6845130 | Han et al. | Jan 2005 | B1 |
20020114488 | Suda | Aug 2002 | A1 |
20020136304 | Akhan et al. | Sep 2002 | A1 |
Number | Date | Country |
---|---|---|
2000165889 | Jun 2000 | JP |
Number | Date | Country | |
---|---|---|---|
20040175017 A1 | Sep 2004 | US |