cours n° 7 - efreidoc.frefreidoc.fr/l2 - pl2/entropie/cours/2012-13.cours... · codage avec mots...

40
Caractérisation d’un codage Efficacité d’un codage Codage par blocs et extension de la source 1 er Théorème de Shannon Codage par plages Codage de Shannon-Fano Codage de Huffman 1 Cours n° 7

Upload: others

Post on 16-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Caractérisation d’un codage

Efficacité d’un codage Codage par blocs et extension de la source

1er Théorème de Shannon Codage par plages

Codage de Shannon-Fano Codage de Huffman

1

Cours n° 7

Page 2: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Problème pratique: les limites théoriques de systèmes de communication

Transformation des symboles émis par la source en éléments transmissibles par le canal de la façon la plus appropriée

Source

𝑆1, 𝑆2…𝑆𝑁

Canal idéal

𝐶 = 𝑐1, 𝑐2…𝑐𝑀

Codeur Source

𝑆 → 𝐶

Résoudre le problème avec des techniques de codage

Le codeur de source traduit chaque symbole de la source en une séquence de codes

transmissibles par le canal

2

Page 3: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Le but du codeur est de faire correspondre à chaque élément de 𝑆 (symboles émis par la source) en un séquence d’éléments de 𝐶 appelés mots-codes

Exemple :

Probabilités Code A Code B Code C Code D Code E Code F

𝒔𝟏 0,4 0 00 0 0 0 0

𝒔𝟐 0,3 1 01 10 01 10 10

𝒔𝟑 0,2 1 10 11 011 110 110

𝒔𝟒 0,1 0 11 110 0111 1110 111

𝑯 = 𝟏, 𝟖𝟒 𝑳 = 𝟏 𝑳 = 𝟐 𝑳 = 𝟏, 𝟕 𝑳 = 𝟐 𝑳 = 𝟐 𝑳 = 𝟏, 𝟗

Différents exemple de codes pour une source de 4 symboles (𝑁 = 4) et un canal binaire (𝑀 = 2)

3

Page 4: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Code irréversible ou singulier :

Comme exemple on prendra le Code A (tous les autres sont réversibles ou non singuliers)

Code A

0

1

1

0

Code C

0

10

11

110

Le code A ne permet pas de déchiffrer sans ambiguïté le message émis puisque deux symboles par exemple, 𝑠2, 𝑠3 partagent le même code 1

Son utilisation peut être envisagé si la distorsion qui en résulte minimise un critère de fidélité défini par l’utilisateur.

Ce type de codage est appelé codage avec perte ou codage intelligent (signaux de

parole, séquences vidéo avec un faible débit) 4

Page 5: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Code de longueur fixe :

Comme exemple on prendra le Code B (tous les suivants sont de longueur variable)

Code B

00

01

10

11

Code D

0

01

011

0111

Avec le code B tous les mot-codes sont de même longueur. On notera 𝐿 la longueur moyenne des mots-codes : le nombre moyen d’éléments de 𝐶 utilisés pour transmettre un symbole de 𝑆

𝐿 = 𝐸 𝑙𝑘 = 𝑝𝑘 𝑙𝑘

𝑁

𝑘=1

𝑙𝑘 = longueur du mot code du symbole 𝑠𝑘 émis avec probabilité 𝑝𝑘

Ce code manque d’efficacité car il attribue

aux symboles très fréquents et aux symboles

très rares de codes de même logeur

5

Page 6: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Code à décodage unique:

Le code C ne permet pas un décodage sans ambiguïté, puisque la séquence 𝑠3, 𝑠1 conduit

au même code que le symbole 𝑠4.

Code D Code E Code F

0 0 0

01 10 10

011 110 110

0111 1110 111

Code C

0

10

11

110

Ces codes sont dits à décodage unique, c’est-à-dire toute extension de ces codes

est réversible (sans ambiguïté)

mot-code symbole unique

6

Page 7: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Code instantané:

Code E Code F

0 0

10 10

110 110

1110 111

Code D

0

01

011

0111

Codes instantanés: Le décodage d’un mot est possible de la fin de sa réception, sans

devoir attendre la répétition du code suivant (pour lequel aucun mot−code n’est préfixé

d’un autre mot−code)

On détermine alors les mots-codes à mesure que l'on reçoit les lettres de l'alphabet du code

