Sunteți pe pagina 1din 81

Information et Codage

Chaps. 15
Olivier RIOUL
TELECOM ParisTech
olivier.rioul@telecom-paristech.fr

Chaps. 67
Benot GELLER
ENSTA ParisTech
benoit.geller@ensta-paristech.fr
2
Avant-propos

Ce cours vise tout dabord tablir solidement les bases de codage de source
sur les outils de la thorie de linformation, de manire ce que les connais-
sances acquises puissent tre tendues rapidement aux problmatiques plus
rcentes. Puis, on aborde une caractrisation des outils essentiels de la compres-
sion de source : quantification scalaire et vectorielle, codage longueur variable,
codage par transforme, allocation de dbit.
De nombreux exercices sont proposs en appendice de ce document, regrou-
ps par chapitre.
Bonne lecture !

Mots cls
Thorie de linformation, Thormes de Shannon, Codage entropique lon-
gueur variable, Quantification scalaire et vectorielle, Algorithme de Lloyd-Max,
Gain de codage par transforme, Transforme de Karhunen-Love, Allocation
optimale de dbits binaires, Compression dimages.

3
4
Bibliographie

[1] Olivier Rioul, Thorie de linformation et du codage, Hermes Sciences-


Lavoisier, 2007.
[2] Robert Mc Eliece, The Theory of Information and Coding, Addison Wesley,
1977.
[3] Thomas Cover, Joy Thomas, Elements of Information Theory, J. Wiley & sons,
1991.
[4] Nicolas Moreau, Techniques de Compression des Signaux, Masson CNET-
ENST, 1994.
[5] Allan Gersho, Robert Gray, Vector Quantization and Signal Compression,
Kluwer Academic, 1992.

5
6 BIBLIOGRAPHIE
Chapitre 1

Outils de la thorie de linformation

1.1 Description dun systme de codage de source.


On considre une source dinformation quon suppose constitue dune
suite dchantillons ou de symboles x. La source peut tre code symbole par
symbole (codage scalaire) ou par bloc de n symboles x = (x 1 , . . . , x n ) (codage
vectoriel en dimension n). Le cas scalaire correspond n = 1.
Le codeur de source associe chaque entre x une tiquette ou index i mise
sous forme binaire ; les index peuvent prendre un nombre fini M de valeurs
possibles, chaque index est donc reprsent en moyenne sur log2 M bits et
reprsente la source x sous forme code.
Cet index est ensuite transmis (pour des applications de transmission num-
rique) ou stock (pour des applications de stockage numrique).
Le dcodeur de source rcupre chaque index i au niveau du destinataire et
fournit un bloc y de n symboles correspondant, dans le domaine source. Ce y
reprsente la source reconstruite pour le destinataire.
Il y a deux paramtres fondamentaux dans un systme de codage de source :
1. Le taux de codage (coding rate) R est le nombre moyen de bits cods par
symbole de source :
log2 M
R=
n
Ce taux sexprime donc en bits par symbole ; il est li au dbit binaire
en bits/sec (voir exercice). La compression de source est dautant plus
importante que R est petit.
2. Le critre de distorsion D sert mesurer (de manire objective) la qua-
lit ou la fiabilit de la reconstruction. Typiquement (pour des chan-
tillons dun signal, par exemple) on choisit un critre derreur quadratique

7
8 CHAPITRE 1. OUTILS DE LA THORIE DE LINFORMATION

moyenne (mean square error m.s.e.) par symbole de source :

1
D= E (kX Y k2 )
n

o E dsigne lesprance de sorte disposer dun critre moyen sur len-


semble de tous les blocs de source. Le systme est de qualit dautant plus
grande que D est petit.
Le but du concepteur dun systme de codage de source est de raliser la
plus grande compression (R petit) tout en garantissant une bonne fiabilit (D
petit). Il y a donc un compromis trouver entre R et D. Le compromis optimal
thorique va tre fourni par la thorie de linformation de Shannon.

1.2 Rappels sur les variables alatoires.


Le destinataire ne connait pas lavance linformation-source mise ; pour
lui, les symboles de source x apparaissent alatoires. On modlise donc une
source par un modle probabiliste : un chantillon ou bloc X de source est une
variable alatoire (v.a.) qui suit une distribution de probabilit p(x).
Dans le cas dun source discrte (ou numrique), chaque symbole x peut
prendre un nombre fini de valeurs et p(x) est la probabilit que X = x.
Dans le cas dune source continue, chaque chantillon x appartient un
continuum de valeurs (relles ou complexes), et p(x) est une densit de proba-
bilit.
Dans
Z tous les cas on adopte une notation unifie ; p(x) est telle que p(x) >
P
0 et p(x) = 1. Le calcul dune probabilit quelconque se fait laide de la
x
formule : Z
P r ob{X A} =
P
p(x).
xA

1.3 Traitement et probabilits conditionnelles.


En thorie de linformation chaque traitement (codage, dcodage, canal de
transmission, etc.) est aussi modlis de faon probabiliste ; ce modle permet
de dcrire aussi bien des traitements dterministes qualatoires.
Un traitement T dentre X et de sortie Y est dcrit par les probabilits de
transition p(y|x). Ici p(y|x) est une probabilit conditionnelle de y sachant x,
dfinie par :
p(x, y)
p(y|x) = .
p(x)
1.4. SUITE DE TRAITEMENTS ET CHANE DE MARKOV. 9

Cest une distribution de probabilit en y pour toute valeur fixe de x.


La sortie du traitement Y est donne en fonction de lentre X par la formule :
Z
P
p(y) = p(x)p(y|x).
x
On rappelle que les v.a. X et Y sont dits indpendantes si p(y|x) = p(y), cest
dire si p(x, y) = p(x)p(y). Le traitement X Y est alors opaque.

1.4 Suite de traitements et chane de Markov.


Dans un systme de codage apparat une suite de traitements point point.
Si on considre par exemple une suite de deux traitements : X Y Z , les
trois v.a. X , Y , Z vrifient ncessairement une condition de chane de Markov
qui exprime que Z ne dpend des autres v.a. que par lintermdiaire de Y (dont
il est issu par traitement). Ceci scrit :
p(z|x, y) = p(z|y).
On gnralise immdiatement cette condition de chane de Markov au cas de
plusieurs (> 2) traitements.

1.5 Divergence D(p, q).


On se donne une v.a. X de distribution de probabilit p(x), et une autre dis-
tribution de probabilit q(x) dfinie pour les mmes valeurs de x. La divergence
de Kullback-Leibler ou entropie relative de q(x) par rapport p(x) est donne
par la formule :
p(x) p(X )
Z
P
D(p, q) = p(x) log2 = E log2
x q(x) q(X )
Cette divergence sexprime en units binaires (bits) cause du choix de la base
2 du logarithme.
Le rsultat fondamental suivant est la base de la plupart des rsultats
importants en thorie de linformation :
D(p, q) > 0
avec galit (D(p, q) = 0) si et seulement si p(x) = q(x) p.p.
On peut crire ce rsultat sous la forme suivante (ingalit de Gibbs) :
1 1
Z Z
P P
p(x) log2 6 p(x) log2
x p(x) x q(x)
avec galit si et seulement si p(x) = q(x) p.p.
10 CHAPITRE 1. OUTILS DE LA THORIE DE LINFORMATION

1.6 Information mutuelle I (X , Y ).


Linformation mutuelle I (X , Y ) peut se dfinir comme une mesure de dpen-
dance entre X et Y , cest dire comme la divergence de la loi q(x, y) = p(x)p(y)
(que suivraient X , Y si elles taient indpendantes) par rapport p(x, y) :

p(x, y)
Z
P
I (X , Y ) = p(x, y) log2
x,y p(x)p(y)

Daprs le rsultat fondamental des divergences, I (X , Y ) > 0 et I (X , Y ) = 0 si et


seulement si X et Y sont indpendantes.
On peut rcrire I (X , Y ) sous la forme :
p(Y |X )
I (X , Y ) = E log2
p(Y )
qui est la divergence moyenne entre les distributions de probabilit de Y sachant
x et ne sachant pas x. Ainsi I (X , Y ) (en bits) sinterprte comme la quantit
dinformation moyenne quapporte une ralisation de X sur la connaissance de
Y . Cette information est mutuelle car I (X , Y ) = I (Y , X ).

1.7 Information mutuelle et entropie.


En dveloppant lexpression de I (X , Y ) on obtient la formule :

I (X , Y ) = H (Y ) H (Y |X )

o
1
Z
P
H (Y ) = p(y) log2
y p(y)
est appele entropie de la v.a. Y , et o :
1
Z Z
P P
H (Y |X ) = E y H (Y |X = x) = p(x) p(y|x) log2
x y p(y|x)

est appele entropie conditionnelle de Y sachant X . Cette dernire entropie


est une moyenne non seulement sur y, mais aussi sur le conditionnement x.
Dans le cas dune v.a. discrte Y (pouvant prendre un nombre fini M de
valeurs), lentropie
X 1
H (Y ) = p(y) log2
y p(y)
est une quantit > 0, qui sannule si et seulement si Y est dterministe Y = y 0
p.p. Lentropie maximale log2 M est atteinte lorsque Y est une v.a. uniforme
1.7. INFORMATION MUTUELLE ET ENTROPIE. 11

(symboles y quiprobables). On peut ainsi interprter H (Y ) comme une me-


sure dala de Y , ou comme une mesure dincertitude moyenne sur Y (avant
ralisation Y = y).
Lentropie conditionnelle H (Y |X ) mesure donc lincertitude moyenne sur Y
qui reste sachant X . La diffrence des deux incertitudes H (Y )H (Y |X ) = I (X , Y )
est bien linformation moyenne quapporte X sur Y .
Dans le cas dune v.a. continue Y , lentropie

1
Z
H (Y ) = p(y) log2 dy
y p(y)

nest plus ncessairement > 0 ; on ne peut plus linterprter comme une me-
sure dincertitude. Dans ce cas H (Y ) est qualifie dentropie diffrentielle (voir
chapitre 2).
12 CHAPITRE 1. OUTILS DE LA THORIE DE LINFORMATION
Chapitre 2

Thorie de linformation applique


au codage

2.1 Thorme du traitement de donnes.


Le thorme du traitement de donnes dit que tout traitement fait perdre
de linformation (en tout cas ne peut pas en faire gagner). Formellement, on
considre une succession de traitements :
X I J Y
On a alors :
I (X , Y ) 6 I (I , J )
Autrement dit linformation mutuelle entre deux v.a. proches dans une chane
de traitements est plus grande que ou gale celle entre v.a. plus loignes.

2.2 Fonction taux-distorsion (codage avec pertes).


Thorme de Shannon.
Si on applique le thorme du traitement de donnes au systme de codage
de source prsent la leon 1, on obtient :
I (X , Y ) 6 I (I , I ) = H (I )
puisquon a suppos I = J (transmission ou stockage sans erreur).
Pour obtenir la plus forte ingalit possible on maximise H (I ) (maximum
= log2 M ) et on minimise I (X , Y ). On obtient, en se ramenant des bits par
symbole source :
1 log2 M
min I (X , Y ) 6 =R
n n

13
14 CHAPITRE 2. THORIE DE LINFORMATION APPLIQUE AU CODAGE

Le minimum dinformation mutuelle seffectue sur n et sur le choix de p(y|x),


puisque p(x) est fix pour une source donne ; il seffectue aussi sous la contrainte
de fiabilit donne par un certain niveau de distorsion D. On obtient donc la
dfinition suivante :
1 1
R(D) = inf min { I (X , Y ) | E (kX Y k2 ) 6 D}
n p(y|x) n n

quon appelle fonction taux-distorsion R(D) de Shannon.


Ainsi le thorme du traitement de donnes implique lingalit

R > R(D)

qui indique que R(D) est une borne infrieure sur le taux de codage : il est impos-
sible de comprimer les donnes en de de R(D) pour un niveau de distorsion
D donn.
Le thorme de Shannon (1959) pour le codage de source avec pertes montre
que R(D) est la meilleure borne possible, dans le sens o on peut toujours trou-
ver un systme de codage (fusse-t-il trs complexe, pour n assez grand) qui
permette de sapprocher daussi prs quon veut de la borne R(D).

