SlideShare une entreprise Scribd logo
1  sur  24
Rapport :
Encadré par :
Monsieur Abdellah Adib
Réalisé par :
NACIRI ACHRAF
SARA EL GUENDOUZ
OMAR ABDERAHMAN
MOHAMED CHAOUKI
CHAIMAE RAISSI
La compression
d’image sans perte
avec RLE
1
Sommaire :
Remerciement :................................................................................................ 3
Introduction ................................................................................................... 4
Conception du mini-projet :................................................................................... 5
Objectif : .................................................................................................... 5
Déroulement du mini-projet :............................................................................... 5
La compression d’image ....................................................................................... 6
L’utilité de la compression ? ................................................................................ 6
Sur quoi se base la compression d’images ? ................................................................ 6
Compression physique ou logique ? ......................................................................... 6
Compression symétrique ou asymétrique ? ................................................................. 6
Les types de compression ? .................................................................................... 7
Algorithme de compression sans perte (Lossless) :........................................................ 7
Algorithme de compression avec perte (Lossy) : .......................................................... 7
Le codage de Huffman : ....................................................................................... 8
Principe du fonctionnement :............................................................................... 8
Illustration : ................................................................................................. 8
Le Run-lenght encoding ou RLE : .............................................................................. 9
Principe du fonctionnement :............................................................................... 9
Illustration : ................................................................................................. 9
Les formats d’images :........................................................................................ 10
Répartition des formats d’images :........................................................................ 10
Le Bitmap................................................................................................. 10
Le vectoriel............................................................................................... 10
Des exemples de formats d’images :......................................................................... 11
Format BMP : ............................................................................................... 11
En-tête du fichier :....................................................................................... 11
En-tête du bitmap........................................................................................ 12
Palette : .................................................................................................. 12
Format TIFF : ............................................................................................... 13
Structure du format TIFF :............................................................................... 13
Comparaison entre TIFF et BMP : .......................................................................... 15
Critères de performances d’algorithme de compression :................................................... 16
Proposition d’un nouveau format d’image << IRM >> : ...................................................... 17
Principe de IRM : ........................................................................................... 17
Entête de IRM : ............................................................................................. 17
Conception UML : Diagramme d’utilisation de l’interface graphique....................................... 18
Les logiciels utilisés : ......................................................................................... 19
Les fonctions principales du programme : ................................................................... 20
2
par_colone(): ............................................................................................... 20
par_line(): .................................................................................................. 20
Zigzag(): .................................................................................................... 20
colone_inv():................................................................................................ 20
line_inv():................................................................................................... 20
zigzag_inv(): ................................................................................................ 20
stct_image_V2() :........................................................................................... 20
codage_image():............................................................................................ 20
decodage_image_rgb(): .................................................................................... 20
Quelques simulations :........................................................................................ 21
Conclusion ..................................................................................................... 23
3
Remerciement :
Nous adressons nos remerciements aux
personnes qui nous ont aidé dans la réalisation
travail .
En premier lieu, nous tenons à remercier et
exprimer notre sincère gratitude à Mr.Abdellah
ADIB qui notre encadreur ,professeur et orienteur
pour ses efforts , ses aides , sa compréhension et sa
générosité inestimable et non-conditionné durant
notre formation et également dans ce mini-projet .
Nous tenons à remercier aussi Mr. Noureddine
MOUMKINE le chef de la filière pour sa disponibilité
son dirigement et son encadrement pendant notre
formation , ainsi que tous les enseignants de la
filière informatique réseau multimédia .
4
Introduction :
De nos jours , les images sont quasiment omniprésentes et prépondérantes avec leurs
diverses formats (BMP,TIFF,JPEG,PNG…), de même il en existe plusieurs applications de
traitement d’images dans de nombreux domaines ,comme l’animation, l’imagerie
médicale , la vision industrielle et la télécommunication où la taille de l’image ou son
flux sont très grands et par suite nécessitent un espace de stockage généralement
important ou une bande passante très élevée , mais le problème c’est que l’évolution de
la capacité de stockage ainsi que la bande passante n’est pas au même stade que celle de
la machine en général , ce qui mène à une déviation de niveaux .
La conciliation de ce retard nous conduira à penser aux techniques de compression
d’images qui nous permettra de réduire la taille d’une image et de l’augmenter à
nouveau selon notre besoin , ces techniques se fondent sur la redondance psycho-
visuelle et statique des données et sur les algorithmes de compression ou de codage
comme RLE (Run-Length-Encoding) ainsi que HUFFMAN , qui exploitent au maximum ces
redondances .
Les techniques de compression d’images peuvent se répartir en deux types , un
avec perte et un sans perte ,dans ce mini-projet on va s’intéresser aux techniques de
compression d’images sans perte par codage RLE , avec une étude explicite des deux
formats BMP et TIFF ainsi qu’une proposition d’un nouveau format d’image intitulé IRM où
on essayera de surmonter les limitations relevées sur les différents formats de
compression existants .
5
Conception du mini-projet :
Objectif :
Ce travail concerne la mise en œuvre de la compression et la décompression d’images en vraies
couleurs , binaires et niveaux de gris à l’aide de RLE , en réalisant une interface graphique facilitant
l’interaction entre l’utilisateur et le système faisant le traitement à l’aide des fonctions qu’on
développera nous même , en évaluant deux formats connus d’images BMP et TIFF ainsi qu’une
proposition d’un nouveau format de compression qu’on nommera ‘IRM’ .
Notre interface graphique permettra ainsi de faire une comparaison entre les trois extensions en
terme de poids du fichier .
Déroulement du mini-projet :
Ce mini-projet s’est déroulé en passant par plusieurs étapes:
 La documentation et l’étude théorique .
 L’analyse .
 La programmation des fonctions et des algorithmes .
 La réalisation de l’interface graphique .
 Rédaction du rapport .
