Optimized detection of a watermark in an information signal
The invention relates to a method of detecting a watermark W, formed by a set of coefficients, in an information signal S, said watermark W and said information signal S being configured in the form of matrices SM M*M. The coefficients of the Fourier transform matrix of the matrix of the signal TSM and the coefficients of the Fourier transform matrix of the watermark matrix TWM are used in a calculation step CAL of the inverse transform matrix of the multiplication ITM of the transform matrix of the signal TSM and of the transform matrix of the watermark TWM, said calculation CAL being produced in sequences which each result in obtaining I columns of the inverse transform matrix of the multiplication, where M is a multiple of I and different from I. Said I columns are stored in a memory called internal memory and the detection step DET of the watermark is achieved with each sequence by detection of peaks of each set of the I columns while said I columns are present in the internal memory. The invention permits the use of a small-size internal memory.
Latest Koninklijke Philips Electronics N.V. Patents:
- METHOD AND ADJUSTMENT SYSTEM FOR ADJUSTING SUPPLY POWERS FOR SOURCES OF ARTIFICIAL LIGHT
- BODY ILLUMINATION SYSTEM USING BLUE LIGHT
- System and method for extracting physiological information from remotely detected electromagnetic radiation
- Device, system and method for verifying the authenticity integrity and/or physical condition of an item
- Barcode scanning device for determining a physiological quantity of a patient
The invention relates to a method of detecting a watermark in the form of a set of coefficients in an information signal, the method including the steps of:
- configuring, intended to configure said watermark in the form of a matrix of size M*M, and said information signal in the form of at least one matrix of size M*M,
- calculating the coefficients of the Fourier transform matrix of the signal matrix,
- calculating the coefficients of the Fourier transform matrix of the watermark matrix,
- calculating the inverse transform matrix of the multiplication of the transform matrix of the signal and the transform matrix of the watermark,
- detecting the watermark by detection of peaks in the coefficients of the inverse transform matrix of the multiplication.
The invention also relates to an integrated circuit including means for executing the steps of the method according to the invention and an apparatus for processing information signals, which apparatus may be, for example, a digital video signal decoder.
Such a method is known, for example, from document WO99/45706 whose description mentions the use of a correlation calculation of the signal with the watermark, said signal and said watermark being presented in the form of matrices of size 128*128. This correlation calculation is made in various steps such as described above. The calculation step of the inverse transform matrix of the multiplication of the transform matrix of the signal and the transform matrix of the watermark is carried out in two sub-steps, a first sub-step calculates the multiplication of the signal with the conjugate of the watermark, a second sub-step calculates the inverse transform. To calculate the inverse transform in this way, the coefficients of all the rows and all the columns of the matrix resulting from the multiplication are to be available at the start of the calculation step of the inverse transform. This makes it necessary for the matrix resulting from the multiplication to be stored in a memory so as to be available during the calculation of the inverse transform. The memory is thus to have a larger size than that of the matrices it is intended to store, or to have the same size.
The invention is linked with the following considerations: Watermarking of information signals is particularly intended to avoid copies of these information signals, to authenticate these signals . . . . These functions make it necessary for the watermarking generally affixed in the form of a watermark, for example constituted by pseudo-random points, to remain secret and not to be isolated. Actually, if this were the case, the isolated watermark could be removed, affixed to wrong signals . . . . Here the necessity will be understood to secure the access to characteristics of the watermarking. This amounts to not letting data whose watermark characteristics can be inferred, dwell in portions of the circuit where they could be read.
In the state of the art a 128*128 memory is necessary for storing the result of the multiplication of the Fourier transform matrix of the signal and the transform matrix of the watermark. Such a memory has a considerable size. For example, for 128*128 matrices, the size is of the order of 2 mm2 in current technology (or 0.18 μm). A first manufacturing option is to include this memory in the portion of the circuit or in the hardware circuit that comprises the resources for carrying out the other operations where the characteristics of the watermarking are used. This implies that said circuit or hardware circuit portion has a considerable size.
Another option is to make an encoding on the fly and utilize a memory outside the circuit portion where the watermark detection is performed to store the coefficients of the intermediate calculation matrices. This presents disadvantages from the point of view of security, because the data can be read during the accesses to the external memory. It is an object of the invention to resolve the problems met in these two options, that is to say, to avoid a memory of considerable size to be incorporated with the hardware circuit which performs watermark detection operations and to avoid calls to external resources of this circuit.
Actually, a method according to the opening paragraph is characterized according to the invention in that the calculation step of the inverse transform matrix of the multiplication is carried out in sequences which each result in obtaining I columns of the inverse transform matrix of the multiplication, M being a multiple of I and different from I, said I columns being stored in a memory called internal memory, and in that the detection step of the watermark is carried out with each sequence by a detection of peaks in each set of the I columns, while said I columns are present in the internal memory. The calculation of the inverse transform matrix in sequences of I columns, where I is less than M, permits to utilize only a memory of a size smaller than M*N but at least of size I*M. The use of such a reduced-size memory permits this memory to be easily inserted in the hardware circuit portion that performs the operations using watermark coefficients.
In a preferred embodiment the configuration step intended to configure said watermark in the form of matrix of size M*M, the calculation step of the coefficients of the Fourier transform matrix of the watermark matrix, the calculation step of the inverse transform of the multiplication and the step of detecting the watermark, are carried out inside a same circuit portion called internal portion which includes the internal memory and storage means for storing the coefficients of the watermark as well as the matrices resulting from the configuration step and calculation step of the coefficients of the Fourier transform matrix of the watermark matrix.
It will be understood that such a calculation requires to fetch for each sequence the coefficients of the Fourier transform matrix of the signal and of the Fourier transform matrix of the watermark. The coefficients of the Fourier transform matrix of the watermark are stored in general in the internal portion of the hardware circuit and are easily accessible. On the other hand, still to avoid the presence of large quantities of memories in the internal portion, the coefficients of the Fourier transform matrix of the signal are stored outside the internal portion, for example, in an SDRAM memory, from which they are fetched as required. Thus, a secondary problem occurs which is the limitation of the passband of access to the external memory for the internal portion of the circuit.
In an advantageous embodiment the number of columns I is calculated to achieve a compromise between the passband of access to a memory called external memory in which the coefficients of the Fourier transform matrix of the signal matrix and the capacity of the internal memory are stored.
Indeed, in this case a compromise is actually achieved between the size of the internal memory which may be at least I*M and the passband of access to the external memory.
The invention further relates to a particular implementation of the principle according to the invention which gives a detailed version of the joint calculation of the multiplication and the inverse Fourier transform.
The invention may particularly be implemented in an integrated circuit intended for the detection of a watermark in an information signal.
More generally, the present invention may advantageously be implemented in any information signal processing apparatus which may be, for example, a digital video signal decoder.
These and other aspects of the invention are apparent from and will be elucidated, by way of non-limitative example, with reference to the embodiments described hereinafter.
In the drawings:
The following description is given to permit a man of skill in the art to implement and utilize the invention. This description is given in the context of the patent application and its requirements. Various alternatives of the preferred embodiment will be evident to the man of skill in the art and the generic principles of the invention which are described here may be applied to other embodiments.
Thus, the present invention is not deemed to be limited to the embodiment described but rather to have the largest scope in keeping with the principles and characteristics described hereinafter.
The watermark of information signals is particularly intended to avoid copies of these information signals, to authenticate these signals . . . . These functions make it necessary for the watermarking generally affixed in the form of a watermark, for example, constituted by pseudo-random points, to remain secret and not be isolated. Actually, if this were the case, the isolated watermark could be removed or also affixed to wrong signals . . . . It will be understood in this context that it is necessary to secure the access to characteristics of the watermark. This amounts to not leaving data whose watermark characteristics can be deduced so as to dwell in portions of the circuit where they could be read. It is remarkable to observe for that matter that other protection functions of the data present in an information signal may be performed via such a watermark. For example, it is possible to permit a first copy of the signal, while said copy leads to affixing a second, different, watermark or the same watermark shifted in a direction of a given distance. The latter use of several watermarks, possibly shifted over the signal is particularly interesting because they are very hard to remove. Moreover, the choice of the distance between two watermarks allows to give varied meanings and functions to the final watermark of the image, which meaning and functions for example relate to the security as described earlier.
The method of detecting a watermark W formed by a set of coefficients in an information signal S includes according to
The invention relates to the calculation step CAL and detection step DET. Actually, according to the invention and with reference to
According to the invention the coefficients of all the rows and columns of the matrix resulting from the multiplication are not available at the same time. The calculation of the inverse transform matrix in sequences of I columns, where I is less than M, permits to utilize only a memory (generally SRAM) of smaller size than M*M but of size I*M as a minimum. The use of such a small-size memory allows to easily insert it in the hardware circuit portion that comprises the resources for carrying out the other operations where the characteristics of the watermark are used. This permits both not to have to utilize a large memory in this circuit portion and, as said circuit does not have contact with the exterior for memory calls during the calculations relating to the detection of the watermark, this also permits to obtain a secured assembly.
Thus, in an illustrated preferred embodiment notably in the integrated circuit diagrammatically shown in
While reference is made, for example, to
In an advantageous embodiment the number of columns I is calculated for reaching a compromise between a passband of access to a memory called external memory in which the coefficients of the Fourier transform matrix of the signal matrix and the capacity of the internal memory are stored.
Indeed, in this case a compromise is actually reached between the size of the internal memory which may be at least 1*M and the passband of access to the external memory. For example, in one embodiment the matrices on which the various operations are carried out are 128*128 in size. Without the invention the size of the memory to be incorporated with the internal circuit portion is about 2 mm2 in current technology. According to the invention, if one column at a time is calculated, there will have to be 128 times more memory accesses for obtaining a total result of the detection of the watermark than if the internal memory contained the result matrix of the multiplication ITM in all. If four columns are calculated at a time, four times fewer accesses are required than with a calculation in sequences of a column for a memory having a size sixteen times smaller than that necessary for storing the whole matrix. Here the net interest of the invention even in the case where the passband compared to the external memory is small enough will be understood.
Now will be described in more detail a particular embodiment of the principle according to the invention in that details are given of the joint calculation of the multiplication and the inverse Fourier transform.
Once the I columns of coefficients of the sequence, which result from the inverse Fourier transform HIC, are obtained, the calculation of the vertical transform is carried out with all the coefficients that are the result of the horizontal inverse transform of the column by calculation means of the vertical transform VT. It is useful to note here that only the calculation of the vertical inverse transform may be optimized by usual calculation reduction methods used for the signal processing, for example the butterfly technique. In this case with so-called butterfly calculations 7*128*128 operations will be carried out to calculate the vertical inverse transform over the whole matrix, that is to say, for all the sequences. If not, again 128*128*128 operations will be necessary for calculating the vertical inverse transform. Actually, the calculation of the vertical inverse transform is carried out while all the coefficients of the column are available, whereas for the calculation of the horizontal transform not all the coefficients are available and the calculation according to the butterfly technique cannot be carried out. The calculation of the vertical transform thus produces the final coefficients FIC of the matrix ITM which are stored in the internal memory IME. These final coefficients FIC are used in detection means DET where for each sequence the I columns are analyzed to find the maximum and maintain it in general in a register or in the internal memory if its value is higher than the value present in the register. The contents of said register are thus modified during the sequences so as to have there always the maximum value of the matrix. Thus the maximum peak P1 is detected in the matrix. Its value is also stored to notably be able to correlate this value with that of peaks found afterwards. The peak detection techniques are well known from the state of the art.
As regards the detection of secondary peaks and while reference is made to
In
More generally, the present invention may advantageously be implemented in any device for processing information signals, which may be, for example, a digital video signal decoder.
The invention thus also relates to an information signal processing device DEV which may be, for example, a digital video signal decoder. Such a device DEV is described in
Although this invention has been described in keeping with the embodiments shown, a man of skill in the art will immediately recognize that there are variants of the embodiments shown and that these variants remain within the spirit and scope of the present invention. Thus, numerous modifications may be introduced by a man of skill in the art without, however, leaving the spirit and scope defined by the following claims.
Claims
1. A method of detecting a watermark in the form of a set of coefficients in an information signal, the method including the steps of: characterized in that the calculation step of the inverse transform matrix of the multiplication is carried out in sequences which each result in obtaining I columns of the inverse transform matrix of the multiplication, M being a multiple of I and different from I, said I columns being stored in a memory called internal memory, and in that the detection step of the watermark is carried out with each sequence by a detection of peaks in each set of the I columns, white said I columns are present in the internal memory.
- configuring, intended to configure said watermark in the form of a matrix of size M*M, and said information signal in the form of at least one matrix of size M*M,
- calculating the coefficients of the Fourier transform matrix of the signal matrix,
- calculating the coefficients of the Fourier transform matrix of the watermark matrix,
- calculating the inverse transform matrix of the multiplication of the transform matrix of the signal and the transform matrix of the watermark,
- detecting the watermark by detection of peaks in the coefficients of the inverse transform matrix of the multiplication,
2. A method as claimed in claim 1, characterized in that the configuration step intended to configure said watermark in the form of a matrix of size M*M, the calculation step of the coefficients of the Fourier transform matrix of the watermark matrix, the calculation step of the inverse transform of the multiplication and the step of detecting the watermark, are carried out inside a same circuit portion called internal portion which includes the internal memory and storage means for storing the coefficients of the watermark as well as the matrices resulting from the configuration step and calculation step of the coefficients of the Fourier transform matrix of the watermark matrix.
3. A method as claimed in claim 1, characterized in that the number of columns I is calculated to achieve a compromise between the passband of access to a memory called external memory in which the coefficients of the Fourier transform matrix of the signal matrix and the capacity of the internal memory are stored.
4. A method as claimed in claim 1, characterized in that each sequence of the calculation step of the inverse transform of the multiplication includes the following sub-steps of:
- reading the coefficients of the transform matrix of the signal row by row via access to a memory called external memory where they have been stored,
- combining the multiplication of the row read from the external memory and of the transform matrix of the watermark with the calculation of a number I, included between one and M/2, of the coefficients of the horizontal inverse transform of the row, said combination being carried out sequentially over all the rows to obtain with each sequence a set of I coefficient columns which is the result of the horizontal inverse transform of the multiplication of the two matrices,
- calculating with each sequence the vertical inverse Fourier transform of the M coefficients present in the I coefficient columns which is the result of the horizontal inverse transform.
5. An integrated circuit intended for the detection of a watermark which comprises a set of coefficients in an information signal, the integrated circuit including means for: characterized in that the calculation means for calculating the inverse transform matrix of the multiplication operate in sequences which each result in obtaining I columns of the inverse transform matrix of the multiplication, where M is a multiple of I and different from I, said I columns being stored in a memory called internal memory and in that the watermark detection means utilize for each sequence a detection of peaks for each set of the I columns while said I columns are present in the internal memory.
- configuring said watermark in the form of a matrix of size M*M and said information signal in the form of at least one matrix of size M*M,
- calculating the coefficients of the Fourier transform matrix of the signal matrix,
- calculating the coefficients of the Fourier transform matrix of the watermark matrix,
- calculating the inverse transform matrix of the multiplication of the transform matrix of the signal and of the transform matrix of the watermark,
- detecting the watermark by detecting peaks in the coefficients of the inverse transform matrix of the multiplication,
6. A circuit as claimed in claim 5, characterized in that the number of columns I is calculated for realizing a compromise between the passband of access to a memory called external memory in which the coefficients of the Fourier transform matrix of the signal are stored and the capacity of the internal memory.
7. A circuit as claimed in claim 5, characterized in that the means for configuring said watermark in the form of a matrix of size M*M, the calculation means for calculating the coefficients of the Fourier transform matrix of the watermark, the calculation means for calculating the inverse transform of the multiplication and the watermark detection means are realized within a same portion of said circuit including furthermore the internal memory and storage means for storing the coefficients of the watermark as well as the matrices resulting from the configuration step and calculation step of the coefficients of the Fourier transform matrix of the watermark.
8. A circuit as claimed in claim 5, characterized in that the calculation means for calculating the inverse transform of the multiplication include sub-means activated in each sequence for:
- reading the coefficients of the transform matrix of the signal row by row via access to a memory called external memory where they have been stored,
- combining the multiplication of the row read from the external memory and the transform matrix of the watermark with the calculation of a number I situated between one and M/2, of the coefficients of the horizontal inverse transform of the row, said combination being sequentially made of all the rows to obtain for each sequence a set of I coefficient columns which is the result of the horizontal inverse transform of the multiplication of the two matrices,
- calculating for each sequence the vertical inverse Fourier transform of the M coefficients present in the I coefficient columns which is the result of the horizontal inverse transform.
9. A circuit as claimed in claim 5, characterized in that the internal memory has a size strictly smaller than M*M.
10. An information signal processing device, characterized in that it includes an integrated circuit as claimed in claim 5.
6282300 | August 28, 2001 | Bloom et al. |
6614914 | September 2, 2003 | Rhoads et al. |
6826290 | November 30, 2004 | Murakami et al. |
6865589 | March 8, 2005 | Haitsma et al. |
6901514 | May 31, 2005 | Iu et al. |
6993148 | January 31, 2006 | Miyashita et al. |
6993154 | January 31, 2006 | Brunk |
7020349 | March 28, 2006 | Brunk |
WO 99/45706 | September 1999 | WO |
WO9945706 | September 1999 | WO |
Type: Grant
Filed: Dec 17, 2002
Date of Patent: Sep 19, 2006
Patent Publication Number: 20030128403
Assignee: Koninklijke Philips Electronics N.V. (Eindhoven)
Inventors: Hugues De Perthuis (Garcelles), Eric Desmicht (Caen)
Primary Examiner: Jingge Wu
Assistant Examiner: Seyed Azarian
Application Number: 10/321,199
International Classification: G06K 9/00 (20060101);