Académique Documents
Professionnel Documents
Culture Documents
Les travaux de Shannon (1940) ont posé les bases de la théorie de l’information.
Idée : lier la quantité d’information d’un message à sa
probabilité d’occurrence (connue ou estimée).
Considérons une source d’information S définie par :
– Ensemble fini de N symboles (S)N=(s1, s2, …, sN) appelé alphabet ;
– Processus d’émission de suite de symboles, selon une loi de probabilité
(P)N=(p(s1), p(s2), … , p(sN)), où ∪si est l’événement certain
(Σ p(si)=1).
Message émis Code Message reçu
Source
d’information Codeur Canal Décodeur Destinataire
Système de codage
Théorie de l’information Processus de transmission numérique
1
03/12/2016
2
03/12/2016
Propriétés
Événements s'excluant mutuellement : A et Ā
P(A)=1-P(Ā)
Quand l'événement A entraîne B : A⊂B
P(A)≤P(B)
Somme des événements: P(A+B) ≤ P(A)+P(B)
Événements A et B incompatibles: P(A+B)=P(A)+P(B)
Événements A et B compatibles : P(A+B)=P(A)+P(B)-P(AB)
k événements 2 à 2 incompatibles:
P(A1+A2+…+AN)=P(A1)+P(A2)+…+P(AN)
Produit des événements A et B
Événements A et B indépendants : P(AB) = P(A)P(B)
Événements A et B dépendants: P(AB)≤ P(A) et P(AB)≤ P(B)
Cas particulier pour K événements s'excluant mutuellement:
P(A1)+P(A2)+…+P(AN)=1
5
3
03/12/2016
4
03/12/2016
5
03/12/2016
b) Inégalité de Kraft-McMillan,
Il faut minimiser R sous la contrainte que le code soit séparable.
Un code composé de N mots de code de longueur ℓi (i=1, 2,…, N)
est séparable et instantané si et seulement si, il vérifie l’inégalité:
N
1
Où r est la taille de l’alphabet du codeur (r=2). ∑
i =1 r
li
≤1
Condition nécessaire et suffisante de l'existence des
codes séparable et instantanés respectant les longueurs ℓi.
Code séparable mais pas instantané:
Exemple: li ne vérifient pas l’inégalité de Kraft-McMillan.
li code li code
1 0
Code séparable et instantané:
1 0
2 10 2 10 Conséquence de l’inégalité de Kraft-
3 110 3 110 McMillan: Tout code séparable peut être
5 11100 4 1110 remplacé par un code instantané de
5 11101 5 11110 même distribution de longueurs.
5 11110 5 11111 1 1 1 1 1 1 1
6 111110 6 Erreur + + + + + + >1
11
6 111111
2 4 8 16 32 32 64
i i
Résolution: par la méthode des multiplicateurs de Lagrange:
L = ∑ pi li − λ ∑ 2 − l ioù λ est le multiplicateur de Lagrange.
i i
∂L
On doit annuler les dérivées = pi − λ′2−li = 0
∂li
où λ’ est toujours constant.
L’optimum est atteint lorsque les pi et 2−li sont proportionnels, pour
une contrainte saturée ∑ 2−li = 1. La constante de proportionnalité vaut
forcément λ’ = 1 ; on trouve donc que R est minimisé lorsque:
1
li = log2 Problème: Ce résultat ne donne pas, en général,
pi des longueurs li entières! Contrainte nécessaire.
On découvre que le taux minimal N
E = ∑ pi log 2
1
12 est l’entropie de la source: i =1 pi
6
03/12/2016
7
03/12/2016
Procédure de codage:
Construire un arbre dont les suites de bits 0 ou 1 partant de la racine
vers chacune des feuilles constituent les mots de code.
Exemple: Coder les 8 symboles si, i=0,…,7 de probabilités
respectives 0.17, 0.10, 0.28, 0.22, 0.05, 0.05, 0.06 et 0.07 en
utilisant le codage de Shannon.
L’entropie de la source est égale à: 2,67 bits. Symboles probabilité Code
ordonnés
0.28 1 1 s2 0.28 11
0.50 0.50 0.50 0.50 0.50
0.22 0 s3 0.22 10
0.17 0.17 1 s0 0.17 011
0.27 0.27 0.27 1
0.10 0.10 0 s1 0.10 010
1
0.07 0.07 0.07 1 1 s7 0.07 0011
0.13 0
0.06 0.06 0
0 0.50
0.06 s6 0.06 0010
1 0.23
0.05 0.05 0.05 0 s4 0.05 0001
0 0.10
0.05 0.05 0.05 s5 0.05 0000
b) Codage de Huffman,
Principe: Remplacer la valeur d'entrée par un code dont la longueur
dépend de sa probabilité d’occurrence (estimée par une
séquence d'apprentissage avant le traitement).
La conception du code peut être considéré comme un algorithme
arborescent.
Algorithme: Soit l'ensemble de symboles suivant: X={xi, i=0,…, M-1}
et si la probabilité de chaque symbole a été estimée dans la série
suivante: P={pi, i=0, … , M-1}. L'objectif est de créer un arbre,
nœud par nœud, de façon à atteindre sa racine (nœud principal).
Supposant que l'ensemble de nœuds est appelée: Nt={nit,i=0,…,
Qt-1} où t représente le nombre de nouveaux nœuds créés.
Trier P dans l'ordre décroissant. Ils sont considérés comme des
feuilles.
16
8
03/12/2016
9
03/12/2016
10
03/12/2016
Remarques:
Si une source a de nombreux symboles, relativement
uniformément distribués, le codage de Huffman est meilleur
que celui de Shannon en terme d’efficacité de compression.
La méthode de Huffman n’est pas adaptée à des changements
de statistiques de sources lors du codage du message.
En pratique, le codage de Huffman est développé sur une
base de signaux (images), puis appliqué à toute une série de
signaux différents.
Il constitue l’une des méthodes de codage les plus
importantes des techniques de compression.
21
Code de Huffman
16/25 8/25 1/25
0 1
0
9/25
1
Alphabet Codage Fréquence Codage 25/25
de base compacté
00 16/25 0
01 8/25 10 Codage Huffman(34bits)
00000
10 1/25 11 01010100
01011100
Codage de base (50bits)
01010100
0000000000
00000
0001010100
0001100100
0001010100
22 0000000000
11
03/12/2016
c) Codage Arithmétique,
Il consiste à coder une chaîne de symboles par un nombre appartenant
à l’intervalle [0,1[. La procédure:
Calculer la probabilité associée à chaque symbole.
Associer à chaque symbole un sous-intervalle de [0,1[
proportionnel à sa probabilité (l’ordre de rangement des
intervalles sera mémorisé car il est nécessaire au décodeur).
Tant qu’il reste un symbole dans la chaîne à coder :
(a) largeur=limite supérieure – limite inférieure
(b) lim. Inf.=lim. Inf.+largeur×(lim. Inf. du sous intervalle du
symbole)
(c) lim. Sup.=lim. Inf.+largeur×(lim. Sup. du sous intervalle du
symbole)
La limite inférieure finale code la chaîne de manière unique.
On rajoute un symbole spécial pour déterminer la fin du
23 message où l’on donne la longueur du flot et le message codé.
Exemple,
Considérons 4 symboles a, b, c et d de probabilités respectives 0.4
0.3, 0.2 et 0.1. Les messages sont codés de manière ordonnée en
probabilités cumulées [0, 0.4 , 0.7 , 0.9, 1[.
Soit le codage du message « bacd »:
b∈[0.4, 0.7[ et le symbole suivant a∈[0, 0.4[, ce qui réduit
l’intervalle courant à [0.4, 0.4+(0.7-0.4)×0.4[=[0.4, 0.52[.
Le symbole suivant c∈[0.7, 0.9[, qui à l’échelle de [0.4, 0.52[
devient [(0.4+0.12×0.7), (0.4+0.12×0.9)[ soit [0.484, 0.508[.
Le dernier symbole d, initialement dans [0.9, 1[donne
l’intervalle final [0.5056, 0.508[.
24
12
03/12/2016
Exemple,
Le décodage de la chaîne (codé par 0.5056) se procède de la
manière suivante:
0.5056 est dans l’intervalle [0.4 0.7[, ce qui correspond au
symbole b,
l’intervalle [0.4, 0.7[ divisé selon les probabilités
ordonnées en [0.4, 0.52, 0.61, 0.67, 0.7[. 0.5056 est dans le
premier sous-intervalle, et correspond donc au symbole a,
etc…
Remarques,
En pratique n’importe quelle valeur de l’intervalle final peut
coder la séquence.
Le codage arithmétique permet d’atteindre des taux très
proches de l’entropie théorique.
Il est gourmand en ressources et nécessite de connaitre à
25
priori l’intégralité du signal avant de procéder au codage
13
03/12/2016
Exemple:
Calculer la taille de l’image quantifiée sur 8 bits.
1 1 1 1 15 15 15 15
1 1 1 1 15 15 15 15
1 1 1 1 15 15 15 15
1 1 1 1 15 15 15 15
100 100 100 100 100 100 100 100
100 100 100 100 100 100 100 100
50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50
28
14
03/12/2016
30
15
03/12/2016
Exemple
Appliquer l’algorithme LZW sur une chaîne de caractère suivant:
Chaine = “la vie ne vaut rien mais rien ne vaut la vie.”
On suppose qu'on utilise un code ASCII de 256 caractères (8-bits)
comme dictionnaire de base. La longueur de cette chaîne est de 45
caractères.
Elle nécessite donc 45 * 8 = 360 bits d'espace de stockage.
Voir table de codage de cette chaine.
Après la compression, on obtient une séquence 16 adresses
codées sur 9 bits sur la sortie :
la vie n<255><261>vaut r<260>n mais<269><271><262>…
Elle nécessite 9 ×8+ 24×9 = 288 bits d'espace de stockage.
32
16
03/12/2016
17
03/12/2016
Quelques applications:
Plusieurs formats d’image de documents supportent un type de
compression de données appelée codage CCITT.
Le codage RLE est utilisé pour la construction des méthodes de
compression des images qui conduisent aux principaux formats
de fichiers d’images comme par exemple: TIFF, BMP, PCX ou
de documents comme par exemple le PDF.
LZW, LZ77 et LZ78 sont les références en matière de
compression à usage général, comme par exemple dans la
méthode de compression d’images JPEG.
Le codage LZW est utilisé aussi pour la réalisation des formats
GIF, TIFF ou PDF.
36
18
03/12/2016
37
19
03/12/2016
39
L’entropie d’une image est l’entropie de sa distribution
de niveaux de gris (de son histogramme)
20