6
La compression d’image
L’utilité de la compression ?
La propagation de l’informatique ou plutôt l’informatisation mondiale a conduit à
l’explosion quantitative de la donnée numérique qui mène à un réel défi : « Le stockage » , cette
croissance quantitative de la donnée a mené au besoin de la compression pour baisser la quantité
de stockage requise ou bien la bande passante nécessaire pour la transmission de ces données
afin le faire circuler via le net dans un temps raisonnable .
Sur quoi se base la compression d’images ?
La bonne compression se fonde sur la redondance statique la répétition et l’homogénéité
des données et la redondance psycho-visuelle limitation du système visuel humain , l’annulation
des basses-fréquences et l’effet de masquage , et le plus intéressant c’est l’algorithme de
compression qui doit bénéficier largement de ces redondances .
Compression physique ou logique ?
Une compression physique traite les données eux même en exploitant les redondances des
trains de bits , par contre la compression se base sur la substitution de la donnée par une autre
presque identique .
Compression symétrique ou asymétrique ?
Une compression symétrique signifie que la méthode de compression est identique à celle
de décompression (CODEC cohérant) , cela conduit à la même durée de traitement de la donnée
durant les deux opérations .
Une compression asymétrique est celle ou l’opération de compression est différente de la
décompression et par suite durée de traitement différente, souvent celle de décompression est
plus lente.
7
Les types de compression ?
L’enjeu grandiose des chercheurs en compression d’images et de trouver un moyen
efficace pour baisser la taille de l’image en limitant la dégradation due à la compression , on
peut répartir les algorithmes de compression en deux types : sans perte et avec perte .
Algorithme de compression sans perte (Lossless) :
Ce type ce caractérise par la reconstruction pure , l’image restitué est totalement
identique à l’originale ,il est basé sur la redondance statique , par contre son inconvénient c’est
son faible rapport de compression .
Exemple :
 RLE (Run-Length-Encodig)
 Huffman
 LZW ( Limpel-Ziv-Welch)
Algorithme de compression avec perte (Lossy) :
La reconstruction de ce type n’est pas parfaite , dont l’image restitué est juste très-
approximative mais pas identique à l’image originale , ce type est basé sur la quantification et la
redondance psycho-visuelle , et son avantage par rapport à celui sans perte c’est qu’il a un
rapport de compression élevé .
8
Le codage de Huffman :
Cette technique de compression sans perte a hérité du nom de son inventeur, David Huffman. Elle
repose sur le codage statistique d'un fichier octet par octet. Plus les octets apparaissent souvent, plus les
codes qui les présentent sont courts
Principe du fonctionnement :
La construction de l'arbre se fait en ordonnant dans un premier temps les symboles par
fréquence d'apparition.
Successivement les deux symboles de plus faible fréquence d'apparition sont retirés de la liste et
rattachés à un nœud dont le poids vaut la somme des fréquences des deux symboles. Le
symbole de plus faible poids est affecté à la branche 1, l'autre à la branche 0 et ainsi de suite en
considérant chaque nœud formé comme un nouveau symbole, jusqu'à obtenir un seul noeud
parent appelé racine.
Le code de chaque chaque symbole correspond à la suite des codes le long du chemin allant de ce
caractère à la racine. Ainsi, plus le symbole est "profond" dans l'arbre, plus le mot de code sera
long.
Illustration :
Par exemple, le mot "JULONOVO" compte 1 fois les lettres "J, U, L, N, V" et 3 fois la lettre
"O". Les lettres sont donc codées comme suit : J : 000 ; U : 001 ; L : 010 ; N : 011 ; V : 10 ; O : 11.
Le caractère "O" qui apparaît le plus souvent reçoit un code plus court que les autres.
9
Le Run-lenght encoding ou RLE :
Cette méthode de compression sans perte code les données en y recherchant des successions
d'octets identiques. Le RLE est utilisé pour compresser des images codées sur un faible nombre de
bits car, dans ce type d'image, il est fréquent de trouver des pixels contigus identiques. La
méthode RLE est utilisée pour la compression des images au format PCX, dans une version du
format BMP ainsi qu'au format JPEG.
Principe du fonctionnement :
L'algorithme du RLE parcourt les données et recherche les octets identiques qui se suivent.
Lorsqu'il trouve un même octet répété successivement, il crée une paire de données composée du
symboles suivi du nombre de répétitions.
Illustration :
La compression RLE est efficace pour compresser des données où les répétitions
d'éléments consécutifs sont nombreuses ce qui n'est pas toujours le cas. C'est pourquoi, lorsque le
nombre de répétition est trop petit, cette méthode va doubler la taille au lieu de la réduire.
10
Les formats d’images :
Répartition des formats d’images :
Les formats d'images sont répartis en deux grandes familles
Le Bitmap
 Extensions de fichiers : BMP, PCX, GIF, JPG , FPX , PCX , PCD , PNG , PSD , PSP et TIF
On va s’intéresser par la première famille : Le Bitmap.
 L'image est considérée comme une zone constituée de pixels
 Décrire l'image revient alors à préciser la couleur de chaque pixel
 Le fichier correspondant sera alors une liste de nombres binaires, correspondants aux codes
couleurs de chaque point, précédée par un code (header) décrivant la méthode de codage utilisée
 On peut en effet imaginer plusieurs façons de repérer les points
AVANTAGES
 Image de très haute définition, c'est le format réservé à la qualité photo
 Format regroupant le plus de standards et en circulation sur le web
INCONVENIENTS
 Les fichiers sont généralement lourds (mais pas toujours !)
 Leur agrandissement provoque un effet de mosaïque
 La création d'une image à la main est difficile et il est conseillé de passer par un
périphérique de numérisation : scanner, appareil photo-numérique... mais les retouches
sont délicates.
Le vectoriel
 Extensions de fichiers : WMF, EPS, CGM , CDR, CMX , DXF , FIF , PCT...
11
Des exemples de formats d’images :
Format BMP :
Le format BMP est un des formats les plus simples , développé conjointement par
Microsoft et IBM, ce qui explique qu'il soit particulièrement répandu sur les plates-formes
Windows et OS/2. Un fichier .BMP est un fichier bitmap, c'est-à-dire un fichier d'image graphique
stockant les pixels sous forme de tableau de points et gérant les couleurs soit en couleur vraie
soit grâce à une palette indexée. Le format BMP a été étudié de telle manière à obtenir un
bitmap indépendant du périphérique d affichage.
La structure d'un fichier bitmap est la suivante :
En-tête du fichier (en anglais file header)
En-tête du bitmap (en anglais bitmap information header, appelé aussi information
Header)
Palette (optionnellement)
Corps de l'image
En-tête du fichier :
L'entête du fichier fournit des informations sur le type de fichier (Bitmap), sa taille et
indique où commencent les informations concernant l'image à proprement parler.
L'entête est composé de quatre champs :
La signature (sur 2 octets), indiquant qu'il s'agit d'un fichier BMP à l'aide des deux caractères.
424D en hexadécimal, indique qu'il s'agit d'un Bitmap Windows.
La taille totale du fichier en octets (codée sur 4 octets)
Un champ réservé (sur 4 octets)
L'offset de l'image (sur 4 octets), en français décalage ou octets de bourrage
12
En-tête du bitmap
Palette :
La palette est optionnelle. Lorsqu'une palette est définie, elle contient successivement 4
octets pour chacune de ses entrées représentant :
La composante bleue (sur un octet)
La composante verte (sur un octet)
La composante rouge (sur un octet)
Un champ réservé (sur un octet)
La palette est donc une table de correspondance de type :
Valeur à afficher RVB
0 R=r0, B=b0, V=v0 + octet 00
…
255 R=r255, B=b255, V=v255 + octet 00
13
Format TIFF :
Le Tag(ged) Image File Format généralement abrégé TIFF est un format de
fichier pour image numérique. Il a été mis au point en 1987 par la société Aldus (appartenant
désormais à Adobe), et lu dans la très grande majorité des logiciels, ce qui en fait un standard de
fait .
Le format TIFF est un ancien format graphique, permettant de stocker des images
bitmap (raster) de taille importante (plus de 4 Go compressées), sans perdition de qualité et
indépendamment des plates formes ou des périphériques utilisés (Device-Independant Bitmap,
noté DIB).
Le format TIFF permet de stocker des images en noir et blanc, en couleurs réelles (True
color, jusqu'à 32 bits par pixels) ainsi que des images indexées, faisant usage d'une palette de
couleurs.
Structure du format TIFF :
Le fichier est une suite de blocs chaînés, d'une taille maximale de 232 octets (~2Go). Il contient une
en-tête minimale de 8 octets, (IFH = Image File Header) au début du fichier. L'ordre des autres blocs
est aléatoire et simplement garanti par le chaînage.
Toutes les adresses sont relatives au début du fichier, en octets (de 0 à N)
Les 2 premiers octets indiquent l'ordre des octets dans tous les champs suivants (ie. :
Intel=LittleEndian, Mac=BigEndian) :
Ensuite le chaînage est réalisé par les redirections successives :
14
Les Image File Directories (IFD) :
Chaque bloc chaîné (« Image File Directory » ou IFD) est structuré de la manière suivante :
 Chaque IFD contient 12n+6 Octets, n étant le nombre de tags
 Il référence une image (il peut y avoir plusieurs images dans un seul fichier TIFF)
 Les tags sont obligatoirement classés par ordre croissant
