MP3 : MPEG-1 Audio Layer III
Transcription
MP3 : MPEG-1 Audio Layer III
MP3 : MPEG-1 Audio Layer III Felix HAHNLEIN & Auriane REVERDELL Ensimag - Grenoble INP Mars 2016 Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 1 / 31 Table des matières 1 Introduction 2 Encodage Filtre polyphase MDCT Analyse psychoacoustique Allocation de bits 3 Performances 4 Avantages et inconvénients Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 2 / 31 Introduction Introduction Publié officiellement en 1992 par le groupe MPEG (Moving Picture Experts Group) Encodeur perceptuel, exploitation des défauts de l’ouı̈e humaine Bande passante: 20Hz - 20kHz Masquage auditif: simultané et temporel Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 3 / 31 Introduction Masquage auditif Découpage de la bande fréquentielle en bandes critiques Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 4 / 31 Introduction Masquage auditif Masquage simultané Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 5 / 31 Introduction Masquage auditif Masquage temporel Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 6 / 31 Encodage Encodeur perceptuel Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 7 / 31 Encodage Filtre polyphase Filtre Polyphase Le signal PCM est partitionné en : Frames 32 sous-bandes de fréquences égales par frame 36 échantillons par sous bandes Filtre passe bas → enlève les fréquences inaudibles par l’oreille humaine Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 8 / 31 Encodage MDCT Types de fenêtres Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 9 / 31 Encodage MDCT MDCT Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 10 / 31 Encodage MDCT MDCT Fenêtrage → MDCT sur des sous-bandes utilisant un chevauchement temporel de 50% entre des fenêtres adjacentes x1 .. . x18 x19 .. . → MDCT x36 x19 .. . x36 → x37 .. . → MDCT → ··· x54 Demo video Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 11 / 31 Encodage Analyse psychoacoustique Analyse psychoacoustique But: Calculer les rapports SMR(Signal-to-mask ratio) pour toutes les bandes critiques. Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 12 / 31 Encodage Analyse psychoacoustique Calcul des énergies, mesures d’imprévisibilité par bande Energie par Pbhbande z eb(z) = f =bl R 2 (f ) z devient Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 13 / 31 Encodage Analyse psychoacoustique Calcul des énergies, mesures d’imprévisibilité par bande Mésure d’imprévisibilité cw (f ) = G (R(f ), Φ(f )) Ici, les basses fréquences ont une probabilité plus importante d’être des son Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 14 / 31 Encodage Analyse psychoacoustique Calcul de la fonction de propagation Fonction de propagation exprime l’influence d’une bande critique z sur les autres Convolution avec l’énergie et l’imprévisibilité ⇒ pondération de ces fonctions Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 15 / 31 Encodage Analyse psychoacoustique Estimation de l’indice de tonalité L’opposée de l’imprévisibilité par bande Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 16 / 31 Encodage Analyse psychoacoustique Calcul du seuil de masquage Un son a une plus grande aptitude a masquer un bruit qu’un bruit un son. Noise-masking-tone Felix HAHNLEIN & Auriane REVERDELL Tone-masking-noise MP3 : MPEG-1 Audio Layer III 17 / 31 Encodage Analyse psychoacoustique Calcul du seuil de masquage Comment choisir le comportement? On interpole entre les deux comportements extrêmes grâce à notre probabilité d’être un son. SMR(z) = 24Pson (z) + 4(1 − Pson (z)) Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 18 / 31 Encodage Analyse psychoacoustique Entropie perceptuelle Il s’agit d’une borne inférieure du nombre de bits nécessaires pour encoder un échantillon sans introduire une différence perceptuelle par rapport à l’original. PE = − X z∈{bandesCritiques} largeur (z) log( seuilDeMasquage(z) ) energieDeBande(z) A quels moments va-t-elle dépasser un certain seuil? Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 19 / 31 Encodage Analyse psychoacoustique Détection des passages rapides Situation d’un écho, p.ex. déclenché par un triangle Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 20 / 31 Encodage Analyse psychoacoustique Détection des passages rapides Eviter des ”pré-échos”, dus au bruit de quantification Emettre un signal au module MDCT, pour augmenter la résolution fréquentielle. Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 21 / 31 Encodage Allocation de bits Allocation de bits Système de boucles : Distortion control loop : vérifie bruit quantification < seuil de masquage Rate control loop : pas de quantification, tables de Huffman Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 22 / 31 Encodage Allocation de bits Distortion control loop Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 23 / 31 Encodage Allocation de bits Variables de l’éxécution de la boucle extérieures Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 24 / 31 Encodage Allocation de bits Rate control loop : Quantification Quantification non uniforme : ajustement du pas de quantification en fonction des bandes Elévation des valeurs à la puissance 3/4 → petites valeurs quantifiées avec plus de précision Application de la formule de quantification Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 25 / 31 Encodage Allocation de bits Rate control loop : Codage de Huffman Codage de Huffman 32 tables de Huffman Ordonnnancement du block codé par régions → permet de sélectionner la table la plus adaptée (si beaucoup de zeros ou beaucoup de grandes valeurs) Ajustement du pas de quantification pour que la plus grande valeur quantifiée puisse être codée avec le code de Huffman le plus large Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 26 / 31 Encodage Allocation de bits Exemples de découpages en régions Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 27 / 31 Performances Encodage exemplaire L’original: 3.5Mo, 16bit - 44,1kHz Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 28 / 31 Performances Encodage exemplaire Bit-rate: 320kBit/s - 806,7ko Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 28 / 31 Performances Encodage exemplaire Bit-rate: 256kBit/s - 645,3ko Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 28 / 31 Performances Encodage exemplaire Bit-rate: 224kBit/s - 564,7ko Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 28 / 31 Performances Encodage exemplaire Bit-rate: 192kBit/s - 484,0ko Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 28 / 31 Performances Encodage exemplaire Bit-rate: 160kBit/s - 403,3ko Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 28 / 31 Performances Encodage exemplaire Bit-rate: 128kBit/s - 322,7ko Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 28 / 31 Performances Encodage exemplaire Bit-rate: 112kBit/s - 282,3ko Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 28 / 31 Performances Encodage exemplaire Bit-rate: 96kBit/s - 242,0ko Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 28 / 31 Performances Encodage exemplaire Bit-rate: 80kBit/s - 201,7ko Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 28 / 31 Performances Encodage exemplaire Bit-rate: 64kBit/s - 161,3ko Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 28 / 31 Performances Encodage exemplaire Bit-rate: 56kBit/s - 141,0ko Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 28 / 31 Performances Encodage exemplaire Bit-rate: 48kBit/s - 120,8ko Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 28 / 31 Performances Encodage exemplaire Bit-rate: 40kBit/s - 100,7ko Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 28 / 31 Performances Encodage exemplaire Bit-rate: 32kBit/s - 80,6ko Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 28 / 31 Avantages et inconvénients Avantages et inconvénients Avantages Supporté par des nombreux types de périphériques Standard ISO, format libre Décodage rapide et moins complexe que celui de l’AAC Inconvénients Performance moins bonne que celle d’autres formats plus récents Limite de 320kbit/s parfois pas suffisante Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 29 / 31 Conclusion Conclusion La compression MP3 est une compression avec pertes travaille par blocs de données et quantifie le spectre avec une résolution fréquentielle adaptative. Elle cherche à optimiser le pas de quantification en fonction des données afin que la différence perceptuelle par rapport à l’original reste négligeable. Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 30 / 31 Appendix Bibliographie Bibliographie I Jayaraman J.Thiagarajan, Andreas Spanias Analysis of the MPEG-1Layer III (MP3) Algorithm Using MATLAB 2011 Rassol Raissi The Theory Behind Mp3. 2002 Felix HAHNLEIN & Auriane REVERDELL MP3 : MPEG-1 Audio Layer III 31 / 31