Procédé de tatouage d'images codées par ondelettes, procédé de détection, dispositifs, programmes d'ordinateur, signal et support d'enregistrement correspondants.
1. Domaine de l'invention Le domaine de l'invention est celui du tatouage d'images fixes ou de séquences vidéos d'images.
Plus précisément, l'invention concerne une technique de tatouage permettant d'intégrer des signatures à une image fixe ou animée, de façon à pouvoir en protéger le contenu à l'égard d'éventuelles copies ou diffusions illicites. En effet, le besoin d'une technique de tatouage fiable d'images et de vidéos, permettant d'assurer la pérennité de la protection au cours de la vie du contenu se fait de plus en plus pressant. Dans le contexte des applications de "peer to peer" par exemple (en français "poste à poste"), il s'avère particulièrement difficile de réaliser un suivi correct des contenus vidéos. Il est donc important de proposer une technique de tatouage invisible qui permette de contrôler la diffusion de contenus visuels.
2. Solutions de l'art antérieur
Le domaine du tatouage d'images, encore appelé « watermarking », est actuellement en plein essor, et fait l'objet de nombreuses recherches, tant dans le domaine des séquences vidéo que des images fixes. On connaît actuellement plusieurs techniques de tatouage d'images, correspondant respectivement à des représentations pixélique ou par vecteurs de mouvement des images et vidéos.
Ainsi, l'approche pixélique est un modèle de tatouage dans le domaine spatial, où la marque de tatouage est directement appliquée aux valeurs des pixels de l'image. Selon l'approche par vecteurs de mouvement en revanche, qui s'applique aux séquences vidéos, on utilise les transitions d'une image à la suivante dans l'espace pixélique ou sur les sommets d'un maillage associé à l'image : la marque de tatouage est insérée sur les vecteurs de mouvement, par modification de leurs coordonnées.
3. Objectifs de l'invention L'invention a notamment pour objectif de proposer une solution alternative aux techniques de tatouage de l'art antérieur.
Plus précisément, un objectif de l'invention est de fournir une technique de tatouage d'images et/ou de vidéos qui permette une protection fiable et pérenne des contenus, tout au long de leur diffusion et de leur utilisation.
Un autre objectif de l'invention est de proposer une telle technique qui permette l'insertion d'une marque de tatouage invisible, ou à tout le moins très peu visible, pour l'œil humain.
L'invention a encore pour objectif de fournir une telle technique qui soit simple et peu coûteuse à mettre en œuvre. Notamment, un objectif de l'invention est de proposer une telle technique qui induise un faible surcoût de codage des images ou des vidéos tatouées.
L'invention a aussi pour objectif de fournir une telle technique de tatouage qui permette d'insérer dans une image une marque de tatouage très difficile, voire impossible à supprimer pour un utilisateur.
Un autre objectif de l'invention est de proposer une technique de détection correspondante d'une marque de tatouage dans une image ou une séquence vidéo, de façon à permettre d'identifier si cette image ou cette vidéo est un contenu original. 4. Caractéristiques essentielles de l'invention
Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé de tatouage d'au moins une image fixe ou animée, ladite image étant associée à un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et à des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes, chaque coefficient d'ondelettes étant indexé par un sommet dudit maillage de base. Selon l'invention, un tel procédé de tatouage comprend les étapes de : insertion d'une marque de tatouage dans ladite image par déplacement local d'au moins un sommet dudit maillage de base, de façon à obtenir un maillage de base marqué ; modification de la valeur d'au moins un desdits coefficients d'ondelettes, de façon à compenser au moins partiellement l'impact visuel de ladite marque de tatouage sur ladite image.
Ainsi, l'invention repose sur une approche tout à fait nouvelle et inventive du tatouage d'images fixes ou animées. En effet, l'invention propose d'exploiter avantageusement la technique de codage d'images par maillage et ondelettes de deuxième génération (présentées plus en détail dans la suite de ce document) pour mettre en œuvre une nouvelle technique de tatouage de contenus visuels ou audiovisuels.
Plus précisément, l'invention exploite avantageusement les particularités du codage par maillage et ondelettes, selon lequel on associe à une image (fixe ou extraite d'une séquence vidéo) un maillage de base, correspondant aux basses fréquences de l'image, et des coefficients d'ondelettes correspondant à des raffinements successifs du maillage de base. Ainsi, selon l'invention, on insère la marque de tatouage sur le maillage de base, par déplacement local de certains de ses sommets, et on compense la gêne visuelle occasionnée par cette insertion, en modifiant de manière correspondante la valeur des coefficients d'ondelettes. De cette façon, la marque de tatouage est invisible pour l'utilisateur, tout en étant pérenne, puisqu'elle est associée aux basses fréquences de l'image.
On notera qu'on considère ici que la marque de tatouage (un copyright ou une signature par exemple) est insérée sur le maillage de base, et qu'une correction visuelle est appliquée sur les coefficients d'ondelettes. On pourrait bien sûr également considérer, de façon tout à fait symétrique, que la marque de tatouage est insérée sur les coefficients d'ondelettes, par modification de leur valeur, et que l'on réduit l'impact visuel de cette marque sur l'image ou la vidéo en corrigeant localement la position des sommets du maillage de base. Par souci de clarté, on se limitera, dans toute la suite du document, à décrire le cas où la marque de tatouage à proprement parler est insérée sur le maillage de base. L'Homme du Métier en déduira aisément le principe de l'invention dans le cas symétrique où la marque de tatouage est insérée sur les coefficients d'ondelettes.
Préférentiellement, ledit déplacement local dudit sommet s'effectue selon au moins une orientation principale d'une facette dudit maillage de base à laquelle appartient ledit sommet (direction d'allongement de la facette du maillage), de façon à limiter le dit impact visuel. En effet, un tel déplacement est moins visible.
Avantageusement, ladite marque de tatouage est une signature cryptée par une séquence pseudo-aléatoire. Le procédé de l'invention permet en effet d'insérer tout type de marque de tatouage dans les images.
Selon une caractéristique avantageuse, lesdits coefficients d'ondelettes étant associés à des niveaux de raffinement successifs dudit maillage de base, on agit au moins, lors de ladite étape de modification, sur la valeur d'au moins un coefficient d'ondelettes du dernier niveau de raffinement dudit maillage de base.
En effet, il suffit de réduire l'impact visuel de la marque de tatouage sur le dernier niveau de reconstruction du maillage. Pour plus d'efficacité de la correction, ou pour s'adapter aux terminaux de capacité de traitement plus réduite qui ne reconstruisent pas le maillage jusqu'à son dernier niveau de subdivision, on peut aussi corriger la valeur des coefficients d'ondelettes à plusieurs, voire tous les niveaux de raffinement du maillage.
L'invention concerne aussi un procédé de détection d'une marque de tatouage dans au moins une image tatouée selon le procédé de tatouage décrit précédemment, ladite image tatouée étant reconstruite à partir d'un flux de données reçu comprenant au moins un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes.
Selon l'invention, un tel procédé de détection comprend les étapes de : extraction d'un maillage de base à partir de ladite image tatouée reconstruite ; comparaison dudit maillage de base extrait et dudit maillage de base reçu dans ledit flux, de façon à identifier au moins une perturbation dudit maillage de base reçu ; détection de ladite marque de tatouage par analyse de ladite perturbation.
On utilise donc la méthode de recherche de maillage de base utilisée lors de l'encodage sur le contenu (image ou vidéo) reçu. Si ce contenu est marqué, on obtient alors un maillage de base légèrement différent du maillage de base reçu. Par comparaison, on peut identifier facilement la présence d'une signature dans le contenu reçu.
Avantageusement, lesdites étapes de comparaison et de détection comprennent les sous-étapes de : décomposition en ondelettes de ladite image tatouée reconstruite, à partir dudit maillage de base extrait, de façon à obtenir des coefficients d'ondelettes extraits ; soustraction desdits coefficients d'ondelettes extraits auxdits coefficients d'ondelettes reçus dans ledit flux, de façon à obtenir au moins une donnée de perturbation ; calcul d'une corrélation entre lesdites données de perturbation et lesdites modifications de valeur desdits coefficients d'ondelettes effectuées lors du tatouage de ladite image, de façon à détecter ladite marque de tatouage.
On peut ainsi extraire de l'image tatouée reçue la signature qui a été insérée dans le contenu à l'encodage, de façon par exemple à identifier l'origine ou l'auteur de l'image ou de la vidéo. L'invention concerne également un dispositif de tatouage d'au moins une image fixe ou animée, ladite image étant associée à un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et à des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes, chaque coefficient d'ondelettes étant indexé par un sommet dudit maillage de base. Un tel dispositif de tatouage comprend : des moyens d'insertion d'une marque de tatouage dans ladite image par déplacement local d'au moins un sommet dudit maillage de base, de façon à obtenir un maillage de base marqué ; - des moyens de modification de la valeur d'au moins un desdits coefficients d'ondelettes, de façon à compenser au moins partiellement l'impact visuel de ladite marque de tatouage sur ladite image.
L'invention concerne aussi un dispositif de détection d'une marque de tatouage dans au moins une image tatouée selon le procédé de tatouage décrit précédemment, ladite image tatouée étant reconstruite à partir d'un flux de données reçu comprenant au moins un maillage de base constitué d'un ensemble de facettes
définies par un ensemble de sommets et d'arêtes, et des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes, caractérisé en ce qu'il comprend : - des moyens d'extraction d'un maillage de base à partir de ladite image tatouée reconstruite ; des moyens de comparaison dudit maillage de base extrait et dudit maillage de base reçu dans ledit flux, de façon à identifier au moins une perturbation dudit maillage de base reçu ; - des moyens de détection de ladite marque de tatouage par analyse de ladite perturbation.
L'invention concerne encore un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de tatouage d'une image fixe ou animée décrit précédemment lorsque ledit programme est exécuté par un microprocesseur, ainsi qu'un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de détection d'une marque de tatouage dans une image fixe ou animée décrit précédemment lorsque ledit programme est exécuté par un microprocesseur.
L'invention vise également à protéger un support d'enregistrement contenant au moins une image tatouée selon le procédé décrit précédemment, ladite image étant associée à un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et à des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes, chaque coefficient d'ondelettes étant indexé par un sommet dudit maillage de base. Un tel support d'enregistrement comprend : au moins une zone mémoire dans laquelle est stocké un maillage de base marqué, obtenu par insertion d'une marque de tatouage dans ladite image par déplacement local d'au moins un sommet dudit maillage de base ; au moins une zone mémoire dans laquelle sont stockés lesdits coefficients d'ondelettes, contenant au moins un coefficient d'ondelettes dont la valeur a été modifiée de façon à compenser au moins partiellement l'impact visuel de
ladite marque de tatouage sur ladite image.
Un tel support d'enregistrement peut être lu dans un ordinateur ou tout autre terminal de visualisation d'images ou de vidéos. Il peut s'agir d'une disquette, d'un CD-Rom, d'un DVD, d'une clef USB, etc. L'invention concerne enfin un signal de données représentatives d'au moins une image fixe ou animée, ladite image étant associée à un maillage de base constitué d'un ensemble de facettes définies par un ensemble de sommets et d'arêtes, et à des coefficients dans une base d'ondelettes correspondant à des modifications locales dudit maillage de base, dits coefficients d'ondelettes, chaque coefficient d'ondelettes étant indexé par un sommet dudit maillage de base. Un tel signal comprend : un premier champ de données représentatives d'un maillage de base marqué, obtenu par insertion d'une marque de tatouage dans ladite image par déplacement local d'au moins un sommet dudit maillage de base ; un deuxième champ de données représentatives desdits coefficients d'ondelettes, contenant au moins un coefficient d'ondelettes dont la valeur a été modifiée de façon à compenser au moins partiellement l'impact visuel de ladite marque de tatouage sur ladite image.
5. Liste des figures
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 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'insertion et de détection d'une marque de tatouage dans une image fixe ou animée selon l'invention ; - la figure 2 illustre les différentes étapes des procédés de tatouage et de détection, précédemment présentés sous forme de flux de données sur la figure 1 ; la figure 3 décrit les contraintes imposées selon l'invention lors du déplacement local des sommets d'un maillage de base en vue de l'insertion d'une marque de tatouage ; la figure 4 illustre plus précisément le principe de déplacement des sommets
du maillage de base de la figure 3 ; les figures 5 et 6 présentent respectivement la structure d'un dispositif de tatouage et d'un dispositif de détection d'une marque de tatouage selon l'invention. 6. Description d'un mode de réalisation de l'invention
Le principe général de l'invention repose sur l'insertion d'une marque de tatouage dans le maillage de base d'une image fixe ou animée, codée par maillage et ondelettes de deuxième génération (ou de toute autre éventuelle génération ultérieure), et sur la compensation de la gêne visuelle induite par cette marque par modification de la valeur des coefficients d'ondelettes.
La technique de tatouage d'images de l'invention repose donc sur un codage des images par maillages et ondelettes, dont on rappelle succinctement le principe en annexe 1, qui fait partie intégrante de la présente description.
Dans toute la suite de la description, on désigne généralement par la même référence numérique un même élément présent dans différentes figures.
On présente, en relation avec la figure 1, un exemple d'insertion 10 et de détection 11 d'une marque de tatouage S sur une image It. Une telle image I, peut être une image fixe, ou l'une des images successives d'une séquence vidéo.
L'image I, subit une transformation en ondelettes W, telle que présentée en annexe 1 , à l'issue de laquelle elle se trouve associée, d'une part à un maillage de base MB, et d'autre part à un ensemble de coefficients d'ondelettes c, qui correspondent à des raffinements spatiaux du maillage de base MB.
Lors de ce tatouage 10 de l'image It, on insère une signature S dans l'image : une telle signature peut être un mot de code, un identifiant (par exemple, le nom de l'auteur d'une photographie représentée par l'image L) ou encore un copyright.
Cette insertion de la signature S se fait sur le maillage de base MB, par déplacement local de certains des sommets de ce maillage, comme décrit plus en détail par la suite dans ce document. L'ajout 12 de la signature S au maillage de base
MB permet de générer un nouveau maillage de base MB' : on modifie ainsi les basses fréquences de l'image It.
Parallèlement, pour réduire autant que faire se peut la gêne visuelle
occasionnée par la modification du maillage de base MB en un maillage marqué MB', on introduit une marque de correction S' sur les coefficients d'ondelettes c de l'image It. Une telle marque de correction S' vient modifier la valeur des coefficients d'ondelettes indexés aux sommets du maillage de base MB qui ont été déplacés par ajout 12 de la signature S. La marque de correction S' peut également être qualifiée de signature, ou de marque de tatouage : elle représente en quelque sorte la signature duale de la signature S, ou contre-signature.
L'ajout 13 de la marque S' aux coefficients d'ondelettes c permet d'obtenir un ensemble de coefficients d'ondelettes marqués, ou corrigés, c'. A partir du maillage de base marqué MB' et des coefficients d'ondelettes corrigés c', on peut, par transformée en ondelettes inverse W"1, générer une image tatouée It'.
L'ensemble inférieur 11 de la figure 1 représente la phase de détection de la signature ou de la marque de tatouage S au sein de l'image tatouée I,'. Cette image tatouée I,' est reçue par un utilisateur sous la forme d'un flux de données comprenant, d'une part le maillage de base marqué MB', et d'autre part l'ensemble de coefficients d'ondelettes corrigés c'. Par exemple, l'image tatouée est stockée sur un serveur de contenus, et adressée au terminal de visualisation de l'utilisateur sur réception d'une requête de ce dernier. Le terminal de visualisation décode le flux de données reçus, et reconstruit l'image tatouée It' à partir du maillage de base marqué MB' et des coefficients d'ondelettes corrigés c'.
Après reconstruction de l'image tatouée I,', le terminal de visualisation, ou dispositif de décodage, de l'utilisateur, procède à une extraction 14 d'un maillage de base MB" à partir de l'image tatouée reconstruite It'. Une telle extraction 14 met en œuvre la même méthode de recherche du maillage de base que celle utilisée lors de la phase de codage de l'image originale L, qui avait conduit à la détermination du maillage de base MB (par exemple, une méthode de recherche de maillage de base par détection de points saillants). Cependant, cette extraction 14 est effectuée sur le contenu marqué, et fournit donc un maillage de base MB" légèrement différent du maillage de base reçu MB', ce qui indique Ia présence d'une signature S dans l'image I1'. Le maillage de base obtenu MB" est comparé 15 au maiilage de base reçu MB' : si
ces deux maillages sont différents, ceci signifie que l'image It' est marquée.
La détection 1 1 se fait donc par comparaison des basses fréquences, de manière aveugle.
On présente désormais, en relation avec la figure 2, les différentes étapes des procédés de tatouage et de détection d'une marque de tatouage dans une image fixe ou animée selon l'invention.
On considère une image fixe It, ou une séquence d'images vidéos : dans ce dernier cas, la vidéo est décomposée en chacune des images fixes qui la composent.
Le tatouage a alors lieu sur chacune de ces images It à un instant t (ou seulement sur certaines de ces images, dans une variante de réalisation du procédé de tatouage de l'invention).
Lors de la première étape référencée 21, l'image /; est décomposée dans une base d'ondelettes de seconde génération, ce qui génère un maillage de base MB et un jeu de coefficients d'ondelettes c. L'étape référencée 22 consister à ajouter la signature au maillage de base MB.
La signature à insérer est une séquence pseudo aléatoire S, qui peut être pondérée en fonction de la nature des différentes zones de l'image (par exemple texture, zones homogènes, zones de triangles allongés). Cette séquence scalaire S est définie sur chaque sommet du maillage de base et multipliée par un vecteur qui dépend de l'allongement des triangles, comme illustré sur la Figure 3, de façon à réduire l'impact visuel du marquage.
Lors de l'étape référencée 23, on ajoute ensuite une signature duale S', qui consiste en fait en une correction de l'impact visuel de la signature S, sur les coefficients d'ondelettes c. Cette contre-signature S', de même nature que la signature S, est donc affectée cette fois à chaque sommet du maillage après la reconstruction au niveau 1, puis à chaque sommet nouveau après reconstruction au niveau 2, et ainsi de suite jusqu'au niveau maximum y (on désigne ici par niveau le niveau de raffinement hiérarchique du maillage par ajout des coefficients d'ondelettes, le niveau 0 correspondant au seul maillage de base, et le niveau maximum/ correspondant à une image parfaitement raffinée en tenant compte de tous les coefficients d'ondelettes).
Cette affectation de la signature duale S' aux sommets du maillage résulte de la modification de la valeur des coefficients d'ondelettes indexés aux sommets concernés.
Les déplacements des sommets, induits par la modification de la valeur des coefficients d'ondelettes, sont pondérés par un ensemble de vecteurs Vj pour chaque niveau de détail j, de telle façon que lors de la transformée en ondelettes inverse, la position des sommets du maillage de niveau j appartenant au maillage de base marqué MB' soit la même que dans le maillage de base MB avant insertion de la marque. Cette condition peut, dans un mode de réalisation minimal de l'invention, être réalisée seulement sur le dernier niveau de raffinement hiérarchique du maillage.
Entre les phases d'insertion 10 et de détection 11 de la marque de tatouage S, le maillage est reconstruit 24 à partir du maillage de base marqué MB' et des coefficients d'ondelettes marqués c\ en procédant à une transformée en ondelettes inverse. A la réception d'un flux de données permettant à l'utilisateur de visualiser l'image tatouée I,', les coefficients ondelettes sont décodés, afin qu'ils soient ajoutés au maillage de base, dans le but de reconstruire le contenu. Si un utilisateur souhaite détecter une marque S dans le contenu décodé, il est nécessaire de réaliser au préalable une étape d'extraction de maillage de base sur l'image décodée It' (par un procédé itératif, ou par détection des points saillants par exemple). Le maillage de base extrait MB" est alors nécessairement différent du maillage de base reçu MB' lors de la reconstruction du contenu. La comparaison de ces deux maillages extrait MB" et reçu MB' dans le flux, par des mesures de corrélations, permet de détecter la marque de tatouage S, en identifiant les perturbations du maillage reçu MB', par rapport au maillage recalculé MB".
L'étape référencée 25 correspond donc à l'extraction du maillage de base MB" à partir de l'image décodée. Si, lors du codage de l'image It, le maillage de base a été extrait par détection de points saillants (selon la technique décrite par Christophe Laurent, Nathalie Laurent, Mariette Maurizot, et Thierry Dorval, dans "Color Image Indexing Based on Photometric Invariant Salient Features", IEEE Signal Processing Magazine (2004)), on effectue, sur l'image reconstruite, une telle détection 25,
produisant un maillage de base MB".
D'autres procédés d'extraction du maillage de base, bien connus de l'Homme du Métier peuvent bien sûr également être utilisés lors du codage de l'image It. Dans ce cas, la seule contrainte imposée lors de l'étape d'extraction 25, est que la méthode employée lors de cette phase de détection 11 de la marque de tatouage S soit identique à celle employée lors du codage initial de l'image I,.
Lors de l'étape suivante 26, on procède ensuite à l'extraction de la signature S. Une décomposition en ondelettes est effectuée sur l'image résultante It' en partant du maillage de base MB". Les coefficients obtenus lors de cette décomposition en ondelettes sont soustraits aux coefficients c' reçus pour donner une différence D.
On procède alors à un test statistique 27, au cours duquel on réalise un calcul de corrélation r entre D et S,' que l'on compare à un seuil R :
R=ZλS/N, où N est le nombre de sommets du maillage de base. Les valeurs relatives de la corrélation r et du seuil R permettent de déterminer la présence ou l'absence de marque de tatouage dans l'image.
On présente désormais, en relation avec la figure 3, le principe de déplacement local des sommets du maillage de base lors de l'insertion de la marque de tatouage S. Cette perturbation des sommets du maillage de base tient compte de la géométrie locale des triangles (i.e. des facettes triangulaires du maillage), de façon à obtenir une déformation contrôlée du contenu.
Plus précisément, le déplacement des sommets du maillage de base est réalisé en suivant les sous-bandes géométriques ; ces sous-bandes sont caractérisées par la forme géométrique des triangles, c'est-à-dire l'allongement de ces derniers. L'insertion de l'information de tatouage est réalisée par déplacement des sommets, et l'erreur visuelle ainsi engendrée est compensée par le marquage effectué ultérieurement sur les coefficients d'ondelettes.
On considère la portion de maillage triangulaire de la figure 3. Cette portion comprend trois facettes triangulaires référencées 31, 32 et 33. L'image I, à laquelle est associée ce maillage de base présente par exemple un contour 34, qui impose la forme d'allongement des triangles 31 à 33 du maillage de base.
Afin de tenir compte de la gène visuelle occasionnée par Ia perturbation de la
position des sommets des triangles 31 à 33, on prend en compte la géométrie de ces triangles 31 à 33, afin de perturber aussi peu que possible le codage de l'image It. Pour ce faire, on déplace les sommets des triangles 31 à 33 en utilisant les orientations principales des sous-bandes géométriques, ce qui a pour effet de tenir compte des orientations des coefficients ondelettes.
Ainsi, les déplacements référencés 35 des sommets des triangles 31 à 33 correspondent à des déformations impossibles, puisqu'ils ne suivent pas l'orientation principale des triangles. En revanche, les déplacements référencés 36 sur la figure 3 correspondent à des déplacements des sommets autorisés, puisqu'il s'effectuent dans la direction d'une orientation principale du triangle 32.
La figure 4 présente plus précisément le principe de déplacement des sommets du maillage de base par insertion de la marque de tatouage. On considère une facette f; 32 du maillage de base, et l'un de ses sommets x, 43. L'image est associée à un repère géométrique présentant un axe des abscisses x et un axe des ordonnées y. Par exemple, le sommet du maillage de base situé en haut à gauche de l'image est repéré par le couple de coordonnées (0, 0).
On commence tout d'abord par instaurer un ordre sur les sommets du maillage de base, par exemple en effectuant un tri des sommets par x croissant (et par y croissant pour les sommets de même abscisse x, ce qui est très peu fréquent en pratique).
La signature à insérer dans l'image ou la vidéo est un vecteur de N bits, où N est le nombre de sommets du maillage de base. Chaque bit b, de la signature est donc associé à un sommet du maillage de base. Lorsque le bit b, associé au sommet x, vaut
0, on n'opère pas de déplacement du sommet X1. En revanche, lorsque le bit b, associé au sommet X1 vaut 1, le sommet x, du maillage de base doit être déplacé.
On parcourt donc l'ensemble des bits de la signature et, pour chaque bit b, de valeur 1, on effectue les opérations suivantes : on considère le sommet x, du maillage de base correspondant au bit i courant, selon l'ordre préétabli ; - on calcule le vecteur Rt de la façon suivante :
∑ v — ; — -. — r, où Vj désigne le vecteur unitaire dont la pour chaque face F1 contenant X1 aire[fj)
direction est la bissectrice D1 42 au triangle f 32 en X1 43, orienté vers l'extérieur du triangle /J 32, ainsi qu'illustré par le vecteur référencé 41 sur la figure 4. Le vecteur R1 tient donc compte de chacune des faces du maillage de base dont x, est l'un des sommets ; on déplace ensuite le sommet x, selon le vecteur Rn de façon à ce que le sommet x, soit remplacé par le sommet x,+Rr
Le vecteur R1 ainsi calculé est également exploité lors de la modification des valeurs des coefficients d'ondelettes destinée à réduire l'impact visuel de l'insertion de la signature sur les sommets du maillage de base. En effet, comme déjà indiqué ci- dessus, les perturbations du maillage de base sont compensées par l'insertion d'une contre-signature sur les coefficients d'ondelettes.
On considère l'exemple ci-dessous, dans lequel les ondelettes utilisées sont affines à un moment nul (ondelettes de type 0-disk, comme présenté par M.
Lounsbery, T. DeRose, et J. Warren dans "Multiresolution Analysis for Surfaces of Arbitrary Topological Type", ACM Transactions on Graphics, 1994), et on procède selon les étapes suivantes :
1. On note j le nombre de niveaux de subdivisions du maillage hiérarchique associé à l'image considérée ;
2. Pour chaque sommet X1 du maillage de base, on effectue les opérations suivantes : a. Pour chaque arête v du maillage de base contenant le sommet x, i. On calcule le vecteur dv de la manière suivante : w v , A R, d - -
W K K où : w, est Ia somme des aires des deux triangles partageant l'arête v,
W = 2W< pour chaque arête i contenant ]e sommet xs
Vj est le vecteur unitaire porté par l'arête v, et tel que x;+vy est orienté vers l'extérieur des deux triangles sus-cités partageant l'arête v, A = - J w1V1 , pour chaque arête i contenant xt
et K est le nombre d'arêtes du maillage de base contenant x,. ii. Pour chaque niveau de subdivision k :
Le coefficient c porté par l'arête v dont l'un des voisins est x, est remplacé par c-dJ(8N) (on notera que le facteur 8 est ici conditionné par le type d'ondelettes utilisées, en l'espèce des ondelettes 0-disk à un moment nul).
En d'autres termes, l'invention propose d'insérer une marque numérique dans les basses fréquences d'un contenu, en prenant en charge les effets de dérive liés à cette insertion. La méthode se décompose alors en deux étapes distinctes, lors de l'insertion. La première étape consiste, lors de la création du maillage de base, à déplacer localement les sommets de ce maillage, afin que cette perturbation introduise un « mot de code » ou un identifiant (ou encore un copyright) dont seul le créateur possédera l'original. Cette perturbation est effectuée sur les sommets des triangles, par déplacement spatial de ces derniers. Une fois que la marque de tatouage est insérée, c'est-à-dire que les perturbations locales du maillage de base sont achevées, il en résulte, en fonction de la marque à insérer, une perte de qualité. La deuxième étape pallie ce problème, lors de la phase d'analyse. Une première analyse en ondelettes est effectuée sur le maillage non marqué, puis une seconde analyse est réalisée sur le maillage marqué, ou perturbé. Une comparaison est ensuite effectuée entre les deux maillages, afin d'adapter les coefficients du maillage déformé, dans le but de minimiser l'impact visuel sur le contenu.
L'invention présentée dans ce document permet donc la copie contrôlée des contenus images et vidéos, pour des applications de "Video On Demand" (VOD, "vidéo à la demande"), de "peer to peer" ("poste à poste"), d'achat de photos ou de vidéos par "streaming" (en français "lecture en continu"), ou toute autre méthode de fourniture de contenus.
On présente enfin, en relation avec les figures 5 et 6, la structure d'un dispositif de tatouage d'images ou de vidéos et d'un dispositif de détection de marques de tatouage dans un contenu tatoué selon l'invention.
Le dispositif de tatouage de la figure 5 comprend une mémoire M 51, une
unité de traitement 50 P, équipée par exemple d'un microprocesseur μP, et pilotée par le programme d'ordinateur Pg 52. A l'initialisation, les instructions de code du programme d'ordinateur 52 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 50. L'unité de traitement 50 reçoit en entrée un contenu à marquer 53 (une image ou une séquence d'images vidéos) ainsi qu'une marque de tatouage, ou signature, à y insérer. Le microprocesseur μP de l'unité de traitement 50 insère la marque de tatouage 54 dans le contenu 53, selon les instructions du programme Pg 52. Plus précisément, il procède dans un premier temps au déplacement des sommets du maillage de base associé au contenu 53, puis dans un second temps à la correction visuelle sur les coefficients d'ondelettes. L'unité de traitement 50 délivre en sortie un contenu tatoué 55.
Le dispositif de la figure 6 est un dispositif de détection d'une marque de tatouage dans un contenu marqué. Il comprend une mémoire M 61, une unité de traitement 60 P, équipée par exemple d'un microprocesseur μP, et pilotée par le programme d'ordinateur Pg 62. A l'initialisation, les instructions de code du programme d'ordinateur 62 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 60. L'unité de traitement 60 reçoit en entrée un contenu 63 (une image ou une séquence d'images vidéos). Le microprocesseur μP de l'unité de traitement 60 traite le contenu 63, selon les instructions du programme Pg 52, afin d'y détecter la présence éventuelle d'une marque. Plus précisément, il procède dans un premier temps à la reconstruction du contenu reçu 63, puis à une recherche de maillage de base sur ce contenu reconstruit. Il compare ensuite le maillage de base reçu dans le flux 63 au maillage extrait du contenu reconstruit, et en déduit, s'ils sont différents, que le contenu 63 est tatoué. Dans ce cas, le processeur P 50 réalise une décomposition en ondelettes du contenu à partir du maillage de base extrait, afin de déterminer un jeu de coefficients d'ondelettes extraits, qu'il compare aux coefficients d'ondelettes reçus dans le flux 63. Cette comparaison lui permet de déterminer la marque de tatouage qui a été insérée à l'encodage dans le contenu 63. L'unité de traitement 60 délivre en sortie cette signature 65 extraite du contenu marqué 63.
ANNEXE 1
Les techniques connues de codage d'images fixes ou de séquences vidéo par maillage reposent sur l'utilisation de maillages hiérarchiques, que l'on associe aux images à coder. Ainsi, considérons une image fixe, par exemple codée en niveaux de gris (la même technique s'applique pour une image codée en chrominance par exemple). L'image peut être considérée comme une représentation discrétisée d'une surface paramétrique. On peut donc appliquer, soit sur une zone de l'image, soit sur l'image entière, un maillage quelconque. Par subdivision hiérarchique (qui peut être adaptative ou non), on fait évoluer ce maillage de manière régulière ou irrégulière. On dispose ainsi d'une « hiérarchie », en subdivisant le maillage dans les seules régions de l'image où l'erreur calculée est supérieure à un seuil prédéterminé. Un aperçu général des techniques à base de maillages est également présenté dans le document ISO/IEC (ITU-T SG8) JTC1/SC29 WGl (JPEG/JBIG), JPEG2000 Part I Final Committee Draft, Document N2165, Juin 2001. Les ondelettes de deuxième génération, mises en œuvre dans le cadre de la présente invention, constituent quant à elles une nouvelle transformation, issue du monde mathématique.
Cette transformation a été introduite en premier lieu par W. Dahmen ("Décomposition of refinable spaces and applications to operator équations", Numer. Algor., N°5, 1993, pp.229-245, en français "décomposition d'espaces pouvant être raffinés et applications aux équations d'opérateur") et J. M. Carnicer, W. Dahmen et J.M. Pena ("Local décomposition of refinable spaces", Appl. Comp. Harm. Anal. 3, 1996, pp. 127- 153, en français "décomposition locale d'espaces pouvant être raffinés") puis développée par W.Sweldens ("The Lifting Scheme : A Construction of Second Génération Wavelets", Nov 1996, SIAM Journal on Mathematical Analysis, en français "Le schéma "lifting" : une construction d'ondelettes de deuxième génération") et W. Sweldens & P. Schroder ("Building Your Own Wavelet at Home", Chapter 2, Technical report 1995, Industrial Mathematics Initiative, en français "Construisez vos propres ondelettes chez vous"). Ces ondelettes sont construites à partir d'une subdivision irrégulière de l'espace d'analyse, et sont basées sur une méthode d'interpolation pondérée et
moyennée. Le produit vectoriel habituellement utilisé sur L2(R) devient un produit vectoriel interne pondéré. Ces ondelettes sont particulièrement bien adaptées pour les analyses sur des supports compacts et sur les intervalles. Elles conservent cependant les propriétés des ondelettes de première génération, à savoir une bonne localisation temps/fréquence et une bonne rapidité de calculs, car elles sont construites autour de la méthode lifting exposée précédemment.
M. Lounsbery, T. DeRose, et J. Warren dans "Multiresolution Analysis for
Surfaces of Arbitrary Topological Type", ACM Transactions on Graphics, 1994 (en français "Analyse multiresolution de surfaces de type topologique arbitraire") ont envisagé d'appliquer ces ondelettes sur une structure surfacique quelconque. Dans le cadre de la présente invention, ces ondelettes sont appliquées sur un maillage, qui constitue une surface dont la topologie peut être quelconque.
Pour définir de manière exacte ces ondelettes de deuxième génération, on peut tout d'abord rappeler les propriétés que ces dernières ont en commun avec les ondelettes dites de première génération, puis indiquer les propriétés supplémentaires que ces ondelettes de deuxième génération présentent, et qui sont notamment exploitées dans le cadre de la présente invention.
Propriétés communes aux ondelettes de première et de deuxième génération : Pl : Les ondelettes forment une base de Riez sur L2(R), ainsi qu'une base « uniforme » pour une grande variété d'espace de fonctions, tel que les espaces de
Lebesgue, Lipchitz, Sobolev et Besov. Cela signifie que toute fonction des espaces cités peut être décomposée sur une base d'ondelettes, et cette décomposition convergera uniformément en norme (la norme de l'espace de départ) vers cette fonction. P2 : Les coefficients de décomposition sur la base uniforme sont connus
(ou peuvent être trouvés simplement). Soit les ondelettes sont orthogonales, soit les ondelettes duales sont connues (dans le cas bi -orthogonal).
P3 : Les ondelettes, ainsi que leur duales, ont des propriétés locales en espace et en fréquence. Certaines ondelettes sont même à support compact (la présente invention utilise préférentiellement, mais non exclusivement, de telles ondelettes). Les propriétés de localisation en fréquence découlent directement de la
régularité de l'ondelette (pour les hautes fréquences) et du nombre de moments polynomiaux nuls (pour les basses fréquences).
P4 : Les ondelettes peuvent être utilisées en analyse multirésolution. Cela conduit à la FWT (Fast Wavelet transform, en français, "transformée en ondelettes rapide"), qui permet de passer de la fonction aux coefficients ondelettes en « temps linéaire ».
Propriétés supplémentaires caractérisant les ondelettes de seconde génération :
Ql : Alors que les ondelettes de première génération donnent des bases pour des fonctions définies sur Rn, certaines applications (segmentation de données, solutions des équations aux dérivées partielles sur des domaines généraux, ou application des ondelettes sur un maillage à topologie arbitraire...), nécessitent des ondelettes définies sur des domaines de Rn arbitraires, tels que les courbes, les surfaces ou les variétés ; Q2 : La diagonalisation des formes différentielles, l'analyse des courbes et des surfaces, et les approximations pondérées, nécessitent une base adaptée aux mesures pondérées. Cependant, les ondelettes de première génération ne fournissent de bases que pour les espaces avec des mesures invariantes par translation (typiquement les mesures de Lebesgue) ; Q3 : Beaucoup de problèmes réels nécessitent des algorithmes adaptés pour les données à échantillonnage irrégulier, alors que les ondelettes de première génération ne permettent qu'une analyse sur les données échantillonnées de manière régulière.
Ainsi, pour résumer la construction des ondelettes de deuxième génération, on peut mettre en avant les principes ci-dessous.
Lors de l'analyse multirésolution, on pose que l'espace traditionnelle où évoluent les fonctions d'échelle sont les Vk, tels que :
On agrandit l'espace d'analyse, en se plaçant dans un Banach (noté B). On a donc, pour les ondelettes de deuxième génération :
On définit, dans le Banach, au sens des distributions, un produit scalaire permettant de redéfinir les espaces duaux. La condition de raffinement devient (sous forme matricielle) : φk~ι = Pφk où P est une matrice quelconque.