Vous êtes sur la page 1sur 63

Transmission des données et codage

Pr. S. El Hassani
ENSAJ 2017 - 2018

1 Pr. El Hassani 2017/2018

Introduction à la théorie de
l’information

2 Pr. El Hassani 2017/2018


Introduction

} Claude Elwood Shannon: A


mathematical theory of communication,
Bell Systems Technical Journal, Vol. 27,
pp. 379-423 and 623-656, 1948
} Modèle qualitatif et quantitatif de la
communication en tant que processus
aléatoire régi par la théorie de l’information,
introduit par cette déclaration :
"The fundamental problem of communication is that of
reproducing at one point, either exactly or approximately, a
message selected at another point"
à But d’un système de télécommunication :
¢
« Reproduire en un point donné, de manière exacte ou
3 Pr. El Hassani 2017/2018
approximative, un message sélectionné en un autre point”

Introduction
} Mais : canal généralement bruité
} à Comment obtenir une communication parfaite dans
ces conditions ?
} à Théorie de l’information
} Exemples de canaux de transmission :
} une ligne téléphonique entre deux modems
} un canal radio-mobile entre une station de base et un mobile
} un disque dur
} Message : peut être analogique (parole, son, image, etc.)
ou numérique (données)
} Dans un système de communication numérique, le message
analogique devra être converti en numérique avant traitement

4 Pr. El Hassani 2017/2018


Modèle d ’un système de communication

5 Pr. El Hassani 2017/2018

Modèle d ’un système de communication


} Exemple : système très simple qui transmet une image à un
destinataire à travers un canal binaire symétrique
} Canal binaire symétrique : défini par sa probabilité de transition p =
P(Y = 0|X = 1) = P(Y = 1|X = 0)
} Pour p = 0,1, exemple :

6 Pr. El Hassani 2017/2018


Modèle d ’un système de communication

} Dans un système de communication, besoin de :


} protéger les bits d’information contre les erreurs de
transmission
} maximiser le nombre de bits transmis dans le canal de
transmission
} à synoptique d’un système de communication tel qu’il est
décrit par Shannon

7 Pr. El Hassani 2017/2018

Modèle d ’un système de communication


} En d’autres termes : les objectifs typiques de la
transmission d’information sont :
} Un encodage rapide de l’information
} Une transmission facile des messages encodés
} Une utilisation efficace du canal disponible (transfert
maximum par unité de temps)
} Un décodage rapide
} Une correction des erreurs introduites par le canal autant
que possible
} Ces objectifs sont comme souvent contradictoires à
compromis

8 Pr. El Hassani 2017/2018


Modèle d ’un système de communication

} Codeur de source : représenter le message avec le moins


de bits possibles à éliminer la redondance
} Codage de canal : protéger le message des perturbations
du canal de transmission en ajoutant de la redondance au
message compressé
} Modulation : à Pour une modulation M-aire, on associe à
chaque mot de g bits un signal xi(t), i = 1, . . . ,M de durée
T choisi parmi les M = 2g signaux possibles
} Démodulateur : extraire les échantillons tout en
maximisant un critère (rapport signal à bruit, taux
d’erreurs bit, ...)
} Détecteur : décider des symboles les plus probablement
émis
} Si décodage de canal à entrées pondérées, remplacer ce
détecteur par un détecteur délivrant des informations
pondérées
9 Pr. El Hassani 2017/2018

Modèle d ’un système de communication


} Qualité d’un système de transmission : évaluée en
calculant ou en mesurant la probabilité d’erreurs par
bit d’information (ou par bloc d’information)
} Autres paramètres importants d’un système de
communication : complexité et occupation spectrale

10 Pr. El Hassani 2017/2018


Introduction
} Concept théorique d'information : introduit à partir de
recherches théoriques en physique et en mathématiques
par Boltzmann et Markov sur la notion de probabilité d'un
événement et les possibilités de mesure de cette
probabilité
} Plus tard, l'ingénieur américain Claude Elwood Shannon
détermine en 1948 l’information comme une grandeur et
mesurable
} àThéorie de l'information élaborée et énoncée par
Shannon
} à possibilité paradoxale d'une communication sans
erreur malgré des bruits perturbateurs affectant la
transmission, si codage approprié

11 Pr. El Hassani 2017/2018

Introduction
} Théorie utile, indispensable aux ingénieurs de
communication
} Proposée en 1948, année aussi de l’invention du
transistor
} Théorie indifférente à la signification des messages
} Transfert d'un objet, une lettre par exemple
} Information : pas d'incidence sur les moyens de la transporter
} Quantité d'information mesurable selon la théorie de Shannon
} Constat : la transmission d’un message certain est inutile
} Source d’information : événements aléatoires qui constituent le
message
} Quantité d’information d’un message : mesure de son
imprévisibilité

12 Pr. El Hassani 2017/2018


Introduction
} Imprévisibilité?
} Texte :
} Caractères qui n’ont pas la même probabilité d’apparition
} Structure interne forte (grammaire)
} Musique : distribution des probabilités d’apparition des
sons n’est pas uniforme
} Images : régularités
} à Compression des données

13 Pr. El Hassani 2017/2018

Notion d’Information
} Selon Norbert Wiener, fondateur de la cybernétique*,
la notion de quantité d’information est naturellement
liée à la notion classique d’entropie
} La quantité d’information dans un système est la mesure
de son degré d’organisation, l’entropie est une mesure de
son manque d’organisation (Wiener (1948))

} *Terme, formé à partir du grec κῠβερνήτης (kubernêtês) « pilote, gouverneur », proposé en 1947 par
Norbert Wiener pour promouvoir une vision unifiée des domaines naissants de l'automatique, de
l'électronique et de la théorie mathématique de l'information

14 Pr. El Hassani 2017/2018


Notion d’Information
Selon Claude Shannon
} à intérêt pour les limites d’un canal de transmission
et le coût du transfert d’information par une ligne
téléphonique
} à Information : mesure purement quantitative des
échanges de communication
} Lien avec l’entropie*

} *Shannon & Weaver 1959

15 Pr. El Hassani 2017/2018

Selon Shannon
} Shannon a défini l’information en termes de
probabilités
} mesure de l’information qu’on obtient en observant à
information en termes de probabilité,
} Mais il a ignoré toute particularité ou caractéristiques de
l’événement
} Exemple : lancement d’une pièce : résultat P ou F avec une
probabilité ½ à un seul lancement nous donne - log2(1/2) = 1
bit (Binary digit) d’information
} L’information mesurée en bit est la réduction de
l’incertitude dans l’esprit du récepteur
} L’information (en bits) est la quantité d’incertitude que la mesure
élimine

16 Pr. El Hassani 2017/2018


Selon Shannon
} A un grand impact dans le traitement numérique de
l’information
} Exemple : maximisation de la capacité des canaux : codage

} A un impact désagréable quand il s’agit de lier


l’information à la signification, contexte,
interprétation, sciences humaines, valeurs, etc.
} La mesure de l’information par les critères humains reste illusive

17 Pr. El Hassani 2017/2018

Bits ?

} Intuition : Il y a plus d’information dans une bibliothèque


municipale que dans un seul mot
} … mais, comment le prouver rigoureusement?
} Quand deux parties communiquent :
} On peut voir la communication comme une réponse à une ou plusieurs
questions
} Exemple : deux personnes A et B décident s’ils vont déjeuner ensemble.
Ils se mettent d’accord à l’avance pour que A appelle B pour donner le
plus court message donnant la réponse
} Dire “oui” si déjeuner, “non” sinon
} Autre exemple : Il faut aussi décider s’ils se promènent ensemble
} Cette fois, ils se mettent d’accord pour dire “oui, oui” pour la
promenade et le déjeuner, “oui, non” pour le déjeuner seul, “non, oui
“pour la promenade seule et “non, non” pour rester chez soi

18 …communication : réponse Pr.


