TATOUAGE D IMAGES PAR MODIFICATION DU CODE FRACTAL Patrick Bas, Jean-Marc Chassery, Franck Davoine Laboratoire TIMC-IMAG, Institut Albert Bonniot, 38706 LA TRONCHE Cedex France, e-mail: Patrick.Bas, Jean-Marc.Chassery @imag.fr Franck.Davoine@hds.utc.fr Résumé Cet article présente un moyen original de tatouer des images numériques. Tout d abord nous présentons les différentes techniques utilisées en watermarking. Ensuite notre approche est décrite: nous recherchons un IFS (système de fonctions itérées) au sein de l image pour dissimuler de nouvelles similarités. Dans une troisième partie deux algorithmes sont présentés: le premier traite l image dans le domaine spatial, le second utilise la DCT et le domaine fréquentiel. Nous concluons l article en présentant les résultats et perspectives de ce schéma. 1. D AUTRES APPROCHES L augmentation croissante des données numériques et de leur libre accès pose des problèmes de propriété et de droit d auteur. Le watermarking est un moyen de résoudre ces problèmes. Le watermaking peut être défini comme suit: il s agit d ajouter une marque, un copyright ou un numéro de licence qui est invisible pour l observateur, indélébile et robuste aux traitements classiques comme le fenêtrage, le lissage, les transformations géométriques où la compression avec perte. Les méthodes rencontrées dans la littérature peuvent être classées en deux catégories: Les méthodes spatiales qui superposent un motif à l image, ce motif a des caractéristiques statistiques [9] ou géométriques [2] facilitant sa détection. Les méthodes fréquentielles souvent plus performantes car elles privilégient les composantes basses fréquences de l image (plus robustes à la compression) [4]. Elles sont aussi plus appropriées pour utiliser les propriétés du système visuel humain [6].
De plus en plus de schémas introduisent la présence d une clef permettant d identifier la signature. On augmente ainsi la robustesse de la signature face aux attaques intelligentes [8]. 2. NOTRE APPROCHE 2.1. LE CODE FRACTAL Notre approche est basée sur le schéma de compression fractale développé par Jacquin [5]. Ce schéma transforme l image originale en un code fractal de taille inférieure. Il consiste à chercher un système de fonctions itérées à travers l image de la façon suivante: L image est partitionnée en deux types de blocs: les blocs Destination et les blocs Source qui proviennent respectivement des partitions Destination et Source. Contrairement au schéma de Jacquin notre schéma n utilise pas de phase de décodage et la taille des blocs Source et Destination peut être identique. Un code fractal est extrait, il peut être vu comme une carte des collages : on associe à chaque bloc de la partition Destination le bloc de la partition Source qui est le plus similaire à (hormis lui-même). Le test de similarité consiste à minimiser l erreur quadratique moyenne entre le bloc et la transformation affine du bloc [5]. I, s, o 1 1 1 Blocs Source I, s, o 5 5 5 Blocs Destination Code fractal = {I, I,..., I,s, s,..., s, o, o,..., o } 1 2 n 1 2 n 1 2 n FIG. 1 Principe de la carte des collages A chaque image peut donc être associé un ou plusieurs codes fractals. Un code fractal est composé de la partition Destination, des indices des blocs associés à la partition et des paramètres de la transformation affine (facteur d échelle) et (composante continue). Le code fractal peut s écrire comme suit : "! $#!&%'%(%(!) *!+#!$%(%(%'!&*!+#)!&%'%(%(!,-*/. Le code fractal peut aussi être exprimé dans le domaine de Fourier, il est notamment utilisé en compression d image [1]. 2.2. Insertion de la signature L insertion de la signature s effectue par modification du code fractal. En effet il est rare de trouver un bloc totalement similaire à un autre dans une image ordinaire (sauf
si l image est une image fractale). Notre algorithme consiste à ajouter une similarité artificielle et invisible dans l image afin de contrôler le code fractal. Les similarités sont ajoutées en remplacant le bloc Destination par le bloc 12 0 %3 546. Ainsi nous obligeons un nouveau collage qui remplace le collage original. En ajoutant des similarités exactes nous controlons l IFS (i.e. le code fractal). D Meilleur collage D collage contrôlé ^ R Sans watermark Avec watermark FIG. 2 Ajout de la signature (les collages sont représentés par des flèches pleines) 2.3. Sélection des blocs Pour être robuste aux techniques de compression, le tatouage doit posséder des composantes basses-fréquences importantes, les zones de contours possèdent de telles propriétés. Les blocs Source peuvent être selectionnés par leur écart-type (fig 3.b). Pour améliorer la phase de détection, un bloc Source ne doit pas être similaire à un autre. Nous procédons donc à une quantification des blocs Source (fig 3.c). Cette quantification, quantification vectorielle est faite simplement en regroupant les blocs de même écarttype. Afin que l information ajoutée soit invisible, les blocs Destination doivent être similaires aux blocs 78 0 %3 149 pour des valeurs et fixés. La distance entre les deux blocs est calculée en utilisant l erreur quadratique moyenne (fig 3.d). 2.4. Insertion dans le Domaine Spatial L image est partitionnée en blocs de taille :<;=:. Pour éviter des effets de blocs perceptibles, la dynamique de chaque bloc 0 est inférieure à >/?%@?. Selon l image et le degré de marquage, le nombre de blocs Destination varie de A/? à B$?+?. Un facteur C permet de fixer l intensité de la signature. Pour chaque bloc et, 0 calculé comme suit: où P est la moyenne de et D9E FGCHF 0 ER1S I JLKM ON 4TB si le bit inséré = 1 U B si le bit inséré = 0 L erreur quadratique entre et 0 est ensuite calculée. est 4QP (1)
a) b) Détection des blocs Domain Image partitionnée quantification vectorielle d) c) détection des similarités et substitution FIG. 3 Insertion de la signature blocs selectionnés 2.5. Insertion dans le domaine fréquentiel Pour éviter les effets de bloc et pour améliorer l invisibilité de la signature, nous avons implanté le schéma d insertion dans le domaine transformé produit par le DCT. Les blocs :V;W: de l image ont été transformés en coefficients DCT et nous avons considéré la similarité par rapport aux coefficients BF (cf figure 4). Deux raisons expliquent ce choix: les coefficients HF permettent de masquer la signature et les coefficients BF sont moins modifiés par les techniques de compression. Rlp Rhp Bloc DCT Coefficient considéré FIG. 4 bloc DCT et coefficients modifiés Dans ce cas-ci le bloc 0 se calcule par: D YXMZ 4[E FGCHF 0 T\ Z I J]K^ T\ Z$N (2) où %@_ ` et %@a` sont les coefficients HF (plus le coefficient DC) et BF, et
S ER 4TB si le bit inséré = 1 U B si le bit inséré = 0 Pour obtenir l invisibité de la signature, les valeurs maxima des coefficients DCT doivent être inférieures à >+?+?. Afin d éviter les problèmes de quantification après la transformée DCT inverse, les similarités sont recherchées dans l espace de luminance. 2.6. Détection de la signature La phase de détection peut être appliquée à la fois pour prouver l existence d une signature et pour lire celle-ci. La personne désirant identifier la signature a besoin de connaître la localisation des blocs Source et des blocs Destination. Soit ` # un compteur qui exprime le nombre de blocs détectés. Notre schéma de détection consiste à: 1. Prendre un bloc source de l image 2. Créer un bloc 0 (cf formules 1 et 2) qui minimise l erreur quadratique. Si l index de est le même que l index de la table, `b# est augmenté et le bit inséré et déduit du signe de E Si l index de n est pas le même que l index de la table, `b# est diminué. 3. Prendre un autre bloc Source dans l image et aller à > jusqu à épuisement des blocs. Index des blocs Range Recherche des similarités??? ^ R = R? p1 décodage Blocs Range? Image Partitionnée Index des blocs Domain ^ R # R? p1 Blocs Domain FIG. 5 Etape de détection 2.7. Résultats et Perspectives 2.7.1. Résultats Nous avons testé nos algorithmes spatial et fréquentiel sur lena >/A+c];d>+A/c. Pour chaque schéma 50 blocs Source ont été sélectionnés. Nous avons calculé le nombre de
detected blocks (%) detected blocks (%) JPEG quality factor (%) JPEG quality factor (%) FIG. 6 à gauche: test JPEG avec le schéma DCT, à droite:test JPEG avec le schéma spatial blocs Destination détectés (et le nombre de bits décodés) pour différents facteurs de qualité du schéma JPEG (cf figure 6). Pour une même distorsion (efchgh Q7A+>+i ) le schéma DCT est plus robuste à la compression JPEG (plus de blocs sont détectés). Nous devons celà à l insertion basse fréquence de la méthode. Cette méthode ne présente pas d artefacts aussi visibles que la méthode spatiale. FIG. 7 En haut: l image tatouée en utilisant le schéma DCT (à gauche) et le schéma spatial (à droite), au centre l image originale, en bas: l information ajoutée (recadrée) en utilisant le schéma DCT (à gauche) et le schéma spatial (à droite).
2.7.2. Perspectives Ce travail utilise les similarités pour tatouer une image. Comme de nombreux schémas en watermarking, son application dans le domaine fréquentiel est plus approprié. Un schéma utilisant la décomposition en ondelettes ([7]), où les similarités seront ajoutées aux composantes BF, sera bientôt implanté. Nous prévoyons aussi d effectuer des recherches de similarités locales ( le bloc Destination est proche du bloc Source). Ainsi le schéma d insertion sera plus rapide et robuste au fenêtrage. Les attaques par distortions géométriques (rotation et étirement de l image) permettent de contrer de nombreux schémas de watermarking. Pour y faire face, nous projetons d utiliser un partitionnement adaptatif comme le partitionnement de Delaunay [3] (figure 8). Ce partitionnement est flexible et conduit à une classification naturelle des blocs. Il est plus robuste aux transformations géométriques que les partitionnements classiques (carré, quad tree)[3]. FIG. 8 partitionnement triangulaire adaptatif sur une image 512j 512 3. CONCLUSION Cet article propose une approche originale en watermarking. Cette nouvelle méthode est basée sur la compression fractale. L algorithme présenté peut être appliqué dans l espace des luminances ou dans le domaine fréquentiel et les résultats montrent que la méthode par DCT est plus efficace que la méthode spatiale. Les techniques utilisées sont simples et le cadre du schéma permet de nombreuses améliorations.
Références [1] K. U. Barthel and T. Voyé. Adaptive fractal image coding in the frequency domain. In Proceedings of International Workshop on Image Processing: Theory, Methodology, Systems and Applications, Budapest, Hungary, June 1994. [2] G. Caronni. Assuming ownership rights for digital images. In Reliable IT System, VIS 95, 1995. [3] F. Davoine, J. Svenson, and J.-M. Chassery. A mixed triangular and quadrilateral partition for fractal image coding. In ICIP, volume 3, pages 284 287, Washington, D.C., 1995. [4] T. Leighton I. Cox, J. Killian and T. Shamoon. Secure spread spectrum watermarking for multimedia. IEEE Transactions on Image Processing, 6(12):1673 1687, December 1997. [5] A. E. Jacquin. Image coding based on a fractal theory of iterated contractive image transformations. IEEE Transactions on Image Processing, 1(1):18 30, January 1992. [6] B. Macq J.F. Delaigle, C. De Vleeschouwer. Watermarking using a masking model based on the human visual system. Technical report, Research Group ISIS, France, 1997. [7] S. G. Mallat. A theory for multiresolution signal decomposition: The wavelet representation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 11(7):674 693, 1989. [8] F. Petitcolas R. J. Anderson. On the limits of steganography. IEEE Transactions on Selected Areas in Communiactions, 16(4), May 1998. [9] D. Gruhl W. Bender and Morimoto. Techniques for data hiding. In Proc. SPIE, volume 2420, page 40, February 1995.