Outils pour utilisateurs

Outils du site


les_exposes:compression

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
les_exposes:compression [26/10/2016 15:43]
rozec
les_exposes:compression [30/10/2016 15:45] (Version actuelle)
rozec
Ligne 1: Ligne 1:
-''​simon rozec''​ 
  
 ====== Comment fonctionne un logiciel de compression de données ====== ====== Comment fonctionne un logiciel de compression de données ======
Ligne 28: Ligne 27:
 === RLE (run-length encoding) === === RLE (run-length encoding) ===
  
-le codage RLE consiste à remplacer une suite de bits identiques par le nombre de répétitions suivi de la suite répétée ​:+le codage RLE consiste à remplacer une suite de bits identiques par le nombre de répétitions suivi de la suite répétée.
  
 //​exemple:// ​ //​exemple:// ​
Ligne 41: Ligne 40:
 Nous avons donc bien réduit la taille de la suite initiale. Nous avons donc bien réduit la taille de la suite initiale.
  
 +//​Cependant//,​ dans le cas ou la suite aurait une forme ''​ ABAB '',​ la suite finale serait ''​ 1A1B1A1B''​ ce qui est 2 fois plus long.
 +
 +Cet algorithme sera donc plus adapté à des **images bitmap** possèdant **peu de couleurs différentes** qu'à des fichiers contenant du texte car la probabilité de trouver des suites de bits identiques sera alors plus élevée.
 +
 +=== Le codage de Huffman ===
 +
 +Cet algorithme consiste à remplacer dans un fichier, chaque octet par un code qui lui correspond, tout en attribuant un code plus court aux octets apparaissant plus régulièrement.
 +
 +Pour définir le code d'un octet, on utilise un arbre.
 +
 +//​exemple:// ​
 +
 +nous avons la suite d'​octets suivante (sous forme de chaîne de caracètres pour simplifier la compréhension):​ ''​ ABRACADABRA ''​. En considérant que chaque caractère prends 8bits en mémoire, on a une chaîne de 88bits.
 +
 +On compte alors le nombre d'​apparitions de chaque caractère:
 +
 +''​
 +A:5, 
 +B:2,
 +R:2, 
 +C:1, 
 +D:1 
 +''​
 +
 +L'​arbre correspondant à cette chaîne de caractères sera le suivant: ​
 +
 +{{:​les_exposes:​huffman_abracadabra.png?​nolink&​200 |}}
 +
 +(Les chiffres en rouge correspondent au nombre d'​occurences de chaque caractère )
 +
 +Partant du haut et en lisant les chiffres en vert, on peut alors déterminer le code correspondant à chaque caractère.
 +
 +''​
 +A:1, 
 +R:01, 
 +B:​001, ​
 +C:​0000, ​
 +D:0001
 +''​
 +
 +On a donc bien un code plus petit sur les caractères apparaîssant le plus dans la chaîne. ​
 +
 +La chaîne, une fois compressée sera donc écrite de cette manière : ''​ 1 001 01 1 0000 1 0001 1 001 01 1 ''​ ce qui donne une taille de 23bits.
 +
 +La chaîne compressée est donc bien plus courte que l'​originale.
 +
 +Le problème de cet algorithme est qu'il faut, pour pouvoir décompresser les donnée, écrire la table des correspondances caractère-code au début du fichier, qui peut être volumineuse.
 +
 +
 +
 +===== La compression avec pertes =====
 +
 +Dans le cas d'une compression avec pertes, le nombre d'​informations est réduit. Pour éviter que cette dégradation ne soit perçue, on se base ici sur les caractéristiques des systèmes visuel et auditif humains.
 +
 +Les algorithmes de compression avec pertes ne peuvent pas être utilisés pour compresser du texte au risque de le rendre illisible.
 +
 +Dans le cas d'une image, on pourra procèder à un sous-échantillonnage:​ l'œil perçevant plus la luminosité que les couleurs, il sera possible de supprimer une grande partie des informations dédiées aux couleurs dans l'​image sans que le résultat le soit visible.
 +
 +Dans le cas d'un fichier audio, on pourra par exemple, supprimer les fréquences jouées avec une trop faible intensité sonore pour être au dessus du seuil d'​audibilité en présence d'un autre son masquant.
 +
 +Il existe d'​autres algorithmes de compression avec pertes plus complexes comme par exemple, la compression par ondelettes qui consiste à décomposer une image en un ensemble d'​autres images de plus faible résolution(très efficace sur les images), ou encore, la transformée en cosinus discrète.
  
  
Ligne 50: Ligne 110:
 [[https://​fr.wikipedia.org/​wiki/​Compression_de_donn%C3%A9es|Wikipédia - Compression de données]] [[https://​fr.wikipedia.org/​wiki/​Compression_de_donn%C3%A9es|Wikipédia - Compression de données]]
  
 +[[http://​www.ulb.ac.be/​cours/​acohen/​travaux_2006_infodoc/​CompressionNumerique/​AvecPertes.htm|La compression numérique]]
  
  
  
les_exposes/compression.1477489407.txt.gz · Dernière modification: 26/10/2016 15:43 par rozec