à Eldes questions
Hassani 2017/2018 ?
Bits ?

} Dire “oui” ou “non” n’est pas suffisant…


} … il faut se mettre d’accord sur ce que les choix sont
} Plus il y a de choix à faire, plus de réponse “oui” ou
“non” on devra communiquer

On définit la capacité de faire parvenir une réponse


simple “oui” ou un “non” comme étant un bit

On définit la quantité d’information comme étant le


nombre de questions oui/non auxquelles on devrait
19
répondre Pr. El Hassani 2017/2018

Types de canaux

20 Pr. El Hassani 2017/2018


Rappels : Variables aléatoires
} Soit une variable aléatoire X ayant pour espace de
réalisations AX = {x1, x2, . . . , xn} (alphabet) avec les
probabilités respectives PX = {p1, p2, . . . , pn } avec :
P ( X k = xi ) = pi ; pi ³ 0 et åp i =1
xi ÎAX

} Soient deux variables aléatoires X et Y ayant pour


espaces de réalisation respectifs AX = {x1, x2, . . . ,
xn} et AY = {y1, y2, . . . , ym}
} P(X = xi , Y = yj) est appelée probabilité conjointe des
évènements X = xi et Y = yj . On a :

å å P (X = x , Y = y ) = 1
xi ÎAx y j ÎAy
i j

21 Pr. El Hassani 2017/2018

Rappels : Probabilités marginale et


conditionnelle
} Probabilité P(X = xi ) : peut être obtenue à partir de
P(X = xi , Y = yj) :

P ( X = xi ) = å P (X = x , Y = y )
y j ÎAy
i j

} On a la probabilité conditionnelle :

(
P X = xi Y = y j = ) P(XP=(Yx=,Yy =) y )i j

P (X = xi , Y = y j )
P (Y = y j X = xi ) =
P ( X = xi )

22 Pr. El Hassani 2017/2018


Rappels : Loi de Bayès

( ) P(Y = y PX(Y==xy)P)( X = x )
P X = xi Y = y j = j i i

P (Y = y j X = xi )P ( X = xi )
=
å xk ÎAx
P ( X = xk , Y = y j )
P (Y = y j X = xi )P ( X = xi )
=
å xk ÎAx
P (Y = y j X = xk )P ( X = xk )
} P(X = xi | Y = yj) : probabilité a posteriori sur la
réalisation de l’événement X = xi sachant la
réalisation de l’événement Y = yj
} P(Y = yj) : probabilité a priori

23 Pr. El Hassani 2017/2018

Rappels : Indépendance
} L’indépendance de deux variables aléatoires X et Y
implique :
} P(X, Y) = P(X) P(Y )
} P(X|Y ) = P(X)

24 Pr. El Hassani 2017/2018


Types de canaux
}Dans la chaine de communication on a :
canal = milieu de transmission + perturbations
} Possible de le définir de manière différente, en incluant
par exemple des fonctions telles que l'émetteur et le
récepteur
} Si l’émetteur et le récepteur font partie du canal de
transmission, l'entrée et la sortie du canal sont discrètes

25 Pr. El Hassani 2017/2018

Types de canaux
} Canal : fonction de transmission de l'information situé
entre la source et la destination. Le canal opère une
transformation entre l'espace des symboles à l'entrée et
celui de la sortie
} Canal discret : les espaces d'entrée et de sortie sont
discrets
} Canal continu : les espaces d'entrée et de sortie sont
continus
} Canal sans mémoire : si la transformation d'un symbole
x à l'entrée en un symbole y en sortie ne dépend pas des
transformations antérieures
} Canal avec mémoire : la sortie courante dépend des
sorties précédentes
} Canal stationnaire : si les transformations ne dépendent
pas de l'origine des temps
26 Pr. El Hassani 2017/2018
Canal discret

} Canal discret :
} Possède généralement des alphabets finis :
} d'entrée : X=(x1.....xi.....xn)
} de sortie : Y=(y1.....yj.....ym)
} Caractérisé par des probabilités de transition notées
Pk(yj/xi) avec :
P k ( y j / xi ) = Pr{Yk = y j / X k = xi } et å (y j / xi ) = 1
m k
j =1
P
} Xk et Yk : symboles discrets à l'entrée et à la sortie du canal à
l'instant k
} Si les probabilités de transition sont indépendantes du
temps : canal stationnaire
} Si Yk ne dépend que de Xk : canal sans mémoire
27 Pr. El Hassani 2017/2018

Canal binaire symétrique

} Le canal binaire symétrique est le canal le plus


simple possible puisque l’entrée et la sortie du
canal sont binaires

} Canal caractérisé par 4 probabilités de transition :


P(Y=0|X=1)=P(Y=1|X=0)=p
P(Y=0|X=0)=P(Y=1|X=1)=1 − p
p : probabilité d’inversion
28 Pr. El Hassani 2017/2018
Canal binaire symétrique

} Le canal binaire symétrique est sans mémoire :


soient x et y respectivement les séquences
d’entrée et de sortie composées de n bits :
} x=[x1, x2, . . . , xn] et y=[y1, y2, . . . , yn]
} Absence de mémoire dans le canal :

} Probabilité conditionnelle jointe = produit des n


probabilités conditionnelles P(Y = yj |X = xi)

29 Pr. El Hassani 2017/2018

Canal binaire symétrique


} Peut être utilisé pour modéliser une transmission sans
interférence entre symboles (absence de mémoire)
perturbée par un bruit additif, blanc (stationnarité),
centré, gaussien (symétrie des erreurs), avec
démodulation cohérente ou non
} Si décision pondérée non quantifiée du démodulateur,
entrée du canal discrète mais sortie continue
} Yk : alphabet continu (réels par exemple)
} à deuxième modèle de canal, à entrée discrète et à sortie
continue
} Si canal stationnaire et sans mémoire, il est aussi
complètement défini par ses densités de probabilités
conditionnelles p(y|Xk=xi);i=1......n
} y : réalisation du symbole Yk

30 Pr. El Hassani 2017/2018


Canal AWGN
} Canal à bruit blanc additif gaussien : canal à alphabet de
sortie continu
} important
} permet de modéliser les canaux dont le bruit prédominant est
le bruit thermique
} Nous considérerons que le signal en entrée du canal est
en bande de base limitée à B et que le bruit additif est
stationnaire, blanc, gaussien et de densité spectrale de
puissance N0 : N=N0B
2
} Rappel : 1
1 æ x-m ö
- ç ÷
2è s ø
} loi gaussienne f ( x) = e
s 2p
Notation variable gaussienne : X ~ N (m , s )
2
}

31 Pr. El Hassani 2017/2018

Canal AWGN

} Yk =Xk+Bk où Bk est un bruit blanc, gaussien,


stationnaire, de moyenne nulle, indépendant
des symboles Xk et de variance σ2

} Densités de probabilité de transition :


-
( y - xi )2
1
p( y / X k = xi ) = e 2s 2
; i = 1,L, n
2p s
32 Pr. El Hassani 2017/2018
Mesure de l’information

33 Pr. El Hassani 2017/2018

Mesure de l’information
}Soit une variable aléatoire X et xi une réalisation de cette
variable
à Une mesure de l’information apportée par l’événement
X= xi, notée h(xi) doit satisfaire :
} h(xi) continue pour P(X = xi) entre 0 et 1
} h(xi) = ∞ si P(X = xi) = 0 :
} Un événement impossibe apporte une information infinie
} h(xi) = 0 si P(X = xi ) = 1 :
} un événement certain n’apporte pas d’information
} h(xi) > h(yj) si P(Y = yj) > P(X = xi)
} h(xi) + h(yj) = h(xi , yj) quand X et Y indépendants : La
réalisation de 2 évènements indépendants apporte une
quantité d’information égale à la somme des informations de
ces 2 évènements

34 Pr. El Hassani 2017/2018


Mesure de l’information

} Une seule expression de la quantité d’information


h(xi) associée à la réalisation de l’évènement X =
xi satisfaisant les propriétés précédentes :
1
h( xi ) = log 2 = - log 2 P( X = xi ) = - log 2 pi
P( X = xi )

} évènement très probable => moins d’information


