Tải bản đầy đủ (.pdf) (58 trang)

PROTECTION DE SEQUENCE D’IMAGES COMPRIMEES ET PORTABLES APPLICATION a LA VIDEO SURVEILLANCE

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.19 MB, 58 trang )

Institut francophonie de
l’Informatique

Laboratoire d’ Informatique, de Robotique
et de Microélectronique de Montpellier

MEMOIRE DE FIN D’ETUDES
PROTECTION DE SEQUENCE D’IMAGES
COMPRIMEES ET PORTABLES :
APPLICATION A LA VIDEO SURVEILLANCE
Réalisé par VU Duc Minh
Encadré par William PUECH & Marc CHAUMONT

LIRMM, Montpellier , France

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

1


Table des matières
Termes.................................................................................................................................. 3
Table des figures................................................................................................................... 4
Résumé................................................................................................................................. 5
Abstract ................................................................................................................................. 6
Remerciements ..................................................................................................................... 7
Introduction ........................................................................................................................... 8
1. Compression JPEG ..........................................................................................................10
1.1. Compression sans perte ........................................................................................10
1.2. Compression avec perte ........................................................................................11
1.2.1. Mode séquentiel .................................................................................................11


2. Cryptage sélectif...............................................................................................................18
2.1. Approche de chiffrage sélectif de l’image...................................................................20
2.1.1. Chiffrage sélectif par plan de bits ........................................................................20
2.1.2. Chiffrage sélectif avec compression JPEG .........................................................21
2.1.3. Chiffrage sélectif avec compression JPEG2000..................................................28
3. Estimation de la distribution de coefficient ........................................................................30
3.1. Quelques distributions fondamentales .......................................................................30
3.2. Distribution de chaque coefficient AC ........................................................................31
3.2.1. Preuves mathématiques de la distribution de coefficients AC .............................32
3.2.2. Algorithme pour trouver la paramètre de forme de la loi gaussienne généralisée34
4. Expériences......................................................................................................................37
4.1. Chiffrage sélectif de l’image avec compression JPEG ...............................................38
4.2. Analyse des coefficients ............................................................................................44
4.2.1. Tester la distribution selon la loi normale ............................................................46
4.2.2. Tester la distribution selon la loi laplacienne .......................................................47
5. Conclusion .......................................................................................................................49
Références...........................................................................................................................50
Annexe .................................................................................................................................53

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

2


Termes
VLC : codage avec longueur variable
TCD : transformation cosinus discrète
EOB : fin du bloc
DPCM : modulation de code d'impulsion différentielle
pdf : fonction de densité de probabilité


Mémoire de fin d’étude – Vu Duc Minh – Promo 11

3


Table des figures
Figure 1.1 : Le schéma de compression sans perte JPEG ....................................................... 10
Figure 1.2 : Le schéma de prédiction fondée sur les 3 voisinages ........................................... 10
Figure 1.3 : Schéma de JPEG en mode séquentiel ................................................................... 12
Figure 1.4 : Tableau de quantification défaut........................................................................... 13
Figure 1.5 : Préparation des coefficients TCD pour le codage par entropie ............................ 14
Figure 1.6 : Catégories (CAT) de codage séquentiel ............................................................... 15
Figure 1.7 : Coefficients TCD quantifiés d'un bloc ................................................................. 16
Figure 2.1 : Schéma de cryptage sélectif dans la compression ................................................ 19
Figure 2.2 : Image obtenue sans déchiffrage............................................................................ 19
Figure 2.3 : 12.5% et 25% données cryptés. ............................................................................ 21
Figure 2.4 : Chiffrage de 5 plan de bits et 7 plan de bits.......................................................... 21
Figure 2.5 : Zigzag séquence de JPEG..................................................................................... 22
Figure 2.6 : Image encryptée avec algorithme de Tang ........................................................... 22
Figure 2.7 : Image décryptée avec la taux de compression de 60% et 20% ............................ 23
Figure 2.8 : Chiffrage sélectif des coefficients AC. ................................................................. 24
Figure 2.9 : Cryptage sélectif en utilisant des coefficients AC ................................................ 25
Figure 2.10 : Cryptage des régions locales............................................................................... 25
Figure 2.11 : Chiffrage sélectif de JBIG en mode progressif................................................... 26
Figure 2.12 : Chiffrage sélectif les coefficients après la quantification d’un bloc TCD.......... 26
Figure 2.13 : Créer le vecteur binaire claire depuis des coeffients TCD ................................. 27
Figure 2.14 : Chiffrage le vecteur Huffman avec AES en mode CFB..................................... 27
Figure 2.15 : Chiffrage sélectif de JPEG2000 avec l'algorithme de Norcen............................ 28
Figure 2.16 : Image reçue par chiffrage sélectif 10% des données.......................................... 29

Figure 3.1 : Règle empiriale ..................................................................................................... 30
Figure 3.2 : Une distribution de coefficients AC ..................................................................... 32
Figure 3.3 : Distribution gaussienne généralisée ..................................................................... 34
Figure 4.1 : Etapes de compression JPEG................................................................................ 37
Figure 4.2 : Chiffrage coefficients AC avec AES en mode CFB............................................. 37
Figure 4.3 : Lena avec chiffrage sélectif .................................................................................. 39
Figure 4.4 : Bamboo avec chiffrage sélectif ............................................................................ 40
Figure 4.5 : Autres résultats – 128 bits..................................................................................... 41
Figure 4.6 : Chiffrage sélectif des visages ............................................................................... 42
Figure 4.7 : Chiffrage sélectif des visages à partit d’une webcam........................................... 43
Figure 4.8 : Distribution de tous les coefficients avant le chiffrage ........................................ 45
Figure 4.9 : Distribution de tous les coefficients après le chiffrage………………...………. 45
Figure 4.10 : Estimation de la distribution de tous les coefficients en utilisant la loi gaussienne
généralisée …………………………………………………………………………………..49
Mémoire de fin d’étude – Vu Duc Minh – Promo 11

4


Résumé

Le chiffrage joue un rôle important dans la sécurité pour protéger l'information. Mais il exige
beaucoup de temps, des ressources de calcul donc il n'est pas approprié, par exemple, à
l'application temps réel, aux dispositifs portables... Et pour un certain type d'information
numérique, par exemple image, vidéo , nous ne pouvons pas comprendre le contenu qui est
complètement chiffrée sans le déchiffrer et nous ne pouvons pas faire une présélection
d'information que nous voulons.
Une solution à ce problème est le chiffrage sélectif. Au lieu de chiffrer toutes les données,
nous chiffrons seulement une partie des données. En exploitant des structures de fichiers
que nous voulons chiffrer, nous pouvons trouver sur quelles parties de données on peut faire

le chiffrage sélectif. Dans mon stage, j’étudie les algorithmes de chiffrage sélectif appliquées
à l'image et mets en application un algorithme proposé par mon superviseur de stage et
cette implémentation sera employée pour le projet TSAR (www.lirmm.fr/tsar/).
Mots clés : chiffrage sélectif, compression JPEG

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

5


Abstract

Encryption plays an important role in the security to protect the information. But it demands a
lot of time to process so it is not suitable for the real-time application; for the device portable.
And for some type of digital information, for example, image, video and sound, we can’t
understand the content of information which was full encrypted without decrypt it, so it is not
good for demonstration and we can’t do a pre-selection of information we want.
One way to solve it is selective encryption. That is we encrypt only a portion of the data. By
exploiting the structure of the file which we want to do selective encryption, we can find which
parts we can do encryption. In my stage, I review the method of selective encryption applied
to image and implement an algorithm which will be used as demo application for the project
TSAR (www.lirmm.fr/tsar/).
Keywords: selective encryption, JPEG compression.

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

6


Remerciements

Je voudrais tout d’abord remercier Monsieur William PUECH et Monsieur Marc CHAUMONT
qui m’ont accueilli dans l’équipe de recherche, ICAR (Image & Interaction), du Laboratoire
d‘Informatique, d’ Electronique et de Microélectronique de Montpellier (LIRMM)
Je tiens à remercier tout particulièrement William PUECH et Marc CHAUMONT pour m’avoir
encadré pendant six mois. Je les remercie pour leur contact chaleureux, leurs conseils et
encouragements pendant mon travail.
Mes remerciements les plus sincères vont également à tous les professeurs et au personnel
de l’Institut francophonie pour l’Informatique dans lequel j’ai pu apprendre les meilleurs cours
pour leur soutien durant mes études à l’IFI.
Je tiens à remercier Hamed Ahmadi Nejad pour son code source libre de JPEG et George
Anescu pour son source code libre de cryptage AES . Leurs codes sources facilitent ma
programmation.
Je veux exprimer mes remerciements aux collègues de l’équipe ICAR (Image et Interaction)
pour leur assistance pendant mon stage. Je remercie également les services administratifs à
l’accomplissement des formalités nécessaires.
En fin, je remerci à ma famille et à mes amis pour leur soutien et leur encouragement
permanents.

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

7


Introduction
Les réseaux constituent une méthode de communication essentielle de nos jours; plusieurs
sortes d’informations se transfèrent (email, document, sons …) et le problème de sécurité
apparait. On peut écouter, capturer, modifier et retransmettre ces informations. Le chiffrage
joue donc un rôle important dans la solution d’empêcher l’utilisation sans autorisation.
Cependant, il faut mettre beaucoup de temps pour le chiffrage et le déchiffrage de tous les
données donc ce n’est pas approprié, par exemple, pour l’application en temps réel. De

plus, quelques fois, selon la demande de la sécurité ou selon la structure de données, on ne
doit pas toujours chiffrer toutes les données pour assurer la sécurité mais seulement une
partie de ces données.
A partir de ces besoins, une nouvelle direction de chiffrage – cryptage sélectif – est apparue.
C'est-à-dire on fait un chiffrage d’une partie sélectionnée de données au lieu de faire un
chiffrage de toutes les données. En exploitant la structure de données particulières et leur
méthode de compression (image, document …), on peut diminuer le temps de calcul ainsi
que des ressources nécessaires. Son avantage permet de se déployer sur les dispositifs
comme téléphone portable ou peut être appliqué à des applications temps réel, …
Dans le carde du projet TSAR (Transfert Sécurisé d'image d'Art haute
Résolution), www.lirmm.fr/tsar/ , l’équipe ICAR – Image & Interaction, www.lirmm.fr/icar/, du
LIRMM (Laboratoire d'Informatique, de Robotique et de Microélectronique de Montpellier) est
un des cinq partenaires qui contribuent aux études de chiffrage sélectif à ce projet. Sous la
direction de M. Willam Puech, responsable de l’équipe ICAR, et M. Marc Chaumont, je fais
les études sur la compression JPEG et en suite, le chiffrage sélectif et particulièrement,
l’algorithme dans ce domaine proposé par William PUECH et al [RBP06]. Pour la partie
d’expérimentation et sous la demande de mon responsable de stage et le projet TSAR,
j’implémente des applications : une application de chiffrage sélectif appliquée aux images
JPEG, une version appliquée à la détection de visage dans l’image et une application à la
vidéo surveillance.
Puis, je fais une étude sur la distribution de chaque coefficient AC dans une image. Le
coefficient AC est reçu par une transformation discrète appelé TCD, et la compression JPEG
réalise la compression avec perte par traitement ces coefficients. L’étude de la distribution
de chaque coefficient permet d’améliorer l’algorithme de compression, par exemple, par
améliorer le tableau de quantification. A partir de cette étude, en basant des
outils mathématiques et le logiciel Matlab, je réalise des expérimentations sur la distribution
de tous les coefficients. Le but de cette expérimentation est de tester si l’on peut utiliser une
loi pour modéliser la distribution de tous les coefficients après le chiffrage.

Mémoire de fin d’étude – Vu Duc Minh – Promo 11


8


Le rapport se divise en 5 parties principales :
-

La première partie introduit la compression JPEG. L’image transférée sur le
réseau subit souvent une compression, particulièrement la compression JPEG
donc qu’une étude complète de cette norme de compression nous permet de bien
comprendre la structure et la procédé de la compression JPEG , depuis on peut
bien comprendre les algorithmes de chiffrage sélectif appliqués à ce type d’image.

-

La deuxième partie fait une étude du chiffrage sélectif. Dans cette partie, j’étudie
les algorithmes de chiffrage sélectif appliquant aux images JPEG et JPEG2000
en me basant des articles existants dans ce domaine.

-

La troisième partie parle de la distribution de chaque coefficient AC de la
compression JPEG. Dans cette partie, nous faisons attention particulièrement aux
articles qui nous donne des développements mathématiques sur la distribution de
chaque coefficient AC car ils nous donnent une vue plus exacte que celle des
observations basées sur des cas particuliers.

-

La quatrième partie présente des applications implémentées en utilisant

l’algorithme de William PUECH et al [RPB06] et des observations de la
distribution de tous les coefficients en basant des méthodes de vérification
statistique. Cette partie est ma contribution principale à mon stage, ce sont des
logiciels pour le projet TSAR. Je propose une méthode pour le chiffrage sélectif
des visages appliquant à l’image dans le domaine spatial.

-

La dernière partie est une conclusion de mon travail de stage. Nous revenons
principalement sur les méthodes de chiffrage sélectif et leur domaine de
traitement et mes contributions principales dans ce stage.

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

9


1. Compression JPEG
La norme JPEG indique deux classes de codage et de décodage, à savoir la compression
avec perte et la compression sans perte. La compression sans perte est basée sur une
méthode prédictive utilisant des valeurs de pixels voisines, et la transformation TCD est
utilisé pour le mode avec perte. La norme de compression JPEG qui est la plus utilisée est
la norme de compression avec perte. Et les études de cette norme de compression nous
permettent de comprendre les algorithmes de chiffrage sélectif qui seront présentées dans la
partie suivante. Il y a quelques sources principales que j’ai utilisées pour étudier cette
compression, particulièrement, le livre de Mohammed Ghanbari [M03], “Standard Codecs :
Image Compression to Advanced Video Coding”. En outre, le livre de David Solomon [S07],
Data Compression, et le livre de la norme JPEG [CCITT] fourni par organisation W3C sont
les suppléments intéressants.


1.1. Compression sans perte

Figure 1.1 : Schéma de la compression sans perte JPEG
La prédiction est de type DPCM simple (différentiel pulse code modulation), où chaque pixel
de chaque composant de couleur est codé avec une manière différent . La prédiction pour un
pixel X d'entrée est faite à partir des combinaisons de trois pixels voisins aux positions a, b et
c de la même image du même composant de couleur, comme représenté sur la figure
suivante :

Figure 1.2 : Schéma de la prédiction fondée sur les 3 voisinages

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

10


La prédiction est alors soustraite de la valeur réelle du pixel à la position X, et la différence
est codé en utilisant le codage par entropie (le codage Huffman ou le codage arithmetique)

1.2. Compression avec perte
En plus de la compression sans perte, JPEG définit trois modes de compression avec perte :
le mode séquentiel, le mode progressif et le mode hiérarchique, qui sont tous fondés sur la
transformation en cosinus discret (TCD) pour atteindre une compression substantielle tout en
produisant une image reconstructible avec haute visuelle fidélité. La différence principale
parmi ces modes est la manière par laquelle le coefficient TCD est transmis, pas la façon de
compression.
Dans cette partie, j’introduis la compression avec perte dans le mode séquentiel utilisant la
compression de Huffman. C’est un schéma général de compression JPEG que tous les
logiciels doivent fournir.


1.2.1. Mode séquentiel
Le plus simple codage basé sur TCD est le mode séquentiel et ce mode fournit la possibilité
d’être suffisante pour la plupart des applications normales.
En ce mode, d’abord, l’espace de couleur YUV est utilisé au lieu de l’espace de couleur
RGB. Nos yeux sont moins sensibles avec le changement dans l’espace YUV que l’espace
RGB, donc on peut quantifier plus d’informations sans dégrader la qualité de l’image et on
peut donc obtenir un taux de compression plus grand.
Y = 0.299R + 0.587G + 0.114B
U = -0.147R - 0.289G + 0.436B
V = 0.615R - 0.515G - 0.100B
De YUV à RGB
R = Y + 1.140V
G = Y - 0.395U - 0.581V
B = Y + 2.032U
De RGB à YUV

Formule 1.1 : Transformation de l’espace de couleur YUV et RGB
Après, l’image est divisée de gauche à droite et de haut en bas en blocs de 8x8 pixels sans
superposition. Chaque bloc est codé par TCD, et tous les 64 coefficients transformés sont
quantifiés à la qualité désirée. Les coefficients quantifiés sont immédiatement codés par
entropie afin de minimiser le stockage de coefficients.

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

11


Voici les formules de la transformation TCD, qui permet de passer de l’espace spatial en
l’espace fréquentiel.


avec
Formule 1.2 : TCD et TCD inverse
F(u,v) : coefficient TCD.
Img(x,y) : valeur de pixel dans la position x, y.
Le schéma suivant illustre l'algorithme de la compression JPEG en mode séquentiel. Chaque
échantillon de 8-bits est décalé par une soustraction 28-1 ou 128 avant d’une transformation
TCD. Ceci est connu en tant que décalage de niveau de DC (DC level shifting). Les 64
coefficients de TCD sont quantifiés selon la matrice de quantification qui est spécifiée à
chaque application.

Figure 1.3 : Schéma de JPEG en mode séquentiel
Si les éléments des tableaux de quantification de la luminance et de la chrominance sont
représentés par Q(u, v), un coefficient TCD quantifié à location (u,v) est indiqué par :

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

12


où F(u, v) est la valeur du coefficient transformé avant la quantification, et  .  implique une
action d’arrondir de la division au nombre entier le plus proche. Au décodeur, des
coefficients quantifiés sont spécifiés par :

Figure 1.4 : Tableau de quantification défaut

Un facteur de qualité q_JPEG est normalement employé pour contrôler les éléments de la
matrice de quantification Q(u, v). La gamme des valeurs de pourcentage de q_JPEG est
entre 1 et 100. Par exemple, les matrices de quantification de JPEG (Figure 1.4) sont
employées pour q_JPEG = 50, pour la luminance et la chrominance, respectivement. Pour
d'autres facteurs de qualité, les éléments de la matrice de quantification, Q(u, v), sont

multipliés par un facteur de compression , défini comme :

Formule 1.3 :Formule pour déterminer le facteur de compression
Pour la qualité de 100%, q_JPEG = 100, tous les éléments de table de quantification sont
fixés à 1.
Après la phase de quantification, le coefficient DC (généralement visé comme (0.0)) et les 63
coefficients AC sont codés séparément comme représenté par la figure 1.5. Les coefficients
DC sont codés en DPCM en utilisant la valeur de coefficient DC de bloc précédent, comme
représenté par la figure 1.5, DIFF = DCi - DCi-1. Le but de ce traitement est d’exploiter la
corrélation entre les valeurs DC des blocs adjacents et les coder plus efficacement car ils
contiennent typiquement la plus grande partie d’énergie d'image. Les 63 coefficients AC

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

13


commençant à partir du coefficient AC(1,0) sont codés par plage après un balayage de
zigzag comme représenté sur la figure 1.5 .

Figure 1.5 : Préparation des coefficients TCD pour le codage par entropie
Le but de l'adoption d'un modèle de balayage de zigzag est de faciliter le codage par
entropie en rencontrant d’abord les coefficients les plus susceptibles d’être non-nuls. C'est
dû au fait que, pour la plupart des scènes naturelles, l'énergie d'image se concentre
principalement dans quelques coefficients de basse fréquence.
Codage par plage (Run length coding)
Le codage par entropie est accompli en deux étapes. La première étape est le transfert des
coefficients quantifiés TCD à un ensemble intermédiaire de symbole. Dans la deuxième
étape, des codes de codage par plage sont assignés à chaque symbole. Pour la norme
JPEG, un symbole se compose deux parties : un code de codage par plage (VLC) pour la

première partie, normalement nommé le symbol-1, suivi d'une représentation binaire de
l'amplitude pour la deuxième partie, symbol-2. Des tableaux Huffman pour les coefficients
DC et AC sont cités dans l’annexe.

Codage de coefficients DC
Au lieu d'assigner différents code binaire de longueur variable (par exemple le code binaire
de Huffman) à chaque DIFF (la différence entre deux coefficient DC consécutifs ou DCi –
DCi-1), les valeurs de DIFF sont classées par catégorie en se basant sur la gamme de
magnitude appelée CAT. La figure 1.6 montre les catégories pour la gamme des amplitudes
de JPEG en mode séquentiel. Puisque les valeurs de coefficient TCD sont dans la gamme
-2047 à 2047, il y a 11 catégories pour les coefficients non nuls. La catégorie nule n'est pas
employée pour des symboles, elle est employée pour définir la fin du code du bloc (EOB).

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

14


Figure 1.6 : Catégories (CAT) de codage séquentiel
Le CAT après avoir été codé est ajouté avec des bits additionnels pour spécifier la valeur
actuelle de DIFF (amplitude). Le CAT est symbol-1 et les bits ajoutés représentent symbol-2.
Quand le DIFF est positif, les bits ajoutés sont les bits d’ordre inférieur du DIFF. Quand il est
négatif, les bits ajoutés sont les bits d’ordre inférieur du DIFF-1. Les bits d’ordre inférieur
commencent à partir du point où le bit de poids fort de bits ajoutés est 1 si DIFF positif et 0 si
DIFF négatif. Par exemple : pour DIFF = 6 = 0000... 00110, les bits ajoutés commencent à
partir de 1, par conséquent ils sont 110. En outre, puisque 6 est dans la gamme de 4 à 7, la
valeur du CAT est 3. A partir de table de coefficients AC (tableau 2 de l’annexe), le code
binaire pour CAT = 3 est 100, donc le code binaire pour DIFF = 6 est 100110, où 100 est le
code de VLC de CAT (symbol-1) et 110 est le code binaire ajouté (symbol-2).
Pour un DIFF négatif, comme DIFF = -3, d'abord, -3 est dans la gamme de -3 à -2, par

conséquent, d’après la figure 1.6, CAT = 2, et son code VLC du tableau de l'annexe est 011.
Pour trouver les bits ajoutés, DIFF - 1 = -4 = 1111…100, où les plus bas ordres bits sont 00,
car le bit de poids fort est 0, donc le code binaire devient 01100.

Codage des coefficients AC
Pour chaque coefficient AC non - nul dans l'ordre de balayage de zigzag, symbol-1 est décrit
comme un symbole bidimensionnel de (RUN, CAT), ou parfois appelé (RUN, SIZE). Pour le
codage séquentiel, le CAT est la catégorie pour l'amplitude d'un coefficient non nul dans
l'ordre de zigzag, et le RUN est le nombre de zéros précédant un coefficient non nul. La
longueur maximum de RUN est limitée à 15. Le codage de RUN qui est grand que 15 est fait
par un symbole spécial (15, 0), qui a une longueur de RUN de 15 coefficients nul a suivi d'un
coefficient ayant l’amplitude 0. Par conséquent, nous pouvons considérer comme symbole
d’extension avec 16 coefficients nuls.
Une fin de bloc (EOB) indique que le reste des coefficients du bloc dans l'ordre de balayage
de zigzag sont quantifiés à zéro. Le symbole d'EOB est représenté par (RUN = 0, CAT = 0).

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

15


Le tableau de codage AC pour symbol-1 se compose d'un code binaire Huffman pour
chaque événement composé possible. Le tableau de coefficients AC (table 2 de l’annexe)
montre les codes binaires pour toutes les combinaisons possibles de RUN et CAT de
symbol-1. Le format du bit additionnel (symbol-2) est le même que le codage de DIFF dans
des coefficients DC. Pour le k-ième coefficient AC dans l'ordre de balayage de zigzag, ZZ(k),
les bits ajoutés sont les bits d’ordre inférieur de ZZ(k) si ZZ(k) est positif, ou les bits d’ordre
inférieur de ZZ(k) - 1, si ZZ(k) est négatif.
Voici un exemple afin d’expliquer la manière de créer le vecteur Huffman pour faire le
codage par entropie. Des coefficients TCD quantifiés d'un bloc de luminance sont montrés

sur la figure 1.7. Supposant que le coefficient DC dans le bloc précédent de luminance était
29, on veut trouver les codes binaires pour le codage des coefficients DC et AC.

Figure 1.7 : Coefficients TCD quantifiés d'un bloc
On a DIFF = 31 - 29 = 2. D’arprès la figure 1.6, le CAT = 2 et selon le tableau de coefficients
AC Huffman, le code Huffman pour cette valeur de CAT est 011. Pour trouver les bits
ajoutés, puisque DIFF = 2 > 0, et 2 = 000... 0010, donc les bits ajoutés sont 10. Par
conséquent, le code binaire pour coder ce coefficient DC est 01110.

Codes binaires pour les coefficients AC
Le balayage commence à partir du premier coefficient AC non nul, qui a une valeur de 18.
D’après la figure 1.6, la valeur de CAT pour 18 est 5, et puisqu'il n'y a aucun coefficient AC
nul avant lui, puis RUN = 0. Par conséquent, symbol-1 est (0, 5). D’après le tableau 2 de
l'annexe, le code binaire pour (0, 5) est 11010. Le symbol-2 est les bits d’ordre inférieur de
ZZ(k) = 18 = 000... 010010, qui est 10010. En conséquence, le premier code binaire AC est
1101010010.

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

16


Le troisième coefficient AC non nul dans le balayage est -13, qui a un coefficient nul avant
lui. Donc, RUN = 1 et, la valeur de CAT correspondante est 4. En consultant le tableau 2 de
l'annexe, le code binaire pour (RUN = 1, CAT = 4) est 111110110. Pour trouver symbol-2,
ZZ(k) -1 = -13 - 1 = -14 = 111... 110010. Donc, symbol-2 est 0010, et le code binaire entier
est 1111101100010.
Puisque 5 est le dernier coefficient AC non nul, donc le codage se termine ici et la fin du
code du bloc (EOB) qui est défini comme (0, 0) est transmise. En utilisant le tableau 2 de
l'annexe, le code binaire est 1010.

La compréhension de la compression JPEG nous permet de comprendre les algorithmes de
chiffrage sélectif appliquant à ce type d’image qui seront présentés dans la partie suivante.
Les études de la structure l’image est une nécessité afin d’étudier les algorithmes de
chiffrage sélectif.

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

17


2. Cryptage sélectif
Il y a des applications qui demandent une pleine sécurisation, par exemple, des documents
confidentiels de l’armée, des documents de gouvernements. Pour la sécurité, il faut mettre
beaucoup de temps pour coder et décoder ces documents.
Mais il y a des scénarios où le plein chiffrage n’est pas bien approprié, car il demande
beaucoup de temps de traitement, ou à cause de la limitation de ressource de calcul, ou la
demande de la sécurité n’est pas dûre. Dans ce cas-là, le chiffrage sélectif est convenable
en terme de la sécurité et du temps de traitement, de ressource de traitement.
Cette méthode consiste à encrypter une partie de données afin d’empêcher la pleine
utilisation de données. Sans avoir la clef de déchiffrage, on peut seulement obtenir la version
ayant la qualité mauvaise.
Dans cette partie, j’étudie les algorithmes de chiffrage sélectif existants. Je présente les
algorithmes existants selon le domaine de travail et la méthode de compression. Il y a deux
domaines de chiffrage sélectif : domaine spatial, domaine fréquentiel. Le domaine fréquentiel
est obtenu par une transformation discrète comme TCD.
Le chiffrage sélectif peut s’appliquer avec ou non la compression. Dans le cas où il est utilisé
durant une compression, on peut exploiter la structure de cette compression afin de choisir le
composant pour faire le chiffrage.

