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,
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 , 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:
— 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.