2.3 Entropie dune source (codage sans pertes).


Un systme de codage de source est dit sans pertes si Y = X , cest dire si
on peut reconstruire parfaitement la source au destinataire (avec D = 0).
Dans ce cas, la borne de Shannon R(D = 0) est gale lentropie de la source
dfinie par :
1
H = inf H (X )
n n
Cette entropie est naturellement une borne infrieure sur le taux de codage :
R > H . On ne peut pas comprimer des donnes (sans pertes) en de de len-
tropie.
Le thorme de Shannon (1948) pour le codage de source sans pertes (cas
particulier D = 0) dit quon peut sapprocher de lentropie H daussi prs quon
veut (voir chapitre 3).

2.4 Cas dune source sans mmoire.


Une source est dite sans mmoire si les symboles ou chantillons de source
sont indpendants et identiquement distribus (iid), cest dire :

p(x) = p(x 1 )p(x 2 ) p(x n ).


2.5. CAS DUNE SOURCE GAUSSIENNE. 15

Dans la conception dun systme de codage de source on peut souvent se rame-


ner ce cas simple (voir leon 5).
Pour une source sans mmoire, lexpression de R(D) se simplifie car elle
devient indpendante de la valeur de n :

R(D) = min {I (X , Y ) | E ((X Y )2 ) 6 D}


p(y|x)

En codage sans pertes il vient H = H (X ), lentropie de la v.a. X .

2.5 Cas dune source gaussienne.


En codage avec pertes dune source gaussienne sans mmoire de distribution
de probabilit :
1 (x)2

p(x) = p e 22
22
on peut calculer explicitement R(D). On trouve :
2
log2 D
(
1
2
D 6 2 ,
R(D) =
0 D > 2 .

2
o Dest le rapport signal bruit.
Ceci correspond une borne optimale de Shannon quon peut exprimer
sous la forme dune fonction distorsion/taux :

D(R) = 2 22R .

On obtient une courbe thorique de performances optimales o le rapport


signal bruit (en dB) crot linairement en R, avec une pente de 6 dB/bit.
16 CHAPITRE 2. THORIE DE LINFORMATION APPLIQUE AU CODAGE
Chapitre 3

Codage entropique longueur


variable

3.1 Description dun systme de codage longueur


variable.

On se donne une source discrte (donnes, fichier, . . . ) dont chaque symbole


x prend une parmi M valeurs possibles {x 1 , x 2 , . . . , x M }.
Une distribution de probabilit p(x) caractrise les statistiques de cette
source, on la suppose connue (ou estime) sous la forme {p 1 , p 2 , . . . , p M }, o p i
est la probabilit doccurrence du symbole x i .
Le codeur code chaque symbole de source x i par un mot de code c i . Le code
est lensemble des mots de codes {c 1 , . . . , c M }.
Un code longueur variable (VLC : Variable-Length Code) est tel que les
diffrents mots de code nont pas ncessairement la mme longueur, en bits. On
note l i la longueur en bits du mot de code c i . La distribution des longueurs du
code est donc {l 1 , l 2 , . . . , l M }.
Le dcodeur reconstruit les symboles de source partir de la squence
binaire des mots de codes. Le taux de codage (coding rate) R est le nombre
moyen de bits cods par symbole de source, cest dire

M
X
R= pi li .
i =1

Un code est donc dautant plus efficace en compression que R est petit.

17
18 CHAPITRE 3. CODAGE ENTROPIQUE LONGUEUR VARIABLE

3.2 Codes uniquement dcodables et instantans. Condi-


tion du prfixe.
Le but du codage de source sans pertes est de comprimer ces donnes de
faon telle que lon puisse reconstruire parfaitement (sans pertes, sans erreur)
la source au destinaire.
Pour cela, il faut que le dcodage ait lieu sans ambigut, cest dire quune
squence code donne doit tre interprtable de faon unique comme une
succession (concatnation) de mots de codes dtermins. Un code permettant
un tel dcodage (sans ambigut) est qualifi duniquement dcodable (u.d.).
Certains codes u.d. ncessitent une implantation complexe du dcodeur, qui
doit lire la squence code binaire suffisamment loin lavance pour dcoder
un symbole de source.
Dautres codes u.d., par contre, sont trs simples dcoder ; on les appelle
codes instantans, car le dcodeur na besoin de lire que les l i premiers bits
dune squence code pour pouvoir linterprter instantanment et de ma-
nire unique comme tant le mot de code c i , reprsentant le symbole x i .
Une code instantan est caractris par la condition du prfixe : Aucun mot
de code nest le prfixe dun autre mot de code (cest dire aucun c i ne dbute
un c j , j 6= i ).

3.3 Ingalit de Kraft-McMillan.


Pour trouver le meilleur code pour une source donne, il faut minimiser le
taux R sous la contrainte que le code soit u.d.
Afin de raliser cette optimisation, on caractrise dabord le fait quun code
soit u.d. sur la distribution des longueurs :
1. Tout code u.d. vrifie lingalit de Kraft-McMillan :

M
2l i 6 1
X
i =1

2. Rciproquement, si lingalit de Kraft-McMillan est vrifie, alors il existe


un code u.d., et mme instantan, qui admette {l 1 , l 2 , . . . , l M } comme dis-
tribution de longueurs.
Il en rsulte quon peut limiter la recherche du meilleur code lensemble
des codes instantans. Il y a un algorithme simple qui fournit un code instan-
tan {c 1 , . . . , c M } partir dune distribution de longueurs {l 1 , l 2 , . . . , l M } vrifiant
lingalit de Kraft-McMillan.
3.4. OPTIMISATION. CODES DE FANO-SHANNON ET DE HUFFMAN. 19

3.4 Optimisation. Codes de Fano-Shannon et de Huff-


man.
Daprs le paragraphe prcdant, pour trouver le meilleur code pour une
source donne, il faut minimiser le taux R sous la contrainte de lingalit de
Kraft-McMillan :
X X l
min{R = p i l i | 2 i 6 1}
i i

Si on applique brutalement la mthode du Lagrangien on trouve que R est


minimis lorsque l i = log2 p1 , auquel cas le taux minimal est lentropie de la
i
source :
XM 1
H = H (U ) = p i log2
i =1 pi
Cependant ce rsultat ne donne pas, en gnral, des longueurs l i entires !
Une faon dobtenir des longueurs entires est de prendre 1

1
l i = dlog2 e
pi

On obtient la famille des codes de Fano-Shannon, qui vrifient bien lingalit


de Kraft-McMillan, et pour lesquels on trouve

H 6 R 6 H + 1.

Cependant ces codes ne sont pas toujours optimaux.


La rsolution complte du problme de recherche du meilleur code est don-
ne par algorithme itratif sur M appel algorithme de Huffman. On obtient
alors un code de Huffman dont le taux R est minimal pour une source donne
(par les p i ).

3.5 Thorme de Shannon.


Daprs ci-dessus le taux de codage du meilleur code vrifie lingalit H 6
R 6 H + 1. Comme le montre lexemple dune source binaire (M = 2) dentropie
faible, on ne peut pas en gnral amliorer lingalit R 6 H + 1 en codant la
source symbole par symbole.
En pratique on utilise alors des techniques de codage par plage (RLC : Run-
Length Coding) pour amliorer les performances.

1. dxe dsigne le plus petit entier > x.


20 CHAPITRE 3. CODAGE ENTROPIQUE LONGUEUR VARIABLE

Une autre possibilit est de coder la source par blocs de n symboles. On


obtient alors pour R en bits/symbole lencadrement :

1
H 6R 6H+ ,
n
o H est lentropie dordre n de la source. En faisant n , on obtient le
thorme de Shannon pour le codage de source sans pertes, qui affirme quon
peut sapprocher de lentropie de la source daussi prs quon veut.

3.6 Autres systmes de codage sans pertes.


Dautres systmes de codage de source sans pertes ont t proposs pour
prendre en compte les dpendances temporelles (dun symbole lautre) de la
source (source avec mmoire) ; Ces sytmes de codage permettent de coder une
source quelconque sans connaitre a priori ses statistiques (codage universel),
mais sont plus complexes mettre en oeuvre. Les plus connus sont les systmes
de codage de Lempel-Ziv et de Codage arithmtique.
Chapitre 4

Quantification scalaire

4.1 Description dun systme de quantification sca-


laire.
On se donne une source continue X modlise par des chantillons ala-
toires de densit de probabilit p(x). Le quantificateur Q code chaque chan-
tillon x par une tiquette binaire ou index i pouvant prendre M valeurs. Le
dquantificateur Q 1 reconstruit les chantillons y partir des index binaires.
Le taux de quantification R est toujours le nombre moyen de bits cods par
chantillon, cest dire
R = log2 M .

On considrera ici (comme dans la plupart des applications) une distorsion


quadratique ou erreur quadratique moyenne (e.q.m.) :

Z
2
D = E {(X Y ) } = p(x)(x y)2 d x

Afin doptimiser le systme de quantification, on cherche minimiser D pour


un taux R donn.
Concevoir un quantificateur revient partionner lensemble des valeurs
possibles de X en M cellules ou rgions de quantification notes R 1 , R 2 , . . . , R M ,
de sorte que x est quantifi sur lindex i si et seulement si x R i .
Concevoir un dquantificateur revient se donner M reprsentants nots
y 1 , y 2 , . . . , y M , un par cellule, se sorte que i est dquantifi sur y = y i . Lensemble
de ces reprsentants sappelle le dictionnaire (codebook).
Optimiser le systme revient donc choisir des cellules R i et des reprsen-

21
22 CHAPITRE 4. QUANTIFICATION SCALAIRE

tants y i optimaux tels que la distorsion D soit minimale :


M Z
p(x)(x y i )2 d x.
X
D=
i =1 R i

Insistons sur le fait quici la quantification est scalaire, cest dire quon
quantifie chantillon par chantillon. On ne peut donc pas exploiter la mmoire
de la source.

4.2 Conditions du plus proche voisin et du centrode


En pratique il est trop difficile de minimiser D directement. On procde
donc par optimisation spare : en fonction des cellules dune part, et des
reprsentants dautre part.

4.2.1 Condition du plus proche voisin


Ici on cherche optimiser D sur le choix des cellules R 1 , R 2 , . . . , R M pour un
dictionnaire y 1 , y 2 , . . . , y M donn. Autrement dit, on optimise le quantificateur
pour un dquantificateur donn.
Pour cela, il suffit de remarquer que lerreur quadratique (xy)2 est minimale
lorsque y est le reprsentant le plus proche de x. Cette condition, appele condi-
tion du plus proche voisin, revient choisir les cellules optimales suivantes
(appeles cellules de Vorono) :

R i = {x tel que |x y i | 6 |x y j | pour tout j }

Autrement dit, les R i sont des intervalles du type (x i 1 , x i ) dont les frontires x i
sont les milieux entre deux reprsentants successifs :

y i + y i +1
xi = .
2

4.2.2 Condition du centrode


Ici on cherche optimiser D sur le choix du dictionnaire y 1 , y 2 , . . . , y M pour
des cellules R 1 , R 2 , . . . , R M donnes. Autrement dit, on optimise le dquantifica-
teur pour un quantificateur donn.
Pour cela, il suffit de minimiser la contribution de y i la distorsion totale D
pour tout i : Z
min p(x)(x y i )2 d x
Ri
4.3. ALGORITHME DE LLOYD-MAX 23

En annulant la drive de cette fonction quadratique on trouve la condition du


centrode : R
R xp(x) d x
yi = R i
R i p(x) d x

qui exprime que y i est le centrode (barycentre) de R i selon la distribution de


probabilit de la source.

4.3 Algorithme de Lloyd-Max


Lalgorithme de Lloyd-Max (1960) consiste itrer les deux conditions prc-
dentes qui ne sont que des conditions ncessaires doptimalit, afin dobtenir
une solution vrifiant simultanment les deux conditions.
On initialise lalgorithme par un choix arbitraire des centrodes (par exemple).
On applique ensuite la condition du plus proche voisin qui dtermine les cellules,
puis on recalcule les centrodes par la condition du centrode, et on recommence
jusqu convergence.
1. Cette convergence arrive-t-elle toujours ? Oui, car la distortion globale
D ne peut que diminuer chaque tape de lalgorithme ; elle converge
donc vers une valeur limite. En pratique, la convergence, la solution reste
stationnaire et vrifie donc simultanment les deux conditions du plus
proche voisin et du centrode.
2. Obtient toujours un minimum global ? Non, car on peut trouver des contre-
exemples avec minima locaux (cf. exercice). Cependant, on peut montrer
que si la fonction
log p(x)
est concave, alors la solution obtenue aprs convergence est effectivement
loptimum global. Cest le cas, par exemple, pour une source gaussienne
ou uniforme.

4.4 Performances en haute rsolution


Le systme de quantification est dit en haute rsolution si les cellules de
quantification sont assez petites pour quon puisse les considrer infinitsimales
pour le calcul des performances. Cela suppose un taux de codage R lev.
Sous cette condition, la distorsion quadratique scrit :

XZ y i +q i /2 1 X
D p i (x y i )2 d x = p i q i3
i y i q i /2 12 i
24 CHAPITRE 4. QUANTIFICATION SCALAIRE

o q i est la longueur (pas de quantification) de la cellule R i et o p i est la valeur


constante de p(x) dans R i . En rapproximant le rsultat par une intgrale il
vient :
q(X )2
D =E
12
o q(x) est la pas de quantification variable (= q i pour x R i ).
Noter que si la quantification est uniforme (pas constant q i = q) on obtient
la formule (classique) :
q2
D=
12
1
On introduisant la fonction (x) = M q(x)
qui reprsente la densit des cellules
de quantification (cf. exercice), et en notant que M = 2R , on obtient la formule
de Bennett :
p(x)
Z
1
D= d x 22R
12 (x) 2

o (x) > 0 et (x) d x = 1.


R

La formule de Bennett donne les performances dune quantification scalaire


non uniforme quelconque, caractrise par sa densit (x). En optimisant cette
densit par rapport la source on obtient (cf. exercice) :
Z 3
1 1/3
D= p(x) dx 22R .
12

On montre en exercice que, pour une source gaussienne de variance 2 , on a :


p
3 2 2R
D= 2 .
2

comparer avec la limite de Shannon D = 2 22R . La caractristique de rapport


signal bruit (en dcibels), fonction du
p
taux de quantification en bits, laisse
apparatre une diffrence de 10 log10 2 3 = 4.35 dB en dessous de la limite de
Shannon. On est encore loin de loptimal !

4.5 Performances en prsence dun codeur entropique


Une faon damliorer le systme est de faire suivre la quantification par
un codage entropique (sans pertes, cf. leon prcdente). La distorsion D =
1
12
E q(X )2 est alors inchange mais le taux a diminu ; on peut lvaluer comme
4.5. PERFORMANCES EN PRSENCE DUN CODEUR ENTROPIQUE 25

lentropie de lindex de distribution de probabilit p(i ) = p i q i avec les notations


prcdentes. On obtient
X 1
R = p i q i log2
i p i qi
que lon peut rapproximer comme une intgrale ; il vient :

1
R = H (X ) + E log2
q(X )

o H (X ) est lentropie diffrentielle de la source. En utilisant lingalit de Jensen


(concavit du logarithme, cf. exercice du chapitre 1) sur q(X ), on obtient une
distorsion minimale :
1
D = 22H (X ) 22R
12
qui est atteinte dans le cas dgalit de lingalit de Jensen, cest dire quand
q(x) est constant = q.
Autrement dit, lorsquelle est suivi dun codage entropique, la quantification
scalaire optimale est uniforme.
Dans le cas dune source gaussienne il vient

2e 2 2R
D= 2 .
12

On est plus qu 10 log10 2e


12 = 1.53 dB en dessous de la limite de Shannon. Le
codage entropique a apport un gain important, en tout cas en haute rsolution,
cest dire pour un fort rapport signal bruit.
26 CHAPITRE 4. QUANTIFICATION SCALAIRE
Chapitre 5

Codage par transforme

5.1 Description dun systme de codage par trans-


forme.
On se donne une source continue X modlise par des chantillons ala-
toires de densit de probabilit p(x) et de variance 2X . On ne suppose pas ici la
source sans mmoire.
Le codage par transforme consiste envoyer un vecteur

X = (X 1 , . . . , X n )

de n chantillons de cette source dans une transforme (inversible) T. On ob-


tient ainsi un vecteur U = T(X ) dans le domaine transform.
Chaque chantillon Ui en sortie de la transforme est ensuite quantifi par
un quantificateur Q i sur M i niveaux de quantification. Pour chacune de ces
sources, on a ainsi un taux de quantification de R i = log2 M i bits par chantillon.
Le dquantificateur Q 1 reconstruit les chantillons Vi ; la transforme
inverse T1 est finalement appliqu au vecteur V pour fournir la source recons-
truite Y = T1 (V ).
Le taux de quantification global R est toujours le nombre moyen de bits
cods par chantillon de source X , cest dire

1X
R= Ri
n i

Insistons sur le fait quici la quantification est scalaire, mais porte sur des coef-
ficients transforms dun vecteur de source. Bien que lon quantifie les coeffi-
cients transforms chantillon par chantillon, on peut quand mme exploiter
la mmoire de la source.

27
28 CHAPITRE 5. CODAGE PAR TRANSFORME

On considrera ici (comme dans la plupart des applications) une distorsion


quadratique pour les quantificateurs Q i :
D i = E {(Ui Vi )2 }.
Pour chacune des sources Ui quantifier, on supposera quil existe une formule
du type "formule de Bennett" tablie dans la leon prcdente, qui donne la
distorsion D i due la quantification Q i :
2
D i = c i Ui 22Ri
Dans cette expression, la constante c i dpend du type de source Ui et du type de
quantificateur Q i . Il ny a pas de raison que les constantes soient toutes gales,
sauf par exemple dans le cas dune p
quantification scalaire optimale dune source
3
gaussienne o on a vu que c i = 2 .

5.2 Codage par transforme orthogonale.


Pour simplifier lexpos on choisit une transforme orthogonale, cest dire
une transforme linaire T, reprsente laide dune matrice carre T de taille
n n, qui prserve la norme quadratique :
kT X k = kX k

pour des vecteurs colonne X . Autrement dit, la transforme T est telle que

T T t = T t T = I.

et la transforme inverse est T 1 = T t .


Pour une transforme orthogonale, on peut aisment obtenir la distortion
globale du systme :
1
D= E {kX Y k2 }
n
1
= E {kT t U T t V k2 }
n
1
= E {kU V k2 }
n
1X
= Di .
n i

Noter que, avec un calcul analogue, la conservation de la norme peut se voir sur
les variances :
1X 2
2X = .
n i Ui
5.3. POURQUOI UNE TRANSFORME ? 29

5.3 Pourquoi une transforme ?


On va effectuer une comparaison dun codeur classique (quantification sans
transforme) et dun codeur par transforme, avec les mmes quantificateurs,
de sorte les diffrentes distorsions D i obtenues aprs transforme sont gales
entre elles, et donc la distorsion totale :
D i = D.
De mme, la distortion D 0 introduite par le quantificateur scalaire habituel (sans
transforme) sur la source X est D 0 = D = D i . Ainsi la distortion globale na pas
chang malgr lintroduction de la transforme. Le codage tant un compromis
entre taux R et distortion D, il faut donc regarder ce qui se passe sur R.
Dans le systme de codage par transforme, on a R = n1 i R i o D i =
P

c i Ui
2
22Ri , do en supposant les c i = c constants :
qQ
i Ui
n 2
1 c
R = log2
2 D
Pour le systme classique sans transforme, on a pour le quantificateur la
mme formule de Bennett qui relie distorsion globale D 0 = D et taux R 0 :
D 0 = c2X 22R0 , cest dire :
2
1 c X
R 0 = log2
2 D
Sachant que 2X = n1 U
2
P
i i
, on obtient un gain sur les taux de
1
log2 G T C bits
2
o
1
U
2
P
n i i
G T C = qQ
n
i U
2
i

est le gain de codage par transforme (Transform Coding Gain). Ce gain de


codage est toujours > 1 (voir exercice) : Une transforme orthogonale apporte
toujours un gain !

5.4 Rpartition optimale des taux aprs transforme


Dans un systme de codage par transforme, quelle est la rpartition op-
timale des taux R i qui, pour un taux global R = n1 i R i donn, minimise la
P

distorsion globale D = n1 i D i ?
P
30 CHAPITRE 5. CODAGE PAR TRANSFORME

Cest un problme de minimisation sous contrainte qui se rsout par la


mthode du multiplicateur de Lagrange : en tenant compte de la formule de
Bennett, le Lagrangien est :
X 2 2R
L = n1 cUi 2 i Ri .
X
i i

En drivant le lagrangien par rapport aux variables R i on obtient

D i = Constante

ce qui correspond prcisment la situation du paragraphe prcdent. On a


donc une distorsion minimale :
rY
D min = c n U
2
22R
i
i

et le gain de codage par transforme G T C dfini ci-dessus donne le gain en


distorsion d la transforme :

D0
= GT C .
D min

pour un taux de codage R donn.


Rappelons que pour obtenir lexpression de G T C , on a utilis des formules
de Bennett valables en haute rsolution. Le gain G T C nest donc valable quen
fort dbit.
De plus, les constantes c i dans les formules de Bennett sont supposes toutes
gales. Ceci correspondrait une situation o la source est gaussienne et o
tous les quantificateurs utiliss sont optimiss.

5.5 Transforme optimale


Sous les mmes hypothses qunonces ci-dessus, on peut trouver la trans-
forme orthogonale qui maximise le gain de codage G T C (voir exercice). Cette
transforme est la transforme de Karhunen-Love et est obtenue comme une
matrice dont les colonnes sont les vecteurs propres de la matrice dautocova-
riance de la source.
En pratique, on utilise des approximations de la transforme de Karhunen-
Love qui sont indpendantes de la source et qui se comportent de la mme
manire pour des signaux trs corrls. Cest le cas de la transforme en cosinus
discrte (DCT : Discrete Cosine Transform) utilise en compression dimages.
6. GENERALITES SUR LES CODES CORRECTEURS

6.1 PRINCIPE DE LENCODAGE (AU NIVEAU D'UN EMETTEUR)

Source Canal Destinataire



Information perturbations
0 Rcepteur
1 Lecteur
Emetteur TV
Musique d'un CD

Pour tre retrouve par le destinataire, une information perturbe doit tre rpte
d'une manire ou d'une autre lmission.

B . GELLER Gn ralits sur les co d es co rr ecteur s 1


6.1.1. UN EXEMPLE SIMPLE
Le codage le plus simple est la rptition triple de chaque information l'entre d'un
Canal Binaire Symtrique (CBS).

i)CBS

0 1-p 0

1 1-p 1

p: probabilit de transition du Canal BS.

Emis(t)

1V 0 1 1 0 1

0V t

Reu(t)
1V seuil de dcision

0 t

Dcid(t)

1V

0V 0 0 1 1 0 0
t

Cette probabilit reprsente le taux derreur (probabilit que le signal reu soit diffrent du
signal mis) et elle est dautant plus forte que le bruit est important .

B . GELLER Gn ralits sur les co d es co rr ecteur s 2


ii)Codeur par rptition triple

Source 010 Codeur 0 0 0 1 1 1 0 0 0 Canal 0 0 1 1 1 1 0 0 0 Dcodeur Destinataire

Le codeur rpte trois fois chaque information source :


0 000
1 111

iii) Stratgies de dcodage

6.1.2 DEFINITIONS
i)Rle du codage canal :

Amliorer la fiabilit au prix du traitement d'une redondance qui n'apporte aucune

information relle.
ii)Rle du codeur :
Introduire une redondance suivant une certaine loi univoque .

Dans le cas du codage bloc, on transforme un bloc de k informations source en n symboles


transmettre au canal (n>k).

Remarque :

Les symboles sont choisir dans un alphab et A s o u r c e .


Exemple :

A s o u r c e = /2 ;{0,1}o toutes les oprations + et x se font modulo 2 :

+ 0 1 x 0 1
0 0 1 0 0 0
1 1 0 1 0 1

