Vous êtes sur la page 1sur 9
Codage source Par: Dr. Anouar DALLI Anouar_dalli@yahoo.fr Introduction Pourquoi compresser des documents ? © Echange de fichier volumineux par mail : gain de temps © Stockage d’informations : gain de place ee Comment compresser des documents? © Utilisation d'outils de compression : Winzip, ... © Algorithme de compression spécifiques : Images : JPEG Audio/Video : MPEG © Point commun de toutes ces approches : algorithme compression de Huffman Introduction Objectif principal: © Meilleure efficacité possible: minimiser le debit binaire transmettre Décodage unique - code préfixe Pour étre a decodage unique et instantane le code doit remplir la condition du préfixe: aucun mot de code ne doit étre le debut d’un autre mot de code. Un code est dit préfixe s’il remplit cette condition. Un code préfixe peut étre représenté par un arbre binaire Les mots de code sont les suites de 0 et 1 sur les branches allant de la racine jusqu’ aux feuilles de arbre Décodage unique - code préfixe 010 0110 O111 10 11 Exemple 2 On considére une source X a valeurs dans {Rouge, Vert, Bleu, Jaune} de loi 1 {1/4, 1/4, 1/4, 1/4} ou loi 2 {0.4,0.3, 0.2, 0.1} Code A:R — 00 Code B:R — 0 Code C: R > 0 V>01 V+ 10 Voi B10 B- 110 B10 Joil Jill J 301 Le code C n'est pas décodable: 0110 + RVVR ou RVB ou JB... Longueur moyenne des autres codes * pour le Code A, on trouve Ino, = 2 dans les deux cas (loi 1 ou 2) * pourle Code B : poy (1+243+3) /4 = 2.25 $ Ioy= 1*0.442%0.343"0.2+3"0.1= 1.8 Le meilleur code dépend de la loi de la source Peut on trouver un code meilleur que B pour la source X de loi 2? © I(x) = fp(x)) avec f fonction positive et décroissante © En pratique pour le calcul de la quantité d'information on considére la formule suivante: I(x) = log, (1/p(x)) : information en bit Information moyenne - Entropie On considere une source discréte X a valeurs dans: A= {ay,a3,-.. ay} de loi {p,,ps5-- spar} =>Lentropie de cette source, notee H(X), est l’information moyenne: H(X)=2 p, log,(1/p,) Propriétés: L’entropie est maximale si les évtnements X=a, sont équiprobables. H(X) $ log,(M) L’entropie est minimale (et nulle) si l'un des événements X=a, est certain. (Exemple pi¢ce de monnaie a deux faces identiques) Deux objectifs: » Avoir un code a décodage unique et instantane © Minimiser la longueur moyenne du code = Igy =2psh Théoréme du codage de source © La longueur moyenne d’tm code uniquement décodable pour une source discréte sans memoire X d’entropie H(X) verifie: ley 2 H(X) © Ilexiste un code préfixe (code de Shannon) tel que: H(X) $1, < H(X)+1 © Théoreme de Shannon : Pour toute source discréte il existe un code dont la longueur moyenne est arbitrairement proche de l'entropie Application © Soit une source (5) 4 11 symboles (3, & s,,) définie par les probabilites suivantes : s si_|s>__|ss__|ss__|ss__ [se _|s>__|ss__ so [so [sv Pp. 0.22 {0.15 }0.12 |o.11 [0.10 [0.08 [0.07 ]0.06 }0.04 }0.03 |0.02 © Calculer lentropie de la source. © Déduire la longueur moyenne. © Que vaudrait l’entropie si tous les symboles étaient equiprobables ? Compression de Huffman Principe © Exploiter la redondance de certains elements d’un document © Utiliser un codage plus compact pour les éléments les plus frequents Exemple : document texte © Codage ASCII ; un caractére est code sur 1 octet (8 bits) © Les caracteres ’’ et ’e’ apparaissent tres frequemment en Frangais et en Anglais © Idée : peut-on utiliser moins de 8 bits pour représenter ces caractéres 7 Compression de Huffman d’un document texte Principe © Associer 4 chaque lettre un codage dépendant de la fréquence de la lettre etacinencdicumwigyaovkixaz Exemple » Compression de “ce texte est écrit avec un codage de huffman” © Calcul du nombre d’occurence de chaque caractére « =| hyifmfjofr}s|xivjéjd]f{afu LJ 1} dy iy byl yl fly i} 2 24243)4)4)7)8 i © Longueur du codage classique : 44 * 8 = 352 bits. Création du codage Table de codage Lettre | #oce | codage | #bits | [ Lettre | # occ | codage | # bits g 1 110100 6 d 2 11011 5 h 1 [toi | 6 f 2 11000 5 i 1 01010 5 2 2 11001 5 m 1 o101r 5 wu 2 1000 4 ° 1 (01000 5 a 3 1001 4 T 1__[ 01001 5 © 4 000 3 8 1 | o1tio 5 t 4 001 3 x 1 | ou 5 € 7 101 3 v 1 01100 5 b_ 8 lit 3 é 1 [| o1to1 5 a4 TI Application On consideére la source suivante: Xi a b c d e f p(i) || 0.5 | 0.2 | 0.1 | 0.05 | 0.05 | 0.1 © Calculer l’entropie de la source. © Coder les symboles de la source suivante en utilisant Yalgorithme de Huffman. © Coder le mot « face » en utilisant ce code. Solution x [alb[e],@ [elf PU) [05 02/01) 0.05 | 0.05 [01 x [ab |e |e) t "| 10 : pli) | 0.5 0.2 [01] 01 01 x [ab [ede] Tf . 08 ‘ Pp) 05 02 [02 [04 ° ox 1 x [a |} | caer oa PU) | 05 02 | 03 x _|| a_| bedef | or! pl) | 08 05 0.5 2 OL 0.05 0.05, OL Solution i fi] 2 3 4 5 6 Xi alb c d e f code || 0 | 10 | 1100 | 11010 | 11011 | 111 Lentropie de la source est 0.5*1+0.2°2+0.1*4+0.05°5+0.05*5+0.1*3=2.1 Le mot ‘face’ est codé by 1110110011011.

Vous aimerez peut-être aussi