Vous êtes sur la page 1sur 18

N° d’ordre : Année Universitaire : 2018 / 2019

UNIVERSITE D’ANTANANARIVO
----------------------
ECOLE SUPERIEURE POLYTECHNIQUE
-----------------------
MENTION TELECOMMUNICATION

Devoir à Rendre
Domaine  : Sciences de l’Ingénieur
Mention : Télécommunication
Parcours : STI

par :

RABALIHARITOVO Andry Franck


ANDRIAMANJAKA Ny Aina Manoa
RAZAFINDRAKOTO Andrianotahian’ny Avo Michael
RAKOTOMALALA Vonjy Mickael
SANGINIONJA Lala Stéphan

Traitement d’Image
Numérique

Mme RAMAFIARISONA Malalatiana


1. Codage de Données :

Les systèmes informatiques ne peuvent fonctionner que selon une logique à deux états
telle que, de façon schématique, le courant passe ou ne passe pas. Les informations
sont donc transformées en impulsions électriques. Ces impulsions sont le seul langage
qui puisse être compris par l'ordinateur. Ces deux états logiques sont
conventionnellement notés 1 ou 0, et déterminent une logique dite binaire. Toute
information à traiter devra être représentée sous forme binaire.

Il existe de nombreuses possibilités de codage de l'information, binaire, hexadécimal,


ASCII, etc.

Le codage de données est un processus qui consiste en général à assigner des


valeurs numériques aux réponses exprimées au départ sous forme numérique,
textuel, sonore ou visuelle.

Le principal objectif est de faciliter le traitement automatique des données dans un but
analytique.

Il est possible de convertir un nombre d'un système de numération vers un autre.

Pour convertir un mot binaire par exemple en nombre décimal, il suffit de multiplier la
valeur de chaque bit par son poids, puis d'additionner chaque résultat.

Exemple : La suite binaire 0101 vaut en décimal :

2^3x0 + 2^2x1 + 2^1x0 + 2^0x1

= 8x0 + 4x1 + 2x0 + 1x1

=5

2. Compression de données :

La compression de données ou codage de source est l'opération informatique


consistant à transformer une suite de bits A en une suite de bits B plus courte pouvant
restituer les mêmes informations, ou des informations voisines, en utilisant un
algorithme de décompression.

Ex : Huffman, RLE, LZW, …


3. Codage de l’Images :
Une image a 3 caractéristiques : sa taille (définition) en points ou pixels, ses
dimensions réelles (en centimètres ou pouces) et sa résolution (en pixel par pouce).
Une image numérique est une image acquise, traitée et stockée en bits. Une image
numérique est un tableau de pixel : chaque pixel est codé par un nombre binaire
pour un niveau de gris, ou par trois nombres binaires qui correspond à une
nuance de rouge, de vert et de bleu (codage RVB).
Types d'images
 Images matricielles (ou images bitmap) : composée d’une matrice (tableau)
de points à plusieurs dimensions, chaque dimension représentant une
dimension spatiale (hauteur, largeur, profondeur), temporelle (durée) ou autre
(par exemple, un niveau de résolution).
 Images 2D
 Images 2D + t (vidéo), images 3D, images multi-résolution
 Images stéréoscopiques
 Images vectorielles : Le principe est de représenter les données de l'image
par des formules géométriques qui vont pouvoir être décrites d'un point
de vue mathématique. Cela signifie qu'au lieu de mémoriser une mosaïque de
points élémentaires, on stocke la succession d'opérations conduisant au tracé.
Par exemple, un dessin peut être mémorisé par l'ordinateur comme « une droite
tracée entre les points (x1, y1) et (x2, y2) », puis « un cercle tracé de centre
(x3, y3) et de rayon 30 de couleur rouge ».
L'avantage de ce type d'image est la possibilité de l'agrandir indéfiniment sans
perdre la qualité initiale, ainsi qu'un faible encombrement. L'usage de
prédilection de ce type d'images concerne les schémas qu'il est possible de
générer avec certains logiciels de DAO (Dessin Assisté par Ordinateur) comme
AutoCAD ou CATIA. Ce type d'images est aussi utilisé pour les animations
Flash, utilisées sur Internet pour la création de bannières publicitaires,
l'introduction de sites web, voire des sites web complets.
Étant donné que les moyens de visualisation d'images actuels comme les écrans
d'ordinateur reposent essentiellement sur des images matricielles, les
descriptions vectorielles (Fichiers) doivent préalablement être converties en
descriptions matricielles avant d'être affichées comme images.