qu’un évènement peu probable
} Si utilisation de la base 2, h(xi) est en Shannon (Sh)
} Si logarithme népérien, h(xi) en Nat (natural unit en
anglais)
35 Pr. El Hassani 2017/2018

Mesure de l’information

} Exemple : soit une source discrète produisant des bits


(0 ou 1) avec la probabilité 1/2
} Quantité d’information associée à la réalisation de
l’événement X = 0 ou X = 1 ?
1
h(0) = h(1) = - log 2
= 1Sh
2
} Si génération d’une séquence de n bits indépendants :
} Nombre de séquences différentes?
} 2n
} Chacune se produit avec quelle probabilité ?
} 1/ 2n
} à information ?
} Pour une séquence particulière :
1
h(séquence de n bits) = - log 2 n
= n Sh
} 2
36 Pr. El Hassani 2017/2018
Mesure de l’information

} Réalisation de deux événements X = xi et Y = yj

å å P (X = x , Y = y ) = 1
xi Î Ax y j Î Ay
i j

} P(X = xi , Y = yj) : probabilité conjointe des deux


évènements
} Quantité d’information associée à la réalisation
de l’événement X = xi conditionnellement à
l’évènement Y = yj :
( )
h xi y j = log 2
( )
1
P X = xi Y = y j
(
= - log 2 P X = xi Y = y j )
} ( ) ( ) ( ) ( )
à h xi , y j = h xi y j + h y j = h y j xi + h( xi )
37 Pr. El Hassani 2017/2018

Mesure de l’information
Exemple : on tire une carte au hasard dans un jeu de
32 cartes
}4 couleurs : cœur, pique, carreau et trèfle
} 8 valeurs : 7,8, 9, 10 valet dame roi as
Soit x l’événement "la carte tirée est un as de trèfle" et y
l’événement « la carte tirée est un trèfle »
h(x), h(y) et h(x|y) ?
} On a : P ( X = x ) = 1 et P (Y = y ) = 1
à h( x) = - log 1 =32 4 1
5 Sh et h( y ) = - log 2 = 2 Sh
2
32 4
P( X = x, Y = y ) 1 / 32 1
P(X = x Y = y ) = = =
P(Y = y ) 1/ 4 8
h(x y ) = - log 2 P ( X = x Y = y ) = -Pr.log
1
38 = 3 Sh
El 2Hassani 2017/2018
8
Mesure de l’information : Entropie

Soit une variable aléatoire X prenant ses valeurs


dans un alphabet Ax={x1, x2, …, xn}.
} L’entropie de X, notée H(X), est définie comme
étant l’information moyenne des réalisations de
X: n
H ( X ) = å P( X = xi )h( xi )
i =1
n
= å - pi log 2 ( pi )
i =1

} Mesure qui caractérise l’alphabet


} L'entropie mesure l'incertitude

39 Pr. El Hassani 2017/2018

Mesure de l’information : Entropie

} Entropie :
} Positive
} Maximum log2 (n) : atteint si réalisations
équiprobables du symbole (P(xi)=1/n)
} nulle si le Xk possède une réalisation certaine
(P(xi)=1)
} Entropie (conjointe) :
H ( X , Y ) = åå P (X = xi , Y = y j )h (xi ; y j )
n m

i =1 j =1

40 Pr. El Hassani 2017/2018


Mesure de l’information : Entropie
} à Peut être généralisée à un ensemble de p
symboles (Xk....Xk+i.....Xk+p−1)
H (X k , L , X k +i , L , X k + p -1 ) = å j=1L ål=1L P (x j L xl )log2 (P (x j L xl ))
n n

avec P(x j L xl ) = Pr{X k = x j ,L, X k + p-1 = xl }


} Entropie conditionnelle :
n
H (Y X ) = å P( X = xi )H (Y X = xi )
i =1

= -å P( X = xi )å P (Y = y j X = xi )log 2 P (Y = y j X = xi )
n m

i =1 j =1

= åå P (X = xi , Y = y j )log 2 P (Y = y j X = xi )
n m

i =1 j =1

41 Pr. El Hassani 2017/2018

Information mutuelle

} Information mutuelle : quantité d’information


que la réalisation de l’événement Y = yj apporte
sur l’événement X = xi
} C’est la différence entre la quantité d’information
associée à la réalisation de l’événement X = xi et la
quantité d’information associée à la réalisation de
l’événement X = xi conditionnellement à l’événement
Y = yj

} à i (xi ; y j ) = h( xi ) - h( xi y j )
æ P ( X = xi Y = y j ) ö
= log 2 ç ÷
ç P ( X = xi )Pr. El ÷Hassani
42 è ø 2017/2018
Information mutuelle

¢ Si événements indépendants :
} P(X = xi | Y = yj ) = P(X = xi ) à i(xi ,yj) = 0
¢ Si événements X = xi et Y = yj équivalents
} P(X = xi | Y = yj ) = 1 et à i(xi ,yj) = h(xi)

(
P X = xi Y = y j ) = P (X = x , Y = y )
i j
=
P (Y = y j X = xi )
P( X = xi )P (Y = y j ) P (Y = y j )
} On a : P( X = xi )

} à information apportée par la réalisation Y = yj à


X = xi est identique à ce que X = xi apporte sur Y = yj
} i(xi ; yj) = i(yj ; xi )

43 Pr. El Hassani 2017/2018

Information mutuelle
} On a aussi :
i (xi ; y j ) = h( xi ) - h( xi y j )
= h( xi ) + h( y j ) - h( xi , y j )
= h( y j ) - h( y j xi )

} Information mutuelle : importante pour les


communications
} En particulier lorsque l’on identifie X au signal d’entrée
d’un canal de transmission et Y au signal à la sortie

44 Pr. El Hassani 2017/2018


Information mutuelle

} Soient un canal de transmission de type discret, stationnaire et


sans mémoire
} Xk symboles à l'entrée du canal à l'instant k, dans (x1,...,xi,..., xn)
} Yk symboles à la sortie du canal à l'instant k, dans (y1,...,yi,..., ym)
} Sortie du canal ß information sur le symbole à l'entrée
} à peut être mesurée par le logarithme du rapport entre la
probabilité que Xk = xi conditionnellement à Yk = yj et la
probabilité que Xk = xi
æ P ( xi y j ) ö
i (xi ; y j ) = log 2 ç ÷
ç P ( xi ) ÷
è ø
( ) { }
avec P xi y j = Pr X k = xi Yk = y j et P( xi ) = Pr{X k = xi }
} à information mutuelle entre les événements Xk=xi et Yk=yj

45 Pr. El Hassani 2017/2018

Information mutuelle
} Règle de Bayes à i (x ; y ) = i ( y ; x ) i j i i

} Si entrée et sortie du canal indépendantes


} à canal très bruité
} à P(xi|yj)=P(xi)
} à information mutuelle nulle
} Si la réalisation Yk = yj détermine de manière
certaine la valeur de Xk
} à canal sans bruit
} à P(xi|yj)=1
} à information mutuelle égale à l'information apportée par
la réalisation de Xk : i (xi ; y j ) = i(xi ) = - log 2 (P(xi ))

46 Pr. El Hassani 2017/2018


Information mutuelle

} Moyennage de l'information mutuelle par rapport


aux réalisations possibles de Xk et Yk :
I ( X k , Yk ) = åå P (xi , y j )i (xi ; y j )
n m

( )ö÷
i =1 j =1
æ P xi y j
I ( X k , Yk ) = åå P (xi , y j )log 2 ç
n m
} à ç P( xi ) ÷
i =1 j =1
è ø

à I(Xk,Yk) : information mutuelle moyenne entre les


symboles Xk et Yk

à Quantité toujours positive ou nulle


à Pour un canal sans bruit, égale à l'entropie du symbole
Xk
47 Pr. El Hassani 2017/2018

Information mutuelle et entropie

} On a log 2 ç
(
æ P xi y j )ö÷ = log (P(x y ))- log (P(x ))
ç P( xi ) ÷ 2 i j 2 i
è ø

