Codage et compression de données

Slides:



Advertisements
Présentations similaires
Algorithme de Lempel-Ziv et Arbre MESH
Advertisements

Module Systèmes d’exploitation
La compression LZSS. La compression LZSS se fait de la même manière que LZ77 excepté le fait quon puisse tomber face à deux cas de figure pour le mot.
L’électronique numérique
Architecture de machines Codage des informations
Classification et prédiction
Les formats Stage – Semaine 4.
Introduction à l’Algorithmique
a CODAGE DE HUFFMAN 0.40 Objectif : coder les lettres
LA COMPRESSION : SES ALGORITHMES, SES UTILISATIONS
4. Notions de la théorie de l’information
Samedi 6 septembre 2008matériel informatique1 Codage de linformation.
Dpt. Télécommunications, Services & Usages Théorie de l information H. Benoit-Cattin Introduction 2. Vue densemble 3. Sources discrètes & Entropie.
Le remplacement moléculaire
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
L’encodage des images informatiques
Présentation Unité de codage
La compression des données multimédias
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Logique Combinatoire Fonction OUI Fonction NON Fonction ET Fonction OU

Methode de Tri efficace
Nature, numération, code
3 - Compression des images.
II. Chaînage, SDD séquentielles
TRANSMISSION DES DONNEES.
Méthode des k plus proches voisins
Algorithmique et programmation Informatique Cours 9 12/11/2001.
La segmentation
Bases de données lexicales
Codage convolutif Les codeurs convolutifs génèrent un mot de code de longueur n à partir de plusieurs messages de longueurs k. La valeur du mot de code.
Lempel-Ziv Premier algorithme de type dictionnaire
Sections sélectionnées du Chapitre 11
Analogique-numérique
Les fichiers indexés (Les B-arbres)
LES ARBRES IUP 2 Génie Informatique
Lévolution du Web et les implications dun crawler incrémental Basé sur : « The Evolution of the Web and Implications for an Incremental Crawler», Junghoo.
Compression des Données
Gestion de Fichiers Indexes basés sur les structures d’arbres binaires et indexes à niveaux multiples.
Gestion de Fichiers Hachage Extensible.
Algorithmes d ’approximation
INFORMATIQUE INF1B Les principes de fonctionnement de l’ordinateur
Institut Supérieur des Etudes Technologiques de Djerba Exposé du Traitement de Données Réalisé par: Khalifa Marwa Magroun Amira Jawadi Souad L2MDW.
Les formats Débutant – Semaine 4.
La théorie de la communication de C. Shannon
Gestion de Fichiers GF-7: Compression des Donnees (Base sur la section 6.1 de Folk, Zoellick & Riccardi, File Structures, An Object-Oriented Approach with.
Heuristiques C. Recherche de la meilleure branche . Branch And Bound
Projet Télédétection Vidéo Surveillance Deovan Thipphavanh – Mokrani Abdeslam – Naoui Saïd Master 2 Pro SIS / 2006.
Controlled and secure direct communication using GHZ state and teleportation – Ting Gao Estelle GILET M2R III 21/03/06.
AGIR : Défis du XXIème Siècle.
Le Système Binaire Introduction Les bases à connaitre Conversions
David Rivreau Table de hachage David Rivreau
La Compression de Données
Rappels de statistiques descriptives
Images télés Format JPEG Format MPEG
Images Matrice de points (pixels) Caractérisée par : Poids en octets
Arbres binaires et tables de hachage
Format des fichiers TIFF Mastère photogrammétrie, positionnement, mesures de déformation Yves EGELS.
Exploration systématique de graphes
Algorithme de Huffman Mis au point en 1952 par David Huffman
TIPE : JPEG Romain Fliedel MP
Formats, techniques, utilisations
Structures de données avancées : Variantes des B arbres

Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Chapitre 4 La représentation des nombres.
Page: 1-Ali Walid Gestion de fichiers. Codage et decodage arithmetique Compression et decompression arithmetique.
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
La compression de données
Transcription de la présentation:

Codage et compression de données Emmanuel SARI - LSI3

Codage et compression de données Introduction Méthodes statistiques Shannon-Fano Huffman Méthodes dictionnaires LZ77 LZ78 LZW Utilisations Autre : méthode anti-dictionnaire 11/11/2008 Emmanuel SARI – LSI3

Introduction Besoin : réduire le volume des données Solution : Gain en stockage Gain en temps de transmission Solution : Utiliser les capacités des processeurs plutôt qu’augmenter les espaces de stockage et bandes passantes Pouvoir compresser et décompresser les données 11/11/2008 Emmanuel SARI – LSI3

Introduction Deux approches : Compression sans perte Texte Programmes Compression avec perte Images Son Vidéo 11/11/2008 Emmanuel SARI – LSI3

I. Méthodes statistiques Principe Basé sur la fréquence d’apparition d’un symbole On attribue un code plus court à un symbole plus fréquent Exemple : le code Morse 11/11/2008 Emmanuel SARI – LSI3

I. Méthodes statistiques Codages de différentes tailles Exemple : Alphabet = {A, B, C, D} Fréquence d’apparition : A=60%, B=30%, C=5% et D=5% Codage potentiel : A ⇒ 0, B⇒00, C⇒01, D⇒10 Message : ‘000010’. Interprétation : AAACA ? ABCA ? BACA ? AAAAD ? BBD ? Risque d’ambiguïté 11/11/2008 Emmanuel SARI – LSI3

I. Méthodes statistiques Solution : utilisation de codages préfixes Aucun code n’est préfixe d’un autre. Pas d’ambiguïté possible Code préfixe sur l’exemple précédent : A⇒0, B⇒10, C⇒110, D⇒111. 11/11/2008 Emmanuel SARI – LSI3

I. Méthodes statistiques Compression de Shannon-Fano : Classer les symboles par ordre croissant sur les fréquences. Partitionner la table en deux sous-tables de fréquences proches. Recommencer jusqu’à ce que toute fréquence soit isolée. À chaque niveau de subdivision, attribuer la valeur 0 à la première sous-table, 1 à la seconde. Associer à chaque symbole le code correspondant aux bits de description de l’arborescence. Décodage en parcourant l’arbre de codage avec les bits du message 11/11/2008 Emmanuel SARI – LSI3

I. Méthodes statistiques Exemple : Alphabet = {A,B,C,D,E}. Fréquences : A=15, B=7, C=6, D=6, E=5 Résultat : A ⇒ 00, B ⇒ 01, C ⇒ 10, D ⇒ 110, E ⇒ 111. 11/11/2008 Emmanuel SARI – LSI3

I. Méthodes statistiques Compression de Huffman Principe similaire à Shannon-Fano Construction depuis les feuilles vers la racine cette fois-ci 11/11/2008 Emmanuel SARI – LSI3

I. Méthodes statistiques Reprise de l’exemple précédent : Alphabet = {A,B,C,D,E}. Fréquence : A=15, B=7, C=6, D=6, E=5 Résultat : A ⇒ 0, B ⇒ 100, C ⇒ 101, D ⇒ 110, E ⇒ 111. 11/11/2008 Emmanuel SARI – LSI3

I. Méthodes statistiques Avantages : Arbre de codage toujours oprimal Meilleur que Shannon-Fano Inconvénients : Transmission de l’arbre Codage bit à bit 11/11/2008 Emmanuel SARI – LSI3

II. Méthodes dictionnaires Principe : Ne plus faire du codage bit à bit Profiter du fait que certains motifs sont récurrents Les indexer Coder uniquement leur position Compression de Lempel-Ziv 11/11/2008 Emmanuel SARI – LSI3

II. Méthodes dictionnaires LZ77 Parcours avec une fenêtre de codage Codage sous forme de triplets : (Distance, Longueur, Car) « Fausse méthode dictionnaire » 11/11/2008 Emmanuel SARI – LSI3

II. Méthodes dictionnaires Exemple : Codage de la chaîne : abcdefgcdefgcdabcdgcgcgc Taille de la fenêtre : 24 caractères abcdefg(5,7)(14,4)gc(2,4) Résultat : (0,0,a)(0,0,b)(0,0,c)(0,0,d)(0,0,e)(0,0,f)(0,0,g)(5,7,a)(14,4,g)(0,0,c)(0,0,g)(2,4) 11/11/2008 Emmanuel SARI – LSI3

II. Méthodes dictionnaires Peu efficace sur cet exemple car texte trop court Avantages : Plus efficace que les méthodes statistiques Codage/décodage symétriques Inconvénients : Coût en temps de calcul Gestion délicate de la fenêtre de codage Fenêtre trop petite ⇒ compression moins bonne Fenêtre trop grande ⇒ temps de calcul rallongé 11/11/2008 Emmanuel SARI – LSI3

II. Méthodes dictionnaires LZ78 Palie au défaut du fenêtrage Utilisation d’un véritable dictionnaire Plus efficace que LZ77 Dictionnaire réduit : Plus de champ ‘Longueur’ Remplacement de ‘Distance’ par l’index 0 si nouvelle entrée Index ordonné de 1 à 255 sinon 11/11/2008 Emmanuel SARI – LSI3

II. Méthodes dictionnaires Exemple : Codage de la chaîne : abcdefgcdefgcdabcdgcgcgc Taille de la fenêtre : 24 caractères. 11/11/2008 Emmanuel SARI – LSI3

II. Méthodes dictionnaires LZW : Lempel-Ziv-Welch Codage sur 12 bits uniquement par des index De 1 à 255 : ASCII Après 256 : motifs rencontrés Plus efficace que LZ78 11/11/2008 Emmanuel SARI – LSI3

II. Méthodes dictionnaires Exemple : Codage de la chaîne : abcdefgcdefgcdabcdgcgcgc Taille de la fenêtre : 24 caractères. Résultat : abcdefg[258][260][262]d[256][258][262][269]c 11/11/2008 Emmanuel SARI – LSI3

III. Utilisations LZ78 et LZW anciennement brevetés Gif Tiff(optionnel) LZ77 + Huffman ⇒DEFLATE Zip Gzip Png HTTP SSH 11/11/2008 Emmanuel SARI – LSI3

III. Utilisations Nombreuses variantes : Nombreux formats : LZSS, LZWL, LZO, LZMA, LZX, LZJB, LZT… Nombreux formats : Bzip2, 7z, Rzip, Lzop… 11/11/2008 Emmanuel SARI – LSI3

IV. Autre : méthode anti-dictionnaire Idée :  Si on sait que le facteur 1011 n’apparaît pas dans le texte, cela veut dire qu’à chaque fois que le facteur 101 est présent, il sera suivi par 0 Définition : On se place dans un alphabet binaire. ω : un mot fini. F(ω) : l’ensemble des facteurs de ω. Anti-dictionnaire de ω : AD(ω)= ensemble de facteurs n’appartenant pas à ω Exemple : ω = 1010. AD(ω) = {00,11} 11/11/2008 Emmanuel SARI – LSI3

IV. Autre : méthode anti-dictionnaire Exemple (compression) : ω = 01101010 AD(ω) = {00, 111, 1011} 11/11/2008 Emmanuel SARI – LSI3

IV. Autre : méthode anti-dictionnaire Exemple (décompression) : γ(ω) = 01101010 AD(ω) = {00, 111, 1011} 11/11/2008 Emmanuel SARI – LSI3

IV. Autre : méthode anti-dictionnaire Construction de l’anti-dictionnaire : Recherche des facteurs de la phrase de longueur donné k. Recherche des facteurs interdits minimaux de taille ≤ k. Exemple: ω = 01101010 K = 5 11/11/2008 Emmanuel SARI – LSI3

Codage et compression de données Des questions ? Sources : Codage et compression de données - Erwan le Scanff Codage et compression de données - Jérôme Dumas, Fabien Harrang Wikipedia.org Compression de données utilisant les anti-dictionnaires - Sarah Maarek 11/11/2008 Emmanuel SARI – LSI3