4. Compression de l’image :
La compression d'image est une application de la compression de données sur des
images numériques. Cette compression a pour utilité de réduire la redondance des
données d'une image afin de pouvoir l'emmagasiner sans occuper beaucoup d'espace
ou la transmettre rapidement.

5. Codage entropique :

Le codage entropique est une méthode de codage de source sans pertes, dont le
but est de transformer la représentation d'une source de données pour sa
compression ou sa transmission sur un canal de communication.

Les principaux types de codage entropique sont le codage de Huffman et le codage


arithmétique.

Le codage entropique utilise des statistiques sur la source pour construire un code,
c'est-à-dire une application qui associe à une partie de la source un mot de code, dont
la longueur dépend des propriétés statistiques de la source. On utilise donc en général
un code à longueur variable, qui attribue les mots de codes les plus courts aux
symboles de source les plus fréquents.

Le codage entropique est une technique fondamentale en compression de données, et


est présent dans de nombreux programmes de compression.

6. Transformation de l’image :
Le principe est de changer la valeur de chaque pixel d’une image I pour obtenir
une nouvelle image I’. Cette image résultat a la même taille que l’image I, mais
avec des propriétés plus importantes.
Cette transformation est notée t :
Il y a 3 types de transformation :
 Ponctuelles (pixel à pixel) : la nouvelle valeur I’ (x, y) est obtenue à partir de I
(x, y) seulement.

Ex : seuillage, ajustement de luminosité, contraste, manipulation d’histogramme

 Locales (ou de voisinage) : la nouvelle valeur I’ (x, y) est obtenue à partir de


l’ensemble des valeurs initiales I (ʋ (x, y)) dans un voisinage autour du pixel
de coordonnées (x, y)

Ex : Filtrage
 Globales : la nouvelle valeur I’ (x, y) est obtenue à partir de l’ensemble des
valeurs de l’image initiale I.

Ex : Transformation dans l’espace de Fourier

7. La quantification de données :
La quantification de donnée est la manière de déterminer la valeur la plus proche
F d’arriver d’une valeur d’entrée donnée d’un espace E
Ex : dans le cas d’une transformation analogique-numérique
Elle sert à compresser les données.

8. La compression sans perte :


Une compression est dite sans perte si les données après décompression sont
identiques aux données originelles.
Ces compressions se basent toutes sur le même principe : la répétition d’une donnée
est une répétition de trop. L’objectif va être de supprimer le maximum de répétition
pour obtenir une compression plus importante tout en étant capable de retrouver les
répétitions retirées.

Exemple : Huffman, Lempel-Ziv (LZW), RLE