De cette façon, on évite qu’un mot du code soit identique au début

d’un autre mot 7

Page 8: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Code avec séparateurs :

Code D Code E

0 0

01 10

011 110

0111 1110

On consacre un symbole de l’alphabet de destination comme séparateur de mot

Le symbole « 0 » permet la distinction de mots-codes de la

même façon qu’un espace sépare le mots d’un texte

8

Page 9: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Conclusions :

o Parmi tous les codes réversibles à décodage unique, ceux qui sont également instantanées sont les plus recherchés

o Si on pouvait disposer d’un système d’écriture ayant cette propriété les espaces seraient alors inutiles pour séparer le mots.

o Une condition nécessaire et suffisante pour qu’un code soit instantané est

qu’aucune mot-code ne soit le préfixe d’autre mot-code

Code à décodage

unique

Code instantané

Tous codes confondus

Codes réversibles

9

Page 10: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Un codage binaire peut être représenté de manière graphique par un arbre. Les arbres sont aussi des représentations commodes pour écrire les algorithmes de

codage et de décodage.

Règles:

o Un déplacement à gauche correspond à un "0"

o Un déplacement à droite correspond à un "1"

o Chaque déplacement crée un nœud de l'arbre

o Chaque nœud à un père (vers le haut) et peut avoir deux fils (vers le bas)

o Le lien entre deux nœuds est une branche

o Un nœud qui n'a pas de fils est une feuille et la feuille doit être le code.

10

Page 11: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Exemple:

Codage n°1 Codage n°2 Codage n°3

11

Page 12: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

o Elle cherche à répondre à la question de la condition d'existence d'un code préfixé.

o Un code préfixé se fabrique à partir d'un arbre de codage et sa condition d'obtention est que les codes soient des feuilles de l'arbre.

o On se propose de construire des codes déchiffrables, et plus particulièrement instantanés, aussi économiques que possible. L’inégalité de Kraft fournit une condition nécessaire et suffisante d’existence de codes instantanés.

L’arbre des codes peut illustrer le raisonnement conduisant à l'inégalité de Kraft :

2𝑙−𝑙𝑘

𝑙𝑘

𝑙 𝐶𝑘

12

Page 13: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Nous construisons un arbre binaire de hauteur 𝑙 • le nombre de codes possibles (nombre de

feuilles finales possibles) est de 𝟐𝒍

A la hauteur 𝑙𝑘, nous décidons d'attribuer ce nœud à un code 𝐶𝑘 ⇒ Ce nœud devient une feuille de l'arbre du code et, pour obtenir un code préfixe, cela interdit tous les

nœuds qui peuvent s'en déduire. Le nombre de nœuds interdits est de 𝟐𝒍−𝒍𝒌

Si l'alphabet à coder contient 𝐾 symboles auxquels sont attribués des codes de longueur variable {𝑙𝑘}, le nombre total de feuilles interdites sera :

2𝑙−𝑙𝑘

𝐾

𝑖=1

2𝑙−𝑙𝑘

𝑙𝑘

𝑙 𝐶𝑘

13

Page 14: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Le nombre de feuilles interdites est inférieur ou égal au nombre de feuilles finales

En divisant chaque membre de la relation par 2𝑙, nous obtenons l'inégalité de Kraft :

2−𝑙𝑘

𝐾

𝑖=1

≤ 1

2−𝑙𝑘

𝐾

𝑖=1

≤ 2𝑙

𝑙𝑘 = 𝑙𝑜𝑛𝑔𝑢𝑒𝑢𝑟 mots-codes

2𝑙−𝑙𝑘

𝑙𝑘

𝑙 𝐶𝑘

14

Page 15: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

L’inégalité de Kraft peut se généraliser au cas non binaire c'est-à-dire un codage avec 𝑴 symboles (en binaire 𝑀 = 2) :

Cas non binaire

𝑀−𝑙𝑘

𝐾

𝑖=1

≤ 1

Condition nécessaire et suffisante de l’existence d’un code instantané de 𝐾 symboles , utilisant de mot-codes de longueur 𝑙1, 𝑙2… . 𝑙𝐾 avec un code de 𝑀 éléments

15

Page 16: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Débit moyen d'information : Si 𝐾 est la taille de l'alphabet d'une source discrète 𝑋, celle-ci contient une quantité moyenne d'information par symbole qui est l'entropie 𝐻( 𝑋 ). Cette entropie admet une limite maximale:

𝐻( 𝑋 ) ≤ log ( 𝐾 )

Limite étant atteinte lorsqu'il y a équiprobabilité entre tous les symboles de l'alphabet de la source.

o Si la source émet ses symboles à une cadence régulière d'un symbole toute les 𝜏𝑠

secondes, 1

𝜏𝑠 est la vitesse d'émission de la source exprimée en symboles/seconde.

o Le débit moyen d'information sera naturellement caractérisé par:

𝑄 =𝐻 𝑋

𝜏𝑠

Exprimé en 𝑏𝑖𝑡𝑠/𝑠 (ou 𝑠ℎ𝑎𝑛𝑛𝑜𝑛/𝑠, 𝑑𝑖𝑡𝑠/𝑠, …..) 16

Page 17: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire

o Une manière simple de coder en binaire l'alphabet d'une source est d'attribuer à chaque symbole 𝐿 bits.

o Il y a donc 𝟐𝑳 codes possibles

o Nous avons la condition pour le nombre de codes possibles 2𝐿 ≥ 𝐾 , l'égalité étant possible lorsque le nombre 𝐾 de symboles de la source est une puissance de 2.

o Dans le cas contraire nous aurons : 2𝐿−1 < 𝐾 < 2𝐿

Cette dernière relation permet de déterminer le nombre 𝑳 de bits nécessaires au codage de l'alphabet d'une source de 𝑲 symboles:

𝐿 = 𝐼𝑛𝑡 log2(𝐾) + 1 17

Page 18: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Nous savons que :

𝐻( 𝑋 ) ≤ log2 ( 𝐾 )

𝐿 ≥ log2 ( 𝐾 )

𝐿 ≥ 𝐻( 𝑋 )

L'égalité a lieu lorsque tous les symboles de la source sont équiprobables et lorsque 𝐾 est une puissance de 2

𝐿 = 𝑛° 𝑑𝑒 𝑏𝑖𝑡𝑠 limite maximale de l’entropie

pour l’alphabet de 𝐾 symboles

o Un codage est dit d'autant plus efficace que le nombre de codes possibles inutilisés est faible.

o L'efficacité dépend aussi de la quantité d'information moyenne de la source.

o L'efficacité d'un codage sera ainsi définie par :

=𝐻 𝑋

𝐿

Exprimée en % 18

Page 19: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Exemple :

𝐾 = 24

log2(𝐾) = 4,585 𝐿 = 𝐼𝑛𝑡 log2(𝐾) + 1 = 5 2𝐿 = 25 = 32 → 2𝐿−1 < 𝐾 < 2𝐿

16 < 𝐾 < 32

Si tous les symboles sont équiprobables : 𝑝𝑖 =1

𝐾

𝐻 𝑋 = − 𝑝𝑖 log2 𝑝𝑖 =

𝐾=24

𝑖=1

log2 𝐾 𝑝𝑖

𝐾=24

𝑖=1

= 4,585

=𝐻 𝑋

𝐿=4,585

5= 91,7 %

→ 𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑠𝑦𝑚𝑏𝑜𝑙𝑒𝑠 𝑑𝑒 𝑙′𝑎𝑙𝑝ℎ𝑎𝑏𝑒𝑡 𝑑𝑒 𝑙𝑎 𝑠𝑜𝑢𝑟𝑐𝑒

19

Page 20: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Pour améliorer l'efficacité du codage, on peut transmettre et donc coder les symboles non pas individuellement mais par blocs de 𝐽 symboles cette technique est appelée l'extension de la source

Avec { A , B } on peut faire avec 𝐽 = 2 les blocs { AA , AB , BA , BB }

Exemple :

À partir d'une source dite primaire nous fabriquons une source secondaire

Source primaire de 𝐾 symboles → extension → source secondaire de 𝐾𝐽 symboles

Si nous utilisons 𝐿𝑏𝑙𝑜𝑐 bits de codage par bloc:

𝐿𝑏𝑙𝑜𝑐 ≥ log2(𝐾𝐽) 𝐿𝑏𝑙𝑜𝑐 = 𝐼𝑛𝑡 𝐽 log2 𝐾 + 1

Le nombre de bits par symbole de la source primaire est :

𝐿 =𝐿𝑏𝑙𝑜𝑐

𝐽= 𝐼𝑛𝑡 log2 𝐾 +

1

𝐽

et

Remarque : 𝐿 n'est plus un entier ! 20

Page 21: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

L'efficacité de codage de la source primaire est égale à :

𝑒𝑥𝑡𝑒𝑛𝑠𝑖𝑜𝑛 =𝐻 𝑋

𝐿=

𝐻 𝑋

𝐼𝑛𝑡 log2 𝐾 +1𝐽

Résultat à comparer à celui obtenue sans extension de source :

=𝐻 𝑋

𝐼𝑛𝑡 log2 𝐾 + 1

Que, à cause du terme 1

𝐽 en dénominateur vous avons 𝑒𝑥𝑡𝑒𝑛𝑠𝑖𝑜𝑛 >

o La technique d’extension de source peut ainsi améliorer l’efficacité du codage pour des mots de codes de longueur fixe.

o Du point de vue de la source étendue 𝐿 est le nombre de bits attribués à un des symboles

et l’efficacité du codage est égale (avec 𝐿 =𝐿𝑏𝑙𝑜𝑐

𝐽 ) :

𝑒𝑥𝑡𝑒𝑛𝑠𝑖𝑜𝑛 =𝐻 𝑋

𝐿=𝐽 𝐻 𝑋

𝐿𝑏𝑙𝑜𝑐 → 𝐻𝑒𝑥𝑡𝑒𝑛𝑠𝑖𝑜𝑛 = 𝐽 𝐻 𝑋

21

Page 22: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Exemple : 𝐾 = 24 𝑒𝑡 𝐽 = 3

Si tous les symboles sont équiprobables : 𝑝𝑖 =1

𝐾

𝐻 𝑋 = − 𝑝𝑖 log2 𝑝𝑖 =

𝐾=24

𝑖=1

log2 𝐾 𝑝𝑖

𝐾=24

𝑖=1

= 4,585

=𝐻 𝑋

𝐿=𝐽 𝐻 𝑋

𝐿𝑏𝑙𝑜𝑐=4,585

4,66= 98,25 %

𝐾𝐽 = 243 = 13824 → 𝑛° 𝑑𝑒 𝑠𝑦𝑚𝑏𝑜𝑙𝑒𝑠

𝐿𝑏𝑙𝑜𝑐 = 𝐼𝑛𝑡 𝐽 log2 𝐾 + 1 = 𝐼𝑛𝑡 log2(13824) + 1 = 13 + 1 = 14

𝐿 =𝐿𝑏𝑙𝑜𝑐𝐽= 4,666

22

→ 𝑛° 𝑠𝑦𝑚𝑏𝑜𝑙𝑒𝑠 𝑑𝑒 𝑙′𝑎𝑙𝑝ℎ𝑎𝑏𝑒𝑡 𝑑𝑒 𝑙𝑎 𝑠𝑜𝑢𝑟𝑐𝑒

→ 𝑛° 𝑑𝑒 𝑏𝑙𝑜𝑐𝑠 𝑒𝑥𝑡𝑒𝑛𝑠𝑖𝑜𝑛 𝐽 = 3

𝑎𝑚é𝑙𝑖𝑜𝑟𝑎𝑡𝑖𝑜𝑛 𝑑𝑒 𝑙′é𝑓𝑓𝑖𝑐𝑎𝑐𝑖𝑡é !

Page 23: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Le code optimal pour la source 𝑋, sur un alphabet de 𝐾 lettres, est de longueur moyenne 𝐿𝑋 tel que vérifie :

𝐻(𝑋) ≤ 𝐿𝑋 < 1 + 𝐻(𝑋)

En d’autres termes, l’obligation d’utiliser des longueurs entières nous fait perdre au plus une lettre en moyenne, par rapport à la borne absolue.

On est parfois contraint à cette perte. Par exemple, pour transmettre une variable 𝑋 il faut un bit par valeur, quelle que soit l’entropie de 𝑋. Peut-on faire mieux ? Oui, en regroupant les valeurs à émettre (ie., extension de la source)

Supposons que l’on transmet 𝑋1, . . . , 𝑋𝐾 , . . . à partir d’un code pour 𝑘 valeurs consécutives,

il vient :

