Brevet FR2977053A1 — publié le 20121228

Tatouage d'images informé avec prise en compte de critères perceptuels La présente invention concerne le tatouage d'images numériques, par exemple pour identifier une contrefaçon d'image au titre du droit d'auteur. Plus particulièrement, l'invention concerne une mise en oeuvre dans le domaine fréquentiel, par exemple après une transformée de type DCT (pour « Discrete Cosine Transform »), ou encore par ondelettes, ou autres, cette mise en oeuvre utilisant, dans le domaine transformé, une fonction de projection pseudo-aléatoire. Une telle approche est réputée plus performante. L'article «Broken arrows» de T. Furon et P. Bas (EURASIP Journal on Information Security, 2008) résume cette approche. Une telle technique permet notamment une détection de la marque de tatouage sans que cette 15 marque corresponde à un message particulier (technique de tatouage dite « zero bit »). On a représenté schématiquement sur la figure 1 les blocs généraux utilisés pour une telle fonction de tatouage, appliquée à une image numérique (pixellisée). 20 Une image hôte Im, dont on considère les pixels sous la forme d'un vecteur x, est mise sous forme fréquentielle par application d'une transformée de type Fourier, DCT, ondelettes, ou autre, à l'étape S01. Les échantillons de la transformée forment un vecteur xf de dimension N. Ce vecteur est projeté dans un sous-espace pseudo-aléatoire à l'étape S02. Le vecteur xp résultant de cette projection est de dimension n inférieure à N. L'espace de projection pseudo-aléatoire est généré à 25 partir d'une clef secrète k. Le message à tatouer, noté m, est encodé à l'étape S03 (application de codes correcteurs classiques ou informés, de nombreuses approches étant possibles) pour délivrer un mot de code u de dimension n. A l'étape SO4, une fonction d'adaptation de la marque à insérer, dite ci-après « fonction d'insertion de la marque », calcule un vecteur de marque wp (de dimension n) correspondant à la marque projetée et respectant une distorsion d. Là aussi, de nombreuses approches sont possibles pour la technique de calcul de cette marque wp. 35 Ce vecteur subit une projection inverse à l'étape S05, pour délivrer la marque wf dans le domaine fréquentiel. Cette marque subit une transformée fréquentielle inverse à l'étape S06, ce qui donne la marque w, de dimension N, dans le domaine spatial. L'image finalement marquée, notée y, est obtenue en ajoutant la marque w à l'image d'origine x, à l'étape S07. On observe toutefois que la projection inverse de l'étape S05 est habituellement réalisée par application d'une équation du type : wf [i] = 1 ~wP[J~XG[ J] (1) NIN =l où G est la matrice de projection pseudo-aléatoire, m étant un entier. L'énergie (espérance du carré) de chaque élément du vecteur marque wf dans le domaine transformé est constante. La distorsion introduite par la marque est alors uniforme sur l'ensemble de l'image marquée. Toutefois, il n'est pas pris en compte dans cette formule (1) la perception humaine réelle. En particulier dans des zones uniformes de l'image, la marque peut se révéler visible et gênante. Pour atténuer cet effet, on peut réaliser une insertion dite « proportionnelle » de sorte que la marque est pondérée par la valeur absolue du coefficient du vecteur xf correspondant, ce qui s'écrit : wf [i] = xf ~wP[ilxG[il[J] (2) Or, dans le domaine des ondelettes, plus les coefficients ont de grandes valeurs absolues et plus ils correspondent à des hautes fréquences de l'image (comme illustré sur les figures 2a et 2b commentées ci-après). Ainsi, avec cette formule (2) ci-dessus, les contours de l'image reçoivent plus de marque que les zones uniformes. Cette technique ne répond pas parfaitement à la perception visuelle humaine et présente en effet ses limites sur des contours très tranchés, lorsque l'une des deux zones séparées par le contour est uniforme. On a représenté sur la figure 2a une ligne d'une image hôte x, présentant, en niveaux de gris, une zone uniforme à gauche, séparée, par un ou plusieurs pixels noirs, d'une zone texturée à droite. On relèvera que les coefficients de sa transformée en ondelettes sont plus grands pour les zones contrastées sur la figure 2b. Ainsi, sur des contours très contrastés et donc avec des coefficients de valeur absolue très importante dans le domaine des ondelettes, la marque est par conséquent très forte et provoque des artefacts dans la partie uniforme du contour, comme cela apparaît sur la partie gauche de l'image présentée en figure 3. La présente invention vient améliorer la situation. Elle propose à cet effet un procédé de tatouage d'une image numérique par insertion d'une marque dans le domaine transformé, le procédé comportant une pondération, en fonction de l'image, de composantes d'un vecteur représentant la marque dans le domaine transformé. En particulier, cette pondération est fonction de textures de zones dans l'image et comporte : - une affectation d'un coefficient de pondération de valeur basse pour une zone de texture uniforme, et - une affectation d'un coefficient de pondération de valeur haute pour une zone de texture contrastée. L'invention permet alors de supprimer les artefacts tels qu'ils apparaissent sur la figure 3 présentée ci-avant en utilisant l'équivalent d'un masque perceptuel dans le domaine spatial, et ce tout en conservant les performances du système de tatouage, comme on le verra dans les exemples de réalisation décrits plus loin. L'application de ce « masque perceptuel » peut être réalisée par une routine de recherche de contraste local dans l'image pour l'affectation de ces coefficients de pondération, ou, en variante, être effectuée manuellement par un utilisateur définissant par visualisation sur écran les zones uniformes et texturées. Par exemple et notamment dans cette variante, la valeur basse affectée aux zones uniformes repérées par l'utilisateur peut être « zéro », tandis que la valeur haute précitée pour les zones texturées peut être «un ». Bien entendu, dans le cas d'une recherche automatisée de contraste local, les coefficients affectés peuvent varier, discrètement ou continument, de 0 à 1 en fonction de l'intensité du contraste. Néanmoins, des essais réalisés avec deux valeurs seulement, haute à 0 et basse à 1, ont déjà donné de bons résultats comme montré ci-après en référence à la figure 7. Cette pondération s'effectue préférentiellement (mais non limitativement) lors de l'opération de projection inverse conformément à une formule du type (1) ou (2) ci-avant. Ainsi, dans un procédé comportant une étape de projection dans un sous-espace pseudo-aléatoire d'un vecteur représentant la marque, suivie d'une étape de projection inverse en vue de l'insertion de la marque dans l'image, la pondération précitée s'effectue préférentiellement après ou à l'étape de projection inverse. Plus particulièrement, la pondération s'exprime par l'application de coefficients mf[i] dans le domaine transformé, sous la forme : wf [a] = m ~] ~wp[J].G[a][J] (3) ,l 10 où : - wf[i] est la ième composante parmi N composantes du vecteur représentant la marque dans le domaine transformé, - wp[j] est la je' composante parmi n composantes du vecteur représentant la marque dans le sous-5 espace, avec n On peut alors prévoir au moins une pondération appliquée à la marque dans le domaine transformé, par exemple simplement par application de l'équation (3) avec des coefficients adaptés. En complément ou en variante, on peut prévoir aussi au moins une pondération appliquée à la marque dans le domaine direct, après transformation inverse du vecteur représentant la marque dans le domaine direct. 15 Dans ce mode de réalisation, la pondération est appliquée dans le domaine direct préférentiellement en fonction d'un critère basé sur une estimation d'impact sur la marque dans le domaine transformé. Effectivement, de façon avantageuse, dans ce mode de réalisation, on contrôle non seulement la dégradation de l'image dans le domaine spatial, mais aussi la robustesse de la marque dans le domaine fréquentiel. Ainsi, dans une telle réalisation d'estimation de l'impact de la marque 20 dans le domaine transformé, le critère précité vérifie un compromis entre une robustesse de la marque et une limitation de dégradation de l'image dans une zone uniforme de l'image. La présente invention vise aussi un programme d'ordinateur comportant des instructions pour la mise en oeuvre du procédé ci-avant, lorsque ce programme est exécuté par un processeur. Un 25 exemple d'organigramme d'algorithme d'un tel programme informatique est commenté plus loin en référence à la figure 6. La présente invention vise aussi un dispositif de traitement d'une image numérique pour la mise en oeuvre du procédé ci-avant et notamment pour un tatouage de l'image par insertion d'une marque 30 dans le domaine transformé. En référence à la figure 8, le dispositif comporte des moyens de calcul (tels qu'un processeur µP et une mémoire de travail MEM) pour effectuer une pondération, en fonction de l'image Im, de composantes d'un vecteur représentant la marque dans le domaine transformé. Le dispositif comporte avantageusement des moyens TEXT de distinction de textures de zones dans l'image, et les moyens de calcul : 35 - affectent un coefficient de pondération de valeur basse pour une zone de texture uniforme, et - affectent un coefficient de pondération de valeur haute pour une zone de texture contrastée. L'image Im peut initialement être stockée dans une mémoire du dispositif ou en variante être téléchargée par exemple temporairement dans une mémoire, en vue de son traitement, comme illustré sur la figure 8. Comme indiqué précédemment, les moyens de distinction TEXT peuvent comporter une routine de recherche de contraste local ou, en variante, comporter simplement des moyens de saisie pour un utilisateur repérant lui-même les zones uniformes et contrastées. D'autres avantages et caractéristiques de l'invention apparaîtront à la lecture de la description détaillée ci-après, présentée à titre d'exemple nullement limitatif, et des dessins annexés sur lesquels : la figure 1 est un organigramme de traitement d'une image pour la détermination et l'insertion d'une marque dans l'image, selon un procédé de l'art antérieur ; la figure 2a illustre une ligne de pixels ou de groupes de pixels d'une image, en niveaux de gris et présentant une zone uniforme grise à gauche, une zone de séparation en noir au milieu, puis une zone texturée à droite, la figure 2b, quant à elle, présentant schématiquement la transformée en ondelettes de l'image de la figure 2a ; la figure 3 est une image marquée, avec une énergie de marque proportionnelle à la valeur absolue du coefficient de transformée en ondelettes, au sens de l'état de l'art ; les figures 4a et 4b illustrent deux exemples respectifs que peut prendre la pondération fréquentielle au sens de l'invention, avec une coupure au-delà d'un seuil pour la figure 4a et une limitation pour la figure 4b ; la figure 5a représente un exemple de masque spatial ms correspondant aux pixels de la figure 2a et la figure 5b représente son impact dans le domaine fréquentiel ; la figure 6 est un organigramme de traitement d'une image pour la détermination et l'insertion d'une marque dans l'image, dans une réalisation au sens de l'invention ; - la figure 7 illustre l'image marquée, avec l'énergie de la marque proportionnelle à la valeur absolue du coefficient de transformée en ondelettes mais dont la marque a été filtrée fréquentiellement et spatialement, dans une réalisation ; la figure 8 illustre schématiquement un dispositif pour une mise en oeuvre du procédé. L'invention propose de prendre en compte tout d'abord un critère fréquentiel générique, à la place de la valeur absolue comme au sens de l'art antérieur présenté ci-avant. A chaque composante du vecteur xf est associée une pondération du vecteur, notée mf (pondération supérieure ou égale à zéro), de sorte que la projection inverse est donnée par : wf - m [il lnwp[ jixG[ Ji J=l 25 Cette pondération peut être utilisée pour limiter les artefacts apparaissant sur la figure 3. Les figures 4a et 4b montrent deux exemples respectifs : dans le premier, les plus hautes fréquences ne sont pas marquées (avec une coupure à zéro), dans le second, une limite d'énergie de la marque est imposée. Une telle réalisation, bien qu'étant plus avantageuse que l'art antérieur décrit ci-avant, présente néanmoins quelques limites. Dans la mise en oeuvre de la figure 4a, on perd toutefois beaucoup de possibilités d'insertion de la marque : plus aucune marque n'est applicable dans les contours de l'image, ce qui réduit fortement la robustesse du tatouage. Dans la mise en oeuvre de la figure 4b des artefacts restent visibles, car la marque peut « déborder » sur une zone uniforme, ce qui la rend visible, voire gênante. Il est proposé alors, dans une réalisation particulière et notamment pour surmonter ces inconvénients lorsqu'ils sont très marqués, d'associer à la pondération fréquentielle une pondération spatiale (notée ci-après ms). Par exemple dans l'image du contour de la figure 3, selon une telle réalisation, la partie de gauche (zone unie) est spatialement pondérée à zéro (ou à une valeur «basse »), tandis que la partie de droite correspondant à la zone texturée est pondérée à 1 (ou à une valeur « haute »). On a représenté sur la figure 5a encore un autre exemple de masque spatial ms pour convenir aux pixels illustrés sur la figure 2a. On a représenté aussi l'impact du masque msf dans le domaine fréquentiel sur la figure 5b. Il est possible de construire ce masque à la main (par exemple par sélection de zones de l'image hôte, texturées d'une part, et uniformes d'autre part), ou automatiquement (par exemple par recherche de zones plus ou moins contrastées et applications de pondérations inversement élevées). 30 Le masque est appliqué sur la marque w avant son ajout à l'image x. Ce masque a un impact sur la marque. En effet, il modifie la marque en réduisant son énergie. Cet impact est préférentiellement pris en compte dés le calcul du vecteur wp pour une insertion optimale, car ce calcul dépend de l'énergie de la marque dont on peut disposer. Typiquement, si on 35 ne prend pas en compte l'impact du masque spatial sur la marque, l'image marquée peut présenter une marque différente de celle prévue : par exemple une marque dégradée et de robustesse amoindrie. Préférentiellement, on calcule l'impact de la marque dans le domaine fréquentiel en trois étapes : (i) un vecteur composé de valeurs à « 1 » subit la transformée fréquentielle inverse, (ii) le résultat est multiplié, élément par élément, par le vecteur ms, et (iii) le résultat subit enfin la transformée fréquentielle pour donner le vecteur msf, comme illustré sur les figures 5a et 5b. Les deux masques mf et msf sont combinés (par une multiplication par exemple) et utilisés pour calculer la puissance de la marque résiduelle après les deux masquages. Cette puissance est prise en compte pour le calcul du vecteur wp. On a représenté sur la figure 6 le calcul et l'application de la marque. Les étapes identiques ou similaires à celles illustrées sur la figure 1 portent les mêmes références numériques. En particulier, à l'étape S08, le masque spatial ms est calculé et son impact msf en termes d'énergie de marque résultante (transformée fréquentielle, puis transformée inverse, de l'application du masque spatial dans la fonction d'insertion de la marque) est estimé à l'étape S09. Le masque spatial est éventuellement ajusté à nouveau à l'étape S08 (flèche KO). En particulier, il est recherché un optimum entre la robustesse de la marque (suffisamment d'énergie) et une dégradation de l'image (comme observé dans la partie de gauche de la figure 3 ci-avant). Les masques finalement retenus, respectivement ms et msf, sont utilisés pour le calcul de la fonction d'insertion à l'étape SO4. De même, le masquage fréquentiel mf est déterminé à l'étape S10. Les masques fréquentiel mf et spatial ms sont successivement appliqués, aux étapes S11 et S12, respectivement par multiplication à l'image dans le domaine fréquentiel, puis à l'image dans le domaine spatial suite à une transformée inverse (étape S06). La marque finalement obtenue w est ensuite insérée à l'image hôte x à l'étape S07 pour obtenir l'image tatouée y.30 L'image y que représente la figure 7 montre que la mise en oeuvre de la présente invention n'induit aucun artefact visible dans la zone uniforme. Les contours restent néanmoins fortement marqués, ce qui garantit une bonne robustesse du tatouage. Il a été observé en particulier que le tatouage est finalement aussi robuste que celui appliqué dans l'image de la figure 3. Ainsi, la figure 7 montre que la fonction d'insertion reste optimale car elle prend en compte l'impact du masque spatial avant son application. Bien entendu, l'invention trouve une application avantageuse dans l'authentification de photographies par tatouage, notamment lorsque les contraintes de qualité de tatouage sont importantes (par exemple pour les photographies d'art). Néanmoins, l'invention n'est bien entendu pas limitée à cette application et peut être avantageuse notamment pour un traitement d'images topographiques à authentifier par une marque. Plus généralement, la présente invention ne se limite pas à la forme de réalisation décrite ci-avant à titre d'exemple ; elle s'étend à d'autres variantes. Ainsi, par exemple, on a décrit en référence à la figure 6 à la fois une pondération dans le domaine spatial S08,S12 et une pondération dans le domaine fréquentiel S10,S11. Dans une variante, on peut ne prévoir qu'une pondération dans le domaine spatial ou dans le domaine fréquentiel. Par ailleurs, la pondération présentée ci-avant s'effectue lors de l'opération de projection inverse selon la formule (3). Bien qu'une telle réalisation soit avantageuse, des variantes sont possibles. En particulier, la pondération peut s'effectuer à toute autre étape du procédé de construction de la marque.30 REVENDICATIONS1. Procédé de tatouage d'une image numérique par insertion d'une marque dans le domaine transformé, le procédé comportant une pondération, en fonction de l'image (Im), de composantes (wp) d'un vecteur représentant la marque dans le domaine transformé, caractérisé en ce que ladite pondération (S08,S12,S10,S11) est fonction de textures de zones dans l'image et comporte : une affectation d'un coefficient de pondération de valeur basse pour une zone de texture uniforme, et une affectation d'un coefficient de pondération de valeur haute pour une zone de texture contrastée. 2. Procédé selon la revendication 1, comportant une étape de projection dans un sous-espace pseudo-aléatoire (S02) d'un vecteur représentant la marque, suivie d'une étape de projection inverse (SO4) en vue de l'insertion de la marque dans l'image, caractérisé en ce que la pondération est effectuée après ou à l'étape de projection inverse. 3. Procédé selon la revendication 2, caractérisé en ce que la pondération s'exprime par l'application de coefficients mf[i] dans le domaine transformé, sous la forme : wf [a] = ~wp[j].GLiJLJJ J=l où : - wf[i] est la ième composante parmi N composantes du vecteur représentant la marque dans le domaine transformé, - wp[j] est la je' composante parmi n composantes du vecteur représentant la marque dans le sous- espace, avec n