à I ( X k , Yk ) = -å P(xi ) log 2 (P(xi )) + åå P(xi , y j )log 2 (P(xi y j ))


n n m

}
i =1 i =1 j =1

entropie du symbole Xk
conditionnellement à Yk
= H(Xk/Yk) (au signe près)

H ( X k / Yk ) = EYk {H (X k / Yk = y j )}
} à Information mutuelle moyenne = entropie du symbole Xk
diminuée de l'entropie conditionnelle du symbole Xk
connaissant Yk I ( X k , Yk ) = H ( X k ) - H ( X k / Yk )

} On a également I ( X k , Yk ) = H ( X k ) + H (Yk ) - H ( X k , Yk )
48 Pr. El Hassani 2017/2018
Information mutuelle

H(X,Y)

I(X;Y) H(Y|X)
H(X|Y)

H(X) H(Y)

Diagramme de Venn pour l’entropie et


l’information mutuelle
49 Pr. El Hassani 2017/2018

Information mutuelle
} Information mutuelle moyenne : peut aussi être
calculée pour des canaux à entrée discrète et à
sortie continue, ou pour des canaux dont l'entrée et
la sortie sont constituées par des signaux
analogiques stationnaires

50 Pr. El Hassani 2017/2018


Source
} Entropie d’une source ?
} Source : décrite par une variable aléatoire X ayant pour
espace de réalisation AX = {x1, x2, . . . , xn} avec les
probabilités PX = {p1, p2, . . . , pn }
} n : taille de l’alphabet
} Source discrète sans mémoire : source pour laquelle la
probabilité d'apparition d'un symbole ne dépend pas des
symboles précédents
( ) ( )
P X in X in -1 , X in - 2 ,L = P X in

} Source discrète à mémoire : source pour laquelle la


probabilité d'apparition d'un symbole dépend des
symboles précédents

51 Pr. El Hassani 2017/2018

Source

} Source discrète d'information : suite de variables


aléatoires discrètes X1, X2, … Xn
} Mot : succession finie de symboles [X] = [x1,x2, … , xn]
} Alphabet : totalité des lettres
} Symbole ou lettre : élément fondamental irréductible
contenant une information, càd réalisation particulière
de la source d'information

52 Pr. El Hassani 2017/2018


Entropie d’une source d’information
} La notion d'entropie peut être étendue à une source
analogique délivrant un signal stationnaire :
¥
H ( X ) = - ò p( x) log2 ( p( x) )dx

} p(x) densité de probabilité du signal X(t) considéré à un


instant t quelconque (signal stationnaire) avec :
¥
ò-¥
p ( x)dx = 1

} Entropie de source analogique parfois aussi appelée


entropie différentielle

53 Pr. El Hassani 2017/2018

Entropie d’une source d’information


} Densité de probabilité qui maximise l'entropie d'une
source analogique X(t) délivrant un signal de
puissance P ?

On a : E {X 2 (t )} = ¥ x 2 p( x)dx = P
}
ò -¥

} Par la méthode des multiplicateurs de Lagrange, on


trouve la distribution maximisant l’entropie :
1 æ - x2 ö
p ( x) = expçç ÷÷
2pP è 2 P ø
1
} Entropie maximale: H max ( x) = log2 (2peP) avec e = 2,718232
2

54 Pr. El Hassani 2017/2018


Propriétés de l’entropie

} Exemple : soit une source à 2 états x0 et x1 avec


p0 = p et p1 = 1 − p
} Entropie de cette source ?
H(X) ≡ H(p,1 − p) = – p log2 p – (1 − p) log2 (1 − p)

à L’entropie de la source
binaire est maximale (1
Sh/bit) si p = 0,5

55 Pr. El Hassani 2017/2018

Capacité

56 Pr. El Hassani 2017/2018


Capacité
Problème : supposons que l’on transmet 1000 bits par
seconde
} bits équiprobables P(X = 0) = P(X = 1) = ½
} Canal binaire symétrique de paramètre p = 0.1
} Quel est le débit d’information maximum qu’il est possible
de transmettre ?

} Débit 900 Sh/s ? (soustraction du nombre d’erreurs par


seconde)
} Erreur ! On ne connait pas la position de ces erreurs
} Cas extrême : p = 0.5 à moyenne de 500 erreurs par
seconde mais aucune information n’est transmise !

} Réponse à la question ?

57 Pr. El Hassani 2017/2018

Capacité

} Soient X et Y variables
aléatoires associées
respectivement à l’entrée
et à la sortie du canal

58 Pr. El Hassani 2017/2018


Capacité

} Capacité d'un canal : définie par Shannon comme étant le


maximum de l'information mutuelle moyenne
} Maximum déterminé par rapport à la distribution de probabilité
des symboles à l'entrée du canal pour un canal discret
} Déterminé par rapport à leur densité de probabilité pour un
canal à entrée continue
C = max {P( xi )} I ( X k , Yk )
} Unité de la capacité : bit par symbole transmis par le canal,
Shannon/symbole ou Shannon/seconde (on parle alors de capacité
par unité de temps)
} à notée C’ avec C’ = C × Ds avec Ds débit symbole de la source
} à Nous verrons que la capacité = plus grand nombre de
bits d’information qui peuvent être transmis sur le canal
avec un taux d’erreurs aussi faible que possible
59 Pr. El Hassani 2017/2018

Capacité
} En absence de bruit : Capacité = log2 Q
} Quantité d’information moyenne maximale ß
entropie de la source maximale ß symboles Q-aire
de la source équiprobables
} à C = HMAX(X) = log2 Q
} En présence de bruit : C < HMAX(X)
} Capacité ? il faut déterminer la quantité d’information
moyenne perdue dans la canal
} On a H(X|Y) mesure l’incertitude résiduelle sur X
connaissant Y
} Pour une bonne communication, quantité nulle ou
négligeable souhaitable

60 Pr. El Hassani 2017/2018


Capacité

} Maximisation de l’entropie ?
} Considère l’ensemble de toutes les sources possibles
} Si canal sans mémoire, maximisation sur l’ensemble des
probabilités pi d’apparition des symboles d’entrée
} H(X|Y) : quantité d’information moyenne perdue
dans le canal

61 Pr. El Hassani 2017/2018

Capacité

} Si canal sans bruit : H(X|Y ) = H(X|X) = 0 à C =


HMAX(X)

} Si canal trop bruyant (X et Y indépendants) : H(X|Y


) = H(X)
} à capacité du canal de transmission nulle C = 0

62 Pr. El Hassani 2017/2018


Capacité
} Si l’entropie de la source = HMAX(X) : H(X|Y) ne
dépend que du canal

} Si H(X|Y) est non négligeable (canal bruyant) : il


n’est pas possible d’effectuer une communication
sans erreur en reliant directement la source au canal
de transmission
} à Il faut placer un élément appelé codeur de canal
entre la source et le canal de transmission

63 Pr. El Hassani 2017/2018

Capacité

} Information mutuelle moyenne : I(U, V ) = H(U) −


H(U|V)
} Codage de canal : rend la quantité d’information
moyenne H(U|V ) aussi faible que souhaité
} Possible de transmettre au travers de ce canal bruité une
quantité d’information moyenne H(U) avec le critère de
qualité souhaité
} H(U) < H(X) à cause de la redondance apportée par le
codage de canal

64 Pr. El Hassani 2017/2018


Capacité : BSC

} Probabilités de transition p en fonction de la


probabilité d'erreur sur le canal
} P(0/0) = P(1/1) = 1−p
} P(0/1) = P(1/0) = p
} Information mutuelle moyenne :
I(Xk, Yk) = H(Yk) − H(Yk|Xk)
} Symboles d'entrée 0 ou 1 avec les probabilités P(0) et P(1)
( P(0)+P(1)=1 ) à entropie conditionnelle

H(Yk|Xk) = − p log2 p − (1 − p) log2 (1 − p)

} à Entropie conditionnelle : dépend des probabilités de