B . GELLER Gn ralits sur les co d es co rr ecteur s 3


Exemples :

Codage par rptition k=1, n=3


3
/2(/2)
b (b,b,b)

Codage de parit : transforme k bits en n=k+1 bits o le dernier bit est somme des
prcdent bits dinformation (modulo 2). En particulier pour k=7, n=8 et on a :

(/2) 7 (/2) 8
(b 1 ,b 2 ,b 3 ,b 4 ,b 5 ,b 6 ,b 7 ) (b 1 ,b 2 ,b 3 ,b 4 ,b 5 ,b 6 ,b 7 ,b 8 )

7
avec b 8 = b
i1
i 2 bit de parit.

iii)Trois dfinitions pour un code en bloc


iii1) Codage sous forme systmatique
(A s o u r c e ) k (A s o u r c e ) n a 1 =c 1
avec a 2 =c 2

(a 1 ,..., a k ) (c 1 ,...c k ,..c n ) :

a k =c k

nk k
iii2) Redondance = ; Rendement = 1 - Redondance
n n
iii3) Im ( ) est un sous-ensemble de (A s o u r c e ) n [Card (A s o u r c e )] k
lments parmi les
n
[Card (A s o u r c e )] n-uplets possibles.
iii4)Exemple :

(/2) 2 (/2) 3

(b 1 ,b 2 ) (b 2 ,b 1 ,b 1 )
avec
(0 0) (0 0 0)
(0 1) (1 0 0)

(1 0) (0 1 1) 4 mots possibles parmi 8 dans (/2) 3


(1 1) (1 1 1)

B . GELLER Gn ralits sur les co d es co rr ecteur s 4


6.2 STRATEGIE DE DECODAGE

6.2.1 RLE DU DECODEUR (AU NIVEAU DU RECEPTEUR)


1) Il vrifie que la loi de codage est remplie. Si cette loi n'est pas vrifie, une

erreur est dtecte pour le n -uplet reu.


Exemple: bit de parit
Mot reu r =(10101) parit non respecte erreur de transmission

2) a) Soit le dcodeur cherche corriger lui -mme les erreurs en choisissant le mot
cod le plus vraisemblablement mis (i.e. celui qui ressemble le plus au mot reu)

FEC = Forward Error Correction


b) Soit il demande la remission de ce qui est dtect comme faux

ARQ = Automatic Repeat reQuest.

6.2.2 FEC/ARQ ?
* FEC est choisi lorsquon a une application du type "canal unidirectionnel"
(Exemple: CD, fuse...)

FEC/ARQ + -

* Rapide * Dcodeur complexe(cher)

* Trafic plus fluide * La probabilit de commettre une erreur

est gnralement plus leve

*ARQ
- ARQ avec attente d'acquittement : l'metteur attend syst matiquement l'accus de

rception (positif ACK ou ngatif NAK) de chaque mot qu'il met avant d'mettre le
suivant. Ceci entrane une perte de temps.

- ARQ continu : le rcepteur acquitte quand il le peut les sries de mots mis. Une

gestion de buffers l'mission et en rception doit tre prise en compte. (Cette gestion est
particulirement lourde pour un protocole ARQ continu "slectif").
Les rseaux informatiques fonctionnent gnralement en ARQ.

B . GELLER Gn ralits sur les co d es co rr ecteur s 5


6.2.3 LIMITATION DU DECODE UR

Il n'y a pas de dcodeur parfait : on n'est jamais sr de ne pas commettre d'erreur. On peut

nanmoins atteindre une certaine fiabilit, mesure par un taux moyen derreur dfini par le

cahier des charges, en choisissant des mots cods de longueur suffisamment leve.

Exemple:
Rptition triple

Si le rcepteur reoit (0 0 0 1 1 1) il va dcider que linformation source tait 0 1


erreur
probabilit ( / bit ) = p 3 = 10 - 6

Si on veut tre plus fiable, il faut augmenter la redondance et la longueur du mot cod ;

par exemple si on rpte huit fois :


erreur
1 (1111 1111) 0 (00000000) probabilit ( / bit ) = p 8 = 10 - 1 6

Les performances ne peuvent samliorer quau prix dun temps de traitement et dune

complexit plus levs ; ceci constitue un premier compromis.

6.3 CARACTERISATION DE LA REDONDANCE NECESSAIRE

6.3.1 UNE QUALIFICATION POSSIBLE DE LA REDONDANCE NECESSAIRE :


DISTANCE DE HAMMING
Dfinitions:

1/ Un dcodeur est dit complet au sens dun Maxim um de Vraisemblance (MV) si, tant
donne une distance dfinie pour les n -uplets, pour tout mot reu r, le dcodeur choisit le

mot de code c m i n tel que d(r, c m i n ) = min {d(r, c)}, c tant un mot quelconque du code.

2/ Soient x = (x 1 .....x n )
y = (y 1 .....y n )

d(x,y) = card A x y avec A x y = { i / x i y i } ( nombre de symboles diffrents)

Il sagit bien dune distance au sens mathmatique .


(cf justification en petites classes)

B . GELLER Gn ralits sur les co d es co rr ecteur s 6


Exemple: A s o u r c e =Alphabet, C ={(ALPHA) ; (TANGO)}. Que vaut d ?

Thorme Fondamental :
Soit C l'ensemble des mots d'un code. Soit d m i n la plus petite distance entre deux mots

quelconques du code.

- Ce code peut dtecter d m i n - 1 transitions du canal.


d 1
- Ce code peut corriger e =Int min transitions.
2

Exemples:
1/ C={(000);(111)} ; daprs le thorme ci dessus, C dtecte 2 erreurs et corrige 1 erreur.

Par exemple, dans la configuration : 0 000 110 ,

codeur canal
C permet de dtecter au plus deux transitions, mai s ne permet pas de les corriger.

2/ A = {0,1,2,3,4} C = {(00) ; (12) ; (23) ; (34) ; (41)}. Quelles sont les capacits de

dtection et de correction de ce code ?

0 1 2 3 4
0

2
3
4

En gnral, les dcodeurs sont incomplets au sens du maximum de vraisemblance ; en

dautres termes, ils sont capables de trouver c m i n tel que d(r,c m i n ) = min {d(r,c)}, si et

seulement si r est dans une sphre suffisamment proche dun mot de code : d(r,c i )<B, o

souvent B=e.

Dfinition:

Codes quivalents:
Ce sont des codes qui ont mme distribution de distances entre mots.

Des codes quivalents ont mme di stance minimale et capacit de dtection/correction.

B . GELLER Gn ralits sur les co d es co rr ecteur s 7


Exemple:

(0000) (0000)

(0011) (1010)
C 0= (1100) C 0= (0101)

(1111) (1111)

Proprit:

Soit un CBS, de probabilit de transition arbitrairement faible (p<<1). Soit un codeur

l'entre du canal, de capacit de correction e et d e longueur n fixs. On suppose que le


dcodeur en sortie se limite corriger toutes les combinaisons de e ou moins transitions.

La probabilit pour qu'un mot non cod de n symboles soit erron, est proportionnelle p.
La probabilit pour qu'un mot cod d e n symboles soit erron, est proportionnelle

p e + 1 <<p, ce qui est donc meilleur pour p suffisamment faible.

Une redondance quantifie , comme nous allons le voir, par le thorme de Shannon et

construite de manire obtenir une certaine distance minimal e entre mots cods permet
donc de garantir une plus faible probabilit derreur pour un rapport Signal Bruit
suffisant (p<<1).

Dmonstration :
- Mot non cod

proba (n bits justes) = (1 -p) n

proba (au moins 1 erreur parmi n)=1 -(1-p) n np (si p <<1)


- Mot cod
n

C
n
p (se trompe) = k
p k (1-p) n - k (p<<1)
k e 1

p e + 1 CQFD.

Limitation sur la distance minimale :

- Le calcul de d m i n d'un code est trs lourd en gnral.

- Certains codes qui ont d es mots loigns entre eux, sauf une exception o deux mots du
code sont trs proches, peuvent avoir de faibles probabilits d'erreurs en moyenne bien
que d m i n reste faible. Ceci est en particulier vrai pour les canaux faibles RSB
(Rapports Signal Brui t) i.e. pour p non ngligeable devant 1 .

B . GELLER Gn ralits sur les co d es co rr ecteur s 8


6.3.2 UNE QUANTIFICATION DE LA REDONDANCE NECESSAIRE :
LE THEOREME DE SHANNON DU CODAGE

Dfinition : On appelle capacit dun canal d entre X et de sortie Y, linformation

mutuelle maximum entre lentre et la sortie du canal :

C max I(X, Y) o I(X,Y)=H(X) H(X|Y) et p(x) est la d.d.p. de X.


p( x)

Dans le cas dun canal, linformation mutuelle entre lentre et la sor tie reprsente donc la
quantit dinformation de la source lentre , diminue par lincertitude due au canal.

En particulier, lorsque le ca nal est parfait X=Y et donc H(X|Y) = H(X|X) = 0 car il ny a

aucune incertitude sur X lorsquon connat X. Au co ntraire, si le canal est tellement

mauvais que sa sortie Y ne dpend pas de son entre X, lobservation de la sortie nap porte

aucune connaissance : H(X|Y) = H(X) et C = H(X)-H(X) = 0. Entre ces deux cas extr mes,
linformation mutuelle est dautant meilleure que le canal distord peu et a donc une
capacit vhiculer de linformation.

La capacit n est quun cas particulier dinformation mutuelle du canal considr, o lon

rpartit au mieux les informations de la source place lentre du canal ( max par
rapport p(x) ), afin que linformation soit la plus importante possible. Souvent, p our des

canaux dont les transitions sont symtriques par rapport aux symboles dentre (comme le

CBS), on trouve que la capacit est linformation mutuelle obtenue d ans le cas
dquirpartition des symboles l entre ( i.e. p(x i )=1/Card(A S o u r c e ) ).

Exemple de rfrence : Le Canal Binaire Symtrique


0 1-p 0

p
X Y
p

1 1-p 1

I(X,Y) = H(X) H(X|Y) = H(Y) H(Y|X). Montrons que H(Y|X) est indpendant de p(x) si

bien que maximiser I(X,Y) pour trouver la capacit du CBS reviendra maximiser H( Y).

B . GELLER Gn ralits sur les co d es co rr ecteur s 9


H(Y|X) = p(x)H(Y|X=x) o H(Y|X=x) = - p(Y|X=x)log 2 (p(Y|X=x))
x y

Lorsque X=0, H(Y|X=0) = - p(Y=0|X=0) log 2 (p(Y=0|X=0)) - p(Y=1|X=0) log 2 (p(Y=1|X=0))


= -(1-p) log 2 (1-p) - p log 2 (p) = H(p),

o H(p) dsigne lexpression analytique de lentropie binaire associe la probabilit p.

De mme lorsque X=1, H(Y|X=1) = -p log 2 (p) - (1-p) log 2 (1-p) = H(p).

Donc H(Y|X) = p(x)H(Y|X=x) = p(x)H(p) = H(p) p(x) = H(p) est bien indpendant de p(x) et
x x x

ne dpend que de la probabilit de transition du canal p.

Par consquent maximiser par rapport p(x), linformation mutuelle :

I(X,Y) = H(Y) H(Y|X)= H(Y) H(p) revient maximiser H(Y).

Lentropie de Y est maximum et v aut 1 lorsque Y=0 et Y=1 sont quiprobables :


P(Y=0) = p(X=0) (1-p) + p(X=1) p = 0.5

P(Y=1) = p(X=1) p + p(X=0) (1 -p) = 0.5

Donc C C B S = 1-H(p),

est obtenue pour p(X=0) = p(X=1) = 0.5 = p(Y=0) = p(Y=1) : la solution du problme est
bien symtrique.

CCBS

B . GELLER Gn ralits sur les co d es co rr ecteur s 10


Thorme de Shannon : Pour une longueur de code n suffisamment longue, une

transmission avec une probabilit derreur arbitrairement faible est possible si le rendement

du code est infrieur l a capacit du canal.

Dmonstration pour le CBS :

La probabilit de transition du canal vaut :p=d/n o d est le nombre de transitions parmi n


