180 likes | 442 Views
PRINCIPE SIMPLIFIE DE LA COMPRESSION MP3. J.P. Stromboni, J. Le Roux, Polytech’Nice. 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é :
E N D
PRINCIPE SIMPLIFIE DE LA COMPRESSION MP3 J.P. Stromboni, J. Le Roux, Polytech’Nice 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 1
temps harmonique 9 fondamental amplitude (dB) Spectre il n’est pas nécessaire de coder les composantes (ici les harmoniques) de faible amplitude dont la perception est 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 fréquence H9 fond. temps Spectrogramme 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 ainsi que l’interprétation en fréquence du sous échantillonnage ANALYSE 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 COMPRESSION reconstituer le signal par interpolation et addition de ces composantes ainsi codées SYNTHESE 3
UTILISATION D’UN BANC DE FILTRES EN COMPRESSION DE SON ANALYSE SYNTHESE SOUS ECHANTILLONNAGE INTERCALAGE DE ZEROS FILTRAGE SOMMATION FILTRAGE réponse impulsionnelle b0(t) y0(t) b0(t) y0(t) B0(f) Y0 (f) B0(f) Y0 (f) réponse en fréquence y(t) x(t) COMPARAISON DES ENERGIES X(f) Y(f) b8(t) y8(t) b8(t) y8(t) B8(f) Y8 (f) B8(f) Y8 (f) 4
ANALYSE SYNTHESE SOUS ECHANTILLONNAGE INTERCALAGE DE ZEROS FILTRAGE SOMMATION FILTRAGE réponse impulsionnelle b0(t) y0(t) b0(t) y0(t) B0(f) Y0 (f) B0(f) Y0 (f) réponse en fréquence 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 le filtrage appliqué au signal sous échantillonné dans lequel on intercale des zéros redonne le signal filtré on peut sous échantillonner les différents signaux dans un rapport huit car leur 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 au final est identique au signal initial (si les filtres B(f) sont correctement choisis) 5
OPERATION DE BASE / LE FILTRAGE NUMERIQUE ENTREE SORTIE SIGNAL FILTRE FILTRE NUMERIQUE FILTRAGE 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 6
CHACUN DES FILTRES SELECTIONNE LE SIGNAL DANS UNE BANDE DE FREQUENCE réponse en fréquence du quatrième filtre (autour de 96/512 fech) fréquence 1/2 fech (symétrie) = fech (p. ex. 44100 Hz) NOTEZ LA SYMETRIE PAR RAPPORT A LA MOITIE DE LA FREQUENCE D’ECHANTILLONNAGE 7
réponse en fréquence du premier filtre (passe bas) fréquence = fech réponse impulsionnelle du premier filtre (passe bas) temps 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 8
On passe d’un filtre à l’autre par translation en fréquence ce qui se traduit dans le domaine temporel par une modulation réponse impulsionnelle du quatrième filtre filtre (autour de 96/512 fech) temps t=no d’éch. réponse en fréquence du quatrième filtre (autour de 96/512 fech) fréquence = fech 9
Forme Réelle des Filtres MP3 Réponse impulsionnelle des filtres (sans la modulation) Temps(échantillons) Réponse en fréquence du filtre (la modulation se traduit par une translation en fréquence pour chacun des filtres) Fréquence(kHz) (zoom: la bande de fréquence s’étend jusqu’à 22050 Hz, il y a 32 filtres déduits par translation de celui-là) 10
OPERATION COMPLEMENTAIRE : LE SOUS ECHANTILLONNAGE quand la bande de fréquence est limitée on peut sous échantillonner le signal sans 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 SOUS ECHANTILLONNAGE Temps(échantillons) INSERSION DE ZEROS ENTRE LES ECHANTILLONS Temps(échantillons) 11
signaux temporel original sous échantillonné avec des zéros intercalés Temps(échantillons) fréquence spectre du signal original du signal sous échantillonné et des zéros intercalés entre 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 12
signal original signal sous échantillonné signal avec zéros intercalés temps spectre du signal original spectre du signal avec zéros intercalés fréquence le filtrage permet de retrouver la composante dans la bande de fréquence et élimine les autres 13
B0 (f) + B1 (f) + ...+ B8 (f) = 1 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) ½ freq. ech (symétrie) fréquence redonne le signal original numero dufiltre y0 (t) + y1 (t) + ...+y8 (t) = x(t) numero dufiltre amplitude 012345 6 787 6 543210 fréquence freq. ech ½ freq. ech (symétrie) 0 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 14
la compression s’obtient en analysant l’énergie dans les différentes bandes de fréquences pendant une durée donnée T (quelques centièmes de secondes) bande de fréquence hautes fréquences basses 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 voisin l’oreille ne l’entend pas : on peut ne pas transmettre le signal correspondant ou ne le coder que sur un nombre réduit de bits 15
si dans deux bandes de fréquence voisines, l’un des signaux est relativement plus faible on mesure son amplitude maximum a sur une durée de quelques millisecondes et on se contente de 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 codage plus précis a codage sur un nombre réduit de bits dans l’intervalle (-a, a) -a Temps(échantillons) fréquence 16
Codage d'un signal sur un nombre réduit de bit - 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). 17
signal codé sur 7 bits (dont 5 « utiles ») résultat du codage sur 3 bits du signal 18