Brevet FR2853748A1 — publié le 20041015

Procédé de tatouage d'une image en couleurs par approche vectorielle, procédé de détection d'une marque de tatouage, dispositifs, image et programmes d'ordinateurs correspondants. Le domaine de l'invention est celui du tatouage d'images fixes en 5 couleurs. Plus précisément, l'invention concerne une technique de tatouage permettant d'intégrer des signatures à une image, en tenant compte de la dimension couleur de cette dernière. Le domaine du tatouage d'images, encore appelé " watermarking ", est actuellement en plein essor, et fait l'objet de nombreuses recherches, tant dans le 10 domaine des séquences vidéo que des images fixes. On distingue actuellement deux grandes familles de tatouage d'images, correspondant respectivement au tatouage d'images en niveaux de gris et d'images couleurs. En effet, les premières années de recherche dans le domaine du 15 " watermarking " ont été principalement axées sur des techniques de protection des images en niveaux de gris, et ont conduit à l'utilisation de trois domaines de marquage distincts: le domaine spatial, le domaine fréquentiel et le domaine multirésolution. Les modèles de tatouage dans le domaine spatial (o la marque est 20 directement appliquée aux valeurs des pixels) ont l'avantage de nécessiter un faible coût en temps de calcul. Ils sont généralement robustes aux attaques géométriques (par exemple rotation et changement d'échelle). Des méthodes proposées sont la modification d'histogramme (Coltuc D. et al., "Image authentication by exact histogram specification" (en français "Authentification 25 d'image par spécification d'histogramme exacte"), workshop on multimedia signal processing, Cannes, France, octobre 2001) ou encore les techniques de patchwork (D. Gruhl, W. Bender, Moritomo, "Techniques for data hiding" (en français, "technique de dissimulation de données"), in processing SPIE, volume 2420, page 40, février 1995). Les modèles de tatouage dans le domaine fréquentiel ont quant à eux pour avantage d'être robustes à la compression (de type JPEG par exemple). La marque est appliquée aux coefficients résultants d'une transformation du type Fourier (comme présenté par exemple par V. Solachidis et I. Pitas, "Self-similar ring 5 shaped watermark embedding in 2-D DFT domain", 10th European Signal Processing Conference EUSIPCO'2000, Tampere, Finlande, pages 1977-1980, septembre 2000) ou Cosinus Discret (comme présenté par exemple par F. Alurki et R. Mersereau, "A robust digital watermark procedure for still images using DCT phase modulation", 1 oth European Signal Processing Conference 10 EUSIPCO'2000, Tampere, Finlande, pages 1961-1964, septembre 2000). Le marquage dans le domaine multirésolution offre enfin plusieurs avantages. Il est avant tout le domaine utilisé dans les standards de compression les plus récents. Il permet également de choisir la bande fréquentielle qui porte la marque, permettant ainsi de réduire les risques de dégradation de l'image par 15 l'application de la marque (comme illustré par D. Kundur et D. Hatzinakos, "Digital watermnarking using multiresolution wavelet decomposition", Proceedings of IEEE ICASSP '98, vol. 5, pages 2969 - 2972, Seattle, WA, USA, Mai 1998). Outre ces techniques de tatouage des images en niveaux de gris, une 20 deuxième grande famille de techniques de tatouage d'images fixes propose de prendre en compte la dimension couleur des images. Au sein de cette famille, on distingue tout d'abord une première sousfamille de techniques consistant à adapter les méthodes en niveaux de gris sur les trois composantes couleur. Des paramètres sont alors utilisés pour contrôler la 25 force de marquage sur chaque composante afin de tenir compte des propriétés du système visuel humain. Une deuxième sous-famille regroupe des méthodes spécifiques aux images couleur. Elle tient compte du système visuel humain et utilise les caractéristiques des représentations de la couleur. Par exemple, une méthode particulière, spécifique aux images couleurs, est celle proposée par L. Akarun, N. Ozdilek, B. U. Oztekin, "A Novel Technique for Data Hiding in Color Paletted Images", Proceedings of the 1Oth European Signal Processing Conference, EUSIPCO'00, Tampere, Finlande, pages 123-126, septembre 2000. La première étape de cette méthode consiste à quantifier l'espace de couleurs par l'algorithme dit de 'median-cut'. Il consiste à partitionner de façon itérative l'espace de couleur avec des plans perpendiculaires aux axes des couleurs et passant par les valeurs médianes des données. 10 Deux cas sont alors possibles: - toute la palette est utilisée dans la représentation de l'image, ou - certaines valeurs de la palette ne sont pas utilisées par l'image. Le premier cas n'est alors pas adapté à l'algorithme de marquage. Mais la palette obtenue comprend des couleurs que l'oeil humain ne peut discerner. En 15 utilisant cette propriété on peut ainsi libérer certaines couleurs de la palette, de façon qu'elles ne soient pas utilisées dans l'image à marquée. L'auteur propose que deux couleurs sont indiscernables si AE Soit M(i) la marque, composée de couleurs n'appartenant pas à la palette. L'auteur précise qu'une marque " binaire " (composée de deux couleurs) est plus robuste (le risque d'erreur de détection est ainsi diminué). Soit C la couleur la plus utilisée de la palette. (C est définie par le pic le 25 plus élevé de l'histogramme couleur, chaque abscisse correspondant à une couleur de la palette.) La marque contient un nombre d'éléments inférieur au nombre de pixels de couleur C, i Une autre méthode originale est celle proposée par S. Battiato, D. Catalano, G. Gallo, R. Gennaro, dans "Robust Watermarking for Images based on Color Manipulation", Proceedings of the 3rd Workshop on Information hiding, LNCS 1768, pages 302-317, Dresden, 1999. Selon cette méthode, la marque n'est 5 pas créée pour l'image au préalable, mais c'est le contenu colorimétrique de l'image qui représente la marque. Un inconvénient de cette technique est donc qu'elle est très lourde en données à conserver. L'espace de couleur proposé par l'auteur respecte deux propriétés l'espace doit être perceptuellement uniforme (comme le sont les 10 espaces Lab et Luv) de façon à pouvoir assimiler une mesure de distance euclidienne à une différence de couleur pour le système visuel humain; le passage vers cet espace, notéLCC2, doit être rapide, simple et sans pertes d'informations. Le domaine des couleurs opposées est défini ici à partir de RGB, de la façon suivante: RGB - LC1C2: LC1C2 - RGB: L =R+G+B; R =(L+C2 -C,)/3; I et 2B-R-G C =2B-R-G; = (L - C2)/3 C2 = R - 2G + B. [ B = (Ci + L) / 3. D'après les auteurs, cet espace se rapproche le plus de la représentation des canaux chromatiques du système visuel humain. Le marquage est réalisé de la façon suivante. La marque est un vecteur M(n), n=l,...,k..,N o Nest le nombre de couleurs de l'image et k une couleur de l'image. Soit (LCIC2)k la couleur associée à l'indice k, représentée par un vecteur dans l'espace LCC2. On sélectionne un rayon dans une sphère définie autour du point de coordonnée (LCiC2)k de façon aléatoire. Pour chaque pixel 25 (x,y) correspondant à la couleur k, le vecteur correspondant au rayon (déterminé précédemment) est ajouté au vecteur de couleur initial pour obtenir le vecteur marqué (LCi C2)k. Chaque couleur est ainsi marquée par addition d'un même vecteur. L'image marquée est reconstruite en remplaçant les couleurs originales par les couleurs marquées, en respectant les coordonnées des pixels de l'image. La marque est alors constituée de l'ensemble des couleurs de l'image originale. La détection est réalisée par comparaison de l'image marquée avec les marques générées sur l'ensemble des images traitées. Elle s'effectue de la façon suivante. Il faut d'abord considérer que l'image sur laquelle la détection est effectuée possède le même nombre de couleurs que l'image originale. 10 L'algorithme de détection compare l'image à chacune des marques enregistrées. Couleur par couleur, on va chercher la marque la plus proche (o les vecteurs différences entre les deux pixels de même coordonnée sont les plus semblables). La marque correspondant à l'image marquée est celle ayant le plus grand nombre de vecteurs de différence entre les couleurs de l'image marquée et de l'image 15 originale en commun. On notera que les différentes publications relatives aux techniques de tatouage couleur sont généralement consacrées à l'intégrité de l'aspect visuel et la robustesse de ces techniques contre les attaques classiques est peu développée. Généralement, pour des méthodes dont l'algorithme de base peut être 20 appliqué aux images en niveaux de gris, le marquage suit la technique suivante: - passage dans l'espace transformée (coefficients d'ondelettes, coefficients de cosinus discret, etc.) - application de la formule suivante: iJ (i, J) = ' (i, J) + a(i, j)M(i, j) o I' représente la transformée de l'image (ou la composante) marquée, I' la transformée de l'image (ou la composante) originale, M la marque, a le facteur de contrôle d'intensité de marquage, et o i etj représentent les coordonnées du pixel traité. Les algorithmes basés sur les caractéristiques des composantes couleur 30 sont plus adaptés aux caractéristiques du système visuel humain. Le premier article de Kutter M., Jordan F. et Bossen F, ("Digital Signature of Color Images using Amplitude Modulation", Processings of SPIE storage and retrieval for image and video databases, San Jose, USA, volume 3022, numéro 5, pages 518526, Février 1997) sur le " watermarking " couleur proposait de travailler sur la 5 composante bleue du système RGB, pour laquelle l'oeil humain était le moins sensible. Cette idée a été reprise par A. Reed et B. Hannigan, dans "Adaptive Color Watermarking", Proceedings of SPIE, Electronic Imaging, volume 4675, janvier 2002. Ces auteurs proposent de travailler sur la composante jaune du système 10 CMY (" Cyan Magenta Yellow " pour " Cyan Magenta Jaune ", qui est un espace colorimétrique), car ils considèrent que l'oeil humain est moins sensible aux variations de couleur sur l'axe jaune-bleu. De façon générale, la composante bleue permet de mieux dissimuler la marque (mais avec une robustesse moindre) et la composante verte permet de 15 mieux protéger la marque contre des attaques (mais avec des dégradations plus visibles de l'image). Cela s'explique par le fait que le système visuel humain est plus sensible aux variations dans le vert qu'aux variations dans le bleu. Le compromis entre invisibilité et robustesse de la marque dépend donc de la nature colorimétrique de la composante. Enfin, une dernière technique, proposée par J.J. Chae, D. Mukherjee, et B. S. Manjunath, dans "Color Image Embedding using Multidimensional Lattice Structures", Proceeding of IEEE International Conference on Image Processing, Chicago, Illinois, volume 1, pages 460-464, octobre 1998, repose sur une approche du type vectorielle. Selon cette technique, la première étape du marquage consiste à faire une décomposition en ondelettes de l'image initiale et de la signature (qui peut aussi être une image). Un seul niveau de décomposition est effectué. On obtient ainsi les coefficients en ondelettes de l'image originale, notés (Cy, Cu, Cv)(x, y), dont chaque composante correspond à la composante couleur de l'espace YUV, et les 30 coefficients en ondelettes de la marque. L'utilisation de l'espace YUV (espace utilisé en vidéo: Y est la composante de luminance, U et V sont des composantes chromatiques) permet ainsi une adaptation directe de cette technique aux documents vidéo. Les coefficients d'ondelettes résultant de la décomposition de la marque 5 sont quantifiés en fi niveaux. On obtient ainsi un vecteur M, (MyMUMv) (x, y) pour une marque en couleur et M(x, y) pour une marque en niveaux de gris, contenant (si) éléments o 1 La détection de la marque est ensuite effectuée de la façon suivante. Après l'application de la transformée en ondelettes sur l'image marquée, les coefficients résultants sont quantifiés en /3 niveaux. Pour estimer le vecteur le plus proche de celui utilisé en tant que marque, 15 on recherche la valeur de quantification du coefficient le plus proche de ceux de l'image initiale (la marque est alors détectée, élément par élément). L'image correspondant à la marque détectée pourra ainsi être reconstruite par transformée en ondelettes inverse. Toutes les techniques de tatouage d'images en niveaux de gris ou d'images 20 couleurs décrites ci-dessus présentent de nombreux inconvénients. Ainsi, les techniques de " watermarking " des images couleur basées sur des algorithmes en niveaux de gris ne permettent pas la prise en compte de la dimension couleur des images. De ce fait, elles ne permettent pas d'optimiser le compromis entre invisibilité et robustesse de la marque. Les techniques de tatouage des images couleur sont quant à elles très complexes et cherchent toutes à répondre à un objectif d'invisibilité de la marque. En d'autres termes, elles ne sont pas suffisamment robustes vis-à-vis des attaques classiques de type compression ou filtrage. La technique proposée par Chae et al. décrite ci-dessus, bien qu'utilisant 30 une approche vectorielle, présente quant à elle pour inconvénient de ne pas être robuste à la compression. En outre, cette méthode de marquage ne permet pas d'envisager la sécurisation de documents. Enfin, cette technique ne tient pas compte de la dimension couleur de l'image, puisqu'elle affecte la même force de marquage aux trois composantes de couleur de l'image. Enfin, aucune technique de l'art antérieur utilisant une décomposition en ondelettes n'offre un marquage aveugle, qui permette une détection de la marque ne nécessitant pas l'image originale. Par ailleurs, aucune de ces techniques n'offre une robustesse contre la compression JPEG, le filtrage médian et l'ajout de bruit. L'invention a notamment pour objectif de pallier ces inconvénients de l'art 10 antérieur. Plus précisément, un objectif de l'invention est de fournir une technique de tatouage d'images couleur permettant d'intégrer une ou plusieurs signatures à une image couleur. En d'autres termes, un objectif de l'invention est de fournir une technique 15 de sécurisation de documents par insertion invisible d'une marque. Un autre objectif de l'invention est de mettre en oeuvre une telle technique qui soit robuste à la plupart des attaques. Notamment, un objectif de l'invention est de fournir une telle technique qui soit robuste à la compression (notamment de type JPEG), au filtrage (notamment par un filtre médian) et à l'ajout de bruit. L'invention a encore pour objectif de mettre en oeuvre une telle technique qui permette une détection aveugle, c'est-à-dire ne nécessitant pas l'image originale, de la marque dans une image. Encore un objectif de l'invention est de fournir une telle technique permettant de réduire la visibilité de la marque par rapport aux techniques de l'art 25 antérieur. Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé de tatouage d'une image en couleurs, présentant trois composantes. Selon l'invention, un tel procédé comprend une étape d'insertion d'une 30 marque de tatouage, en au moins un point de l'image, selon une règle d'insertion prenant en compte la position relative de trois vecteurs de composante, pour chacune desdites composantes respectivement, associés audit au moins un point. Ainsi, l'invention repose sur une approche tout à fait nouvelle et inventive du tatouage d'images couleur. En effet, l'invention repose sur une approche 5 vectorielle, permettant, par rapport aux techniques de l'art antérieur, de prendre en compte la dimension couleur de l'image. La marque de tatouage n'est donc plus, contrairement aux techniques de l'art antérieur, appliquée de façon identique sur les trois composantes couleur de l'image; en d'autres termes, alors que, selon l'art antérieur, on procédait à un 10 marquage indépendant des trois vecteurs de composante de l'image, selon l'invention, ces trois vecteurs sont désormais pris en compte " en synergie " pour l'insertion de la marque. La mise en oeuvre d'une approche vectorielle permet, en termes de robustesse, d'obtenir des réponses plus stables que les techniques de l'art antérieur 15 dans le domaine des ondelettes, telles que celle de Kundur et al. citée ci-dessus, comme technique de tatouage dans le domaine des ondelettes. Une telle approche vectorielle permet également de minimiser les variations induites par la marque dans le domaine couleur, et améliore donc sensiblement l'invisibilité de la marque par rapport aux techniques de l'art antérieur. Avantageusement, on sélectionne, pour chacun desdits points concernés, deux vecteurs en tant que vecteurs de référence et un vecteur à marquer pour porter ladite marque de tatouage. On notera que l'invention consiste donc, contrairement à l'art antérieur, à marquer des vecteurs de composante (i.e. des vecteurs couleurs par exemple), et 25 non de simples coefficients de l'image. Préférentiellement, ledit vecteur à marquer est le vecteur central, se trouvant entre lesdits vecteurs de référence. De manière avantageuse, on calcule les distances deux à deux entre lesdits trois vecteurs, lesdits vecteurs de référence étant ceux les plus distants l'un de 30 l'autre. De manière préférentielle, on détermine une frontière entre lesdits vecteurs de référence, définissant deux zones associées respectivement aux valeurs binaires "O"et" 1 ". On crée ainsi deux demi-espaces, associés respectivement à chacun desdits 5 vecteurs de référence, et correspondant à une valeur " 0 " ou " 1 " de la marque que l'on souhaite insérer. Avantageusement, ladite frontière est définie par la bissectrice entre lesdits vecteurs de référence. Selon une caractéristique avantageuse de l'invention, le marquage dudit 10 vecteur à marquer comprend un déplacement éventuel dudit vecteur à marquer dans l'une desdites zones, selon la valeur binaire de marquage à appliquer. Ainsi, si l'on souhaite insérer sur le vecteur à marquer une marque de valeur " 0 " et que le vecteur à marquer se trouve dans la zone ou le demi-espace associé à la valeur binaire " 1 ", on déplace son extrémité de façon qu'elle se 15 trouve dans l'autre demi-espace, ou zone, associés à la valeur " 0 ". Si l'on souhaite insérer sur le vecteur à marquer une marque de valeur " 0 " et que le vecteur à marquer se trouve déjà dans la zone associée à la valeur binaire " 0 ", on peut également déplacer son extrémité de façon à se rapprocher du vecteur de référence se situant dans ce demi- espace, de façon à augmenter la 20 robustesse de la marque (tout en restant bien entendu dans le demi-espace associé à la valeur binaire " 0 "). Selon une autre caractéristique avantageuse de l'invention, ledit déplacement a une amplitude variable, fonction d'une force de marquage choisie en fonction d'au moins une caractéristique locale de ladite image. Ainsi, en fonction des caractéristiques calorimétriques ou des caractéristiques de texture locales de l'image, on peut choisir d'insérer une marque plus ou moins visible et plus ou moins robuste, en fonction de la force de marquage choisie. Une telle force de marquage peut prendre par exemple une valeur comprise entre 0 et 1, une force nulle correspondant à une marque peu 30 robuste et invisible, une force égale à 1 correspondant à une marque robuste mais il visible. Selon une variante avantageuse de l'invention, un tel procédé de tatouage comprend également une étape de transformation en ondelettes de chacune desdites composantes de l'image, et lesdits trois vecteurs de composantes sont 5 déterminés, pour chaque point d'au moins un niveau de décomposition de ladite transformation en ondelettes, pour chacune desdites composantes respectivement. L'invention combine donc à l'approche vectorielle une décomposition en ondelettes de l'image. L'utilisation d'une telle transformée en ondelettes permet avantageusement à la technique de l'invention d'être plus robuste vis-à-vis 10 d'attaques du type compression JPEG, filtrage médian et ajout de bruit. On notera que par " point ", on entend ici une position pixélique dans un niveau de décomposition de l'image, ainsi qu'illustré par la figure 10, qui représente une image échelle E 101, et les trois images de détail DN, R 102, DN2,R 103, DN3R 104 pour la composante rouge d'une décomposition en ondelettes dans 15 un système RGB. Le " point " 105 est défini par une même position pixélique dans chacune des trois images de détail référencées 102 à 104. Préférentiellement, on prévoit au moins deux conventions de marquage d'un vecteur. Selon une caractéristique avantageuse de l'invention, on choisit comme 20 convention de marquage pour une image donnée celle limitant les risques de conflit lors de la détection de ladite marque. Préférentiellement, on choisit une desdites conventions en fonction des nombres de vecteurs de référence présent dans ladite image pour chacune desdites composantes. Ainsi, dans un système de type RGB par exemple, on détermine le nombre de fois o les vecteurs rouge, vert et bleu sont choisis comme vecteurs de référence ou comme vecteur à marquer, et on en déduit la convention de marquage permettant de réduire au maximum les risques de conflit lors de la détection de la marque. Par exemple, on choisit une convention de marquage telle 30 que le vecteur le moins souvent marqué soit situé dans la zone de conflit. De manière préférentielle, ledit marquage est, au moins dans des situations normales, calculé selon l'équation suivante: È,M,(X, Y) = VR (X,y Y- (I FM)(V, (X, Y) -V, (X,Y)) o VM(xy) est ledit vecteur à marquer, VR(xy) est un desdits vecteurs de référence, FM est ladite force de marquage et 1M.w (x, y) est ledit vecteur marqué. Préférentiellement, en cas de conflit, ledit marquage est calculé selon l'équation suivante: VM" (x,y) = VR (x,y)-beta.(l-FM)(VR(xy)-VM (xy)), o beta Avantageusement, un tel procédé de tatouage comprend, après ladite étape d'association d'une marque de tatouage, une étape de transformation en ondelettes inverse, délivrant une image marquée. Ainsi, après avoir procédé à une transformation en ondelettes des différentes composantes couleur de l'image, et après avoir inséré la marque de 15 tatouage sur les vecteurs couleurs, on reconstruit une image marquée, par transformation en ondelettes inverse. De façon avantageuse, ladite marque est une signature binaire pseudoaléatoire écrite de façon redondante. La redondance de l'insertion de la marque permet une meilleure protection 20 de l'image et une plus forte probabilité de détection du tatouage. Préférentiellement, lesdites composantes appartiennent au groupe comprenant: - les composantes RGB; - les composantes YUV; - les composantes CMY. Plus généralement, tous les espaces de représentation de la couleur peuvent être utilisés, qu'il s'agisse d'espaces définis par la CIE (Commission Eclairage Internationale) ou d'espaces originaux. L'invention concerne aussi un dispositif de tatouage d'une image en 30 couleurs, présentant trois composantes, et comprenant des moyens d'insertion d'une marque de tatouage, en au moins un point de l'image, selon une règle d'insertion prenant en compte la position relative de trois vecteurs de composante, pour chacune desdites composantes respectivement, associés audit au moins un point. L'invention concerne également un programme d'ordinateur comprenant des instructions de code de programme enregistré sur un support utilisable dans un ordinateur pour le tatouage d'une image en couleurs, présentant trois composantes. Selon l'invention, ledit programme comprend des moyens de programmation lisibles par ordinateur pour effectuer une étape d'insertion d'une 10 marque de tatouage, en au moins un point de l'image, selon une règle d'insertion prenant en compte la position relative de trois vecteurs de composante, pour chacune desdites composantes respectivement, associés audit au moins un point. L'invention concerne encore une image en couleurs présentant trois composantes et comprenant un tatouage obtenu par insertion d'une marque de 15 tatouage, en au moins un point de l'image, selon une règle d'insertion prenant en compte la position relative de trois vecteurs de composante, pour chacune desdites composantes respectivement, associés audit au moins un point. L'invention concerne aussi un procédé de détection d'un tatouage dans une image tatouée, réalisé selon le procédé de tatouage décrit précédemment. Selon 20 l'invention, un tel procédé de détection comprend une étape de récupération d'une marque de tatouage, en au moins un point de l'image, selon une règle de récupération prenant en compte la position relative de trois vecteurs de composante, pour chacune desdites composantes respectivement, associés audit au moins un point. Préférentiellement, ladite étape de récupération comprend une sous-étape de calcul des distances deux à deux entre lesdits trois vecteurs, et les deux vecteurs les plus distants l'un de l'autre sont des vecteurs de référence, le troisième vecteur étant le vecteur marqué portant ladite marque de tatouage. Avantageusement, une frontière entre lesdits vecteurs de référence 30 définissant deux zones associées respectivement aux valeurs binaires " 0 " et " 1 ", ladite étape de récupération comprend également une sous-étape de repérage de la zone dans laquelle se situe ledit vecteur marqué, et une étape d'association d'une valeur binaire correspondante. De façon avantageuse, ladite marque est récupérée au moins deux fois, et 5 on met en oeuvre un calcul de corrélation par rapport à une signature de référence, afin de décider si le tatouage est ou non correctement détecté. L'invention concerne encore un dispositif de détection d'un tatouage dans une image tatouée, réalisé selon le procédé de tatouage décrit précédemment. Selon l'invention un tel dispositif comprend des moyens de récupération d'une 10 marque de tatouage, en au moins un point de l'image, selon une règle de récupération prenant en compte la position relative de trois vecteurs de composante, pour chacune desdites composantes respectivement, associés audit au moins un point. L'invention concerne enfin un programme d'ordinateur comprenant des 15 instructions de code de programme enregistré sur un support utilisable dans un ordinateur pour la détection d'un tatouage dans une image tatouée, réalisé selon le procédé décrit précédemment. Un tel programme comprend des moyens de programmation lisibles par ordinateur pour effectuer une étape de récupération d'une marque de tatouage, en au moins un point de l'image, selon une règle de 20 récupération prenant en compte la position relative de trois vecteurs de composante, pour chacune desditescomposantes respectivement, associés audit au moins un point. D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation 25 préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels: - la figure 1 présente un synoptique du principe d'analyse multi- résolution d'une image I par transformation ondelettes, mis en oeuvre selon l'invention; - la figure 2 illustre le principe d'obtention d'images au niveau de résolution j à partir de l'image échelle au niveau j+l par transformation ondelettes, selon le principe de la figure 1; - la figure 3 décrit une arborescence de coefficients ondelettes construite à l'issue de la transformation ondelettes de la figure 2; - la figure 4 illustre la génération d'une marque par redondance de la signature; - la figure 5 présente l'étape de construction des vecteurs de référence et du vecteur de marquage; - les figures 6a à 6c illustrent les différentes conventions de marquage mises en oeuvre selon l'invention; - la figure 7 illustre un cas de figure possible de positionnement des vecteurs originaux, ainsi que les deux déplacements du vecteur à marquer envisageables pour ce cas; - les figures 8a et 8b présentent respectivement un exemple d'image originale et d'image correspondante marquée selon la technique de tatouage de l'invention; les figures 9a à 9c présentent, sous forme de graphes, les résultats de tests de robustesse de la technique de tatouage de l'invention, sur l'exemple de l'image de la figure 8b; - la figure 10 précise la notion de " point " d'une image, qui représente, dans le cadre d'une transformation en ondelettes, une position pixélique dans un niveau de décomposition. Le principe général de l'invention repose sur la prise en compte de la dimension couleur des images, et propose une approche vectorielle du tatouage. 25 L'invention permet ainsi un marquage vectoriel prenant en compte, en synergie, les trois vecteurs couleur de l'image. Dans un mode de réalisation particulier de l'invention, qui sera décrit dans toute la suite du document, on combine à cette approche vectorielle une décomposition en ondelettes des composantes couleur de l'image. Dans ce mode de réalisation particulier, l'invention consiste donc à insérer une marque dans une image couleur en réalisant les étapes suivantes: - Transformation de chaque composante de l'image couleur dans le domaine des ondelettes, - Génération indépendante de la marque de façon pseudo-aléatoire à partir d'une clé, - Définition de l'ensemble des vecteurs couleurs - Pour chaque coordonnée des composantes passe-bande: o Définition de 2 vecteurs de référence et d'un vecteur qui portera la 10 marque (les vecteurs de référence sont les vecteurs les plus distants, la marque est ainsi appliquée sur le vecteur " central " ce qui minimise l'impact visuel) o Définition d'une règle qui gère la force de la marque et détermine l'espace d'insertion associé au bit 1 et au bit 0. 15 Reconstruction de l'image couleur marquée par transformée en ondelettes, en tenant compte des modifications par marquage des coefficients d'ondelettes. Ces différentes opérations sont détaillées plus en détail dans la suite, en relation avec les figures. 1. Transformation ondelette La première étape mise en oeuvre selon l'invention est une étape de transformation en ondelettes. On rappelle que la transformation ondelette est un outil mathématique puissant permettant l'analyse multi-résolution d'une fonction, ainsi que décrit par Mallat S. (dans "A Theory for Multiresolution Signal 25 Decomposition: the Wavelet Representation", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 11, No. 7, Juillet 1989, pp. 674- 693), par Stollnitz E.J., DeRose T.D., et Salesin D. (dans "Wavelets for Computer Graphics: A Primer-Part 1", IEEE Computer Graphics and Applications, Mai 1995, pp.76-84 ou encore dans "Wavelets for Computer Graphics: A Primer-Part 30 2", IEEE Computer Graphics and Applications, Juillet 1995, pp.75-85). L'annexe 1, qui fait partie intégrante de la présente demande de brevet, rappelle les aspects essentiels de la théorie des ondelettes. Dans le cadre de l'invention, les fonctions considérées sont des images numériques, c'est-à-dire des fonctions bi-dimensionnelles discrètes. Sans perte de 5 généralités, on suppose que les images traitées sont échantillonnées sur une grille discrète de n lignes et m colonnes et à valeur dans un espace de luminance échantillonné à 256 valeurs. De plus, on suppose que n =2k (kEZ) et que m = 2' (lEZ) . Si on note I l'image originale, on a alors: 10 I.[Om] [O,n] [0,255] (x,y) > I(x,y) La transformation ondelette de l'image I 10 permet une représentation multi-résolution de I, ainsi qu'illustré par la figure 1. A chaque niveau de résolution 2j(j A nouveau, au niveau de résolution suivant, l'image grossière A2, I 1 peut être représentée par une image grossière A2j, I 11, et par trois images de détails D2JI 12,, D2,,I 13, et D'j _I 14,. La transformation ondelette nécessite le choix d'une fonction échelle 20 @(x) ainsi que le choix d'une fonction ondelette Y'(x). A partir de ces deux fonctions, on dérive un filtre échelle H et un filtre ondelette G dont les réponses impulsionnelles respectives h et g sont définies par: h(n) = (02-,' (u),(u - n))Vn EZ g(n) = - (u),O(u - n))VnEZ. Notons respectivement H et G les filtres miroirs de H et G (i.e. h(n) = h(-n) et 25 g(n) = g(-n) ). On peut alors montrer, comme illustré par la figure 2, que: * A2, I 20 peut être calculée en convoluant A2,, I 21 avec Hdans les deux dimensions et en sous-échantillonnant d'un facteur deux (23, 24) dans les deux dimensions; l D2jI 22 peut être calculée en: 1. convoluant A2j,,I 21 avec Hsuivant la direction y et en souséchantillonnant d'un facteur deux (23) suivant cette même direction 2. convoluant le résultat de l'étape 1) avec G suivant la direction x et en sous-échantillonnant d'un facteur deux (25) suivant cette même 10 direction. D2jI 26 peut être calculée en: 1. convoluant A2,,I 21 avec G suivant la direction y et en souséchantillonnant d'un facteur deux (27) suivant cette même direction; 2. convoluant le résultat de l'étape 1) avec H suivant la direction x et en sous-échantillonnant d'un facteur deux (28) suivant cette même direction. DjI 30 peut être calculée en: 1. convoluant A2,,I 21 avec G suivant la direction y et en sous20 échantillonnant d'un facteur deux (27) suivant cette même direction; 2. convoluant le résultat de l'étape 1) avec G suivant la direction x et en sous-échantillonnant d'un facteur deux (29) suivant cette même direction. Dans un mode de réalisation particulier de l'invention, on utilise la base de Daubechies, et on choisit le niveau de résolution 2r (r Les ondelettes de Daubechies ont un support de taille minimale pour un nombre donné de moments nuls. Les ondelettes de Daubechies à support compact se calculent à partir de filtres miroirs conjugués h de réponse impulsionnelle finie. De la longueur du filtre dépend le support temporel de l'ondelette associée ainsi que le nombre de moments nuls. Il n'existe pas de formule explicite pour les filtres de Daubechies quel que soit l'ordre du filtre. Les filtres se construisent à partir de la résolution du problème suivant: Nv-I Soit le polynôme trigonométrique h(w) = h[n]e-in""w transformée de Fourier du n=o filtre de Daubechies, alors il faut construire un polynôme R(e..) de degré minimal te qe]w = l(±1iV) ]Z(W) 2] Zj(W d-'f) 2 minimal tel que h(w) = 1+ ) R(eiv) et h(w)2 + h(w+)2= 2. Selon l'invention, on choisit de préférence le filtre à huit coefficients qui correspond au polynôme suivant: h(w) = 0,2304 + 0,7148.e-iW + 0,6309. e-i2w 0,028.e-i3'v - 0,187.e-i4w + 0,0308.eis'v + 0,0329.e-i6'v - 0,0106.e-7wv La figure 3 illustre la construction, après que la transformation ondelettes est effectuée jusqu'à un niveau de résolution minimal 2r (r De façon récursive, on construit ainsi l'arborescence dans laquelle chaque 25 coefficient ondelette D2 (x,y) (s=1,2,3 et 0>u>r) possède quatre noeuds fils désignés par les coefficients ondelettes de l'image D2',, I localisés dans la région située en (2x,2y) et de taille 2x 2 pixels. Une fois l'arborescence construite, chaque coefficient ondelette D2, (x,y) (s=1,2, 3) correspond à une région de taille 2r x 2-r pixels dans l'image détail D2,I. 2. Construction de la marque Une signature binaire S de N_ bits est générée de façon pseudo-aléatoire, contrôlée par une clef K. Cette signature, écrite sous forme d'une matrice e'*-N est ensuite écrite de façon redondante pour obtenir la marque W. La redondance peut-être effectué bit par bit ou signature par signature, ainsi qu'illustré par la figure 4. Dans un mode de réalisation particulier de l'invention, la signature S 40 est une signature binaire de 16 bits et est générée de façon pseudoaléatoire à l'aide d'une clef K=9. Cette signature matricielle (4*4) 40 est ensuite recopiée T fois pour créer une marque, comme dans le premier exemple 41 présentée dans la figure 4. Pour une image de taille 256*256, sachant que les coefficients 15 d'ondelettes utilisées sont ceux définis pour la 4'me échelle de décomposition, la marque sera de taille 16*16. La signature est donc répétée 16 fois. On notera que sur la figure 4, les carrés noirs illustrent un bit à 1 et les carrés blancs représentent un bit à 0. 3. Insertion de la marque 3.1 Définition des vecteurs Les vecteurs sont définis à partir de la décomposition en ondelettes à l'échelle -r, pour chaque coordonnées (x,y) des trois images de détails D'jJ 22, D2jI 26, D' I 30, et pour chacune des trois composantes couleur notées I={A, B, 2V 2' C}. A, B et C sont des composantes qui dépendent de l'espace de représentation (ABC peut être RGB, XYZ, YUV, etc.). On obtient ainsi, pour chaque coordonnées (x,y) 50 des images de détails, les trois vecteurs suivants, illustrés par la figure 5 VA (x, y) = {D'2, A(x, y), D2, A(x, y), D3j A(x, y) }, 30 VB(x, y) = {D2, B(x, y), D2jB(x, y), D'jB(x, y) }, Vc(x, Y) = {D2, C(x, Y), D2, C(x, y), D3,C(x, Y)} Dans un mode de réalisation particulier de l'invention, on considère l'image dans l'espace de représentation RGB, et les vecteurs sont définis pour chaque composante (R,G et B) à partir des coefficients d'ondelettes de la 4ème échelle de décomposition (r=4): VR(x,Y) = {D' R(x,y), D2 R(x,y), D32R(x,y) }, VG (x, y) = {DG(x, y),D 2. G(x y),D, G(x, y) }x, VB (x,y)= {D', B(x,y) ,D22. B(x, y), D32, B(x, y)} 3.2 Calcul des distances, vecteurs de référence et vecteur marqué Pour chaque coordonnée des images détails, les distances entre vecteurs deux à deux sont calculées: DAB. (x y) = IVA (x, y)- (x, y)I D A;C (X, y)= [VA (X, y)- Vc (X, Y) D BC (x, y)= 1VB (x, y)- Vc (x, y)[ La distance la plus grande est définie par les deux vecteurs de référence VR, 51 et VR, 52 (voir figure 5). Ce sera le troisième vecteur VM 53 qui sera marqué. Ainsi, si DAB(x,y)>DAc (x,y) et DAB(X,Y)>DB,,c(X,Y), alors VA (x, y) et VB (x, y) sont les vecteurs de référence et Vc (x, y) est le vecteur qui 20 portera la marque. Si DAC(X,y) >DAB(x,y) et DAC(X,y)>DBBC(X,Y), alors VA(x,y)et Vc (x, y) sont les vecteurs de référence et VB (x, y) est le vecteur qui portera la marque. Si DB,c (x, y) > DA,B (x, y) et DBc(x,y) > DAc (x, y), alors VB (x, y) et 25 Vc (x, y) sont les vecteurs de référence et VA(x, y) est le vecteur qui portera la marque. Dans un mode de réalisation particulier de l'invention, les distances entre les vecteurs sont calculées, deux à deux, pour chacune des 256 coordonnées possibles (16*16 coefficients d'ondelettes dans les images de détails). 30 DRG (x, y) = VR (x, Y) - V (x, y)j DRB (x, IY) = VR (x, Y) VB (x, Y)I DC B (X, Y) = VG (X, Y) -V8 (x, Y) Si DRG (x, y) > DR,B(x, y) et DRG (x, y) > DGB(x,y), alors VR (x,y)et VG(X,Y) sont les vecteurs de référence et VB(x,y) le vecteur qui portera la marque. Si DRB(xy)>DRG(xy) et DR,B(X,y)>DGcB(x,y), alors VR(x,y)et VB(x,y) sont les vecteurs de référence et VG(X,Y) le vecteur qui portera la marque. Si DG,B(x,y) > DRG(x,y) et DGB(x,y) > DRB(x,y), alors VG(X,y) et V8(x,y) sont les vecteurs de référence et VR(x,y) le vecteur qui portera la 10 marque. 3.3 Définition et choix de la convention de marquage Pour chaque coordonnée des images de détails, on cherche à connaître le nombre de fois que les vecteurs VA (x, y), V9 (x, y) et Vc (x,y) sont utilisés comme référence. Cette étape permet ainsi de choisir la meilleure convention pour 15 l'opération d'insertion (voir figures 6a à 6c), pour minimiser le conflit qui sera expliqué plus en détail au 3.5. Si VA (x, y) est le vecteur le moins utilisé comme référence, on choisit la convention 3, illustrée en figure 6c. Si VB (x, y) est le vecteur le moins utilisé comme référence, on choisit la 20 convention 1, illustrée en figure 6a. Si Vc (x, y) est le vecteur le moins utilisé comme référence, on choisit la convention 2, illustrée en figure 6b. Ainsi, dans le cas de l'image 'Maison' illustrée en figures 8a (image originale) et 8b (image marquée), le vecteur VR(X,y) est utilisé 235 fois en tant 25 que vecteur référence, le vecteur VG(x,y), 108 fois et le vecteur VB(x,y), 169 fois. Pour minimiser le conflit, on utilise donc la convention 1, présentée sur la figure 6a. Toutefois, il est conseillé de faire un choix précis dans le cas des images de petite taille. Le choix automatique de la convention de marquage est mieux 30 adapté aux images de grande taille (au moins quelques milliers de pixels). 3.4 Opération d'insertion Le marquage consiste à modifier le vecteur en plaçant son extrémité plus près de l'extrémité de l'un des deux vecteurs de référence, en fonction de la valeur de la marque (0 ou 1), et cela pour chaque coordonnées 50, ainsi qu'illustré par la 5 figure 5. On note VRI(x,y) et VR2(X,Y) (51 et 52) les deux vecteurs de référence et VM (x,y) le vecteur à marquer 53. De façon générale, le marquage se présente sous la forme: VA, W(x,y) = VR(x,y) - (1 - FM)(VR(x,y) -V, (x,y)) (1) avec suivant le cas: VR = 7VRI OU R = VR2 suivant la valeur de M et la convention 10 choisie. FM représente la force de marquage appliquée au vecteur VM (x, y) avec M={A, B, C}. La force de marquage peut être ainsi adaptée en fonction des caractéristiques (colorimétrique ou de texture) locales de l'image. Deux cas de figure peuvent se présenter, ainsi qu'illustré pour un cas 15 particulier par la figure 7. Suivant la convention choisie et suivant la valeur de la marque W(x,y): le vecteur VM (x, y) 73 est déjà dans le demi-espace correct o VMW (x, y) doit être placé. Dans ce cas, la formule (1) peut être appliquée directement à VM(x,y) 73. Ce cas de figure est illustré sur la figure 7, en considérant le cas particulier o W(x,y)= 1, et o la convention impose que VM,X (x, y) soit dans le demiespace contenant VR2(x,y) 72. - le vecteur 1VM(x,y) 73 n'est pas dans le demi-espace correct o VMW(X,Y) doit être placé. Dans ce cas, avant d'appliquer la formule (1) à 25 VM (x,y) 73, il faut modifier la position de l'extrémité de ce vecteur. Pour cela, il faut déplacer cette extrémité dans une direction colinéaire au vecteur VcoI(X, y) = RI (x, y)- VR2(x, y), d'une distance (Dm + ), o D, est équivalente à la distance entre VM (x,y)73 et (PM) (o PM est la frontière entre les deux demi-espaces associés à chacun des vecteurs de référence71 30 et 72). On choisit de préférence e égal à 10% de D,,m, de façon à ce que VM (x, y) 73 ne soit pas confondu avec (PM). Ce cas de figure est illustré sur la figure 7, en considérant le cas particulier o W(x,y)=0, et o la convention impose que VM W (x, y) soit dans le demiespace contenant RI (x, y) 71. On notera que dans le cas o FAf = 0, le marquage est de robustesse 5 minimum. Le vecteur VM (x, y) 73 devient VM W (x, y) par simple déplacement (si nécessaire) dans le demi-espace correspondant aux positions des vecteurs de référence 71 et 72, à la valeur de la marque et à la convention choisie. L'image est ainsi dégradée au minimum. Dans le cas o FM = 1, la force de marquage est maximum. La marque est 10 très robuste, mais a une grande probabilité d'être visible. VM XV (x, y) devient alors confondu à l'un des vecteurs de référence 71 et 72 en fonction de la situation précédemment indiquée. Le fait de choisir une valeur intermédiaire à FM permet de contrôler le compromis entre invisibilité et robustesse de la marque. 15 3.5 Conflit Les schémas de convention de marquage définissent le sens du marquage pour chacun des cas de figures possibles. Dans le cas o la force de marquage FM=1, c'est-à-dire qu'elle est maximum, le vecteur marqué devient égal à un vecteur de référence. Ainsi, sur les figures 6a à 6c, on remarque que, pour chacune des conventions, les bits de la marque sont opposés pour l'une des branches des triangles de convention. Un conflit est alors possible. En effet, lors de la transmission de l'image marquée ou des traitements qu'elle peut subir, les deux vecteurs confondus peuvent être sensiblement modifiés. Il est alors possible que le 25 vecteur de référence devienne le vecteur marqué et vice-versa. Lors de la détection de la marque (qui sera décrite plus en détail au 5 cidessous), des erreurs de détection peuvent alors être intégrées à cause de ce conflit. Le conflit est minimisé si la convention choisie minimise ce cas de figure. L'étape de choix de la convention proposée au 4.3 ci-dessus est donc 30 particulièrement importante. Dans le cas d'un conflit, l'opération de marquage devient VIV(X, Y) =R f(X,y Y-beta.l (- FM)(V (X,y Y-VAS (X,Y)) o beta Ainsi le choix de la convention permet de minimiser le nombre de conflits, 5 et les erreurs dues aux conflits sont aussi minimisées par l'application d'un facteur beta dans l'opération de marquage. Dans un mode de réalisation particulier de l'invention, les forces de marquage utilisées sont les suivantes: FR=0,4 (pour la composante rouge); FG=0,4 (pour la composante verte); FB=0,8 (pour la composante bleue), avec 10 beta = 0,9 (en cas de conflit). 3.6 Reconstruction de l'image L'image est ensuite reconstruite par transformée en ondelettes inverse, en tenant compte des coefficients modifiés par le marquage. Ainsi, la figure 8b illustre l'image " maison " marquée, reconstruite par transformée en ondelettes 15 inverse, et la figure 8a présente la même image avant marquage. 4. Détection de la marque On décrit désormais les différentes opérations mises en oeuvre lorsque l'on cherche à détecter une marque dans une image couleur tatouée selon l'invention. En effet, après traitement de la marque (transmission, compression JPEG, filtrage 20 médian ou ajout de bruit), la marque peut être détectée. 4.1 Décomposition en ondelettes L'opération de décomposition dans le domaine des ondelettes de l'image marquée est identique à celle effectuée dans le cadre du marquage, présentée au paragraphe 1 ci-dessus. 4.2 Définition des vecteurs et choix de la convention De même, les opérations de définition des vecteurs et du choix de la convention de marquage sont identiques à celles définies précédemment dans les paragraphes 3.1, 3.2 et 3.3. 4.3 Récupération d'un bit de la marque détectée Pour chaque coordonnée, on vérifie la proximité entre le vecteur marqué et les deux vecteurs de référence. Suivant la convention choisie, il est possible de reconnaître la valeur du bit intégré. Le tableau 1 ci-dessous présente tous les cas de figure possibles dans la reconstruction de la marque. La marque est ainsi reconstruite bit par bit. convention 1 convention 2 convention 3 vA(xY) V8(Xy)I En d'autres termes, on commence, pour chaque coordonnée des images de détails, par détecter chaque bit de la marque, en s'appuyant sur la tableau cidessus, qui indique la valeur du bit inséré, pour chacune des conventions des 15 figures 6a à 6c, en fonction des distances entre vecteurs. Dans un mode de réalisation particulier de l'invention, la signature S de 16 bits est ensuite reconstruite par le calcul de la moyenne des 16 valeurs de la marque pour chaque coordonnée correspondante, suivant la forme de la redondance définie dans le paragraphe 2. 4.5 Reconnaissance de la signature marquée par rapport à la signature initiale Il reste à définir le taux de correspondance entre la signature initiale et la signature détectée. Pour cela, on effectue le calcul de la corrélation entre les deux signatures S et S par l'opération suivante cc(S,S)= MISA Y) ' = y) Les deux signatures correspondent si cc(S,S) 2 T, o T est le seuil de décision pour la correspondance des signatures. Ce calcul de corrélation permet de définir le taux de ressemblance entre la signature originale S et la signature détectée S. Dans un mode de réalisation particulier de l'invention, on fixe le seuil T à 0,7, de sorte que l'on considère que 10 si cc(S,S) 2 0,7, la signature détectée correspond à la signature originale. Comme indiqué précédemment, les figures 8a et 8b présentent une image originale, et l'image marquée correspondante, selon les paramètres du mode de réalisation particulier de l'invention exposé ci-dessus. Les figures 9a à 9c illustrent, sous forme de graphes, les résultats de tests 15 de robustesse de la marque insérée sur l'image " maison " des figures 8a et 8b. Les graphes des figures 9a à 9c correspondent respectivement aux tests de la marque face aux attaques de compression JPEG, à l'ajout de bruit et au filtrage médian, et représentent la moyenne de 20 mesures (utilisation de 20 clefs K différentes) pour chaque attaque. Comme on peut le voir, les résultats sont stables, 20 et la robustesse de la technique de tatouage de l'invention contre ces attaques est très bonne. ANNEXE 1: RAPPEL SUR LA THÉORIE DES ONDELETTES 1. Introduction La théorie des ondelettes permet d'approximer une fonction (courbe, surface, etc.) à différentes résolutions. Ainsi, cette théorie permet de décrire une fonction sous 5 la forme d'une approximation grossière et d'une série de détails permettant de reconstruire parfaitement la fonction originale. Une telle représentation multi-résolution (Mallat S., "A Theoryfor Multiresolution Signal Decomposition: the Wavelet Representation", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 11, No. 7, Juillet 1989, pp. 67410 693.) d'une fonction permet donc d'interpréter de façon hiérarchique l'information contenue dans la fonction. Pour ce faire, cette information est réorganisée en un ensemble de détails apparaissant à différentes résolutions. Partant d'une séquence de résolutions croissantes (rj)jez, les détails d'une fonction à la résolution r sont définis comme la différence d'information entre 15 son approximation à la résolution rj et son approximation à la résolution r+. 2. Notations Avant de présenter plus en détail les fondements de l'analyse multi-résolution, on présente dans cette section les notations utilisées. * Les ensembles des nombres entiers et réels sont respectivement notés Z et 20 R. L2(R)dénote l'espace vectoriel des fonctions unidimensionnelles f(x) mesurables et intégrables. *. Pour f(x) EL2 (R) et g(x) EL2 (R), le produit scalaire def(x) et g(x) est défini par: (f(x),g(x)) _ff(u)g(u)dt,. * Pour f(x)EL2(R)et g(x)EL2(R), la convolution de f(x) et g(x) est définie par: +0X f * g(x) = f(u)g(x - u)du. * L2(R2) dénote l'espace vectoriel des fonctions f(x,y) de deux variables mesurables et intégrables. * Pour f(x,y) L2(R2)et g(x,y) L2(R2), le produit scalaire def(x,y) et g(x, y) est défini par: (f(x,y), g(x, y= X f f(u, v)g(i, v)dudv. 3. Propriétés de l'analyse multi-résolution Dans cette section, on présente de manière intuitive les propriétés désirées de l'opérateur permettant l'analyse multi-résolution d'une fonction. Ces propriétés sont issues des travaux de Mallat S., dans "A Theory for Multiresolution Signal Decomposition: the Wavelet Representation", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 11, No. 7, Juillet 1989, pp. 674-693. Soit A2, l'opérateur qui approxime une fonction f(x)EL2(R)à la résolution 2j (j > O) (i.e.f(x) est définie par 2j échantillons). Les propriétés attendues de A2, sont les suivantes: 1. A2, est un opérateur linéaire. Si A2, f(x)représente l'approximation de f(x) à la résolution 2j, alors A2,f(x) ne doit pas être modifié lorsqu'on 15 l'approxime de nouveau à la résolution 2j. Ce principe s'écrit A2j o A2, = A2, et montre que l'opérateur A2j est un opérateur de projection dans un espace vectoriel V2, C L2(R). Cet espace vectoriel peut être interprété comme l'ensemble de toutes les approximations possibles à la résolution 2j des fonctions de L2(R). 2. Parmi toutes les approximations possibles de f(x) à la résolution 2j, A21f(x)est la plus similaire à f(x). L'opérateur A2, est donc une projection orthogonale sur V2,. 3. L'approximation d'une fonction à la résolution 2j+' contient toute l'information nécessaire pour calculer la même fonction à la résolution 25 inférieure 2j. Cette propriété de causalité induit la relation suivante: Vjez,V2, V2' 4. L'opération d'approximation est la même à toutes les résolutions. Les espaces des fonctions approximées peuvent être dérivés les uns des autres par un changement d'échelle correspondant à la différence de résolution 30 VjEZ,f(x)EV2j f(2x) V2l,,,. 5. Lorsque l'on calcule une approximation de f(x) à la résolution 2j, une partie de l'information contenue dans f(x) est perdue. Cependant, lorsque la résolution tend vers l'infini, la fonction approximée doit converger vers la fonction f(x) originale. De la même façon, lorsque la résolution tend 5 vers zéro, la fonction approximée contient moins d'information et doit converger vers zéro. Tout espace vectoriel (V2j)jez qui satisfait l'ensemble de ces propriétés est appelé approximation mtulti-résolution de L2(R) . 4. Analysemulti-résolution d'une fonction unidimensionnelle 4.1 Recherche d'une base de V2j Comme indiqué ci-dessus, l'opérateur d'approximation A2J est une projection orthogonale sur l'espace vectoriel V2,. Afin de caractériser numériquement cet opérateur, il faut trouver une base orthonomale de V2,. V2, étant un espace vectoriel contenant les approximations de fonctions de L2(R) 15 à la résolution 2j, toute fonction f(x)EV2, peut être vue comme un vecteur à 2j composantes. Il faut donc trouver 2j fonctions de base. Un des théorèmes principaux de la théorie des ondelettes stipule qu'il existe une fonction unique '(x)EL2(R), appelée fonction échelle, à partir de laquelle on peut définir 2i fonctions de base Approximer une fonction f(x) E L2(R) à la résolution 2j revient donc à projeter de façon orthogonale f(x) sur les 2j fonctions de base 4DI (x). Cette opération consiste à calculer le produit scalaire de f(x) avec chacune des 2' fonctions de 25 base D p.(x) k=2j -I 2,t(-X) = ; (f (a), Pk (a ek,x, k=2j -I = ;(f(u),A(2'u -k)> On peut montrer que A2j f(x) peut être réduit la convolution def(x) avec le filtre passe-bas D(x), évaluée au point k: A2,f = (f (u) * D(-2jiu))(k) ,kEZ. Comme 4.2 Construction de l'analyse multi-résolution Dans la pratique, les fonctions f à approximer (signal, image, etc.) sont discrètes. Supposons que la fonction f(x) originale soit définie sur n =2k (kEZ) échantillons. La résolution maximale def(x) est alors n. Soit Af l'approximation discrète de f(x) à la résolution n. La propriété de causalité (voir 3 ci-dessus) prétend que l'on peut calculer A2jf à partir de Anf 10 pour tout j En effet, en calculant la projection des 2:fonctions de base (){(x)de V2, sur V2,, on peut montrer que A21f peut être obtenue en convoluant A,,', f avec le filtre passe-bas correspondant à la fonction échelle et en souséchantillonnant le résultat d'un facteur 2: 2j+l-l A2Jf(u)= h(k -2u)A2,1, f(k),0 4.3 La fonction détail Comme mentionné dans la propriété (5) du paragraphe 3, l'opération qui consiste à approximer une fonctionf(x) à une résolution 2' à partir d'une approximation à 20 la résolution 2j+1 génère une perte d'information. Cette perte d'information est contenue dans une fonction appelée fonction détail à la résolution 2j et notée D2, f. I1 est à noter que la connaissance de D2J f et A2, f permet de reconstruire parfaitement la fonction approximée A2,+, f. La fonction détail à la résolution 2'est obtenue en projetant de manière 25 orthogonale la fonction originalef(x) sur le complément orthogonal de V2, dans V2 j, . Soit W2' cet espace vectoriel. Pour calculer numériquement cette projection, il faut trouver une base orthonormale de W2, c'est-à-dire 2j fonctions de base. Un autre théorème important de la théorie des ondelettes stipule qu'à partir d'une fonction échelle 41(x), il est possible de définir 2j fonctions de base de W2, . Ces fonctions de base 'j(x) sont obtenues par dilatation et translation d'une fonction F(x) appelée fonction ondelette: Pij/(x) = J(2Jx - i), i = 0,- ., 2J - 1. De la même façon que pour la construction de l'approximation A2, f, on peut montrer que D2,f peut être obtenu par une convolution de la fonction originale f(x) avec le filtre passe-haut W(x) suivi d'un souséchantillonnage d'un facteur 2j D2,f = (f(u)*'(-2ju))(k),kEZ. 4.4 Extension à l'analyse multi-résolution de fonction bi-dimensionnelles Dans cette section, on présente la manière d'étendre l'analyse multirésolution par ondelettes aux fonctions de L2 (R2) comme les images. Pour ce faire, on utilise les même théorèmes que ceux utilisés précédemment. Ainsi, si l'on note V2,1 l'espace vectoriel des approximations de L2(R2) à la 15 résolution 2j, on peut montrer que l'on peut trouver une base orthonormale de V2, en dilatant et translatant une fonction échelle 1(x, y) EL2 (R2) (D /(x,y) = (I(2ix - i,2iy - j), (ij)G Z2. Dans le cas particulier des approximations séparables de L2(R2), on a FD(x,y) = '(x) d(y)o 1(x)est une fonction échelle de L2f(R). Dans ce cas, 20 l'analyse multi-résolution d'une fonction de L2(R2)est effectué en traitant de façon séquentielle et séparable chacune des dimensions x et y. Comme dans le cas unidimensionnel, la fonction détail à la résolution 2jest obtenue par une projection orthogonale de f(x,y) sur le complément de V2, dans V2.,, noté W2j. Dans le cas bidimensionnel, on peut montrer que si l'on note 25 IF(x)la fonction ondelette associé à la fonction échelle @(x), alors les trois fonctions définies par: (x,y) = C(x)(y) IF2 (x, y)= W(x),F(y) uI32(x,y):= v(x)@(y) IF'(X,Y) = (x) F(Y) sont des fonctions ondelettes de L2(R2). En dilatant et translatant ces trois fonctions ondelettes, on obtient une base orthonormale de W2,: Y j x,y) = ((2i x - k,2i'y -1) d2 (xy) = Web(2j x - k,2j y - 1) V3(x,y) = W (2i x -k,2j y - l). La projection de f(x,y) sur ces trois fonctions de la base de W2, donne trois fonctions détails: D',f = f(x,y)*j ((-x)'Pi(-y) D 2 f =fX Y pj _"j( ) D22jf = f(x,y)*Wj(-x)W!i(-y) D2,y = f(x,y) *tVi (x)Udj(-y) REVENDICATIONS 1. Procédé de tatouage d'une image en couleurs, présentant trois composantes, caractérisé en ce qu'il comprend une étape d'insertion d'une marque de tatouage, 5 en au moins un point de l'image, selon une règle d'insertion prenant en compte la position relative de trois vecteurs de composante, pour chacune desdites composantes respectivement, associés audit au moins un point. 2. Procédé de tatouage selon la revendication 1, caractérisé en ce qu'on sélectionne, pour chacun desdits points concernés, deux vecteurs en tant que 10 vecteurs de référence et un vecteur à marquer pour porter ladite marque de tatouage. 3. Procédé de tatouage selon la revendication 2, caractérisé en ce que ledit vecteur à marquer est le vecteur central, se trouvant entre lesdits vecteurs de référence. 4. Procédé de tatouage selon la revendication 3, caractérisé en ce qu'on calcule les distances deux à deux entre lesdits trois vecteurs, lesdits vecteurs de référence étant ceux les plus distants l'un de l'autre. 5. Procédé de tatouage selon la revendication 4, caractérisé en ce qu'on détermine une frontière entre lesdits vecteurs de référence, définissant deux zones 20 associées respectivement aux valeurs binaires " 0 " et " 1 ". 6. Procédé de tatouage selon la revendication 5, caractérisé en ce que ladite frontière est définie par la bissectrice entre lesdits vecteurs de référence. 7. Procédé de tatouage selon l'une quelconque des revendications 5 et 6, caractérisé en ce que le marquage dudit vecteur à marquer comprend un 25 déplacement éventuel dudit vecteur à marquer dans l'une desdites zones, selon la valeur binaire de marquage à appliquer. 8. Procédé de tatouage selon la revendication 7, caractérisé en ce que ledit déplacement a une amplitude variable, fonction d'une force de marquage choisie en fonction d'au moins une caractéristique locale de ladite image. 9. Procédé de tatouage selon l'une quelconque des revendications 5 à 8, caractérisé en ce que le marquage dudit vecteur à marquer comprend un déplacement éventuel dudit vecteur à marquer vers l'un ou l'autre desdits vecteurs de référence, selon la valeur binaire de marquage à appliquer. 10. Procédé de tatouage selon l'une quelconque des revendications 1 à 9, 5 caractérisé en ce qu'il comprend également une étape de transformation en ondelettes de chacune desdites composantes de l'image, et en ce que lesdits trois vecteurs de composantes sont déterminés, pour chaque point d'au moins un niveau de décomposition de ladite transformation en ondelettes, pour chacune desdites composantes respectivement. 11. Procédé de tatouage selon l'une quelconque des revendications 1 à 10, caractérisé en ce qu'on prévoit au moins deux conventions de marquage d'un vecteur. 12. Procédé de tatouage selon la revendication 11, caractérisé en ce qu'on choisit comme convention de marquage pour une image donnée celle limitant les 15 risques de conflit lors de la détection de ladite marque. 13. Procédé de tatouage selon la revendication 12, caractérisé en ce qu'on choisit une desdites conventions en fonction des nombres de vecteurs de référence présent dans ladite image pour chacune desdites composantes. 14. Procédé de tatouage selon l'une quelconque des revendications 6 à 13, 20 caractérisé en ce que ledit marquage est, au moins dans des situations normales, calculé selon l'équation suivante VM W (x,y) = V (X,y) - (1 -F, )(VR (x,y) -VM (x,y)) o VM(xy) est ledit vecteur à marquer, VR(xy) est un desdits vecteurs de référence, FM est ladite force de marquage et VM,w (x, y) est ledit vecteur marqué. 25 15. Procédé de tatouage selon les revendications 1I et 14, caractérisé en ce que, en cas de conflit, ledit marquage est calculé selon l'équation suivante: VMW(xy) = VR(xy) - beta. (l -FM)(VR(xy) -VM (xy)), o beta 16. Procédé de tatouage selon l'une quelconque des revendications 10 à 15, 30 caractérisé en ce qu'il comprend, après ladite étape d'association d'une marque de tatouage, une étape de transformation en ondelettes inverse, délivrant une image marquée. 17. Procédé de tatouage selon l'une quelconque des revendications 1 à 15, caractérisé en ce que ladite marque est une signature binaire pseudoaléatoire écrite de façon redondante. 18. Procédé de tatouage selon l'une quelconque des revendications 1 à 17, caractérisé en ce que lesdites composantes appartiennent au groupe comprenant: - les composantes RGB; - les composantes YUV; - les composantes CMY. 19. Dispositif de tatouage d'une image en couleurs, présentant trois composantes, caractérisé en ce qu'il comprend des moyens d'insertion d'une marque de tatouage, en au moins un point de l'image, selon une règle d'insertion prenant en 15 compte la position relative de trois vecteurs de composante, pour chacune desdites composantes respectivement, associés audit au moins un point. 20. Programme d'ordinateur comprenant des instructions de code de programme enregistré sur un support utilisable dans un ordinateur pour le tatouage d'une image en couleurs, présentant trois composantes, caractérisé en ce 20 que ledit programme comprend des moyens de programmation lisibles par ordinateur pour effectuer une étape d'insertion d'une marque de tatouage, en au moins un point de l'image, selon une règle d'insertion prenant en compte la position relative de trois vecteurs de composante, pour chacune desdites composantes respectivement, associés audit au moins un point. 21. Image en couleurs présentant trois composantes et comprenant un tatouage obtenu par insertion d'une marque de tatouage, en au moins un point de l'image, selon une règle d'insertion prenant en compte la position relative de trois vecteurs de composante, pour chacune desdites composantes respectivement, associés audit au moins un point. 22. Procédé de détection d'un tatouage dans une image tatouée, réalisé selon le procédé de l'une quelconque des revendications 1 à 18, caractérisé en ce qu'il comprend une étape de récupération d'une marque de tatouage, en au moins un point de l'image, selon une règle de récupération prenant en compte la position relative de trois vecteurs de composante, pour chacune desdites composantes respectivement, associés audit au moins un point. 23. Procédé de détection selon la revendication 22, caractérisé en ce que ladite étape de récupération comprend une sous-étape de calcul des distances deux à deux entre lesdits trois vecteurs, et en ce que les deux vecteurs les plus distants l'un de l'autre sont des vecteurs de référence, le troisième vecteur étant le vecteur 10 marqué portant ladite marque de tatouage. 24. Procédé de détection selon la revendication 23, caractérisé en ce que, une frontière entre lesdits vecteurs de référence définissant deux zones associées respectivement aux valeurs binaires " 0 " et " 1 ", ladite étape de récupération comprend également une sous-étape de repérage de la zone dans laquelle se situe 15 ledit vecteur marqué, et une étape d'association d'une valeur binaire correspondante. 25. Procédé de détection selon l'une quelconque des revendications 22 à 24, caractérisé en ce que ladite marque est récupérée au moins deux fois, et en ce qu'on met en oeuvre un calcul de corrélation par rapport à une signature de 20 référence, afin de décider si le tatouage est ou non correctement détecté. 26. Dispositif de détection d'un tatouage dans une image tatouée, réalisé selon le procédé de l'une quelconque des revendications 1 à 18, caractérisé en ce qu'il comprend des moyens de récupération d'une marque de tatouage, en au moins un point de l'image, selon une règle de récupération prenant en compte la position 25 relative de trois vecteurs de composante, pour chacune desdites composantes respectivement, associés audit au moins un point. 27. Programme d'ordinateur comprenant des instructions de code de programme enregistré sur un support utilisable dans un ordinateur pour la détection d'un tatouage dans une image tatouée, réalisé selon le procédé de l'une 30 quelconque des revendications 1 à 18, caractérisé en ce que ledit programme comprend des moyens de programmation lisibles par ordinateur pour effectuer une étape de récupération d'une marque de tatouage, en au moins un point de l'image, selon une règle de récupération prenant en compte la position relative de trois vecteurs de composante, pour chacune desdites composantes respectivement, associés audit au moins un point.