symboles mis (o n tend vers l infini).

En dautres termes, lorsque n tend vers linfini, le mot reu se trouve sur une sphre une
n!
distance de Hamming d=np du mot de code mis, ce qui donne Cdn = possibilits.
d!(n-d)!

Une condition suffisante pour quil ny ait pas derreurs est que lensemble des sphres

soit disjointes entre elles et que le volume de leur empilement soit infrieur au vo lume de
n!
lespace possible : 2 >2 Cd 2 > d!(n-d)!
n k n n-k

En prenant le log base 2 de lingalit prcdente et en utilisant lapproximation pour


les grands nombres log 2 (N!)= Nlog 2 (N)-N issue de la formule de Sterling (cf annexe), on

obtient donc :
n-k > (n.log 2 (n)-n)-((n-d).log 2 (n-d)-(n-d))-(d.log 2 (d)-d)

= n.log 2 (n)-(n-d).log 2 (n-d)-d.log 2 (d)

En remplaant d=np, et en divisant de part et dautre par n, on obtient alors :


1-k/n > log 2 (n)-(1-p)log 2 (n-np)-plog 2 (np)
soit finalement,

k/n <1- log 2 (n)+(1-p)log 2 (n-np)+plog 2 (np)


=1+(1-p)log 2 (1-p)+plog 2 p=1- H(p)=C C B S CQFD.

B . GELLER Gn ralits sur les co d es co rr ecteur s 11


Exemple dapplication :

Source Codeur Canal Destinataire


{0,1} (k,n) 0 0

p(0)=p(1)= p

1 1

On a : k T s o u r c e = n T c a n a l o k : nombre de symboles l'entre du codeur

n : longueur des blocs en sortie du codeur


et le thorme de Shannon scrit :
k
n> o C: capacit canal
C
Si p=10 - 2 , C=0,919. Dans ce cas, si par exemple, k=1000 alo rs il faut que n 1089. Il

faudra rajouter 89 symboles (au moins) aux 1000 informations binaires suivant une certaine
loi de codage si lon veut transmettre avec probabilit derreur fixe arbitrairement faible.

En dautres termes, le codeur introduit dan s la liaison pour la rendre plus fiable, peut tre
vu comme une source secondaire directement branche au canal, dont linformation
moyenne dlivre par symbole mis est k/n (la redondance napporte aucune information).

Le thorme du codage de Shannon re vient alors dire que lentropie de la source branche
lentre du canal doit tre infrieure la capacit du canal.

Deux Remarques:
1/ Supposons que le cahier des charges dfinit comme arbitrairement petite, une probabilit

d'erreur p(erreur)=10 - 5 . Si p=10 - 2 , un dcodage par vote majoritaire de la rptition

n=(2m + 1) fois de chaque bit, donne aprs dcodage une probabilit d'erreur :
2m+1 m+1
p(erreur)=Cm+1 p (1-p) m < 10 - 5 pour m=2 et n=5.

Dans ce cas, lentropie H=1/5 bit par symbole canal : H<< 0,919 ; la redondance du codage

par rptition pour obtenir une probabilit derreur arbitrairement petite est trop leve.

2/ Le thorme de Shannon sur le codage ( Deuxime thorme de Shannon ) permet de


donner une quantification de la redondance n cessaire, valable pour une longueur n
arbitrairement large. Malheureusement, ce thorme nest pas constructif et ne permet pas
de construire en pratique des codes correcteurs.
B . GELLER Gn ralits sur les co d es co rr ecteur s 12
Capacit et thorme de Shannon ne sont pas des notions limites aux canaux discret s mais

stendent tous les canaux , en particulier, ceux entre et sortie continues.

Exemple : Le canal bruit additif blanc Gaussien (BABG, AWGN)

Un canal AWGN signifie quentre la sortie Y e t lentre du canal X, on a la relation :


Y = X + B,
o le bruit B N (0, 2 ) , et o les chantillons de bruit b sont indpendants (bruit blanc) ; la

puissance de sortie est donc gale la somme de celle fixe de lentre et de celle du b ruit.
Linformation mutuelle scrit :

I(X,Y) = H(X) H(X|Y) = H(Y) H(Y|X).

Comme pour le CBS, montrons que H(Y|X) est indpendant de p(x) si bien que maximiser
I(X,Y) pour trouver la capacit du canal AWGN reviendra maximiser H(Y). Pour obtenir
H(Y|X), on peut dtailler les calculs (cf annexe) ou on peut tirer parti de certaines
proprits de H ; lentre informative du canal X et le bruit B sont indpendants donc :
H(Y|X) = H(X|X) + H(B|X) = H(B|X) = H(B) = log 2 2e 2 (car B N (0, 2 ) ).
1
2
H(Y|X) est bien indpendant de p(x) et donc maximiser par rapport p(x), linformation

mutuelle I(X,Y) = H(Y) H(Y|X)= H(Y) H(p) revient maximiser H(Y). (Notons au
passage que H(Y|X) vaut exactement lexpression de lentropie diff rentielle du bruit
Gaussien B : lincertitude vaut exactement celle rajoute par le bruit indpendant de la

source). Or lentropie diffrentielle Y est maximum lorsque Y est une variable alatoire
Gaussienne. Comme Y=X+B, ceci a lieu lorsque X est galeme nt une variable Gaussienne
N (m X , X2 ) car Y suit alors la distribution N (m X , X2 2 ) comme somme de deux variables

Gaussiennes indpendantes .
H(Y) = log 2 2e( X2 + 2 ) et :
1
Par consquent
2
1 X2
C = H(Y)-H(Y|X) = log 2 1+ 2 (en bits par symbole rel mis).
2

On trouve souvent une expression alternative cette expression pour les signaux rels
bande passante limite. En notant S= X2 la puissance du signal mis, B= 2 la puissance du

bruit AWGN et en supposant que le canal avec une bande passante de W H ertz permet de

transmettre 2W symboles par seconde, la capacit en bit/s sexprime par la relation :


B . GELLER Gn ralits sur les co d es co rr ecteur s 13
S
C = W log 2 1+
B

Cette relation est trs souvent utilise en tlcoms pour connatre le dbit que lon peut

esprer transmettre.
Par exemple, pour un canal tlphonique de bande passante 4 kHz et de rapport signal sur

bruit 40 dB,

C = 4000 log 2 ( 10001) = 53 kbit/s.


Pour augmenter le dbi t il faut soit augmenter la bande passante, soit beaucoup augmenter

la puissance du signal mis (ce qui rend la ressource spectrale dautant plus chre). Cest ce

qui est fait dans lADSL o on a tendu la transmission 256 canaux parallles de 4 kHz.

Notons enfin que le plus souvent une expression analytique simple de la capacit dun
canal est difficile obtenir et quil faut alors recourir des mthodes numriques.

SYNTHESE :
Du fait de la distorsion du canal, il faut rajouter de la redondance aux messages mis pour

les fiabiliser. Le codage rsultant doit alors avoir un rendement infrieur la capacit du
canal. On a donn lexemple de deux codes simples :

- Code de parit

(n,k=n-1,d m i n =2)
n 1
Excellent rendement R=
n
00000000 d=2
00000011

capacit de dtection 1, de correction 0...


- Code de rptition (n, k=1,d m i n =n=nombre de rptition)

Rendement trs mauvais, mais trs bonne capacit de correction.

Entre ces caractristiques extrmes, il existe des familles de code permettant de faire un

meilleur compromis redondance / capacit de correction et dapprocher la capacit dun

canal. Ce sont les codes linaires qui seront tudis dans le(s) chapitre(s) suivant(s).

B . GELLER Gn ralits sur les co d es co rr ecteur s 14


ANNEXES :

A1 - Formule de Sterling
Premire dmonstrati on :
La distribution de Poisson, entirement caractris e par un paramtre (qui est gal sa
moyenne et sa variance) scrit :
N
P(N)= exp
N!
Pour N suffisamment large , cette distribution tend vers la Gaussienne de mme moyenne et

variance (cf. figure pour =15).

N 1 (N-)2
On peut alors crire exp- exp- pour N proche de la moyenne . En
N! 2 2

particulier pour N= , on obtient :


NN 1
exp-N , soit la formule de Sterling : N ! NN exp-N N
2 .
N! 2N

Finalement, toujours pour N large, en prenant le logarithme de la formule de Sterling, on


obtient :
log 2 (N!)= Nlog 2 (N)-N+0.5log 2 (2N) Nlog 2 (N)-N.

(On pourrait mme dans lexpression prcdente ngliger le terme en -N devant Nlog 2 (N)
sans aucune incidence sur la dmonstration du deuxime thorme de Shannon .)

Deuxime dmonstration :
La croissance de la fonction ln() entraine lencadrement suivant des intgrales sur un
intervalle de longueur 1 :
k k 1
k 1
ln(t )dt ln(k )
k
ln(t )dt ;
donc en sommant sur tous les intervalles de 1 N :
N N 1

1
ln(t )dt ln( N!)
2
ln(t )dt ;
en intgrant on obtient :
Nln(N)-N+1< ln(N!)< (N+1)ln(N+1)-(N+1)-(2ln2-2),
soit en faisant tendre N vers linfini : ln(N!) Nlog 2 (N)-N

B . GELLER Gn ralits sur les co d es co rr ecteur s 15


A2 - Calcul de H(Y|X) pour le canal AWGN
H(Y|X)= log 2 p( y x) p( x, y)dxdy log 2 p( y x) p( y x) p( x)dxdy
1 y x 2 1 y x 2
log 2 exp exp p( x)dxdy
2 2 2
2 2 2
1 y x 2 log (e) 1 y x 2
= log 2 2
exp p( x)dxdy
2 2 2 2 2 2

(car log 2 (t)=ln(t)/ln(2)=ln(t)log 2 (e))


1 1 y x 2 y x 2 log 2 (e) y x 2
= log 2
exp p( x)dxdy exp
2


2
2 2
2 2 2
2 2
p( x)dxdy

Le premier terme de cette somme scrit :


1 1 y x 2 y x 2
p( x)dxdy = log 2 1 p( x)dx 1
log 2
2 2
exp
2 2 2 2 exp 2 2 dy

1
p( x)dx log 2 (2e ) ,
2

= log 2
2 2

tandis que le second terme se simplifie avec b = y-x :


y x 2 log 2 (e)exp y x 2 p( x)dxdy = b2 log 2 (e) exp b2 db p( x)dx
2 2 2
2 2 2 2 2 2 2

=
b log 2 (e) b = log 2 (e)
2 2
exp 2 db

2 2 2 2
2

car par dfinition mme de la variance, 2 = b2 p(b) db .


log 2 (2 2 ) log 2 (e) log 2 (2e )
2

Donc H(Y|X)= + = .
2 2 2
H(Y|X) est donc bien indpendant de p(x).

B . GELLER Gn ralits sur les co d es co rr ecteur s 16


A3 - Entropie diffrentielle des v.a. continues par rapport la Gaussienne
Lentropie diffrentielle de la Gaussienne se calcule directement partir de sa dfi nition :
1 x X 2
H(X G )= g(x)log 2 g(x)dx g(x)log 2 exp 2
dx

2 X 2 X
1 log 2 (e)
log 2 g(x)dx 2 x X 2 g(x)dx (car log 2 (t)=ln(t)/ln(2)=ln(t)log 2 (e))
2 X 2 X
1 log 2 (e) 2 log 2 (2e 2X )
= log 2 + 2
X =
2 X
2 X 2

Si on considre prsent une v.a . X prenant ses valeurs x avec une densit de probabilit
2
p(x) de moyenne X et de variance X identique la Gaussienne prcdente , le calcul de
- p(x) log 2g(x)dx mne directement, en remplaant g(x) par son exp ression analytique, au

mme rsultat :
1 x X 2
p(x)log 2 g(x)dx p(x)log 2 exp dx 1 log 2 (e2 X2 ). .
2 X 2 X
2
2
Or si lon dfinit :
p ( x)
f (X ) H(X ) p( x) log g ( x)dx p( x) log p( x)dx p( x) log g ( x)dx p( x) log
2 2 2 2 dx ,
g ( x)
de lingalit de Jensen :
p x g x
p x log2 g x dx log2 p x p x dx log2 g x dx log2 1 0 .

