WO2005096614A2 - Digital signal watermarking detection method and device - Google Patents

Digital signal watermarking detection method and device Download PDF

Info

Publication number
WO2005096614A2
WO2005096614A2 PCT/FR2004/000484 FR2004000484W WO2005096614A2 WO 2005096614 A2 WO2005096614 A2 WO 2005096614A2 FR 2004000484 W FR2004000484 W FR 2004000484W WO 2005096614 A2 WO2005096614 A2 WO 2005096614A2
Authority
WO
WIPO (PCT)
Prior art keywords
zone
watermarking
attribute
marking key
zones
Prior art date
Application number
PCT/FR2004/000484
Other languages
French (fr)
Other versions
WO2005096614A3 (en
Inventor
Yann Bodo
Nathalie Laurent
Sébastien BRANGOULO
Original Assignee
France Telecom
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom filed Critical France Telecom
Priority to PCT/FR2004/000484 priority Critical patent/WO2005096614A2/en
Publication of WO2005096614A2 publication Critical patent/WO2005096614A2/en
Publication of WO2005096614A3 publication Critical patent/WO2005096614A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0085Time domain based watermarking, e.g. watermarks spread over several images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0051Embedding of the watermark in the spatial domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0053Embedding of the watermark in the coding stream, possibly without decoding; Embedding of the watermark in the compressed domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0061Embedding of the watermark in each block of the image, e.g. segmented watermarking

Definitions

  • the present invention relates to a method of detecting watermarking of a watermarked digital signal by applying a watermarking function to at least a portion of predetermined attributes of the digital signal, and a device for implementing this method.
  • the invention applies to a digital signal watermarked by the application of a watermarking function performed using a marking key comprising data with discrete values each of which data is associated with at least a selected attribute comprising the following steps:
  • the watermarked digital signal is for example a fixed digital image or a video signal.
  • Watermarking consists in coding two bits of a marking key in the two coordinates of a selected motion vector. More precisely, a bit is carried by the parity of each coordinate. For a bit, coding consists in making the parity of the coordinate coincide with the parity of the bit to be coded, for example by incrementing the coordinate by one.
  • the vector space is divided into blocks, in each of which two zones are defined (an even zone, an odd zone).
  • One of the two zones is associated with a first binary value, while the other is associated with a second binary value.
  • the invention aims to remedy this drawback and, more generally, aims to improve the robustness of existing tattoo detection methods, without increasing the complexity of the corresponding tattoo methods.
  • the subject of the invention is a method for detecting the watermarking of a digital signal of the aforementioned type, characterized in that it comprises the application of a function for extracting the marking key, the application of this function comprising the following steps: - select the tattooed attributes;
  • This approach effectively improves the smoothness of the digital watermarking detection process by defining an area of least confidence, within which the contribution of the data extracted from the marking key is weighted so as to take account of the greatest sensitivity to attacks, attributes located in this area. It will be noted that this improvement in the tattoo detection method does not add any complexity to the tattoo method itself. In particular, this approach makes it possible to significantly improve the detection of watermarking of a video signal, when the attributes chosen are its motion vectors.
  • a method for detecting the watermarking of a digital signal according to the invention may also include one or more of the following characteristics: - the predetermined function is a sigmoid function;
  • the space is divided into several parts, in each of which, at least two zones are defined, each of these zones being situated inside another of these zones, with the exception of an external zone whose external contour corresponds to the contour of the part in which it is located, each new zone inserted during the extraction step surrounding an internal zone;
  • the reference partition comprises a first zone and a second zone complementary to the first, and, during the extraction of the marking key:
  • the reference partition is modified by inserting at least a third zone between the first and the second zone, this third zone defining a neighborhood of the border between the first and the second zone,
  • the surfaces of the first and second zones are each substantially equal to 45% of the surface of the part in which they are defined, the surface of the third zone inserted during the extraction step being substantially equal to
  • the reference partition produced during watermarking comprises a reference grid comprising blocks of predefined dimensions, each block comprising as many zones as discrete values that the data of the marking key can take;
  • At least one sub-block centered inside the block is defined in each block of the reference grid, the areas of this block being defined by the spaces between the sub-blocks and the block;
  • the blocks and sub-blocks of the reference grid are rectangular; the method of watermarking the digital signal further comprising the following steps: • hierarchical calculation of several successive levels of attributes, the attributes of a given level each being associated with several attributes of the level directly below;
  • the attributes of a given level are each equal to the average of the attributes of the directly lower level with which they are associated.
  • the invention also relates to a device for detecting watermarking of a digital signal, for implementing a method as described above, characterized in that it comprises:
  • FIG. 1 shows the successive steps of a watermarking method according to the invention
  • FIG. 2 shows a reference grid used for the application of a watermarking function according to a first embodiment of the invention
  • - Figures 3a, 3b, 3c and 3d illustrate rules for applying the watermarking function according to the first embodiment
  • FIG. 4 shows the successive steps of a tattoo detection method according to the first embodiment of the invention
  • FIG. 5 shows a device for implementing the method of Figure 4
  • - Figure 6 shows a detail of the reference grid of Figure 2, after modification thereof, by application of a detection method according to the first embodiment
  • FIG. 7 shows a detail of a modified reference grid according to a second embodiment of the invention
  • FIG. 8 shows the general appearance of a sigmoid function.
  • the watermarking method shown in FIG. 1 is implemented by computer means of the conventional type. It is, for example, a microcomputer which comprises a central computing unit associated with memories of the RAM and ROM type.
  • the tattooing process includes a first step 10 of motion estimation.
  • a video source signal S is supplied at the input of the microcomputer and, conventionally, a matrix of motion vectors 12 is associated with any image of the video signal S.
  • This matrix of motion vectors makes it possible to generate a predicted image of the image considered from, for example, the previous image of the video signal, by moving blocks of pixels thereof, as a function of the calculated motion vectors.
  • the calculation of motion vectors is carried out for example by the application of a "block matching" process. This process consists, for each block of pixels in the image considered, to evaluate the best motion vector making it possible to reconstruct this current block from a block of the same size of the previous image moved using the motion vector.
  • the motion vector matrix 12 represented in this figure comprises thirty-six motion vectors denoted V J , with 1 ⁇ i ⁇ 9 and 1 ⁇ j ⁇ 4. Of course, the number of motion vectors will generally be higher. Only thirty-six have been shown, for the sake of simplicity in the following description.
  • each motion vector is associated with four motion vectors of the lower level 12.
  • the blocks corresponding to each motion vector of the lower level 12 are grouped by four into macroblocks.
  • the upper level therefore has 9 vectors denoted V ⁇ to V g .
  • V t of the upper level is representative of a macro-block and is calculated as follows:
  • V • - A Y-> v '- J
  • Step 14 could be repeated several times, so that a hierarchy of motion vector levels could be created.
  • a set 20 of motion vectors among the motion vectors 16 of the upper level is selected in a deterministic manner, or in a pseudo-random manner from a secret key, or from a mask.
  • the set 20 of selected motion vectors consists of the vectors
  • the selected vectors 20 are modified by applying a tattooing function to them, using a marking key W.
  • the number of motion vectors 20 selected is related to the size of the marking key W and W is a binary word comprising four bits. This is the reason why four motion vectors were selected during step 18.
  • the watermarking function is configured to insert the first bit of the marking key W in the motion vector V 6 , the second bit
  • V / e ⁇ 6; 5; 2; 9 ⁇ , V / e ⁇ 1,2,3,4 ⁇ ⁇ V tJ + ⁇ ,
  • a motion compensation is carried out using this matrix of motion vectors 28, from the image which served as a reference for the motion estimation during the step 10, that is to say the image preceding the image considered.
  • a first method consists in performing the motion compensation using all the motion vectors of the matrix 28 to find a watermarked version of the image considered.
  • a second method consists in carrying out the motion compensation only for the blocks corresponding to the motion vectors modified by the watermarking operation and in leaving the other blocks of the image considered unchanged, in order to obtain a better image quality.
  • Steps 10 to 30 previously described can be repeated on several images of the video signal S.
  • the redundancy thus obtained makes it possible to increase the robustness of the watermarking.
  • a watermarking method such as that described above does not fit into a coding / decoding system. But the modifications to be made so that it can be implemented in such a system, implementing an analysis of movement, are obvious. Indeed, the video coding methods, such as the methods using the MPEG2 standard or the MPEG4 standard, generate motion vector matrices on which it is possible to apply the method described above, when coding the video signal. Note that step 14 is optional. Without the application of this step, the selected motion vectors are the motion vectors of the lower level, and we can compensate for the less significant spreading of the watermark in the image, by the selection of several motion vectors for each bit of the key. marking. This however has the effect of limiting the performance of the tattoo in terms of invisibility. Indeed, an advantage of the hierarchical approach is to apply the same deformation on neighboring motion vectors in the lower level.
  • the insertion of the marking key in the video signal S can be distributed over several pairs of images.
  • a reference grid is used which is represented in FIG. 2.
  • This grid is placed in a Cartesian coordinate system (O, x, y) orthogonal and consists of blocks 40 of dimension Ko on the abscissa and H 0 on the ordinate.
  • Ko is equal to H 0 and is worth 7 pixels.
  • sub-block 42 has the following dimensions:
  • each block of the reference grid two zones Zo and Z L are defined, the first zone Z 0 being between the sub-block 42 and the block 40, and the zone Z being the zone inside the sub-block 42.
  • the dimensions Ko, H 0 , and Hi are chosen so that the zones Zo and Z are substantially of the same surface.
  • the total area of each block 40 is 49 pixels, the area of the Z area is 25 pixels and the area of the ZQ area is 24 pixels.
  • K (V X , V y j be a motion vector selected for the application of the watermarking function using the marking key W.
  • the application of the watermarking function on the vector V consists in transform this so that it carries information making it possible to determine the value of one of the bits of the marking key, for example the i-th bit denoted Wj.
  • Wj the i-th bit denoted
  • V ' ⁇ y, V' y the resulting vector.
  • the tattoo function is defined by the application of the following rules:
  • the vertex closest to V is determined, here point A, then a weighted central symmetry of center A is applied to bring point V to V located in zone Z 0 .
  • the weighting parameter is calculated so that V is always in the zone Zo. For example, given the dimensions of blocks 40 and 42,
  • the method of detection and extraction of the mark is a method which comprises the application of a function of extraction of the binary marking key W consisting of:
  • step 50 select the tattooed vectors (step 50); - Modify the reference partition by inserting a third zone between the first and the second zone, this third zone defining a neighborhood of the border between the first and the second zone (step 52);
  • step 54 determines in which zone each tattooed vector is located (step 54); • allocate to the bit of the extracted marking key with which each selected motion vector is associated, the binary value of the zone in which the tattooed vector is located if it is located in the first or second zone, outside the third zone (step 56); • allocate to the bit of the extracted marking key with which each selected motion vector is associated a weighted value between 0 and 1, if it is in the third zone, this value being dependent on the location of the motion vector within this third zone according to a predetermined function, in particular a sigmoid function (step 54); • allocate to the bit of the extracted marking key with which each selected motion vector is associated, the binary value of the zone in which the tattooed vector is located if it is located in the first or second zone, outside the third zone (step 56); • allocate to the bit of the extracted marking key with which each selected motion vector is associated a weighted value between 0 and 1, if it is in the third zone, this value being dependent on the location of the motion vector within this third zone according
  • step 60 calculating a correlation score between the initial marking key and the extracted marking key to decide on the presence or absence of the marking key in the selected vectors. More precisely, during step 50, if step 14 was implemented during watermarking of the video signal, for each motion vector 20 of the highest level 16 selected during the application of the watermarking method :
  • an average vector is calculated equal to the average of the tattooed movement vectors 26 associated with this movement vector
  • FIG. 5 shows a device for implementing the detection method described above.
  • a device comprises for example a microcomputer 70 provided with a user interface comprising a display screen 72 and an input keyboard 74, connected to a central unit 76.
  • This central unit 76 comprises a conventional microprocessor and memory space allowing the implementation: of means 78 for selecting tattooed vectors;
  • means 82 for allocating, to the bit of the extracted marking key with which each selected vector is associated, the binary value of the area in which the tattooed vector is located if the latter is located in the first or second area, outside the third zone;
  • means 82 for allocating, to the bit of the extracted marking key with which each selected vector is associated, a weighted value between 0 and 1, if it is in the third zone, this value being dependent on the location the motion vector within this third zone according to a predetermined function, in particular a sigmoid function; means 84 for calculating a correlation score between the initial marking key and the extracted marking key to decide on the presence or absence of the marking key in the selected vectors.
  • the modified reference partition for the application is represented in FIG. 6.
  • this partition is placed in a Cartesian coordinate system (0, x, y) orthogonal and consists of blocks 40 of dimension Ko on the abscissa and H 0 on the ordinate.
  • a band Z 2 is defined comprising all of the points located in a predetermined vicinity of this border.
  • zones Zo, Z ⁇ and Z 2 there are thus defined, inside each block of the reference grid, three zones Zo, Z ⁇ and Z 2 , the first zone Z 0 being between the outer border of the strip Z 2 and block 40, the zone Z being the zone inside the sub-block 42 not covered by the band Z 2 , and the zone Z 2 being constituted by the band Z 2 itself.
  • the points located in the vicinity of the border between block 40 and sub-block 42 are therefore excluded from zones Z 0 and Z
  • the dimensions Ko, H 0 , Ki, W ⁇ and the thickness of the strip Z 2 are chosen so that the zones Zo and Z are of the same surface, substantially equal to 45% of the total surface of the block 40 , and so that the surface of the third zone Z 2 represents approximately 10% of the surface of the block 40.
  • FIG. 7 represents a reference partition modified in accordance with a second embodiment of the invention.
  • the marking key W comprises data which can take more than two discrete values, for example three.
  • the initial reference partition, before modification, made up of blocks 40 as in FIG. 2, therefore comprises in each block 40 as many zones as values that the data of the marking key can take, that is to say three (Z ' 0 ,
  • the first zone Z ′ 0 is between the outer border of the sub-block 44 and the block 40, the zone Z is the zone located in the sub-block 44 outside the sub-block 46, and the zone
  • Z ' 2 is the area inside sub-block 46.
  • the modification of the reference partition, carried out during the detection of watermarking consists in this example of inserting a first band Z ' 3 between the zones Z' 0 and Z near their border materialized by the sub-block 44 and inserting a second strip Z ' 4 between zones Z and Z' 2 near their border materialized by sub-block 46.
  • N any natural integer greater than or equal to 2.
  • FIG. 8 shows the shape of several conventional one-dimensional sigmoid functions FF 2 , F 3 and F 4 .
  • the allocated value depends on the situation of the motion vector in the zone Z 2 . The closer it is to zone Z 0 , the more it tends towards "0", and the closer it is to zone Z the more it tends to "1".
  • transition functions can then be easily adapted to key-key embodiments comprising data with discrete values. This detection and extraction process makes it possible to extract an estimate
  • the calculation of the correlation score makes it possible to determine a confidence threshold characterizing the presence or absence of the marking key in the video signal.
  • a first correlation rule to estimate whether or not this marking key is present 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 l ' n of the signal S' is given by the following recurrent formula:
  • a tattoo detection method improves the robustness to attacks of existing methods. Indeed, for a video signal watermarked using a binary marking key, the modification of the reference partition during the step of extracting the marking key makes it possible to weight the bits extracted from the key marking according to the situation of the motion vectors which carried them.
  • Another advantage of a watermarking method as described above resides in the hierarchical approach described with reference in particular to step 14 of the process described above, spreading the watermarking over several motion vectors of a lower hierarchical level from by selecting a corresponding motion vector from a higher hierarchical level, reduces the impact of an attack, malicious or not, on the watermarking of the video signal.
  • the invention is not limited to the embodiment described above.
  • the digital signal can be a fixed digital image or even a digital audio signal.
  • some of the DCT coefficients of the image represented in the DCT domain could be chosen as attributes.

Abstract

The invention relates to a method of detecting the watermarking of a digital signal (S') that has been watermarked with the application of a watermarking function to pre-determined attributes of the signal. The inventive method comprises the application of a watermarking key extraction function in order to: select (50) the watermarked attributes and to locate the co-ordinates thereof in a reference partition comprising as many zones (Z0, Z1) as values that can be taken by the marking key data; modify (52) the reference partition by inserting at least one new zone (Z2) between the aforementioned zones (Z0, Z1); assigning (56, 58) the extracted marking key datum with which each selected attribute is associated with the value of the zone containing the selected attribute or a weighted value between two neighbouring zone values as a function of the position of the attribute within said new zone if the attribute is positioned therein; and calculating (60) a correlation score between the initial marking key and the marking key thus extracted.

Description

Procédé et dispositif de détection du tatouage d'un signal numérique Method and device for detecting watermarking of a digital signal
La présente invention concerne un procédé de détection du tatouage d'un signal numérique tatoué par l'application d'une fonction de tatouage à au moins une partie d'attributs prédéterminés du signal numérique, et un dispositif pour la mise en œuvre de ce procédé. Plus précisément, l'invention s'applique à un signal numérique tatoué par l'application d'une fonction de tatouage réalisée à l'aide d'une clé de marquage comportant des données à valeurs discrètes dont chacune des données est associée à au moins un attribut sélectionné et comprenant les étapes suivantes :The present invention relates to a method of detecting watermarking of a watermarked digital signal by applying a watermarking function to at least a portion of predetermined attributes of the digital signal, and a device for implementing this method. . More specifically, the invention applies to a digital signal watermarked by the application of a watermarking function performed using a marking key comprising data with discrete values each of which data is associated with at least a selected attribute comprising the following steps:
- repérer les coordonnées de l'attribut sélectionné dans un espace comportant une partition de référence définissant autant de zones que de valeurs discrètes que peuvent prendre les données de la clé de marquage ;- locate the coordinates of the selected attribute in a space comprising a reference partition defining as many zones as discrete values that the data of the marking key can take;
- affecter une valeur discrète à chacune des zones ;- assign a discrete value to each of the zones;
- modifier éventuellement les coordonnées de l'attribut sélectionné, de sorte qu'il se situe dans la zone dont la valeur discrète correspond à la valeur de la donnée de la clé de marquage à laquelle est associé l'attribut sélectionné.- possibly modify the coordinates of the selected attribute, so that it is located in the zone whose discrete value corresponds to the value of the data of the marking key with which the selected attribute is associated.
Le signal numérique tatoué est par exemple une image numérique fixe ou bien un signal vidéo.The watermarked digital signal is for example a fixed digital image or a video signal.
Le document US 5,960,081 décrit un procédé de tatouage de vecteurs mouvement d'un signal vidéo. Le tatouage consiste à coder deux bits d'une clef de marquage dans les deux coordonnées d'un vecteur mouvement sélectionné. Plus précisément, un bit est porté par la parité de chaque coordonnée. Pour un bit, le codage consiste à faire coïncider la parité de la coordonnée avec la parité du bit à coder, par exemple en incrémentant d'une unité la coordonnée.The document US Pat. No. 5,960,081 describes a method of watermarking motion vectors of a video signal. Watermarking consists in coding two bits of a marking key in the two coordinates of a selected motion vector. More precisely, a bit is carried by the parity of each coordinate. For a bit, coding consists in making the parity of the coordinate coincide with the parity of the bit to be coded, for example by incrementing the coordinate by one.
On peut ainsi considérer que l'espace des vecteurs est divisé en blocs, dans chacun desquels deux zones sont définies (une zone paire, une zone impaire). L'une des deux zones est associée à une première valeur binaire, tandis que l'autre est associée à une seconde valeur binaire.We can thus consider that the vector space is divided into blocks, in each of which two zones are defined (an even zone, an odd zone). One of the two zones is associated with a first binary value, while the other is associated with a second binary value.
A la réception d'un tel signal vidéo, pour détecter le tatouage, il convient alors de réaliser l'opération consistant à sélectionner les vecteurs mouvement tatoués et à les positionner dans l'espace de référence utilisé lors du tatouage, pour déterminer les valeurs binaires qu'ils portent. Un calcul de corrélation entre la clé de marquage détectée de cette façon et la clé de marquage utilisée lors du tatouage permet finalement de déterminer si la vidéo est effectivement tatouée. Malheureusement, cette solution n'est pas sans inconvénient, puisque la moindre attaque peut transformer une ordonnée paire en ordonnée impaire et inversement. Dans ce cas, un changement de parité entre l'émission et la réception aura une conséquence directe sur la robustesse du procédé de détection de tatouage mis en œuvre. Par "attaque" on entend des attaques malveillantes mais également des attaques non malveillantes comme la compression, ou le changement de format spatial ou temporel du signal vidéo.On reception of such a video signal, in order to detect watermarking, it is then necessary to carry out the operation consisting in selecting the tattooed movement vectors and in positioning them in the reference space used during watermarking, in order to determine the binary values. they wear. A correlation calculation between the marking key detected in this way and the marking key used during watermarking finally makes it possible to determine whether the video is actually watermarked. Unfortunately, this solution is not without drawbacks, since the slightest attack can transform an even ordinate into an odd ordinate and vice versa. In this case, a change in parity between transmission and reception will have a direct consequence on the robustness of the watermarking detection method implemented. By "attack" is meant malicious attacks but also non-malicious attacks such as compression, or the change in spatial or temporal format of the video signal.
L'invention vise à remédier à cet inconvénient et, d'une façon plus générale, vise à améliorer la robustesse des procédés de détection de tatouage existants, sans pour autant accroître la complexité des procédés de tatouage correspondants.The invention aims to remedy this drawback and, more generally, aims to improve the robustness of existing tattoo detection methods, without increasing the complexity of the corresponding tattoo methods.
A cet effet, l'invention a pour objet un procédé de détection du tatouage d'un signal numérique du type précité, caractérisé en ce qu'il comprend l'application d'une fonction d'extraction de la clé de marquage, l'application de cette fonction comprenant les étapes suivantes : - sélectionner les attributs tatoués ;To this end, the subject of the invention is a method for detecting the watermarking of a digital signal of the aforementioned type, characterized in that it comprises the application of a function for extracting the marking key, the application of this function comprising the following steps: - select the tattooed attributes;
- modifier la partition de référence en insérant au moins une nouvelle zone entre les zones de la partition de référence, cette nouvelle zone définissant un voisinage des frontières entre les zones de la partition de référence ;- Modify the reference partition by inserting at least one new zone between the zones of the reference partition, this new zone defining a neighborhood of the borders between the zones of the reference partition;
- allouer à la valeur discrète de la donnée de la clé de marquage extraite à laquelle est associé chaque attribut sélectionné, la valeur discrète de la zone dans laquelle se situe l'attribut sélectionné si celui-ci se situe dans l'une des zones de la partition de référence, à l'extérieur de la nouvelle zone ;- allocate to the discrete value of the data of the extracted marking key with which each selected attribute is associated, the discrete value of the zone in which the selected attribute is located if it is located in one of the zones the reference partition, outside the new zone;
- allouer à la valeur discrète de la donnée de la clé de marquage extraite à laquelle est associé chaque attribut sélectionné, une valeur pondérée entre deux valeurs discrètes de zones voisines, si celui-ci se trouve dans la nouvelle zone, cette valeur pondérée étant dépendante de la localisation de l'attribut au sein de cette nouvelle zone selon une fonction prédéterminée ;- allocate to the discrete value of the data of the extracted marking key with which each selected attribute is associated, a weighted value between two discrete values of neighboring areas, if it is in the new area, this weighted value being dependent the location of the attribute within this new zone according to a predetermined function;
- calculer un score de corrélation entre la clé de marquage initiale et la clé de marquage extraite pour décider de la présence ou de l'absence de la clé de la marquage dans les attributs sélectionnés.- calculate a correlation score between the initial marking key and the extracted marking key to decide on the presence or absence of the marking key in the selected attributes.
Cette approche permet effectivement d'améliorer la finesse du procédé de détection d'un tatouage numérique en définissant une zone de moindre confiance, à l'intérieur de laquelle la contribution des données extraites de la clé de marquage est pondérée de manière à tenir compte de la plus grande sensibilité aux attaques, des attributs situés dans cette zone. On notera que cette amélioration du procédé de détection du tatouage n'ajoute aucune complexité au procédé de tatouage lui-même. En particulier cette approche permet d'améliorer sensiblement la détection du tatouage d'un signal vidéo, lorsque les attributs choisis sont ses vecteurs mouvement.This approach effectively improves the smoothness of the digital watermarking detection process by defining an area of least confidence, within which the contribution of the data extracted from the marking key is weighted so as to take account of the greatest sensitivity to attacks, attributes located in this area. It will be noted that this improvement in the tattoo detection method does not add any complexity to the tattoo method itself. In particular, this approach makes it possible to significantly improve the detection of watermarking of a video signal, when the attributes chosen are its motion vectors.
Un procédé de détection du tatouage d'un signal numérique selon l'invention peut en outre comporter l'une ou plusieurs des caractéristiques suivantes : - la fonction prédéterminée est une fonction sigmoïde ;A method for detecting the watermarking of a digital signal according to the invention may also include one or more of the following characteristics: - the predetermined function is a sigmoid function;
- l'espace est divisé en plusieurs parties, dans chacune desquelles, on définit au moins deux zones, chacune de ces zones étant située à l'intérieur d'une autre de ces zones, à l'exception d'une zone extérieure dont le contour extérieur correspond au contour de la partie dans laquelle elle se trouve, chaque nouvelle zone insérée lors de l'étape d'extraction entourant une zone intérieure ;- the space is divided into several parts, in each of which, at least two zones are defined, each of these zones being situated inside another of these zones, with the exception of an external zone whose external contour corresponds to the contour of the part in which it is located, each new zone inserted during the extraction step surrounding an internal zone;
- la clé de marquage étant à valeurs binaires, la partition de référence comporte une première zone et une seconde zone complémentaire de la première, et, lors de l'extraction de la clé de marquage :- the marking key being with binary values, the reference partition comprises a first zone and a second zone complementary to the first, and, during the extraction of the marking key:
• on modifie la partition de référence en insérant au moins une troisième zone entre la première et la seconde zone, cette troisième zone définissant un voisinage de la frontière entre la première et la seconde zone,The reference partition is modified by inserting at least a third zone between the first and the second zone, this third zone defining a neighborhood of the border between the first and the second zone,
• on alloue au bit de la clé de marquage extraite auquel est associé chaque attribut sélectionné une valeur pondérée entre 0 et 1 , s'il se trouve dans la troisième zone, cette valeur pondérée étant dépendante de la localisation de l'attribut au sein de cette troisième zone selon une fonction prédéterminée ;• the bit of the extracted marking key to which each selected attribute is associated is allocated a weighted value between 0 and 1, if it is in the third zone, this weighted value being dependent on the location of the attribute within this third zone according to a predetermined function;
- les surfaces des première et seconde zones sont chacune sensiblement égales à 45% de la surface de la partie dans laquelle elles sont définies, la surface de la troisième zone insérée lors de l'étape d'extraction étant sensiblement égale àthe surfaces of the first and second zones are each substantially equal to 45% of the surface of the part in which they are defined, the surface of the third zone inserted during the extraction step being substantially equal to
10% de la surface de cette partie ;10% of the surface of this part;
- la partition de référence réalisée lors du tatouage comporte une grille de référence comprenant des blocs de dimensions prédéfinies, chaque bloc comportant autant de zones que de valeurs discrètes que peuvent prendre les données de la clé de marquage ;- The reference partition produced during watermarking comprises a reference grid comprising blocks of predefined dimensions, each block comprising as many zones as discrete values that the data of the marking key can take;
- on définit dans chaque bloc de la grille de référence au moins un sous-bloc centré à l'intérieur du bloc, les zones de ce bloc étant définies par les espaces entre les sous-blocs et le bloc ;- At least one sub-block centered inside the block is defined in each block of the reference grid, the areas of this block being defined by the spaces between the sub-blocks and the block;
- les blocs et sous-blocs de la grille de référence sont rectangulaires ; - le procédé de tatouage du signal numérique comportant en outre les étapes suivantes : • calcul hiérarchique de plusieurs niveaux successifs d'attributs, les attributs d'un niveau donné étant chacun associés à plusieurs attributs du niveau directement inférieur ;- the blocks and sub-blocks of the reference grid are rectangular; the method of watermarking the digital signal further comprising the following steps: • hierarchical calculation of several successive levels of attributes, the attributes of a given level each being associated with several attributes of the level directly below;
• sélection d'au moins une partie des attributs appartenant au niveau le plus élevé ;• selection of at least some of the attributes belonging to the highest level;
• application de la fonction de tatouage à chaque attribut sélectionné conduisant au calcul d'un paramètre de modification de cet attribut ;• application of the watermarking function to each selected attribute leading to the calculation of a parameter for modifying this attribute;
• application du paramètre de modification de l'attribut sélectionné aux attributs d'un niveau inférieur associés à cet attribut, pour chaque attribut du niveau le plus élevé sélectionné lors du tatouage :• application of the modification parameter of the selected attribute to the attributes of a lower level associated with this attribute, for each attribute of the highest level selected during the watermarking:
• on extrait les attributs tatoués associés à cet attribut ;• we extract the tattooed attributes associated with this attribute;
• on calcule un attribut moyen égal à la moyenne des attributs tatoués associés à cet attribut ; et• an average attribute is calculated equal to the average of the tattooed attributes associated with this attribute; and
• on applique la fonction d'extraction de la clé de marquage à l'attribut moyen calculé ;• the function of extracting the marking key is applied to the calculated average attribute;
- les attributs d'un niveau donné sont chacun égaux à la moyenne des attributs du niveau directement inférieur auxquels ils sont associés.- the attributes of a given level are each equal to the average of the attributes of the directly lower level with which they are associated.
L'invention concerne également un dispositif de détection du tatouage d'un signal numérique, pour la mise en œuvre d'un procédé tel que décrit précédemment, caractérisé en ce qu'il comporte :The invention also relates to a device for detecting watermarking of a digital signal, for implementing a method as described above, characterized in that it comprises:
- des moyens de sélection des attributs tatoués ;- means for selecting the tattooed attributes;
- des moyens de modification de la partition de référence par l'insertion d'au moins une nouvelle zone entre les zones de la partition de référence, cette nouvelle zone définissant un voisinage des frontières entre les zones de la partition de référence ;means for modifying the reference partition by inserting at least one new zone between the zones of the reference partition, this new zone defining a vicinity of the borders between the zones of the reference partition;
- des moyens d'allocation, à la valeur discrète de la donnée de la clé de marquage extraite à laquelle est associé chaque attribut sélectionné, de la valeur discrète de la zone dans laquelle se situe l'attribut tatoué si celui-ci se situe dans l'une des zones de la partition de référence, à l'extérieur de la nouvelle zone ;means for allocating, to the discrete value of the data of the extracted marking key with which each selected attribute is associated, the discrete value of the zone in which the tattooed attribute is located if it is located in one of the zones of the reference partition, outside the new zone;
- des moyens d'allocation, à la valeur discrète de la donnée de la clé de marquage extraite à laquelle est associé chaque attribut sélectionné, d'une valeur pondérée entre deux valeurs discrètes de zones voisines, si celui-ci se trouve dans la nouvelle zone, cette valeur pondérée étant dépendante de la localisation de l'attribut au sein de cette nouvelle zone selon une fonction prédéterminée ; - des moyens de calcul d'un score de corrélation entre la clé de marquage initiale et la clé de marquage extraite pour décider de la présence ou de l'absence de la clé de la marquage dans les attributs sélectionnés.means for allocating, to the discrete value of the data of the extracted marking key with which each selected attribute is associated, a weighted value between two discrete values of neighboring zones, if this is found in the new zone, this weighted value being dependent on the location of the attribute within this new zone according to a predetermined function; means for calculating a correlation score between the initial marking key and the extracted marking key to decide on the presence or absence of the marking key in the selected attributes.
L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés dans lesquels :The invention will be better understood on reading the description which follows, given solely by way of example and made with reference to the appended drawings in which:
- la figure 1 représente les étapes successives d'un procédé de tatouage conforme à l'invention ;- Figure 1 shows the successive steps of a watermarking method according to the invention;
- la figure 2 représente une grille de référence utilisée pour l'application d'une fonction de tatouage conforme à un premier mode de réalisation de l'invention ; - les figures 3a, 3b, 3c et 3d illustrent des règles d'application de la fonction de tatouage conformes au premier mode de réalisation ;- Figure 2 shows a reference grid used for the application of a watermarking function according to a first embodiment of the invention; - Figures 3a, 3b, 3c and 3d illustrate rules for applying the watermarking function according to the first embodiment;
- la figure 4 "représente les étapes successives d'un procédé de détection de tatouage conforme au premier mode de réalisation de l'invention ;- Figure 4 "shows the successive steps of a tattoo detection method according to the first embodiment of the invention;
- la figure 5 représente un dispositif de mise en œuvre du procédé de la figure 4 ; - la figure 6 représente un détail de la grille de référence de la figure 2, après modification de celle-ci, par application d'un procédé de détection conforme au premier mode de réalisation ;- Figure 5 shows a device for implementing the method of Figure 4; - Figure 6 shows a detail of the reference grid of Figure 2, after modification thereof, by application of a detection method according to the first embodiment;
- la figure 7 représente un détail d'une grille de référence modifiée selon un second mode de réalisation de l'invention ; - la figure 8 représente l'allure générale d'une fonction sigmoïde.- Figure 7 shows a detail of a modified reference grid according to a second embodiment of the invention; - Figure 8 shows the general appearance of a sigmoid function.
Avant de décrire un procédé de détection du tatouage d'un signal vidéo selon l'invention, il convient de détailler une façon possible d'appliquer un tatouage à ce signal qui soit cohérente avec ce procédé de détection.Before describing a method for detecting the watermarking of a video signal according to the invention, it is necessary to detail a possible way of applying watermarking to this signal which is consistent with this detection method.
Le procédé de tatouage représenté sur la figure 1 est mis en œuvre par des moyens informatiques de type classique. Il s'agit, par exemple, d'un micro-ordinateur qui comporte une unité centrale de calcul associée à des mémoires de type RAM et ROM.The watermarking method shown in FIG. 1 is implemented by computer means of the conventional type. It is, for example, a microcomputer which comprises a central computing unit associated with memories of the RAM and ROM type.
Le procédé de tatouage comporte une première étape 10 d'estimation de mouvement.The tattooing process includes a first step 10 of motion estimation.
Lors de cette étape, on fournit en entrée du micro-ordinateur un signal source vidéo S et, de façon classique, on associe à une image quelconque du signal vidéo S une matrice de vecteurs mouvement 12. Cette matrice de vecteurs mouvement permet de générer une image prédite de l'image considérée à partir, par exemple, de l'image précédente du signal vidéo, en déplaçant des blocs de pixels de celle-ci, en fonction des vecteurs mouvement calculés. Le calcul des vecteurs mouvement s'effectue par exemple par l'application d'un procédé de "block matching". Ce procédé consiste, pour chaque bloc de pixels de l'image considérée, à évaluer le meilleur vecteur mouvement permettant de reconstruire ce bloc courant à partir d'un bloc de même taille de l'image précédente déplacé à l'aide du vecteur mouvement. Pour ce faire, on réalise une recherche autour du bloc courant dans l'image précédente, afin de déterminer le vecteur mouvement qui minimise une fonction de coût classique connue sous le nom de DFD pour "Displaced Frame Différence", représentant la différence entre le bloc de l'image précédente déplacé et le bloc courant dans l'image considérée.During this step, a video source signal S is supplied at the input of the microcomputer and, conventionally, a matrix of motion vectors 12 is associated with any image of the video signal S. This matrix of motion vectors makes it possible to generate a predicted image of the image considered from, for example, the previous image of the video signal, by moving blocks of pixels thereof, as a function of the calculated motion vectors. The calculation of motion vectors is carried out for example by the application of a "block matching" process. This process consists, for each block of pixels in the image considered, to evaluate the best motion vector making it possible to reconstruct this current block from a block of the same size of the previous image moved using the motion vector. To do this, we carry out a search around the current block in the previous image, in order to determine the motion vector which minimizes a conventional cost function known as DFD for "Displaced Frame Difference", representing the difference between the block of the previous image moved and the current block in the image considered.
La matrice de vecteurs mouvement 12 représentée sur cette figure comporte trente- six vecteurs mouvement notés V J , avec 1 < i< 9 et 1 < j < 4. Bien entendu le nombre de vecteurs mouvement sera généralement plus élevé. On n'en a représenté que trente-six, par souci de simplicité dans la suite de la description.The motion vector matrix 12 represented in this figure comprises thirty-six motion vectors denoted V J , with 1 <i <9 and 1 <j <4. Of course, the number of motion vectors will generally be higher. Only thirty-six have been shown, for the sake of simplicity in the following description.
Ensuite, lors d'une étape 14, on calcule un niveau plus élevé de vecteurs mouvement 16. Dans ce niveau plus élevé, chaque vecteur mouvement est associé à quatre vecteurs mouvement du niveau inférieur 12. En effet, les blocs correspondant à chaque vecteur mouvement du niveau inférieur 12 sont regroupés par quatre en macroblocs. Le niveau supérieur compte donc 9 vecteurs notés Vλ à Vg . Chaque vecteurThen, during a step 14, a higher level of motion vectors is calculated 16. In 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 by four into macroblocks. The upper level therefore has 9 vectors denoted V λ to V g . Each vector
mouvement Vt du niveau supérieur est représentatif d'un macro-bloc et est calculé de la façon suivante :movement V t of the upper level is representative of a macro-block and is calculated as follows:
_> 1 4 „_ > 1 4 „
V =- A Y->v '-J V = - A Y-> v '- J
4 7=1 L'étape 14 pourrait être réitérée plusieurs fois, de sorte qu'une hiérarchie de niveaux de vecteurs mouvement pourrait être créée. Dans cette exemple, on se limite à une seule itération, c'est-à-dire à deux niveaux de vecteurs mouvement. 4 7 = 1 Step 14 could be repeated several times, so that a hierarchy of motion vector levels could be created. In this example, we limit ourselves to a single iteration, that is to say to two levels of motion vectors.
Ensuite, lors d'une étape 18, on sélectionne de façon déterministe, ou de façon pseudo aléatoire à partir d'une clé secrète, ou à partir d'un masque, un ensemble 20 de vecteurs mouvement parmi les vecteurs mouvement 16 du niveau supérieur. Dans cet exemple, l'ensemble 20 de vecteurs mouvement sélectionnés est constitué des vecteursThen, during a step 18, a set 20 of motion vectors among the motion vectors 16 of the upper level is selected in a deterministic manner, or in a pseudo-random manner from a secret key, or from a mask. . In this example, the set 20 of selected motion vectors consists of the vectors
' 6 ' 5 ' 2 9 "'6' 5 '2 9 "
Lors de l'étape de tatouage 22 suivante, on modifie les vecteurs sélectionnés 20 par l'application sur ceux-ci d'une fonction de tatouage, à l'aide d'une clé de marquage W. Dans cet exemple, le nombre de vecteurs mouvement 20 sélectionnés est lié à la taille de la clé de marquage W et W est un mot binaire comprenant quatre bits. C'est la raison pour laquelle quatre vecteurs mouvement ont été sélectionnés lors de l'étape 18. Ainsi, lors de l'étape 22, la fonction de tatouage est paramétrée pour insérer le premier bit de la clé de marquage W dans le vecteur mouvement V6 , le deuxième bitDuring the next tattooing step 22, the selected vectors 20 are modified by applying a tattooing function to them, using a marking key W. In this example, the number of motion vectors 20 selected is related to the size of the marking key W and W is a binary word comprising four bits. This is the reason why four motion vectors were selected during step 18. Thus, during step 22, the watermarking function is configured to insert the first bit of the marking key W in the motion vector V 6 , the second bit
dans le vecteur mouvement V5 , le troisième bit dans le vecteur mouvement V2 et lein the motion vector V 5 , the third bit in the motion vector V 2 and the
quatrième bit dans le vecteur mouvement V9 . La fonction de tatouage choisie sera décrite plus précisément en référence aux figures 2 à 6.fourth bit in the motion vector V 9 . The watermarking function chosen will be described more precisely with reference to FIGS. 2 to 6.
Suite à cette étape 22, on obtient quatre nouveaux vecteurs mouvement V , V ,Following this step 22, four new motion vectors V, V are obtained,
V et V . Ces vecteurs vérifient par exemple les relations suivantes :V and V. These vectors verify for example the following relationships:
^ = ^ + ^ , v = V2 + âf2 , v = V9 + ~δv9 , dans le cas où la transformation est additive. On peut cependant imaginer d'autres transformations plus générale non additives. Lors de l'étape 25 suivante, on applique, aux vecteurs mouvement du niveau inférieur qui sont associés aux vecteurs sélectionnés 20, la fonction de tatouage avec les paramètres δVt calculés lors de l'étape précédente. Ainsi par exemple, la transformation^ = ^ + ^, v = V 2 + âf 2 , v = V 9 + ~ δv 9 , in the case where the transformation is additive. One can however imagine other more general non-additive transformations. During the following step 25, the watermarking function with the parameters δV t calculated during the previous step is applied to the motion vectors of the lower level which are associated with the selected vectors 20. So for example, the transformation
SV6 appliquée au vecteur mouvement V6 , est également appliquée aux vecteursSV 6 applied to the motion vector V 6 , is also applied to the vectors
correspondants du niveau inférieur c'est-à-dire les vecteurs V6 , , V6 2 , V6<3 , V6 Λ . On obtient ainsi seize nouveaux vecteurs mouvement 26 au niveau inférieur, vérifiant l'équation suivante :correspondents of the lower level, that is to say the vectors V 6 ,, V 6 2 , V 6 <3 , V 6 Λ . Sixteen new motion vectors 26 are thus obtained at the lower level, satisfying the following equation:
V/ e {6;5;2;9},V/e {1,2,3,4}^ = VtJ + όΥ,V / e {6; 5; 2; 9}, V / e {1,2,3,4} ^ = V tJ + όΥ,
Ces seize nouveaux vecteurs mouvement remplacent les vecteurs initiaux correspondants pour fournir une nouvelle matrice 28 de vecteurs mouvement. Cette nouvelle matrice 28 permet d'obtenir une version tatouée S' du signal vidéo S.These sixteen new motion vectors replace the corresponding initial vectors to provide a new matrix 28 of motion vectors. This new matrix 28 makes it possible to obtain a watermarked version S 'of the video signal S.
En effet, lors d'une dernière étape 30, on procède à une compensation de mouvement à l'aide de cette matrice de vecteurs mouvement 28, à partir de l'image qui a servi de référence à l'estimation de mouvement lors de l'étape 10, c'est-à-dire l'image précédant l'image considérée. Lors de cette étape, deux méthodes sont envisageables. Une première méthode consiste à effectuer la compensation de mouvement à l'aide de l'ensemble des vecteurs mouvement de la matrice 28 pour retrouver une version tatouée de l'image considérée.In fact, during a last step 30, a motion compensation is carried out using this matrix of motion vectors 28, from the image which served as a reference for the motion estimation during the step 10, that is to say the image preceding the image considered. During this step, two methods are possible. A first method consists in performing the motion compensation using all the motion vectors of the matrix 28 to find a watermarked version of the image considered.
Une deuxième méthode consiste à n'effectuer la compensation de mouvement que pour les blocs correspondants aux vecteurs mouvement modifiés par l'opération de tatouage et à laisser les autres blocs de l'image considérée inchangés, afin d'obtenir une meilleure qualité d'image.A second method consists in carrying out the motion compensation only for the blocks corresponding to the motion vectors modified by the watermarking operation and in leaving the other blocks of the image considered unchanged, in order to obtain a better image quality. .
Les étapes 10 à 30 précédemment décrites peuvent être réitérées sur plusieurs images du signal vidéo S. La redondance ainsi obtenue permet d'augmenter la robustesse du tatouage.Steps 10 to 30 previously described can be repeated on several images of the video signal S. The redundancy thus obtained makes it possible to increase the robustness of the watermarking.
On peut aussi réaliser la redondance du tatouage en associant chaque bit de la clé de marquage W à plusieurs vecteurs mouvement sélectionnés dans le niveau supérieur.One can also achieve redundancy of watermarking by associating each bit of the marking key W with several motion vectors selected in the upper level.
Un procédé de tatouage tel que celui qui est décrit précédemment ne s'inscrit pas dans un système de codage/décodage. Mais les modifications à y apporter pour qu'il puisse être mis en œuvre dans un tel système, mettant en œuvre une analyse du mouvement, sont évidentes. En effet, les procédés de codage vidéo, tels que les procédés utilisant le standard MPEG2 ou le standard MPEG4, génèrent des matrices de vecteurs mouvement sur lesquelles il est possible d'appliquer le procédé précédemment décrit, lors du codage du signal vidéo. On notera que l'étape 14 est optionnelle. Sans l'application de cette étape, les vecteurs mouvement sélectionnés sont les vecteurs mouvement du niveau inférieur, et on peut compenser l'étalement moins important du tatouage dans l'image, par la sélection de plusieurs vecteurs mouvement pour chaque bit de la clé de marquage. Ceci a cependant pour effet de limiter les performances du tatouage en terme d'invisibilité. En effet, un intérêt de l'approche hiérarchique est d'appliquer la même déformation sur des vecteurs mouvement voisins dans le niveau inférieur.A watermarking method such as that described above does not fit into a coding / decoding system. But the modifications to be made so that it can be implemented in such a system, implementing an analysis of movement, are obvious. Indeed, the video coding methods, such as the methods using the MPEG2 standard or the MPEG4 standard, generate motion vector matrices on which it is possible to apply the method described above, when coding the video signal. Note that step 14 is optional. Without the application of this step, the selected motion vectors are the motion vectors of the lower level, and we can compensate for the less significant spreading of the watermark in the image, by the selection of several motion vectors for each bit of the key. marking. This however has the effect of limiting the performance of the tattoo in terms of invisibility. Indeed, an advantage of the hierarchical approach is to apply the same deformation on neighboring motion vectors in the lower level.
Dans un mode de réalisation particulier de l'invention, on peut répartir l'insertion de la clé de marquage dans le signal vidéo S sur plusieurs couples d'images. Autrement dit, on peut n'insérer qu'une partie de la clé de marquage W dans des vecteurs mouvement sélectionnés d'une matrice de vecteurs mouvement calculée entre deux images successives, puis insérer l'autre partie de la clé de marquage sur une ou plusieurs matrices de vecteurs mouvement calculées entre d'autres couples d'images successives du signal vidéo SIn a particular embodiment of the invention, the insertion of the marking key in the video signal S can be distributed over several pairs of images. In other words, it is possible to insert only part of the marking key W in selected motion vectors from a matrix of motion vectors calculated between two successive images, then insert the other part of the marking key on one or more several motion vector matrices calculated between other pairs of successive images of the video signal S
La fonction de tatouage appliquée sur les vecteurs mouvement sélectionnés 20 va maintenant être décrite en référence aux figures 2 à 6. Selon un premier mode de réalisation de l'invention (mode binaire), pour l'application de la fonction de tatouage, on utilise une grille de référence qui est représentée sur la figure 2. Cette grille est placée dans un repère cartésien (O,x,y) orthogonal et est constituée de blocs 40 de dimension Ko en abscisses et H0 en ordonnées. Dans notre exemple, Ko est égal à H0 et vaut 7 pixels.The watermarking function applied to the selected movement vectors 20 will now be described with reference to FIGS. 2 to 6. According to a first embodiment of the invention (binary mode), for the application of the watermarking function, a reference grid is used which is represented in FIG. 2. This grid is placed in a Cartesian coordinate system (O, x, y) orthogonal and consists of blocks 40 of dimension Ko on the abscissa and H 0 on the ordinate. In our example, Ko is equal to H 0 and is worth 7 pixels.
On définit un sous-bloc 42 de plus petites dimensions et centré à l'intérieur de chaque bloc. Dans notre exemple, le sous- bloc 42 a les dimensions suivantes :We define a sub-block 42 of smaller dimensions and centered inside each block. In our example, sub-block 42 has the following dimensions:
K = HT = 5 pixels.K = H T = 5 pixels.
On définit ainsi, à l'intérieur de chaque bloc de la grille de référence, deux zones Zo et ZL la première zone Z0 étant comprise entre le sous-bloc 42 et le bloc 40, et la zone Z étant la zone intérieure au sous-bloc 42. De préférence, les dimensions Ko, H0,
Figure imgf000011_0001
et Hi sont choisies pour que les zones Zo et Z soient sensiblement de même surface. Dans cet exemple, la surface totale de chaque bloc 40 est de 49 pixels, la surface de la zone Z est de 25 pixels et la surface de la zone ZQ est de 24 pixels. Soit K(VX, Vyj un vecteur mouvement sélectionné pour l'application de la fonction de tatouage à l'aide de la clé de marquage W. Plus précisément, l'application de la fonction de tatouage sur le vecteur V consiste à transformer celui-ci pour qu'il porte une information permettant de déterminer la valeur de l'un des bits de la clé de marquage, par exemple le i-ème bit noté Wj. On notera V' {y , V'y ) le vecteur résultant. La fonction de tatouage est définie par l'application des règles suivantes :
Thus, inside each block of the reference grid, two zones Zo and Z L are defined, the first zone Z 0 being between the sub-block 42 and the block 40, and the zone Z being the zone inside the sub-block 42. Preferably, the dimensions Ko, H 0 ,
Figure imgf000011_0001
and Hi are chosen so that the zones Zo and Z are substantially of the same surface. In this example, the total area of each block 40 is 49 pixels, the area of the Z area is 25 pixels and the area of the ZQ area is 24 pixels. Let K (V X , V y j be a motion vector selected for the application of the watermarking function using the marking key W. More precisely, the application of the watermarking function on the vector V consists in transform this so that it carries information making it possible to determine the value of one of the bits of the marking key, for example the i-th bit denoted Wj. We will denote V '{y, V' y ) the resulting vector. The tattoo function is defined by the application of the following rules:
- si W| = 0 et si le point V de coordonnées (Vx, Vy) dans (O, x, y) est situé dans la zone Z0, alors V = V ;- if W | = 0 and if the point V with coordinates (V x , V y ) in (O, x, y) is located in the zone Z 0 , then V = V;
- si W| = 0 et si le point V de coordonnées (Vx, Vy) dans (O, x, y) est situé dans la zone Zu alors V subit une transformation, de telle sorte que le point V de coordonnées (V'x, V'y) dans (O, x, y) soit situé dans Z0 (Cette transformation sera détaillée en référence à la figure 3) ;- if W | = 0 and if the point V with coordinates (V x , V y ) in (O, x, y) is located in the zone Z u then V undergoes a transformation, so that the point V with coordinates (V ' x , V ' y ) in (O, x, y) is located in Z 0 (This transformation will be detailed with reference to Figure 3);
- si Wι = 1 et si le point V de coordonnées (Vx, Vy) dans (O, x, y) est situé dans la zone Zi, alors V = V ;- if Wι = 1 and if the point V with coordinates (V x , V y ) in (O, x, y) is located in the zone Zi, then V = V;
- si Wj = 1 et si le point V de coordonnées (Vx, Vy) dans (O, x, y) est situé dans la zone Z0, alors V subit une transformation, de telle sorte que le point V de coordonnées (V'x, V'y) dans (O, x, y) soit situé dans Z . (Cette transformation sera détaillée en référence aux figures 4, 5 et 6).- if Wj = 1 and if the point V with coordinates (V x , V y ) in (O, x, y) is located in the zone Z 0 , then V undergoes a transformation, so that the point V with coordinates (V ' x , V' y ) in (O, x, y) is located in Z. (This transformation will be detailed with reference to Figures 4, 5 and 6).
La figure 3a illustre le cas où Wj = 0 et où le point V se situe dans la zone Z, c'est-à- dire à l'intérieur du sous-bloc 42 dont les sommets sont notés A, B, C et D. On détermine le sommet le plus proche de V, ici le point A, puis on applique une symétrie centrale pondérée de centre A pour ramener le point V en V situé dans la zone Z0. Bien entendu le paramètre de pondération est calculé de telle sorte que V soit toujours dans la zone Zo. Par exemple, compte-tenu des dimensions des blocs 40 et 42,FIG. 3a illustrates the case where Wj = 0 and where the point V is located in the zone Z, that is to say inside the sub-block 42 whose vertices are denoted A, B, C and D . The vertex closest to V is determined, here point A, then a weighted central symmetry of center A is applied to bring point V to V located in zone Z 0 . Of course, the weighting parameter is calculated so that V is always in the zone Zo. For example, given the dimensions of blocks 40 and 42,
2 -rr. on définit ici la symétrie centrale pondérée par la relation suivante : A V = — AV .2 -rr. here we define the central symmetry weighted by the following relation: A V = - AV.
Si Wj = 1 et si V est situé dans la zone Z0 on obtient V en appliquant une symétrie axiale pondérée dont l'axe est le côté du sous-bloc 42 le plus proche du point V, si cette transformation permet d'obtenir un point V situé dans la zone Z . C'est le cas illustré par les figures 3b et 3c. Dans ce cas, si l'on note H la projection de V sur l'axe considéré, et avec les dimensions choisies dans notre exemple, la symétrie axiale pondérée est définie par laIf Wj = 1 and if V is located in the zone Z 0 we obtain V by applying a weighted axial symmetry whose axis is the side of the sub-block 42 closest to the point V, if this transformation makes it possible to obtain a point V located in zone Z. This is the case illustrated in Figures 3b and 3c. In this case, if we note H the projection of V on the axis considered, and with the dimensions chosen in our example, the weighted axial symmetry is defined by the
relation suivante : HP = — HVfollowing relation: HP = - HV
22
Dans les autres cas représentés sur la figure 3d, c'est-à-dire lorsque l'image du point V par une symétrie axiale telle que décrite précédemment ne permet pas d'obtenir de point V dans la zone Z , on applique au point V une symétrie centrale pondérée, dont le centre est le sommet A, B, C ou D le plus proche. Dans l'exemple de la figure 3d, c'estIn the other cases represented in FIG. 3d, that is to say when the image of the point V by an axial symmetry as described previously does not make it possible to obtain a point V in the zone Z, we apply to the point V a weighted central symmetry, the center of which is the nearest vertex A, B, C or D. In the example of figure 3d, it is
le point A. La symétrie centrale pondérée est ici définie par la relation A V = — AV . Cepoint A. The weighted central symmetry is defined here by the relation A V = - AV. This
cas se présente lorsque le point V est situé au voisinage de l'un des sommets du bloc 40. Il est possible de détecter et extraire la marque qui a été insérée dans un signal vidéo selon le procédé de tatouage décrit précédemment.case arises when point V is located in the vicinity of one of the vertices of block 40. It is possible to detect and extract the mark which has been inserted in a video signal according to the watermarking method described above.
Comme cela est représenté sur la figure 4, le procédé de détection et d'extraction de la marque est un procédé qui comprend l'application d'une fonction d'extraction de la clé de marquage binaire W consistant à :As shown in FIG. 4, the method of detection and extraction of the mark is a method which comprises the application of a function of extraction of the binary marking key W consisting of:
- sélectionner les vecteurs tatoués (étape 50) ; - modifier la partition de référence en insérant une troisième zone entre la première et la seconde zone, cette troisième zone définissant un voisinage de la frontière entre la première et la seconde zone (étape 52) ;- select the tattooed vectors (step 50); - Modify the reference partition by inserting a third zone between the first and the second zone, this third zone defining a neighborhood of the border between the first and the second zone (step 52);
- pour chaque vecteur tatoué :- for each tattooed vector:
• déterminer dans quelle zone se situe chaque vecteur tatoué (étape 54) ; • allouer au bit de la clé de marquage extraite auquel est associé chaque vecteur mouvement sélectionné, la valeur binaire de la zone dans laquelle se situe le vecteur tatoué si celui-ci se situe dans la première ou seconde zone, à l'extérieur de la troisième zone (étape 56) ; • allouer au bit de la clé de marquage extraite auquel est associé chaque vecteur mouvement sélectionné une valeur pondérée entre 0 et 1 , s'il se trouve dans la troisième zone, cette valeur étant dépendante de la localisation du vecteur mouvement au sein de cette troisième zone selon une fonction prédéterminée, notamment une fonction sigmoïde (étape• determine in which zone each tattooed vector is located (step 54); • allocate to the bit of the extracted marking key with which each selected motion vector is associated, the binary value of the zone in which the tattooed vector is located if it is located in the first or second zone, outside the third zone (step 56); • allocate to the bit of the extracted marking key with which each selected motion vector is associated a weighted value between 0 and 1, if it is in the third zone, this value being dependent on the location of the motion vector within this third zone according to a predetermined function, in particular a sigmoid function (step
58) ;58);
- calculer un score de corrélation entre la clé de marquage initiale et la clé de marquage extraite pour décider de la présence ou de l'absence de la clé de la marquage dans les vecteurs sélectionnés (étape 60). De façon plus précise, lors de l'étape 50, si l'étape 14 a été mise en œuvre lors du tatouage du signal vidéo, pour chaque vecteur mouvement 20 du niveau le plus élevé 16 sélectionné lors de l'application du procédé de tatouage :calculating a correlation score between the initial marking key and the extracted marking key to decide on the presence or absence of the marking key in the selected vectors (step 60). More precisely, during step 50, if step 14 was implemented during watermarking of the video signal, for each motion vector 20 of the highest level 16 selected during the application of the watermarking method :
- on extrait les vecteurs mouvement tatoués associés à ce vecteur mouvement ;- the tattooed movement vectors associated with this movement vector are extracted;
- on calcule un vecteur moyen égal à la moyenne des vecteurs mouvement tatoués 26 associés à ce vecteur mouvement ; et- an average vector is calculated equal to the average of the tattooed movement vectors 26 associated with this movement vector; and
- on applique la fonction d'extraction de la clé de marquage décrite précédemment au vecteur moyen calculé.- The extraction function of the marking key described above is applied to the calculated average vector.
On a représenté sur la figure 5 un dispositif de mise en œuvre du procédé de détection décrit précédemment. Un tel dispositif comporte par exemple un micro-ordinateur 70 muni d'une interface- utilisateur comportant un écran d'affichage 72 et un clavier de saisie 74, raccordés à une unité centrale 76.FIG. 5 shows a device for implementing the detection method described above. Such a device comprises for example a microcomputer 70 provided with a user interface comprising a display screen 72 and an input keyboard 74, connected to a central unit 76.
Cette unité centrale 76 comporte un microprocesseur et un espace mémoire classiques permettant l'implémentation : - de moyens 78 de sélection des vecteurs tatoués ;This central unit 76 comprises a conventional microprocessor and memory space allowing the implementation: of means 78 for selecting tattooed vectors;
- de moyens 80 de modification de la partition de référence par l'insertion de la troisième zone entre les première et seconde zones de la partition de référence ;- Means 80 for modifying the reference partition by inserting the third zone between the first and second zones of the reference partition;
- des moyens 82 d'allocation, au bit de la clé de marquage extraite auquel est associé chaque vecteur sélectionné, de la valeur binaire de la zone dans laquelle se situe le vecteur tatoué si celui-ci se situe dans la première ou seconde zone, à l'extérieur de la troisième zone;means 82 for allocating, to the bit of the extracted marking key with which each selected vector is associated, the binary value of the area in which the tattooed vector is located if the latter is located in the first or second area, outside the third zone;
- des moyens 82 d'allocation, au bit de la clé de marquage extraite auquel est associé chaque vecteur sélectionné, d'une valeur pondérée entre 0 et 1 , s'il se trouve dans la troisième zone, cette valeur étant dépendante de la localisation du vecteur mouvement au sein de cette troisième zone selon une fonction prédéterminée, notamment une fonction sigmoïde ; - des moyens 84 de calcul d'un score de corrélation entre la clé de marquage initiale et la clé de marquage extraite pour décider de la présence ou de l'absence de la clé de la marquage dans les vecteurs sélectionnés.means 82 for allocating, to the bit of the extracted marking key with which each selected vector is associated, a weighted value between 0 and 1, if it is in the third zone, this value being dependent on the location the motion vector within this third zone according to a predetermined function, in particular a sigmoid function; means 84 for calculating a correlation score between the initial marking key and the extracted marking key to decide on the presence or absence of the marking key in the selected vectors.
La partition de référence modifiée pour l'application est représentée sur la figure 6. Comme précédemment, en référence à la figure 2, cette partition est placée dans un repère cartésien (0,x,y) orthogonal et est constituée de blocs 40 de dimension Ko en abscisses et H0 en ordonnées. On définit un sous-bloc 42 de plus petites dimensions K^The modified reference partition for the application is represented in FIG. 6. As previously, with reference to FIG. 2, this partition is placed in a Cartesian coordinate system (0, x, y) orthogonal and consists of blocks 40 of dimension Ko on the abscissa and H 0 on the ordinate. We define a sub-block 42 of smaller dimensions K ^
H, et centré à l'intérieur de chaque bloc 40. Autour de la frontière entre le bloc 40 et le sous-bloc 42, qui est constituée de la bordure extérieure du sous-bloc 42, on définit une bande Z2 comprenant tous les points situés dans un voisinage prédéterminé de cette frontière.H, and centered inside each block 40. Around the border between block 40 and sub-block 42, which consists of the outer edge of sub-block 42, a band Z 2 is defined comprising all of the points located in a predetermined vicinity of this border.
On définit ainsi, à l'intérieur de chaque bloc de la grille de référence, trois zones Zo, Z\ et Z2, la première zone Z0 étant comprise entre la bordure extérieure de la bande Z2 et le bloc 40, la zone Z étant la zone intérieure au sous-bloc 42 non recouverte par la bande Z2, et la zone Z2 étant constituée par la bande Z2 elle-même. Les points situés au voisinage de la frontière entre le bloc 40 et le sous-bloc 42 sont donc exclus des zones Z0 et ZThere are thus defined, inside each block of the reference grid, three zones Zo, Z \ and Z 2 , the first zone Z 0 being between the outer border of the strip Z 2 and block 40, the zone Z being the zone inside the sub-block 42 not covered by the band Z 2 , and the zone Z 2 being constituted by the band Z 2 itself. The points located in the vicinity of the border between block 40 and sub-block 42 are therefore excluded from zones Z 0 and Z
De préférence, les dimensions Ko, H0, Ki, W\ et l'épaisseur de la bande Z2 sont choisies pour que les zones Zo et Z, soient de même surface, égale sensiblement à 45% de la surface totale du bloc 40, et pour que la surface de la troisième zone Z2 représente environ 10% de la surface du bloc 40.Preferably, the dimensions Ko, H 0 , Ki, W \ and the thickness of the strip Z 2 are chosen so that the zones Zo and Z are of the same surface, substantially equal to 45% of the total surface of the block 40 , and so that the surface of the third zone Z 2 represents approximately 10% of the surface of the block 40.
La figure 7 représente une partition de référence modifiée conformément à un second mode de réalisation de l'invention. Dans ce mode de réalisation, la clé de marquage W comporte des données pouvant prendre plus de deux valeurs discrètes, par exemple trois. La partition de référence initiale, avant modification, constituée de blocs 40 comme dans la figure 2, comporte donc dans chaque bloc 40 autant de zones que de valeurs que peuvent prendre les données de la clé de marquage, c'est-à-dire trois (Z'0,FIG. 7 represents a reference partition modified in accordance with a second embodiment of the invention. In this embodiment, the marking key W comprises data which can take more than two discrete values, for example three. The initial reference partition, before modification, made up of blocks 40 as in FIG. 2, therefore comprises in each block 40 as many zones as values that the data of the marking key can take, that is to say three (Z ' 0 ,
Pour cela, on définit dans un bloc 40 deux sous-blocs centrés 44 et 46 (le sous-bloc 46 étant situé à l'intérieur du sous-bloc 44) qui permettent de définir ces trois zones. La première zone Z'0 est comprise entre la bordure extérieure du sous-bloc 44 et le bloc 40, la zone Z est la zone située dans le sous-bloc 44 à l'extérieur du sous-bloc 46, et la zoneFor this, one defines in a block 40 two centered sub-blocks 44 and 46 (the sub-block 46 being located inside the sub-block 44) which make it possible to define these three zones. The first zone Z ′ 0 is between the outer border of the sub-block 44 and the block 40, the zone Z is the zone located in the sub-block 44 outside the sub-block 46, and the zone
Z'2 est la zone située à l'intérieur du sous-bloc 46.Z ' 2 is the area inside sub-block 46.
La modification de la partition de référence, réalisée lors de la détection du tatouage consiste dans cet exemple à insérer une première bande Z'3 entre les zones Z'0 et Z au voisinage de leur frontière matérialisée par le sous-bloc 44 et à insérer une seconde bande Z'4 entre les zones Z et Z'2 au voisinage de leur frontière matérialisée par le sous- bloc 46.The modification of the reference partition, carried out during the detection of watermarking consists in this example of inserting a first band Z ' 3 between the zones Z' 0 and Z near their border materialized by the sub-block 44 and inserting a second strip Z ' 4 between zones Z and Z' 2 near their border materialized by sub-block 46.
On comprend aisément qu'il est possible de généraliser le procédé pour des applications dans lesquelles la clé de marquage comporte des données à N valeurs discrètes, N étant un entier naturel quelconque supérieur ou égal à 2.It is easily understood that it is possible to generalize the method for applications in which the marking key comprises data with N discrete values, N being any natural integer greater than or equal to 2.
Enfin, on a représenté sur la figure 8, l'allure de plusieurs fonctions unidimensionnelles classiques sigmoïdes F F2, F3 et F4.Finally, FIG. 8 shows the shape of several conventional one-dimensional sigmoid functions FF 2 , F 3 and F 4 .
Ces fonctions conviennent pour le premier mode de réalisation à clé de marquage binaire. Elles permettent de passer plus ou moins progressivement d'une valeur "1 " à une valeur "0". Ainsi, on peut utiliser l'une d'entre elles pour allouer au bit de la clé de marquage extraite auquel est associé chaque vecteur mouvement sélectionné une valeur pondérée entre 0 et 1 , s'il se trouve dans la troisième zone Z2.These functions are suitable for the first embodiment with a binary marking key. They allow you to progress more or less progressively from a value "1" to a value "0". Thus, one of them can be used to allocate to the bit of the extracted marking key with which each selected motion vector is associated a weighted value between 0 and 1, if it is in the third zone Z 2 .
La valeur allouée dépend de la situation du vecteur mouvement dans la zone Z2. Plus celui-ci est proche de la zone Z0, plus elle tend vers "0", et plus il est proche de la zone Z plus elle tend vers "1 ".The allocated value depends on the situation of the motion vector in the zone Z 2 . The closer it is to zone Z 0 , the more it tends towards "0", and the closer it is to zone Z the more it tends to "1".
Bien sûr, d'autres fonctions de transition progressive entre les valeurs "0" et "1 " peuvent être choisies.Of course, other progressive transition functions between the values "0" and "1" can be chosen.
Ces fonctions de transitions peuvent ensuite être aisément adaptées à des modes de réalisation à clé de marquage comportant des données à valeurs discrètes. Ce procédé de détection et d'extraction permet d'extraire une estimationThese transition functions can then be easily adapted to key-key embodiments comprising data with discrete values. This detection and extraction process makes it possible to extract an estimate
W = (w, , W2 , W3 , W4 ) de la clé de marquage W=(Wι, W2, W3, W4), à partir d'une image tatouée du signal vidéo.W = (w,, W 2 , W 3 , W 4 ) of the marking key W = (Wι, W 2 , W 3 , W 4 ), from a watermarked image of the video signal.
Une fois cette clé de marquage extraite, le calcul du score de corrélation permet de déterminer un seuil de confiance caractérisant la présence ou l'absence de la clé de marquage dans le signal vidéo.Once this marking key has been extracted, the calculation of the correlation score makes it possible to determine a confidence threshold characterizing the presence or absence of the marking key in the video signal.
Une première règle de corrélation pour estimer cette présence ou non de la clé de marquage dans une image est donnée par la formule suivante :A first correlation rule to estimate whether or not this marking key is present in an image is given by the following formula:
Figure imgf000015_0001
ou
Figure imgf000015_0001
or
— 1 4 _ 1 4 W = -∑W, , et W = -∑W,- 1 4 _ 1 4 W = -∑W,, and W = -∑W,
4 ,=ι 4 ,=| Afin de valider la phase de détection, on peut réaliser une accumulation des coefficients C sur l'ensemble du signal vidéo S', si toutes les images de ce signal sont tatouées.4, = ι 4, = | In order to validate the detection phase, it is possible to achieve an accumulation of the coefficients C over the entire video signal S ', if all the images of this signal are watermarked.
De façon alternative, une deuxième règle de corrélation pour estimer la présence de la clé de marquage dans une pluralité d'images l'n du signal S' est donnée par la formule récurrente suivante :Alternatively, a second correlation rule for estimating the presence of the marking key in a plurality of images l ' n of the signal S' is given by the following recurrent formula:
C n. -\ ' («-1)+ 1-- QC n. - \ '("-1) + 1-- Q
Cn - , où d(wn,w)es\ la distance de Hamming. nC n -, where d (w n , w) is \ the Hamming distance. not
Il apparaît clairement qu'un procédé de détection de tatouage selon l'invention améliore la robustesse aux attaques des procédés existants. En effet, pour un signal vidéo tatoué à l'aide d'une clé de marquage binaire, la modification de la partition de référence lors de l'étape d'extraction de la clé de marquage permet de pondérer les bits extraits de la clé de marquage en fonction de la situation des vecteurs mouvement qui les ont portés.It clearly appears that a tattoo detection method according to the invention improves the robustness to attacks of existing methods. Indeed, for a video signal watermarked using a binary marking key, the modification of the reference partition during the step of extracting the marking key makes it possible to weight the bits extracted from the key marking according to the situation of the motion vectors which carried them.
Un autre avantage d'un procédé de tatouage tel que décrit précédemment réside dans l'approche hiérarchique décrite en référence notamment à l'étape 14 du procédé décrit précédemment, l'étalement du tatouage sur plusieurs vecteurs mouvement d'un niveau hiérarchique inférieur à partir de la sélection d'un vecteur mouvement correspondant issu d'un niveau hiérarchique supérieur, permet de réduire l'impact d'une attaque, malveillante ou non, sur le tatouage du signal vidéo. On notera enfin que l'invention n'est pas limitée au mode de réalisation décrit précédemment.Another advantage of a watermarking method as described above resides in the hierarchical approach described with reference in particular to step 14 of the process described above, spreading the watermarking over several motion vectors of a lower hierarchical level from by selecting a corresponding motion vector from a higher hierarchical level, reduces the impact of an attack, malicious or not, on the watermarking of the video signal. Finally, it should be noted that the invention is not limited to the embodiment described above.
En effet, le signal numérique peut être une image numérique fixe ou bien encore un signal audio numérique. Dans le cas d'une image numérique, on pourrait choisir comme attributs quelques uns des coefficients DCT de l'image représentée dans le domaine DCT. Indeed, the digital signal can be a fixed digital image or even a digital audio signal. In the case of a digital image, some of the DCT coefficients of the image represented in the DCT domain could be chosen as attributes.

Claims

REVENDICATIONS
1. Procédé de détection du tatouage d'un signal numérique (S1) tatoué par l'application d'une fonction de tatouage à au moins une partie (20) d'attributs prédéterminés du signal numérique, l'application de la fonction de tatouage étant réalisée à l'aide d'une clé de marquage (W) comportant des données à valeurs discrètes dont chacune des données est associée à au moins un attribut sélectionné et comprenant les étapes suivantes : repérer les coordonnées de l'attribut sélectionné ( V ) dans un espace comportant une partition de référence définissant autant de zones (Z0, Zi ;1. Method for detecting the watermarking of a digital signal (S 1 ) watermarked by the application of a watermarking function to at least part (20) of predetermined attributes of the digital signal, the application of the watermarking function watermarking being performed using a marking key (W) comprising data with discrete values each of which data is associated with at least one selected attribute and comprising the following steps: locating the coordinates of the selected attribute (V ) in a space comprising a reference partition defining as many zones (Z 0 , Zi;
Z'0 Z'i Z'2) que de valeurs discrètes que peuvent prendre les données de la clé de marquage ; affecter une valeur discrète à chacune des zones ; modifier éventuellement les coordonnées de l'attribut sélectionné, de sorte qu'il se situe dans la zone dont la valeur discrète correspond à la valeur de la donnée de la clé de marquage à laquelle est associé l'attribut sélectionné, caractérisé en ce qu'il comprend l'application d'une fonction d'extraction de la clé de marquage (W), l'application de cette fonction comprenant les étapes suivantes : sélectionner (50) les attributs tatoués ; - modifier (52) la partition de référence en insérant au moins une nouvelle zone (Z2 ; Z'3, Z'4) entre les zones de la partition de référence, cette nouvelle zone définissant un voisinage des frontières entre les zones de la partition de référence ; allouer (56) à la valeur discrète de la donnée de la clé de marquage extraite à laquelle est associé chaque attribut sélectionné, la valeur discrète de la zone dans laquelle se situe l'attribut sélectionné si celui-ci se situe dans l'une des zones de la partition de référence, à l'extérieur de la nouvelle zone ; allouer (58) à la valeur discrète de la donnée de la clé de marquage extraite à laquelle est associé chaque attribut sélectionné, une valeur pondérée entre deux valeurs discrètes de zones voisines, si celui-ci se trouve dans la nouvelle zone, cette valeur pondérée étant dépendante de la localisation de l'attribut au sein de cette nouvelle zone selon une fonction prédéterminée ; calculer (60) un score de corrélation entre la clé de marquage initiale et la clé de marquage extraite pour décider de la présence ou de l'absence de la clé de la marquage dans les attributs sélectionnés. Z ' 0 Z'i Z' 2 ) that of discrete values which the data of the marking key can take; assign a discrete value to each of the zones; possibly modify the coordinates of the selected attribute, so that it is located in the zone whose discrete value corresponds to the value of the data of the marking key with which the selected attribute is associated, characterized in that it includes the application of a function for extracting the marking key (W), the application of this function comprising the following steps: selecting (50) the tattooed attributes; - Modify (52) the reference partition by inserting at least one new zone (Z 2 ; Z ' 3 , Z' 4 ) between the zones of the reference partition, this new zone defining a neighborhood of the borders between the zones of the reference partition; allocate (56) to the discrete value of the data of the extracted marking key with which each selected attribute is associated, the discrete value of the zone in which the selected attribute is located if it is located in one of the zones of the reference partition, outside the new zone; allocate (58) to the discrete value of the data of the extracted marking key with which each selected attribute is associated, a weighted value between two discrete values of neighboring areas, if the latter is in the new area, this weighted value being dependent on the location of the attribute within this new zone according to a predetermined function; calculating (60) a correlation score between the initial marking key and the extracted marking key to decide on the presence or absence of the marking key in the selected attributes.
2. Procédé de détection du tatouage d'un signal numérique selon la revendication 1 , caractérisé en ce que, le signal numérique (S1) étant un signal vidéo, lesdits attributs prédéterminés sont ses vecteurs mouvement.2. Method for detecting the watermarking of a digital signal according to claim 1, characterized in that, the digital signal (S 1 ) being a video signal, said predetermined attributes are its motion vectors.
3. Procédé de détection du tatouage d'un signal numérique (S1) selon la revendication 1 ou 2, caractérisé en ce que la fonction prédéterminée est une fonction sigmoïde.3. Method for detecting watermarking of a digital signal (S 1 ) according to claim 1 or 2, characterized in that the predetermined function is a sigmoid function.
4. Procédé de détection du tatouage d'un signal vidéo (S') selon l'une quelconque des revendications 1 à 3, caractérisé en ce que l'espace est divisé en plusieurs parties, dans chacune desquelles, on définit au moins deux zones (ZQ, Z, ; Z'0 Z Z'2), chacune de ces zones étant située à l'intérieur d'une autre de ces zones, à l'exception d'une zone extérieure (Z0) dont le contour extérieur correspond au contour de la partie dans laquelle elle se trouve, chaque nouvelle zone (Z2 ; Z'3, Z'4) insérée lors de l'étape d'extraction entourant une zone intérieurβi4. Method for detecting watermarking of a video signal (S ') according to any one of claims 1 to 3, characterized in that the space is divided into several parts, in each of which at least two zones are defined (ZQ, Z,; Z ' 0 Z Z' 2 ), each of these zones being located inside another of these zones, with the exception of an external zone (Z 0 ) whose external contour corresponds at the contour of the part in which it is located, each new zone (Z 2 ; Z ' 3 , Z' 4 ) inserted during the extraction step surrounding an interior zoneβi
5. Procédé de détection du tatouage d'un signal numérique (S') selon l'une quelconque des revendications 1 à 4, caractérisé en ce que, la clé de marquage étant à valeurs binaires, la partition de référence comporte une première zone (Z0) et une seconde zone (Z^ complémentaire de la première, et en ce que, lors de l'extraction de la clé de marquage : on modifie la partition de référence en insérant au moins une troisième zone (Z2) entre la première et la seconde zone, cette troisième zone définissant un voisinage de la frontière entre la première et la seconde zone ; on alloue au bit de la clé de marquage extraite auquel est associé chaque attribut sélectionné une valeur pondérée entre 0 et 1 , s'il se trouve dans la troisième zone, cette valeur pondérée étant dépendante de la localisation de l'attribut au sein de cette troisième zone selon une fonction prédéterminée,.5. Method for detecting the watermarking of a digital signal (S ') according to any one of claims 1 to 4, characterized in that, the marking key being with binary values, the reference partition comprises a first area ( Z 0 ) and a second zone (Z ^ complementary to the first, and in that, when extracting the marking key: the reference partition is modified by inserting at least a third zone (Z 2 ) between the first and second zone, this third zone defining a neighborhood of the border between the first and the second zone; the bit of the extracted marking key with which each selected attribute is associated is allocated a weighted value between 0 and 1, if is in the third zone, this weighted value being dependent on the location of the attribute within this third zone according to a predetermined function ,.
6. Procédé de détection du tatouage d'un signal numérique (S') selon les revendications 4 et 5, caractérisé en ce que les surfaces des première et seconde zones (Z0, Z ) sont chacune sensiblement égales à 45% de la surface de la partie dans laquelle elles sont définies, la surface de la troisième zone (Z ) insérée lors de l'étape d'extraction étant sensiblement égale à 10% de la surface de cette partie.6. Method for detecting the watermarking of a digital signal (S ') according to claims 4 and 5, characterized in that the surfaces of the first and second zones (Z 0 , Z) are each substantially equal to 45% of the surface of the part in which they are defined, the surface of the third zone (Z) inserted during the extraction step being substantially equal to 10% of the surface of this part.
7. Procédé de détection du tatouage d'un signal numérique (S1) selon l'une quelconque des revendications 1 à 6, caractérisé en ce que la partition de référence réalisée lors du tatouage comporte une grille de référence comprenant des blocs (40) de dimensions prédéfinies, chaque bloc comportant autant de zones (Zo, Z ) que de valeurs discrètes que peuvent prendre les données de la clé de marquage. 7. Method for detecting watermarking of a digital signal (S 1 ) according to any one of claims 1 to 6, characterized in that the reference partition produced during watermarking comprises a reference grid comprising blocks (40) of predefined dimensions, each block comprising as many zones (Zo, Z) as discrete values that the data of the marking key can take.
8. Procédé de détection du tatouage d'un signal numérique (S') selon la revendication 7, caractérisé en ce que l'on définit dans chaque bloc (40) de la grille de référence au moins un sous-bloc (42) centré à l'intérieur du bloc, les zones de ce bloc étant définies par les espaces entre les sous-blocs (42) et le bloc (40). 8. A method of detecting the watermarking of a digital signal (S ') according to claim 7, characterized in that in each block (40) of the reference grid is defined at least one centered sub-block (42) inside the block, the zones of this block being defined by the spaces between the sub-blocks (42) and the block (40).
9. Procédé de détection du tatouage d'un signal numérique (S) selon la revendication 8, caractérisé en ce que les blocs (40) et sous-blocs (42) de la grille de référence sont rectangulaires.9. A method of detecting the watermarking of a digital signal (S) according to claim 8, characterized in that the blocks (40) and sub-blocks (42) of the reference grid are rectangular.
10. Procédé de détection du tatouage d'un signal numérique (S') selon l'une quelconque des revendications 1 à 9, caractérisé en ce que, le procédé de tatouage du signal numérique (S') comportant en outre les étapes suivantes : calcul hiérarchique (14) de plusieurs niveaux successifs (12, 16) d'attributs, les attributs d'un niveau donné étant chacun associés à plusieurs attributs du niveau directement inférieur ; sélection (18) d'au moins une partie des attributs appartenant au niveau le plus élevé (16) ; application (22) de la fonction de tatouage à chaque attribut sélectionné conduisant au calcul d'un paramètre de modification de cet attribut ; application du paramètre de modification de l'attribut sélectionné aux attributs d'un niveau inférieur associés à cet attribut, pour chaque attribut (20) du niveau le plus élevé (16) sélectionné lors du tatouage : on extrait les attributs tatoués (26) associés à cet attribut ; on calcule un attribut moyen égal à la moyenne des attributs tatoués (26) associés à cet attribut ; et on applique la fonction d'extraction de la clé de marquage à l'attribut moyen calculé.10. Method for detecting watermarking of a digital signal (S ') according to any one of claims 1 to 9, characterized in that, the process for watermarking the digital signal (S') further comprising the following steps: hierarchical calculation (14) of several successive levels (12, 16) of attributes, the attributes of a given level each being associated with several attributes of the level directly below; selecting (18) at least some of the attributes belonging to the highest level (16); applying (22) the watermarking function to each selected attribute leading to the calculation of a parameter for modifying this attribute; application of the modification parameter of the selected attribute to the attributes of a lower level associated with this attribute, for each attribute (20) of the highest level (16) selected during tattooing: the tattooed attributes (26) associated are extracted to this attribute; a mean attribute is calculated equal to the mean of the watermarked attributes (26) associated with this attribute; and the function of extracting the marking key is applied to the calculated average attribute.
11. Procédé de détection du tatouage d'un signal numérique (S') selon la revendication 8, caractérisé en ce que les attributs d'un niveau (16) donné sont chacun égaux à la moyenne des attributs du niveau directement inférieur (12) auxquels ils sont associés. 11. Method for detecting watermarking of a digital signal (S ') according to claim 8, characterized in that the attributes of a given level (16) are each equal to the average of the attributes of the level directly below (12) with which they are associated.
12. Dispositif (70) de détection du tatouage d'un signal numérique (S'), pour la mise en œuvre d'un procédé selon l'une quelconque des revendications 1 à 11 , caractérisé en ce qu'il comporte : des moyens (78) de sélection des attributs tatoués ; des moyens (80) de modification de la partition de référence par l'insertion d'au moins une nouvelle zone (Z2) entre les zones de la partition de référence, cette nouvelle zone définissant un voisinage des frontières entre les zones de la partition de référence ; des moyens (82) d'allocation, à la valeur discrète de la donnée de la clé de marquage extraite à laquelle est associé chaque attribut sélectionné, de la valeur discrète de la zone dans laquelle se situe l'attribut tatoué si celui-ci se situe dans l'une des zones de la partition de référence, à l'extérieur de la nouvelle zone ; des moyens (82) d'allocation, à la valeur discrète de la donnée de la clé de marquage extraite à laquelle est associé chaque attribut sélectionné, d'une valeur pondérée entre deux valeurs discrètes de zones voisines, si celui-ci se trouve dans la nouvelle zone, cette valeur pondérée étant dépendante de la localisation de l'attribut au sein de cette nouvelle zone selon une fonction prédéterminée ; des moyens (84) de calcul d'un score de corrélation entre la clé de marquage initiale et la clé de marquage extraite pour décider de la présence ou de l'absence de la clé de la marquage dans les attributs sélectionnés. 12. Device (70) for detecting the watermarking of a digital signal (S '), for implementing a method according to any one of claims 1 to 11, characterized in that it comprises: means (78) selecting the tattooed attributes; means (80) for modifying the reference partition by inserting at least one new zone (Z 2 ) between the zones of the partition reference, this new zone defining a neighborhood of the borders between the zones of the reference partition; means (82) for allocating, to the discrete value of the data of the extracted marking key with which each selected attribute is associated, the discrete value of the zone in which the tattooed attribute is located if the latter is located in one of the zones of the reference partition, outside the new zone; means (82) of allocating, to the discrete value of the data of the extracted marking key with which each selected attribute is associated, a weighted value between two discrete values of neighboring zones, if this is found in the new zone, this weighted value being dependent on the location of the attribute within this new zone according to a predetermined function; means (84) for calculating a correlation score between the initial marking key and the extracted marking key to decide on the presence or absence of the marking key in the selected attributes.
PCT/FR2004/000484 2004-03-02 2004-03-02 Digital signal watermarking detection method and device WO2005096614A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/FR2004/000484 WO2005096614A2 (en) 2004-03-02 2004-03-02 Digital signal watermarking detection method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FR2004/000484 WO2005096614A2 (en) 2004-03-02 2004-03-02 Digital signal watermarking detection method and device

Publications (2)

Publication Number Publication Date
WO2005096614A2 true WO2005096614A2 (en) 2005-10-13
WO2005096614A3 WO2005096614A3 (en) 2006-03-30

Family

ID=34957465

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2004/000484 WO2005096614A2 (en) 2004-03-02 2004-03-02 Digital signal watermarking detection method and device

Country Status (1)

Country Link
WO (1) WO2005096614A2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960081A (en) * 1997-06-05 1999-09-28 Cray Research, Inc. Embedding a digital signature in a video sequence

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960081A (en) * 1997-06-05 1999-09-28 Cray Research, Inc. Embedding a digital signature in a video sequence

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BODO Y ET AL: "Watermarking video, hierarchical embedding in motion vectors" PROCEEDINGS 2003 INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (CAT. NO.03CH37429) IEEE PISCATAWAY, NJ, USA, vol. 3, 2003, pages II-739, XP002316803 ISBN: 0-7803-7750-8 *
JIE SONG ET AL: "A data embedding scheme for H.263 compatible video coding" CIRCUITS AND SYSTEMS. PROCEEDINGS OF THE IEEE INTERNATIONAL SYMPOSIUM ON ORLANDO, FL, USA 30 MAY-2 JUNE 1999, PISCATAWAY, NJ, USA,IEEE, US, vol. 4, 30 mai 1999 (1999-05-30), pages 390-393, XP010341178 ISBN: 0-7803-5471-0 *
JUN ZHANG ET AL: "Embedding watermark in mpeg video sequence" IEEE FOURTH WORKSHOP ON MULTIMEDIA SIGNAL PROCESSING, 3 octobre 2001 (2001-10-03), pages 535-540, XP010565828 *

Also Published As

Publication number Publication date
WO2005096614A3 (en) 2006-03-30

Similar Documents

Publication Publication Date Title
EP1473944A2 (en) Digital video watermarking method with adaptive selection of the watermarking area, watermarking detection method, device, corresponding computer readable storage medium and computer program product.
US8032754B2 (en) Systems and methods for embedding media forensic identification markings
KR101143233B1 (en) Desynchronized fingerprinting method and system for digital multimedia data
Maity et al. Perceptually adaptive spread transform image watermarking scheme using Hadamard transform
FR2894421A1 (en) METHOD AND DEVICE FOR DECODING A VIDEO STREAM CODE FOLLOWING A HIERARCHICAL CODING
EP1416737B1 (en) Method, system and data support for video watermarking, method and system for extracting this watermaking
CA2367420A1 (en) Method for inserting a watermark into an image
Bhatnagar et al. Secure randomized image watermarking based on singular value decomposition
Su et al. A practical design of digital watermarking for video streaming services
WO2010043809A1 (en) Prediction of an image by compensation during forward movement
US20050257099A1 (en) Information embedding method
Barani et al. Image forgery detection in contourlet transform domain based on new chaotic cellular automata
Pateux et al. Practical watermarking scheme based on wide spread spectrum and game theory
EP1330110B1 (en) Method and system for watermark decoding
Pandey et al. A passive forensic method for video: Exposing dynamic object removal and frame duplication in the digital video using sensor noise features
FR2853748A1 (en) METHOD FOR TATOTING A VECTOR-APPROACHING COLOR IMAGE, METHOD FOR DETECTING A TATTOO MARK, DEVICES, IMAGE AND CORRESPONDING COMPUTER PROGRAMS
Wang An efficient multiple-bit reversible data hiding scheme without shifting
WO2005096614A2 (en) Digital signal watermarking detection method and device
FR2834852A1 (en) METHOD AND DEVICE FOR TIME SEGMENTATION OF A VIDEO SEQUENCE
Carli et al. Video watermarking in 3D DCT domain
Dhaou et al. A multi-sprite based anaglyph 3d video watermarking approach robust against collusion
Al-Gindy et al. A new watermarking scheme for digital videos using DCT
Kumari et al. Optimized dwt based digital image watermarking and extraction using rnn-lstm
Narasimhulu A new blind watermark embedding model: spiral updated rider optimization algorithm
Almuzairai et al. Video watermarking system for copyright protection based on moving parts and silence deletion

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase