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

Transcript of S.S.I.I.- séance n°10 : Un moyen de compresser le signal audio Page 1 Un moyen de compresser le...

  • Page 1
  • 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
  • Page 11