Académique Documents
Professionnel Documents
Culture Documents
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
( )
= = =
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
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
( )
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
(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
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
+ + =
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
=
+ = =
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
=
+
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
+ + =
+ = + =
) ( ) ( ) (
=
=
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