Mémoire de fin d’étude – Vu Duc Minh – Promo 11


18


Figure 2.1 : Schéma de cryptage sélectif dans la compression

Figure 2.2 : Image obtenue sans déchiffrage

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

19


Voici des exigences citées dans [DB02] par Marc Van Droogenbroeck et Raphaël Benedett
pour le chiffrage sélectif appliquant à l’image comprimée. Pour assurer la visulisation de
l’image et le taux de compression, ainsi que ne pas changer le format du fichier, il faut suivre
ces règles
[Acceptation visuelle] une partie de l'information peut être vue mais l'image chiffrée devrait
sembler bruitée.
[Chiffrage sélectif] le chiffrage se produit après la compression et laisse quelques parties
de données non codées,
[Débit binaire constant] le chiffrage doit préserver la taille du flux de bit
[Conformité de flux du bit] l'étape de chiffrage doit produire un flux de bit conforme au
format choisi
Les deux premières exigences s’obtiennent par le cryptage sélectif. Les deux dernières
exigences s’obtiennent en faisant le chiffrage durant la compression, précisément, après la
quantification et on doit ne pas changer la structure du flux codé.
Avec cette approche, on peut appliquer aux normes de compression avec perte comme
JPEG, JPEG2000 … et pour la compression sans perte on peut exploiter d’autres
approches.


2.1. Approche de chiffrage sélectif de l’image
2.1.1. Chiffrage sélectif par plan de bits
Un pixel est présenté par un nombre de bits fixé, par exemple 8 bits. On considère un plan
de bit comme l’ensemble de bits ayant la même position dans sa représentation binaire, par
exemple, tous les troisièmes bits des pixels. Dans ce schéma, on crypte des bits de chaque
plan en choisissant des plans cryptés.

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

20


Figure 2.3 : 12.5% et 25% données cryptés. [PSU02]
Il y a des travaux de [PSU02] et la méthode «naïve « de [DB02]. Ils proposent des
techniques différentes de chiffrage sélectif par plan de bits. [PSU02] font le chiffrage sur le
bit de poids fort et [DB00] font le chiffrage, par exemple, sur 5 bits ou 7 bits de chaque pixel.

Figure 2.4 : Chiffrage de 5 plan de bits et de 7 plan de bits [DB02]
La valeur de PSNR ici a le but de déterminer la distorsion produit par le chiffrage des bits.
Nous pouvons constater que si nous encryptons les bits de poids fort [PSU02], la valeur de
PSNR correspondante est petite, c'est-à-dire que l’image reçue est très bruitée. Par contre,
dans l’algorithme de [DB02], ils n’encryptent pas le bit de poids fort, donc, nous pouvons
comprendre l’image.

2.1.2. Chiffrage sélectif avec compression JPEG
Dans cette partie, on va exploiter la structure de JPEG pour appliquer le chiffrage sélectif.
Tang [T99] propose une technique appelée la permutation zigzag qui est applicable aux
vidéos et aux images JPEG. Bien que leur méthode offre plus de confidentialité, elle
augmente le débit global car elle casse la corrélation parmi les coefficients.

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

21


Figure 2.5 : Séquence zigzag de JPEG.
1. Générer une permutation d’un ensemble de nombres entiers de 1 à 64.
2. Appliquer la procédé de « division » après la phase de quantification.
3. Appliquer la permutation au bloc reçu dès l’étape 2 ; passer le résultat au codage par
entropie.
Comme je dis dans la partie de compression JPEG, la valeur de DC est plus grande que les
autres coefficients dans un bloc, ce coefficient est donc identifiable . Avec seulement la
valeur de DC, on peut déterminer la figure générale de l’image. La procédé de « division «
a un but de cacher l’information DC pour rendre non identifiable l’image en divisant DC (8
bits) en deux partie : b7b6b5b4 et b3b2b1b0. La nouvelle valeur de DC est b3b2b1b0 qui est
petite et la nouvelle valeur du dernier coefficient AC non nul est remplacé par b7b6b5b4. Après
une permutation, on ne peut pas déterminer la valeur de DC.
[LSW04] suggère une méthode similaire en faisant une permutation du plan de couleur,
ensuite des permutations de coefficients par régions et enfin, un chiffrage des signes de
coefficients. Ce qui est intéressant dans ce schéma est qu’on peut continuer à comprimer
des images après le cryptage. C'est-à-dire, on ne doit pas décrypter l’image pour faire une
autre compression.