Le RLE : Les lettres RLE signifient Run-Length Encoding. Il s'agit d'un mode de
compression parmi les plus simples : toute suite de bits ou de caractères identiques est
remplacée par un couple (nombre d'occurrences ; bit ou caractère répété).
Exemple : AAAAAAAAZZEEEEEER donne : 8A2Z6E1R, ce qui est beaucoup plus court.

9. La compression avec perte :


Une compression est dite avec perte si les données après décompression sont
différentes des données originelles.
La compression avec pertes utilise des algorithmes qui compressent les données en les
dégradant. Autrement dit, après la décompression des données, celles-ci sont moins
nombreuses que celles utilisées pour la compression. Pour éviter que ces dégradations
soient perçues par les utilisateurs, les concepteurs d'algorithmes pour la compression
destructrice se basent sur les limites de perception au niveau de l'ouïe et de la vue chez
l'être humain. Voici trois méthodes utilisées pour la compression avec pertes :
 La transformée en cosinus discrète
 La compression par ondelettes
 La compression fractale (uniquement appliquée aux images)
Exemple : JPEG, MP3, DIVX, MPEG, etc...

10. Evaluation d’un système de compression :

Pour évaluer la compression et des pertes, il faut calculer :


Taille Initiale
 Quotient de compression : Q=
Taille Finale
1
 Taux de compression : T =
Q
Taille Initiale−Taille Finale
 Gain de compression : G=1−T =
Taille Initiale
 Erreur quadratique moyenne :
N−1
1
EQM= ∑ ( ncompr ( i )−n ( i ) )∗2
N i=0

On dit qu’une compression est bonne lorsque l’algorithme possède un gain de


compression maximale et une erreur quadratique moyenne minimale.

11. MATLAB : Compression sans perte : (voir fichier .m)

12. MATLAB : Compression avec perte : (voir fichier .m)

13. PSNR :

PSNR (sigle de Peak Signal to Noise Ratio) est une mesure de distorsion utilisée en
image numérique, tout particulièrement en compression d'image. Elle permet de
quantifier la performance des codeurs en mesurant la qualité de reconstruction de
l'image compressée par rapport à l'image originale.

Où d est la dynamique du signal (la valeur maximum possible pour un pixel), dans le
cas standard d'une image codée sur 8-bits, d=255.

EQM est l’erreur quadratique moyenne.

14. Taux de compression :


Le taux de compression est le rapport entre la taille de l’image compressée et la taille
de l’image initiale multiplié par 100.
15. BINARY PLANE :

La technique Binary Plane consiste à éliminer les redondances d’informations dans


une image en utilisant une table appelé « bit plane » et une table de données appelée
« data »

a. Définition :

Cette technique fait partie des techniques de codage par la méthode spatiale, elle est
excellente pour la compression d’image naturelle ou synthétique.
Cette technique stocke les données pertinentes dans une table appelée Table de
Données, et met dans une autre table de meme taille que l’image originale appelée Bit
Plane, les codes correspondant à chaque pixel.

b. Méthode de lecture :

Il existe plusieurs methodes de lectures des données :

 Lecture horizontale l
 Lecture verticale
 Lecture Zig Zag

La lecture de données affecte beaucoup la capacité de compression de notre technique


de codage car elle dépend beaucoup de la similarité entre les pieds voisins.

Dans cotre cas, pour ce document, nous n’allons utiliser essentiellement que la
méthode de lecture horizontales.

c. Principe :

L’objectif principal de la technique est de prendre avantage de la répétition des pixels


consécutifs.

Pour un pixel répété consécutivement, une seule valeur est retenue.

Dans la technique Binary Plane, on utilise le code pour créer la table Binary Plane :
 Code « 1 » : est utilisé pour indiquer que le pixel courant est différent du pixel
de référence. Dans ce cas le pixel courant est enregistré dans la table de
données.
 Code « 0 » : est utilisé pour indiquer que le pixel courant correspond au pixel
de référence. Ceci ne nécessite pas de stockage de pixel courant.

d. Quantification :

Ici, la quantification, consiste à comparer une fourchette de référence obtenu grâce à la


quantification par la valeur seuil ou threshold value (TV) du pixel de référence (PR)
comme il est montré dans la figure ci-dessous.

Pour passer à la technique sans perte on utilise la valeur seuil 1.

Quantification dans la technique par bloc 3x3

Avec :

e. Différents types de codage par « BINARY PLANE »

Il y a 03 type de codage Binary Plane :

 Binary plane (BP) ;


 Binary plane par bloc de 4x4 (BP4) ;
 Binary plane Centrer bloc de 3x3 (BPC) ;

Dans ce travail nous allons voir comment réaliser la technique Binary Plane (BP).

f. Binary Plane :

C’est une technique simple à implémenter, il s’agit juste d’appliquer la technique avec
une lecture de données horizontales.

Algo de codage :

Voici les différentes étapes à suivre pour réaliser :

Etape n°1 : Création de la table bit plane et de la table de donnée

La première chose à faire est de créer la table Bit Plane table de données initialement
vide.

Etape n°2 : Initialisation des pixels de référence et courant


Le pixel courant est initialement la valeur du premier pixel en haut à gauche de
l’image. La valeur du pixel de référence est initialement nulle, elle représente la valeur
du pixel précédemment enregistrer

Etape n°3 : Comparaison des pixels de référence et courant

La valeur du pixel de référence est quantifiée et la fourchette de référence obtenue est


comparée à la valeur du pixel courant.

Etape n°4 : Correspondance trouvé dans l’étape n°3

S’il n’y a correspondance entre la fourchette de référence et le pixel courant, alors on


met la valeur située au même emplacement que le pixel dans le bit plane la valeur de la
table de données, et on avance dans la lecture courante.

Etape n°5 : Valeur non correspondante dans l’étape n° 3

S’il n’y a correspondance entre la fourchette de référence et le pixel courant, alors on


met la valeur située au même emplacement que le pixel dans le bit plane, à « 1 »
ensuite on rajoute la valeur pixel courant dans la table de donné, puis ce pixel devient
le pixel de référence, et on avance dans la lecture courante.

Etape n°5 :
Retour à l’étape n° 3 qu’à la fin de la lecture
On continue à comparer (étape n°3) le pixel tant qu’il y a encore un pixel dans la liste
de lecture de l’image.
a) Critère d’arrêt : Fin de la lecture de l’image.