transition mais pas de la distribution de probabilité des
symboles placés à l'entrée du canal
65 Pr. El Hassani 2017/2018

Capacité : BSC

} I(Xk, Yk) = H(Yk) − H(Yk|Xk)


} H(Yk) ?
} H(Y) = − P(Y=0)log2(P(Y=0)) − P(Y=1)log2(P(Y=1))
} P(Y=0) = P(Y=0|X=0)P(X=0) + P(Y=0|X=1)P(X=1)
si q= P(X=0)
} P(Y=0) = P(Y=0|X=0) q+ P(Y=0|X=1) (1 − q)
= (1 − p) q+ p (1 − q)
} P(Y=1) = P(Y=1|X=0) q+ P(Y=1|X=1) (1 − q)
= p q+ (1 − p) (1 − q)
} à H(Y) = − [ (1 − p) q+ p (1 − q) ] log2 [(1 − p) q+ p (1 − q)] −
[ (p q+ (1 − p) (1 − q)) ] log2 [ p q+ (1 − p) (1 − q)
H {Y } = -[ p + q (1 - 2 p )]log 2 [ p + q (1 - 2 p )]
- [1 - p + q (2 p - 1)]log 2 [1 - p + q (2 p - 1)]
}
66 Pr. El Hassani 2017/2018
Capacité : BSC

} à Information mutuelle maximisée si probabilités d’entrée


identiques : P(X = 0) = P(X = 1) = q = ½

67 Pr. El Hassani 2017/2018

Capacité : BSC

} Courbe I(X, Y ) = f(p) pour un BSC avec q=0.5


} à I(X, Y ) = H(X) − H(X|Y )
= 1 + p log2(p) + (1 − p) log2 (1 − p)
} à Information mutuelle maximale lorsque p = 0
} à Capacité BSC égale à 1 Shannon/symbole

68 Pr. El Hassani 2017/2018


Capacité : BSC

} Capacité à Maximisation de l'information


mutuelle moyenne à Maximisation de l'entropie
H(Yk) à réalisé si et seulement si :
[ p + P(0)(1 - 2 p)] = [1 - p + P(0)(2 p -1)]
à symboles Xk dans {0 , 1} avec
P(0)=P(1)=1/2
} Capacité du canal binaire symétrique :
C = 1 + p log 2 p + (1 - p ) log 2 (1 - p )
Si p=1/2 : canal inexploitable à
capacité nulle
Si p ↓ à capacité ↑ pour atteindre 1
bit par symbole pour p=0
69 Pr. El Hassani 2017/2018

æ P xi y j
I ( X k , Yk ) = åå P (xi , y j )log 2 ç
n m ( )ö÷
ç P( xi ) ÷
Capacité : canal AWGN i =1 j =1
è ø

Capacité = maximum de l'information mutuelle


moyenne par rapport à la distribution de probabilité
des symboles en entrée du canal ( on a I(X;Y) =
H(Y) – H(Y|X) ) n +¥ p( y / xi )
C = max {P ( xi )} å ò p( y / xi )P(xi ) log2 dy
i =1 -¥ p( y )
} Soit un AWGN avec les entrées dans (−A,A)
} àOn peut montrer que l’information mutuelle moyenne
est maximale si Pr{Xk=A}=Pr{Xk=−A} à capacité :
p ( y / A) p ( y / - A)
+¥ +¥
1 1
C = ò p( y / A) log 2 dy + ò p( y / - A) log 2 dy
2 -¥ p( y ) 2 -¥ p( y )

-
( y ± A )2
1 1
avec ò p( y / ± A) = e 2s 2
et p( y ) = ( p( y / A) + p( y / - A))
70 -¥ 2p s 2
Pr. El Hassani 2017/2018
Capacité : canal AWGN

} Information mutuelle moyenne I(X, Y ) pour X et Y


continues :
} Entropie différentielle HD(V) d’une variable aléatoire V

} à

} Z : variable aléatoire associée au bruit, est indépendante de X

71 Pr. El Hassani 2017/2018

Capacité : canal AWGN


} Entropie différentielle HD(V ) de V, variable aléatoire
gaussienne centrée de variance σv2

} ne dépend pas de v

} et

72 Pr. El Hassani 2017/2018


Capacité : canal AWGN
} Premier terme de l’intégrale :

} On a par définition :

} à

73 Pr. El Hassani 2017/2018

Capacité : canal AWGN


} On peut montrer que le maximum de I(X, Y )
s’obtient lorsque la densité de probabilité de X est
gaussienne, centrée et de variance σx2
} Variance du bruit Z : σN2= N0/2 avec N0 la densité
spectrale unilatérale du bruit blanc gaussien
} Variance de Y :

} à Capacité :

74 Pr. El Hassani 2017/2018


Capacité : canal AWGN

} Soit P la puissance moyenne du signal X et soit la fréquence


d’échantillonnage égale à 2B à 2BT échantillons pendant T
} à

En Shannon/symbole, Capacité par symbole,


} à c-à-d par échantillon du signal

} à En Shannon/seconde, Capacité par unité de temps


75 Pr. El Hassani 2017/2018

Capacité : canal AWGN


} Exemple :
} Ligne téléphonique de SNR = P/N = 30 dB et de bande
passante B = 3,5kHz
} Capacité ?

} à Environ 35 Kb/s
} Possible d’utiliser des codes correcteurs et des
modulations performantes pour transmettre sur cette ligne
jusqu’à 35 Kb/s sans erreur de transmission à norme
V.34 sur les modems permet d’atteindre 33,6 Kb/s à
proche de la limite théorique

76 Pr. El Hassani 2017/2018


Codage de source

77 Pr. El Hassani 2017/2018

Introduction

} On a H(X) : quantité d’information moyenne ou


entropie associée à la variable aléatoire discrète X

} Soit une source discrète et stationnaire dont les


symboles de sortie sont des symboles Q-aires
} Alphabet de cardinal Q
} sortie de la source : variable aléatoire X
} à H(X) = quantité d’information par symbole
moyenne sortant de cette source
} Si source sans mémoire :
Q
} H ( X ) = - å pi log2 pi en Sh/symbole
i =1
78 Pr. El Hassani 2017/2018
Introduction
} H(X) maximale si symboles équiprobables
} Pour des symboles Q-aire, HMAX = log2 Q
} Si source à mémoire, entropie par symbole H(X) :
1
H ( X ) = lim HJ (X )
J ®¥ J
} HJ (X) : entropie par groupe de J symboles
} Redondance d’une source : caractérise la différence qu’il existe entre
la quantité d’information que transporte cette source et la quantité
d’information que cette source transporterait si tous ses symboles
étaient équiprobables et indépendants
H (X )
} On a : Rred = 1 -
H MAX ( X )
} 0 < Rred <1 :
} Rred = 0 : symboles de la source indépendants et équiprobables
} Rred = 1 : L’entropie de la source est nulle

79 Pr. El Hassani 2017/2018

Introduction

} Codage de source : associer à chaque message issu de la


source un mot composé d’un ou plusieurs symboles Q-aires en
cherchant à réduire au maximum le nombre moyen de ces
symboles

} à Un message signifiera selon le contexte, soit un symbole Q-aire


issu de la source, soit un ensemble de J symboles Q-aires

} Nous nous restreindrons ici au cas où les symboles de sortie du


codeur de source sont des bits (q = 2)

} La généralisation ne présente pas de difficulté

80 Pr. El Hassani 2017/2018


Introduction
} Codage de source : lié à la compression
} Compression :
} Réduction de la taille des données (nombre de bits
nécessaires pour représenter les données)
} Avantages :
} Réduction de l’espace de stockage
} Réduction du coût/latence/bande de transmission

81 Pr. El Hassani 2017/2018

Introduction : exemple
} Supposons que le message suivant, composé de 5
symboles, doit être transmis :
[ ►♣♣♠☻►♣☼►☻]
} Comment coder ce message en utilisant des 0/1 de sorte
à ce que la longueur du message soit minimale ? (pour
gagner en stockage et en transmission)
} 5 symboles à 3 bits au moins
} Pour un encodage simple, longueur du code = 10*3=30
bits

