Brevet FR2894759A1 — publié le 20070615

PROCEDE ET DISPOSITIF DE TATOUAGE SUR FLUX 1. Domaine de l'invention L'invention concerne un dispositif et un procédé d'insertion d'un tatouage ( watermarking en anglais) ou plus précisément d'une empreinte ( fingerprint en anglais) sur un flux ou train de données numériques compressées. 2. Etat de l'art L'invention concerne le domaine général du tatouage de données numériques. Plus précisément, elle concerne une application particulière du tatouage qui est l'insertion d'empreintes sur des données numériques. Dans la suite du document, les termes empreinte et tatouage sont utilisés indifféremment pour désigner le code numérique inséré sur les données numériques compressées. Il est connu pour protéger un contenu numérique (par exemple une vidéo, des données audio ou 3D, ...) d'insérer une empreinte unique sur chacun des flux de données distribués afin d'identifier la personne ou l'organisme ayant autorisé la diffusion dudit contenu sans autorisation. Ainsi, lors de la promotion d'un film, des DVDs tatoués à l'aide d'une empreinte différente sont envoyés à des personnes sélectionnées. Dans le cas d'une fuite, il est possible en reconstruisant l'empreinte d'identifier la source de la fuite. D'autres applications sont possibles : insérer un tatouage permettant d'identifier l'ceuvre ou les ayants droit, ou bien de transmettre des données auxiliaires (metadata) via le tatouage. Généralement, pour des raisons d'ordre économique, mais aussi des contraintes de temps et de capacité de calcul, le tatouage s'effectue sur flux (i.e. tatouage des données compressées avant codage entropique). La vidéo ainsi tatouée va subir de multiples transformations comme par exemple un transcodage. Or la plupart des techniques de tatouage actuelles font dépendre le tatouage inséré des paramètres de compression (par exemple type de transformation utilisée), et ne permettent donc pas le décodage ultérieur des informations de tatouage lorsque le contenu vidéo a subi des transformations. 3. Résumé de l'invention L'invention a pour but de pallier au moins un des inconvénients de l'art antérieur. Plus particulièrement, l'invention propose un procédé de tatouage sur flux indépendant des paramètres de compression utilisés (par exemple type de la transformée) afin de permettre la lecture du tatouage inséré indépendamment du format des données reçues. L'invention concerne notamment un procédé de tatouage d'un ensemble de données qui comprend : -une première étape de transformation d'au moins un groupe de données de l'ensemble par une première transformée TI en un premier groupe de coefficients dans un premier espace de transformation; - une première étape de tatouage pour tatouer le premier groupe de coefficients selon un processus de tatouage prédéterminé ; - une étape pour générer un premier groupe de données de tatouage représentant les modifications induites par la première étape de tatouage sur les coefficients du premier groupe de coefficients ; - une première étape de projection du premier groupe de données de tatouage dans un deuxième espace de transformation, cette étape générant un deuxième groupe de données de tatouage ; - une deuxième étape de transformation du groupe de données par une deuxième transformée en un deuxième groupe de coefficients dans le deuxième espace de transformation; et - une deuxième étape de tatouage pour tatouer le deuxième groupe de coefficients avec le deuxième groupe de données de tatouage. Préférentiellement, l'étape de projection consiste à appliquer sur le premier groupe de données de tatouage une transformée inverse de la première transformée TI puis à appliquer la deuxième transformée T2 sur le premier groupe de données de tatouage après la transformation par la transformée inverse. Préférentiellement, le premier groupe de données de tatouage est généré en calculant, pour chacun des coefficients du premier groupe de coefficients, la différence entre le coefficient après la première étape de tatouage et le coefficient avant la première étape de tatouage. Les coefficients modifiés par la première étape de tatouage étant connus, la différence n'est calculée que pour ces coefficients, les autres différences étant mises à zéro. Selon un mode de réalisation préféré, la deuxième étape de tatouage du deuxième groupe de coefficients consiste à additionner à chacun des coefficients du deuxième groupe de coefficients la donnée correspondante du deuxième groupe de données de tatouage. Selon un mode de réalisation particulier, l'ensemble de données comprend des données codées d'une séquence d'images, le groupe de données de l'ensemble comprend des données codées d'un bloc de pixels d'une des images de la séquence et les étapes du procédé sont appliquées après décodage au groupe de données de l'ensemble. Préférentiellement, l'ensemble de données comprend des données codées conformément à l'une des normes de codage appartenant à l'ensemble des normes comprenant : -H.264; - MPEG-2 ; et - vol. Avantageusement, les étapes du procédé sont appliquées uniquement à des groupes de données comprenant des données codées de blocs de pixels appartenant à des images de la séquence codées indépendamment des autres images de la séquence. Selon une caractéristique particulière, la première transformée TI est une transformée en cosinus discrète opérant sur des blocs de pixels de taille 8 par 8 pixels. Selon une autre caractéristique, la deuxième transformée T2 est une transformée entière approximant une transformée en cosinus discrète opérant sur des blocs de pixels de taille 4 par 4 pixels. Selon un mode de réalisation avantageux, l'étape de projection est suivie d'une étape consistant à annuler un nombre maximum de données de tatouage du deuxième groupe de données de tatouage tout en maximisant l'énergie de tatouage associée, cette étape générant un groupe creux de données de tatouage. L'énergie du tatouage associée au deuxième groupe de données de tatouage est proportionnelle à la racine carrée de la somme des données du deuxième groupe de données de tatouage au carré. Préférentiellement, si le processus de tatouage prédéterminé modifie la valeur d'un seul coefficient dans le premier groupe de coefficients, l'étape consistant à annuler un nombre maximum de données de tatouage dans le deuxième groupe de données de tatouage est suivie d'une étape consistant à modifier la valeur des données non nulles du groupe creux de données de tatouage pour générer un groupe creux pré-accentué de données de tatouage de manière à ce que, lorsque le groupe creux pré-accentué de données de tatouage est projeté dans le premier espace de transformation, la donnée non nulle dans le premier groupe de données de tatouage ait la même valeur que la donnée correspondante du groupe creux pré-accentué de données de tatouage après projection dans le premier espace de transformation. Selon une caractéristique avantageuse, le processus de tatouage prédéterminé consiste pour un premier groupe de coefficients auquel est associé un bit de tatouage bi à modifier la valeur d'au plus deux coefficients r1 et r2 du premier groupe de coefficients de telle sorte que la relation d'ordre suivante soit vérifiée : 1rl = r2 +d *Bi, où : - I'1 et F sont les deux coefficients modifiés ; - d est un paramètre de marquage appelé distance de marquage ; et - Bi est un coefficient dont la valeur est définie comme suit : Bi =1 si bi=0 et Bi = -1 si bi=1. Selon un autre mode de réalisation avantageux, si le processus de tatouage prédéterminé modifie la valeur de N coefficients dans le premier groupe de coefficients, l'étape de projection dans le deuxième espace de transformation est effectuée conjointement avec une étape consistant à annuler des données du deuxième groupe de données de tatouage et une étape consistant à modifier la valeurs des M données du deuxième groupe de données de tatouage non annulées générant ainsi un groupe creux pré-accentué de données de tatouage. Les valeurs et les positions des M données non nulles sont déterminées de telle sorte que l'énergie quadratique associée au groupe creux pré-accentué de données de tatouage soit minimisée et de telle sorte que lorsque le groupe creux pré-accentué de données de tatouage est projeté dans le premier espace de transformation, chacune des N données non nulles dans le premier groupe de données de tatouage ait la même valeur que la donnée correspondante du groupe creux pré-accentué de données de tatouage après projection dans le premier espace de transformation, avec N>_2 et M>_2. Préférentiellement, N=M=2 et l'énergie quadratique associée au groupe creux pré-accentué de données de tatouage est égale la racine carrée de la somme des coefficients du groupe creux pré-accentué de données de tatouage au carré. Avantageusement, l'ensemble de données appartient au groupe 10 comprenant : - des données du type séquence d'images ; - des données du type audio ; et - des données du type 3D. 15 L'invention concerne également un dispositif de tatouage d'un ensemble de données qui comprend : - des premiers moyens de transformation d'au moins un groupe de données de l'ensemble en un premier groupe de coefficients dans un premier espace de transformation; 20 - des premiers moyens de tatouage prédéterminés pour tatouer le premier groupe de coefficients ; - des moyens pour générer un premier groupe de données de tatouage représentant les modifications induites par les premiers moyens de tatouage sur les coefficients du premier groupe de coefficients ; 25 -des moyens pour projeter le premier groupe de données de tatouage dans un deuxième espace de transformation, les moyens générant un deuxième groupe de données de tatouage ; - des seconds moyens de transformation du groupe de données en un deuxième groupe de coefficients dans le deuxième espace de 30 transformation; et - des premiers moyens de tatouage pour tatouer le deuxième groupe de coefficients avec le deuxième groupe de données de tatouage. 4. Listes des fiqures L'invention sera mieux comprise et illustrée au moyen d'exemples de modes de réalisation et de mise en ceuvre avantageux, nullement limitatifs, en référence aux figures annexées sur lesquelles : la figure 1 illustre le procédé de tatouage selon l'invention ; la figure 2 représente différentes matrices de contribution dans les espaces de transformation DCT et H ; La figure 3 illustre une mode de réalisation particulier du procédé de tatouage selon l'invention ; La figure 4 représente une matrice de contribution dans l'espace H creusée et pré-accentuée selon un mode de réalisation particulier de l'invention ; La figure 5 illustre un processus de lecture de tatouage opérant dans l'espace de transformation DCT ; et La figure 6 illustre un dispositif de tatouage selon l'invention. 5. Description détaillée de l'invention L'invention concerne un procédé de tatouage d'une séquence d'images ou vidéo indépendant des paramètres de compression utilisés pour compresser lesdites images. Chaque image de la séquence comprend des pixels à chacun desquels est associé au moins une valeur de luminance. Lorsque deux blocs de pixels sont additionnés, cela signifie que la valeur associée à un pixel de coordonnés (i,j) dans un bloc est ajoutée à la valeur associée au pixel de coordonnés (i,j) dans l'autre bloc. Lorsque deux blocs de pixels sont soustraits cela signifie que la valeur associée à un pixel de coordonnés (i,j) dans un bloc est soustraite de la valeur associée au pixel de coordonnés (i,j) dans l'autre bloc. De même, à un bloc de pixels peut être ajoutée ou soustraite une matrice M de coefficients de même taille, la valeur associée à un pixel de coordonnés (i,j) dans le bloc étant ajoutée respectivement soustraite à la valeur du coefficient en position (i,j) notée M(i,j) dans la matrice. De manière générale, une matrice peut être identifiée à un bloc de coefficients. L'invention est plus particulièrement décrite pour un flux vidéo codé conformément à la norme de codage vidéo MPEG-4 AVC telle que décrite dans le document ISO/IEC 14496-10 (intitulé en anglais Information technology -- Coding of audio-visual objects -- Part 10: Advanced Video Coding ). Conformément aux standards de compression vidéo classiques, tel que MPEG-2, MPEG-4, et H.264, les images d'une séquence d'images peuvent être de type intra (image I), i.e. codées sans référence aux autres images de la séquence ou de type inter (i.e. images P et B), i.e. codées en étant prédites à partir d'autres images de la séquence. Les images sont généralement divisées en macroblocs eux-mêmes divisés en blocs de pixels disjoints de taille N pixels par P pixels, appelés blocs NxP. Ces macroblocs sont eux-mêmes codés selon un mode de codage intra ou inter. Plus précisément tous les macroblocs dans une image I sont codés selon le mode intra alors que les macroblocs dans une image P peuvent être codés selon un mode inter ou intra. Les macroblocs éventuellement prédits sont ensuite transformés bloc par bloc en utilisant une transformée par exemple une transformée en cosinus discrète ( Discrete Cosinus Transform en anglais) référencée DCT ou encore une transformée de Hadamard. Les blocs ainsi transformés sont quantifiés puis codés en utilisant généralement des codes à longueur variable. Dans le cas particulier de la norme MPEG-2 les macroblocs de taille 16 par 16 pixels sont divisés en blocs 8x8 eux mêmes transformés avec une DCT 8x8 en blocs 8x8 transformés. Dans le cas de H.264, les macroblocs de type intra relatifs à la composante de luminance peuvent être codé selon le mode intra4x4 ou selon le mode intral6x16. Un macrobloc intra codé selon le mode intra4x4 est divisé en 16 blocs 4x4 disjoints. Chaque bloc 4x4 est prédit spatialement par rapport à certains blocs voisins situés dans un voisinage causal, i.e. à chaque bloc 4x4 est associé un bloc 4x4 de prédiction généré à partir desdits blocs voisins. Des blocs 4x4 de résidus sont générés en soustrayant de chacun des blocs 4x4, le bloc 4x4 de prédiction associé. Les 16 blocs de résidus ainsi générés sont transformés par une transformée 4x4 entière H qui approxime une DCT 4x4. Un macrobloc intra codé selon le mode intral6x16 est prédit spatialement par rapport à certains macroblocs voisins situés dans un voisinage causal, i.e. un bloc 16x16 de prédiction est généré à partir desdits macroblocs voisins. Un macrobloc de résidus est généré en soustrayant du macrobloc intra le macrobloc de prédiction associé. Ce macrobloc de résidus est divisé en 16 blocs 4x4 disjoints qui sont transformés par la transformée H. Les 16 coefficients basse fréquence (appelés coefficients DC) ainsi obtenus sont à leur tour transformés par une transformée de Hadamard 4x4. Dans la suite du document, la transformée T qui est appliquée sur un macrobloc désigne une transformée 4x4 H appliquée sur chacun des blocs 4x4 du macrobloc si le macrobloc est codé en mode intra4x4 et une transformée 4x4 H appliquée sur chacun des blocs 4x4 du macrobloc suivie d'une transformée de Hadamard appliquée sur les coefficients DC si le macrobloc est codé en mode intral6x16. Des processus de lecture de tatouage opérant dans l'espace de transformation DCT sur des blocs 8x8 existent. Ces processus de lecture permettant notamment de lire des tatouages insérés dans l'espace de transformation DCT par divers processus. Un premier processus de tatouage appliqué par exemple dans l'espace de transformation DCT aux blocs 8x8 transformés notés Bg gT d'une image à tatouer consiste à modifier éventuellement pour chaque bloc Bg gT la relation d'ordre existant entre les valeurs absolues de deux de ses coefficients DOT, notés rl et r2. En général, ces deux coefficients sont sélectionnés pour un bloc donné à l'aide d'une clé secrète. Le bit bi de l'empreinte associé à un bloc Bg gT est inséré dans ce bloc en modifiant la relation d'ordre existant entre les valeurs absolues des deux coefficients FI et F2. Afin de contrôler la visibilité du tatouage, on ne modifie les coefficients d'un bloc que si la relation suivante est vérifiée: rl û r2 Si la relation d'ordre est déjà vérifiée aucun des deux coefficients n'est modifié. F1 et F2 peuvent être modifiés de diverses façons afin d'assurer la relation définie précédemment. Définissons et = ri ùF1 et e2 = r2 -F2, les valeurs de et et e2 sont définies pour chaque bloc Bg gT de la manière suivante : e1 =ùT1+signe(T1)*(f (T1,F2)+d1) et e2 =-T2+signe(T2)*(f2(T1,F2)+d2) Le choix de la fonction/ est libre, on peut par exemple choisir fi(F1,T2) = f2(F1,T2) = F2 .Par exemple, Dans le cas ou bi=O, choisissons d2 = ù r2 et d1 = ù r2 + d , alors la relation d'ordre (1) est bien vérifiée. Dans le cas où bi=1, choisissons d1 = ùT2 et d2 = ùT2 ùd , alors la relation d'ordre (1) est également vérifiée. Les valeurs de d et de S varient en fonction de l'application et notamment en fonction du risque de piratage. En effet, plus la valeur de d est élevée, plus le tatouage est robuste mais plus il est visible. Ainsi pour conserver une bonne qualité visuelle de la séquence d'images, la force de marquage doit être limitée. Selon un deuxième processus de tatouage appliqué par exemple dans l'espace de transformation DCT un seul coefficient F1 par bloc Bg gT est modifié de telle sorte que T1' = X si b;=0, = si b;=1. La valeur a, ou représente la valeur du coefficient ri que le lecteur de tatouage doit effectivement lire pour pouvoir identifier le bit de tatouage b;. De tels processus de tatouage et donc les processus de lecture du tatouage ont déjà été développés pour opérer dans l'espace de transformation DCT sur des blocs 8x8 transformés. L'invention propose un procédé de tatouage sur flux basé sur un processus de tatouage prédéterminé comme par exemple l'un des deux processus de tatouage décrits précédemment sans qu'elle soit limitée à ces deux processus. Le procédé de tatouage selon l'invention est indépendant des paramètres de compression utilisés, il est notamment indépendant du type de la transformée permettant la lecture un certain domaine transformé (par exemple DOT) du tatouage inséré dans un autre domaine transformé (par exemple H) indépendamment du format des données reçues. Selon un mode de réalisation particulier, l'invention permet de tatouer une séquence d'images codée conformément à la norme MPEG-4 AVC. Le tatouage inséré selon l'invention peut être relu par un lecteur de tatouage opérant dans l'espace de transformation DCT sur des blocs 8x8. Un premier mode de réalisation de l'invention est illustré par la figure 1. Seules les images intra, dites images I, d'une séquence d'images sont tatouées, plus particulièrement la composante de luminance de ces images. Le procédé selon l'invention est décrit pour un macrobloc 16x16 référencé M16x16 et est préférentiellement appliqué à tous les macroblocs 16x16 de l'image I. L'étape 10 consiste à décoder (p. ex. décodage entropique, quantification inverse, transformée inverse, et ajout du prédicteur spatial dans le cas de la norme H.264) les parties du flux de données codées correspondant au macrobloc MB16x16 afin de reconstruire ledit macrobloc. La suite du procédé est décrite pour un bloc 8x8, référencé Bgxg, du macrobloc MB16x16 reconstruit et est appliqué à tous les blocs 8x8 de ce macrobloc. L'étape 11 consiste à transformer le bloc Bgxg par une transformée DCT 8x8 en un bloc 8x8 transformé noté BD" . L'étape 12 consiste à tatouer le bloc Bg gT selon un processus de tatouage prédéterminé comme par exemple le premier ou le deuxième processus de tatouage décrit précédemment ou encore tout autre processus de tatouage permettant de tatouer l'image dans l'espace de transformation DOT. Le bit de tatouage affecté au bloc Bg gT est déterminé par l'empreinte à insérer dans l'image I à laquelle appartient le bloc Bg gT . Cette étape permet 25 de générer un bloc tatoué noté Bg gTT t ue A l'étape 13, le bloc Bg gT est soustrait du bloc Bg gTT t ue afin de générer un premier groupe de données ou coefficients de tatouage appelé matrice de contribution et noté MDCT. Selon un autre mode de réalisation, cette différence n'est calculée que sur les coefficients du bloc concernés par le tatouage, i.e. 30 les coefficients du bloc modifié par le tatouage. L'étape 14 consiste à exprimer la matrice MDCT dans la base H, i.e. à projeter la matrice MDCT dans l'espace H pour générer un deuxième groupe de données ou coefficients de tatouage également appelé matrice de contribution et noté MH. A cet effet, une transformée DCT inverse est appliquée sur la matrice MDCT pour générer une matrice MDcT . La transformée H est ensuite appliquée sur chacun des blocs 4x4 de la matrice MDicT pour générer, dans l'espace H, la matrice de contribution MH. Le changement de base a pour effet de répartir sur plusieurs coefficients la modification induite par le tatouage qui était concentrée sur un ou deux coefficients dans la base DOT. La figure 2 illustre le cas où le processus de tatouage prédéterminé modifie un seul coefficient dans l'espace DOT, les autres étant nuls alors que dans la matrice MH de nombreux coefficients sont non nuls. Sur cette figure les coefficients non nuls sont représentés par une croix. Lorsque les quatre matrices de contributions MH associées à chacun des blocs 8x8 du macrobloc MB16x16 sont générées alors les quatre matrices de contributions MH sont regroupées à l'étape 15 pour former une super-matrice de contribution SMH de taille 16x16 de telle sorte que chacune des matrices MH ait la même position dans la super-matrice SMH que le bloc 8x8 auquel elle est associée dans le macrobloc MB16x16. Si le macrobloc MB16x16 est codé selon le mode intral6x16 alors une transformée de Hadamard 4x4 est appliquée sur les 16 coefficients DC de la super-matrice SMH. Si aucun des macroblocs MB16x16 n'est codé selon le mode intral6x16 alors cette étape peut être omise. A l'étape 16, le prédicteur spatial généré à l'étape 22 est soustrait du macrobloc MB16x16 afin de générer un macrobloc de résidus qui est transformé à l'étape 17 par la transformée H et éventuellement par la transformée de Hadamard 4x4 conformément à MPEG-4 AVC. Le macrobloc ainsi généré est noté MB 6X16 . L'étape 18 de tatouage dans l'espace de transformation H, également appelé espace d'écriture, consiste alors à ajouter la super-matrice de contribution SMH au macrobloc MB6X16 pour générer un macrobloc tatoué 6X noté MB 16e . Le macrobloc MB 6Xi6e tatoué dans l'espace transformé de MPEG-4 AVC est alors quantifié à l'étape 19 puis codé par codage entropique à l'étape 20. Lorsque toutes les données relatives aux images 1 à tatouer ont été traitées, elles sont multiplexées aux autres données du flux de données numériques initial non décodées comprenant notamment les données relatives aux autres images de la séquence. Sur le macrobloc MB 6X16: quantifié à l'étape 19 est appliqué à l'étape 21 une quantification inverse et une transformée inverse (qui correspondant à la transformée H inverse et éventuellement qui tient compte de la transformée de Hadamard 4x4). Au macrobloc ainsi généré est ajouté le macrobloc de prédiction spatiale qui a servi à l'étape 16 à la prédiction spatiale du macrobloc MB16X16. Le macrobloc ainsi généré est stocké en mémoire pour servir à la prédiction spatiale de futurs macroblocs. Selon un autre mode de réalisation illustré par la figure 3, la matrice MH est creusée lors d'une étape 141, i.e. certains de ses coefficients sont annulés, préalablement au tatouage effectué à l'étape 18 de manière à limiter l'augmentation du débit lié à l'insertion du tatouage tout en limitant la modification due au tatouage. La matrice creuse ainsi générée est notée MCH sur la figure 2. Cette figure illustre le cas particulier où le processus de tatouage prédéterminé ne modifie qu'un seul coefficient DCT par bloc 8x8. Plus la matrice MH est creusée, plus le tatouage résultant dans l'espace de transformation DCT va être déformé et plus son énergie va être diminuée. Afin de minimiser ces effets, la matrice creuse MCH sélectionnée est la matrice qui maximise le produit de l'énergie EMC de la matrice creuse par le taux de creux TC de la matrice MCH. L'énergie EMC qui est proportionnelle à l'énergie de tatouage dans l'espace de transformation DCT est définie comme suit : EMC = L MCH (i, J)2 (2) TC est égal au rapport entre le nombre de coefficients nuls de la matrice et le nombre total de coefficients de la matrice MCH. La matrice creuse MCH est sélectionnée par exemple en recherchant de manière exhaustive parmi l'ensemble noté {MC}M des matrices creuses créées à partir de MH celle qui maximise le produit EMC par TC. A cet effet, le produit EMc*TC est calculé pour chacune des matrices de l'ensemble {MC}MH et est stocké en mémoire. La matrice de l'ensemble {MC}M qui maximise le produit EMc*TC est sélectionnée. Selon une variante, une valeur minimale d'énergie de tatouage est fixée. Cette valeur correspond à une valeur minimale d'énergie de la matrice creuse égale à EMcn . La matrice creuse MCH sélectionnée est la solution d'un problème d'optimisation sous contrainte qui consiste à déterminer dans l'ensemble {MC}M la matrice creuse ayant le plus grand nombre de coefficients nuls et dont l'énergie est supérieure ou égale à EMcn . L'optimisation sous contrainte peut être effectuée par une méthode lagrangienne. Selon une variante, l'énergie de la matrice creuse utilisée pour caractériser l'énergie du tatouage peut être définie différemment par exemple en pondérant l'expression précédente (2) en fonction de la fréquence spatiale des coefficients. A cet effet, plus la fréquence d'un coefficient est élevée plus le poids affecté à ce coefficient est faible. Selon un mode de réalisation particulier, la matrice MCH est préaccentuée ou pré-compensée préalablement au tatouage effectué à l'étape 18 afin de tenir compte du biais introduit dans l'espace de transformation DCT par l'étape consistant à creuser la matrice MH qui perturbe la lecture du tatouage dans l'espace DOT. La matrice creuse pré-accentuée est notée MCAH. L'étape de pré-accentuation 142 consiste à modifier les coefficients non nuls de la matrice creuse MCH pour générer la matrice MCAH de manière à ce que cette matrice soit la plus proche possible dans l'espace de lecture (i.e. espace dans lequel est effectué la lecture de la modification induite par le tatouage, en l'occurrence l'espace DOT) du résultat désiré de lecture, par exemple de manière à minimiser l'erreur quadratique moyenne 11MCAHùMHI12 . Ce mode de réalisation illustré par la figure 2 permet par exemple de pré-accentuer la matrice MCH lorsque le processus de tatouage 30 prédéterminé utilisé pour tatouer les blocs 8x8 transformés ne modifie qu'un seul coefficient ri comme le fait le deuxième processus de tatouage décrit au début du document. Supposons que le coefficient ri modifié soit positionné en (io, jo) dans le bloc Bg gT et que F1' = . Dans la matrice M'DCT obtenue par projection de MCH dans l'espace de transformation DCT le coefficient en position (io, jo) a la valeur a au lieu de la valeur A = X 4-'11 qui seule permet une lecture correcte du bit de tatouage b;. La matrice MCH est donc pré-accentuée pourgénérer une matrice creusée pré-accentuée, notée MCAH, de telle sorte que la valeur du coefficient en position (io, jo) dans la matrice M"DCT, projection de MCAH dans l'espace de transformation DOT, soit égale à A. Dans le mode de réalisation selon l'invention, la matrice MCAH est définie de la manière suivante : MCAH(i,j)=0 pour tous les coefficients nuls de la matrice MCH et MCAH(i,j)= R MCH(i,j) pour les autres coefficients de la matrice MCH, où a R = r, avec a#0 et où a est le coefficient en position (io, jo) dans l'espace ~, û 1 DCT de la matrice creuse MCH. Cette pré-accentuation permet de garantir que le coefficient en position (io, jo) modifié par le tatouage dans la matrice de contribution M"DCT ait bien la valeur X û r1 et donc que la valeur du coefficient ri modifié par le tatouage ait bien la valeur A. Selon un mode de réalisation préféré, la matrice MH est creusée et pré- accentuée conjointement. Si le processus de tatouage prédéterminé modifie deux coefficients F1 et F2 comme le fait le premier processus de tatouage décrit au début du document, alors dans la matrice de contribution MDCT associée à un bloc B8,,8 seuls deux coefficients e, et e2 sont non nuls. La matrice MCAH est alors déterminée directement à partir de MDCT. MCAH qui est une matrice dont seuls deux coefficients sont non nuls est défini par la relation suivante : MCAH =y1M(X1)+y2M(X2), où M(Xi ) est une matrice dont tous les coefficients sont nuls sauf le coefficient en position Xz(xz,yz) dont la valeur est égale à 1. Une telle matrice MCAH est représentée sur la figure 4. La projection de la matrice MCAH dans l'espace de transformation DCT est notée MDcT . Les coefficients de MDcT localisés e'2=g(y1,72 , XI, X2). Les valeurs yl et 72 sont solutions du système suivant: f(y1,y2,X1,X2)=e, et g(y1,y2 ,X1,X2)= e2. Les valeurs yl et 72 ainsi déterminées dépendent des valeurs de XI et X2. Ces deux dernières valeurs sont déterminées par un parcours exhaustif de tous les couples de position possibles dans la matrice MCAH. Pour chacun des couples (XI, X2), les valeurs résultantes yl et 72 sont calculées ainsi que l'énergie quadratique E(y1'72) correspondante. Les valeurs de XI et X2 sélectionnées sont celles qui minimisent E(y1'72) afin de diminuer l'impact visuel du tatouage. Ce mode de réalisation décrit pour deux coefficients peut être appliqué à N coefficients, N>_1. Selon un autre mode de réalisation, le paramètre de quantification défini pour quantifier chaque bloc 4x4 de l'image I est modifié. Un seuil maximal de déformation du signal de tatouage est autorisé. La mesure de déformation est l'erreur quadratique moyenne (EQM) entre le signal tatoué quantifié et le signal tatoué calculé comme suit :EQM = (S'H (i, j) i,i où : - SH (i, j) est la valeur associée au pixel de coordonnées (i,j) du signal initial après prédiction spatiale et transformation, - S'H (i, j) est la valeur associée au pixel de coordonnées (i,j) du signal SH (i, j) tatoué, et -SQ'(i, j) est la valeur associée au pixel de coordonnées (i,j) du signal S'H (i, j) après quantification. Le seuil maximal de tatouage ST est défini en fonction de la mesure de déformation choisie. Selon une caractéristique particulière, ST = L(SH (i, j) ûSH '(i, j))2 . Le paramètre de quantification pour un bloc 4x4 donné est diminué jusqu'à ce que la déformation induite soit plus faible que le seuil ST. La figure 5 représente un processus de lecture de tatouage classique opérant dans l'espace de transformation DCT permettant de lire le tatouage d'un flux de données tatouées conformément à l'invention dans l'espace de transformation H lorsque le processus de tatouage prédéterminé utilisé est le premier processus décrit qui modifie deux coefficients F1 et F2. Les blocs 8x8 d'une image décodée sont transformés par DCT 8x8 à l'étape 50. L'étape 51 de lecture du tatouage traite chacun des macroblocs de l'image et consiste à relire le bit de tatouage associé b;. Avantageusement selon l'invention un tel processus de lecture peut être réutilisé pour lire un tatouage inséré par le procédé de tatouage selon l'invention même si ce tatouage a été effectué dans un autre domaine de représentation que le domaine DOT. L'invention concerne également un dispositif de tatouage 6 tel qu'illustré par la figure 6 qui reçoit en entrée un flux de données numériques codées par exemple conformément à la syntaxe MPEG-4 AVC. Ce dispositif est apte à mettre en ceuvre le procédé selon l'invention. Sur cette figure, les modules représentés sont des unités fonctionnelles, qui peuvent ou non correspondre à des unités physiquement distinguables. Par exemple, ces modules ou certains d'entre eux peuvent être regroupés dans un unique composant, ou constituer des fonctionnalités d'un même logiciel. A contrario, certains modules peuvent éventuellement être composés d'entités physiques séparées. Selon un mode de réalisation particulier, les parties du flux de données relatives aux images I sont ensuite décodées par un module 60 opérant la reconstruction des macroblocs (i.e. décodage entropique, quantification inverse, transformation inverse et éventuellement ajout de la prédiction spatiale des macroblocs dans le cas d'un flux codé conformément à la syntaxe MPEG-4 AVC). Les blocs de pixels ainsi reconstruits sont ensuite transformés par un module 61. Un module de tatouage 62 permet de tatouer les blocs de pixels transformés par une transformée TI par exemple une DOT. Le dispositif de tatouage comprend en outre un module 73 permettant de soustraire de chacun des blocs ainsi tatoués le bloc correspondant non tatoué pour générer une première information de tatouage également appelée matrice de contribution MDCT. Un module 63 permet de projeter les matrices MDCT dans l'espace de transformation H, ou plus généralement dans l'espace de transformation T2, de manière à générer pour chaque bloc 8x8 une deuxième information de tatouage appelée matrice de contribution MH. Ce module permet également de générer la super-matrice de contribution tel que définie précédemment si nécessaire. Le dispositif comprend en outre un module optionnel de prédiction spatiale 64 et un module 65 opérant une transformée H ou plus généralement une transformée T2. Un module 66 permet de tatouer les données transformées par le module 65 dans le deuxième espace de transformation en ajoutant à ces données transformées la deuxième information de tatouage générée par le module 63. Un module 67 permet de quantifier le macrobloc tatoué. Le dispositif comprend également un module 68 opérant une quantification inverse et un module 69 opérant une transformation inverse. Il comprend par ailleurs une mémoire 70 permettant de stocker les macroblocs tatoués et décodés. Enfin, le dispositif comprend un module 71 de codage entropique et un multiplexeur 72 permettant de multiplexer les données tatouées selon l'invention avec les autres données du flux initial codé. Les modules 64, 68, 69 et 70 sont optionnels. En effet, toutes les normes de codage ne nécessitent pas de prédire spatialement les données avant de les décoder. Bien entendu, l'invention n'est pas limitée aux exemples de réalisation mentionnés ci-dessus. En particulier, l'homme du métier peut apporter toute variante dans les modes de réalisation exposés et les combiner pour bénéficier de leurs différents avantages. Notamment l'invention décrite dans le cadre d'un codage vidéo basé sur la norme H.264 peut être étendue à tout type de données support (audio, données 3D). Les modes de réalisation décrits pour une transformée DCT et une transformée H peuvent être étendu à tout type de transformée. D'une manière générale, le procédé de tatouage selon l'invention consiste à tatouer des données numériques dans un premier espace de transformation Ti, à générer dans cet espace Ti un premier groupe de coefficients MT1 qui correspond à la matrice de contribution MDCT dans le mode de réalisation décrit précédemment, à le projeter dans un autre espace de transformation T2 pour générer un deuxième groupe de coefficients qui correspond à la matrice de contribution MH dans le mode de réalisation décrit précédemment et à tatouer les données dans cet espace de transformation T2. Un lecteur de tatouage opérant dans l'espace de transformation TI peut alors relire le tatouage inséré dans l'espace de transformation T2. Notamment, l'invention peut être appliquée à d'autres normes de codage vidéo comme la norme VC1 décrite dans le document de la SMPTE intitulé proposed SMPTE Standard for Television : VC1 Compressed Video Bitstream Format and Decoding Process et référencé SMPTE 421M. Lorsque l'invention est utilisée avec des normes de codage n'utilisant pas de prédiction spatiale les étapes 16, 21 et 22 du procédé selon l'invention ne sont pas appliquées. De même l'étape 15 n'est pas nécessairement appliquée lorsque la deuxième transformée T2 opère uniquement sur des blocs d'une seule taille par exemple des blocs 8x8. La présente invention n'est pas limitée aux processus de tatouage décrits précédemment. En outre, l'invention a été décrite pour le tatouage des images intra mais peut également être appliquée aux images prédites. Revendications 1. Procédé de tatouage d'un ensemble de données comprenant: - une première étape (11) de transformation d'au moins un groupe de données dudit ensemble par une première transformée (TI) en un premier groupe de coefficients dans un premier espace de transformation; - une première étape de tatouage (12) pour tatouer ledit premier groupe de coefficients selon un processus de tatouage prédéterminé ; caractérisé en ce qu'il comprend en outre : - une étape pour générer (13) un premier groupe de données de tatouage représentant les modifications induites par ladite première étape de tatouage (12) sur les coefficients dudit premier groupe de coefficients ; - une première étape de projection (14) dudit premier groupe de données de tatouage dans un deuxième espace de transformation, ladite étape générant un deuxième groupe de données de tatouage ; - une deuxième étape (17) de transformation dudit au moins un groupe de données par une deuxième transformée (T2) en un deuxième groupe de coefficients dans ledit deuxième espace de transformation; et - une deuxième étape de tatouage (18) pour tatouer ledit deuxième groupe de coefficients avec ledit deuxième groupe de données de tatouage. 2. Procédé selon la revendication 1, caractérisé en ce que le premier groupe de données de tatouage est généré (13) en calculant, pour chacun desdits coefficients dudit premier groupe de coefficients, la différence entre ledit coefficient après la première étape de tatouage (12) et ledit coefficient avant la première étape de tatouage. 3. Procédé selon la revendication 2, caractérisé en ce que les coefficients modifiés par ladite première étape de tatouage (12) étant connus, laditedifférence n'est calculée que pour ces coefficients, les autres différences étant mises à zéro. 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que la deuxième étape de tatouage (18) dudit deuxième groupe de coefficients consiste à additionner à chacun desdits coefficients dudit deuxième groupe de coefficients la donnée correspondante dudit deuxième groupe de données de tatouage. 5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que ledit ensemble de données comprend des données codées d'une séquence d'images, en ce que ledit au moins un groupe de données comprend des données codées d'un bloc de pixels d'une desdites images de ladite séquence et en ce que les étapes du procédé sont appliquées après décodage audit au moins un groupe de données. 6. Procédé selon la revendication 5, caractérisé en ce que ledit ensemble de données comprend des données codées conformément à l'une des normes de codage appartenant à l'ensemble des normes comprenant : - H.264 ; - MPEG-2 ; et - VC1. 7. Procédé selon la revendication 5 ou 6, caractérisé en ce que les étapes du procédé sont appliquées uniquement à des groupes de données comprenant des données codées de blocs de pixels appartenant à des images de ladite séquence codées indépendamment des autres images de ladite séquence. 8. Procédé selon l'une des revendications 5 à 7, caractérisé en ce que la 30 première transformée (TI) est une transformée en cosinus discrète opérant sur des blocs de pixels de taille 8 par 8 pixels. 9. Procédé selon l'une des revendications 5 à 8, caractérisé en ce que la deuxième transformée (T2) est une transformée entière approximant unetransformée en cosinus discrète opérant sur des blocs de pixels de taille 4 par 4 pixels. 10. Procédé selon l'une des revendications 1 à 9, caractérisé en ce que l'étape de projection est suivie d'une étape consistant à annuler un nombre maximum de données de tatouage dudit deuxième groupe de données de tatouage tout en maximisant l'énergie de tatouage associée, ladite étape générant un groupe creux de données de tatouage. 11. Procédé selon la revendication 10, caractérisé en ce que l'énergie du tatouage associée audit deuxième groupe de données de tatouage est proportionnelle à la racine carrée de la somme des données dudit deuxième groupe de données de tatouage au carré. 12. Procédé selon la revendication 10 ou 11, caractérisé en ce que, si le processus de tatouage prédéterminé modifie la valeur d'un seul coefficient dans ledit premier groupe de coefficients, l'étape consistant à annuler un nombre maximum de données de tatouage dans ledit deuxième groupe de données de tatouage est suivie d'une étape consistant à modifier la valeur des données non nulles dudit groupe creux de données de tatouage pour générer un groupe creux pré-accentué de données de tatouage de manière à ce que, lorsque ledit groupe creux pré-accentué de données de tatouage est projeté dans ledit premier espace de transformation, la donnée non nulle dans ledit premier groupe de données de tatouage ait la même valeur que la donnée correspondante dudit groupe creux pré-accentué de données de tatouage après projection dans ledit premier espace de transformation. 13. Procédé selon l'une des revendications 1 à 12, caractérisé en ce que ledit processus de tatouage prédéterminé consiste pour un premier groupe de coefficients auquel est associé un bit de tatouage bi à modifier la valeur d'au plus deux coefficients r1 et r2 dudit premier groupe de coefficients de telle sorte que la relation d'ordre suivante soit vérifiée : 1rl = 11-2'1+ d *Bi,où : - I'1 et F sont les deux coefficients modifiés ; - d est un paramètre de marquage appelé distance de marquage ; et - Bi est un coefficient dont la valeur est définie comme suit : Bi =1 si bi=0 et Bi = -1 si bi=1. 14. Procédé selon l'une des revendications 1 à 9 et la revendication 13 elle-même dépendant des revendications 1 à 9, caractérisé en ce que, si le processus de tatouage prédéterminé modifie la valeur de N coefficients dans ledit premier groupe de coefficients, l'étape de projection dans ledit deuxième espace de transformation est effectuée conjointement avec une étape consistant à annuler des données dudit deuxième groupe de données de tatouage et une étape consistant à modifier la valeurs desdites M données dudit deuxième groupe de données de tatouage non annulées générant ainsi un groupe creux pré-accentué de données de tatouage et en ce que les valeurs et les positions desdites M données non nulles sont déterminées de telle sorte que l'énergie quadratique associée audit groupe creux pré-accentué de données de tatouage soit minimisée et de telle sorte que lorsque ledit groupe creux pré-accentué de données de tatouage est projeté dans ledit premier espace de transformation, chacune des N données non nulles dans ledit premier groupe de données de tatouage ait la même valeur que la donnée correspondante dudit groupe creux pré-accentué de données de tatouage après projection dans ledit premier espace de transformation, avec N1 et M1 . 15. Procédé selon la revendication 14, caractérisé en ce que M=2 et N=2. 16. Procédé selon la revendication 14 ou 15, caractérisé en ce que l'énergie quadratique associée audit groupe creux pré-accentué de données de tatouage est égale la racine carrée de la somme des coefficients dudit groupe creux pré-accentué de données de tatouage au carré. 17. Procédé selon l'une des revendications 1 à 16, caractérisé en ce que l'étape de projection consiste à appliquer sur ledit premier groupe de donnéesde tatouage une transformée inverse de ladite première transformée (TI) puis à appliquer ladite deuxième transformée (T2) sur ledit premier groupe de données de tatouage après ladite transformation par ladite transformée inverse. 18. Procédé selon l'une des revendications 1 à 17, caractérisé en ce que ledit ensemble de données appartient au groupe comprenant : - des données du type séquence d'images ; - des données du type audio ; et - des données du type 3D. 19. Dispositif de tatouage d'un ensemble de données comprenant : - des premiers moyens (61) de transformation d'au moins un groupe de données dudit ensemble en un premier groupe de coefficients dans un 15 premier espace de transformation; - des premiers moyens de tatouage prédéterminés (62) pour tatouer ledit premier groupe de coefficients ; caractérisé en ce qu'il comprend en outre : - des moyens pour générer (73) un premier groupe de données de 20 tatouage représentant les modifications induites par lesdits premiers moyens de tatouage (62) sur les coefficients dudit premier groupe de coefficients ; - des moyens (63) pour projeter ledit premier groupe de données de tatouage dans un deuxième espace de transformation, lesdits moyens 25 générant un deuxième groupe de données de tatouage ; - des seconds moyens (65) de transformation dudit au moins un groupe de données en un deuxième groupe de coefficients dans ledit deuxième espace de transformation; et - des premiers moyens de tatouage (66) pour tatouer ledit deuxième 30 groupe de coefficients avec ledit deuxième groupe de données de tatouage. 20. Produit programme d'ordinateur caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution des étapes du procédéselon l'une quelconque des revendications 1 à 18, lorsque ledit programme est exécuté sur un ordinateur.