Figure 2.6 : Image encryptée avec l’ algorithme de Tang

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

22



Figure 2.7 : Image décryptée avec le taux de compression de 60% et 20%
1. Permutation de plan de couleur :
Les positions des blocs de TCD dans le plan de luminance et chrominance sont mélangées
en utilisant une méthode de génération de nombre pseudo – aléatoire .
2. Mélange des coefficients TCD
La confusion se réalise dans les sub-régions de coefficients pour conserver le taux de
compression. Ici, les coefficients sont divisés en quatre sous-sections (l1, l2, l3) : [1, l1], [l1+1,
l2], [l2+1, l3] et [l3+1, 63]. Il signifie que des coefficients AC sont confondus en chaque soussection respectivement tout en laissant le coefficient DC inchangé. L’auteur a proposé les
valeurs (5, 20, 40) pour obtenir le moindre effet sur le taux de compression.
3. Chiffrage du signe de coefficient de TCD
Le signe est codé pour rendre plus sécurité à l’image. Le taux de compression ne change
pas et le temps demandé pour ce chiffrage est petit par rapport du temps de compression.
Il y a deux raisons pour lesquelles on peut re-comprimer l’image après appliquer ce schéma
de chiffrage :
a. Dans les étapes 1 et 2, on fait seulement la permutation, c'est-à-dire on change seulement
les positions de coefficients dans chaque bloc, et non sa valeur. Donc quand on fait une
autre compression, après une permutation inverse, on peut retrouver l’image originale.
b. Dans l’étape 3, on encrypte les signes des coefficients, après une nouvelle quantification
(compression), le signe ne change pas ou devient zéro (dans le cas où la nouvelle valeur de
AC correspondante devient zéro) donc il n’affecte pas la phase de déchiffrage.
Dans [DB02], Marc Van Droogenbroeck et Raphaël Benedett suggèrent une technique qui
chiffre un nombre choisi de coefficients AC. Ils ne chiffrent pas les coefficients DC car ils
diffusent l'information importante et ils sont fortement prévisibles. Le débit binaire est
constant et il préserve la conformité de flux de bit, mais le procédé supporte mal le passage
à l’échelle et le procédé de compression et de chiffrage sont séparés, par conséquent il
mène à l’augmentation du nombre de calcul.

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

23



Figure 2.8 : Chiffrage sélectif des coefficients AC
Voici les images cryptées par ses algorithme : Fig 2.8.a. Seulement DC non-crypté Fig 2.8.b. DC et quatre premiers AC coefficients non-cryptés. On peut constater que
seulement avec le composant DC, on peut déterminer la structure de l’image. Et avec quatre
premiers coefficients AC non-cryptés, l’image est bien restaurée. Cependant, le chiffrage se
fait séparément de la compression, donc elle ajoute un peu de charge. Des étapes
principales sont :
-

Lire le flux de bit JPEG.
Construire les tableaux de Huffman spécifié dans l’image
Extraire les coefficients de TCD
Chiffrer les coefficients
Remplacer dans le flux original

Dans [D04], Marc Van Droogenbroeck propose aussi un schéma de chiffrage sélectif
d’image JPEG qui utilise une même idée. Il ne chiffe pas les coefficients DC , il réserve des
valeurs RUN de chaque couple (RUN,AMPLITUDE) et il chiffre seulement les bits ajoutés
(AMPLITUDE) correspondants à un nombre de coefficients AC choisi dans chaque bloc.

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

24


Figure 2.9 : Cryptage sélectif en utilisant des coefficients AC

Figure 2.10 : Cryptage des régions locales
Il a proposé d’utiliser une « carte de sélection » pour crypter des régions sélectionnées de

l’image. Cependant, il faut demander un autre moyen pour détecter les locations chiffrées,
donc ce n’est pas confortable, par exemple, il faut utiliser un autre fichier pour sauvegarder
des locations de régions chiffrées.
Dans [PU05], Roland Norcen et Andreas Uhl proposent une méthode pour JBIG , qui est
principalement basée sur le nombre élevé de dépendances entre les couches de résolution
en mode progressif de JBIG. Ils chiffrent seulement les couches inférieures de résolution afin
de réduire la quantité de données calculées. Ils annoncent que seulement 1% - 2% de
données doivent être cryptés pour sécuriser l’image.

Mémoire de fin d’étude – Vu Duc Minh – Promo 11

25


×