82 Pr. El Hassani 2017/2018


Introduction : exemple
} Intuition:
} Les symboles qui apparaissent plus souvent doivent
correspondre à des codes plus courts,
} Comme leur longueur ne sera pas la même, il doit y avoir
une manière de les séparer

}Pour un code de Huffman


Longueur du message codé
►♣♣♠☻►♣☼►☻:
=3*2 +3*2+2*2+3+3=24bits

83 Pr. El Hassani 2017/2018

Introduction
} Applications :
} Compression de texte
} Gzip utilisant une compression Lempel-Ziv meilleure que
Huffman
} Compression audio
} Avec perte, compression mpeg
} Compression image
} Avec perte, compression jpeg
¨ JPEG = Joint photographic expert group
} Compression vidéo
} avec perte, compression mpeg

84 Pr. El Hassani 2017/2018


Introduction
} Compression de texte:
} Code-préfixe : une parmi plusieurs approches
} Aucun code n’est préfixe d’un autre
} Contrainte sans perte
} Taches:
¨ encodage: texte (caractères) à code
¨ décodage: code à texte
} Objectif principal: réduire au maximum l’espace de stockage à
taux de compression
} Objectifs secondaires :
¨ Simplicité
¨ Efficacité en temps et en espace

85 Pr. El Hassani 2017/2018

Compression
} Deux grandes catégories : compression avec perte
et compression sans perte

Codage de
source

Sans perte avec perte


(texte, programme) (image, audio, vidéo)

Run-Length Lempel-Ziv
Huffman JPEG MP3 MPEG

86 Pr. El Hassani 2017/2018


Efficacité de la compression
} Compression sans perte : n’est pas toujours possible
} Si la compression était toujours possible :
} Compresser un fichier (réduire la taille par 1 bit)
} Recompresser la sortie
} Répéter (jusqu’à pouvoir stocker avec 0 bits)

87 Pr. El Hassani 2017/2018

Définitions

} Un ensemble X est un triplet (x, Ax, Px)


} x: valeur d’une variable aléatoire
} Ax: ensemble des valeurs possibles de x, Ax={a1, a2, …, aI}
} Px: probabilité pour chaque valeur Px={p1, p2, …, pI}
avec P(ai)=P(x=ai)=pi, pi>0
} Le contenu de x en information de Shannon :
} h(x) = log2(1/P(x)) i ai pi h(pi)

} Entropie de X : 1 a .0575 4.1

2 b .0128 6.3
1
H ( X ) = å P ( x ). log 3 c .0263 5.2
xÎAx P( x )
.. .. ..
26 z .0007 10.4

88 Pr. El Hassani 2017/2018


Définitions
} Notations:
} AN: tous les mots de longueur N
} A+: tous les mots de longueur finie
} {0,1}3={000,001,010,…,111}
} {0,1}+={0,1,00,01,10,11,000,001,…}

} Un code de symboles pour un ensemble X est un


mapping de Ax (valeurs de x) vers {0,1}+
} c(x): mot de code pour x,
} l(x): longueur du mot de code

89 Pr. El Hassani 2017/2018

Définitions
} Soit une source d’information qu’on suppose constituée
d’une suite d’échantillons ou de symboles x
} peut être codée symbole par symbole : codage scalaire
} ou par bloc de n symboles x = (x1, . . . ,xn) : codage vectoriel en
dimension n
} Codeur de source : associe à chaque entrée x une
étiquette ou indexe i mise sous forme binaire
} Indexe dans un nombre fini M de valeurs possibles
} Chaque indexe est représenté en moyenne sur log2M bits →
représente la source x sous forme codée
} Index ensuite transmis (pour des applications de
transmission) ou stocké (pour des applications de
stockage)

90 Pr. El Hassani 2017/2018


Types de codages
} Codage par mot de longueur fixe
} Codage par mot de longueur variable
} Codage de Huffman
} Codage de Shannon-Fano
} Autres

91 Pr. El Hassani 2017/2018

Mots de code de longueur fixe

} Soit une source de symboles appartenant à un alphabet donné


} Coder en binaire l'alphabet de la source de cardinal K : peut
être fait en attribuant à chaque symbole R bits
} 2R codes possibles, avec 2R ≥ K
} Égalité possible quand K est une puissance de 2
} Sinon 2R-1 < K < 2R à déterminer le nombre R de bits nécessaires au
codage de l'alphabet d'une source de K symboles :
R = Int[ log2( K ) ] + 1 (valeur entière)
} On a : H( X ) ≤ log2( K ) , R ≥ log2( K ) ֜ R ≥ H( X )
} Egalité ?
} quand tous les symboles de la source sont équiprobables et lorsque K est
une puissance de 2
} 1er théorème de Shannon (Théorème du codage de source) :
Pour avoir un codage sans perte (erreur), une source X doit
être codée en moyenne avec au moins H(X) bits : R ≥ H(X)
92 Pr. El Hassani 2017/2018
Mots de code de longueur fixe

} Codage efficace quand le nombre de codes


possibles inutilisés est faible
} L'efficacité dépend aussi de la quantité d'information
moyenne de la source
} Efficacité η d'un codage : η = H(X) / R (en %)

} Exemple:
} K= 24 → log2( K ) = 4,585 → R = 5 → 2R = 32 → 7
codes non utilisés
} Si tous les symboles sont équiprobables : H( X ) =
4,585 et η = 91,7 %
93 Pr. El Hassani 2017/2018

Codage par blocs

} Améliorer l'efficacité du codage ?


} Transmettre et donc coder les symboles non pas individuellement
mais par blocs de J symboles
} à Extension de la source
} Exemple: avec { A , B } on peut former avec J = 2 les blocs { AA,
AB, BA, BB }
} A partir d'une source dite primaire, on fabrique une source
secondaire
} Source primaire de K symboles → extension → source secondaire
de KJ symboles
} Si on utilise N bits de codage par bloc :
N ≥ log2(KJ) = J log2(K) ֜ N = Int[J log2(K)] + 1 ou N = Int[J log2(K)]
} On considère pour la suite le pire cas (N = Int[J log2(K)] + 1 )
} Le nombre de bits par symbole de la source primaire est
R = N / J = ( Int[ J log2( K ) ] + 1 ) /J
} Remarque : R n'est plus un entier
94 Pr. El Hassani 2017/2018
Codes de longueur variable
} Si les symboles de l'alphabet ne sont pas
équiprobables : pas d'augmentation de l’efficacité à
100%
} Historiquement, idée résolue par le code de Morse
} Idée reprise et formalisée dans le codage avec mots de
longueur variable

95 Pr. El Hassani 2017/2018

Codes de longueur variable : décodage


unique
} Un code à longueur variable associe à un flux de bits
un mot de code de longueur variable pour chaque
message
} Exemple : a = 1, b = 01, c = 101, d = 011
} Mais que se passe-t-il lorsqu’on obtient la séquence 1011 ?
} Est-ce un aba, ca, ou ad ?
} Un code à décodage unique est un code à longueur
variable pour lequel l’entrée peut toujours être
décomposée, et de manière unique, en mots de code

96 Pr. El Hassani 2017/2018


Codes uniquement décodable
} Tout mot encodé doit avoir un décodage unique
} Un code C(X) est uniquement décodable si, sous le code
étendu C*, aucun couple de mots distincts ne peut avoir
le même encodage pour les deux mots, i.e.

"x, y Î AX+ , x ¹ y Þ c + ( x ) ¹ c + ( y )
} S’il est possible d’identifier la fin d’un mot de code dès
qu’elle survient à aucun mot de code ne peut être le
préfixe d’un autre mot de code
} Un code de symboles est appelé code-préfixe si aucun
mot de code n’est le préfixe d’un autre mot de code
} aussi appelé code prefix-free, code instantané ou encore code
auto-ponctué

97 Pr. El Hassani 2017/2018