𝐻 𝑋1, . . . , 𝑋𝑘 ≤ 𝐿𝑋𝑘 < 1 + 𝐻(𝑋1, . . . , 𝑋𝑘) 23

Page 24: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Comme 𝐻 𝑋1, . . . , 𝑋𝑘 = 𝑘 𝐻(𝑋)

𝐻 𝑋 ≤ 1

𝑘 𝐿𝑋𝑘<

1

𝑘 + 𝐻(𝑋)

Avec ce procédé, on a reparti la lettre perdue sur 𝑘 valeurs consécutives. On ne perd donc plus que 1/𝑘 lettre par valeur de 𝑋 émise.

Commentaires: • Le premier théorème de Shannon contient en fait deux résultats : 1) 𝐿𝑋 = 𝐻(𝑋) → 𝑙𝑖𝑚𝑖𝑡𝑒 𝑑𝑒 𝑙𝑎 𝑐𝑜𝑚𝑝𝑟𝑒𝑠𝑠𝑖𝑜𝑛 𝑠𝑎𝑛𝑠 𝑝𝑒𝑟𝑡𝑒

2) 1

𝑘𝐿𝑋𝑘 = 𝐻(𝑋) + 1/𝑘 → 𝑜𝑛 𝑝𝑒𝑢𝑡 𝑎𝑡𝑡𝑒𝑖𝑛𝑑𝑟𝑒 𝑐𝑒𝑡𝑡𝑒 𝑙𝑖𝑚𝑖𝑡𝑒 (𝑘 = 𝑒𝑥𝑡𝑒𝑛𝑠𝑖𝑜𝑛)

24

Page 25: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

La longueur moyenne d’un code réversible, instantané est bornée inférieurement par l’entropie de la source et peut s’en approcher d’aussi près que l’on veut.

Pour avoir un codage sans erreur, une source 𝑋 doit être codée en moyenne avec au moins 𝐻( 𝑋 ) bits et la redondance 𝑅 ne peut pas être inferieure a l’entropie :

𝑅 ≥ 𝐻( 𝑋 ) 𝑏𝑖𝑡𝑠

Conséquences :

La mesure de la redondance d’un codage est définie par :

ℛ𝑐𝑜𝑑𝑎𝑔𝑒 = 1 − = 1 −𝐻 𝑋

𝐿= 1 −

𝐽 𝐻 𝑋

𝐿𝑏𝑙𝑜𝑐

→ ℛ𝑐𝑜𝑑𝑎𝑔𝑒 permet d’apprécier quantitativement l’efficacité d’un code

Il est possible donc de réduire à une valeur arbitraire la redondance d’un code, mais il ne donne aucune indication sur la construction de ces codes, ni sur la complexité des algorithmes de codage/décodage

Pour une source secondaire de 𝐾𝐽 symboles

25

Page 26: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

La théorie du codage s’aborde de deux manières différentes : o Purement combinatoire : on a des mots qu'on réécrit en d'autres mots, et on

s'intéresse à des propriétés combinatoires du code. Par exemple, la possibilité de retrouver le mot à partir de son codage (notion de déchiffrabilité)

o Probabiliste : on suppose que la source est un objet probabiliste qui émet des suites de symboles aléatoires, ce qui permet de s'intéresser à des propriétés ou à des grandeurs en moyenne ; c'est là qu'intervient fructueusement la notion d'entropie.

Notion de déchiffrabilité

Un code C est dit déchiffrable (ou uniquement déchiffrable, ou non ambigu) si :

∀ 𝑠 ∈ 𝑋, ∀ 𝑠′ ∈ 𝑋, 𝐶 𝑠 = 𝐶 𝑠′ 𝑠 = 𝑠′

Si un code est uniquement déchiffrable, il existe donc une fonction de décodage (fonction réciproque)

26

Page 27: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Notion de décodage

𝐷: 𝐶 𝑋 → 𝑋 𝑡𝑒𝑙𝑙𝑒 𝑞𝑢𝑒 𝐷 𝐶 𝑠 = 𝑠 ∀ 𝑠

En toute généralité, il n'est pas toujours facile de décider si un code est uniquement déchiffrable, ni, s'il l'est, de calculer la fonction de décodage.

Prouver qu'un code est ambigu est conceptuellement simple : il suffit d'exhiber deux mots distincts qui ont le même codage.

Pour prouver qu'un code est uniquement déchiffrable, c'est a priori plus compliqué: il faut exhiber la fonction de décodage et prouver qu'elle est correcte.