Par consquent :
f X =H X + p x log 2 g x dx 0 .
1
et H( X ) p( x) log2 g ( x)dx log2 (2e X2 ) H( X G ) .
2

2
Par consquent, puissance X fixe, lentropie diffrentielle de la Gaussienne est

suprieure aux autres distributions , lgalit ne se produisant que pour X=X G .

B . GELLER Gn ralits sur les co d es co rr ecteur s 17


7. LES CODES BLOCS LINEAIRES

Nous allons voir que les codes blocs linaires sont simplement des codes blocs de taille
fixe n (kn) dont la loi de codage est constitue d'quations linaires.

La redondance linaire rsultante es t comprise entre celle du codage par rptition et celle

du codage par parit et elle est choisie afin dapprocher au mieux la capacit du canal.

7.1 CODAGE
Soit A un alphabet qui est un corps ; par exemple, souvent, A= /2.

n
Soit r un n-uplet r= (r 1 ,...,r n ) A ; on peut aussi crire : r = ri e i avec e i =(0..0100..0) o
n

i 1

ime n
la coordonne qui vaut 1 est en i position ; on retrouve que A est un espace vectoriel
de dimension n.

Dfinition:
n
Un code linaire C est un sous-espace vectoriel (s.e.v) de A engendr par k vecteurs

indpendants (gnrateurs) g 1 g k .

k
c C {a i }A k / c = a i g i
i 1

C = Vect (g 1 ,...,g k )

7.1.1 RAPPELS SUR DES PROPRIETES ELEMENTAIRES DES ESPACES VECT ORIELS
k
i) 0 C : 0= 0g i Vect (g i )
i 1

2
ii) Si (c 1 , c 2 ) C ,, A 2 , alors c 1 +c 2 C
k k k
(en effet c 1 =
i 1
ci1g1, c2 =
i 1
c i 2 g i c 1 + c 2 = ( c i 1 + c i 2 )g i Vect (g i ) )
i 1

i) Si Card A=q, C est un sous-ensemble q k lments de A n , qui lui en compte q n .


k
En effet, soit c un mot quelconque du code : c= a i g i ou les coordonnes a i peuvent
i 1

prendre q valeurs possibles. Etant donn qu'il y a k coordonnes distinctes, il y a bien q k

choix possibles pour les mots du corps.

B . GELLER Les co d es b lo cs linaires 1


7.1.2 MATRICE GENERATRICE

Dfinition :

Une matrice k x n dont les lignes sont formes par une famille de vecteurs gnrateurs

g i du code, est nomme matrice gnratrice du code.

Notation :
g j = (g j 1 ...g j n )

g 1 1 ... g 1 n g1

G = g 2 1 ... g 2 n = g2

gk1 gkn gk
Remarque :

Une matrice gnratrice, tout comme une base d'un sous espace vectoriel n'est
gnralement pas unique.

Proprits :
Tout mot du code s'crit sous la forme

c = a G
1xn 1xk kxn

Dmonstration:
k
Soit c= a i g i C
k i=1 k k
c = ( ai gi1 , a i g i 2 ,... ai gin)
i 1 i 1 i 1

= a G o a = (a 1 ...a k ) CQFD.

B . GELLER Les co d es b lo cs linaires 2


Consquence :

Un codeur peut tre vu comme un automate effectuant une multiplication matricielle

(a 1 ...a k ) (c 1 ...c n )
c=a G

k symboles n symboles

Exercice :
Quelle est la capacit de correction d'un code coefficients binaires dont une matrice

gnratrice est :

100101
G = 011101

110110

k= 3

B . GELLER Les co d es b lo cs linaires 3


7.2 POIDS D'UN CODE LINEAIRE

Dfinition:

Etant donn un n-uplet r, le poids de r est le nombre de coordonnes non nulles.

w {(111000)}=3

Proprits :
Pour un code linaire d m i n =min{w(c), c C / (0) } =w m i n . Ceci permet de calculer

beaucoup plus rapidement la distance minimale d'un code. (cf. exemple prcdent).

Dmonstration:
Soient c 1 , c 2 deux mots distincts de C.

d(c 1 ,c 2 ) = Nombre de coordonnes distinctes entre c 1 et c 2


= w (c 1 - c 2 ) : toute distance est un poids dun m ot du code (c 1 - c 2 C car le code

est linaire)

Rciproquement, w(c)=d(c,0) : tout poids est une distance.

L'ensemble des poids d'un code est donc confondu avec l'ensemble des distances entre mots
du code. Ces deux ensembles d'entier s admettent le mme plus petit lment: w m i n = d m i n .

On peut aussi remarquer que pour tout lment c du code, la distribution des distances

entre c et les autres mots du code D(c),est la mme indpendamment de c :


D(c)={d(c,c i ), c i C }={w(c-c i ) , c i C }= { w (c j ),c j C } CQFD.

7.3 DETECTION D'ERREUR PAR MATRICE DE CONTROLE

7.3.1 TROIS RAPPELS


i) Produit scalaire : x . y = (x 1 ...x n ).(y 1 ...y n )

= x 1 y 1 + x 2 y 2 + .. + x n y n

(souvent + et x modulo 2)

ii) Orthogonalit: xy x.y = 0

iii) L'ensemble C constitu par l'ensemble des vecteurs orthogonaux un s.e.v. de

dimension k est un s.e.v. de dimension n-k.

B . GELLER Les co d es b lo cs linaires 4


7.3.2 MATRICE DE CONTROLE

Dfinition :
Soit C un code linaire, C est un s.e.v. de dimension n -k.

C'est donc un code engendr par n -k vecteurs nots h 1 ...h n - k .


Une matrice gnratrice de C forme par n-k lignes h i est appele matrice de contrle de
C :

h1
H = n-k

hn-k
n

Proprit utile 1 :

c C ssi c tH = 0

1n nn-k 1 n-k

ou, en transposant le tout :

H tc = 0 n-k

1
Dmonstration:
Soit c C : c t H = c ( t h 1 ... t h n - k ) = ([c t h 1 ] , [c t h 2 ] , .. ,[c t h n - k ] )
n
= (c.h 1 ,c.h 2 ,..) = 0 car [c t h i ] = c j h i j = c.h i = 0 (car h i est dans C )
j 1

Rciproquement :c t H = 0
i {1,...,n-k } c . h i = 0 ou les h i sont gnrateurs de C :
c est donc orthogonal tout v ecteur de lorthogonal de C.

c (C ) = C CQFD

Pratique :
Lorsquon reoit un n -uplet r, on fabrique au niveau du rcepteur, le syndrome

s = r tH

1n-k 1n nn-k

Si ce syndrome est non nul, on a dtect une erreur de transmission.


B . GELLER Les co d es b lo cs linaires 5
r = (r 1 ...r n ) s 0n -k erreur dtecte

r tH = 0n -k mot reu est un mot cod (pas forcment mis)

Un dtecteur d'erreur peut -tre vu comme un automate cbl qui effectue au niveau du
rcepteur une multiplication matricielle.

Proprit utile 2:
Il existe un mot du code de poids w ssi il existe une combinaison linaire de w

colonnes de H qui soit elle -mme nulle.

Dmonstration :
Soit c = ( c 1 ..c n ) un n-uplet

c a pour poids w Card {c i 0} = w.


Or c C

H tc =t0n - k

h 1 1 ....h 1 n c1

h 2 1 ... h 2 n = 0
... ...

hn-k1 hn-k n cn

c 1 h 1 1 +c 2 h 1 2 +... +c n h 1 n = 0 h11 h12 h1n 0


c 1 h 2 1 +c 2 h 2 2 +... +c n h 2 n = 0 c1 + c2 +...+ c n =

c1hn-k1+ +c n h n - k n = 0 hn-k1 hn-k 2 hn-k n 0

Donc c du code a pour poids w ssi il y a w coord onns c i qui sont non nulles et quil existe

une combinaison linaire de w colonnes de H qui est elle mme nulle. CQFD.

Consquence :
Si H est une matrice telle que toute combinaison linaire de w -1 ou moins colonnes est non

nulle et qu'une combinaison l inaire de w colonnes est nulle alors :


dmin = w

B . GELLER Les co d es b lo cs linaires 6


Le problme de calcul de la distance de Hamming ( et donc de la capacit de correction) est

par consquent simplifi dans le cas dun code linaire par rapport un code quelconque.

Exemple :
Code Hamming d'ordre D: c'est un code dont une matrice de contrle est forme par

tous les D-uplets non nuls distincts.

Par exemple, pour D = 3


0001111

H = 0110011 n-k = D

1010101
n = 2 D -1

col3 = col1+col2 w m i n = 3

Un code de Hamming corrige 1 erreur


n-k = D k=n-D = 2 D -1-D
k 2D 1 D
Rendement = 1
n 2D 1 D

Le calcul d'une matrice de contrle revient la recherche d'une base orthogonale un


s.e.v.. Ce problme est fastidieux mais il est rsolu sans problme par ordinateur. En fait,

ce calcul est inutile et le paragraphe suivant va permettre d'obtenir directement H partir


de G.

7.4 CODE LINEAIRE SOUS FORME SYSTEMATIQUE

7.4.1 RAPPELS

i) Deux codes sont quivalents sils ont mme d istribution de distances entre eux.

Exemple:
C 0 ={ (0000), (0011), (1100), (1111) } C 1 ={ (0000), (1010), (0101), (1111) }

Une permutation de coordonnes permet d'obtenir des codes quivalents.

Exemple:
Colonnes 4 et 1 de l'exemple prcdent.

B . GELLER Les co d es b lo cs linaires 7


Par consquent, deux matrices gnratrices dont les colonnes sont permutes les unes des

autres donnent naissance deux codes quivalents ( ayant mme distribution de poids et

donc de distance minimale).

ii) Codage sous forme systmatique

Ak An c 1 =a 1
avec :

(a 1 ,...,a k ) (c 1 ,...,c n ) c k =a k

Proprit :

Pour un codage sous forme systmatique :

G = Id k Pk,n-k k
k n-k
Dmonstration:
En effet c = ( a 1 ..a k ,c 1 ,..c n - k ) = (a 1 ...a k ) ( Id k | P k n-k ) CQFD.

Proprit :

Tout code est quivalent un code mis sous forme systmatique.

Dmonstration:
On transforme G en utilisant la mthode du pivot de Gauss. CQFD.

Exemples

i)
1001

G = 0101 du bit de parit

0011

(a 1 ,a 2 ,a 3 )(a 1 ,a 2 ,a 3 ,a 4 ,=a 1 +a 2 +a 3 2 )
ii) Trouver une matrice sous forme systmatique, quivalente la matrice suivante :

100101
G = 011101

110110

B . GELLER Les co d es b lo cs linaires 8


Consquence :
Il suffit donc d'tudier les codes mis sous forme systmatique.

Exemple :
Trouver un code linaire qui puisse corriger une erreur avec le moins de redondance
possible pour encoder ( +,,,- ), o on suppose que les 4 oprations sont quiprobables.

Source Codage source


+ - + 00 k=2

01 Codeur

10
- 11

B . GELLER Les co d es b lo cs linaires 9


7.4.2 DEUX CONSEQUENC ES DU CODAGE SOUS FO RME SYSTEMATIQUE

i) Si on connat la matrice gnratrice d'un codage sous forme systmatique


G = ( Id k | P k , n - k ), on connat automatiquement une matrice d e contrle :

H = ( t P k , n - k | -Id n - k )
= ( t P k , n - k | Id n - k ) dans le cas o lalphabet est binaire (+= -).

Dmonstration :
c = aG = a( Id k | P k , n - k ) = (a,p)o p contient les n-k symboles de contrle: p=a P k , n - k .
Pk,n-k

Or 0 = p + p = a P k , n - k + p = (a,p) Id n - k = c t H. CQFD.
On peut aussi vrifier cette proprit en effectuant les produits scalaires entre tout

vecteur ligne de G et tout vecteur ligne de H et voir que ces vecteurs sont orthogonaux.

CQFD.

Exemple:

G = B = 100 101 H = 101 100

010 011 011 010


001 110 110 001

Id 3 P3,3