Codes à préfixe
} Exemple : a = 0, b = 11, c = 101, d = 100

} Un code peut être vu comme un arbre binaire avec des


valeurs des messages qui sont les feuilles et 0/1 qui sont
les branches

0 1
0 1
a
0 1 b
d c

98 Pr. El Hassani 2017/2018


Codes à préfixe
} Conventions pour la construction de l’arbre :
} Un déplacement à gauche correspond à un "0"
} Un déplacement à droite correspond à un "1"
} Chaque déplacement crée un nœud de l'arbre
} Chaque nœud a un père (vers le haut) et peut avoir deux fils (vers
le bas)
} Le lien entre deux nœuds est une branche
} Un nœud qui n'a pas de fils est une feuille
} La suite génératrice des feuilles d’un arbre est la suite (sn)n≥0 , où
sn est le nombre de feuilles de hauteur n
} Hauteur: distance à la racine
} Si arbre fini : tous les sn sont nuls à partir d’un certain rang
} (sn)n≥0 parfois représentée par la série formelle s ( z ) = å sn z n
} Code-préfixe? n³0
} Un code préfixe est un code dont les symboles sont des feuilles

99 Pr. El Hassani 2017/2018

Codes à préfixe
} Théorème de Kraft-McMillan : donne une condition
nécessaire et suffisante à l’existence d’un arbre k-aire dont la
série génératrice des feuilles est donnée
} Une suite s = (sn)n≥0 satisfait l’inégalité de Kraft pour l’entier k
si
å
s k -n £ 1
n³0
n

} Ou encore si la série s(z) vérifie : s(1/k) ≤ 1


} Théorème : Une suite s est la série génératrice des feuilles
d’un arbre k-aire ssi elle satisfait l’inégalité de Kraft pour
l’entier k
} La preuve est constructive pour les arbres finis

} Résultat ≡ si C est un code préfixe sur un alphabet à k lettres


dont la suite génératrice est s = (sn)n≥0, où sn est le nombre de
mots de C de longueur n, alors s(1/k) ≤ 1

100 Pr. El Hassani 2017/2018


Longueur moyenne d’un code
Soit un code de symbole C dont les symboles
apparaissent avec la distribution de
probabilités {p}. C est l’ensemble de mots de
code codant les symboles de la source. Pour un
mot de code c, p(c) est la probabilité
d’apparition du symbole codé par c et l(c) est la
longueur du code c
La longueur moyenne du code est définie par :
la (C ) = å p (c)l (c)
cÎC
On dit que le code-préfixe C est optimal pour
tous les codes-préfixes C’ lorsque la(C) £ la (C’)

101 Pr. El Hassani 2017/2018

Lien avec l’entropie


} Théorème (borne inférieure) : pour toute distribution
de probabilité p(S) avec un code C associé
uniquement décodable on a :
H ( S ) £ la (C )
} Théorème (borne supérieure) : pour toute
distribution de probabilité p(S) avec un code-préfixe
C associé optimal on a :
la (C ) £ H ( S ) + 1
¨ Preuve: utilise l’inégalité de Kraft-MacMillan

102 Pr. El Hassani 2017/2018


Algorithme de Shannon-Fano
} Inégalité de Kraft MacMillan : condition nécessaire
pour qu’un code soit uniquement décodable
} Réciproque : [Kraft, 1949] Si l’inégalité de Kraft-
McMillan est vérifiée, alors il existe un code
uniquement décodable, et même instantané, qui
admette {l1, l2, . . . , lM} comme distribution de
longueurs
} Preuve constructive à algorithme
} Inspire le code de Shannon-Fano : minimisation du taux
de codage sous la contrainte de l’inégalité de Kraft

103 Pr. El Hassani 2017/2018

Algorithme de Shannon-Fano

} Si les longueur sont des puissances entières de ½ :


entropie atteinte
} Par exemple:

} En général, R ≥ H, on essaie d’atteindre l’entropie à


codage entropique
} On essaie de construire un code avec des li = Int[log2(1/ pi)]
} à Famille des codes de Fano-Shannon (1948) (qui
vérifient bien l’inégalité de Kraft-McMillan)
104 Pr. El Hassani 2017/2018
Algorithme de Shannon-Fano

} Codage de Shannon–Fano (Claude Elwood


Shannon et Robert Fano) : technique de
construction de code à préfixe sur un ensemble
de symboles et leurs probabilités
} Sous-optimal dans le sens où il n’atteint pas la plus
petite distance espérée (à la différence de Huffman)
} Il assure que la longueur des mots est proche d’au
plus un bit de leur valeur idéale théorique I(x) = − log
P(x)

105 Pr. El Hassani 2017/2018

Algorithme de Shannon-Fano
} L’un des premiers algorithmes de compression
} à stratégie diviser pour régner
} Pour ce codage:
} Symboles arrangés du plus probable au moins probable
} Division en deux sous-ensembles avec les sommes des
probabilités de chacun qui soient les plus proches
possibles
} L’un des deux sous ensembles reçoit 0 et l’autre 1
} Reprendre la même procédure avec chacun des sous
ensembles
} Quand un sous-ensemble est réduit à un seul symbole,
cela signifie que le code est complet et qu’il n’y a a pas
de préfixe

106 Pr. El Hassani 2017/2018


Shannon-Fano : exemple

x1 1/ 2 0
x2 1/ 4 10
H=1,9375 bits
x3 1/ 8 11 0
x4 1 / 16 111 0 L=1,9375 bits

x5 1 / 32 1111 0
x6 1 / 32 11111

107 Pr. El Hassani 2017/2018

Algorithme de Shannon-Fano : exemple

Message x1 x2 x3 x4 x5 x6 x7 x8

Probabilité 1/4 1/4 1/8 1/8 1/16 1/16 1/16 1/16

x1, x2, x3, x4, x5, x6, x7, x8


0 1
x1, x2 x3, x4, x5, x6, x7, x8
00 01 10 11
x1 x2 x3, x4 x5, x6, x7, x8

100 101 110 111


x3 x4 x5, x6, x7, x8
1111
1100 1101 1110
108 Pr. El Hassani 2017/2018
x5 x6 x7 x8
Algorithme de Shannon-Fano : exemple

Message x1 x2 x3 x4 x5 x6 x7 x8
Probabilité 1/4 1/4 1/8 1/8 1/16 1/16 1/16 1/16
Vecteur 00 01 100 101 1100 1101 1110 1111
encodé

} Entropie:
æ æ1 1ö æ1 1ö æ1 1 öö
H = - ç 2 × ç log ÷ + 2 × ç log ÷ + 4 × ç log ÷ ÷ = 2.75
è è4 4ø è8 8ø è 16 16 ø ø
} Longueur moyenne du code :
æ æ1 ö æ1 ö æ 1 öö
L = å P { xi } ni = ç 2 × ç × 2 ÷ + 2 × ç × 3 ÷ + 4 × ç × 4 ÷ ÷ = 2.75
è è4 ø è8 ø è 16 ø ø
} Ici, efficacité 100% : car 2,75 bits/symbole : compression de
0,25 bits/symbol alors que le code uniforme à longueur fixe
donne 3 bits/symbole
109 Pr. El Hassani 2017/2018

Algorithme de Shannon-Fano
} L’algorithme de Shannon-Fano : le plus efficace
quand les probabilités sont de la forme P { xk } = 2- nk
N

å2
k =1
- nk
= 2 - n1 + 2 - n2 + ... + 2 - nN = 1

} Efficacité à 100% dans ce cas

N N
L = å P { xk } nk = -å P { xk } log P { xk }
k =1 k =1
- I ( xk )

H(X )

110 Pr. El Hassani 2017/2018


Algorithme de Shannon-Fano
} Remarquer que le code de Shannon-Fano n’est pas
unique
} Dépend du partitionnement des messages qui n’est
pas forcément unique
} Quand le partitionnement équiprobable n’est pas
possible, le code de Shannon-Fano peut ne pas être
optimal, c’est-à-dire conduisant à la plus petite
longueur moyenne