27

Page 28: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Exemples codages :

28

Page 29: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Exemples de décodages :

0

1 2

1 2

2

2

0

0

29

1

Page 30: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

o Codage par plage o Code de Shannon−Fano o Code de Huffman o Codage de Lempel−Ziv

Compression de l’information

Codage de source sans distorsion :

30

Page 31: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Principe : Rassembler en paquets les signes 𝑠𝑖 (émis par une source 𝑆) qui se suivent et sont identiques Au lieu de coder chaque signe 𝑠𝑖 , coder des paires de nombres : (𝑝𝑙𝑎𝑔𝑒𝑖, 𝑣𝑎𝑙𝑒𝑢𝑟𝑖) où la plage représente le nombre de signes à valeur identique rassemblés

Ce type de codage n’est proprement une méthode de codage de source, mais plutôt une transformation préalable des symboles de la source

Il consiste à créer de nouveaux symboles pour désigner des séquences de symboles qui apparaissent fréquemment

31

Page 32: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Exemples :

010011000110100011001101010001011011

Il peut être intéressant de les transformer avant leur transmission en créant un nouveau symbole pour désigner 3 symboles « 0 » successifs et une autre pour désigner 2 symboles « 1 » successifs, en notant 𝑠1 = 0, 𝑠2 = 1, 𝑠3 = 000, 𝑠4 = 11, la séquence devient :

𝑠1𝑠2𝑠1𝑠1𝑠4𝑠3𝑠4𝑠1𝑠2𝑠3𝑠4𝑠1𝑠1𝑠4𝑠1𝑠2𝑠1𝑠2𝑠3𝑠2𝑠1𝑠4𝑠1𝑠4

Image a peu de niveaux de gris ou de couleurs :

10 10 10 17 18 18 31 31 31 31

3,10 1,17 2,18 4,31

32

Page 33: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

o Ces groupements doivent être choisis arbitrairement, car il n’existe pas de méthode optimale de construction d’un codage par plages. o Ces transformation sont utilisées en particulier pour la transmission et le stockage

d’images

o Codage efficace seulement si les plages de signes sont suffisamment grandes

Exemple :

010000111000000001111110000011

La ligne d’une image noir et blanc de 30 colonnes :

Est efficacement transformée en :

𝑏1𝑛1𝑏4𝑛3𝑏8𝑛6𝑏5𝑛2

𝑏𝑖 = 𝑖 𝑝𝑖𝑥𝑒𝑙 𝑏𝑙𝑎𝑛𝑐𝑠 𝑠𝑢𝑐𝑐𝑒𝑠𝑠𝑖𝑓𝑠 𝑛𝑗 = 𝑗 𝑝𝑖𝑥𝑒𝑙 𝑛𝑜𝑖𝑟𝑠 𝑠𝑢𝑐𝑐𝑒𝑠𝑠𝑖𝑓𝑠 33

Page 34: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Cette méthode repose sur la maximisation de l’entropie à la sortie du codeur

Algorithme: 1) Ordonner les symboles de la source en probabilités décroissantes

2) Séparer les symboles en deux groupes de probabilités les plus proches possibles. 3) Le symbole du groupe supérieur sera "0" et celui du groupe inférieur "1"

4) Répéter cette opération à chaque sous-ensemble jusqu’à ce que chaque signe possède

un code distinct

Exemple : Transmission dans un canal binaire de l’extension de l’ordre 2 d’une source binaire dont les probabilités des symboles sont les suivantes :

0

1 0

1 0

1

1

1 1

𝑐1 = 0

𝑐2 = 1 0

𝑐3 = 1 1 0

𝑐4 = 1 1 1

𝑝1 = 0,49

𝑝2 = 0,21

𝑝4 = 0,09

𝑝3 = 0,21

Remarque : Cette procédure ne garantit pas qu’il n’existe pas une autre procédure conduisant à une valeur 𝐿 < 𝐿𝑆ℎ−𝐹𝑎𝑛𝑜

34

Page 35: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Symbole Probabilité 1- Ordonner les symboles de la source en probabilités décroissantes

2- Séparer les symboles en deux groupes de probabilités les plus proches possibles

0

1 0

1 0

1 0

1 0

1

1

1

1

1

1

1 1

1 1 1

