• Aucun résultat trouvé

I.6. Les éléments d’un système de watermarking

I.6.1 insertion du message

,..., ,

(

b= b1 b2 bk (I.1)

Avec bi ϵ {1,0}. Nous nous référerons à la chaîne b comme étant le code de watermark (à ne pas confondre avec le signal de watermark qui sera présenté plus tard).

Du côté de l’émetteur, un module d’insertion incruste la chaîne b dans les données du signal hôte. Ce dernier peut être un fichier audio, une image fixe, une séquence vidéo, etc.…. Il est généralement désigné par le symbole (A) sauf lorsque sa nature exacte ne peut être négligée. Dans ce cas, les images fixes et les vidéos sont désignés par le symbole (I) et l’audio par (S). Le module d'insertion peut accepter une clé secrète K, en tant qu'entrée supplémentaire. Une telle clé, dont l’objectif principal est d'introduire un certain secret pendant la phase d’insertion, est généralement utilisée pour paramétrer le processus d'intégration et rendre la reprise ou la détection du watermark impossible pour les utilisateurs non autorisés qui n'ont pas accès à K.

Donc transmettre un message par le support d’un document comporte trois phases : l’insertion du message dans le support, la diffusion du document marqué et enfin l’extraction du message. Les briques de cet enchaînement résumé par la figure (I.1) seront détaillées dans les sections suivantes.

I.6.1 insertion du message

La fonctionnalité du module d’insertion du message ou de la signature peut être subdivisée en trois tâches principales:

a- codage de la signature. b- insertion de la signature. c- dissimulation de la signature.

a- Codage de la signature

Dans de nombreux systèmes de tatouage, le message d'information b n'est pas incorporé directement à l'intérieur du signal hôte. En effet, avant l'insertion le code du watermark (b) est transformé en un signal watermark (w) plus approprié pour l'incorporation.

) ,..., , (w1 w2 wn w= (I.2) Page 16

Cette transformation ou ce codage consiste en l’ajout de (k) bits de redondance aux (n) bits d’information de la signature, les (k) bits supplémentaires servant à corriger les perturbations du canal de transmission. Le choix du code à employer dépend de ses performances, c’est à dire de la faculté à corriger les perturbations du signal d’entrée. Ce choix doit prendre en compte les propriétés du bruit qui perturbe le canal de transmission. Les méthodes présentées ci-dessous s’inspire de la théorie de l’information et des techniques utilisées dans le domaine des communications numériques.

• Etalement de spectre

En s'appuyant sur l'observation que les communications numériques par des canaux très bruités, susceptibles d'être affectés par des perturbations intentionnelles tels que le brouillage ou les interférences, sont généralement basés sur les techniques d'étalement de spectre, plusieurs algorithmes de tatouage ont été développés et qui utilisent une technique similaire pour coder l’information de la signature à dissimuler dans le document hôte. En complément du gain en robustesse que procurent ces techniques vis-à-vis des imperfections du canal de transmission, elles permettent d’assurer la confidentialité entre les différentes communications via un même canal de transmission [30] [31].

- Etalement par séquence direct : l’étalement de spectre est réalisé directement dans le domaine spatial ou temporal. Le spectre du message M, qui est basse fréquence, est étalé par modulation à l’aide d’un signal large bande PN (possédant les caractéristiques d’un bruit blanc). Cette modulation permet d’obtenir un signal

Me possédant les mêmes caractéristiques spectrales de PN.

- Etalement par saut de fréquence (frequency hopping) : le principe de cette technique consiste à moduler le signal signature par une porteuse dont la fréquence varie de manière aléatoire. Le signal résultant est ainsi réparti dans l’ensemble de la gamme de fréquence où est choisie la porteuse. Donc cette technique permet d’assurer en plus un cryptage du message. En effet, la connaissance de la porteuse qui dépend éventuellement d’une clé secrète est indispensable pour la récupération du signal signature.

• Codes correcteurs d’erreurs

Le codage de la signature peut s’effectuer en utilisant des codes correcteurs d’erreurs. Les travaux présentés dans les articles [32][33][34][35] font références à une utilisation potentielle de ces codes correcteurs d’erreurs pour améliorer la robustesse des algorithmes de tatouage. L’emploi de tels codes apparaît en effet naturel si le problème de la robustesse du tatouage est

pris de point de vue communication d’un signal sur un canal bruité. L’usage des codes correcteurs dans le cadre du tatouage reste un sujet ouvert, nécessitant la conception de codes compacts capables de prendre en compte la diversité des attaques. Plusieurs catégories de ces codes correcteurs, utilisés dans le processus de mise en forme de la signature, sont présentées dans [36] dont quelques un sont cités ci-dessous :

- les codes en blocs linéaires (n,k) sont composés de M=2k séquences binaires de longueur n. Toute combinaison linéaire de mots du code forme également un mot de code,

- les codes linéaires cycliques représentent la classe la plus importante des codes en blocs linéaire. Toute permutation circulaire à gauche de j éléments binaires d’un mot de code redonne un mot de code. Pour ces codes, on utilise généralement une représentation polynomiale des mots du code plutôt qu’une représentation vectorielle. Les codes (BCH) et les codes de Reed-Solomon sont des exemples de ces codes linéaires cycliques,

- les codes convolutifs constituent une seconde famille de codes correcteurs d’erreurs au moins aussi importante que les codes en blocs. Pour être générer, ils utilisent des registres à mémoires. Un code généré selon un symbole dépend aussi de la valeur du symbole précédent. Le codage de Viterbi [37] et celui de Fano [38] sont les plus connus des codes convolutifs,

- les Turbo Codes représentent une autre façon de construire des codes avec une distance minimale élevée en partant de codes simples et moins performants. Plus précisément, dans leur forme de base, les turbo-codes sont construits par la concaténation parallèle de deux (ou plusieurs) codes convolutifs. Le principal avantage de turbo-codes est la possibilité de décoder de manière itérative à un coût de calcul qui est à peu près le même que le coût de décodage des codes constitutifs.

• Codes à répétition

Il s’agit d’un moyen intuitif pour protéger un message, puisqu’il consiste à répéter n fois chacun de ses éléments binaires. A chaque bit du message est associé un mot de code de taille

n. Le décodage peut simplement s’effectuer par moyennage et seuillage des mots reçus. Ce

principe de codage est très simple à mettre en œuvre et s’avère souvent efficace lorsque le canal est tés perturbé (capacité très faible).

• Concaténation de codes

La concaténation permet d’associer des types de codes différents. Les codes utilisés peuvent être un code à répétition et des codes linéaires ou convolutifs. L’intérêt majeur de la concaténation des codes réside dans l’obtention d’un code de distance minimale élevée, donc puissant, tout en maintenant une complexité de codage et surtout de décodage raisonnable. On distingue généralement deux types de concaténations :

- Série : en premier lieu le message est codé par le code externe, ensuite le code résultant est codé par un codeur interne.

- Parallèle : le message est codé par le code C1 donnant une séquence S1 et parallèlement, après un entrelacement facultatif, il est codé par un code C2 produisant une séquence S2. Le mot de code résultant est le couple (S1, S2).

Finalement, b peut être laissé tel quel, conduisant ainsi à un schéma dans lequel le code de watermark est directement insérée dans (A). Dans ce cas, le signal de watermark (w) coïncide avec le code watermark (b).

b- Insertion de la signature

L’opération d’insertion de la marque peut être modélisée par une fonction

ε

qui prend en entrée le document hôte (à tatouer), le signal watermark (w) et une clé (K) pour générer en sortie le document marqué ou tatoué Aw :

(

A,w,K

)

= Aw

ε

(I.3)

Il est à noter que l'équation (I.3) reste valable même lorsque le code de watermark est inséré directement dans A, car dans ce cas, nous avons simplement w = b. La définition de

ε

passe en général par la sélection d'un ensemble de caractéristiques (ou de points d’intérêts) du document hôte, qui sont modifiées en fonction du signal watermark. Cet ensemble de caractéristiques est désigné par Ƒ(A)= fA = {f1, f2,…..fm} ϵ fm

et l’insertion du watermark revient à définir un opérateur d'insertion (*) qui transforme Ƒ(A) en un ensemble de

caractéristiques marquées Ƒ(Aw) c’est à dire :

Ƒ(Aw) = Ƒ(

ε

(A, w, K))= Ƒ(A) *w (I.4) En général m, qui est le cardinal de l’ensemble des caractéristiques à marquer, ne doit pas nécessairement être égale à la longueur du signal du watermark.

Bien que les équations (I.3) et (I.4) décrivent principalement le même processus, à savoir l’insertion du watermark dans le document (A), elles ont tendance à considérer le problème de l’insertion sous deux angles différents. Selon (I.3), l’insertion est plus

Ƒ(A)

Figure I.2 Insertion du watermark via l’extraction de caractéristiques inversible

Ƒ-1 (A) w fA fAw A Aw DFT IDFT Insertion A Amplitude Phase Amplitude marquée A w w

Figure I.3 Exemple d’insertion du watermark dans l’amplitude de DFT

naturellement réalisée en agissant sur le document hôte, c’est à dire modifie (A) de sorte que lorsque la fonction d’extraction Ƒ est appliquée à Aw, l’ensemble des caractéristiques marquées fAw = {fw1, fw2,…..fwm} est obtenu.

L’équation (I.4) tend à décrire le processus d’insertion comme étant une modification directe de l’ensemble des caractéristiques fA par l’opérateur (*). Selon cette formulation, le processus d’insertion du watermark prend la forme indiquée sur la figure (I.2) suivante.

En premier lieu, l’ensemble des caractéristiques fA est extrait du document hôte (A), ensuite l’application de l’opérateur (*) produit fAw , et enfin le processus d’extraction est inversé pour obtenir Aw.

Aw = Ƒ-1

(fAw) (I.5)

La nécessité d’assurer que Ƒ-1

soit inversible peut être assouplie en permettant à Ƒ-1

d’exploiter la connaissance de (A) pour obtenir (Aw). Il s’agit dans ce cas d’une faible inversibilité.

Aw = Ƒ-1

(fAw, A) (I.6)

A titre d’exemple, considérant un système de watermarking dont lequel le watermark est inséré dans les coefficients de l’amplitude DFT (la transformé de Fourier discrète) du document hôte. La procédure d’extraction des caractéristiques (points d’intérêts) n’est pas strictement inversible du moment qu’elle écarte l’information de la phase de la DFT. Cependant, l’information de phase peut être facilement récupérée à partir du document hôte original, une possibilité admise par la formulation (I.6). Une description schématique de la procédure est donnée sur la figure (I.3).

Il est à noter que ni l’inversibilité stricte, ni faible de Ƒ n’est demandée en général, puisque

ε

peut être définie comme une fonction opérant directement dans le domaine spatial (équation (I.3)).

c- dissimulation de la signature

La préoccupation principale de la partie insertion d'un système de dissimulation des données est de rendre les données cachées imperceptible. Cette tâche peut être réalisée soit implicitement, en choisissant correctement l'ensemble des caractéristiques (points d’intérêts) et la règle d'enfouissement, ou explicitement par l'introduction d'une étape d'occultation après l’insertion du watermark. Dans ce but, les propriétés des sens humains doivent être soigneusement étudiés, du moment que l’imperceptibilité repose en fin de compte sur les imperfections de ces sens. Ainsi, le tatouage des images fixes et les séquences vidéo s’appuient sur les caractéristiques du système visuel humain (HVS), tandis que le tatouage des documents audio exploite les propriétés du système auditif humain (HAS).

Donc, avoir une idée claire des mécanismes sur lesquels repose la perception des stimuli visuels et auditifs peut aider au bon contrôle et réglage de la phase d’insertion du watermark et en particulier de son invisibilité.