Vous êtes sur la page 1sur 54

03 octobre 2008 ESIEE Pascale JARDIN 1/54

Codage de source Codage de source Codage de source Codage de source



ESIEE : Signaux et
Tlcommunications


ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 2 sur 54

Introduction
Le codage de source ou compression des donnes sert fournir une
reprsentation efficace des donnes (un taux de compression important) tout en
prservant linformation essentielle quelles portent. Il est employ pour le stockage
ou la transmission de ces donnes (on appelle donnes le rsultat de la
numrisation de signaux comme ceux de parole ou dimages ou plus gnralement
les donnes disponibles sur un fichier dordinateur) .
Le codage de source est dautre part connect dautres applications techniques
telles que la classification dimages, la reconnaissance vocale,...

Le bloc diagramme dun systme de compression est le suivant :

donnes
source

codeur
donnes
codes

Dcodeur
donnes

X
(suite
binaire)
B

reconstitues



La thorie de linformation dveloppe par Shannon dans les annes 1940-1950
fournit des ides fondamentales pour la conception dun grand nombre de
techniques de codage de source. Une ide est que des messages numriques
peuvent tre comprims en associant les mots de code les plus courts aux
messages les plus probables et que le taux de compression (sans perte) maximum
que lon peut atteindre peut tre dtermin partir dune description statistique des
messages. Cette stratgie conduira un codage dbit variable et des techniques
de codage sans perte (ou codage entropique) cest--dire telles que les donnes
reconstitues soient identiques aux donnes source.
Une autre ide est que les systmes de codage sont plus performants lorsquils
oprent sur des vecteurs (ensemble dchantillons) plutt que des chantillons
individuels. Cette ide a t indirectement exploite dans les annes 70 lorsque lon
a effectu des pr-traitements tels que la prdiction ou une transformation avant de
quantifier scalairement les chantillons. Elle a ensuite t pleinement utilise dans
les annes 80 avec les techniques de quantification vectorielle. Toutes ces
techniques (qui oprent une quantification des donnes) font partie des techniques
de compression avec perte. Les donnes reconstruites ne concident pas avec les
donnes source mais sont (idalement) perceptuellement non distinctes de celles-ci.
La plupart du temps le systme obtenu pour ces techniques est dbit fixe.





ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 3 sur 54

Exemple :
On cherche comprimer limage 4x4 suivante o chaque pixel est caractris par
une couleur parmi 4 : R = rouge , J = jaune , B = bleu , V = vert .


R R R R
R B R B
R B V B
R J J J


Codage sans perte
La mthode triviale pour transmettre cette information sous forme binaire est
dassocier un mot de code sur 2 bits chaque couleur.
Ex : R = 00 B = 01 V = 10 J = 11
limage peut tre code sur 32 bits en parcourant les lignes de limage de haut en
bas et de gauche droite :
00 00 00 00, 00 01 00 01, 00 01 10 01, 00 11 11 11

Une mthode plus efficace tiendra compte des probabilits de chaque couleur en
oprant laffectation de mots de taille diffrente chaque couleur
R = 1 B = 01 J = 001 V = 000
ce qui conduit coder limage sur 28 bits.
1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1

Codage avec perte
Pour chaque sous bloc 2x2 de limage on garde la couleur dominante, cest--
dire :
R R
R J


ce qui donne aprs le codage trivial
00 00 00 11 8 bits
et aprs le codage entropique
1 1 1 001 6 bits

mais bien sur on ne peut pas revenir limage initiale avec ce codage.

Critres dapprciation dun codage :

Pour un codage sans perte ou cherchera maximiser le taux de compression et
minimiser la complexit de mise en uvre et le retard introduit.
Pour les codages avec perte on cherchera aussi maximiser le taux de
compression et rduire la complexit mais aussi avoir le moins de perte possible.

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 4 sur 54

Cette perte sera apprcie de faon objective par des mesures de distorsion
ou de rapport signal sur bruit. Pour des signaux audio ou vido on valuera la qualit
subjective des donnes reconstitues et on calculera des grandeurs objectives
tenant compte de nos capacits de perception (RSB perceptuel).

Codage et quantification :

Le codage consiste souvent (cas des codages avec perte) en deux oprations
successives.
La premire opration est une opration de quantification qui consiste
discrtiser lamplitude des donnes (prises isolment ou en bloc, aprs
transformation prdiction ou non) sur un ensemble fini de valeurs {y
i
} i=1...L.
La deuxime opration qui est le codage proprement dit (cest--dire la traduction
sous forme binaire dun message de donnes) consiste traduire en suite binaire
lindice i du reprsentant y
i
choisi. Lorsque L = 2
b
on peut transmettre le rsultat de la
quantification sur b bits.

Les techniques de codage sans pertes sutilisent sur des donnes pouvant
prendre un nombre fini de valeurs possibles , en particulier sur des donnes
pralablement quantifies. Ainsi le codage entropique, prsent dans la premire
partie de ce cours sera gnralement appliqu en pratique en aval dun codage avec
perte (et quantification).

























ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 5 sur 54

1. Codage entropique codage sans
pertes
1.1 Introduction
Dans certains systmes de communication, un dbit fixe nest pas toujours le plus
appropri car la source dinformation prsente une activit trs variable (silences
dans un signal de parole, blancs dans un fac-simile). Un codage dbit variable qui
peut ajuster son dbit pour sadapter lactivit locale (ou momentane) de la source
est alors idal mais gnralement non directement utilisable sur un support de
transmission classique. Pour utiliser un tel support dbit fixe ,le dbit moyen long
terme doit tre constant et des buffers sont ncessaires pour adapter dans les deux
sens le dbit variable court terme et le dbit fixe long terme.
Ces buffers ajoutent de la complexit au systme et doivent rsoudre les
problmes dunderflow et overflow (pas assez ou trop de donnes pour le lien dbit
fixe).
Les systmes de stockage sont intrinsquement taux variable de mme que
certains systmes de communication (par paquets).
1.2 Systme de codage sans perte

Dans un systme de compression sans perte, le dcodeur est capable de
reconstruire exactement les donnes source.
Le bloc diagramme est le suivant :


X B(X) X



X reprsente le vecteur alatoire de donnes source comprimer ,cest une
squence de taille finie X=(X
1
,X
2
, ,X
n
)(n peut tre arbitrairement grand).

Les chantillons X
i
de X appartiennent un alphabet fini A={a
1
,a
2
,,a
M
)
( il y a dj eu une quantification)

Exemples :
- Suite dchantillons de chrominance et luminance des pixels dune image
- texte (lettres de lalphabet (26) et signes de ponctuation)
La sortie du codeur est reprsente par la squence binaire B(X)=(b
1
,b
2
,,b
k
)
dont la longueur k est variable (en fonction des lments de X et pas seulement en
fonction de n)
codeur dcodeur

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 6 sur 54

B(X) est le mot de code assign X. tant donn que le systme est sans perte
le codeur doit assigner des mots de code distincts des vecteurs de donnes
distincts.

Le taux de compression est r=nlog
2
(M)/k o M est la taille de lalphabet A.
La rsolution est R=k/n (bits par chantillons)
Ces deux valeurs peuvent tre variables mais de moyenne (statistique) constante.
1.3 Codage dune source discrte sans mmoire

Pour une source sans mmoire les chantillons X
i
du vecteur de donnes X
coder correspondent des variables alatoires indpendantes et identiquement
distribues (suite i.i.d.) .
Dans ce cas chaque chantillon X
i
est cod (remplac par un mot de code qui est
une suite binaire).
Le codeur fait correspondre chaque symbole dentre x (ralisation dune v.a. X
dont les valeurs possibles appartiennent lalphabet A) un mot de code binaire c(x)
de longueur l(x) (qui est en fait la longueur de c(x)).
Le dcodeur opre la correspondance inverse et associe des suites binaires b
des symboles y appartenant A : d(b)=y de sorte que d(c(x))=x (codage sans
perte)

Le but du codage est de garder un nombre de bits transmis aussi faible que
possible cest dire que lon cherche minimiser la longueur moyenne du code :

