[PDF] [PDF] Cours/TD 5 Codage Shannon Codage arithmétique : Elias

5 1 De l'algorithme de Fano et Shannon au codage Soit une source discr`ete sans mémoire codée avec des mots code avec de longueurs li li code 1 0 2 10



Previous PDF Next PDF





[PDF] correction - Formations en Informatique de Lille

Veuillez indiquer le numéro de votre groupe de TD sur la copie qu'il est inutile de C'est impossible car la longueur moyenne d'un codage c sur une source S est Corrigé L est un code car il s'agit d'un langage préfixe En effet, ∀u, v ∈ L, 



[PDF] THEORIE DE LINFORMATION CORRIGES - E-Eisti

TD 1 Corrigé Modélisation mathématique d'une source d'information Remarque : on verra au chapitre 3 (Codage de source) avec l'inégalité de Kraft, qu'un 



[PDF] Série dexercices 2 : code de Huffman Problème 1 Problème 2

(e) Calculer l'efficacité de ce code Problème 2 Soit une source qui génère des lettres de l'alphabet A= {a1, a2,a3, 



[PDF] Examen C++ - CREATIS

I - Exercice codage de source (25 minutes) Une source binaire génère les symboles s1 et s2 avec les probabilité p(s1)=0,9 et Code corrigé : 11 10 01 00



[PDF] MSY06 : Théorie de lInformation TD n◦2 : Codage de source

TD n◦2 : Codage de source Exercice 1 : Compression des images En considérant que chaque pixel est codé sur un octet, quelle place occupe l' imagette 



[PDF] Cours/TD 3 Codage Huffman

`A chaque étape la somme des poids restera égale `a 1 L'algorithme de Huffman produit un code binaire préfixe optimal Exemple Considérons une source discr`  



[PDF] Cours/TD 5 Codage Shannon Codage arithmétique : Elias

5 1 De l'algorithme de Fano et Shannon au codage Soit une source discr`ete sans mémoire codée avec des mots code avec de longueurs li li code 1 0 2 10



[PDF] TD 1 ∑ - Raphaël Fournier-Sniehotta

TD 1 TECHNIQUES DE CODAGE ET DE COMPRESSION 1 LANGAGE / CODAGE / +1 2 3 1 Donner un code de Shannon binaire pour la source ci- dessus



[PDF] Codage canal - FR

21 nov 2012 · Codage source : compression des données pour une meilleure efficacité ▫ Codage Corriger les erreurs : FEC (Forward Error Correction) protocoles de Exercice: construire le tableau de décodage standard ▫ Exercice: 



[PDF] Corrigés exercices codes correcteurs - LIRMM

Le code par parité impaire n'est pas linéaire, sa capacité de détection est de 1 bit , pour tout n Exercice 4: a: toute erreur sur un nombre impair de bit Pas de 

[PDF] combien d'information sont représentées par 15 bits

[PDF] virgule fixe et virgule flottant pdf

[PDF] virgule fixe exercices corrigés

[PDF] exercice corrigé codage virgule fixe

[PDF] virgule flottant ieee 754

[PDF] conversion des nombres avec virgule en binaire

[PDF] virgule fixe et virgule flottant

[PDF] nombre flottant binaire

[PDF] codage et décodage définition

[PDF] définition décodage

[PDF] encodage décodage définition

[PDF] codage et décodage de l'information

[PDF] encodage décodage lecture

[PDF] encodage décodage lecture définition

[PDF] encodage definition

Cours/TD 5 Codage Shannon.

Codage arithmetique : Elias

5.1 De l'algorithme de Fano et Shannon au codage

arithmethique Si N1X j=02 lj<1 l'inegalite de Kraft-McMillan est veriee, alors il existe un code uniquement decodable et m^eme prexe, qui admette l

1;l2;:::;lN1comme distribution de longueurs. Un algorithme simple qui donne un code

prexec1;:::;cN1a partir d'une distribution de longueursl1;l2;:::;lN1veriant l'inegalite de Kraft-McMillan est :a chaque mot de codeci(a trouver) on associe le nombre= 0;c i2 [0;1[dont les decimales de l'ecriture en base 2 est formee des bits deci. On noteIil'intervalle I i= [c i;c i+ 2li[.

Exemple.ci= 010donnec

i= 0;010 = 14 . etIi= [0;010;0;011[= [14 ;38 [est l'ensemble des nombres de[0;1[dont les decimales en base 2 commencent parci. Le mot codecidetermine uniquement l'intervalleIi: tronquer le developpement binaire de la limite gauche de l'intervalle (de longueurli) a log21l ibits pour retrouverci. La condition de code prexe deviennent : lesIisont des intervalles disjoints. Donc l'inegalite de Kraft- McMillan dit que la somme des longueurs desIiest strictement plus petite que 1. S'ils sont disjoints, on peut donc les mettre bout-a-bout en restant dans le segment [0;1[. Ainsi un algorithme de construction du code instantane sera : On met bout-a-bout les intervallesIi, classes par longueurs decroissantes (licroissantes) dans le segment [0;1[ en partant de la gauche.

I1 I2 I3 ....

||{I|||{I||{I||||{ 0.0 0.10 0.110 0.111

Au debutc

0= 0:0:::0. En general a chaque etape on rajoute aci1un 1 et on obtientc

il' extremite droite deIi. On peut completer avec des zeros si necessaire pour obtenir une longueurli+1> li. 1 Exemple.Soit une source discrete sans memoire codee avec des mots code avec de longueurs l il icode1 0 2 10 3 110

5 11100

5 11101

5 11110

6 111110

6 111111

Noter qu'avec cet algorithme on detecte automatiquement si si les li ne verient pas l'inegalite de Kraft-McMillan : on "depasse" alors l'extremite droite du segment[0;1[, et on ne peut plus continuer comme dans : l icode1 0 2 10 3 110

4 1110

5 11110

5 11111

6Erreur

1=2 + 1=4 + 1=8 + 1=16 + 1=32 + 1=32 + 1=64>1

Soit une source discrete et sans memoire produisant (independament) des symboles (lettres/mots) d'un alphabeta0;a1;;aN1selon la distribution de probabilitep= (p0;p1;:::;pN1) . Supposons que les symboles de l'alphabet sont deja ordonnes par probabilite decroissante. p

0p1 pN1.

Idee naturelle (Shannon et Fano) etait d'associer aux symboles de notre alpha- bet des mots code binaires dont la longueur est egale au contenu d'information des symboles a coder. Pour un symbolajavec une probabilites d'apparitionpjqui n'est pas une puissance binaire ce contenu d'information estI(aj) =log2pjet Shannon demande que la longueur de bits necessaires soitlj=dI(aj)e=dlog2pje. L'interpretation geometrique de l'algorithme de Fano : Par la suite d'une dichotomie binaire reitteree sur [0, 1 [l'algorithme de Fano trouvait une partition d'intervalles. La dichotomie d'un interval s'arr^etait quand l'intervalle [Aj;Aj+1[ avait la longueur egale a la probabilite 2 ljde ( la production de ) du symbolaj(i.e. un seul 2 2/8 [1/20 11 100
1

4/8 6/8

110
111

7/82/4 3/41/4

5/83/81/8)Figure5.1 { Arbre partiel de dichotomie binaire reitere de [0;1) pourp=12

;14 ;18 ;18 element par intervalle). Le mot code etait le developpement binaire ni de la borne inferieure A jde cet intervalle. La precision de ce mot etait exactementlj=log2pj{ voir gure 5.1. L'algorithme simplie de Fano peut ^etre lui aussi generalise mais le code produit n'est pas unique, ni optimal.

1. ordonner les symboles de l'alphabet sur une colonne par probabilite decroissante.

2. diviser l'ensemble des symboles en deux sous-ensembles de probabilites cumulees presque

egales.

3. coder avec "0" (resp. "1") les elements du premier (resp. deuxieme) sous-ensemble

4. continuer de maniere recursive jusqu'au moment ou tous les sous-ensembles ne com-

portent plus qu'un element D'une maniere plus generale l'algorithme de Shannon associe aussi d'une maniere biuni- voque : { aux symboles de l'alphabet une partition d'intervalles dans [0;1[ { a un symbol un mot code qui est un nombre reel dans l'intervalle correspondant.

5.2 Algorithme de Shannon

L'interpretation geometrique de l'algorithme de Shannon est de trouver une partition d'intervalles avec la propriete que la longueur de chaque intervalle [Aj;Aj+1[ est egale a la probabilite de ( la production de ) du symbolaj:pj= A j+1Aj, 0jN1. A 0= 0 A 1=p0 A

2=p0+p1

3 A

3=p0+p1+p2...

A

N=p0+p1++pN1= 1

Un mot codecjest associe a l'intervalle [Aj;Aj+1[[0;1[ de la maniere suivante : c(Aj;Aj+1) =12:::lj()A= 0:12:::lj( debut du developpement binaire du nombre reelAj), avec l j=dlog2(pj)e. On prend autant de bits de ce developpement que le "contenu d'information de l'intervalle" l jle dicte. Maintenant pour assurer la correspondance biunivoque il faut prouver que le mot code associe a un intervalle [Aj;Aj+1[ est unique. Plus on peut montrer que : Lemme1.Le code Shannon est prexe, i.e. le mot codecj=c(Aj;Aj+1)ne peut pas^etre un prexe du motcj+1=c(Aj+1;Aj+2), pour0jN2. Preuve.Supposons que le codage binaire deAja la longueurlj=dlog2pje.

Reecrivons les conditions de Shannon :

l j1Par constructionAkAj+1=Aj+pjAj+12 lj. DoncAkAj12 lj, i.e. leurs developpements binaires sont dierents sur les premiersljpositions. Par consequence le mot codecjn'est pas un prexe du mot codeck,j < k. Remarque.On note que on peut dire aussi que le codage Shannon-Fano associe au symbol a jle bits du plus petit (i.e. celui avec moins de bits) nombre binaire rationnel de l'interval [Aj;Aj+1[.

Algorithme de Shannon1. ordonner les symboles de l'alphabet sur une colonne par probabilite decroissante.

2. calculerA0= 0 etAj+1=Aj+pj

3. pour chaque 0jN1 ecrire le developpement dyadiqueA= 2Ajjusqu'au

l j=dlog2pje"decalage de la virgule " { siA1, alors1= 1 etA= 2A1 { siA1, alors1= 0 etA= 2A

4. acherAj= 0:1234:::lj

Exemple.Trouver le developpement binairea= 0:1234:::dea=111 4

2a=211

<1 =)1= 0, 4a=411 <1 =)2= 0

8a=811

<1 =)3= 0, 16a=1611 = 1 +511 =)4= 1 a (4)=511 = 0:567:::, 2a(4)=1011 <1 =)5= 0

4a=2011

= 1 +911 =)6= 1 a (6)=911 = 0:789:::, 2a(6)=1811 = 1 +711 =)7= 1 a (7)=711 = 0:8910:::, 2a(7)=1411 = 1 +311 =)8= 1 a (8)=311 = 0:91011:::, 2a(8)=611 <1 =)9= 0

4a(8)=1211

= 1 +111 =)10= 1 a (10)=111 = 0:111213=a. Le developpement binaire ( 10-periodique ) dea=111 = 0:0001011101

Exercice.Trouver les mots codec(A;B)suivants :

1.c111

;15 2.c38 ;12

3.c112

;78 4.c35 ;34 5.c17 ;16

1.c111

;15 Premier pas :Determiner la precision du developpement dyadique. La longueur du codage est donnee par l'information qui correspond a l'intervalBA=15 111
=655 . Doncdlog2556 e=

4, parce que 8<556

<16. 111
= 0:1234 Deuxieme pas :Obtenir le developpement binaire du nombreA=111 qui est entre 0 et 1.

Donc111

= 0:0001=)c111 ;15 =1234= 0001 2.c38 ;12 Premier pas :Determiner la precision du developpement dyadique. La longueur du codage est donnee par l'information qui correspond a l'intervalBA=18 . Donc log28 = 3. 38
= 0:123 5 Deuxieme pas :Obtenir le developpement binaire du nombreA=38 qui est entre 0 et 1. 238
=1:23 238
=68 <1 =)1= 0 et68 = 0:23 268
=2:3 268
=128 = 1 +48 = 1 +12

1 =)2= 1 et12

= 0:3 212
=3 212
= 1 =)3= 1 =)c38 ;12 =123= 011 Exercice.Determiner tous les intervalles[A;B[tels quec(A;B) = 10101. ( Chercher d'abord l'intervalle le plus naturel determine par10101, puis re echir dans quelle mesure ceci est "deformable" sans eet sur le mot code ). Exercice.Considerons la source qui produit les huit lettresa0;a1;:::;a7selon la distribution de probabilitep= (p0;p1;:::;p7)avecp0=12 ,p1=14 ,p2=p3=116 ,p4=p5=p6=p7=132

Trouver le code de Shannon associe.

Exercice.Notre source sans memoire qui produit les huit lettres A, B, C, D, E, F, G, H selon la distribution de probabilitep= (p(A);p(B);:::;p(H)), avecp(A) =2764 ,p(B) =p(C) =316 p(D) =116 ,p(E) =p(F) =364 ,p(G) =132 ,p(H) =164

1. Trouver le code de Shannon associe.

2. Calculer la longueur moyenneldes mots code.

5.3 Coder plusieurs symboles successifs en m^eme temps

Pour le codage Human nous avons deja vu que le codage par blocs densymboles permet de prendre en compte plusieurs symboles en m^eme temps. C'est un codage vectoriel (en dimensionn) qui remplace la source initiale par une "extension d'ordren" ayant comme symboles des vecteurs densymboles successifs de la source initiale. Le theoreme de Shannon pour le codage de source sans pertes propose de realiser un codage vectoriel en grande dimension pour toute source. pour s'approcher de l'entropie. Pour coder une source discrete sans memoire sur un alphabet aNsymboles en dimensionn l'alphabet de l'"extension d'ordren" augmente exponentiellement avecn. Donc, le codage vectoriel en grande dimension est d'un inter^et purement theorique. 6 Pour resoudre ces problems d'autres systemes de codage de source sans pertes ont ete proposes. Ils permettent aussi de prendre en compte les dependances temporelles (d'un sym- bole a l'autre) de la source (avec memoire). Ces systemes de codage permettent de coder une source quelconque sans conna^tre a priori ses statistiques (c'est ce qu'on appelle du codage "universel"). Les plus connus sont les systemes de codage de Lempel-Ziv (1976)et de codage arithmetique (1982). Le codage arithmetique est probablement le plus important dans les applications et les normes actuelles. Il est une extension iterative d'une technique de codage connue depuis les annees 50, appelee codage d'Elias (ou de Shannon-Fano-Elias).

5.4 Le codeur d'Elias

Le codeur d'Eliasetait, a l'origine, considere comme une construction purement academique. Sa premiere presentation ( tardive ) date de 1968. C'est entre 1976 et 1979 ( Pasco, Jones, Rubin ) que l'on decouvrit son inter^et pratique de sa variantebinaire!binaire. Le codeur d'Elias code optimalement, c.ad. il approche l'entropie de la source :

H(p)ln

< H(p) +1n Soit une source binaire ( sans memoire ), produisant selon la distribution de probabilite p= (p0;p1), avecp0p1. Le codeur d'Elias construit un arbre binaire d'intervalles, obtenu parp0-dichotomie. Soit les intervalles [Ak;Bk[ les intervalles [Ak+1;Bk+1[ sont calcules :

D=Ak+p0(BkAk)

A k+1=Ak;Bk+1=D(code avec 0) etAk+1=D;Bk+1=Bm(code avec 1)

Lesnpremiers bitsaj1aj2:::ajnd'un

ot source binaire sont interprete commeche- mindans cet arbre. Le chemin pointe sur un intervalle [A;B[. Le motcode d'Elias c(aj1aj2:::ajn) est le mot code de l'intervalle [A;B[, c.a.d. le developpement dyadiqueA jusqu'aul=dlog21BAe"decalage de la virgule " Exemple.Soit une source binaire ( sans memoire ) produisant selon la distribution de probabilitepdonnee parp0=34 ,p1=14 Trouvez le mot code d'Elias de la sequence 001 produite par la source, c.a.d. de l'intervalle 2764
;916 Premier pas: Pour le codage, il faut trouver dans l'hierarchie de l'arbre dep0dichotomiequotesdbs_dbs5.pdfusesText_9