Bonsoir tout le monde,
je cherche à implémenter l'algorithme de koch et zhao portant sur le tatouage d'image numériques.
Pour le marquage, on choisis des bloques de 8x8 pixels, et on modifie leurs DCT. Cela de telle manière à ce que lors de l'extraction, je choisis deux coefficients (c1 et c2) de la DCT du bloque, si leurs différence (abs(c1) - abs(c2) ) est > 0 alors c'est un 1, sinon c'est un 0.
mon problème est le suivant:
1 le choix des coefficients; il faut les prendre dans les moyennes fréquence du bloque; dois-je les choisir d'une manière fixe (ie: genre dct[4,3] pour le premier et dct [3,4] pour le second), ou alors d'une autre façon?
2 si par exemple je veux insérer un bit à 1 alors que la différence citée plus haut est < 0, je modifie comment ces coefficients?
en sachant que si je ne modifie que ces deux coefficients et que ensuite j'applique cette transformée dans mon image;
Lors de l'extraction, je n'aurais pas la même DCT que celle que j'ai utilisé lors de l'insertion, car ce bloque DCT est calculé de telle manière à avoir dans les indices faibles (ex: dct[0,0]) les plus grandes valeurs et plus on va vers les indices haut (vers dct[7,7]), les valeurs s'approchent de 0.
Merci pour votre attention, j'attends impatiemment vos réponses..
Partager