Les tags :
Chaque tag est structuré de la manière suivante :
L'identificateur indique la signification des données : hauteur, largeur, compression...
Le type indique la représentation informatique : chaîne de caractères, octets, entiers...
Si le nombre d'octets nécessaires au stockage est inférieur ou égal à 4, le dernier champ contient les
données. Sinon, c'est leur adresse.
Principaux types :
15
Identificateurs principaux :
Il s'agit des indicateurs imposés par la norme. Les valeurs laissées libres permettent de spécialiser le
format en ajoutant des métadonnées « customisées ».
Tags correspondant à la manière dont sont organisés les pixels :
 Le tag 277 indique le nombre de valeurs pour un pixel.
 Le tag 258 indique le nombre de bits de chaque valeur.
 Le tag 273 référence un tableau contenant les adresses du début de chaque bande.
 Le tag 278 indique combien chaque bande contient de lignes.
 Le tag 279 indique combien d'octets occupe chaque ligne.
 Le tag 284 indique si les valeurs d'un pixel sont consécutives, ou dans des plan séparés.
 Le stockage tuilé fonctionne de la même façon, mais sous forme de tableau (les tags 322 à 325
remplacent les tags 273,278 et 279).
Comparaison entre TIFF et BMP :
Formats Espaces couleur Compression Domaines
d'utilisation
BMP
(.bmp)
RGB, CIE L*a*b*,
CMYB, couleurs
Indexées, niveau de gris.
(2 à 16 millions couleurs)
a) Sans perte (LZW,
Huffman).
b) Avec perte (JPEG)
PAO, Infographie,
bureautique
Très flexible,
TIFF
(.tiff)
RGB, couleurs
Indexées, niveau de gris.
(16 millions couleurs)
Sans perte (RLE) Bureautique sous
Windows
Compression peu
efficace
16
Critères de performances d’algorithme de compression :
Pour mesurer les performances de la compression des images souvent on utilise le taux de
compression .celui-ci est une mesure de la performance d'un algorithme de compression de
données informatiques. Il est généralement exprimé en pourcentage et très important puisqu'il dépend
directement de la technique de compression.
Mais ce critère n’est pas suffisant pour évaluer un algorithme de compression, Il faut déterminer aussi la
qualité ou la distorsion de l’image reconstruite.
Deux techniques sont utilisées pour évaluer la distorsion : subjective et objective
 Les méthodes subjectives, nécessitent des tests psycho visuels de l'œil humain. Les tests sont réalisés
à plusieurs échelles avec des groupes de personnes.
Les méthodes objectives, s'agissant de définir des quantités permettant d'évaluer numériquement la
qualité de l'image reconstruite.
17
Proposition d’un nouveau format d’image << IRM >> :
Principe de IRM :
IRM (acronyme de informatique réseau multimédia)estune nouvelle
norme qui définit le format d'enregistrementet l'algorithme de codage et de décodage
pour une représentation numérique compressée d'une image fixe.
Sur IRM , Le processus de codage est basé sur l’envoi du symbole et son
occurrence après l’application de la compressionRLE, qui va être codersur 9 bits
(équivalent à 513 valeur de niveau de gris) dans le but de différencierle symbole et
son occurrence par la relation suivant : << 255+nombre d’occurrence>>,les valeurs
inférieures à 255 présentent les symboles et les valeurs supérieures à 255
présententle nombre d’occurrence.
le code avec des valeurs de pixels codées sur 9 bits ne peut jamais être
stocké dans un fichier, c’est pourquoi la norme IRM propose une transformation
du code en binaire et le deviser en 8 bits par 8 bits pour qu’on puisse le lire après la
conversion en décimal.
D’ailleurs la norme IRM propose un format qui optimise le traitement de
compressionprincipalement du coté poids de l’image par des degrés dépends de la
compositionde l’image, s’il contient des grands parties répétitives ou bien juste des
parties limités.
Entête de IRM :
18
Conception UML : Diagramme d’utilisation de l’interface graphique
L’utilisateur et le système sont les acteurs principaux qui peuvent interagir avec
cette interface de compression .
19
Les logiciels utilisés :
StarUML estun logicielde modélisation UML, cédé
comme opensource par son éditeur « Plastic Software
» , StarUML gère la plupart des diagrammes spécifiés
dans la norme UML 2.0.
On l’a utilisé afin de schématiser le diagramme d’utilisation de notre
interface graphique .
MATLAB (« matrix laboratory ») est un langage de
programmation de quatrième génération émulé par
un environnement de développement du même nom ; il
est utilisé à des fins de calcul numérique. Développépar
la société The MathWorks, MATLAB permetde
manipuler des matrices, d'afficherdes courbes et des
données,de mettre en œuvre des algorithmes,de créer
des interfaces utilisateurs
On l’a utilisé afin de créer notre interface graphique , ainsi que les
fonctions permettant le traitement inclus dans cette interface .
20
Les fonctions principales du programme :
par_colone():fonction transformant l’image en un vecteur , en la parcourant
verticalement du haut en bas.
par_line(): fonction transformant l’image en un vecteur , en la parcourant
horizontalement de la gauche à la droite .
Zigzag(): fonction transformant l’image en un vecteur , en la parcourant en
zigzag .
colone_inv(): fonction inverse de par_colone() .
line_inv(): fonction inverse de par_line() .
zigzag_inv(): fonction inverse de Zigzag() .
stct_image_V2() : fonction appliquant la compression sans perte par la méthode
RLE sur l’image tout en choisissant le type de parcours optimale .
codage_image(): fonction retournant le code , puis crée l’entête en précisant
l’extension, nombres de lignes ,nombres de colonnes, nombre de plans, type de
parcours, ainsi que l’enregistrement dans un fichier sous le format ‘.irm’ .
decodage_image_rgb():fonction décodant le code et les fichier avec
l’extension ‘.irm’.
21
Quelques simulations :
22
23
Conclusion :
Ce mini-projet nous a permet de toucher l’importance immense de
la compression d’image qui garantit plusieurs avantages dans le
domaine de traitement d’images , la transmission ainsi que le stockage .
Durant l’étude théorique on a pu bien différencier entre les
différents types de compression qu’on peut répartir en terme de perte ,
la symétrie de codec ou le transcodage des trains de bits , et de savoir
l’utilité des algorithmes de codage Huffman et RLE , et leurs
fonctionnements .
On s’est intéressé au type de compression sans perte en utilisant
l’algorithme RLE , qui s’appuie fortement sur la redondance et par suite
le type de parcours d’images qu’il soit vertical , horizontal ou en zigzag
présente un facteur principal dépendant de l’image qui pourra offrir des
meilleurs résultats en utilisant le parcours optimale pour l’image .
Après la réalisation de notre interface graphique et l’évaluation de
quelques simulations sur différentes types d’images on trouve les
résultats assez-satisfaisantes à ce qui concerne le format qu’on a
proposé par rapport aux autres formats TIFF et BMP .
Parmi les problèmes qu’on a rencontré durant le mini-projet ,
c’est qu’au début les membres de groupe ne se connaissaient pas ce qui
a entrainé des difficultés de communications mais par après ça était
réglé rapidement en unifiant nos efforts afin de présenter un travail
modeste et à la hauteur , et à ce qui concerne les obstacles techniques
c’est le long temps que prend le traitement ainsi que la non-flexibilité
de MATLAB dans la création de l’interface .