Un vecteur reu r = (100000) est-il entach d'erreur?


101

011

110
s = r t H = (100000) 100 = (101)0. Lerreur est dtecte.
010

001
B . GELLER Les co d es b lo cs linaires 10
ii) Il est strictement quivalent de caractriser un code par sa matrice gnratrice ou par sa

matrice de contrle : elles dcrivent les mmes n -k quations linaires ( n variables )

dfinissant lhyperplan de dimension k, quest un code correcteur bloc.


Dmonstration :

1 0 p11 p1j p1n-k

G = pij k
0 1 pk1 pkj pkn-k

k n-k

p 1 1 ... p k 1 -1
: : 0

H = p1j pkj 0

: :
p 1 n - k ...p k n - k -1

Le codage s'crit : c = ( a 1 ... a k ) G

= ( a 1 ... a k c 1 ... c n - k )
k
avec c j =
i 1
ai pij j = 1 ... n-k (C)

Le dcodage s'crit c t H = 0 n - k

p 1 1 ... p1j ... p1n-k


... pij ...
pk1 ... p k j ... pkn-k

(a 1 ...a k c 1 ...c n - k ) -1 0 0 = 0n-k


0 -1 0 0

... ...

0 0 -1

a i p i j -c j =0 o j=1 n-k (D)


On retrouve donc dans (D) les mmes (n -k) quations (C)du codage. CQFD.

Nous avons dcrit comment des erreurs pouvaient tre dtectes. Nous allons maintenant
voir comment un dcodeur peut les corriger.

B . GELLER Les co d es b lo cs linaires 11


7.5 CORRECTION DES ERREURS

7.5.1 TABLEAU DE DECHIFFREMENT

Avant de corriger d'ventuelles erreurs, il faut dj les avoir dt ectes et le rcepteur


comme prcdemment doit calculer le syndrome s = r t H, o r est le n-uplet reu et H est la

matrice de contrle du code C(n,k) (On choisit pour simplifier l'alphabet A = /2 mais le

procd de correction qui va tre dcrit s'tend directement to ut alphabet de cardinal q en


remplaant le nombre 2 par q)

Un n-uplet binaire reu r peut prendre 2 n valeurs distinctes. On range les 2 n mots possibles

dans un tableau dit de dchiffrement, que nous allons apprendre construire afin

deffectuer ensuite la correction des mots reus.

Chaque ligne du tableau va tre constitue par les vecteurs ayant mme syndrome.
Soit l 1 un n-uplet quelconque ; montrons quil existe 2 k vecteurs ayant mme syndrome que

l 1 de la forme u i =(l 1 +c i ) o c i est un mot quelconque du code ( ventuellement nul) :


u i t H =(c i +l 1 ) t H = c i t H+l 1 t H=l 1 t H=s 1 , pour l i 2 k

On peut donc remplir la premire ligne du tableau :

l 1 l 1 +c 1 l 1 +c 2 ....l 1 +c 2 k - 1 | s 1

Soit l 2 un n-uplet qui n'est pas un des 2 k n-uplets prcdents (2 n -2 k possibilits). De mme

les 2 k mots de la forme l 2 +c i ont mme syndrome que l 2 et constituent la deuxime ligne du
tableau de dchiffrement :

l 1 l 1 +c 1 l 1 +c 2 ... l 1 +c 2 k - 1 s 1

l 2 l 2 +c 1 l 2 +c 2 ... l 2 +c 2 k - 1 s 2

Ainsi de proche en proche, on peut construire un tableau 2 n /2 k =2 n - k lignes o le n-uplet

sur la i ime ligne et j ime colonne vaut l i +c j .Les 2 n vecteurs de ce tableau sont tous les
n-uplets distincts (en effet sil existait deux entiers i < j tels que c i +l i =c j +l j alors l j -l i =c j -c i

; mais le code tant linaire c j -c i est un mot du code not c k :l j -l i =c k ou l j =l i +c k : ceci

B . GELLER Les co d es b lo cs linaires 12


signifierait que l'on a pris un leader qui est dj sur une ligne prcdente ce qui est

contraire la construction du tableau).

Les lments l i s'appellent les leaders. On choisit souvent comme leaders les lments de
poids le plus faible possible et pour un code linaire de capacit de correction

e=Int.[(d m i n -1)/2], tout n-uplet de poids infrieur ou gal e peut tre pris comme leader.

Exemple :

A = /2 k=2 n=5

11100
H = 10010 G = 10110
01001 01101 Card C = 2 k =4 mots : 0000000

0101101
1010110
1111011

Leaders Syndromes
C (00000) (10110) (01101) (11011) (0,0,0)

(10000) (00110) (11101) (01011) (1,1,0)


(01000) (11110) (00101) (10011) (1,0,1)
(00100) (10010) (01001) (11111) (1,0,0)
(00010) (10100) (01111) (11001) (0,1,0)
(00001) (10111) (01100) (11010) (0,0,1)
(11000) (01110) (10101) (00011) (0,1,1)
(10001) (00111) (11100) (01010) (1,1,1)

B . GELLER Les co d es b lo cs linaires 13


7.5.2 IMPLANTATION MATERIELLE DE LA CORRE CTION

i)Matriel ncessaire :

- Un automate cbl pour effectuer la multiplication matricielle du syndrome ( r 1 ...r n ) t H.

- Une mmoire de taille 2 n - k mots. Chaque mot est compos de deux parties : un syndrome

( taille (n-k)), un leader de classe correspondant (taille n).(Pour limplantation, le

syndrme peut tre ladresse o est mis en mmoire le leader correspondant.)

ii)Procdure de dcodage :

1) Pour le dernier n -uplet reu, calculer le syndrome r t H.


2) Identifier le syndrome dans le tableau de dchiffrement (physiquement dans la mmoire)

et slectionner le leader de classe correspondant l.


3) Dcider que c m i s = r-l.

A la lumire des exemples prcdents, on voit que les leaders du tableau de dchiffrement

l j peuvent s'identifier avec les erreurs que l'on veut corriger selon la capacit de correction
du code (code 1-correcteur dans notre exemple ) : r-l j =(c i +erreur)-l j = c i erreur = l j

La complexit du dcodage par syndrome ramne la complexit exponentielle un ordre de


grandeur 2 n - k par rapport 2 k du dcodeur du maximum de vraisemblance. Ceci nest
intressant que si n -k<k soit R=k/n>1/2.

iii) Limitations d'un tel dcodage :


C'est la ralisation matrielle.

En effet, on a vu que des codes pour assurer une certaine fiabilit devaient avoir une taille

suffisamment grande. Par exemple pour un code symbole dans /2 (n=100,k=70) sont
des valeurs raisonnables.

-Calculer le syndrome revient calculer n -k quations linaires n cordonnes soit30x100

additions et multiplications si k=70 et n=100.


-Taille mmoire : 2 1 0 0 - 7 0 =2 3 0 mots10 1 0 : gigantesque.

B . GELLER Les co d es b lo cs linaires 14


SYNTHESE :
Nous avons appris gnrer la redondance par une matrice gnratrice G, dtecter les

erreurs reues par une matrice de redondance H dcrivant les mmes n -k quations
linaires, et enfin corriger les erreurs par tableau de dchiffremen t. Mis part le cas des

codes de petites tailles (simples), la ralisation pratique de tels dcodeurs est trop

complexe.
C'est la raison pour laquelle les lves - ingnieurs suivant le cours IN202 de Rseaux

tudieront, une classe spciale de codes linaires, dont la structure algbrique est beaucoup

plus subtile, mais dont la ralisation du dcodeur est rendue simple.

B . GELLER Les co d es b lo cs linaires 15


B . GELLER Les co d es b lo cs linaires 16
64
Annexe A

Exercices pour le chapitre 1 :


Outils de la thorie de linformation

A.1 Dbit dun modem tlphonique.


Sur le rseau NUMERIS le signal de parole est chantillon 8 kHz (largeur
de bande maximale < 4 kHz par le thorme dchantillonnage de Nyquist).
Chaque chantillon du signal de parole est ensuite quantifi sur 256 niveaux
damplitude. Calculer le taux de codage R et le dbit binaire correspondant en
kb/s.

A.2 Variable gaussienne.


Calculer la moyenne et la variance de la v.a. X de distribution de probabilit :
1 (x)2

p(x) = p e 22
22
o et 2 > 0 sont des paramtres. Commenter.

A.3 Formule de Bayes. Traitement rciproque


Montrer la formule de Bayes :
p(y|x)p(x)
p(x|y) = Z .
P
p(y|x)p(x)
x

Commenter cette formule en considrant le traitement rciproque dentre Y


et de sortie X .

65
A.4 Chanes de Markov.
1. En saidant de la formule p(x, y) = p(x)p(y|x), montrer la mme formule
conditionne par z :

p(x, y|z) = p(x|z)p(y|x, z)

2. En dduire que X Y Z forme une chane de Markov si et seulement


si X et Z sont indpendants sachant y, i.e. :

p(x, z|y) = p(x|y)p(z|y)

3. Montrer que si X Y Z est une chane de Markov, alors la chane


rciproque Z Y X lest aussi.

A.5 Positivit de la divergence.


1. Montrer que la fonction logarithme est strictement concave.
2. En dduire lingalit de Jensen :

E log2 f (X ) 6 log2 E f (X )

avec galit si et seulement si la fonction f est constante p.p.


3. En considrant D(p, q) dmontrer le rsultat fondamental du cours
concernant la positivit de la divergence.
4. (Facultatif) Retrouver ce rsultat avec lingalit loge x 6 x 1.

A.6 Proprits de lentropie.


On considre lentropie H (X ) dune v.a. discrte X (pouvant prendre un
nombre fini M de valeurs).

1. Montrer que H (X ) est une auto-information H (X ) = I (X , X ). Interprter


ce rsultat.
2. Montrer que H (X ) > 0 et dterminer le cas dgalit.
3. En saidant du rsultat fondamental sur les divergences (ingalit de
Gibbs), montrer que H (X ) 6 log2 M et dterminer le cas dgalit.

66
A.7 La connaissance rduit lincertitude.
Montrer et interprter (dans le cas de v.a. discrte) lingalit suivante :

H (Y |X ) 6 H (Y ).

La connaissance rduit-elle toujours lincertitude ?

A.8 Entropie diffrentielle et entropie absolue.


(Facultatif).
On considre une v.a. continue X que lon quantifie uniformment avec un
pas de quantification q pour obtenir une R v.a. discrte1 [X ].
En approximant lintgrale H (X ) = x p(x) log2 p(x) par une somme de Rie-
mann, tablir que
H (X ) H ([X ]) log2 (1/q)
Interprter ce rsultat lorsque q 0 et expliquer le terme entropie diffren-
tielle.

67
68
Annexe B

Exercices pour le chapitre 2 :


Application de la thorie de
linformation au codage

B.1 Dmontration du thorme du traitement de don-


nes.
1. A laide des deux formules p(x, y) = p(x)p(y|x) et p(x, y|z) = p(x|z)p(y|x, z)
(voir exo leon 1), dmontrer la formule :
I ((X , Y ); Z ) = I (X , Z ) + I (Y , Z |X )

2. On considre dornavant une chane de Markov X Y Z . Dvelopper


I ((X , Y ); Z ) de deux manires diffrentes et en dduire le thorme du
traitement de donnes dans un cas particulier : I (Y , Z ) > I (X , Z ).
3. Sachant que Z Y X est galement une chane de Markov (voir exo
leon 1), montrer que I (X , Y ) > I (X , Z ).
4. En dduire lnonc gnral du thorme du traitement de donnes.

B.2 Fonction taux-distorsion : Cas extrmes.


On considre la fonction taux-distorsion R(D) pour une source sans m-
moire.
1. Cas D = 0 (codage sans pertes). Etablir la borne de Shannon R(D = 0) dans
ce cas. Commenter
2. Cas R = 0 (pas de transmission). Etablir D la borne de Shannon R(D) = 0
dans ce cas. Comenter.

69
B.3 Entropie dune source gaussienne.
1. Calculer lentropie diffrentielle H (X ) lorsque X est une v.a. gaussienne.
Commenter.
2. Montrer que lentropie dune v.a. X de variance 2 est maximale lorsque
X est gaussienne.