111 Pr. El Hassani 2017/2018

Algorithme de Huffman

} 1952 : algorithme de
codage à longueur variable
d’une source à L messages
par Huffman
} permet d’obtenir le nombre
moyen de bits par mot
minimum tout en garantissant
un code uniquement
décodable et instantané

112 Pr. El Hassani 2017/2018


Algorithme de Huffman
} Idée : représenter à chaque symbole une longueur à
peu près équivalente à la quantité d’information que
ce symbole contient

} Déroulement :
} Prendre les deux symboles les moins probables dans
l’alphabet (les mots les plus longs, de longueur égale,
différents sur un seul digit)
} Combiner ces deux symboles en un seul, puis répéter

113 Pr. El Hassani 2017/2018

Algorithme de Huffman

Symbole A B C D
Fréquence 13% 25% 50% 12%
Encodage 00 01 10 11
d’origine 2 bits 2 bits 2 bits 2 bits
Huffman 110 10 0 111
3 bits 2 bits 1 bit 3 bits

} Longueur attendue :
} Original Þ 1/8´2 + 1/4´2 + 1/2´2 + 1/8´2 = 2 bits / symbol
} Huffman Þ 1/8´3 + 1/4´2 + 1/2´1 + 1/8´3 = 1.75 bits /symbole
114 Pr. El Hassani 2017/2018
Algorithme de Huffman
} Ax={ a ; b ; c ; d ; e }
} Px={0,25 ; 0,25 ; 0,2 ; 0,15 ; 0,15}
1.0
0

0.55 1

0
0.45 0.3
0 1 0 1
a b c d e
0.25 0.25 0.2 0.15 0.15
00 10 11 010 011
115 Pr. El Hassani 2017/2018

Algorithme de Huffman
} Tout d’abord :
} classer la liste des symboles de haut en bas par ordre de probabilités
décroissantes (chaque message correspond à un noeud). Les symboles
de la source de plus faible probabilité sont représentés par 0 et 1.
} Puis :
} Ces deux probabilités sont combinées en un nouveau symbole de
probabilité égale à la somme des deux probabilités
} Les deux symboles d’origine sont reliés avec la branche supérieure labelisée à
0 et la branche inférieure labelisée à 1
} La somme de ces deux probabilités est alors associée au nouveau noeud.
} Suppression des deux messages précédemment choisis puis retour à la
phase 1
} On répète cette procédure jusqu’à ce qu’il ne reste plus aucun
message
} à Arbre qui décrit graphiquement l’ensemble du code
} Mots sont lus en parcourant chaque chemin pour chaque feuille

116 Pr. El Hassani 2017/2018


Algorithme de Huffman : structure des
données
} Arbre binaire (de Huffman)
} Représente le code de Huffman
} Branche : code (0 or 1)
} Feuille Þ symbole
} Chemin vers une feuille Þ encodage
} File de priorité queue
} Construction efficace de l’arbre binaire

117 Pr. El Hassani 2017/2018

Algorithme de Huffman : Encodage


} Encodage:
} Calculer les fréquences des symboles dans un fichier
} Construire l’arbre binaire représentant le meilleur
encodage
} Utiliser cet arbre pour encoder le fichier
} Pour chaque symbole, sortie = chemin de la racine vers la
feuille
} Taille de l’encodage = longueur du chemin
} Enregistrer l’arbre binaire

118 Pr. El Hassani 2017/2018


Algorithme de Huffman : construction de
l’arbre
} Algorithme :
} Placer chaque symbole sur une feuille
} Poids de la feuille = sa fréquence
} Choisir deux arbres G et D (initialement des feuilles)
} De sorte à ce que G, D aient les plus petites fréquences dans
l’arbre
} Créer un nouveau nœud (interne)
} Enfant gauche Þ G
} Enfant droit Þ D
} Nouvelle fréquence Þ frequence( G ) + frequence( D )
} Répéter jusqu’à ce que tous les noeuds soient fusionnés
en un seul arbre

119 Pr. El Hassani 2017/2018

Algorithme de Huffman : décodage


} Décodage :
} Lire le fichier compressé et l’arbre binaire
} Utiliser l’arbre binaire pour décoder le fichier
} Suivre le chemin de la racine vers la feuille

120 Pr. El Hassani 2017/2018


Algorithme de Huffman : propriétés

} Code préfixe :
} Aucun code n’est préfixe d’un autre code
} Exemple
} Huffman(“I”) Þ 00
} Huffman(“X”) Þ 001 // n’est pas permis
} Peut arrêter dès que le code complet est calculé
} Pas besoin de marquer la fin du code
} Non déterministe
} Plusieurs codes possibles pour les mêmes entrées
} Si plus de deux arbres avec le même poids minimal
} Il y a parfois des cas où le codage de Huffman ne produit pas
les longueurs de code de manière unique à cause du choix
arbitraire entre des probabilités égales
} Par exemple, pour un code source de probabilités {0.4, 0.2, 0.2, 0.1, 0.1}
on peut obtenir des mots de code de longueurs
{2, 2, 2, 3, 3} et {1, 2, 3, 4, 4}
} Il serait meilleur d’avoir un code avec des longueurs de variance minimale
à aurait besoin de moins d’espace de buffer à l’émetteur et au récepteur
121 Pr. El Hassani 2017/2018

Algorithme de Huffman : propriétés


} Algorithme glouton
} Choisit la meilleure solution locale à chaque étape
} Combine les deux arbres avec les plus faibles fréquences
} Converge quand même vers la meilleure solution
} Basé sur la fréquence statistique
} Une meilleure compression est possible
} En utilisant d’autres approches (comme le dictionnaire de
motifs)

122 Pr. El Hassani 2017/2018


Algorithme de Huffman : Inconvénients
} Un ensemble qui change :
} Si l’ensemble change, changement des fréquences et
probabilités à codage optimal qui change
} Exemple : dans la compression de texte, les fréquences
varient selon le contexte
} Recalculer le code de Huffman en parcourant tout le texte
à l’avance?
} Sauvegarder/transmettre le code aussi?
} Ne considère pas des blocs de symboles
} Par exemple, si ‘w’, on peut prédire les prochaines lettres : n’est
pas pris en compte car les bits sont utilisés sans considérer
aucune nouvelle information

123 Pr. El Hassani 2017/2018

Algorithme de Huffman : Variantes


} Codage de Huffman n-aire
} Utilise {0, 1, .., n-1} (et non juste {0,1})
} Codage de Huffman adaptatif
} Calcule les fréquences dynamiquement en se basant sur
les vraies fréquences récentes
} Codage de Huffman template
} Généralisation
} probabilités à n’importe quel poids
} Méthodes de combinaison (addition) à n’importe quelle
fonction
} Peut résoudre d’autres problèmes d’optimisation
(exemple : max [wi+length(ci)]

124 Pr. El Hassani 2017/2018


Algorithme de Lempel-Ziv
} Basé sur un dictionnaire :
} pas de statistiques sur la source
} Constitution en ligne d’un dictionnaire où figurent les
groupes de mots qui se trouvent répétés dans le
document à compresser
} Dictionnaires spécifiques aux données à traiter à
adaptation à un grand nombre de besoins
} Algorithme de base développé en 1977-1978 par
Abraham Lempel et Jacob Ziv (LZ77 et LZ78)
} Amélioration proposée en 1984 par Welch (LZW)

125 Pr. El Hassani 2017/2018

Algorithme de Lempel-Ziv

} Algorithme actuellement des plus performants :


} fournit des taux de compression de 30% à 40%
} à la base de nombreuses utilisations :
} La grande majorité des algorithmes de compression :
GZIP, PKZIP, WINZIP,……
} Le format GIF (Graphic Interchange Format) de
compression d'images
} La compression de données pour la transmission sur
modem norme V42 bis
} Pour l’anglais par exemple, LZ atteint un taux de
compression de 55%, alors que Huffman atteint
approximativement 43%
126 Pr. El Hassani 2017/2018