Contenu connexe

Tendances

Pfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEPfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEOussama Djerba
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Ilyas CHAOUA
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRouâa Ben Hammouda
 
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Projet de fin étude  ( LFIG : Conception et Développement d'une application W...Projet de fin étude  ( LFIG : Conception et Développement d'une application W...
Projet de fin étude ( LFIG : Conception et Développement d'une application W...Ramzi Noumairi
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Mohamed Aziz Chetoui
 
Développement et conception d'une application de générateur des QR Code Dynam...
Développement et conception d'une application de générateur des QR Code Dynam...Développement et conception d'une application de générateur des QR Code Dynam...
Développement et conception d'une application de générateur des QR Code Dynam...shili khadija
 
Réalisation d’une plateforme e-commerce de vente de prestations HTML dotée d...
Réalisation d’une plateforme e-commerce de vente de  prestations HTML dotée d...Réalisation d’une plateforme e-commerce de vente de  prestations HTML dotée d...
Réalisation d’une plateforme e-commerce de vente de prestations HTML dotée d...kadzaki
 
Conception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTSConception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTSFaissoilMkavavo
 
Rapport de stage développement informatique
Rapport de stage développement informatique Rapport de stage développement informatique
Rapport de stage développement informatique MehdiOuqas
 
Développement d'une application de gestion d'abonnement payant aux articles p...
Développement d'une application de gestion d'abonnement payant aux articles p...Développement d'une application de gestion d'abonnement payant aux articles p...
Développement d'une application de gestion d'abonnement payant aux articles p...Rodikumbi
 
RapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITRapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITLina Meddeb
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachAyoub Mkharbach
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementNassim Bahri
 
Plateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'étudesPlateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'étudesMajdi SAIBI
 
rapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFErapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFEDonia Hammami
 
Rapport restaurant le-roi
Rapport restaurant le-roiRapport restaurant le-roi
Rapport restaurant le-roiMarwa Bhouri
 
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...Madjid Meddah
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile Raoua Bennasr
 
Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Mohamed Boubaya
 

Tendances (20)

Pfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEPfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEE
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
 
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Projet de fin étude  ( LFIG : Conception et Développement d'une application W...Projet de fin étude  ( LFIG : Conception et Développement d'une application W...
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...
 
Développement et conception d'une application de générateur des QR Code Dynam...
Développement et conception d'une application de générateur des QR Code Dynam...Développement et conception d'une application de générateur des QR Code Dynam...
Développement et conception d'une application de générateur des QR Code Dynam...
 
Réalisation d’une plateforme e-commerce de vente de prestations HTML dotée d...
Réalisation d’une plateforme e-commerce de vente de  prestations HTML dotée d...Réalisation d’une plateforme e-commerce de vente de  prestations HTML dotée d...
Réalisation d’une plateforme e-commerce de vente de prestations HTML dotée d...
 
Conception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTSConception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTS
 
Rapport de stage développement informatique
Rapport de stage développement informatique Rapport de stage développement informatique
Rapport de stage développement informatique
 
Développement d'une application de gestion d'abonnement payant aux articles p...
Développement d'une application de gestion d'abonnement payant aux articles p...Développement d'une application de gestion d'abonnement payant aux articles p...
Développement d'une application de gestion d'abonnement payant aux articles p...
 
RapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITRapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRIT
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbach
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignement
 
Plateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'étudesPlateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'études
 
rapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFErapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFE
 
Rapport restaurant le-roi
Rapport restaurant le-roiRapport restaurant le-roi
Rapport restaurant le-roi
 
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...
 

Similaire à Rapport

Etude bibliographique sur les algorithmes de compression sans perte
Etude bibliographique sur les algorithmes de compression sans perteEtude bibliographique sur les algorithmes de compression sans perte
Etude bibliographique sur les algorithmes de compression sans perteIbtihejHamdi
 
Rapport Projet Application Web De Domotique Arduino - Liotard Roulleau
Rapport Projet Application Web De Domotique Arduino - Liotard RoulleauRapport Projet Application Web De Domotique Arduino - Liotard Roulleau
Rapport Projet Application Web De Domotique Arduino - Liotard RoulleauNicolas Roulleau
 
Initiation au couplage réalité augmentée (RA) - système d’information géograp...
Initiation au couplage réalité augmentée (RA) - système d’information géograp...Initiation au couplage réalité augmentée (RA) - système d’information géograp...
Initiation au couplage réalité augmentée (RA) - système d’information géograp...Guillaume MOCQUET
 
PFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdfPFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdfBacemHlabba
 
Programmation des pic_en_c_part1
Programmation des pic_en_c_part1Programmation des pic_en_c_part1
Programmation des pic_en_c_part1oussamada
 
Projet réalisé par ameny Khedhira & Arij Mekki
Projet réalisé par  ameny Khedhira & Arij MekkiProjet réalisé par  ameny Khedhira & Arij Mekki
Projet réalisé par ameny Khedhira & Arij MekkiAmeny Khedhira
 
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...Hadjer BENHADJ DJILALI
 
Impl´ementation d’une copule mutilvari´ee.pdf
Impl´ementation d’une copule mutilvari´ee.pdfImpl´ementation d’une copule mutilvari´ee.pdf
Impl´ementation d’une copule mutilvari´ee.pdfNuioKila
 
Projet de Fin d'Etude FSTT
Projet de Fin d'Etude FSTTProjet de Fin d'Etude FSTT
Projet de Fin d'Etude FSTTWissalBaghouani
 
Autocad 3D guide de référence.pdf
Autocad 3D guide de référence.pdfAutocad 3D guide de référence.pdf
Autocad 3D guide de référence.pdfJosLuizLunaXavier
 
Lavorare con java 6
Lavorare con java 6Lavorare con java 6
Lavorare con java 6Pi Libri
 
Android VoIP/SIP Softphone
Android VoIP/SIP SoftphoneAndroid VoIP/SIP Softphone
Android VoIP/SIP SoftphoneHamza Lazaar
 
Gestion des actifs applicatifs
Gestion des actifs applicatifsGestion des actifs applicatifs
Gestion des actifs applicatifsSafaAballagh
 
Livre blanc de J2ME
Livre blanc de J2MELivre blanc de J2ME
Livre blanc de J2MEBruno Delb
 
Conception avec pic
Conception avec pic Conception avec pic
Conception avec pic nawzat
 

Similaire à Rapport (20)

Etude bibliographique sur les algorithmes de compression sans perte
Etude bibliographique sur les algorithmes de compression sans perteEtude bibliographique sur les algorithmes de compression sans perte
Etude bibliographique sur les algorithmes de compression sans perte
 
Adobe Photoshop CS5
Adobe Photoshop CS5Adobe Photoshop CS5
Adobe Photoshop CS5
 
Rapport Projet Application Web De Domotique Arduino - Liotard Roulleau
Rapport Projet Application Web De Domotique Arduino - Liotard RoulleauRapport Projet Application Web De Domotique Arduino - Liotard Roulleau
Rapport Projet Application Web De Domotique Arduino - Liotard Roulleau
 
Initiation au couplage réalité augmentée (RA) - système d’information géograp...
Initiation au couplage réalité augmentée (RA) - système d’information géograp...Initiation au couplage réalité augmentée (RA) - système d’information géograp...
Initiation au couplage réalité augmentée (RA) - système d’information géograp...
 
PFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdfPFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdf
 
Programmation des pic_en_c_part1
Programmation des pic_en_c_part1Programmation des pic_en_c_part1
Programmation des pic_en_c_part1
 
Projet réalisé par ameny Khedhira & Arij Mekki
Projet réalisé par  ameny Khedhira & Arij MekkiProjet réalisé par  ameny Khedhira & Arij Mekki
Projet réalisé par ameny Khedhira & Arij Mekki
 
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
 
Impl´ementation d’une copule mutilvari´ee.pdf
Impl´ementation d’une copule mutilvari´ee.pdfImpl´ementation d’une copule mutilvari´ee.pdf
Impl´ementation d’une copule mutilvari´ee.pdf
 
ZFS et BTRFS
ZFS et BTRFSZFS et BTRFS
ZFS et BTRFS
 
Poly
PolyPoly
Poly
 
Projet de Fin d'Etude FSTT
Projet de Fin d'Etude FSTTProjet de Fin d'Etude FSTT
Projet de Fin d'Etude FSTT
 
Autocad 3D guide de référence.pdf
Autocad 3D guide de référence.pdfAutocad 3D guide de référence.pdf
Autocad 3D guide de référence.pdf
 
Lavorare con java 6
Lavorare con java 6Lavorare con java 6
Lavorare con java 6
 
Android VoIP/SIP Softphone
Android VoIP/SIP SoftphoneAndroid VoIP/SIP Softphone
Android VoIP/SIP Softphone
 
Gestion des actifs applicatifs
Gestion des actifs applicatifsGestion des actifs applicatifs
Gestion des actifs applicatifs
 
Livre blanc de J2ME
Livre blanc de J2MELivre blanc de J2ME
Livre blanc de J2ME
 
Atelier IDS SNORT
Atelier IDS SNORTAtelier IDS SNORT
Atelier IDS SNORT
 
Protection-dun-réseau-dentreprise-via-un-firewall.pdf
Protection-dun-réseau-dentreprise-via-un-firewall.pdfProtection-dun-réseau-dentreprise-via-un-firewall.pdf
Protection-dun-réseau-dentreprise-via-un-firewall.pdf
 
Conception avec pic
Conception avec pic Conception avec pic
Conception avec pic
 

Rapport

  • 1. Rapport : Encadré par : Monsieur Abdellah Adib Réalisé par : NACIRI ACHRAF SARA EL GUENDOUZ OMAR ABDERAHMAN MOHAMED CHAOUKI CHAIMAE RAISSI La compression d’image sans perte avec RLE
  • 2. 1 Sommaire : Remerciement :................................................................................................ 3 Introduction ................................................................................................... 4 Conception du mini-projet :................................................................................... 5 Objectif : .................................................................................................... 5 Déroulement du mini-projet :............................................................................... 5 La compression d’image ....................................................................................... 6 L’utilité de la compression ? ................................................................................ 6 Sur quoi se base la compression d’images ? ................................................................ 6 Compression physique ou logique ? ......................................................................... 6 Compression symétrique ou asymétrique ? ................................................................. 6 Les types de compression ? .................................................................................... 7 Algorithme de compression sans perte (Lossless) :........................................................ 7 Algorithme de compression avec perte (Lossy) : .......................................................... 7 Le codage de Huffman : ....................................................................................... 8 Principe du fonctionnement :............................................................................... 8 Illustration : ................................................................................................. 8 Le Run-lenght encoding ou RLE : .............................................................................. 9 Principe du fonctionnement :............................................................................... 9 Illustration : ................................................................................................. 9 Les formats d’images :........................................................................................ 10 Répartition des formats d’images :........................................................................ 10 Le Bitmap................................................................................................. 10 Le vectoriel............................................................................................... 10 Des exemples de formats d’images :......................................................................... 11 Format BMP : ............................................................................................... 11 En-tête du fichier :....................................................................................... 11 En-tête du bitmap........................................................................................ 12 Palette : .................................................................................................. 12 Format TIFF : ............................................................................................... 13 Structure du format TIFF :............................................................................... 13 Comparaison entre TIFF et BMP : .......................................................................... 15 Critères de performances d’algorithme de compression :................................................... 16 Proposition d’un nouveau format d’image << IRM >> : ...................................................... 17 Principe de IRM : ........................................................................................... 17 Entête de IRM : ............................................................................................. 17 Conception UML : Diagramme d’utilisation de l’interface graphique....................................... 18 Les logiciels utilisés : ......................................................................................... 19 Les fonctions principales du programme : ................................................................... 20
  • 3. 2 par_colone(): ............................................................................................... 20 par_line(): .................................................................................................. 20 Zigzag(): .................................................................................................... 20 colone_inv():................................................................................................ 20 line_inv():................................................................................................... 20 zigzag_inv(): ................................................................................................ 20 stct_image_V2() :........................................................................................... 20 codage_image():............................................................................................ 20 decodage_image_rgb(): .................................................................................... 20 Quelques simulations :........................................................................................ 21 Conclusion ..................................................................................................... 23
  • 4. 3 Remerciement : Nous adressons nos remerciements aux personnes qui nous ont aidé dans la réalisation travail . En premier lieu, nous tenons à remercier et exprimer notre sincère gratitude à Mr.Abdellah ADIB qui notre encadreur ,professeur et orienteur pour ses efforts , ses aides , sa compréhension et sa générosité inestimable et non-conditionné durant notre formation et également dans ce mini-projet . Nous tenons à remercier aussi Mr. Noureddine MOUMKINE le chef de la filière pour sa disponibilité son dirigement et son encadrement pendant notre formation , ainsi que tous les enseignants de la filière informatique réseau multimédia .
  • 5. 4 Introduction : De nos jours , les images sont quasiment omniprésentes et prépondérantes avec leurs diverses formats (BMP,TIFF,JPEG,PNG…), de même il en existe plusieurs applications de traitement d’images dans de nombreux domaines ,comme l’animation, l’imagerie médicale , la vision industrielle et la télécommunication où la taille de l’image ou son flux sont très grands et par suite nécessitent un espace de stockage généralement important ou une bande passante très élevée , mais le problème c’est que l’évolution de la capacité de stockage ainsi que la bande passante n’est pas au même stade que celle de la machine en général , ce qui mène à une déviation de niveaux . La conciliation de ce retard nous conduira à penser aux techniques de compression d’images qui nous permettra de réduire la taille d’une image et de l’augmenter à nouveau selon notre besoin , ces techniques se fondent sur la redondance psycho- visuelle et statique des données et sur les algorithmes de compression ou de codage comme RLE (Run-Length-Encoding) ainsi que HUFFMAN , qui exploitent au maximum ces redondances . Les techniques de compression d’images peuvent se répartir en deux types , un avec perte et un sans perte ,dans ce mini-projet on va s’intéresser aux techniques de compression d’images sans perte par codage RLE , avec une étude explicite des deux formats BMP et TIFF ainsi qu’une proposition d’un nouveau format d’image intitulé IRM où on essayera de surmonter les limitations relevées sur les différents formats de compression existants .
  • 6. 5 Conception du mini-projet : Objectif : Ce travail concerne la mise en œuvre de la compression et la décompression d’images en vraies couleurs , binaires et niveaux de gris à l’aide de RLE , en réalisant une interface graphique facilitant l’interaction entre l’utilisateur et le système faisant le traitement à l’aide des fonctions qu’on développera nous même , en évaluant deux formats connus d’images BMP et TIFF ainsi qu’une proposition d’un nouveau format de compression qu’on nommera ‘IRM’ . Notre interface graphique permettra ainsi de faire une comparaison entre les trois extensions en terme de poids du fichier . Déroulement du mini-projet : Ce mini-projet s’est déroulé en passant par plusieurs étapes:  La documentation et l’étude théorique .  L’analyse .  La programmation des fonctions et des algorithmes .  La réalisation de l’interface graphique .  Rédaction du rapport .
  • 7. 6 La compression d’image L’utilité de la compression ? La propagation de l’informatique ou plutôt l’informatisation mondiale a conduit à l’explosion quantitative de la donnée numérique qui mène à un réel défi : « Le stockage » , cette croissance quantitative de la donnée a mené au besoin de la compression pour baisser la quantité de stockage requise ou bien la bande passante nécessaire pour la transmission de ces données afin le faire circuler via le net dans un temps raisonnable . Sur quoi se base la compression d’images ? La bonne compression se fonde sur la redondance statique la répétition et l’homogénéité des données et la redondance psycho-visuelle limitation du système visuel humain , l’annulation des basses-fréquences et l’effet de masquage , et le plus intéressant c’est l’algorithme de compression qui doit bénéficier largement de ces redondances . Compression physique ou logique ? Une compression physique traite les données eux même en exploitant les redondances des trains de bits , par contre la compression se base sur la substitution de la donnée par une autre presque identique . Compression symétrique ou asymétrique ? Une compression symétrique signifie que la méthode de compression est identique à celle de décompression (CODEC cohérant) , cela conduit à la même durée de traitement de la donnée durant les deux opérations . Une compression asymétrique est celle ou l’opération de compression est différente de la décompression et par suite durée de traitement différente, souvent celle de décompression est plus lente.
  • 8. 7 Les types de compression ? L’enjeu grandiose des chercheurs en compression d’images et de trouver un moyen efficace pour baisser la taille de l’image en limitant la dégradation due à la compression , on peut répartir les algorithmes de compression en deux types : sans perte et avec perte . Algorithme de compression sans perte (Lossless) : Ce type ce caractérise par la reconstruction pure , l’image restitué est totalement identique à l’originale ,il est basé sur la redondance statique , par contre son inconvénient c’est son faible rapport de compression . Exemple :  RLE (Run-Length-Encodig)  Huffman  LZW ( Limpel-Ziv-Welch) Algorithme de compression avec perte (Lossy) : La reconstruction de ce type n’est pas parfaite , dont l’image restitué est juste très- approximative mais pas identique à l’image originale , ce type est basé sur la quantification et la redondance psycho-visuelle , et son avantage par rapport à celui sans perte c’est qu’il a un rapport de compression élevé .
  • 9. 8 Le codage de Huffman : Cette technique de compression sans perte a hérité du nom de son inventeur, David Huffman. Elle repose sur le codage statistique d'un fichier octet par octet. Plus les octets apparaissent souvent, plus les codes qui les présentent sont courts Principe du fonctionnement : La construction de l'arbre se fait en ordonnant dans un premier temps les symboles par fréquence d'apparition. Successivement les deux symboles de plus faible fréquence d'apparition sont retirés de la liste et rattachés à un nœud dont le poids vaut la somme des fréquences des deux symboles. Le symbole de plus faible poids est affecté à la branche 1, l'autre à la branche 0 et ainsi de suite en considérant chaque nœud formé comme un nouveau symbole, jusqu'à obtenir un seul noeud parent appelé racine. Le code de chaque chaque symbole correspond à la suite des codes le long du chemin allant de ce caractère à la racine. Ainsi, plus le symbole est "profond" dans l'arbre, plus le mot de code sera long. Illustration : Par exemple, le mot "JULONOVO" compte 1 fois les lettres "J, U, L, N, V" et 3 fois la lettre "O". Les lettres sont donc codées comme suit : J : 000 ; U : 001 ; L : 010 ; N : 011 ; V : 10 ; O : 11. Le caractère "O" qui apparaît le plus souvent reçoit un code plus court que les autres.
  • 10. 9 Le Run-lenght encoding ou RLE : Cette méthode de compression sans perte code les données en y recherchant des successions d'octets identiques. Le RLE est utilisé pour compresser des images codées sur un faible nombre de bits car, dans ce type d'image, il est fréquent de trouver des pixels contigus identiques. La méthode RLE est utilisée pour la compression des images au format PCX, dans une version du format BMP ainsi qu'au format JPEG. Principe du fonctionnement : L'algorithme du RLE parcourt les données et recherche les octets identiques qui se suivent. Lorsqu'il trouve un même octet répété successivement, il crée une paire de données composée du symboles suivi du nombre de répétitions. Illustration : La compression RLE est efficace pour compresser des données où les répétitions d'éléments consécutifs sont nombreuses ce qui n'est pas toujours le cas. C'est pourquoi, lorsque le nombre de répétition est trop petit, cette méthode va doubler la taille au lieu de la réduire.
  • 11. 10 Les formats d’images : Répartition des formats d’images : Les formats d'images sont répartis en deux grandes familles Le Bitmap  Extensions de fichiers : BMP, PCX, GIF, JPG , FPX , PCX , PCD , PNG , PSD , PSP et TIF On va s’intéresser par la première famille : Le Bitmap.  L'image est considérée comme une zone constituée de pixels  Décrire l'image revient alors à préciser la couleur de chaque pixel  Le fichier correspondant sera alors une liste de nombres binaires, correspondants aux codes couleurs de chaque point, précédée par un code (header) décrivant la méthode de codage utilisée  On peut en effet imaginer plusieurs façons de repérer les points AVANTAGES  Image de très haute définition, c'est le format réservé à la qualité photo  Format regroupant le plus de standards et en circulation sur le web INCONVENIENTS  Les fichiers sont généralement lourds (mais pas toujours !)  Leur agrandissement provoque un effet de mosaïque  La création d'une image à la main est difficile et il est conseillé de passer par un périphérique de numérisation : scanner, appareil photo-numérique... mais les retouches sont délicates. Le vectoriel  Extensions de fichiers : WMF, EPS, CGM , CDR, CMX , DXF , FIF , PCT...
  • 12. 11 Des exemples de formats d’images : Format BMP : Le format BMP est un des formats les plus simples , développé conjointement par Microsoft et IBM, ce qui explique qu'il soit particulièrement répandu sur les plates-formes Windows et OS/2. Un fichier .BMP est un fichier bitmap, c'est-à-dire un fichier d'image graphique stockant les pixels sous forme de tableau de points et gérant les couleurs soit en couleur vraie soit grâce à une palette indexée. Le format BMP a été étudié de telle manière à obtenir un bitmap indépendant du périphérique d affichage. La structure d'un fichier bitmap est la suivante : En-tête du fichier (en anglais file header) En-tête du bitmap (en anglais bitmap information header, appelé aussi information Header) Palette (optionnellement) Corps de l'image En-tête du fichier : L'entête du fichier fournit des informations sur le type de fichier (Bitmap), sa taille et indique où commencent les informations concernant l'image à proprement parler. L'entête est composé de quatre champs : La signature (sur 2 octets), indiquant qu'il s'agit d'un fichier BMP à l'aide des deux caractères. 424D en hexadécimal, indique qu'il s'agit d'un Bitmap Windows. La taille totale du fichier en octets (codée sur 4 octets) Un champ réservé (sur 4 octets) L'offset de l'image (sur 4 octets), en français décalage ou octets de bourrage
  • 13. 12 En-tête du bitmap Palette : La palette est optionnelle. Lorsqu'une palette est définie, elle contient successivement 4 octets pour chacune de ses entrées représentant : La composante bleue (sur un octet) La composante verte (sur un octet) La composante rouge (sur un octet) Un champ réservé (sur un octet) La palette est donc une table de correspondance de type : Valeur à afficher RVB 0 R=r0, B=b0, V=v0 + octet 00 … 255 R=r255, B=b255, V=v255 + octet 00
  • 14. 13 Format TIFF : Le Tag(ged) Image File Format généralement abrégé TIFF est un format de fichier pour image numérique. Il a été mis au point en 1987 par la société Aldus (appartenant désormais à Adobe), et lu dans la très grande majorité des logiciels, ce qui en fait un standard de fait . Le format TIFF est un ancien format graphique, permettant de stocker des images bitmap (raster) de taille importante (plus de 4 Go compressées), sans perdition de qualité et indépendamment des plates formes ou des périphériques utilisés (Device-Independant Bitmap, noté DIB). Le format TIFF permet de stocker des images en noir et blanc, en couleurs réelles (True color, jusqu'à 32 bits par pixels) ainsi que des images indexées, faisant usage d'une palette de couleurs. Structure du format TIFF : Le fichier est une suite de blocs chaînés, d'une taille maximale de 232 octets (~2Go). Il contient une en-tête minimale de 8 octets, (IFH = Image File Header) au début du fichier. L'ordre des autres blocs est aléatoire et simplement garanti par le chaînage. Toutes les adresses sont relatives au début du fichier, en octets (de 0 à N) Les 2 premiers octets indiquent l'ordre des octets dans tous les champs suivants (ie. : Intel=LittleEndian, Mac=BigEndian) : Ensuite le chaînage est réalisé par les redirections successives :
  • 15. 14 Les Image File Directories (IFD) : Chaque bloc chaîné (« Image File Directory » ou IFD) est structuré de la manière suivante :  Chaque IFD contient 12n+6 Octets, n étant le nombre de tags  Il référence une image (il peut y avoir plusieurs images dans un seul fichier TIFF)  Les tags sont obligatoirement classés par ordre croissant Les tags : Chaque tag est structuré de la manière suivante : L'identificateur indique la signification des données : hauteur, largeur, compression... Le type indique la représentation informatique : chaîne de caractères, octets, entiers... Si le nombre d'octets nécessaires au stockage est inférieur ou égal à 4, le dernier champ contient les données. Sinon, c'est leur adresse. Principaux types :
  • 16. 15 Identificateurs principaux : Il s'agit des indicateurs imposés par la norme. Les valeurs laissées libres permettent de spécialiser le format en ajoutant des métadonnées « customisées ». Tags correspondant à la manière dont sont organisés les pixels :  Le tag 277 indique le nombre de valeurs pour un pixel.  Le tag 258 indique le nombre de bits de chaque valeur.  Le tag 273 référence un tableau contenant les adresses du début de chaque bande.  Le tag 278 indique combien chaque bande contient de lignes.  Le tag 279 indique combien d'octets occupe chaque ligne.  Le tag 284 indique si les valeurs d'un pixel sont consécutives, ou dans des plan séparés.  Le stockage tuilé fonctionne de la même façon, mais sous forme de tableau (les tags 322 à 325 remplacent les tags 273,278 et 279). Comparaison entre TIFF et BMP : Formats Espaces couleur Compression Domaines d'utilisation BMP (.bmp) RGB, CIE L*a*b*, CMYB, couleurs Indexées, niveau de gris. (2 à 16 millions couleurs) a) Sans perte (LZW, Huffman). b) Avec perte (JPEG) PAO, Infographie, bureautique Très flexible, TIFF (.tiff) RGB, couleurs Indexées, niveau de gris. (16 millions couleurs) Sans perte (RLE) Bureautique sous Windows Compression peu efficace
  • 17. 16 Critères de performances d’algorithme de compression : Pour mesurer les performances de la compression des images souvent on utilise le taux de compression .celui-ci est une mesure de la performance d'un algorithme de compression de données informatiques. Il est généralement exprimé en pourcentage et très important puisqu'il dépend directement de la technique de compression. Mais ce critère n’est pas suffisant pour évaluer un algorithme de compression, Il faut déterminer aussi la qualité ou la distorsion de l’image reconstruite. Deux techniques sont utilisées pour évaluer la distorsion : subjective et objective  Les méthodes subjectives, nécessitent des tests psycho visuels de l'œil humain. Les tests sont réalisés à plusieurs échelles avec des groupes de personnes. Les méthodes objectives, s'agissant de définir des quantités permettant d'évaluer numériquement la qualité de l'image reconstruite.
  • 18. 17 Proposition d’un nouveau format d’image << IRM >> : Principe de IRM : IRM (acronyme de informatique réseau multimédia)estune nouvelle norme qui définit le format d'enregistrementet l'algorithme de codage et de décodage pour une représentation numérique compressée d'une image fixe. Sur IRM , Le processus de codage est basé sur l’envoi du symbole et son occurrence après l’application de la compressionRLE, qui va être codersur 9 bits (équivalent à 513 valeur de niveau de gris) dans le but de différencierle symbole et son occurrence par la relation suivant : << 255+nombre d’occurrence>>,les valeurs inférieures à 255 présentent les symboles et les valeurs supérieures à 255 présententle nombre d’occurrence. le code avec des valeurs de pixels codées sur 9 bits ne peut jamais être stocké dans un fichier, c’est pourquoi la norme IRM propose une transformation du code en binaire et le deviser en 8 bits par 8 bits pour qu’on puisse le lire après la conversion en décimal. D’ailleurs la norme IRM propose un format qui optimise le traitement de compressionprincipalement du coté poids de l’image par des degrés dépends de la compositionde l’image, s’il contient des grands parties répétitives ou bien juste des parties limités. Entête de IRM :
  • 19. 18 Conception UML : Diagramme d’utilisation de l’interface graphique L’utilisateur et le système sont les acteurs principaux qui peuvent interagir avec cette interface de compression .
  • 20. 19 Les logiciels utilisés : StarUML estun logicielde modélisation UML, cédé comme opensource par son éditeur « Plastic Software » , StarUML gère la plupart des diagrammes spécifiés dans la norme UML 2.0. On l’a utilisé afin de schématiser le diagramme d’utilisation de notre interface graphique . MATLAB (« matrix laboratory ») est un langage de programmation de quatrième génération émulé par un environnement de développement du même nom ; il est utilisé à des fins de calcul numérique. Développépar la société The MathWorks, MATLAB permetde manipuler des matrices, d'afficherdes courbes et des données,de mettre en œuvre des algorithmes,de créer des interfaces utilisateurs On l’a utilisé afin de créer notre interface graphique , ainsi que les fonctions permettant le traitement inclus dans cette interface .
  • 21. 20 Les fonctions principales du programme : par_colone():fonction transformant l’image en un vecteur , en la parcourant verticalement du haut en bas. par_line(): fonction transformant l’image en un vecteur , en la parcourant horizontalement de la gauche à la droite . Zigzag(): fonction transformant l’image en un vecteur , en la parcourant en zigzag . colone_inv(): fonction inverse de par_colone() . line_inv(): fonction inverse de par_line() . zigzag_inv(): fonction inverse de Zigzag() . stct_image_V2() : fonction appliquant la compression sans perte par la méthode RLE sur l’image tout en choisissant le type de parcours optimale . codage_image(): fonction retournant le code , puis crée l’entête en précisant l’extension, nombres de lignes ,nombres de colonnes, nombre de plans, type de parcours, ainsi que l’enregistrement dans un fichier sous le format ‘.irm’ . decodage_image_rgb():fonction décodant le code et les fichier avec l’extension ‘.irm’.
  • 23. 22
  • 24. 23 Conclusion : Ce mini-projet nous a permet de toucher l’importance immense de la compression d’image qui garantit plusieurs avantages dans le domaine de traitement d’images , la transmission ainsi que le stockage . Durant l’étude théorique on a pu bien différencier entre les différents types de compression qu’on peut répartir en terme de perte , la symétrie de codec ou le transcodage des trains de bits , et de savoir l’utilité des algorithmes de codage Huffman et RLE , et leurs fonctionnements . On s’est intéressé au type de compression sans perte en utilisant l’algorithme RLE , qui s’appuie fortement sur la redondance et par suite le type de parcours d’images qu’il soit vertical , horizontal ou en zigzag présente un facteur principal dépendant de l’image qui pourra offrir des meilleurs résultats en utilisant le parcours optimale pour l’image . Après la réalisation de notre interface graphique et l’évaluation de quelques simulations sur différentes types d’images on trouve les résultats assez-satisfaisantes à ce qui concerne le format qu’on a proposé par rapport aux autres formats TIFF et BMP . Parmi les problèmes qu’on a rencontré durant le mini-projet , c’est qu’au début les membres de groupe ne se connaissaient pas ce qui a entrainé des difficultés de communications mais par après ça était réglé rapidement en unifiant nos efforts afin de présenter un travail modeste et à la hauteur , et à ce qui concerne les obstacles techniques c’est le long temps que prend le traitement ainsi que la non-flexibilité de MATLAB dans la création de l’interface .