Mémoire Finale (Imprime)
Mémoire Finale (Imprime)
Mémoire Finale (Imprime)
د د ب ا دة ــ
Université SAAD DAHLAB de BLIDA
ا وو
Faculté de Technologie
م ا! رو ـك
Département d’Électronique
ALLOUTI Djahida
&
TOUTAOUI Lina
pour l’obtention du diplôme master 2 option traitement de l’information
et systèmes électroniques
Thème
Abstract: As the use of digital images is up Data compression of digital images acquired
is becoming increasingly important to meet storage needs. One of the challenges of
compression is to compress the images at high efficiency while maintaining the quality
of the reconstructed image. In this research, we present a hybrid algorithm proposed
for compression of color images based on two two-dimensional discrete transform, the
wavelet transform DWT and the cosine transform DCT, the proposed algorithm starts
by using a single step the discrete wavelet transform for decomposing an image into
four sub-bands; low frequency and high frequencies, each block of "n × n" of the sub-
band low frequency (LF) are transformed two-dimensional DCT using, in following
applies to the quantification and arithmetic coding for the compressed image Our
compression algorithm proved good compression ratio, and compared as a function of
PSNR.
Keywords : Image compression, wavelete, compression ratio,PSNR
Table des matières
Introduction générale
De façon générale, les fichiers numériques à traiter se distinguent par leur format
qui est identifiable grâce à l'extension du nom du fichier. Dans le cas d’images brutes,
le fichier bitmap reste le plus utilisé. En fait, près de soixante-dix formats différents
sont actuellement disponibles pour stocker des images bitmap, tout en étant
conformes aux standards les plus usités tels que Windows ou Unix. Ceci implique la
compatibilité des programmes avec de telles normes, lors de leur conception. Si l'on
veut augmenter la vitesse de consultation des fichiers ou minimiser l'espace de
stockage des documents numérisés, surtout dans le cas des images, il est nécessaire de
recourir à des systèmes de compression appropriés. Deux sortes de techniques
permettent la compression des images : les méthodes réversibles, c’est a dire sans
pertes, qui conduisent à de faibles taux de compression et celles appelées irréversibles
qui permettent de compresser fortement les images mais au prix de certaines
distorsions.
Parmi les méthodes dites sans pertes, citons la technique RLC (Run Length Coding),
le codage de Huffman et la compression LZW (Lempel Ziv Welch). Ces méthodes
opèrent avec des facteurs de compression allant de 1,2 à 2,5. Quant aux méthodes à
fort taux de compression, les plus efficaces sont basées sur de puissants outils tels que
1
Introduction générale
Compression mais avec des pertes se traduisant par des dégradations plus ou moins
perceptibles à l’œil nu lors de la décompression. Parmi les méthodes à fort taux de
compression,
Parmi les méthodes à fort taux de compression, on distingue le format JPEG (Joint
Photographic Expert Group) et la méthode GIF (Graphic Interchange Format). JPEG
reste néanmoins le plus couramment employé actuellement. Son principe est de
diviser l'image en blocs carrés de 8 x 8 pixels et de coder les valeurs les plus proches
dans chaque bloc sur quelques bits. En procédant de la sorte, nous pouvons atteindre
des taux de compression supérieurs à 90 % tout en restituant des images avec une
perte d'informations à peine perceptible. Mais, à l’instar d’autres méthodes
irréversibles, le temps d’exécution est très lent surtout dans le cas d’images de grande
taille. De plus, des artefacts apparaissent dans celles-ci sous forme de mosaïques. Pour
réduire les distorsions causées par les méthodes à fort taux de compression, nous
avons élaboré dans notre étude une technique hybride basé sur la transformée en
ondelette discrète DWT et la transformée en cosinus discrète DCT, Cette technique
appliquée à des images de référence comme l’image Lena et à d’autres images
couleurs En effet, elle a permis de réaliser un bon compromis entre le taux de
compression et la qualité de restitution des images. Grâce à cette méthode, le taux de
compression et le PSNR atteignent respectivement 98.44% et 36.10dB
Le travail que nous présentons dans cette thèse a été organisé en trois chapitres :
2
Introduction générale
3
Chapitre 1
Techniques de compression d’images
Techniques de compression
d’images
Préambule
4
Chapitre 1
Techniques de compression d’images
Généralités
Notion de pixel
En informatique, et ce pour des raisons de gain de place, une image est composée d’un
ensemble de points, appelés pixel (abréviation de Picture Elément). Ces pixels sont regroupés
en lignes et en colonnes afin de former un espace à deux dimensions. Chaque point sera
représenté par ses coordonnées (X, Y), avec X l’axe orienté de gauche à droite, et Y l’axe
Représentation de la couleur
Images la plus simples, un pixel peut prendre uniquement les valeurs noir ou
blanc. C’est typiquement le type d’image que l’on utilise pour scanner du texte
quand celui-ci est composé d’une seule couleur.
En général, les images en niveaux de gris renferment 256 teintes de gris. Par
convention la valeur zéro représente le noir (intensité lumineuse nulle) et la
valeur 255 le blanc (intensité lumineuse maximale). Le nombre 256 est lié à la
quantification de l’image. En effet chaque entier représentant un niveau de gris
5
Chapitre 1
Techniques de compression d’images
est codé sur 8 bits. Il est donc compris entre 0 et 28 – 1 = 255. C’est la
quantification la plus courante. On peut coder une image en niveaux de gris sur 16
bits (0 ≤ n ≤ 216 - 1) ou sur 2 bits : dans ce dernier cas le « niveau de gris » vaut 0
ou 1 : il s’agit alors d’une image binaire (Noir et Blanc).
L’espace couleur est basé sur la synthèse additive des couleurs, c’est à dire que le
mélange de trois composantes (par exemple (R, V, B)) donne une couleur. Un pixel
est codé par trois valeurs numériques. La signification de ces valeurs dépend du
type de codage choisi. Le plus utilisé pour la manipulation des images numériques
est l’espace couleur Rouge, Vert, Bleu (R, V, B) (RGB en anglais). La restitution des
couleurs sur écran utilise cette représentation (synthèse additive).
Pour connaître la définition (en octets) d'une image, il est nécessaire de compter le
nombre de pixels que contient l'image, cela revient à calculer le nombre de cases du
tableau,soit la hauteur de celui-ci que multiplie sa largeur. La taille (ou poids) de
l'image est alors le nombre de pixels que multiplie la taille de chacun de ces éléments.
Prenons l’exemple d’une image 1024 x 768, dont la couleur est codée sur 24 bits
(1octet pour les nuances de rouge, 1 pour le bleu et 1 octet pour le vert, codage True
color ou RGB
- soit une image de 2359296 / 1024 = 2304 Ko, ou 2304 / 1024 = 2,25 Mo, ce qui est
assez conséquent, surtout lorsqu’on veut transmettre l’image…
Compression de données
L’enjeu de la recherche sur la compression d’image est de trouver un moyen de
diminuer la taille d’une image, tout en essayant de limiter la dégradation due à la
compression.
6
Chapitre 1
Techniques de compression d’images
L’intérêt de la compression est donc évident. Les images comprimées occupent moins
de place sur une unité de stockage. Elles prennent moins de temps de transmission
sous forme comprimée sur le même canal, ou bien, elles ont besoin d’une bande
passante plus petite pour arriver à destination en même temps que la même image
non comprimée.
7
Chapitre 1
Techniques de compression d’images
En pratique, les méthodes sans pertes basées sur les codeurs entropiques restent les
plus utilisées. Ces codeurs ont été mis en œuvre pour coder les pixels de l’image avec
la contrainte d’obtenir des mots de code de longueur aussi proche que possible de
l’entropie de l’image [7]. Les codeurs les plus utilisés en compression d’images sont le
codeur prédictif, les codeurs à longueurs variables, ceux à base de dictionnaires et les
codeurs par longueur de plages.
- Codeur prédictif linéaire Les algorithmes qui utilisent le codage par prédiction
exploitent la redondance spatiale. Il s'agit de prédire la valeur d'un pixel en
fonction de la valeur des pixels voisins et de ne coder que l'erreur de prédiction.
Le voisinage peut être défini selon sa connexité (4-connexité ou 8-connexité) ou
selon l'ordre du parcours choisi pour accéder aux pixels voisins. La technique de
prédiction la plus utilisée est la DPCM (Differential Pulse Code Modulation) [6].
8
Chapitre 1
Techniques de compression d’images
Cette technique effectue une prédiction à base d'une combinaison linéaire des
valeurs des pixels voisins
- Codeurs à longueur variable Le principe de ces codeurs est d’allouer les mots
binaires les plus courts possibles aux caractères les plus courants, et réserver les
codes les plus longs à ceux les moins fréquents. Le but est d’avoir un nombre de
bits après codage qui soit le plus faible possible. Différents algorithmes
permettent de déterminer des codes à longueurs variables. Le codage de
Huffman et celui de Shannon Fano restent les plus utilisés
- Codage de Huffman Le codage de Huffman est certainement le plus utilisé en
raison de sa gratuité, de sa simplicité et de son efficacité. Il est notamment utilisé
pour le codage d’images binaires, telles que les fax, ainsi que dans toutes les
modalités du standard JPEG. Le principe de ce codage est de créer des codes de
longueurs variables [614]. Pour ce faire, les pixels sont d’abord triés et classés en
fonction de leur fréquence (occurrence). Un graphe est alors construit de la
manière suivante :
A partir des deux pixels présentant la fréquence la plus faible, un nœud est créé.
Il lui est affecté un poids égal à la somme des fréquences des deux symboles. Le
nœud créé remplace désormais les deux symboles dans la suite du processus. A
ces derniers sont affectés respectivement les chiffres binaires 0 pour le plus
fréquent et 1 pour le plus rare ou l’inverse.
La même démarche est reprise en considérant les deux symboles ou nœuds de
poids le plus faible.
Cette procédure est renouvelée tant qu’il reste plus d’un nœud libre. La figure
1.1 donne un exemple de codage d’un message de 36 caractères par
l’algorithme de Huffman.
9
Chapitre 1
Techniques de compression d’images
10
Chapitre 1
Techniques de compression d’images
...; Pi = (4, 13); Pi+1 = (1, 109); Pi+2 = (2, 131); Pi+3 = (5, 162); ... Ce système de
compression est assez bon dans certain cas (images monochromes ou 256
couleurs), mais il s’avère très coûteux pour des images dont la couleur est codée
sur 16 ou 24 bits… Il est à noter qu’il existe plusieurs variantes de ce codage,
11
Chapitre 1
Techniques de compression d’images
- JPEG
- JPEG 2000
- la compression JPEG Le Groupe Joint Photographic Expert (JPEG) norme
a été élaborée en 1992, basée sur la transformée en cosinus discrète (DCT). Il a
été l'un des plus populaire et largement utilisé dans les méthodes de
compression [3, 4]. Bien que la mise en œuvre du matériel pour le JPEG à
12
Chapitre 1
Techniques de compression d’images
l'aide de la DCT est simple, les notables "d'artefacts de blocs" à travers les
limites des blocs ne peut être négligé pour taux de compression élevé. En
outre, la qualité des images reconstruites
reconstruites est dégradée par les "Faux contours"
effet pour les images comportant des zones spécifiques progressivement
ombragées [5]. Les faux contours se produit lorsque la zone de douceur
classés d'une image est déformée par une aberration due au quantification
lourde des coefficients de transformation. L'effet ressemble à une carte de
contours. Le processus de compression et de décompression JPEG irréversibles
comporte six étapes principales représentées ci-dessous
ci :
JPEG est capable de coder les couleurs sous n’importe quel format, toutefois les
meilleurs taux de compression sont obtenus avec des codages de couleur de
type luminance/chrominance
chrominance car l’œil humain est assez sensible à la luminance
(la luminosité) mais peu à la chrominance (la teinte) d'une image. Afin de
pouvoir exploiter cette propriété, - l'algorithme convertit l'image d'origine
depuis son modèle colorimétrique initial (en général RVB)) vers le modèle de
type chrominance/luminance YCbCr.. Dans ce modèle, Y est l'information de
luminance, et Cb et Cr sont deux informations
informations de chrominance, respectivement
le bleu moins Y et le rouge moins Y.
13
Chapitre 1
Techniques de compression d’images
14
Chapitre 1
Techniques de compression d’images
15
Chapitre 1
Techniques de compression d’images
16
Chapitre 1
Techniques de compression d’images
Taux de compression
Débit
17
Chapitre 1
Techniques de compression d’images
L’unité de mesure est le bit par seconde (bit/s) et ses différents multiples (Kilo-bits par
seconde, Mega-bits par seconde..).
Le choix du débit aura un impact direct sur la taille occupée par fichier final et sur sa
qualité (plus le débit est important, plus le fichier final sera « lourd » et sa qualité
meilleure). A partir d’un certain débit, l’amélioration de la qualité n’est plus
perceptible.
On estime qu’un débit de 1 500 Kbit/s (150 Ko/s) est un bon compromis pour obtenir
une vidéo de qualité VHS à partir d’un codec dérivé du MPEG 4 (DIVX, WMV, XVID…),
en 25 images par seconde[1].
Temps de compression
Mesure de la distorsion
18
Chapitre 1
Techniques de compression d’images
comprimées est parfois mesurée par d'autres valeurs, comme l'erreur absolue
moyenne ou l'erreur absolue maximale. Cette dernière semble plutôt trop sensible aux
imperfections occasionnelles. Il est aussi vraisemblable que l'œil tient beaucoup plus
compte des erreurs à grandes amplitudes, ce qui favorise la mesure quadratique.
Cependant, l'ordonnance des images basée sur ces mesures est en général le même [1]
Au lieu de communiquer les valeurs de MSE, les études donnent en général le rapport
crête signal sur bruit (Peak Signal to Noise Ratio, PSNR). Au lieu de mesurer la
distorsion, cette valeur mesure la fidélité de la compression, puisqu'elle est
proportionnelle à la qualité. Tout de même, elle est une fonction de MSE ; sa définition
et son utilisation proviennent du domaine
Conclusion
Les images numériques, qu'elles soient fixes ou animées, ont vocation à être
partagées, donc Transmises sur des réseaux de communication. Il faut donc voir plus
loin que le simple codage Source. La compression n'est en général qu'une tâche
particulière qui s'intègre dans des systèmes où plus de contraintes sont présentes, que
l'on doit considérer pendant le développement. Ainsi, on ne doit pas forcément mettre
en place un algorithme qui – en tant que méthode indépendante – produit un taux de
compression maximal, mais qui dans un système global conduit à la performance
optimale. Les critères de performance incluent bien sûr le taux de compression. Mais si
la transmission fait partie des services, un faible délai de transmission, la robustesse
aux erreurs, la possibilité d'une transmission progressive contribuent à la valeur de
l'approche et peuvent justifier un taux moins élevé.
19
Chapitre 1
Techniques de compression d’images
20
Chapitre 2
Compression par fusion de techniques
Introduction
La figure II.1 illustre les différentes phases qui permettent d'obtenir une image
compressée (et un taux de compression intéressant). L'image (ou une partition de
celle-ci) peut être dans un premier temps transformée, les transformations les plus
couramment utilisées en compression d'images sont la DCT (transformation en cosinus
discrète), la DWT (transformation en ondelette), la DFT (transformation de fourrier
discrète) ou parfois la transformation de Karhunen Loevel. Le but de ces
transformations et de compacter au mieux l'information contenue Dans l'image, c'est à
dire d'avoir un nombre de cœfficients représentatifs aussi faible de possible.
21
Chapitre 2
Compression par fusion de techniques
Enfin la dernière étape est le codage des coefficients quantifies, les méthodes utilisées
sont les mêmes méthodes que celles qui sont utilisées dans le cas de la compression
sans perte. C'est cette étape qui va exploiter au mieux la redondance d'information qui
s'est accumulée après les étapes de transformation et de quantification.
Une DCT représente les points de données d'entrée sous la forme d'une somme de
fonctions cosinus qui sont oscillantes à des fréquences différentes et des grandeurs. Il
y a principalement deux types de DCT: DCT unidimensionnelle (1-D) et DCT
bidimensionnelle (2-D). Comme une image est représentée comme une double
matrice bidimensionnelle, pour ce travail de recherche, 2-D DCT est considéré. La DCT
2-D pour un N X N séquence d'entrée peut être définie comme suit [3]:
(2.1)
Où
(2.2)
22
Chapitre 2
Compression par fusion de techniques
(2.4)
(2.5)
Où
(2.6)
Limites de DCT
Les figures 2.2 et 2.3 montrent l'image originale et les images reconstruites à
deux différents niveaux de compression à l'aide 2 - D DCT [19]. Pour le plus faible
ratio de compression, la distorsion est inaperçue par la perception visuelle
humaine, qui peut être vu dans la figure 2.2-(b). Afin d'atteindre une compression
plus élevée il est nécessaire d'appliquer la quantification suivie d’une mise à
23
Chapitre 2
Compression par fusion de techniques
- Blocage des artefacts: blocage des Artefacts est une distorsion qui apparaît en
raison de lourdes compression et apparaît comme des blocs de pixels de grande
taille. Pour un ratio de compression élevé, les notables "d'artefacts de blocs" à
travers les limites des blocs ne peut être négligé. L'exemple de l'apparence d'un
artefact de blocage dû à la compression élevée est indiqué dans Figure 2.2-
(c)[19].
- faux contours : Les faux contours se produit lorsque la zone de douceur classée
d'une image est déformée par une aberration qui ressemble à une carte de
contours pour les images spécifiques ayant les zones ombragées
progressivement [5]. La principale cause de l'effet de faux contours est la lourde
quantification des coefficients de transformation.
24
Chapitre 2
Compression par fusion de techniques
La transformée en Ondelettes discrète (DWT) [18] est une opération qui décompose
un signal (une série d’échantillons numériques) en deux parties par projection sur un
filtre passe-bas L et un filtre passe-haut H. La partie résultant du filtrage passe-bas
représente une approximation du signal d’origine à la nouvelle résolution (ou échelle),
celle résultant du filtrage passe-haut représentant les détails perdus entre les deux
résolutions.
Puisqu’une image est typiquement un signal en deux dimensions, une TO dyadique est
réalisée, en appliquant d’abord les filtres L et H sur les échantillons ligne par ligne, puis
en réappliquant les mêmes filtres sur les échantillons résultants, mais colonne par
colonne cette fois-ci. Au final, l’image est divisée en 4 parties, les sous-images LL, LH,
HL et HH comme présenté sur la figure 2.4 (a). La sous-image LL fournit une version à
l’échelle ½ de l’image d’origine, LH, HL et HH représentant les détails perdus
respectivement dans les directions horizontale, verticale et diagonale. La TOD peut
être répétée sur LL pour obtenir plusieurs niveaux de résolution.
La figure 2.4 (b) présente une image décomposée en trois niveaux de résolution
[18].
25
Chapitre 2
Compression par fusion de techniques
- Discussion
26
Chapitre 2
Compression par fusion de techniques
la seconde transformation est DCT bidimensionnelle appliquée sur chaque des blocs
de données des sous bandes de basse fréquence. La DCT est très important pour notre
approche elle se partage avec la DWT pour obtenir les domaines de plus hautes
fréquences. DCT joue le rôle principal pour convertir la sous-bande en courant
continue alternatif coefficients, comme toute technique de compression d’image,
après cette étape de transformation, on entame la quantification et le codage pour
finir notre algorithme
27
Chapitre 2
Compression par fusion de techniques
négligeables [12]. Cela reflète le fait que la majeure partie de l'information importante
est en "LL2" sous-bande. Le DWT est un bon choix de transformation accomplit une
dé-corrélation pour les pixels, tout en fournissant simultanément une représentation
dans laquelle la plupart de l'énergie est généralement limitée à quelques coefficients
[13], tandis que d'autres sous-bandes (LH1, HL1 et HH1) sont ignorés. C'est la clé pour
parvenir à un taux de compression élevé.
La DCT est la deuxième transformation utilisée dans notre algorithme, qui est
applicable sur chaque bloc de la sous-bande "LL2" " comme il est montré dans la
figure2.6.
Figure 2. 6 Transformé en cosinus discrète DCT appliqué pour chaque bloc nxn de la sous-
bande LL2
L'énergie dans les coefficients transformés est concentrée sur le coin supérieur gauche
de la matrice de coefficients. Les coefficients du haut à gauche correspondent à des
fréquences basses: il y a un «pic» de l'énergie dans ce domaine et les valeurs des
coefficients diminuent rapidement en bas à droite de la matrice, [2,3]. Les coefficients
DCT sont décorrélé, ce qui signifie que beaucoup de coefficients avec les petites
valeurs peuvent être éliminés sans affecter considérablement la qualité de l’image
[2,3].L'une des différences clés entre les applications de la transformée en cosinus
discrète DCT et la transformée en Ondelettes discrète (DWT),est que cette dernière
s'appliquent généralement à une image comme un seul bloc ou une grande région
rectangulaire de l'image, tandis que pour la DCT [6,8,9], elles est de plus en plus
compliquée à calculer pour les blocs de grande taille, pour cette raison on a utilisé des
28
Chapitre 2
Compression par fusion de techniques
blocs de "n × n" pour la transformée en cosinus discrète DCT, alors que pour la DWT
elle sera plus efficace à appliquer aux images complètes pour obtenir un bon taux de
compression [10].
Étape de quantification
Quantification Level1
Dans la Figure 2.6 ci-dessus, "Quantification level1" est utilisé pour réduire la taille des
données pour LL2, en sélectionnant le ratio de la valeur maximale pour LL2 comme
indiqué dans l'équation suivante (2.7 ):
(2.7)
(2.8)
"Qualité" valeur est utilisée dans l'équation (2.7), elle affecte la qualité d'image. Par
exemple, «la qualité = 0,005", cela signifie calculer 0,5% de la valeur maximale en LV2
à diviser par toutes les valeurs de LL2. Ce processus aide les valeurs de la LL2 à être
plus convergente (c'est à dire plus corrélés). Par ailleurs ce processus de quantification
conduit à obtenir une faible qualité d'image, si la qualité > 1%.
Quantification Level2
Pour chaque block de "2 × 2" les coefficients de LL2 sont transformés par la DCT, puis
divisé par "Q2", en utilisant un processus qui supprime les coefficients non significatifs
et remplis de zéros la LL2 transformée. La "Q2" peut être calculée comme suit [25]:
(2.9)
29
Chapitre 2
Compression par fusion de techniques
Figure 2. 7 sous-bande LL2 quantifiés et transformés par DCT pour chaque 2 × 2 blocs
Les coefficients DCT sont dé-corrélé, ce qui signifie que bon nombre des coefficients à
petites valeurs peuvent être éliminés sans affecter considérablement la qualité de
l'image. Les coefficients dé-corrélés d’une matrice compacte peuvent être compressée
beaucoup plus efficacement qu’une matrice à pixels d’image fortement corrélées [25].
Les équations suivantes illustre la fonction de la DCT et la DCT inverse pour des
matrices bidimensionnelles "2 × 2":
(2.10)
Ou :
(2.11)
Avec :
(2.12)
30
Chapitre 2
Compression par fusion de techniques
(2.13)
Le "W" dans l'équation (2.13) représente les valeurs aléatoires du poids, générés par
la fonction aléatoire dans le langage MATLAB, les valeurs de "W" sont comprises
entre {0 · · · 1}, par exemple : W = {0, 1, 0,65, 0,423}. Les valeurs aléatoires du poids
sont multiplier avec chaque ligne de l'AC-Matrix, pour produire une seule valeur en
virgule flottante "Arr", cette idée est similaire aux équations de réseaux de neurones,
ces dernières multiplie les valeurs mises à jour de poids avec les neurones d'entrée
pour produire une seule sortie neurone [35]. L’algorithme de la minimisation de la
taille de la matrice est présenté dans la liste suivante (Liste1) :
Let Pos=1
W= Génération_de_valeurs_de_poids_aléatoires ();
I=1;
J=1;
Block2x2=Appliquer_DCT( LL2[I, J] );
L1x4=Convertion_Block_en_tableau( Bloc2x2 );
31
Chapitre 2
Compression par fusion de techniques
pour K=2 à 4
Pos++;
J=J+2;
I=I+2;
L'étape finale dans cette section est le codage arithmétique qui consiste à convertir le
flux de données en une seule valeur à virgule flottante. Ces valeurs de sortie dans la
gamme inférieure à un et supérieure à zéro, lorsque cette valeur est décodée, on
obtient le flux exact de données. Le codage arithmétique besoin de calculer la
probabilité de toutes les données et d'attribuer à chaque donnée une plage, cette
dernière comporte la minima et la maxima de la valeur [24,25].
T-matrice de codage
La colonne-DC contient des valeurs entières, ces valeurs sont obtenues à partir de
l'article perméable. Le codage arithmétique est incapable de compresser cette colonne
parce que ces valeurs sont corrélées, pour cette raison colonne-DC est divisée en 128
parties, et chaque partition est transformée par la DCT (Voir équation (2.13)) en
tableau à une dimension en utilisant (u = 0 et x = 0) dans l'équation (2.14) pour que ça
soit une DCT unidimensionnel, puis on utilise un processus de quantification pour
chaque ligne, comme indiqué dans l'équation suivante :
32
Chapitre 2
Compression par fusion de techniques
(2.14)
Note: n = 2, 3, · · ·, 128.
La valeur initiale de Q (1) = 12,8.
La première valeur dans l'équation ci-dessus (2.14) est Q (1) = 12,8, en raison de la
longueur de chaque ligne qui est de 128. Chaque 128 valeurs sont transformées et
stockés sous forme d'une ligne dans une matrice appelée « Transformée-matrice » (T-
Matrice). Cette partie de notre algorithme de compression ressemble à la technique
JPEG, comme le montre la Figure (2.9). L'idée d'utiliser la T-Matrice, est que nous
avons besoin d'augmenter le nombre de zéros pour obtenir des valeurs plus dé-
corrélées, ce processus augmente le taux de compression. Chaque ligne de la T-
Matrice se compose de la valeur DC et le flux des coefficients AC, maintenant nous
avons besoin de numériser la T-matrice, colonne par colonne pour la convertir dans un
tableau unidimensionnel, faire ensuite une compression par Run Length Encoding
(RLE) et enfin un codage arithmétique. RLE compte les coefficients répétées, et fait
ensuite référence à des coefficients de répétition d'une valeur, ce processus de
réduction de la longueur des données répétées, puis on applique un codage
arithmétique pour convertir ces données réduites en morceaux.
Cette technique a été utilisée pour éliminer le bloc des zéros, et ensuite
l’emmagasiné dans un tableau. Cette méthode est particulièrement utile pour réduire
la taille des hautes-fréquences des sous-bandes (i.e HL2, LH2 et HH2) ou les matrices
qui contiennent plus de zéros, EZSD appliquée sur chaque sous-bande
indépendamment. Avant d'appliquer l’algorithme EZSD sur chaque haute-fréquence
des sous-bandes (i.e HL2, LH2 et HH2) on applique une quantification level1 (voir
équation (2.8)), avec une valeur de qualité > = 0,01. Ceci pour la suppression des
coefficients non significatifs et l’augmentation du nombre des zéros.
33
Chapitre 2
Compression par fusion de techniques
34
Chapitre 2
Compression par fusion de techniques
I=1; LOC=1
J=1;
%% cette fonction coche le contenu de la case "Bloquer", a-t-il une valeur non nulle?
LOC=LOC+2;
Tableau_réduit[P]= Bloc[k];
++P;
Fin;
Fin;
J=J+ taille_bloc;
Fin;
I=I+ taille_bloc;
End;
35
Chapitre 2
Compression par fusion de techniques
«Tableau réduit », ceci pour répéter le nombre des zéros. Pour l'exemple ci-dessus "0,
8" répété 4 fois, "0, 1" et "0, 4" sont répétées 2 fois, ce procédé augmente le taux de
compression avec un codage arithmétique.
Décodage de la Colonne-DC
Run Length décodage (RLD) est un décodage arithmétique qui produit un tableau
unidimensionnel et qui contient les données d'origine pour la T-Matrice. Ce tableau
est lu élément par élément, et placés dans les colonnes de la T-Matrice. Les lignes
36
Chapitre 2
Compression par fusion de techniques
Cet algorithme est utilisé pour reconstruire Matrice-AC, en utilisant les données
réduites au minimum (voir équation (2.13)), et au hasard des poids-Values. Cet
algorithme dépend des pointeurs pour trouver les données manquantes à l'intérieur
des commanditaires des données pour la Matrice-AC. Si la limite de données est
interrompue ou détruite la Matrice-AC ne pourra pas revenir en arrière. La figure 2.12
montre la Matrice-AC décodée par l’algorithme LSS. L’algorithme LSS est conçu pour
trouver les données manquantes à l'intérieur des données Limitées, à l'aide de trois
pointeurs. Ces pointeurs sont réfère à l'index qui se trouve dans les données Limitées,
la valeur initiale de ces pointeurs est "1" (première localisation dans un donnée
Limitée). Ces trois pointeurs sont appelés S1, S2 et S3; ces pointeurs sont incrémentés
à chaque itération (autrement dit, ces trois pointeurs travail comme une horloge
numérique, où S3 S1, S2 représentent les heures, les minutes et les secondes
respectivement). Pour illustrer l’algorithme LSS que nous avons la matrice 2*3 suivante
38
Chapitre 2
Compression par fusion de techniques
(2.15)
W: poids généré.
Limitée: des données limitées.
S (i): pointeurs 1,2 et 3.
LSS-algorithme calcule une «estimation» à chaque itération et la compare avec "M (i)".
Si elle est nulle, les valeurs estimées sont situées à des emplacements = {S1, S2 et S3}.
Si elle est différente de zéro, l'algorithme va continuer à trouver les valeurs originales
39
Chapitre 2
Compression par fusion de techniques
à l'intérieur des données limitées. la figure 2.14 illustre l’algorithme LSS qui estime les
valeurs de la matrice pour l'exemple ci-dessus.
Lors de la quatrième phase, notre algorithme de décompression combine la Colonne-
DC et la Matrice-AC, puis il applique la DCT inverse (voir équation (2.12)) pour
reconstruire la sous-bande LL2 , puis on appliquant la DWT inverse au premier niveau
sur LL2, HL2, LH2 et HH2 pour produire approximativement LL1. La DWT inverse au
deuxième niveau est appliquée sur la LL1 (les autres sous-bandes sont à zéros) pour
une reconstruction approximative de l'image originale.
Conclusion
40
Chapitre 2
Compression par fusion de techniques
6) dans cette recherche l'algorithme EZSD est utilisé pour supprimer un grand nombre
de zéros, et en même temps convertir les hautes fréquences de la sous-bande en
matrice, ce processus augmente le taux de compression.
41
Chapitre 3
Description du logiciel élaboré
Introduction
Pour la réalisation d’une interface d’analyse, deux solutions s’offraient :
Notre choix s’est porté sur la deuxième catégorie qui inclue des logiciels tels que :
MATHEMATICA, MAPLE, MATHCAD et MATLAB. Du fait qu’il correspond exactement à
nos besoins logiciels, nous nous sommes fixés finalement sur MATLAB.
Environnement de travail
Matériel utilisé
42
Chapitre 3
Description du logiciel élaboré
Langage de programmation
MATLAB est un outil très efficace, largement utilisé pour le calcul numérique et la
visualisation graphique. Dans cet environnement, les variables et les scalaires sont
manipulés comme des matrices de "n" colonnes par "m" rangées. Par exemple, un
scalaire serait une matrice de 1 x 1. À l'exécution, MATLAB affiche plusieurs fenêtres
sur l'écran. Les trois types de fenêtres les plus importants sont :
43
Chapitre 3
Description du logiciel élaboré
44
Chapitre 3
Description du logiciel élaboré
Hiérarchie
Notre interface présente une structure arborescente qui offre à l’utilisateur un bon
suivi des applications effectuée et une meilleure représentation de ses données.
Toutes les applications sont utilisées automatiquement à la fin de chaque session. La
figure 3.3 illustre l’organigramme du logiciel élaboré.
45
Chapitre 3
Description du logiciel élaboré
Compression
Décompression
Calcule « paramètres de
Affichage du résultat de
décompression«MSE, PSNR »
Fin
L’application ‘CIC(V1.0)’,
)’, développée sous environnement MATLAB, consacre la
première partie à la compression des images suivant l’algorithme hybride basé sur les
deux méthodes de transformée DCT et DWT. Elle exploite les résultats obtenus en
calculant le taux de compression pour
pour différent niveau de décomposition par
ondelette, en deuxième partie nous faisant la décompression pour bien validé la
qualité de l’image reconstruite on calcule les paramètres de distorsion à savoir le PSNR
et MSE
Pour bien évaluer notre technique, on va la comparer avec d’autre méthodes de
compression, Pour cela voici l’interface de comparaison, elle s’ouvre en appuyant sur
le bouton « comparaison » dans l’interface « CIC »
La figure 3.6
.6 représente cette interface
47
Chapitre 3
Description du logiciel élaboré
Dans ce qui suit on va bien détaillée chaque partie avec ces modules
48
Chapitre 3
Description du logiciel élaboré
Bibliothèque d’images
Les différentes images employées pour tester notre application de compression sont
divisée en trois type d’image, Nous retrouvons ainsi, des images synthétiques,
texturées et réelles (cf. Figures 3.7).
Tests expérimentaux
Nous présentons dans ce qui suit, les résultats issus de notre application, sur chacune
des images abordées
Résultats de la compression
50
Chapitre 3
Description du logiciel élaboré
Résultat de la décompression
51
Chapitre 3
Description du logiciel élaboré
perroquet CR=98.10%,PSNR=30.62dB
52
Chapitre 3
Description du logiciel élaboré
53
Chapitre 3
Description du logiciel élaboré
Pour plus de détaille sur la décompression d’une image bruité, voici les résultats
affichée dans le tableau suivant
rapport crête
signal sur bruit
Nom de l’image Bruit en Erreur quadratique
« PSNR »
pourcentage moyenne « MSE »
54
Chapitre 3
Description du logiciel élaboré
l’ondelette de haar c’est elle qui nous a données un taux de compression plus
élevée(98.44%) par rapport à l’ondelette de daubechies, tant dis que pour la
décompression, on remarque que l’ondelette de Haar donne la plus grade
valeurs de l’erreur quadratique moyenne MSE, donc l’image reconstruite est
dégradé par rapport à l’image reconstruite en utilisant l’ondelette de
daubechies ,plus précisément db9 qui a présenté le meilleur image
reconstruite.
- Dans la compression, le niveau de décomposition choisi au niveau de l’étape de
transformation aussi à un impact sur le taux de compression, pour notre
algorithme on constate que le niveau (Level3) c’est lui qui nous a données le
meilleur taux de compression pour toutes les images utilisée dans notre étude,
mais il faut aussi savoir que en augmentant beaucoup plus le niveau de
décomposition l’image reconstruite se dégrade de plus en plus.
- Cas d’une image avec bruit :
Pour la compression, l’ajoute du bruit dans l’image originale n’influe pas sur le
taux de compression, l’influence du bruit est remarquable au niveau de la
décompression, on remarque que l’erreur quadratique moyenne augmente
avec l’augmentation du bruit, donc la valeur du PSNR diminue par rapport a
une image sans bruit, l’image reconstruite est beaucoup dégradé.
Pour compresser une image bruite avec notre algorithme il est nécessaire de
faire un prétraitement de l’image avant de commencer à exécuter les étapes de
l’algorithme hybride.
55
Chapitre 3
Description du logiciel élaboré
Tableau de comparaison
Global
thresholding of
Embedded Notre approche
coefficients and
Zerotree
Huffman Wavelet
Lena
Dimension (500X500)
732 Kbytes
Oeil
768 Kbytes
Tableau 3. 4 comparaison entre 'gbl_mmc_h' , ‘ezw’ et notre approche (image ‘lena’ et oeil)
Discussion
D’après les résultats présenter dans le tableau 3.4 on remarque bien la robustesse de
notre technique de compression qui donne des meilleurs taux de compression avec
une bonne reconstruction de l’image originale par rapport aux deux méthodes
présenter dans le tableau qui se base uniquement sur la transformée en ondelette,
57
Chapitre 3
Description du logiciel élaboré
Conclusion
L’algorithme de compression et de décompression des images que nous avons
développé dans ce chapitre, est capable de compresser toute image avec de forts taux
de compression et de la restituer avec une qualité appréciable. Ainsi, les tests
effectués sur l’image Lena prise pour référence et sur des images visibles ont montré la
supériorité de cet algorithme vis à vis d’autres méthodes de compression telles que
celles basées sur la DCT, ou les Ondelettes.
Les critères de choix qui ont été utilisés dans notre algorithme dont le niveau de
compression et la famille d’ondelette ont donnés un impact sur la qualité de l’image
reconstruite.
58
Conclusion générale
Conclusion générale
Dans ce mémoire, nous avons élaboré une technique de compression d’images pour
faciliter l’archivage d’images avec de forts taux de compression et le minimum de
distorsions. Pour concevoir notre méthode, nous avons dans un premier temps
Procédé à une comparaison des principales techniques de compression d’images
publiées dans la Littérature. Nous avons ainsi montré que les méthodes avec pertes
étaient les plus adaptées à la Compression des images et que celles basées sur les
transformations linéaires donnaient le meilleur compromis possible entre le taux de
compression et la qualité de restitution des images. Parmi ces techniques, celles
utilisant les Ondelettes, la transformée discrète en Cosinus (DCT), semblent convenir à
cette exigence.
Les résultats des simulations exhaustives montrent une certaine uniformité des
performances améliorées pour le système hybride par rapport aux méthodes basées
uniquement sur la DCT ou la DWT
Le nouveau système a également réduit les effets de faux contours et les artefacts de
blocage significatif, ce qui se produit dans les images reconstruites en utilisant
l'algorithme DCT
59
Conclusion générale
Perspectives
L’algorithme proposé peut aussi être implémenté sur d’autres espaces d’image
couleur que l’espace RVB.
Ce travail peut être approfondit pour explorer de nouveaux filtres que les
Daubechies ou Haar.
ça sera intéressant d’évaluer les résultats de l’algorithme en utilisant d’autres
codeurs, par exemple codeur LZW a base du dictionnaire
60
Bibliographie
Bibliographie
61
Bibliographie
62
Bibliographie
63