𝑐1 = 0

𝑐2 = 1 0

𝑐3 = 1 1 0

𝑐4 = 1 1 1 0

𝑐5 = 1 1 1 10

𝑐6 = 1 1 1 1 1

3- Répéter cette opération à chaque sous-ensemble jusqu’à ce que chaque signe possède un code distinct

35

Page 36: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

o Ordonner les symboles de la source dans l’ordre décroissante des probabilités.

Algorithme

o Attribuer aux M derniers pair de symboles les codes 𝑐1, 𝑐2… 𝑐𝑀 (ici binaire 0 ou 1)

o Remplacer ces M symboles par un nouveau symbole dont la probabilité est la somme des probabilités des M symboles remplacés et recommencer au premier point.

0,3

𝑝1 = 0,49

𝑝2 = 0,21

𝑝4 = 0,09

𝑝3 = 0,21

0,49

0,21 𝟏

𝟎

0,51

0,49 𝟏

𝟎 𝑐1 = 1

𝑐2 = 01

𝑐3 = 000

𝑐4 = 001

Exemple :

𝟏

𝟎

𝟎

𝟏

𝟎

𝟏

𝟎

𝟎

𝟏

𝟎

𝟎

𝟎

Codage instantané, réversible et compact (dont la longueur moyenne est la plus petite possible)

36

Page 37: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Code à décodage instantané compact : − répandu en raison de son gratuité et son efficacité − préconisé dans de normes de compression d’image (JPEG,MPEG) − efficacité meilleure si l’encodage est par blocs de signes avec la possibilité d’obtention

de 𝐿𝑚

𝑚

𝑏𝑖𝑡𝑠

𝑠𝑦𝑚𝑏𝑜𝑙𝑒< 1

− comparé au Code de Shannon−Fano, le gain en compression est parfois mineur devant l’augmentation de la complexité des algorithmes de codage/décodage .

37

Conclusions :

Page 38: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Exemple :

𝐶𝑜𝑑𝑎𝑔𝑒 0,1 →

𝐶𝑜𝑑𝑎𝑔𝑒 1,0 →

𝟎 1 𝟎

1

1

𝟎 0

𝟎 1

1

𝟎 0

1

𝟎

𝟎 0

𝟏 𝟎

𝟏 𝟎

𝟎

𝟏

𝟏

𝟎

𝟏 𝟎

𝟎

𝟏

𝟏

𝟏

𝟏

𝟏

38

Page 39: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Exemple :

𝟎 𝟏 𝟎

𝟏

𝟏 𝟎 𝟎

𝟎 𝟏

𝟏 𝟎 𝟎

1 0 0 0 𝟎

𝟏

𝟏 𝟎 𝟎

1 0 0 0

1 0 0 0 0 𝟎

𝟏

𝟏 𝟎 𝟎

1 0 0 0

1 0 0 0 0

1 0 0 0 0 0

= 1

= 01

= 001

= 0001

= 00000

= 00001

Code :

𝐻 𝑋 = 𝑝𝑘 log21

𝑝𝑘

𝑁=6

𝑘=1

= 0,50 + 0,47 + 0,36 + 0,29 + 0,24 + 0,21 = 2,10 𝑏𝑖𝑡𝑠/𝑠𝑦𝑚𝑏

𝐿 = 𝑙𝑘 𝑝𝑘

𝑁=6

𝑘=1

= 0,48 + 0,42 + 0,36 + 0,32 + 0,3 + 0,25 = 2,13 𝑏𝑖𝑡𝑠/𝑠𝑦𝑚𝑏𝑜𝑙𝑒

=𝐻 𝑋

𝐿=2,10

2,13= 98,5 %

39

Page 40: Cours n° 7 - efreidoc.frefreidoc.fr/L2 - PL2/Entropie/Cours/2012-13.cours... · Codage avec mots de longueur fixe, efficacité : Exemple pour le cas d'un codage binaire o Une manière

Remarques : o L'efficacité peut être améliorée si on effectue au préalable une extension de source

c'est à dire une transmission par blocs.

o Si 𝑝𝑘 = 2−2𝑙𝑘 , on obtient une efficacité = 100%.

o Ce type de technique amélioré est aussi utilisé pour la compression de données

comme pour les algorithmes Lempel Ziv utilisés pour le compactage sur disque dur (Zip).

40