S.S.I.I.- séance n°10 : Un moyen de compresser le signal audio Page 1 Un moyen de compresser le...
12
Page Page 1 S.S.I.I.- séance n°10 : Un moyen de S.S.I.I.- séance n°10 : Un moyen de compresser le signal audio compresser le signal audio Un moyen de compresser le signal audio présenté à travers un exemple Cours S.S.I.I., séance 10, novembre 2009, durée 55 minutes Jean-Paul Stromboni, pour les élèves SI3, vidéoprojecteur Ce que vous devez savoir après cette séance : Compresser un signal audio, c'est réduire sa taille et son débit binaire, ou bit rate, d’où le taux de compression. Pour compresser avec un banc de filtres, il faut d’abord sous échantillonner les signaux filtrés, et réduire la taille des signaux filtrés les moins significatifs. Pour décompresser, on sur-échantillonne en ajoutant des échantillons nuls, et on applique des filtres interpolateurs. Savez vous répondre aux questions suivantes ? Calculer l’énergie d’un échelon de Heaviside de longueur R=256 points de deux façons. Un son wav 44100Hz, 16 bits, mono, est compressé à 128kbps, que vaut C ? Avec un taux de compression de 11 que devient un son wav de 33 Mo ? Comment décimer en Matlab dans un facteur 10 le vecteur: s= sin(0.2*pi*[1:10000]) Pourquoi peut-on décimer les signaux filtrés dans un banc de M filtres ? Comment sur- échantillonner le signal s avec MATLAB dans un rapport ? Décimer le signal suivant : Avec un banc de 32 filtres, quel taux m n y n x 2 2
S.S.I.I.- séance n°10 : Un moyen de compresser le signal audio Page 1 Un moyen de compresser le signal audio présenté à travers un exemple Cours S.S.I.I.,
S.S.I.I.- sance n10 : Un moyen de compresser le signal audio
Page 1 Un moyen de compresser le signal audio prsent travers un
exemple Cours S.S.I.I., sance 10, novembre 2009, dure 55 minutes
Jean-Paul Stromboni, pour les lves SI3, vidoprojecteur Ce que vous
devez savoir aprs cette sance : Compresser un signal audio, c'est
rduire sa taille et son dbit binaire, ou bit rate, do le taux de
compression. Pour compresser avec un banc de filtres, il faut
dabord sous chantillonner les signaux filtrs, et rduire la taille
des signaux filtrs les moins significatifs. Pour dcompresser, on
sur-chantillonne en ajoutant des chantillons nuls, et on applique
des filtres interpolateurs. Savez vous rpondre aux questions
suivantes ? Calculer lnergie dun chelon de Heaviside de longueur
R=256 points de deux faons. Un son wav 44100Hz, 16 bits, mono, est
compress 128kbps, que vaut C ? Avec un taux de compression de 11
que devient un son wav de 33 Mo ? Comment dcimer en Matlab dans un
facteur 10 le vecteur: s= sin(0.2*pi*[1:10000]) Pourquoi peut-on
dcimer les signaux filtrs dans un banc de M filtres ? Comment
sur-chantillonner le signal s avec MATLAB dans un rapport ? Dcimer
le signal suivant :Avec un banc de 32 filtres, quel taux de
compression peut on imaginer atteindre ?
Page 2
S.S.I.I.- sance n10 : un moyen de compresser le signal audio
Page 2 Prenons un signal audio compresser Il est tir du fichier :
Chord.wav son spectrogramme son chronogramme sa taille N sa dure sa
frquence d'chantillonnage dure de fentres de fft (20 30 ms donne
D=
Page 3
S.S.I.I.- sance n10 : un moyen de compresser le signal audio
Page 3 construisons un banc de filtres un banc de deux filtres
(pour faire simple), rponses harmoniques reprsentes entre -fe/2 et
fe/2 retrouver la frquence d'chantillonnage la longueur des
filtres, les frquences de coupure leurs gains statiques ( frquence
nulle) et les rponses impulsionnelles h1 et h2 de ces filtres
Page 4
S.S.I.I.- sance n10 : un moyen de compresser le signal audio
Page 4 On filtre le signal e avec h1 et h2 on obtient deux signaux,
s1 et s2 dont voici les chronogrammes s1, c'est e filtr par h1 et
s2, e filtr par h2 et voici les spectres de e, s1 et s2
Page 5
S.S.I.I.- sance n10 : un moyen de compresser le signal audio
Page 5 on peut sous-chantillonner s1 et aussi s2 dans un rapport 2,
pourquoi ? On obtient deux signaux nots sd1 et sd2
Page 6
S.S.I.I.- sance n10 : un moyen de compresser le signal audio
Page 6 On compare sd1 et sd2 en calculant les nergies de ces deux
signaux : Matlab trouve que l'nergie de sd1 vaut 25.5, et que celle
de sd2 vaut 1.0 prdire le taux de compression si on nglige sd2 on
conserve sd1 et sd2, pour voir si on sait dcompresser les deux
signaux, quel est le taux de compression prvisible ?
Page 7
S.S.I.I.- sance n10 : un moyen de compresser le signal audio
Page 7 Pour dcompresser, on sur-chantillonne en ajoutant des
chantillons nuls : comment en tire t'on les signaux sse1 et sse2
(utiliser le zoom sur le chronogramme de sse2) ? quel est l'effet
sur la frquence d'chantillonnage ? comment retrouver les spectres
de s1 et de s2 ?
Page 8
S.S.I.I.- sance n10 : un moyen de compresser le signal audio
Page 8 pour terminer, il faut appliquer des filtres interpolateurs
pour rcuprer s1 et s2: On en tire les signaux sint1 et sint2, par
filtrage : comparer ces deux filtres ci-dessous avec h1 et h2
pourquoi peut on affirmer qu'on rcupre s1 et s2 ?
Page 9
S.S.I.I.- sance n10 : un moyen de compresser le signal audio
Page 9 et voici le signal reconstruit srec, ici avec un taux de
compression de un puis de deux
Page 10
S.S.I.I.- sance n10 : un moyen de compresser le signal audio
Page 10 Do la structure du CODEC : Pour valuer l'importance des
signaux filtrs dans le signal compresser, on utilise l'nergie
dfinie par : Complter le diagramme ci-dessus : identifier les tages
de la structure : placer les signaux et variables : donner un
principe pour le bloc 'conserver K signaux Donner le taux de
compression donner le taux de compression maximum possible indiquer
comment raliser les filtres interpolateurs gi : banc sous-ch
compressionsur-ch. interpolation synthse s s(1,: ) s(2,: ) sd(1,: )
sse(1,: ) sint(1,: ) srec sint(M,: ) M/K, soit M gi=M*hi Ngliger
les signaux filtrs dont lnergie est infrieure un seuil h1h1 h2h2
hMhM g1g1 g2g2 gMgM conserver K signaux filtrs sur M