Download - Cours sur les systèmes de compression
Par FOUSSE Yannick & KOEHL Guillaume
Les types de compression◦ Compression sans perte◦ Compression presque sans perte◦ Compression avec pertes
Les codages◦ Codage par répétition◦ Codage par dictionnaire◦ Codage par modélisation de contexte
Les différents formats de compression
Autant d’informations avant qu’après la compression
Appelé également « compactage »
Principe : Réécrire l’information de manière plus concise
S’applique aux données « perceptibles »
Perte de données irréversible
Divisé en 3 familles◦ Compression par prédiction◦ Compression par transformation◦ Compression fractale
Sous ensemble de la compression avec pertes
Conserve la signification des données d’origine mais élimine une partie des informations
Exemple pour une image◦ Compression sans perte (bit-perfect)◦ Compression sans perte significative (pixel-perfect)
Codage RLE◦ Toute suite d’entités identiques est remplacée par un couple
(nombre d’occurrences, entité)◦ AAAAZZZZZZZAAAEEEEZFF
4A7Z3A4E1Z2F
Codage de Huffman◦ Principe du code Morse : coder des séquences fréquentes sur
peu de place, coder sur des séquences longues ce qui revient rarement
Lempel-Ziv 1977 (LZ77)◦ Remplacer les motifs récurrents par des références à leur
première apparition◦ Moins bon taux de compression que d’autres algorithmes◦ Rapide et asymétrique◦ Base d’algorithmes comme Deflate (ZIP, gzip) ou LZMA (7-Zip)
Prédiction par reconnaissance partielle (PPM)◦ Probabilité des différents symboles◦ En ayant une partie d’une source de données, peut en deviner
la suite◦ Bon taux de compression mais lent
Pondération de contexte (CM)◦ Utilise plusieurs prédicteurs (PPM par exemple) pour obtenir
l’estimation la plus fiable du symbole à venir dans une source de données
◦ Très performants mais très lent
Les formats de compression Format d'archivage
◦ Tar
Format de compression◦ Gzip◦ Bzip2
Format de compression et d'archivage◦ Zip◦ 7z◦ Rar◦ Tar/gzip/bzip2
Tar Créé et supporté par les systèmes Unix
Non supporté nativement par Windows mais supporté par certains logiciels
Rarement utilisé seul
Gzip Format le plus utilisé sous UNIX
Taux de compression moyen
Vitesse de compression rapide
Bzip2 Format open source utilisé principalement sous UNIX
Taux de compression élevé
Vitesse de compression faible
7z Format open source récent Taux de compression élevé (hors multimédia) Supporté par la majorité des OS/logiciels excepté
Windows Problème de sauvegarde des permissions sous UNIX Gourmand en ressources Non supporté par PHP
Zip Format le plus répandu
Supporté par tous les OS/logiciels
Taux de compression faible
Vitesse de compression rapide
Rar Format propriétaire
Lié à Winrar pour la création
Unrar permet la décompression
Taux de compression supérieur à Zip
Supporté par PHP en partie
Tar.gz/Tar.bz2 Association de tar et gzip/bzip2
Utilisé sur UNIX
Supporté par la majorité des OS/logiciels excepté Windows
Supporté par PHP
Besoins du projet Archiver un ensemble de fichiers de types variés
Format répandu
Compression rapide
Supporté par PHP
Conclusion Choix possibles : zip ou tgz
Zip : plus lent, meilleure compatibilité
Tgz : Plus rapide, pas supporté nativement par WIndows