1. Field of the Invention
The invention relates to a method and system that can be used especially to estimate the unknown geometrical transformations that have occurred in data, for example in an image, or in an audio or video sequence.
It can be applied to correcting the distortions that have occurred in the transmission of images and/or to obtaining information on message-carrying watermarks.
The invention is used for example in watermarking. Indeed, a geometrical transformation in an image most usually makes the watermark illegible. In watermarking a reference pattern in the image it is thus possible to make an estimation, in a watermark reader for example, of the geometrical transformation that has occurred, and then to reverse it before decoding the message-carrying watermark.
2. Description of the Prior Art
Resistance to geometrical transformation is a crucial problem in watermarking. The detection of the watermark is often made impossible when the received message is distorted with respect to the original message.
Modifications of the geometry of the image indeed often occur during the distribution or exploitation of a work. This is the case especially with shearing or scaling which may be related with changes in format.
Analog/digital and digital/analog transformations may introduce a distortion in the image or they may introduce line “jitter” in a video sequence.
There are also highly effective, ill-intentioned attacks, such as the Stirmark attack described in 1988 by F. Petitcolas et al in “Attacks on copyright marking systems”, Proceedings of 2nd Information Hiding Workshop. This attack was designed to prevent the accurate detection of watermarks.
Different methods designed to counter the harmful effect of geometrical modifications have therefore been developed. They can be classified under five categories:
1) The Watermarking of a Reference Pattern Known at Transmission and at Reception
A simple method that uses a reference pattern is described in the patent FR 2.792.797. In this invention, a reference pattern known as a co-watermark is added to the image. At reception, the search for maximum self-correlation between the received image and the reference pattern makes it possible to determine the original coordinates of the initial image. This method is resistant to shifting, shearing and translation undergone by the image, i.e. to the global distortions of the image. The method becomes inefficient when the geometrical transformation is more complicated, for example when the transformation is a rotation, a scaling or zooming, a carpet distortion, etc.
S. Pereira and T. Pun in “Fast Robust template Matching for Affine Resistant Image Watermarking”, Proceedings of International Workshop on Information, have proposed a more general co-watermarking method to resist affine transformations of the image. However, this method is limited and can be used to readjust the image only for affine geometrical transformations.
Another method proposed by S. Voloshynovskiy, F. Deguillaume, T. Pun in “Multibit Digital Watermarking Robust Against Non-linear Geometrical Transformations”, Proceedings of ICIP 01, is used to resist more complex global and/or local transformation. A reference pattern is watermarked orthogonally to the message which, for its part, consists of a symmetrical and periodic pattern. The decoding of the watermark and the estimation of the transformation are done in conjunction.
Two watermarks are inserted: the message-carrying watermark w1 and a reference watermark w2 (co-watermark). The message-carrying watermark consists of a block sized Kx, Ky symmetrized and periodized so as to obtain a block having the size of the image. The estimation is made in the Fourier domain: the fact that w1 is periodic implies the presence of the evenly spaced out peaks in the Fourier domain. For each block of the image, it is considered that the local distortion may be approximated by an affine geometrical transformation (a combination of rotation, non-uniform scaling and translation). During decoding, for each block, a search is made for the affine transformation that minimizes the distance between the reference watermark and the distorted image, provided that this transformation is plausible (for example cases of excessive stretching are eliminated). This method is efficient for readjusting the watermarks but is complex because it calls for an exhaustive search for parameters for each block of the image. Furthermore, it is based on an approximation (a non-linear local transformation cannot be reduced to a succession of affine transformations) and does not take account of the correlations existing between estimated parameters for neighboring blocks.
2) Watermarking in an Invariant Space by Geometrical Transformation
O'Ruanaidh and T. Pun in “Rotation, scale and translation invariant spread spectrum digital image watermarking”, Signal Processing, Vol. 66 No. 3, p 303–317, propose that the watermarking should be performed in an invariant space by rotation, translation, scaling, to overcome the effects of any geometrical transformation that may be performed on the image. This result is obtained by taking advantage of the properties of the Fourier-Mellin transform. The advantage of this method is that it enables resistance to geometrical transformations without the need for any preliminary synchronization. Its drawback is that the invariant properties are no longer respected when the circular translation is replaced by a shearing of the image. Furthermore, this method is complex and costly in terms of computation and may raise problems of digital computation. Again, the density of the information embedded in the image varies greatly
3) Watermarking in a Referential System Related to the Image
In another approach, a reference system linked to the image is chosen in order to embed the watermark and detect it. When the geometry of the image is distorted, the referential system will be modified in the same way, and it will then be possible to recover the mark without any need for an external synchronization.
The method described by P. Bas, J. M Chassery and B. Macq, “Robust Watermarking based on the warping of predefined triangular patterns” Proceedings of SPIE—January 2000, uses a local system of reference coordinates linked to a set of regions characteristic of the image. These regions may be defined in particular by points of interest, such as those obtained by a Harris detector described in C. Harris and M. Stephen, “A combined corner and edge detector”, 4 Alvey Vision Conf, p.147–151,1988.
4) The Redundant Insertion of Watermarking in the Image.
5) The Exhaustive Search for All the Possible Transformations.
The idea of the invention consists especially in estimating local distortions or distortions considered to be local, introduced into the data, such as images, audio, video etc., where the estimation may be done globally or locally.
The invention therefore relates to a method for the determining, in a watermark reader, of local geometrical variations that have occurred in data, the data comprising a reference pattern X, wherein the method comprises at least the following steps:
The device is, for example, a watermark decoding receiver.
The method makes a global or local estimation, for example of the local geometrical variations.
The local distortion model may be, for example, a Markov model.
The data may be of the audio, video or image type.
According to one alternative embodiment, the method comprises a step in which the estimated data on local distortions are used to deduce a piece of information on the watermark and/or to correct the data.
The invention also relates to a device for estimating the local geometrical variations that have occurred in data, said data comprising a reference pattern X. The device comprises at least one microprocessor adapted to estimating the local geometrical variations that have occurred in the data by using the reference pattern included, a model of local distortion of the data and the distorted data, the local geometrical variations of the distorted data being modeled by means of an index variable J making it possible to place the samples of the distorted data in correspondence with those of the original data.
The local geometrical variations of the data have occurred for example during their transfer or again during their storage.
The microprocessor is adapted, for example, to determining the local geometrical variations for data of the audio, video or image type.
It may also be adapted to correcting the distortions induced in images received by a watermark reader and/or to producing a piece of information on the watermark.
The invention has the following advantages in particular:
Other features and advantages of the invention shall appear more clearly from the following description, given by way of an illustration that in no way restricts the scope of the drawings. Of these drawings:
In order to provide for a clearer understanding of the method according to the invention, the following description is given for a particular type of data carrier, that of still images, it being known that the method can be applied generally to every type of data carrier:
A few definitions and notations using the description are also given:
designates the value of x for which the value of f(x) is the maximum.
Furthermore, in the context of the description, the Markov model is generalized as follows: the data of the index variable J (matrix with the size of the image) characterizes every geometrical transformation in a unique way. However, if a geometrical transformation is to be realistic, that is to say if it is not to distort the image excessively, J takes certain values only. In particular the components of J must be correlated for example. In other words, the values J(x+dx, y+dy) for variations where dx and dy are sufficiently “small” will depend directly on J(x,y), the value taken by the index variable at x,y. For example, J(x+dx, y+dy) will generally be close to J(x, y) for most of the realistic models of transformations. There is a large number of models to express the local correlation between components of J. The simplest model, for 2D data, is that of the Markov fields. In this model, the value J(x,y) depends solely on the values of J in a local neighborhood, namely the values of J(x+dx, y+dy) for small values of dx, dy. For one dimension data, the corresponding model is that of the Markov chains, where J(x+dx) depends solely on the value taken by J(x). It is this model that is used in the method, given by way of an illustration that in no way restricts the scope of the invention, to describe an exemplary embodiment of the method according to the invention.
The Markov model especially has the advantage of being powerful and of being applicable to a large number of distortions. It may be noted that a distinction is made between the homogeneous Markov chains/fields (where the conditional laws of probability are independent of the position of the pixel contained), and the inhomogeneous Markov chains/fields (where the conditional laws vary spatially). However, it may prove to be useful to consider cases where the inter-pixel correlations are extended and more complex. In the description, the expression “correlation model” is used to designate any model of geometrical distortion in which the components of the index variable are locally or globally correlated.
Description of the Synchronization Pattern or Co-Watermarking
The synchronization pattern in the case of the still image is for example a matrix X with the size of the image I.
In a particular embodiment of the invention, the matrix is obtained by simulation of a zero-mean Gaussian law with variance σ2, each element of the matrix being independent of the other elements. The numerical value of σ2 determines the robustness as well as the visibility of the method. The synchronization pattern X is then watermarked in the image I to obtain the marked image Iw.
In a particular embodiment of the invention, the pattern is added to the image as follows: Iw(x,y)=I(x,y)+X(x,y) for all the coordinates (x,y) of the pixels of the image.
In another embodiment of the invention, the pattern is added to the image adaptively in order to augment the robustness while at the same time reducing the visibility: Iw(x,y)=I(x,y)+γ(x,y)*X(x,y); γ(x,y) being a weighting coefficient of the force of the watermarking depending, for example on the local characteristics of the image (variance, texture etc.) in order to obtain improved invisibility.
The synchronization pattern X(x,y) is furthermore known to the apparatus detecting and/or decoding the watermarks. An exemplary co-watermark pattern (synchronization pattern) is given in
Insertion of the Carrier Watermark
The insertion of the message-carrying watermark is done either before the insertion of the synchronization pattern, for example after the steps given in
In
In
Any watermarking technique may be used to introduce the message.
The Watermarking Channel
As mentioned here above, during operation or transmission or again storage of the image (more generally storage of the data received by a watermarking reader), this reader may undergo modifications.
These modifications may be tonal in nature (the value of the pixels and modified) and/or geometrical (the geometry of the image is modified and the localization of the pixels differs between the original image and modified image). The modifications made in the image generally cause deterioration also in the embedded watermark. These modifications are generally random and unknown when the watermarking is written and the totality of these modifications is designated by the term “watermarking channel”.
The distortions introduced into the image consist for example of a jitter of lines and columns as described in F. Petitcolas, R. J. Anderson et M. G. Kuhn “Attacks on copyright marking systems”, Proceedings of 2nd Information Hiding Workshop, 1998, combined with a tonal noise having a variance denoted by σb2. This tonal noise, in the case of an additive watermark message may, for example, be prompted by the image itself which is considered to be a random vector.
The line jitter and column jitter respectively randomly duplicate certain lines and certain columns of the image respectively. The probability of elimination of a line is referenced psup and the probability of a line is referenced pins.
Modeling of the Watermarking Channel with Geometrical Distortions
The geometrical distortions and transformations may be modeled in using a random variable called “an index variable”. In the case of the still image, this variable is a 2D vector field having the size of the image and being written as J(x,y)=[Jx(x,y),Jy(x,y)].
For each pixel in position (x,y) of the modified image Z, this variable indicates the position (x′,y′) of the corresponding pixel in the original image I where x′=Jx(x,y) indicates the x-axis value in the original image and y′=Jy(x,y) indicates the y-axis value.
This is equivalent to the following formula: Z(x,y)=I(Jx(x,y),Jy(x,y)).
Modeling of the Jitter Channel
In the case of the line jitter, Jx(x,y) is deterministic and equal to x; Jy(x,y) is random and depends only on y.
In the case of the column jitter, Jy(x,y) is deterministic and equal to y; Jx(x,y) is random and depends only on x.
In this precise case, only one of the components of the index variable is random and it is this latter component that is subsequently taken into account. The notations used are J(x) or Jx (the case of column jitter) or J(y) or Jy (the case of line jitter).
To provide for a clearer understanding of the method according to the invention, the different steps explained here below pertain to the particular case of the line jitter. The case of the column jitter is totally symmetrical, with the variable x being replaced by y and vice versa.
For the line jitter, we have: Zy=I(Jy) i.e. the line No. y of the received image Z corresponds to the line No. Jy of the original image I.
It can be shown in the case of the jitter that J(y), is a Markov chain according to a method described in S. Baudry, P. Nguyen and H. Maître, “A soft decoding algorithm for watermarks subject to a jitter attack”, Proceedings of SPIE, Image Security Technologies and Applications, Volume 4472, July 2001. The probabilities of transition of the Markov chains, in the case of the jitter (see
The method of the invention can also be applied to other values of probabilities of transition. The index variable must preferably comply with this Markovian condition in order to lead to optimum results.
Modeling of the Combined Jitter+Additive Noise Channel
The watermarking channel is modeled realistically by a combined channel formed by jitter followed by a tonal noise, according to
In a special non-restrictive embodiment described here below, the type of tonal noise considered is a white Gaussian additive noise with a variance written as σb2. Without departing from the framework of the invention, other types of tonal noise may be considered (substituted noise for example). The tonal noise is white, i.e. the values taken by the samples of the tonal noise are independent while the values of the index variable are correlated. This condition is expressed in
If Ui is the value of the original sample No. i and Vi the value of the noise-ridden sample No. I, the white noise condition is expressed by:
Ptonal(Vi,Vj/Ui,Uj)=Ptonal(Vi/Ui)P(Vj/Uj)
P(Zy/Iy=m) will denote the probability linked to the tonal noise for the index y. More specifically:
P(Zy/Jy=m)=Ptonal(Zy/Xm)
In the particular case where the tonal noise is white and additive and follows a zero-mean Gaussian law with variance σb2 we have:
and the following is the probability of having, at output, the value Vk in the position k, it being known that the value Uk at input in position k:
Furthermore, in the case of jitter, it is necessary to compute the contribution of the tonal noise to the entire line with a length of k pixels. In the case of an identically distributed white noise, we have:
and the following is the probability of having, at output, the value Vk in position k, it being known that we have the value Uk at input in position k,
Furthermore, in the case of jitter, it is necessary to compute the contribution of the tonal noise to the entire line with a length of k pixels. In the case of an identically distributed white noise, we have:
Now that certain conventions and assumptions have been introduced, the rest of the description describes the different modes of implementation used by the method according to the invention.
Estimation Of The Geometrical Transformations
The watermark reader receives a watermarked image Z that has possibly undergone geometrical distortions unknown at reception. Starting from Z, the method consists in determining the distortions if any, for example in order to detect and/or decode the watermark present.
The decoding and/or the detection are improved when the geometrical transformation is partially or totally known. The aim of the invention especially is to provide a method to optimize the particular embodiment of the jitter that has occurred in the image, hence to estimate the value taken by J(y) for all the possible values of y (in the case of a line jitter). J shall denote the set of values J(y) for all the values of y.
To this end, for example, the invention implements for example a method that makes use of a Markov model, or more particularly, a Markov type model as explained here above. The idea is to make a global estimation of the index variable J (in taking account especially of the local correlations between components of J), or to estimate each component of J one by one. Two alternative embodiments are explained here above, by way of an illustration that in no way restricts the scope of the invention: the first method is called the “forward-backward method” and the second the “Viterbi method”.
First Alternative Embodiment=Forward-Backward Method
In the variant of the method known as the <<forward-backward>> method, for each component Jy of the index variable J, a search is made for that value which a posteriori is the most probable value, given the observation of the received image Z, and the knowledge of the co-watermark pattern X, i.e.:
where Ĵy is the estimation sought for the line No. y of the distorted image.
By applying the Bayes formula, we obtain, in an equivalent way:
To simplify the writing, the variable X is longer mentioned in the notations. All the probabilities mentioned must therefore be understood as being conditional on X.
Notations:
Take αy(m) such that the quantity αy(m)=P(Z1,y;Jy=m) αy(m) represents the probability of observing the y first lines of the image received (Z1,y), and of having the line No. y of the received image corresponding to the line No. m of the original image,
And βy(m) such that the quantity βy(m)=P(Zy+1,n′/Jy=m). βy(m) corresponds to the probability of observing the n′-y last lines of the received image (Zy+1,n′), on the assumption that the line No. y of the received image corresponds to the line No. m of the original image.
P(Jy=m;Z/X) is expressed for example as a function of αy(m) and βy(m), indeed
The first equation line is simply a development of the term sought. The second line is obtained by means of Bayes' formula. In the third line, the first term actually comes from the fact that, since the additive noise is white, the value observed for the received lines y+1 to n′ of the image depends only on the index variable at y and on the value of the original watermark; and is independent of the values taken by the lines 1 to y.
In the case of a Markov model, αy(m) and βy(m) can be computed recursively, making the computation less complex than a direct computation.
Step 1=Computation of αy(m)
αy(m) is initialized as follows in y=1 (line No. 1 of the received image), for all the values of m between 1 and n (height of the original image):
a1(m)=P(Z1/J1=m)P(J1=m)
then αy(m) is computed recursively for all the values of y between 2 and n′ (height of the image received) and for all the values of m between 1 and n.
Step 2=Computation of βy(m)
βy(m) is initialized at 1 in y=n′ for all the values of m between 1 and n. βy(m) is initialized as follows in y=n′−1, for all the values of m between 1 and n:
then βy(m) is computed recursively for all the values of y between 1 and n′−2 and for all the values of m between 1 and n.
Step 3=Final Computation
The method then computes the quantity λy(m) for all the values y from 1 to n′ and for all the values m from 1 to n
λy(m)=αy(m)βy(m)
In using the equations fw2 and fw2, we obtain the estimated value Jy for all the values of y between 1 and n′ which is expressed by the relationship:
i.e. the value taken for the value of Jy is the value of m for which λy(m) is the maximum:
Second Alternative Embodiment=Viterbi Method
The alternative implementation of the method, called the <<Viterbi method>>, corresponds to a search for the value of the index variable J which is globally the most probable value, given the observation of the received image, i.e.:
where Ĵ is the estimation sought for all the lines of the distorted image.
By applying Bayes' formula, we obtain, in an equivalent way:
Let Vy(m) denote the quantity (as in the description of the forward-backward method), the probabilities must be understood here as being conditional on X)
and the associated random vector Λy(m), with a probability Vy(m):
The variable P(Z1,y;Jy=m;J1,y−1) corresponds to the joint probability of observing the y first lines of the received image and of having the y first components of the index variable which assume a certain value (in particular, the line No. y of the received image corresponds to the line No. m of the original image).
Vy(m) corresponds to the maximum value taken by this probability, when all the a priori values possible for J1,y−1 are “tried out”:
Λy(m) then corresponds to the value of the y−1 first components of the index variable (J1,y−1) which maximize this probability.
The equation vit. 1 can be expressed as a function of Λy(m):
Vy(m) is initialized at y=1 for all the values m from 1 to n
V1(m)=P(Z1/J1=m)P(J1=m)
The method recursively computes for example Vy(m) for all the values of y from 2 to n′ and for all the values of m from 1 to n as follows (see
In the figure, the arrow F1 corresponds to a copy, the arrow F2 to the “normal” case and the arrow F3 to an elimination. We then get Λy(m) as the associated vector.
The estimated value of J is then given in n by:
that is, the value of m for which Vn′(m) is the maximum is taken as the value of Jn′.
The other values of Jy (y<n′) are computed from Jn′in <<back-tracking>> as follows (FIG. 10):
Jy=Λy(Jy+1)
Once the estimated values of the index variables corresponding to distortions have been introduced into the original image, the method uses them for example to obtain the rectified image designated by Z′.
Reverse of the Jitter Transformation
The method uses the estimated index variable J in order to reverse the jitter transformation in the image Z, to obtain the rectified image Z′.
Since the jitter transformation is not strictly reversible, since the certain lines or columns of the image are eliminated, hence definitively lost, there are several methods possible to reverse the jitter.
The following is one of the methods possible:
In another approach, the message-carrying watermark reader module is adapted to the estimated value of the jitter. For example, if the line number j of the original image has been eliminated, the information on elimination is given to the detector so that it will not take account of it in the estimation of the watermark (flexible decoding).
Without departing from the framework of the invention, the steps described here above can be applied to estimating the local distortions introduced into audio data during their transmission or storage.
For example, the method and the device according to the invention can be applied in the following fields:
Number | Date | Country | Kind |
---|---|---|---|
02 00615 | Jan 2002 | FR | national |
Number | Name | Date | Kind |
---|---|---|---|
6546114 | Venkatesan et al. | Apr 2003 | B1 |
6567533 | Rhoads | May 2003 | B1 |
6845170 | Wendt | Jan 2005 | B1 |
20010016051 | Rhoads | Aug 2001 | A1 |
20010017931 | Rhoads et al. | Aug 2001 | A1 |
Number | Date | Country |
---|---|---|
098113 | Feb 2000 | EP |
156660 | Nov 2001 | EP |
2 792797 | Oct 2000 | FR |
WO 0124113 | Apr 2001 | WO |
WO 0159689 | Aug 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20040001626 A1 | Jan 2004 | US |