= =
A a
a l a p X l E l ) ( ) ( )) ( (
1.3.1 Condition du prfixe :
Dautre part le code nest utile que si on sait le dcoder sans ambigut cest
dire si pour une suite binaire code de longueur finie il ny a quune squence de
symboles dentre possible. Pour satisfaire cette condition sans introduire de
sparateurs entre les mots de code , le code doit satisfaire la condition dite du
prfixe qui stipule quaucun mot de code ne doit tre le prfixe dun autre mot
de code.

Exemples : {0,10,101,0101} nest pas un code prfixe
{0,10,110,111} est un code prfixe
La condition du prfixe assure lunicit du dcodage du code
Les codes binaires prfixe peuvent tre reprsents par un arbre binaire
tel quon le voit sur la figure suivante :

0
1
1
1
0
100
0
101
11
0

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 7 sur 54

Les mots de code sont les suites de labels(0 ou 1) entre le nud racine et les
nuds terminaux (feuilles)de larbre

Par construction de larbre , aucun mot de code ne peut tre le prfixe dun autre
mot .

Un codage est lopration dassignation des diffrents mots de code aux diffrents
symboles de source ( lments de A)

1.3.2 Ingalit de Kraft

La plus importante proprit des codes uniquement dcodables (codes prfixe)
est donne par lingalit de Kraft :
Thorme 1: Une condition ncessaire et suffisante pour quun code
correspondant la source dalphabet A={a
1
,a
2
,,a
M
) et constitu de mots de
code de longueur l
k
=l(a
k
) (k=1M) soit uniquement dcodable est que
1 2
1

M
k
l
k

Dmonstration :
tant donne une squence dentre de K symboles X=(x
1
,x
2
,,x
K
) de longueur
totale L = l(X) = l(x
1
)+l(x
2
)++l(x
K
),
Si on note N(L) le nombre total de squences X de taille K qui sont codes par
une squence binaire de longueur L
Si l
max
reprsente la longueur maximale des mots de code : l
max
= max (l
k
;
k=1M)
On a L<= Kl
max
= L
max

Si le code est dcodable de faon unique alors les N(L) squences dentre
doivent gnrer des squences binaires distinctes de longueur L
Puisquil y a 2
L
squences binaires distinctes de longueur L nous devons avoir :
N(L)<=2
L
max
1
) (
) (
1
max
1 2
1
2 ) (
2 ...
) 2 ( ) 2 (
L
L N
L
L
L
A a A a A a
a l
K
A a
a l K
M
k
l
K
K
i
i
k

=
=

=

donc
K K K
M
k
l
l K L
k
/ 1
max
/ 1 / 1
max
1
2 =


et puisque la borne est valable quelque soit K, on peut prendre la limite quand K
tend vers l


ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 8 sur 54

ce qui donne :
1 2
1

M
k
l
k

Dmonstration :
On peut supposer sans perte de gnralit que les longueurs des mots de code
sont ordonnes :
l
1
l
2
l
M
Un mot de code de longueur l correspond un trajet de l branches dans larbre
binaire commenant au noeud racine et se terminant un nud de profondeur l
tant donn un ensemble de longueur l
k
satisfaisant lingalit de Kraft :
Considrons comme premier mot de code c
1
une squence binaire correspondant
un trajet de l
1
branches
Comme aucun mot de code ne peut avoir ce mot de code comme prfixe , on
coupe la branche aprs le nud terminal correspondant
Prenons ensuite un trajet disponible de profondeur l
2
.(Il y a 2
l2
-2
l2-l1
possibilits) et
coupons la branche aprs le nud correspondant.
Il reste pour le troisime mot de code 2
l3
- 2
l3-l2
2
l3-l1
possibilits
Pour le m ime mot de code on choisit un trajet parmi les n(m) possibilits
) 2 1 ( 2 2 2 ) (
1
1
1
1


=

= =
m
k
l l
m
k
l l l
k m k m m
m n
si mM

=

+ =
M
m k
l l
M
m k
l
M
k
l l
k m k k m
m n 2 2 ) 2 2 1 ( 2 ) (
1
daprs lingalit de Kraft
et cette dernire quantit tant suprieure ou gale 1 , il existe un mot de code
de la longueur l
m
souhaite .
Ceci prouve que lon peut trouver un code prfixe tant donn un jeu de
longueurs obissant lingalit de Kraft .

Cette ingalit fournit la base thorique pour calculer des bornes infrieure et
suprieure la longueur moyenne dun code uniquement dcodable

1.3.3 Bornes pour la longueur moyenne dun code
Avant de prciser ces bornes, examinons une proposition utile pour leur calcul.

Proposition :
tant donnes deux distributions de probabilit p et q pour un alphabet commun
A (p(i) = proba (X = a
i
)) alors on dfinit la distance de Kullback - Leibler ou lentropie
relative entre les distributions p et q par :
2
1
( )
( // ) ( ) log
( )
M
i
p i
D p q p i
q i
=
=



On montre que cette quantit est positive ou nulle et sinterprte comme une
mesure de distance entre les deux distributions.

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 9 sur 54


Dmonstration :
On utilise :
2 2
0 log ( 1) log x x x e >
en choisissant
( )
( )
q i
x
p i
=
2 2
( ) ( )
log 1 log
( ) ( )
q i q i
e
p i p i
| |

|
\

2 2
2 2
( ) ( )
log 1 log
( ) ( )
( // ) ( ) log ( ) log
( // ) 0
p i q i
e
q i p i
D p q p i e q i e
D p q
| |

|
\





Lingalit de Kraft et la proposition prcdente sur la distance de Kullback
permettent de dmontrer les thormes suivants :

Thorme 2 : tant donn un code uniquement dcodable oprant sur une
source X qui peut prendre ses valeurs dans lalphabet fini A avec la
distribution de probabilit p alors la longueur moyenne de ce code vrifie :

( ) H X o H(X) est lentropie de la source X

Dmonstration :
Le code uniquement dcodable vrifie lingalit de Kraft.

1
2 1
M
k
k

=
<



On cre une nouvelle distribution de probabilit de la forme
( ) 2 avec 1 pour avoir ( ) 1
i
i
q i a a q i

| |
= =
|
\



La proposition dit que :

2
2
( )
( ) log 0
2
( ) ( ) log
( )
i
p i
p i
a
H X p i a
H X



Thorme 3 : Il existe un code uniquement dcodable pour la source X de
loi p tel que la longueur moyenne du code vrifie

( ) 1 H X < +

Dmonstration :

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 10 sur 54

Prenons la longueur
k
comme lentier satisfaisant

1
2 2
k k
k
p
+
< <



alors
2
log 1
k k k
p < +
2 2
log log 1
k k k
p p < +

( l
k
est le plus petit entier suprieur ou gal
2
log
k
p et le code obtenu de la
sorte sappelle code de Shannon).

k k
k
p =

vrifie alors de faon vidente
( ) ( ) 1 H X H X < +
par ailleurs
2
log
1 1
2 2 1
k k
M M
p
k k

= =
=



Lingalit de Kraft est donc vrifie, on peut donc effectivement construire ce
code.


Remarque : Ce sont ces deux ingalits : 1 ) ( ) ( + < X H X H

(bornes pour la longueur moyenne des mots dun code) qui sont lorigine du
terme codage entropique pour le codage sans perte uniquement dcodable.

Exemple :codage dun texte en franais :
Les 26 lettres de lalphabet plus lespace utilises pour un texte crit (sans
accents ni points de ponctuation) nont pas la mme probabilit dapparition :
P(e)>..>P(a)>>P(w)>
On peut calculer ces probabilits par la mesure des statistiques dutilisation de
chaque lettre sur une grande base de donnes .
Lorsquon connat lentropie H(<log
2
(27)) on sait que le meilleur code possible
pour ces lettres aura une longueur moyenne suprieure ou gale H

1.3.4 Algorithme de Huffmann.
Cet algorithme consiste construire progressivement larbre binaire
correspondant un code prfixe en partant des nuds terminaux.

On part des listes {a
1
... a
M
} et leur probabilit {p
1
... p
M
}
On slectionne les deux symboles les moins probables, on cre deux branches
dans larbre et on les tiquette par les deux symboles 0 et 1.

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 11 sur 54

On actualise les deux listes en rassemblant les deux symboles utiliss en un
nouveau symbole et en lui associant comme probabilit la somme des deux
probabilits slectionnes.
On recommence les deux tapes prcdentes tant quil reste plus dun symbole
dans la liste.

On montre que cet algorithme est optimal. Pour aucun autre code uniquement
dcodable la longueur moyenne des mots de code nest infrieure celle obtenue
pour cet algorithme .
Exemple :

Symboles a
1
a
2
a
3
a
4
a
5
a
6

Probabilits 0,35 0,25 0,2 0,11 0,05 0,04

H(X) = 2,25

2, 29 =











Cet algorithme est utilis dans la norme MPEG de codage audio et vido (pour
coder les coefficients de la DCT (Discrete Cosinus Transform) ).
1.4 Gnralisation - codage entropique vectoriel
La double ingalit ( ) ( ) 1 H X H X < + est trop imprcise car H(X) est
gnralement faible. On peut diminuer cette imprcision en appliquant les rsultats
prcdents une source tendue cest--dire en formant des vecteurs alatoires
X
N
groupant N variables alatoires
(0) (1) ( 1)
( , ,..., )
N
N
X X X X

=
Lentropie de la source est alors
)) ( ( log ) ( ) (
2
N
X
N
a
X
N
a p a p X H
N
N
N

=
a
N
est une notation pour reprsenter un N-uplet de valeurs prises dans lalphabet
A.
Il y a M
N
possibilits pour la valeur de a
N
.
Les probabilits sont gnralement difficiles tablir sauf dans le cas o les X
(i)

sont indpendantes (source i.i.d.), auquel cas :
a4
a5
a6
a1
a2
a3
0.6
0.2
0.4
0.09

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 12 sur 54

) ( ) ( e ) ( ) (
de
X NH X H t a p a p
N X
a a
N
X N
N
= =

Si on associe un mot de code chaque groupe de N symboles a
N
, alors on a
montr quil existe un code dont la longueur moyenne vrifie
|
|

\
|
=
+ <

) ( ) ( avec
1 ) ( ) (
N N
X
a
N
N N N
a a p
X H X H
N
N


Le nombre de bits moyen par symbole
N
N
=

vrifie alors :
N
X H
N
X H
N N
1 ) ( ) ( +
<

soit pour une source i.i.d.
1
( ) ( ) H X H X
N
< +
Exemple : Supposons une source ne pouvant prendre que deux valeurs a
1
et a
2

de probabilit p
1
= 0,3 et p
2
= 0,7
si on code cette source on aura


et 1 =

si on forme des groupes de 2 valeurs
a
1
a
1
a
1
a
2
a
2
a
1
a
2
a
2


0,09 0,21 0,21 0,49








2
0, 49 0, 21.2 0, 3.3
0, 905
= + +
=


a1
a2
a2a2
a2a1
a1a2
a1a1

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 13 sur 54


1.5 Codage arithmtique
Principe : une squence S=(s
1
,,s
N
) de N symboles ( valeurs dans un alphabet
fini A) est traduite par un intervalle de [0,1[ dont la longueur est gale la probabilit
de la squence. Cet intervalle est cod par un nombre en binaire dont la longueur
(en nombre de bits) est gale ( ) ( )
(
S p / 1 log
2
(
(
signifie entier juste suprieur ).
On montre que, pour une source i.i.d, ce codage est optimal (quivalent un code
de Huffman dtermin pour une source N-tendue).
1.5.1 Notations
Alphabet de la source :
1 2
{ ... }
M
A a a a =
Squence :
1 2
{ ... }
N
S s s s = .
On suppose la source i.i.d de distribution de probabilit : ( )
m n m
p p s a = = pour
m=1 :M.
On dfinit la distribution cumule :

=
=
1
1
m
i
i m
p c pour m=1 :M+1 avec
1
0 c = et
1
1
M
c
+
= .
1.5.2 Algorithme de codage
Il consiste crer une succession dintervalles embots de la forme
( )
k k k
l S , = o
k
dsigne la borne infrieure de lintervalle et
k
l sa longueur.
- Conditions initiales :
( ) 1 , 0
0
= S
- Pour k=1 :N (tant quil reste des symboles s
k
transmettre
o On dtermine m tel que s
k
= a
m

o ( )
1 1 1
, ,

+ = =
k m k m k k k k
l p l c l S
remarque : on montre aisment que les intervalles successifs sont embots les
uns dans les autres.
On code ( )
N N N
l S , = par un nombre (crit en binaire) qui appartient
lintervalle. Ce nombre (la valeur du codage) peut scrire :

1 2
1 2
2 2 ... 2
NB
NB
v b b b

= + + + . La prcision de ce nombre 2
NB
doit tre infrieure
ou gale la longueur de lintervalle ( ) ( ) S p s p l
N
k
k N
= =

=1
.
Do le nombre de bits du code associ la squence S : ( ) ( )
(
S p NB / 1 log
2
=

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 14 sur 54

1.5.3 Algorithme de dcodage
Il se fait uniquement partir de la valeur v du code reu. On reprsente la
squence dcode comme ( ) ( ) ( ) ( )
1 2

{ ... }
N
S v s v s v s v = .
- pour k=1 :N
o ( ) { }
1
:
k m m m
s a c c
+
= < : on dtermine le symbole dont lintervalle contient
la valeur v
o
m
m
c
p


= : on annule la contribution du symbole ( )

k
s v la dfinition
de v . On dilate lintervalle [c
m
c
m+1
[ en [0 1[

Remarque : Le dcodeur doit connatre le nombre de symboles N dcoder sans
quoi il continue dcoder
1.5.4 Exemple
La source met les symboles B (blanc) et N (noir) avec les probabilits
respectives 3/4 et 1/4. On considre la squence : BBNBN
La figure suivante reprsente la progression des intervalles ( )
k k k
l S , = lors du
codage.















Figure : Progression de lintervalle ( ) ,
k k k
S l = pour coder une squence de 5 symboles dans
lalphabet A={N,B} de probabilit p1=3/4, p2=1/4
Le code est un nombre binaire appartenant lintervalle [513/1024 135/256[ . Le
nombre de bits est donn par ( )
(
( )
(
6 27 / 1024 log / 1 log
2 5 2
= = = l NB .
Un code possible est 1 0 0 0 0 1 de valeur 33/ 64 v = .



9/16
N
B
BB
BN
NB
NN
BBB
BBN
NBB
BNB
BNN
NBN
NNB
NNN
0
1
3/4

5
=513/1024
135/256
BBNN
BBNB
BBNBB
BBNBN
BBNNB
BBNNN

l
3
=9/64

3
=27/64
l
5
=27/1024

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 15 sur 54

Le dcodage sopre suivant le schma donn Figure suivante :





Figure : Progression de la valeur du code et des symboles dcods durant le dcodage du code 1 0 0 0 0 1
sur 5 symboles pour lalphabet A={N,B} de probabilit p1=3/4, p2=1/4
1.5.5 Optimalit du code :
Prcisons quil faut ajouter une entte la squence code qui devra comporter :
- Le nombre de symboles dcoder
- La liste des probabilits des symboles ou celle des probabilits cumules.
- Le fait que ( ) ( )
(
( ) ( ) e S p S p + = / 1 log / 1 log
2 2
avec 1 <

Considrons une entte de E bits. Remarquons que E peut tre limit 1 < si on
transmet plusieurs squences de mmes caractristiques.
On obtient pour une squence de N symboles : ( ) ( )
2
log 1/ NB p S E = +
Le nombre de bits par symbole vaut donc : ( ) ( ) N E s p N NB l
k
N
k
/ log /
1
2
+ = =

=
.
La moyenne statistique de cette quantit vaut donc :
( ) / l H X E N = + . Cette longueur moyenne tend vers lentropie H(X) de la source
transmettre lorsque N tend vers linfini. Si lentte se limite 1 < , on obtient
( ) N X H l / 1 + < qui est la limite attendue pour un code optimal oprant sur une
source N-tendue.
1.5.6 Utilisation du codage arithmtique
Ce codage est en particulier utilis dans les normes nouvelles pour le codage
dimages en particulier pour la norme JPEG2000 (codage dimages fixes) et
H264/AVC (codage video). Ces deux normes utilisent une version adaptative de
lalgorithme, lalgorithme CABAC (codage arithmtique binaire adaptatif selon le
contexte).


N
B
(B)B
(B)N
(BB)B
(BB)N
0
1
1
0
0
1
(BBN)B
0
1
0
v

1
(BBNB)N
v

v

v

v


ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 16 sur 54

1.6 Conclusions sur le codage entropique
Introduction aux autres mthodes de codage (avec
pertes)
On a vu que le codage dit entropique permettait un codage sans perte

( ) X X =
mais :
dune part ce codage nest possible que dans le cas dune source discrte et cela
signifie quen pratique on lutilisera soit sur des donnes discrtes par nature
(instructions de programme ...) soit aprs quantification de donnes
naturellement continues,
dautre part le taux de compression R ralis nest gnralement pas suffisant
pour la plupart des applications audio ou vido (typiquement 1R<3)
Par ailleurs pour ces dernires applications, la reconstruction exacte du signal de
dpart nest pas indispensable et les critres subjectifs (qualit perceptible du son ou
de limage) seront les plus importants pour valider ou non les diffrentes techniques.
Nous allons donc maintenant dcrire plusieurs mthodes de codage avec pertes.
La premire dentre elles, la quantification scalaire (chapitre 2) opre une
quantification (discrtisation en amplitude) de chaque chantillon du signal coder.
Les valeurs quantifies peuvent tre dans le cas le plus simple (celui des
convertisseurs analogique-numrique) rparties uniformment sur un intervalle
born : cest la quantification uniforme, ou bien rparties de faon minimiser la
distorsion introduite par la quantification. Cette premire technique nutilise pas la
corrlation qui existe entre les points successifs dun signal ou les pixels proches
dune image.
Une faon de prendre en compte cette corrlation entre chantillons est doprer
une transforme orthogonale (idalement la Transforme de Karhunen Loeve) sur un
vecteur constitu dchantillons successifs avant quantification (le dcodeur
effectuera la transforme inverse).Ce sera le codage par transforme (chapitre 3).
Nous tudierons ensuite la quantification prdictive (chapitre 4) qui permet
dextraire la corrlation existant entre les chantillons avant de les quantifier.
Enfin, on peut directement chercher quantifier de faon optimale un vecteur
form dchantillons successifs ou (non exclusif) un vecteur issu dune transformation
pralable (prdiction, transforme de Fourier). Cest la quantification vectorielle
(chapitre 5).

Nous signalerons dans chaque cas les applications des diffrentes techniques
pour les signaux de parole ou audio.

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 17 sur 54

2. Quantification scalaire
2.1 Introduction - dfinition
On dfinit un quantificateur scalaire L niveaux comme lapplication Q :
Q : R C = {y
1
,..., y
2
}
x Q(x)

C est lensemble des valeurs possibles de sortie du quantificateur, il est aussi
appel dictionnaire (ce terme sera plutt utilis en quantification vectorielle).
Les valeurs y
i
sont appeles valeurs de quantification ou reprsentants.
Dans la pratique, L, le nombre de reprsentants est fini et est gal 2
b
de telle sorte
quon peut, lors du codage, spcifier une valeur de sorte y
i
par son numro i ou b bits
(b sera la rsolution du codeur).
On peut supposer sans perte de gnralit que
y
1
< y
2
< ... < y
L


Remarque :
Dans le cas dun codage entropique utilis aprs une quantification scalaire, on peut
associer des chanes binaires (mot de code) de tailles diffrentes aux L valeurs y
i
en
fonction de leur probabilit. On obtiendra alors une longueur moyenne des mots
infrieure ou gale b.

On associe un quantificateur sur L reprsentants y
i
une partition des valeurs de
dpart en cellules ou intervalles
{ }

j i R R R
y x Q x R
j i i
i i
=
=
0 et =
) ( / =


Une cellule qui nest pas borne est appele cellule de saturation ou surcharge
(overload).
Une cellule borne est une cellule de granulation.
Le quantificateur est dit rgulier si lorsque deux valeurs dentre a et b sont
quantifies par la mme valeur y nimporte quelle valeur comprise entre a et b est
aussi quantifie par y.
Chaque cellule R
i
est de la forme (x
i-1
, x
i
) avec y
i
(x
i-1
, x
i
).
Le quantificateur peut tre reprsent suivant le schma :
x
1
x
2
x
L-1




x
0
= - et x
L
= + si toute valeur dentre est admissible. Si les
valeurs dentre sont bornes x
0
et x
L
reprsentent les bornes de variation de x.

Y1 y2 y
1
y
L

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 18 sur 54

2.2 Mesure des performances dun quantificateur

Quand une valeur dentre est quantifie Q(x) = y, on introduit une erreur, lerreur de
quantification e = x - Q(x). Cette grandeur est bien sr alatoire puisque x lest.
Pour mesurer la performance du quantificateur on value gnralement la distorsion
moyenne comme lerreur quadratique moyenne (EQM) (MSE en anglais) apporte
par le quantificateur.


( ) ( )
( ) dx x f y x
X Q X E D
x i
R
L
i
i
) (
) (
2
1
2
=
=

=


Pour un quantificateur rgulier

( ) dx x f y x D
x i
x
x
L
i
i
i
) (
2
1
1
=


=


Lutilisation de ce critre est simple et motive par son sens immdiat de puissance
moyenne dun signal derreur.
Pourtant on sait par ailleurs que ce critre ne correspond pas une mesure
subjective de qualit (dans le domaine audio en particulier). Un critre relatif de type
D
X E
Rsb
) (
log 10
2
= sera plus adquat (mais non idal car la qualit perue
auditivement dpend aussi du spectre).

Si on quantifie un signal temporel x
n
ralisation dun signal alatoire X
n
, la quantit D
est priori dpendante de linstant n.

Si le signal est stationnaire ) ( ) ( x f x f
X X
n
= et D est constante.

Si en plus le signal peut tre considr comme ergodique, on peut valuer D par
( )

N
n
n n
N
x Q x
N
1
2
) (
1
lim

On peut distinguer deux types derreur de quantification :
lerreur de granulation qui est lerreur pour une entre x appartenant lune des
cellules bornes R
2
... R
L-1

lerreur de saturation lorsque x<y
1
(x
0
) ou x>y
L
(x
L
)
lerreur de granulation est relativement petite et intervient pour presque toutes les
valeurs dentre
lerreur de saturation est rare mais peut avoir une trs grande amplitude.

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 19 sur 54


2.3 Quantification uniforme

Un quantificateur uniforme est un quantificateur rgulier pour lequel les points
frontires x
i
sont galement espacs et les reprsentants y
i
sont au milieu des
intervalles R
i
. Lcart entre les frontires des cellules ou les reprsentants sappelle
le pas de quantification.
On a donc: y
i
- y
i-1
= x
i
- x
i-1
= =pas de quantification
et
2
1 i i
i
x x
y
+
=

pour i = 1, ... L

On a x
L
- x
0
= L

Remarque : En gnral on quantifie des signaux de moyenne nulle
et on considre -x
0
= + x
L
= A
on a alors
b
A
L
A
2
2 2
= = (pour une rsolution b)

Le bruit de quantification scrit :
( ) ( ) ( ) dx x f y x dx x f y x dx x f y x D
X L
x
X
x
X i
x
x
L
i
L
i
i
) ( ) ( ) (
2 2
1
2
1
0
1
+ + =



Les deux derniers termes reprsentent le bruit de saturation (le premier terme est le
bruit de granulation).
2.3.1 Facteur de charge
On dfinit le facteur de charge du quantificateur par :

X
A

= ou bien si lintervalle [x
0
x
L
] nest pas symtrique :
X X
L
x x

0
ou

=

Ce facteur permet dvaluer le risque de saturation
proba-de-saturation dx x f dx x f
X X
A
X
) ( 2 ) ( 2

= =


exemple : pour X gaussien et = 2 la probabilit de saturation = 0,045

Si on prend un facteur de charge assez grand ) 4 ( la probabilit de saturation est
trs faible et la distorsion associe ngligeable.





ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 20 sur 54

2.3.2 Calcul du bruit de granulation

( ) |

\
|
+

= =

=
2
,
2
avec ) (
2
1
i i i X i
R
L
i
gran
y y R dx x f y x D
i

on pose q x Q x y x
i
= = ) ( erreur de granulation.


Calculons la distorsion sur lintervalle R
i


dx x f q R x p
dx x f q dx x f dx x f q
i
i
i i
R X i
R X X
R
X
R
) ( ) (
) ( ) ( ) (
/
2
/
2 2

=
=


dq q f
y X y dx y x Q y x
y X y dx x X x dx x f
Ri Q
i i i i
i i Ri X
) (
2 2
/ proba
2 2
/ proba ) (
/
/
=
|

\
|
+ < <

+ < < =
|

\
|
+ < <

+ < < =

donc
dq q f q R x p D
Ri Q i
L
i
gran
) ( ) (
/
2
2
2
1

=
=

On fait gnralement la supposition que

=
1
) (
/
q f
Ri Q
. Cest--dire que le bruit de
granulation suit une loi uniforme sur |

\
|

2
,
2
(quelque soit lintervalle Ri). Ceci nest
vraiment justifi que si X suit une loi uniforme ou si est trs faible (hypothse de
haute rsolution).

En prenant cette hypothse :
12
1
2
2
2
2

dq q D
gran



Si on exprime cette quantit en fonction de et b
b
x gran
D
2 2 2
2
3
1

=


ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 21 sur 54

La distorsion lie lerreur de granulation est proportionnelle :
au facteur de charge(au carr) : lorsqu on limite les risques de saturation on
augmente lerreur de granulation.
la variance du signal
2
-2b
: quand on augmente la rsolution on diminue la distorsion

2.3.3 Rapport signal sur bruit
gran
x
gran
D
RSB
2
log 10

=
+ = log 20 77 , 4 02 , 6 b RSB
gran


Le rapport signal sur bruit dcrot lorsque le facteur de charge crot (en ngligeant la
distorsion de saturation) : (pour = 4 20 log = 12 dB)

Par ailleurs le RSB
gran
augmente de 6 dB pour une augmentation de 1 bit dans la
rsolution du quantificateur.

Remarque 1 :Si le signal x suit une loi uniforme : 3
3
= =
A
x

RSB = 6,02 b
La quantification uniforme est alors parfaitement adapte.

Remarque 2 :Si le facteur de charge nest pas suffisamment grand, on ne peut plus
ngliger le bruit de saturation.

Si on trace le RSB (en tenant compte de la saturation) en fonction de = 1/, on
obtient une courbe qui a lallure suivante :








On peut aussi voir cette courbe comme lvolution du RSB avec la puissance
dentre du signal
x
pour un quantificateur donn (avec y
i
fixs).
On voit alors que le quantificateur fonctionne de manire optimum pour une
puissance donne du signal dentre et quil se comporte moins bien lorsquon
scarte de cette valeur. En dautres termes, les performances dun quantificateur
sont trs sensibles au niveau du signal dentre.
Des signaux tels que la parole ou la musique sont non stationnaires et leur
puissance court terme varie fortement dans le temps (la dynamique de est
denviron 30 dB pour la parole et 60 dB ou plus pour la musique). Le nombre de bits
RSB
1/

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 22 sur 54

de rsolution requis pour ce type de signaux dpend du RSB minimum que lon veut
obtenir.
Par exemple, pour une qualit tlphonique, il faut 12 bits pour que le RSB soit
suprieur 25 dB pour des signaux de puissance gale celle o commence la
saturation -30 dB.

2.4 Conception dun quantificateur scalaire optimal.

On suppose que lon cherche quantifier de faon optimale sur L niveaux une
ralisation dun processus alatoire stationnaire de loi f
X
(x) connue (ou estimable).

Intuitivement, la longueur des intervalles [x
i-1
, x
i
] sera dautant plus petite que f
X
(x)
sera importante sur ces intervalles.

On rappelle que la distorsion est donne par :
( ) ( ) dx x f y x dx x f y x D
X i
x
x
L
i
X i
Ri x
L
i
i
i
) ( ) (
2
1
2
1
1
= =

=


Pour dfinir un quantificateur il faut trouver la partition {R
1
...R
L
} et les reprsentants
(y
1
...y
L
) qui minimisent D.
Ce problme nadmet pas de solution simple. Il nexiste que deux conditions
ncessaires doptimalit. Si on connat les reprsentants, on peut trouver la meilleure
partition et si on se donne la partition on peut dduire les reprsentants.

2.4.1 Conditions doptimalit

1) Etant donn le dictionnaire {y
1
...y
L
}, on cherche les x
i
(cest dire la partition {R
i
})
tels que
( ) ( )
( ) ( )
( )
1
2
1
2
1
2
0 ) ( ) (
0 ) ( ) (
0
1
1
+
+
+
=
=
=
|
|

\
|
+
=

+

i i i i
i X i i i X i i
X i
x
x
X i
x
x i
i
y x y x
x f y x x f y x
dx x f y x dx x f y x
x
x
D
i
i
i
i



2
1 +
+
=
i i
i
y y
x la frontire est en milieu des reprsentants.

Ceci correspond la rgle du plus proche voisin (PPV).
( ) ( ) { } { } L j y x y x x R
j i i
... 1 /
2 2
=


ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 23 sur 54

2) Etant donne une partition {R
i
} on cherche les reprsentants y
i
qui minimisent D.
( )
0 ) ( ) ( 2
0 ) (
0
1
1
2
=
=
=

dx x f y x
dx x f y x
y
y
D
X i
x
x
X i
x
x i
i
i
i
i
i



dx x f
dx x xf
y
X
x
x
X
x
x
i
i
i
i
i
) (
) (
1
1

=

or dx x xf dx x f dx x xf
i
i
i
i
R X X
R x
X
x
x
) ( ) ( ) (
/
1

+

=


dx x xf y
i
R X i
) (
/

+

=
( )
i
R X X E = / valeur moyenne de x dans lintervalle ]x
i-1
, x
i
]
y
i
est le centrode de la classe R
i
(la moyenne des lments de cette classe)

2.4.2 Algorithme de Lloyd - Max

Dans la pratique on ne connat gnralement pas f
X
(x). Pour construire le
quantificateur, on utilise une base dapprentissage compose dun grand nombre N
>> L dchantillons reprsentatifs de la source que lon veut quantifier.
Lalgorithme de Lloyd Max est un algorithme itratif qui vrifie alternativement les
deux conditions doptimalit .

1) On initialise le dictionnaire (y
1
,..., y
2
) de faon alatoire (ou uniforme)
2) Connaissant le dictionnaire, on classe tous les chantillons de la base en leur
attribuant le numro de leur plus proche reprsentant. (On dtermine ainsi
implicitement les R
i
).
R
i
= { x
n
/ Q(x
n
) = y
i
}
3) A partir de ces classes on calcule de nouveaux reprsentants qui sont les
moyennes des chantillons appartenant une classe.

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 24 sur 54

4) On calcule la distorsion moyenne associe cette base et on arrte lalgorithme si
la distorsion ne dcrot plus de manire significative sinon on reprend les deux
tapes prcdentes.
On ne tend pas forcment vers le minimum global mais simplement vers un minimum
local par cette technique.

Exemple :
Soit x un chantillon dun signal dont la densit de probabilit est la somme
pondre de deux densits gaussiennes dcart type unit et de moyennes
respectives 3 et 4. La densit de probabilit de X est reprsente sur la figure
suivante ainsi que le quantificateur (obtenu par lalgorithme de Lloyd Max).




2.4.3 Quantification haute rsolution (b >=8) - cas gnral

Si on se place dans le cas : L grand, f
X
(x) est raisonnablement lisse , la distorsion
donne par :
dx x f y x D
X i
x
x
L
i
i
i
) ( ) (
2
1
1
=


=
peut tre approxime en considrant

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 25 sur 54

[ ]
2
, sur ) ( ) (
1
1

+
=
=
i i
i
i i i X X
x x
y
x x y f x f

1
2
2
2
1
2
1
1
ave ) (
2
) (
1

=
= =
|

\
| +
=


i i i i X
L
i
i i
x
x
i X
L
i
x x c dy y y f
dx
x x
x y f D
i
i
i
i

) (
12
3
1
i X
i
L
i
y f D

=

=


(Si on considre [ ] ( )
i i X i i i
y f x x x P = =

) ( , proba
1

on peut encore crire
|
|

\
|
=

=

=
12 12
2 2
1
E P D
i
i
L
i
)

Notons
3 3
) (
i i X i
y f =
comme ( ) cste dx x f y f
X i i X
L
i
i
L
i
= =


+

= =
3 / 1 3 / 1
1 1
) ( ) (

On cherche minimiser
3
i
i
D

= sous la contrainte cste


i
i
=


( )

= = =
i i i i
i
2 3
3 0

Ce qui implique
3
2
3
1 1
) ( ....... ) (
L X X
y f y f = =

Ce qui signifie que lintervalle sera dautant plus petit que la probabilit davoir
une donne dans cet intervalle sera grande. (
i
= cste pour une loi uniforme) .

Dautre part tous les intervalles auront la mme contribution la distorsion qui scrit
( ) dx x f
L
L
D X
3 / 1
3
) (
1
avec
12

+

= =



( ) [ ] rigoureuse non ion dmonstrat ) (
12
1
3
3 / 1
2
dx x f
L
D X

=




ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 26 sur 54

Pour une source gaussienne centre de variance
2
X


2 2
2 /
2
2
1
) (
X
x
X
X
e x f

=

( ) [ ]
3
3 / 1
2
2
2 3
12
1
X
L
D =


b
X
D
2
2
2
2
3
=

Pour dautres lois on aura :
b
X
C D
2 2
2

= avec C une cste qui dpend de la loi de X.



La distorsion est proportionnelle :
la variance du signal
2
-2b
: quand on augmente la rsolution on diminue la distorsion

2.5 Quantification logarithmique

2.5.1 Principe
Pour le quantificateur uniforme
On a vu que . avec
12
2
cst D
gran

de dpend 12 log 10
2
2

= RSB

Lide est de rendre le pas de quantification adapt la puissance du signal pour
avoir un RSB peu prs constant pour une large gamme de puissance du signal
dentre.
Il faut alors : .
1
cste
y
x x
y
i
i i
i
i




On peut alors raliser ceci en trois tapes, savoir :
1) Une transformation non linaire sur x : G
( )
( )
( )
( )
3
3 2
6 / 1
2
2 / 1
2
2
3
6
6
1
2
2
2
2
2
2
3 2
1
2
3 2
12
1
2
1
12
1
(
(

=
(
(


dx
x
X
X
X
dx
x
X
X X
e
L
e
L
D


ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 27 sur 54

2) Une quantification uniforme sur le rsultat : ) ( ) (
1
=
i i
x G x G
3) La transformation inverse sur le rsultat quantifi : G
-1
.





Dans lhypothse haute rsolution :

( )
( ) ( )
i i i
i i
i
x x
x G x G
y G

1
1
'
( )
x x G
y y cste
y G
i i
i
log ) (
1
'

=
=

=


2.5.2 Norme G711 (de lUnion Internationale des
Tlcommunications) : codage MIC (PCM) 64 kbits/s.

Le signal de parole est chantillonn 8 kHz
Il est quantifi sur 8 bits suivant la loi A : (A = 87,56)

1
1
pour
ln 1
ln 1
) (
1
pour ) (
ln 1
) (
max
max
max
max
<
+
+
=

+
=
x
x
A A
x
x
A
x x G
A x
x
x sgn
A
x A
x G

Cette transformation est approxime par une courbe 8 segments et le signal est
pralablement quantifi sur 12 bits (-2048 2047) .
1 bit de signe
3 bits pour le segment
4bits pour la valeur dans le segment



Q unif G
-1
G

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 28 sur 54

3. Allocation optimale des bits et
codage par transforme
3.1 Allocation optimale des bits
On se pose le problme dallocation de ressources dans les termes suivants :
On dispose dun nombre fini de bits rpartir sur un ensemble de paramtres
coder (une trame de parole, la matrice des pixels dune image) et on recherche la
meilleure rpartition (celle qui donnera la meilleure qualit objective ou subjective).
Dans les codeurs traditionnels chaque chantillon est quantifi avec le mme
nombre de bits puisque le plus souvent ces chantillons ont tous la mme
importance (la mme variance).
Nous allons rsoudre le problme dallocation optimale des bits sur des chantillons
ou paramtres de variances diffrentes puis nous verrons comment il est possible de
transformer un vecteur dchantillons de mme variance pour obtenir un vecteur de
paramtres de variances diffrentes sur lesquels on peut faire une allocation
optimale des bits.

3.1.1 Position du problme

Supposons que nous ayons un ensemble de k v.a. X
1
, X
2
, , X
k
de moyenne nulle
et de variance k i X E
i i
,..., 1 ) (
2 2
= =
Si on considre la densit de probabilit des X
i
connue, on peut concevoir un
quantificateur optimal pour chaque X
i
pour nimporte quel nombre de niveaux de
quantification L
i
. Il est souvent souhaitable davoir L
i
= 2
bi
pour pouvoir coder X
i
sur b
i

= log
2
L
i
bits.
Il suffit en fait davoir :
L
i
= 2
b
pour coder sur b bits les k v.a. conjointement.
Supposons que lon note W
i
(b
i
) la distorsion (au sens de lerreur de quantification
quadratique moyenne) obtenue en quantifiant de faon optimale X
i
sur b
i
bits.
La distorsion totale scrit donc :
) (
1
i i
k
i
b W D

=
=
Le problme dallocation peut se formuler ainsi :
Trouver les b
i
i = 1, 2, k qui minimisent
) ,..., , ( ) ( ) (
2 1
1
k i i
k
i
b b b b b W b D = =

=

sous la contrainte : B b
i
k
i

=1
(B : nombre de bits disponibles)


ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 29 sur 54

Il nest pas vident de trouver un algorithme exact qui rsolve ce problme dans le
cas gnral :
On peut faire la recherche sur toutes les combinaisons possibles (avec les b
i
entiers
et satisfaisant B b
i

) mais le nombre de calculs effectuer est prohibitif et il est


difficile de disposer des distorsions W
i
(b
i
) pour toutes les valeurs de b
i
testes.

En revanche, en faisant lhypothse de haute rsolution, on peut obtenir une solution
exacte, optimale (mais avec des b
i
non forcment entiers).

3.1.2 Allocation optimale dans lhypothse haute rsolution

Dans ce cas
i
b
i i i i
h b W
2 2
2 ) (

= avec h
i
une constante qui dpend de la densit de
probabilit f
i
(x) de la variable normalise
i
i
X


( )
3
3
1
) (
12
1
|

\
|
=

+

dx x f h
i i

On rappelle que pour une loi gaussienne
2
3
=
g
h

Remarque : La formule
i
b
i i i i
h b W
2 2
2 ) (

= nest priori pas correcte pour b
i
faible
(1 bit ou 2 bits) mais se rvle satisfaisante pour des valeurs plus
leves (4 bits 16 bits).

Le problme de minimisation de
i
b
i i
i
h D
2 2
2

= sous la contrainte

= B b
i
est
rsolue en utilisant la mthode des multiplicateurs de Lagrange :
On annule la drive par rapport b
i
de

+
i
i
b D

Dveloppement :
( ) 0 2 2 log 2
2 2
= +


i
b
i i
h

On calcule en crivant la contrainte: B b
i
=


Aprs quelques lignes de calculs on obtient :

( )
( )
2
2
/ 1
/ 1
2
2
2 log
2
1

i
k
i
i
k
B
i
h
h
b

=


ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 30 sur 54


i
i
i i
i
h H
H
h
k
B
b
des e gomtriqu moyenne et
des e gomtriqu moyenne avec
log
2
1
log
2
1
2 2
2
2
2 2
=
=
+ + =




La distorsion totale vaut alors :

2
2
/ 2
1
2
2
i i
k B
k
i
i i
h
H
h D

=

k
B
H k D
2
2
2

=

Chaque quantificateur a la mme contribution la distorsion D, cette contribution
est :
k
B
H
2
2
2


Ce rsultat est quivalent celui quon obtiendrait pour un ensemble de k v.a. de
mme variance
2
, de mme loi de constante H, quantifies chacune sur bits
k
B
b = .

Lquation
2
2
2 2
log
2
1
log
2
1

i i
i
H
h
b b + + = montre quil faut allouer plus de bits aux
composantes de plus grande puissance (variance).

Remarque :cette solution optimale prsente certains inconvnients :

= B b
i
est entier mais les b
i
ne le sont pas forcment, certains b
i
peuvent mme
tre ngatifs.
En pratique, on traite ces cas en remplaant les valeurs ngatives par des zros et
les b
i
> 0 par leur valeur entire la plus proche mais on peut alors perdre

= B b
i
.
Une alternative peut tre trouve en optimisant localement la distorsion en testant les
jeux de b
i
entiers satisfaisant

= B b
i
autour de la valeur optimale.
On peut aussi employer une technique dallocation autre qui impose la contrainte b
i

entier.
Exposons maintenant un algorithme simple qui correspond cet objectif.


3.1.3 Allocation de bits (b
i
entier) par lalgorithme du Greedy

Cet algorithme nest pas optimal mais il alloue les bits par incrment (1 bit chaque
itration) dune faon trs satisfaisante (il est utilis dans le codeur MPEG).
Lalgorithme du Greedy est ainsi nomm car il agit court terme, cherchant obtenir
une satisfaction (la rduction de la distorsion) immdiate sans considrations pour
leffet long terme (distorsion finale globale) de ce choix.


ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 31 sur 54

Algorithme du Greedy

On note :
b
i
(m) le nombre total de bits allous au i
me
quantificateur aprs litration
m (quand m bits ont t partags entre les X
i
).
W
i
(m) : la demande associe au i
me
quantificateur (la distorsion pour
ce quantificateur aprs litration m).

tape 0 : b
i
(0) = 0 i
m= 0 W
i
(0) = E(X
i
2
)

tape 1 : on trouve lindice j qui maximise la demande
j = arg max W
i
(m)

tape 2 : on alloue un bit au j
ime
quantificateur
b
j
(m+1) = b
j
(m) + 1
b
i
(m+1) = b
i
(m) i j)
les demandes sont actualises
W
j
(m+1) = W
j
(m) /
Avec 1,4 < < 2,3 ( = 2 dans le cas haute rsolution)

tape 3 : si m < B-1
m = m+1 et on reprend ltape 1.























ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 32 sur 54

3.2 Codage par Transforme

3.2.1 Principe.
Supposons que lon ait un bloc dchantillons successifs (vecteur) dun processus
alatoire stationnaire coder avec un nombre fix de bits.
Appelons X ce vecteur alatoire X = (X
1
, X
2
, , X
k
)
T

Ces chantillons qui daprs lhypothse de stationnarit ont la mme variance
peuvent prsenter une corrlation importante. Cette corrlation entrane une certaine
redondance qui est conserve dans les chantillons quantifis.
Lide du codage par transforme est quen oprant une transformation linaire sur X
on peut obtenir un nouveau vecteur Y dont les composantes sont moins corrles
que celles de X et que linformation peut y tre plus compacte, cest--dire
concentre sur quelques composantes, au lieu dtre uniformment rpartie sur
toutes les composantes. On espre alors quantifier ces composantes de faon plus
efficace que pour X.

On effectuera au moment du codage la transforme Y=TX.
On quantifiera scalairement les composantes du vecteur transform Y afin dobtenir
le vecteur Y

(quantifi).
Au dcodage le vecteur X

sera obtenu par transformation inverse du vecteur


Y

(quantifi) .
Le principe du codage par Transforme est rsum dans le schma suivant:

( )
[ ]
[ ]
[ ]
( )
k k k
k k
X
X
X
X T
Y
Y
Y
Y
Q
Q
Q
Y
Y
Y
Y T
X
X
X
X









2
1
1 2
1
2
1
2
1
2
1











Il y a aussi une raison subjective pour utiliser une transforme qui est de se
rfrer aux outils perceptifs humains qui interviennent pour la vue ou daudition.
Loreille en particulier, opre au niveau de la membrane basilaire (dans loreille
interne) une transformation du signal temporel acoustique en influx nerveux rpartis
suivant une chelle frquentielle sur les fibres nerveuses du nerf auditif. Ces fibres
se comportent, en premire approximation et partiellement, comme un banc de filtres
dont les frquences centrales sont disposes sur une chelle pseudo-logarithmique.

Les transformes bases sur la transforme de Fourier ou la transforme en Cosinus
sont trs largement utilises dans les applications de codage audio ou image. Elles
permettent de diffrencier les RSB dans diffrentes bandes de frquence et dallouer
de faon optimale les bits disponibles dans le domaine transform (frquentiel dans
ce cas).




ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 33 sur 54

3.2.2 Transformes orthogonales.
La mesure de la distorsion pour un codage par transforme est :
( )
( ) )

( )

(
)

(
2
1
X X X X E
X X E Dtc
T
i i
k
i
=
=

=


Notons que X

est obtenu par Y T

1
et que lerreur de reconstruction X X

dpend
la fois de lerreur de quantification Y Y

et de
1
T qui risque daccentuer les erreurs
(si le dterminant de
1
T est suprieur 1).
On impose donc la transformation T dtre orthogonale cest--dire telle que
1
= T T
T
pour que la norme dun vecteur soit prserve par la transformation.
3.2.2.1 Proprits pour les transformations orthogonales

a) ) ( ) ( ) ( Y Y E Y TT Y E X X E
T T T T
= = norme conserve

b) ( ) ( ) )

( )

( )

( )

( Y Y Y Y E X X X X E
T T
= distorsion conserve

c)
T
X
T T T
Y T TR T XX TE YY E R = = = ) ( ) (

et puisque det(T) = 1 det(R
X
)=det(R
Y
)

d) Si on appelle
T
i
V les lignes de T
) (
2 1 k
T
V V V T =
= I TT
T

ij j
T
i
V V = les vecteurs V
i
sont orthogonaux
i X
T
i i Yi
T
i i
V R V Y E
k i X V Y TX Y
= =
= = =
) (
1
2 2

distorsion sur Y
i



3.2.3 Transformation optimale- Transforme de Karhunen Loeve

On veut trouver la transformation orthogonale T (les Vi) telle que
( )
2
1
)

( i i
k
i
tc Y Y E D =

=
soit minimale avec les contraintes :
- k i V V
i
t
i
... 1 pour 1 = =
- ) ( ) ( Y Y E X X E
T T
=
2 2
X Y
i
k
i
=



On peut rsoudre ce problme en faisant lhypothse de la haute rsolution.

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 34 sur 54

On a alors
i
i
i
b
i X
T
i
i
k
i
b
Y
i
k
i
tc
V R V h
h D
2
1
2 2
1
2
2

=
=

On annule la drive par rapport aux V
i
du critre minimiser avec contraintes :
) 1 ( 2
2 2
1

|

\
|



=
i
T
i
i
i
X
i X
T
i
i
b
i X
T
i
i
k
i
V V k V R V V R V h
i

do :
i i i X
bi
i X i
V V R V R h + =
2
2

i i i X
V V R = avec
|
|

\
|

bi
i
i
i
h
2
2


On trouve que les V
i
(colonnes de T) doivent tre les vecteurs propres de la matrice
de covariance R
X
.
On a alors :
R
y
=TR
X
T
T
=diag(
i
)

Les composantes Y
i
sont dcorrles
Leur variance
2
i
Y
est gale la valeur propre
i
.

Cette transformation optimale qui dcorrle les composantes est la transforme de
Karhunen Loeve.

La transforme T
KL
optimale est donc forme de lignes qui sont les vecteurs propres
(transposs) de la matrice de covariance du signal X.

Pour trouver ensuite la meilleure allocation de bits dans le domaine transform on est
ramen au problme de minimisation de :
bi
i i
k
i
h
2
1
2

qui a comme solution :


( )
k
i
i
i i
H
h
k
B
bi
/ 1
2 2
log
2
1
log
2
1

+ + =
avec la distorsion :
k
B
k
i TKL
kH D
2
/ 1
2 ) (

=

On pourra, pour avoir une solution entire et ne pas faire lhypothse haute
rsolution, utiliser lalgorithme du Greedy en partant des conditions initiales W
i
=
i
.

3.2.4 Gain de performance par le codage par transforme

Si on se place dans le cas dun vecteur X compos de k chantillons dun processus
gaussien faiblement stationnaire :
2 2
) (
X i
X E =

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 35 sur 54

On peut comparer les distorsions obtenues en quantifiant scalairement les
composantes de X avec
k
B
bits chacune et en quantifiant les composantes de Y sur
b
i
bits (b
i
= B)
k B k
g TKL
X
k B
g X Q
i h k D
h k D
/ 2 / 1
2 / 2
2 ) (
2

=
=



Le gain de codage est donc


k k
X
KL
i
k
i
i
G
/ 1 / 1
2
) ( ) (


Le gain est donc le rapport entre la moyenne arithmtique et la moyenne
gomtrique des valeurs propres de la matrice de covariance.
Le gain est dautant plus important que les valeurs propres sont disperses
|

\
|
grand
min
max


ce qui est li des fortes corrlations dans le vecteur de dpart X.

En pratique il arrive que certaines composantes de Y aient une variance
i

suffisamment faible pour quon puisse ne pas leur allouer de bits du tout.
La Transforme a alors concentr linformation sur un nombre rduit de
composantes.

3.2.5 Autres transformes

Les transformes de Fourier (TFD) et transforme en cosinus (DCT) sont souvent
mises en uvre en pratique la place de la transforme de Karhunen Loeve (TKL)
car celle-ci prsente une grande complexit de calcul pour des signaux qui ne sont
pas vritablement stationnaires et pour lesquels il faut actualiser la matrice de
covariance et donc la matrice de transformation rgulirement.
La DCT est principalement utilise dans les normes de codage dimages (JPEG et
MPEG) et nest pas prsente dans le cadre de ce cours.

Montrons simplement ici que la Transforme de Fourier approxime la TKL pour un
signal stationnaire continu. Soit x(t) un signal stationnaire et X(f) sa TF(alatoire elle
aussi).
( )
( )
( )
) ( ) (
) (
) ( ) (
) ( ) ( ) (
mme lui avec corrl priori est signal le ) ( ) ( ) (
2 ) ( 2
) ( 2 2
*





f P
du dt e e u t r
du e u x dt e t x E
f X f X E R
t x t x E r
XX
u j u t f j
XX
u f j ft j
XX
xx
=
=
=
+ =
+ =



+ +

) ( et ) (
*
+ f X f X sont dcorrls pour 0


ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 36 sur 54


3.3 Application : Codage MPEG audio

3.3.1 Principe : codeur en sous-bandes avec allocation optimale
des bits dans chaque sous bande.
Le schma de principe du codeur est le suivant :






y
0
(m)

x
n
y
1
(m)





y
31
(m)



codeur A dcodeur D



La norme MPEG audio est spar en 3 niveaux de compression appels couches I
II III
La norme est compatible avec le MIC, le CD, le DAT et admet donc plusieurs
frquences dchantillonnage possibles (16 KHz, 22.05 KHz, 32 KHz, 44.1 KHz, 48
KHz).
La couche I (succinctement dcrite ci-aprs) permet un codage transparent (qualit
non dgrade) 192 kbps.
En sortie du codeur les donnes sont organises en trames. Le dbit est compris
entre 8 kbps et 448 kbps.

Le principe du codeur MPEG est dallouer dynamiquement (tous les 12 chantillons
Y(m)) les bits sur les composantes de Y(m) en fonction de critres perceptifs. On ne
code que les composantes audibles du signal sonore (on maximise le rapport signal
sur masque).

Estimation spectrale psycho-acoustique B
H
0
(z)
H
1
(z)
H
31
(z)
32
32
32
Allocation
optimale des
bits


C
F
0
(z) 32
F
1
(z) 32
F
31
(z) 32
+

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 37 sur 54

Description succincte des diffrents blocs du schma.
Bloc A :
Le signal est filtr par un banc de 32 filtres qui sont des versions dcales (en
frquence) dun filtre FIR passe bas 512 coefficients qui coupe Fe/64. La
sortie de ces filtres peut tre alors dcime par 32 cest--dire chantillonne
la frquence de Nyquist (2 fois la largeur de bande du filtre).

Lensemble de ces deux oprations (filtrage, dcimation) peut seffectuer par
Transforme Y = T X
T est le produit dune matrice de DCT avec une matrice diagonale qui
correspond la pondration du signal par une courbe de type sinc (prototype
passe-bas du banc de filtre).

X est un vecteur de 512 chantillons du signal dentre. On lacquiert par bloc
de 32 points.

Bloc B :
On effectue une TF du signal
On tient compte du seuil daudition des diffrentes frquences pour
ventuellement supprimer des composantes non audibles (50 Hz 30 dB, 10
kHz 15 dB)
On calcule leffet de masquage provoqu par les composantes de forte
amplitude. Leffet de masque est llvation du seuil daudition en prsence
dun son (masquant) pour des frquences voisines de celle de ce son.
On supprime les composantes masques.

Les oprations ralises par ce bloc sont reprsentes ci-aprs :






freq







freq





freq

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 38 sur 54

Bloc C :
On alloue les bits disponibles de faon avoir dans chaque sous bande un
bruit de quantification de niveau infrieur au seuil de masquage.

On minimise le rapport bruit sur masque global

) (
2 ) (
2
masqu
) ( 2 2
1
m
m
e
m b
Y
M
m


par une procdure itrative du type algorithme du Greedy .
Le codage a lieu dans les M = 32 bandes tous les 12 chantillons ce qui
donne un nombre de bits disponibles de 12 x 32 x dbit / Fe (auxquels on a
retranch les bits dentte , de contrle de parit, ).



ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 39 sur 54

4. Quantification prdictive

La notion de redondance est lie celle de prdictibilit. Lorsque le signal est
redondant il est possible de prdire un chantillon partir des chantillons passs.
Lide du codage prdictif est alors de ne quantifier et coder que la partie non
prdictible du signal.

4.1 Quantification dune diffrence

Avant dutiliser la prdiction nous allons tablir un rsultat trivial mais important.
Supposons que lon retranche une squence U
n
au processus dentre X
n
, et que la
diffrence E
n
soit quantifie et que lon construise
n
X

en rajoutant U
n

n
E

.

x
n
e
n

n
n
x





u
n

On a videmment :
n n n
e e q = erreur de quantification

n n n
x x q = = erreur de reconstruction

On a intrt effectuer cette opration si U
n
est bien choisi, en particulier si U
n
est tel
que E
n
= X
n
U
n
correspond un processus E
n
= X
n
U
n
de variance infrieure
celle de X
n
(pour un mme RSB on pourra diminuer la rsolution b).
Un moyen de raliser ceci est de choisir U
n
comme prdiction
n n
X X de
~
.

+
Q
+

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 40 sur 54

4.2 Quantification prdictive

Pour une ralisation x
n
on considre :

~
1
i n i
P
i
n x a x
=

= est la prdiction linaire de x


n
en fonction des P chantillons passs.

On a alors :
i n i
P
i
n n n n x a x x x e
=

+ = =
1
~
lerreur de prdiction.

On cherche dterminer les coefficients a
i
qui maximisent le rapport signal sur bruit
(en linaire).

( )
2
2
)

(
) (
n n
n
lin
X X E
X E
RSB

=
( ) ( )
2
2
2
2
2
2
)

(
) (
) (
) (
)

(
) (
n n
n
n
n
n n
n
E E E
E E
E E
X E
E E E
X E

=


) (
2
2
) (
2
2
.
) (
) (
n
n
E quant
E
X
E quant
n
n
RSB
RSB
E E
X E

=
=


Le second terme dpend du type de quantification de lerreur de prdiction. Pour une
quantification optimale haute rsolution b on obtient
C
b 2
2
.
Comme la puissance du signal
2
X
est impose on peut maximiser le RSB total
en minimisant
2
E
la puissance moyenne de lerreur de prdiction.
On aura alors maximis le gain de prdiction
2
2
E
X
P
G

= .
Nous rappelons ci-aprs les quations de la prdiction linaire (la minimisation de la
variance de lerreur de prdiction) et lalgorithme de Levinson pour mettre en uvre
le calcul des coefficients de prdiction.



ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 41 sur 54

4.3 Rappels concernant la prdiction linaire

4.3.1 Equations normales (ou de Yule Walker ou de Wiener Hopf)

On les obtient en minimisant la variance de lerreur de prdiction
|

\
|
+ = =

=

2
1
2
) ( ) (
2
i n i
P
i
n n
E
X a X E E E

En utilisant les notations vectorielles
P n
n
p
X
X
n X
a
a
a

= =
1 1
) ( et

On a : ( ) ( ) ( ) ) ( ) ( 2 ) ( ) ( )) ( (
2
2
n X n X E a a n X n X E a n X E
T T T
E
+ + =
Qui scrit encore :
( ) ) ( 2 ) ( 1
2 2
P a a P a
X
T
X
T
X E
+ + =

avec
P
X
P
P
X
P P

1
1
1
1 1
) ( ,
1
1
1
) ( =
|
|
|
|
|

\
|
=



et
2
) (
X
i n n
i
X X E


= coefficient dautocorrlation normalis
do 0
2
=

a
E


) ( ) ( P a P
X
X
= Cette quation matricielle est lquation de Wiener Hopf.

Les coefficients a
i
optimaux sont obtenus par linversion de la matrice
dautocorrlation.
On a alors la variance
2
E
maximale.
( ) ) ( 1
2 2
min
P a
X
T
X E
+ =

\
|
+ =

=

i i
P
i
X E
a
1
min
1
2 2



ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 42 sur 54

4.3.2 Algorithme de Levinson (rappels)

Cest un algorithme rcursif sur lordre du modle rclamant ) (
2
p oprations (au
lieu de ) (
3
p avec des mthodes classiques).
Si on rassemble les deux quations prcdentes le systme global de dtermination
des coefficients de prdiction lordre m et de la variance de lerreur de prdiction
rsultante scrit :

= +
) (
) (
1
) 1 (
2
2
m
m a
m
E
X
X



Lalgorithme repose sur lexploitation de la forme de
X
qui est une matrice de
Toeplitz (les diagonales sont formes dlments identiques).

Pour une matrice de cette forme, il est quivalent dinverser les lignes (multiplication
gauche par
|
|

\
|
=
0 1
1 0

J ) et dinverser les colonnes (multiplication droite par J).



On a donc si le systme est vrifi :
) (
0
1
) (
) 1 (
2
2
m
m a J
m
E
X
X

=
+

Pour passer de lordre m lordre m+1 on cherche a(m+1) et ) 1 (
2
+ m
E
tels que

) 1 (
) 1 (
1
) 2 (
2
2
+
=
+
+
m
m a
m
E
X
X


Si on observe que
|
|
|
|
|

\
|
+
=
|
|
|
|
|

\
|
+
+
+
+
+
1
1
1 1
1 1
1
) 1 (
1
1
) 1 (
1
m
X
m
m
m
X
m
m



On voit quil est astucieux dcrire la solution sous la forme :

1
) (
0
0
) (
1
) 1 (
1
1 m a J k m a
m a
m+ + =
+


et de chercher le coefficient k
m+1
qui convienne.
En effet, si on applique
) 1 (
1
) 2 (
+
+
m a
m
X
ainsi dfini

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 43 sur 54


) (
0
) 1 (
) ) ( (
0
) (
) 1 (
1
) 2 (
2
2
2
2
1
) 1 (
1
2
1 1
2
m
m
k
m a
m
m a
m
E
X
m
m
m
i
X i m i m
E
X
X
X


+
+
+
=
+
+
+
+
=
+ +


on a alors la condition :
0 ) ( ) 1 (
2
1
2
= + +
+
m k m
E
m X



) (
) (
) (
) 1 (
2 2
2
1
1 1
2
1
m
m a
m
m
k
E
X
m
i
i m i m
E
X
m

\
|
+
=
+
=

=
+ +
+


et le rsultat :
2
1
/ ) ( ) 1 (
2 2
X m
E E
k m m
+
+ = +

) 1 )( ( ) 1 (
2
1
2 2
+
= +
m
E E
k m m

Lalgorithme de Levinson est donc le suivant :

2 2
1
2
1 1 1
) 1 ( ) 1 (
) 1 (
X E
k
k a

=
= =


puis pour m = 2 P

) (
) (
2
2
) 1 ( 1
1
1 1 1
m
k
m a
E
X
m m
m
i
i m i m m


+ +
=
+ + +
=
+ =



pour i = 1 m

) (
1
1
) ( ) 1 ( m
i m
m
m
i
m
i
a k a a
+
+
+
+ =

1
) 1 (
1 +
+
+
=
m
m
m
k a
) 1 )( ( ) 1 (
2
1
2 2
+
= +
m
E
E
k m m



ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 44 sur 54

4.3.3 Calcul du gain de prdiction : ) (
) (
2
2
P G
P
P
E
X
=



Daprs la dernire relation de lalgorithme de Levinson et linitialisation
E
2
(0)=
X
2

) 1 ( ) (
2
1
2
2 m
P
m
X
E k P =

=


Le gain de prdiction est donc gal :

) 1 (
1
) (
2
1
m
P
m
P
k
P G

=

Ce gain est dautant plus imprtant que les coefficients de rflexion k
m
sont de module
proche de lunit.

Mise en uvre :
on applique le critre des moindres carrs sur lintervalle des N points connus
x
0
x
N-1

La forme des quations est alors identique celle obtenue prcdemment en
remplaant
2
1
0
1
par
n
N
n
i n n
N
i n
i i
x
x x

=
=


4.4 Quantification scalaire prdictive en boucle
ouverte

Le schma de quantification dune diffrence entre le signal x
n
et sa prdiction
n
x
~

est le suivant :
x
n
e
n

n

n

n
x



n
x
~






+ +
Q
1-A(z) 1-A(z)

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 45 sur 54

Si on ne transmet pas
n
x
~
on a un cumul de lerreur de quantification.

En effet si on appelle q
n
=
n
e
n
cette erreur
) (
) (
) (
) (
) (
) (

) (

z A
z Q
z A
z E
z A
z E
z X + = =

) (
) (
) ( ) (

z A
z Q
z X z X + =
si r
n
=
n
x - x
n
est lerreur de reconstruction

=
) (
) (
) (
z A
z Q
z R
i n
P
i
i n n
r a q r

=

=
1


Ceci nest videmment pas acceptable, et la solution de transmettre
n
x
~
ne lest pas
non plus car elle fait perdre tout le bnfice du gain de prdiction.
Il faut donc raliser cette quantification prdictive en boucle ferme cest--dire en
incorporant le dcodeur dans le codeur.

4.5 Quantification prdictive en boucle ferme
Le nouveau schma est le suivant :
x
n
e
n

n

n

n
x



n
x




Cest--dire que lon fait agir le prdicteur 1-A(z) sur le signal reconstruit
n
x
On a bien alors :
) ( ) (

) ( ) (

) (
) ( ) (

)) ( 1 ( ) ( ) ( ) ( ) (

z Q z X z A z X z X
z Q z X z A z X z Q z E z E
+ + =
+ = + =

) ( ) ( ) (

z Q z X z X + = il ny a plus de cumul des erreurs.



Ce nouveau schma pose tout de mme quelques problmes :
Le e
n
nest pas le rsiduel dcrit prcdemment puisque la prdiction est
applique sur
n
x et sera priori un peu moins performante que lorsquelle est
faite sur x
n
.
Il faut rsoudre le problme du calcul de A(z).


Il y a deux solutions en pratique pour aborder ce second problme :
+
+
Q
1-A(z) 1-A(z)
+

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 46 sur 54


Soit on calcule A(z) partir de x
n
(prdiction forward) comme prcdemment :
On effectue le calcul des 0...P i
i
= et on applique lalgorithme de Levinson.
Il faut alors transmettre les coefficients du filtre A(z)
le gain de prdiction est un peu infrieur au gain thorique
Il y a un retard de N points (~ 20 ms) introduit dans le codage-dcodage

Soit on calcule A(z) partir de
n
x (prdiction backward) mais ceci ne peut se faire
que de faon adaptative (puisquon a besoin de A(z) pour construire
n
x ).
Il nest alors pas ncessaire de transmettre A(z)
Il ny a pas de retard introduit
Le calcul de A(z) est plus complexe mettre en uvre et le gain de
prdiction est plus faible que pour la prdiction forward.
4.5.1 Codeur ADPCM (32 kbps)
Ce schma de quantification prdictive avec prdiction backward est au cur du
codeur MICDA (ADPCM) 32 kbps (norme G 721 de lUIT-T).

Ce codeur prsente quelques particularits supplmentaires :

Le filtre 1/A(z) est remplac par un filtre ARMA B(z)/A(z) qui est calcul par un
algorithme du gradient simplifi
Le pas de quantification est adaptatif lui aussi, cest--dire que pour conserver un
RSB constant on fait varier le pas de quantification comme lcart type court
terme du signal.

4.5.2 Codeurs de type RELP (Residual Excited Linear Prediction)
Le principe de ces codeurs repose sur une prdiction forward mais le rsiduel e
n
nest
pas directement quantifi pour tre transmis. On sous-chantillonne linformation e
n
avant
de la quantifier pour avoir un dbit plus faible en transmission. Le dcodeur doit bien sr
sur-chantillonner lexcitation transmise avant de la filtrer par 1/A(z).
Ce type de codeur permet des dbits de lordre de 12 16 kbps.
La norme IUT-T du codeur GSM plein dbit repose sur une structure de codage de type
RELP.
4.5.3 Codeurs de type CELP
Ces codeurs sont eux aussi bass sur la prdiction linaire (codeur prdictif) et une
prdiction gnralement forward mais linformation du filtre et linformation du
rsiduel sont quantifies vectoriellement avant dtre transmises. Le chaptre suivant
dcrit la technique de Quantification vectorielle.


ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 47 sur 54

5. Quantification vectorielle

Le principe est de grouper plusieurs chantillons dans un vecteur et de quantifier
lensemble. Cette technique permet de prendre directement en compte la corrlation
contenue dans le signal (contrairement aux techniques de quantification par
transforme ou prdictive qui procdent en deux tapes : dcorrlation puis
quantification).

Dfinitions :

On appelle quantificateur vectoriel de dimension N et de taille L une application :
{ }

=
=
i
N
L
N
y x Q x
y y y C
) (
, , ,
2 1


Lespace
N
est partitionn en L classes
{ }
i i
y x Q x R = = ) ( /
C est le dictionnaire, les y
i
sont des reprsentants
Il faut dfinir une mesure de distorsion lie lerreur de quantification x - Q(x)
On choisit habituellement :
( ) ( )
2
) (
1
) ( ) (
1
)) ( , (
x Q x
N
x Q x x Q x
N
x Q x d
T
=
=

(distance euclidienne)
ou bien plus gnralement une distance pondre :
( ) ( ) ( ) ) ( ) (
1
) ( , x Q x W x Q x
N
x Q x d
T
=

On choisit gnralement
L = 2
bN
b reprsente la rsolution ou nombre de bits par chantillon
b peut ne pas tre entier, il suffit que bN le soit.


5.1 Performances dun quantificateur vectoriel

Le critre habituellement utilis est la distorsion moyenne
( ) ( )
dx x f y x d
dx x f x Q x d X Q X d E D
X i
R x
L
i
X
i
N
) ( ) , (
) ( ) ( , )) ( , (
1

=
= =



ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 48 sur 54

Exemple en dimension 2 :

pour
1 2
2
+ k
k
x
x
x avec
0 0
1
cos 2
20
n n
x A nf W f = + =
et W
n
un bruit blanc tel que le RSB soit gal 20 dB

Etudions la quantification sur 6 bits (3 bits par chantillon)

Dans le cas scalaire : on quantifie chacune des composantes de x sur 3 bits
Les reprsentants utiliss sont nots par +
Dans le cas vectoriel : on quantifie globalement x sur 6 bits , les reprsentants sont
nots par o




Il est vident quon obtiendra une distorsion moyenne plus faible dans ce dernier cas.





ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 49 sur 54

5.2 Quantificateur vectoriel optimal

On cherche trouver le dictionnaire et les classes associes de faon minimiser la
distorsion moyenne D. Comme dans le cas scalaire on ne peut pas rsoudre ce
problme globalement mais on conserve les deux conditions ncessaires
doptimalit.

1. Etant donn un dictionnaire C = {y
1
, , y
L
} la meilleure partition est celle qui
vrifie
{ } = ) , ( ) , ( /
j i i
y x d y x d x R
Cest la rgle du plus proche voisin.
La partition est appele partition de Vorono
On appelle R
i
une cellule de Vorono (ou rgion de Vorono).
2. Etant donne une partition, les meilleurs reprsentants sont les centrodes des
cellules de Vorono
( )
i
X
R
X
R
i
R X X E
dx x f
dx x xf
y
i
i
= =

/
) (
) (


Lalgorithme de Lloyd Max gnralis construit un dictionnaire de Q.V de manire
itrative en vrifiant tour tour les deux conditions doptimalit C
1
et C
2
sur une base
dapprentissage (on lappelle aussi lalgorithme des K-moyennes (K-means)).

Dictionnaire initial : C
(0)
alatoire
A ltape m :dico C
(m)
classes R
i
(m)
dico C
(m+1)

Distorsion D
(m)
y
i
(m+1)
=
(m)
i
R
x
(centrode de R
i
(m)
)

On arrte lorsque la distorsion nvolue plus de faon significative :

(m) D
1) (m D (m) D
<
+
seuil pr-fix


5.3 Algorithme de Linde Buzo Gray (LBG)

Cet algorithme permet :
- De rsoudre le problme du choix du dictionnaire initial
- De construire des dictionnaires de taille2
k
(k = 1 bN) qui se prteront
une quantification vectorielle arborescente (par choix successifs entre 2
reprsentants)
- D acclrer la construction du dictionnaire (qui ne se fait quune fois pour
une base dapprentissage donne) mais aussi la quantification (si on utilise
la structure arborescente des dictionnaires successifs).
C
1
C
2


ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 50 sur 54


1. Le dictionnaire initial est form dun seul vecteur y
1
(0)
qui est le centrode de toute
la base
2. On clate ce vecteur en deux
(0)
1
y
(1)
2
y
(0)
1
y
(1)
1
y = + = et on calcule les
classes
) 1 (
2
) 1 ((
1
R R associes ces vecteurs avec la rgle du plus proche voisin. On
calcule de nouveaux reprsentants
) 1 (
2
) 1 (
1
et y y comme centrodes de ces classes.
On recommence jusqu stabilisation de la distorsion (algorithme des
2_moyennes).
3. On clate les vecteurs stabiliss en 2
) 2 (
4
) 2 (
3
) 2 (
2
) 2 (
1
) 1 (
2
) 1 (
1
" ' y y y y y y
On applique lalgorithme des 4_moyennes sur ces vecteurs.
4. A ltape k on clate les 2
k-1
vecteurs en 2 et on applique lalgorithme des
k_moyennes.
5. On sarrte pour k = bN

Exemple : tape 2 et 4 de lalgorithme LBG pour la sinusode bruite




5.4 Quantification vectorielle de type forme-gain

Lide est de sparer dans deux dictionnaires distincts ce qui est caractristique de la
forme, le contenu spectral du vecteur et ce qui est caractristique du gain, lnergie
du vecteur.
Soit :
N
x
x
x
1
le vecteur quantifier

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 51 sur 54


On considre un dictionnaire de formes
LN
L
L
N
y
y
y
y
y
y
1
1
11
1

et un dictionnaire de gains g
1
g
M

et Q(x) = g
i
y
j
doit priori tre recherch de manire exhaustive (en parcourant
lensemble des valeurs (i, j)). Le principe de la Q.V forme gain est de quantifier x en
deux tapes (au prix dune performance ventuellement moindre). On recherche
dabord parmi toutes les formes y
j
la plus proche de celle de x puis on quantifie le
gain.
) ( ) ( )) ( , (
j i
T
j i
y g x y g x x Q x d =

Si on drive par rapport 0 ) ( : =
j
T
j i i
y y g x g

2
j
j
T
i
y
y x
g =

on a alors :

2
2
min
) (
) ( )) ( , (
j
T
j
T
T
j i
T
T
j i
y
x y
x x
x y g x x
x y g x x Q x d
=
=
=


- la forme y
j
qui minimise d
min
est celle qui maximise
j
T
j
T
j
y y
x y
2
) (

cest--dire celle qui maximise
j
j
T
j
x x
y
y
cos . =
(celle qui prsente langle
j
minimum avec x)

- le gain est alors donn par :
2
j
j
T
i
y
y x
g =


5.5 Principe du codeur CELP (Code Excited Linear
Predictive Coder)

Ces codeurs sont utiliss dans la transmission faible et moyen dbit de la parole :
norme GSM demi dbit, norme UMTS

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 52 sur 54

Lide est dutiliser
- un filtre prdictif qui dcorrle ( court terme) les chantillons et fournit une
erreur de prdiction (ou rsiduel)
- une quantification vectorielle (de type forme-gain) pour coder ce rsiduel.

On peut schmatiser cette ide comme suit :


x e i,j g
j

i
x





j






En ralit on nutilise pas ce schma car :
- cest un schma en boucle ouverte
- le plus proche voisin g
j

i
de e nengendre pas forcment le plus proche
voisin x de x .


On modifie donc la structure du codeur ainsi : x

j


x i,j




et le dcodeur reste inchang.













A(z)
Rgle du
Plus
Proche
Voisin
Consultation des
dictionnaires
1/A(z)

Excitation
1

Excitation
2


Excitation
L


Excitation
1

Excitation
2


Excitation
L



1


2



J


Excitation
1

Excitation
2


Excitation
L


1/A(z)
Rgle du
Plus
Proche
Voisin

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 53 sur 54

Introduction ..........................................................................................................2
1. Codage entropique codage sans pertes 5
1.1 Introduction................................................................................................5
1.2 Systme de codage sans perte ................................................................5
1.3 Codage dune source discrte sans mmoire ........................................6
1.4 Gnralisation - codage entropique vectoriel.......................................11
1.5 Codage arithmtique...............................................................................13
1.6 Conclusions sur le codage entropique Introduction aux autres
mthodes de codage (avec pertes)...................................................................16
2. Quantification scalaire 17
2.1 Introduction - dfinition ..........................................................................17
2.2 Mesure des performances dun quantificateur .....................................18
2.3 Quantification uniforme ..........................................................................19
2.4 Conception dun quantificateur scalaire optimal..................................22
2.5 Quantification logarithmique..................................................................26
3. Allocation optimale des bits et codage par transforme
28
3.1 Allocation optimale des bits...................................................................28
3.2 Codage par Transforme........................................................................32
3.3 Application : Codage MPEG audio.........................................................36
4. Quantification prdictive 39
4.1 Quantification dune diffrence..............................................................39
4.2 Quantification prdictive.........................................................................40
4.3 Rappels concernant la prdiction linaire.............................................41
4.4 Quantification scalaire prdictive en boucle ouverte...........................44
4.5 Quantification prdictive en boucle ferme ..........................................45
5. Quantification vectorielle 47
5.1 Performances dun quantificateur vectoriel..........................................47
5.2 Quantificateur vectoriel optimal .......................................................49
5.3 Algorithme de Linde Buzo Gray (LBG) ..................................................49
5.4 Quantification vectorielle de type forme-gain.......................................50

ESIEE Dpartement signaux et tlcommunications
comp2008.doc Pascale JARDIN Page 54 sur 54

5.5 Principe du codeur CELP (Code Excited Linear Predictive Coder) ....51

Vous aimerez peut-être aussi