Upload
igerne-le-bars
View
104
Download
2
Embed Size (px)
Citation preview
PRINCIPE SIMPLIFIE DE LA COMPRESSION MP3
Objectif : réduire le débit qui est de l’ordre de 700 kbits/s (échantillonnage à 44100 Hz codé sur 16 bits) à un débit de l’ordre de 150 kbits/s
(réduction d’un facteur 5) sans perte de qualité :
en s’appuyant sur l’effet de masquage :
un son d’une fréquence f2 voisine d’une fréquence f1 mais dont l’amplitude est plus faible n’est pas perçu par le système auditif
J.P. Stromboni, J. Le Roux, Polytech’Nice
1
fondamental harmonique 9
Spectrogramme
Spectre
fond.
H9
il n’est pas nécessaire de coder les composantes (ici les harmoniques)de faible amplitude dont la perceptionest masquée par celles de forte amplitude (ici de 700 à1200 Hz et au-delà de 2400 Hz) ; dans ce signal seule les harmoniques 1 (fondamental) 2, 3, 7 , 8, 9, 10, 11 et 12 sont audibles
fréquence
temps
temps
fré
qu
en
ce
amplitude(dB)
2
UTILISATION D’UN BANC DE FILTRES EN COMPRESSION DE SON
séparer le signal en différentes composantes (dans différentes bandes de fréquence)nécessite la notion de filtrage et son interprétation ainsique l’interprétation en fréquence du sous échantillonnage
mesurer l’évolution de l’énergie de ces composantes au cours du temps, éliminer ou coder plus grossièrement les composantes qui ont une énergie faible
reconstituer le signal par interpolation et addition de ces composantes ainsi codées
ANALYSE
COMPRESSION
SYNTHESE
3
UTILISATION D’UN BANC DE FILTRES EN COMPRESSION DE SON
x(t)
b0(t)
B0(f)
réponse impulsionnelle
réponse en fréquence
Y(f)
b8(t)
B8(f)
y0(t)
Y0 (f)
y8(t)
Y8 (f)
FILTRAGESOUS
ECHANTILLONNAGE INTERCALAGE
DE ZEROS FILTRAGE SOMMATION
b0(t)
B0(f)
b8(t)
B8(f)
y0(t)
Y0 (f)
y8(t)
Y8 (f)
CO
MP
AR
AIS
ON
DE
S E
NE
RG
IES
ANALYSE SYNTHESE
y(t)
X(f)
4
la séquence d’opérations : filtrage par un banc de filtre / sous échantillonnage conserve la même quantité de données qu’au départ : huit fois plus de signaux mais à un débit huit fois plus faible pour chacun d’entre eux
on peut sous échantillonner les différents signaux dans un rapport huit carleur bande de fréquence est huit fois plus faible que celle du signal initial
si les opérations sont pour chacun des signaux le filtrage, le sous échantillonnage, l’inter calage de zéros età nouveau le filtrage , et finalement la somme des signaux, le signal obtenu aufinal est identique au signal initial (si les filtres B(f) sont correctement choisis)
le filtrage appliqué au signal sous échantillonné dans lequel on intercale des zérosredonne le signal filtré
b0(t)
B0(f)
réponse impulsionnelle
réponse en fréquence
y0(t)
Y0 (f)
FILTRAGESOUS
ECHANTILLONNAGE INTERCALAGE
DE ZEROS FILTRAGE SOMMATION
b0(t)
B0(f)
y0(t)
Y0 (f)
ANALYSE SYNTHESE
5
q
k
ktxkbty0
)()()(
)().()( fXfBfY
convolution par la réponse impulsionnelle
dans le domaine temporel
produit par la réponse en fréquence dans le domaine des fréquences(transformée de Fourier)
ici les filtres sont utilisés pour sélectionner le signal
dans différentes bandes de fréquences
FILTRE NUMERIQUESORTIE
SIGNAL FILTRE)(ty)(txENTREE
OPERATION DE BASE / LE FILTRAGE NUMERIQUE
FILTRAGE
6
0 32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 5120.5
0
0.5
11
1.86 1014
F0u
Re F1u
5120 u
réponse en fréquence du quatrième filtre (autour de 96/512 fech)
= fech
CHACUN DES FILTRES SELECTIONNE LE SIGNAL DANS UNE BANDE DE FREQUENCE
1/2 fech
(symétrie)
NOTEZ LA SYMETRIE PAR RAPPORT A LA MOITIE DE LA FREQUENCE D’ECHANTILLONNAGE
(p. ex. 44100 Hz)
fréquence
7
réponse en fréquence du premier filtre (passe bas)
0 32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 5120
11
0
F0u
5120 u = fech
réponse impulsionnelle du premier filtre (passe bas)
0 32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 5122
0
21.414
0.3
fc0 t 0
5120 t t=no d’éch.
On passe d’un filtre à l’autre par translation en fréquence ce qui se traduit dans le domaine temporel par une modulation
fréquence
temps
).2cos().()( 0 tftbtb mm )()( 0 mm ffBfB
8
fc1t
fc0t 0 cos 2 t
32 3512
2
0 32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 5124
2
0
2
4
fc1 t 0
fc0 t 0 2
fc0 t 0 2
t
On passe d’un filtre à l’autre par translation en fréquence ce qui se traduit dans le domaine temporel par une modulation
0 32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 5120.5
0
0.5
11
1.86 1014
F0u
Re F1u
5120 u
réponse en fréquence du quatrième filtre (autour de 96/512 fech)
= fech
t=no d’éch.
fréquence
temps
réponse impulsionnelle du quatrième filtre filtre (autour de 96/512 fech)
).2cos().()( 0 tftbtb mm )()( 0 mm ffBfB
9
Forme Réelle des Filtres MP3
0 32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 5120.01
0.015
0.04
.
Réponse impulsionnelledes filtres (sans la modulation)
Réponse en fréquencedu filtre (la modulationse traduit par une translationen fréquence pour chacun des filtres)
Temps(échantillons)
Fréquence(kHz)1.03 0.78 0.52 0.26 0 0.26 0.52 0.78 1.03
0
0.0025
0.005
.
(zoom: la bande de fréquence s’étend jusqu’à 22050 Hz, il y a 32 filtres déduits par translation de celui-là)
10
SOUS ECHANTILLONNAGE
INSERSION DE ZEROS ENTRE LES ECHANTILLONS
4 2 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36
0.93
0
1.2
1.2
xt
xts
364 t ts
4 2 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36
0.93
0
1.2
1.2
xt
xts
z t
364 t ts t
quand la bande de fréquence est limitée on peut sous échantillonner le signalsans perdre d’information : par exemple huit signaux différents de bande de fréquence huit fois plus petite échantillonnés à un rythme huit fois plus lent
OPERATION COMPLEMENTAIRE : LE SOUS ECHANTILLONNAGE
Temps(échantillons)
Temps(échantillons)
11
Z 8 cfft z( )
4 0.6 2.8 6.2 9.6 13 16.419.8 23.226.6 30 33.436.8 40.243.6 47 50.4 53.857.2 60.6 64
0.93
0
xt
xts
z t
t ts t
4 21.8 47.6 73.4 99.2 125 150.8176.6202.4228.2254 279.8305.6331.4357.2383 408.8434.6460.4486.2512
0
5
10
15
X t
Z t
t
signaux temporel original sous échantillonné avec des zéros intercalés
spectre du signal original du signal sous échantillonné et des zéros intercalésentre les échantillons (il y a périodisation du spectre)
l’application du filtre passe-bande ou passe-bas lors de la reconstruction du signal va éliminer les répliques et reconstruire le signal original filtré (avant le sous échantillonnage
Temps(échantillons)
fréquence
12
signal original
signal sous échantillonné
signal avec zéros intercalés
spectre dusignal original
spectre dusignal avec zéros intercalés
le filtrage permetde retrouver la composante dansla bande de fréquenceet élimine les autres
temps
Z 8 cfft z( )
4 0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64
0.93
0
xt
xts
z t
t ts t
0
10
20
30
X t
Z t
t
0 32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 5120.5
0
0.5
1
F0u
Re F1u
u
0
5
10
1511.314
1.2
X t
5124 t
fréquence
13
si
alors le signal reconstitué par addition des signaux sous-échantillonné
y0(t) ... y8(t)(où on a intercalé des zéros et qu’on a à nouveau filtrés)
B0 (f) + B1 (f) + ...+ B8 (f) = 1
y0 (t) + y1 (t) + ...+y8 (t) = x(t)
redonne le signal original
les signaux transmis sont les signaux filtrés passe - bas et sous échantillonnés pour le moment il n’y a pas de compression, ni de perte d’information :8 fois plus de signaux, mais échantillonnés à un rythme huit fois plus faible
0
0.25
0.5
0.75
1
1.251.25
0
Fgu 0
Fgu 1
Fgu 2
Fgu 3
Fgu 4
Fgu 5
Fgu 6
Fgu 7
Fgu 8
5120 u
freq. ech½ freq. ech(symétrie)
0
0 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 0
numero du filtre
numero du filtre
fr
équ
ence
½ freq. ech(symétrie)
fréquence
amplitude
14
la compression s’obtient en analysant l’énergie dans les différentes bandes defréquences pendant une durée donnée T (quelques centièmes de secondes)
T
t
tyE0
200 )(
si pendant la durée T l’énergie mesurée est très faible dans un des canaux,il est inutile de transmettre le signal correspondant ; si dans un canal l’énergie est nettement plus faible que dans un canal voisinl’oreille ne l’entend pas : on peut ne pas transmettre le signal correspondantou ne le coder que sur un nombre réduit de bits
bande de fréquence
basses hautes fréquences
T
t
tyE0
277 )(
15
si dans deux bandes de fréquence voisines, l’un des signaux est relativement plus faibleon mesure son amplitude maximum a sur une durée de quelques millisecondes et on se contentede coder sur deux, trois ou quatre bits ce signal (en se référant à cette amplitude maximum)alors que le signal le plus fort sera par exemple codé sur 12 ou 14 bits
Temps(échantillons)
fréquence0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256
0
0.2
0.4
0.6
.
0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 2561
0
1
.
a
-a
codage sur un nombreréduit de bits dans l’intervalle(-a, a)
codage plus précis
16
- Le signal varie au maximum entre -215 et 215-1, et il est (souvent) codé sur 16 bits - Le signal est analysé sur une durée T ; durant cette période, son amplitude est bornée par 2m-1 - On veut coder ce signal sur n bits, en faisant en sorte qu'à la restitution le signal soit toujours entre -2m-1 et 2m-1-1 - On divise le signal par 2m-n (simple décalage à droite) et on conserve la partie entière du résultat - On transmet les n bits de faible poids et les valeurs m et n ; - le récepteur reconstitue le signal en multipliant le signal reçu par 2m-n (décalage à gauche).
Codage d'un signal sur un nombre réduit de bit
17
0 8 16 24 32 40 48 56 6464564840322416808
16243240485664
xt
t
.
signal codé sur 7 bits (dont 5 « utiles »)
0 8 16 24 32 40 48 56 6416141210864202468
10121416
xt
t
.
16 12 8 4 0 4 8 12 1620
16
12
8
4
0
4
8
12
16
20
partentièret 16
24 2
24 2
t 16
.
yt
partentièrext
24 2
24 2
0 8 16 24 32 40 48 56 6416141210
864202468
10121416
y t
t
résultat du codage sur 3 bits du signalpartentière 0.5( ) 1
18