Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parEnéas Couderc Modifié depuis plus de 10 années
1
S.S.I.I., 2013-14, cours n°8 : Compresser avec un banc de filtres Page 1 Compresser avec un banc de filtres Le contenu de ce cours : T.D. n° 8 : simulation de compression avec Scilab Jean-Paul Stromboni, Polytech'Nice Sophia, S.I. 3 ème année cours n°8, décembre 2013, durée : 50mn, vidéoprojecteur Dans cette séance, on réunit les notions présentées lors des séances précédentes pour compresser un signal audio numérique : Soit le signal x de taille N échantillons codés sur B bits chacun Le spectre de x est analysé par un banc de M filtres, cest à dire décomposé en M signaux x1, x2, … xM issus chacun dun filtre, soient N*M échantillons, On sait que x1+x2+… xM= x et On peut sous échantillonner es signaux x1, x2, … xM dans un rapport M puisque leurs spectres sont tous de largeur fe/M, (condition de Shannon), on a maintenant M*N/M échantillons Pour atteindre un taux de compression supérieur à un, il faut dégrader le signal x : soit en négligeant les échantillons des signaux de plus faible énergie soit en réduisant le nombre de bits utilisés pour le codage binaire des échantillons
2
S.S.I.I., 2013-14, cours n°8Compresser avec un banc de filtres S.S.I.I., 2013-14, cours n°8 : Compresser avec un banc de filtres Page 2 f Découper le spectre X ci-dessous (à compléter) en quatre bandes de fréquence de largeurs égales fe/4 f 0fe R R/2 R/4 R/8 compléter f Découper X en quatre bandes égales, B1, B2, B3 et B4 ff B1 B2 B3 B4
3
S.S.I.I., 2013-14, cours n°8Compresser avec un banc de filtres S.S.I.I., 2013-14, cours n°8 : Compresser avec un banc de filtres Page 3 Vérifier quon peut compresser x3 comme les autres signaux issus du banc dans un facteur 4 f 0fe R R/2 R/4 R/8 R/4 f fe R R/2 R/8 R/4 f fe R R/2 R/8 R/4 f fe R R/2 R/8 R/4 f fe R R/2 R/8 En perdant 10% de lénergie du signal x, on obtient C=4
4
S.S.I.I., 2013-14, cours n°8Compresser avec un banc de filtres S.S.I.I., 2013-14, cours n°8 : Compresser avec un banc de filtres Page 4 Structure de principe dun CODEC* utilisant un banc de filtres *CODEC : coder decoder, cf. vocoder, Chicago, 1939 La structure du CODEC inclut cinq étages : 1.Banc de filtres de réponses fréquentielles B1,B2,… BM et de longueur R avec : (B1+B2+… BM)*X=X N*M échantillons, C=1/M 2.Sous-échantillonnage de rapport M, autorisé parce que la largeur de spectre des signaux x1, x2, … xM vaut fe/M (et donc la condition de Shannon générale est vérifiée) M*N/M échantillons, C=1 3.Etage de compression: objectif, atteindre C > 1 4.Sur-échantillonnage (intercale M-1 échantillons nuls) 5.Banc de filtres interpolateurs, obtenu en multipliant par M les réponses fréquentielles des filtres B1, B2, … BM 6.Synthèse additive, le signal décompressé est noté xrec Algorithme compression x x1x1 x2x2 xd 1 xse 1 x rec B1B1 B2B2 … BMBM … Étage de compression xMxM xd 2 xd M banc de M filtres xse 2 xse M banc de M filtres xMxM Étage sous-é- chantillonneur Étage sur-é- chantillonneur
5
S.S.I.I., 2013-14, cours n°8Compresser avec un banc de filtres S.S.I.I., 2013-14, cours n°8 : Compresser avec un banc de filtres Deux principes pour létage de compression 1.Un premier principe de compression consiste à comparer les énergies des signaux x1, x2, … xM issus du banc de filtre : Si on conserve K signaux sur M, ceux dont les énergies sont les plus importantes, le taux de compression atteint est : C= M/K Si on conserve suffisamment de signaux pour reconstituer 80% de lénergie du signal x, soit L signaux en tout, le taux de compression vaut C= M/L 2.Un second principe de compression consiste à réduire le nombre de bits utilisés pour coder les signaux sous-échantillonnés x1d, x2d, … x codé sur B bits, on code x1 sur b1 bits, x2 sur b2 bits … xM sur bM bits Et le taux de compression est : C= N*B/(b1+b2+…bM)*N/M C= B*M/(b1+b2+…bM)
6
S.S.I.I., 2013-14, cours n°8Compresser avec un banc de filtres S.S.I.I., 2013-14, cours n°8 : Compresser avec un banc de filtres Quantification sur B bits dun signal discret signal discret : x=[x(nTe)=x n, n=0.. N-1] x n codé sur B bits, intervalle -1=< x n < 1 le pas de quantification Q= 2/2 B taille de x : N*B en bits Signal binaire : xbin n = partieEntière (x n /Q) -2 B-1 =< xbin n < 2 B-1, par exemple B=8, -128=<xbin n <128 Signal quantifié (ou numérique) xquant n =xbin n *Q, avec -1 =< xquant n < 1 Erreur de quantification : en = x n – xquant n Rapport signal sur bruit ou SNR (en dB): SNR= 20*log 10 (écartType(x)/écartType(e)) (ex. SNR =72dB sur ligne téléphonique gd public) Page 6
7
S.S.I.I., 2013-14, cours n°8Compresser avec un banc de filtres S.S.I.I., 2013-14, cours n°8 : Compresser avec un banc de filtres Pour compresser sans modifier le pas de quantifica- tion Q, on supprime les bits inutilisés, sil en existe Plus lamplitude du signal est faible, et plus il risque dy avoir des bits inutilisés. Premier cas, le signal couvre tout lintervalle allant de -1 à 1, avec 2 B valeurs différentes espacées de Q=2/2 B, B bits sont utilisés. Second cas, si lamplitude du signal reste dans lintervalle allant de -0.5 à 0.5, il suffit de 2 B-1 valeurs espacées du même pas Q= 2/2 B, donc de B-1 bits pour coder x, et un bit est inutile. Cas général, soit x max =max(abs(x)), cest-à- dire le maximum en valeur absolue des échantillons x n, n=0.. N-1 : Sil existe m tel que 2 -m-1 < x max < 2 -m, alors m bits sont inutiles cest : – (m+1)*ln(2)< ln(x max )< -m*ln(2) soit : m < - ln(x max ) / ln(2) < m+1, doù : m= partieEntière(-log 2 (x max )) Bits utiles : u = B-m Taux de compression : C=B/u Page 7
8
S.S.I.I., 2013-14, cours n°8Compresser avec un banc de filtres S.S.I.I., 2013-14, cours n°8 : Compresser avec un banc de filtres Page 8 Trouver les bits inutilisés dans les signaux suivants issus dun banc de quatre filtres Y a til des bits inutiles dans les signaux suivants codés sur 8 bits issus dun banc de filtres ? Quel est le taux de compression qui en résulte ? -0.8<s1<0.6 xmax= m= bits ? u = ? -0.25<s2<0.2 xmax= m = bits ? u= ? -0.10<s2<0.10 xmax= m= bits ? u= ? -0.03<s2<0.04 xmax= m= bits ? u= ? C= ?
9
S.S.I.I., 2013-14, cours n°8Compresser avec un banc de filtres S.S.I.I., 2013-14, cours n°8 : Compresser avec un banc de filtres Pour réduire le nombre de bits au-delà de u, il faut augmenter le pas et lerreur de quantification Page 9 Le signal étant codé sur B bits dont m sont inutilisés, il est en définitive codé sur u=B-m bits, et prend 2 B-m valeurs différentes espacées de Q=2/2 B. Si on réduit encore le nombre de bits utilisés à b < B-m, on dispose de 2 b valeurs différentes pour coder lintervalle allant de -2 -m à 2 -m. Il faut donc augmenter le pas de quantification qui devient : Qprime=2*2 -m /2 b =2/2 b+m Si b Q Lerreur de quantification augmente, le signal compressé est modifié Le taux de compression est C= B/b
10
S.S.I.I., 2013-14, cours n°8Compresser avec un banc de filtres S.S.I.I., 2013-14, cours n°8 : Compresser avec un banc de filtres Caractéristiques de quantification
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.