B.4 Fonction taux-distorsion : Cas gaussien.


On considre une source gaussienne sans mmoire de moyenne nulle et de
variance 2 .
1. Montrer que R(D) = H (X ) max H (X |Y ).
2. Trouver le maximum de lentropie conditionnelle sachant que H (X |Y ) =
H (X Y |Y ) 6 H (X Y ). Justifier que ce maximum peut tre effectivement
atteint.
3. En dduire lexpression cherche de R(D).

70
Annexe C

Exercices pour le chapitre 3 :


Codage entropique longueur
variable

C.1 Condition du prfixe.


1. Justifier quun code vrifiant la condition du prfixe est dcodable de
manire instantane.
2. Rciproquement, montrer quun code instantan vrifie la condition du
prfixe.
3. En utilisant les rsultats du cours sur lingalit de Kraft-McMillan, mon-
trer que tout code u.d. peut tre remplac par un code instantan ( pr-
fixe) de mme distribution de longueurs et donc de mme taux. Commen-
ter.

C.2 Dmonstration de lingalit de Kraft-McMillan.


1. Montrer que pour un code u.d., toute squence de l bits peut se d-
composer dau plus une faon comme concatnation de mots de codes
c i 1 c i 2 c i k o l i 1 + l i 2 + + l i k = l .
2. En dduire que le nombre total Nl (k) de concatnations possibles de k
mots de codes donnant une squence code de longueur totale l bits
vrifie lingalit : Nl (k) 6 2l .
3. Montrer par ailleurs que
M
x l i )k = Nl (k)x l
X X
(
i =1 l

71
4. Conclure en faisant x = 1/2 et k .

C.3 Construction dun code instantan.


On se donne une distribution de longueurs l 1 6 l 2 6 . . . 6 l M vrifiant lin-
galit de Kraft-McMillan. A chaque mot de code c i ( trouver) on associe le
nombre c i = 0, c i [0, 1[ dont les dcimales de lcriture en base 2 est forme des
bits de c i . On note I i lintervalle I i = [c i ; ci + 2l i [.
Par exemple, c i = 010 donne c i = 0, 010 = 41 . et I i = [0, 010; 0, 011[= [ 14 ; 38 [ est
lensemble des nombres de [0; 1[ dont les dcimales en base 2 commencent par
ci .

1. Montrer que c i dtermine I i , et rciproquement.


2. Montrer que le code est instantan si et seulement si les I i sont des inter-
valles disjoints.
3. Interprter lingalit de Kraft-McMillan sur les I i est en dduire un algo-
rithme de construction du code.
4. Prciser cet algorithme sur des exemples pour l 1 6 l 2 6 . . . 6 l M , en com-
menant par c 1 = 0.0 . . . 0, et en posant c i +1 = extrmit droite de I i
chaque tape.
5. Que se passe-t-il si les l i ne vrifient pas lingalit de Kraft-McMillan ?
Donner un exemple.

C.4 Algorithme de Huffman. Prliminaires


On considre un code VLC optimal pour une source de distribution de
probabilit p 1 > p 2 > > p M .

1. Montrer que ncessairement l 1 6 l 2 6 6 l M (raisonner par labsurde en


supposant p i > p j et l i > l j ). Commenter.
2. Montrer que ncessairement lingalit de Kraft McMillan est une galit
(raisonner par labsurde en supposant i 2l i < 1, et montrer qualors on
P

peut remplacer l M par l M 1).


3. Dduire du raisonnement de la question prcdente que l M 1 = l M , et
quon peut toujours se ramener au cas o les deux mots de codes c M 1 et
c M ne diffrent que par le dernier bit.

72
C.5 Algorithme de Huffman.
On considre une source M -aire de distribution de probabilit p 1 > p 2 >
> p M . La rduction de Huffman consiste considrer la source (M 1)-aire,
0
dite rduite, de distribution de probabilit p 1 , p 2 , , p M 2 , p M 1 = p M 1 +p M
(on combine les deux symboles les moins probables).
On note {c 1 , . . . , c M 1 , c M } le code optimal cherch ( lordre M ). Daprs ci-
dessus, c M 1 et c M ne diffrent que par le dernier bit ; on peut crire c M 1 =
0 0
[c M 1 0] et c M = [c M 1 1]

1. En comparant les taux de codage de la source initiale et de la source rduite


aprs rduction de Huffman, montrer que le code
0
{c 1 , . . . , c M 2 , c M 1 }

est optimal pour la source rduite.


2. Donner un moyen de contruire le code optimal {c 1 , . . . , c M 1 , c M } partir
0
de {c 1 , . . . , c M 2 , c M 1 }.
3. Par rductions de Huffman successives jusquau cas M = 2 (o le code {0,1}
est optimal), obtenir un algorithme de construction du code {c 1 , . . . , c M 1 , c M }.
N.B. : Il faut rordonner chaque tape les probabilits aprs chaque
rduction de Huffman.

73
74
Annexe D

Exercices pour le chapitre 4 :


Quantification scalaire.

D.1 Caractristique Dbit-Distorsion en haute rso-


lution
On effectue une quantification scalaire uniforme haute rsolution dune
source quelconque de variance 2 et de densit de probabilit support born
dans [A, A].
1. Calculer la distorsion en fonction du taux de quantification. On crira le
rsultat en fonction du facteur = A .
2. Expliquer le terme 6 dB par bit pour qualifier la caractristique d-
bit/distorsion.

D.2 Minima locaux de lalgorithme de Lloyd-Max.


On considre un signal alatoire X de densit de probabilit :

1 pour 1 6 x 6 1.5


p(x) = 2 pour 1.25 6 x 6 1

0 sinon.

Il est quantifi scalairement sur 3 niveaux. On considre les deux solutions


suivantes caractrises par la position des centrodes :

3 1 1 1 3
{1 , 1 , 1.25} et {1 , 1 + , 1 + }
16 16 8 8 8

75
1. Donner, pour chacune de ces solutions, les cellules de quantification
optimales.
2. Vrifier que ces deux situations vrifient les conditions de convergence
(point stationnaire) de lalgorithme de Lloyd-Max.
3. Calculer la contribution la distorsion quadratique dune cellule du type
[q, q] correspondant une amplitude A de la densit de probabilit.
4. En dduire les valeurs des distorsions totales dans les deux cas considrs.
Quelle est la solution la meilleure ?
5. Quen dduire sur lalgorithme de Lloyd-Max ? La fonction log p(x) est-elle
concave ?

D.3 Densit des cellules de quantification


1
Justifier que (x) = M q(x) reprsente la densit des cellules en valuant
lintgrale I (x) d x prise sur un intervalle I .
R

D.4 Optimisation de la formule de Bennett


1
1. Dans la formule de Bennett, quelle est la densit des cellules (x) = M q(x)
qui minimise la distorsion ? Indication : Ecrire le lagrangien correspon-
dant.
2. Calculer la distorsion minimale correspondante.
3. Appliquer ces rsultats la source gaussienne.

D.5 Ralisation de la quantification scalaire non uni-


forme par non-linarits.
On ralise une quantification scalaire non uniforme dune source U de la
manire suivante : On transforme dabord la source X = f (U ) laide dune fonc-
tion non lineaire f . On applique ensuite une quantification scalaire uniforme
X qui fournit Y , et on applique enfin la non-linarit inverse V = f 1 (Y ).
1. Faire un dessin.
2. Sous les hypothses de haute rsolution, dterminer la densit des cellules
1
(u) = M q(u) en fonction de la non-linarit f .
3. En dduire la non-linarit optimale qui rend la distorsion quadratique
minimale, en fonction de la densit de probabilit de la source p(u). Indi-
cation : Utiliser lexercice prcdent.

76
D.6 Quantification vectorielle
En quantification vectorielle en dimension n, on attribue chaque vecteur de
source X = (X 1 , X 2 , . . . , X n ) une tiquette binaire correspondant un centrode
Y en dimension n.
1. Reprendre, dans le cas vectoriel, les conditions du plus proche voisin et
du centrode vues en cours.
2. En dduire lalgorithme de Lloyd-Max dans ce cas.
3. Montrer que lalgorithme de Lloyd-Max peut converger vers un minimum
local, mme si log p(x) est concave. On considrera pour cela une source
uniforme X dans lintervalle [1, 1] quantifie en dimension 2 sur 1 bit
par chantillon (cest dire 4 centrodes en 2 dimensions) et les deux
situations suivantes :
1 1
centrodes y = ( , )
2 2
et
1 3
centrodes y = ( , 0) et ( , 0).
4 4

77
78
Annexe E

Exercices pour le chapitre 5 :


Codage par transforme

E.1 Gain de Codage


1. Donner lingalit de concavit du logarithme.
2. En dduire que le gain de codage par transforme est toujours > 1. Quel
est le cas dgalit ?
3. Donner un exemple de source pour laquelle le gain de codage est tou-
jours = 1.

E.2 Ingalit de Hadamard


Soit X un vecteur alatoire, de composantes X i de variance 2i . On dfinit la
matrice dautocovariance :
R = E (X X t ).
1. Donner les coefficients r i , j de la matrice R.
2. Quelle est la forme particulire de R pour des composantes X i dcorr-
les ?
Xi
3. Les composantes rduites sont X i0 = i
. Donner la matrice dautocova-
riance R 0 des X 0i en fonction de R.
4. En dduire det R en fonction de det R 0 et des 2i .
5. Montrer que det R 0 6 1 (raisonner sur les valeurs propres de R 0 ).
6. En dduire lingalit de Hadamard :
2i
Y
det R 6
i

79
7. Quel est le cas dgalit ?

E.3 Transforme de Karhunen-Love


1. En considrant le gain de codage, montrer que la transforme optimale
est celle qui minimise le produit des variances en sortie de la transforme.
2. A laide de lingalit de Hadamard, montrer que la transforme optimale
est celle qui dcorrle la sortie.
3. Comment obtenir la transforme optimale partir de R = E (X X t ) ?
XX
Cette transforme sappelle la transforme de Karhunen-Love.
4. Expliciter le gain de codage optimal.
5. Pour quel type de source le codage par transforme savre-t-il inutile ?
Est-il pour autant nuisible ?

E.4 Codage par transforme pour n = 2

U1
-
Q1 -
C1 -

source X
bits cods
-
T
U2-
Q2 - C2 -

On considre un schma de codage de source par transforme orthogonale


dont la partie codage est reprsente dans la
figure. Chaque bloc de source
X = XX 12 est transforme en deux chantillons U 1

U2 = U avant dtre quantifi et
cod. On a donc :
U = T X
o T est la matrice de la transforme orthogonale (TTt = I).
Les quantificateurs sont scalaires uniformes et les codeurs entropiques sont
des codeurs de Huffmann. Pour chaque branche i (i = 1, 2), la distorsion quadra-
tique moyenne de au quantificateur Q i est note D i et le taux binaire moyen
aprs codage de Huffmann C i est not R i .
On modlise les signaux en sortie de transforme par des sources lapla-
ciennes de variances 21 et 22 . On admet la relation :

D i = c2i 22Ri pour i = 1, 2

80
o c est une constante.
1. Justifier, daprs le cours, que les distorsion quadratique moyenne globale
D et taux global R sont donns par :

D1 + D2 R1 + R2
D= et R=
2 2

2. Justifier (sans calcul), daprs le cours, quaprs optimisation des taux R 1


et R 2 la distorsion minimise est donn par la formule :

D = c1 2 22R

La matrice dautocorrlation du signal dentre X est donne par :

1

t
R = E(X X ) = 2X
1

o est un coefficient de corrlation (1 < < 1).


3. Calculer la matrice dautocorrlation de U en fonction de R et T.
4. En dduire la matrice dautocorrlation de U lorsque

1 1
T =
1 1

(On dterminera dabord la valeur de pour que T soit orthogonale).


5. Justifier que la transforme optimale est celle donne la question prc-
dente. Sous quel nom est-elle connue ?
6. Donner lexpression de la distorsion D pour cette transforme en fonc-
tion de c, 2x , et R.
7. Quobserve-t-on si augmente ? Commenter.

81

S-ar putea să vă placă și