cours sur les systèmes de compression

18
Par FOUSSE Yannick & KOEHL Guillaume

Upload: unpointzero

Post on 18-Dec-2014

1.009 views

Category:

Education


3 download

DESCRIPTION

Cours sur les systèmes de compression par FOUSSE Yannick & KOEHL Guillaume pour UnPointZero

TRANSCRIPT

Page 1: Cours sur les systèmes de compression

Par FOUSSE Yannick & KOEHL Guillaume

Page 2: Cours sur les systèmes de compression

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

Page 3: Cours sur les systèmes de compression

Autant d’informations avant qu’après la compression

Appelé également « compactage »

Principe : Réécrire l’information de manière plus concise

Page 4: Cours sur les systèmes de compression

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

Page 5: Cours sur les systèmes de compression

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)

Page 6: Cours sur les systèmes de compression

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

Page 7: Cours sur les systèmes de compression

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)

Page 8: Cours sur les systèmes de compression

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

Page 9: Cours sur les systèmes de compression

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

Page 10: Cours sur les systèmes de compression

Tar Créé et supporté par les systèmes Unix

Non supporté nativement par Windows mais supporté par certains logiciels

Rarement utilisé seul

Page 11: Cours sur les systèmes de compression

Gzip Format le plus utilisé sous UNIX

Taux de compression moyen

Vitesse de compression rapide

Page 12: Cours sur les systèmes de compression

Bzip2 Format open source utilisé principalement sous UNIX

Taux de compression élevé

Vitesse de compression faible

Page 13: Cours sur les systèmes de compression

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

Page 14: Cours sur les systèmes de compression

Zip Format le plus répandu

Supporté par tous les OS/logiciels

Taux de compression faible

Vitesse de compression rapide

Page 15: Cours sur les systèmes de compression

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

Page 16: Cours sur les systèmes de compression

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

Page 17: Cours sur les systèmes de compression

Besoins du projet Archiver un ensemble de fichiers de types variés

Format répandu

Compression rapide

Supporté par PHP

Page 18: Cours sur les systèmes de compression

Conclusion Choix possibles : zip ou tgz

Zip : plus lent, meilleure compatibilité

Tgz : Plus rapide, pas supporté nativement par WIndows