WATERMARKING RÉSISTANT À UN JPEG 80%

La stéganographie est une discipline qui englobe les différentes façons de dissimuler un message dans un autre. L’intérêt est évident : aux yeux de tous, il n’y a pas de message caché, sauf pour celui qui le sait, et qui a les moyens de le retrouver. Nous nous sommes intéressés à une branche de la stéganographie : le watermarking.

Le watermarking, ou tatouage numérique, est l’art de dissimuler un message dans une image. Les deux grandes applications du watermarking sont le copyright et la transmission de secret. En effet, si l’on souhaite transmettre des données à une personne vivant dans un pays où l’internet est sous contrôle, par exemple, il peut être judicieux d’envoyer une simple photo à cette personne, qui passe inaperçue, mais qui recèle des informations dissimulées : un watermark. Dans le cas du copyright, l’information cachée sera utile pour savoir d’où viennent d’éventuelles fuites, par exemple lorsque les films jugés au festival de Cannes sont distribués aux membres du jury avant leur sortie officielle : chaque copie contiendra le nom du jury à qui il a été attribué, permettant ainsi de savoir d’où vient le fichier dans le cas d’une éventuelle fuite.

Ces deux applications ont un besoin commun : la discrétion. En effet, il faut modifier suffisamment l’image pour retrouver la marque, mais il faut que cette modification passe inaperçue, donc qu’elle soit le moins visible possible à l’œil nu. Toutefois, si cette marque est vraiment très faible, une simple compression JPEG permettra de détériorer la marque, rendant sa détection impossible, ce qui pose un véritable problème dans le cas d’un copyright : il suffira de faire subir aux images du film une compression JPEG pour que le copyright disparaisse… C’est pourquoi il est important de se pencher sur une seconde contrainte : la robustesse. Parmi les nombreuses compressions qui existent, nous avons choisi d’étudier la robustesse à la compression JPEG.

Ainsi, nous verrons en premier lieu une méthode de watermarking assez simple, qui n’est pas particulièrement conçue pour résister aux attaques JPEG. En deuxième partie, nous étudierons une amélioration de la première méthode. Enfin, en troisième partie, nous nous intéresserons au coeur de la compression JPEG, afin de construire une nouvelle méthode de watermarking, conçue dès le début pour résister aux attaques JPEG.

Voir l’article suivant pour plus d’informations sur l’Insertion déstructurée et l’Insertion déstructurée à coefficients.

RÉSULTATS

Voici un exemple d’Insertion déstructurée et d’Insertion déstructurée à coefficients avec un décodage du watermark à 95%.

Figure 1 — Image originale
Figure 2 — Insertion déstructurée
Figure 3 — Insertion déstructurée à coefficients

Il est presque impossible de voir la différence, car tout simplement dans ce cas d’une image 512 × 512 et d’un watermark incrusté 16 × 16 la différence de niveau de gris moyen par bit pour l’Insertion déstructurée est de 0.58 et avec l’Insertion déstructurée à coefficients de 0.55, soit presque invisible à l’oeil nu.

PSNR sans compression

Pour finir, voici un tableau montrant les différents résultats en PSNR :

PSNR avec compression

Pour les petites images, l’ajout de coefficients n’apporte rien, mais plus l’image devient importante, plus les résultats deviennent intéressants.

Comme il a été montré dans l’article, l’Insertion comparaison ( IC ) a de meilleurs résultats que l’Insertion déstructurée à coefficients ( IDC ) au niveau du PSNR. Mais il faut noter que certes il est plus élevé, cependant l’insertion d’information n’est localisée que dans les zones irrégulières de l’image. Cela permet d’avoir 95% de l’image inchangée et mettre des coefficients importants dans le reste. Contrairement à l’IDC, car dans cette insertion il y a de l’information partout mais à plus faible dose.

Ainsi, il y a parfois apparition de pics, certes faible, mais détectable à l’oeil humain. Dans ce cas, il vaut mieux privilégier une méthode qui change un peu plus l’image de l’original, mais où il est impossible de voir une différence globalement.

CONCLUSION

La problématique de ce projet était l’insertion d’information dans une image, tout en ayant deux contraintes :
- Le watermark ne doit pas être visible ou très peu.
- L’image doit pouvoir être décodé, même sous l’influence d’une compression JPEG.

Tout d’abord, nous avons inséré naïvement un watermark en découpant grossièrement l’image en blocs. Ensuite, nous avons plutôt pris des nuages de points formant une partition de l’ensemble des pixels de l’image d’origine.

Pour résister à une compression JPEG, nous avons dû comprendre son fonctionnement et ainsi cacher notre information non pas dans toute l’image, mais dans les zones qui, lors de la compression, ne sont ni trop voyante, ni effaçable trop vite : les fréquences moyennes.

Deux voies se sont ouverts à nous, la première, l’Insertion comparaison, était d’inverser les coefficients des fréquences moyennes de chaque bloc 8 × 8. La seconde, l’Insertion déstructurée à coefficients, était de continuer avec l’ensemble des nuages de points créant une partition de l’ensemble des fréquences moyennes de l’image d’origine.
Les résultats de l’Insertion comparaison étaient bien plus intéressants que l’Insertion déstructurée à coefficients lors des comparaisons entre les PSNR avec ou sans compression JPEG. Le principal problème était qu’à l’oeil humain, on pouvait détecter les zones où était inséré le watermark dans l’Insertion comparaison, car des pics apparaissaient dans les zones à cheval entre planes et bruités.

L’Insertion déstructurée à coefficients est intéressante car son résultat est très proche de l’image originale et est aussi robuste à la compression JPEG. Comme l’insertion consiste à déposer un “voile” de bruit sur l’image, elle est impossible à détecter à l’oeil humain et pourtant, avec les éléments nécessaires, déchiffrable parfaitement.

04/04/2012