A la fin de cet algorithme, on a deux fichiers : la table bit plane et la table de


données, on assemble alors les deux fichiers en un seul fichier qui est l’image
compressée.

b) Exemple :

Nous voulons coder l’image suivante en utilisant la valeur de seuil threshlod value = 4


Tableau : Exemple de matrice image

La valeur du pixel de référence est initialement nulle, la valeur du pixel courant est
égale au premier pixel en haut à gauche donc PC= 253 à l’adresse (1,1).

On crée une table bit plane de même taille que l’image donc 6x6 et une table de
données que nous allons nommer data.

On compare alors PR avec le PC, ici on ne trouve pas de correspondance donc la


valeur à la position (1,1) du bit plane valeur de PC dans la table de données, on a donc
data = [253].

On remplace alors la valeur du pixel de référence par 253 (PR = 253) et celui du pixel
courant par le prochain dans la lecture 252 (PC = 252).

On applique la quantification à la valeur du pixel de référence, on obtient alors la


fourchette de référence.

Fourchette de référence est :

On compare alors le pixel courant avec la fourchette de référence. Ici PC, est compris
dans la fourchette de référence, on met la valeur « 0 » dans la table bit plane à
l’adresse (1,2), la table de données et le pixel de référence ne sont pas modifiées. On
continue la lecture.
Le pixel courant devient le prochain dans la lecture c.-à-d. 122 (PC).
On compare PC avec la fourchette de référence, on constate qu’il n’y a pas de
correspondances, donc la valeur à la position (1,3) du bit planes est mise à ‘1’, ensuite
on rajoute la valeur de PC dans la table de données, on a donc data = [253, 122].
On remplace alors la valeur du PR par 122. On continue la lecture PC = 252.
La nouvelle fourchette de référence est :

On compare le PC avec la fourchette de référence, on constate qu’il n’y a pas de


correspondance, donc la valeur à la position (1,4) du bit planes est mise à ‘1’, ensuite
on rajoute la valeur de PC dans la table de données, on a donc data = [253,122,252].
On remplace alors la valeur du PR par 252. On continue la lecture PC = 253.
On continue ainsi jusqu’à ce que la lecture de l’image soit totalement terminé.
A l’issue de ce codage, on obtient la table bit plane suivante :

Table Bit Plane obtenue après codage de la matrice du tableau 3.01

Et la valeur de la table de données est :

Data = [253 122 252 255 122 91 96 252 91 122 91 122 91 255 196 194 97 95 196 194
91]
SIMULATION
Dimension Taux de
Original Décompressé PSNR MSE
originale compression

96 x 96 97.92 10.06 6419.58

   

391 x 159 87.36 23.76 273.84


   

214 x 300 88.24 17.60 1130.74


   
 

625 x 469 83.64 23.78 272.63


 

1280 x 604 87.91 28.25 97.22


   

3968 x 2976 87.90 31.78 43.13


   

TABLEAU DE RESULTAT
INTERPRET ATION

On constate que plus la résolution de l’image est grande plus la valeur du taux de compression diminue
mais la qualité de l’image compte lui reste nette par rapport à l’image compressé de petite résolution. On
peut aussi dire que plus l’image est grande, plus sa qualité de reconstruction augmente.

Formule :

Taux de compression = (taille de l’image compressé * 100) / taille de l’image


initial

Vous aimerez peut-être aussi