Codage MPEG-Audio Gaël RICHARD, Yves GRENIER ENST (Télécom Paris) Master IAD, module PS Parole, Multimedia et Sons. mars 2005 1
Plan Introduction MPEG - 1 MPEG 2 MPEG 4 Conclusion 2
INTRODUCTION 3
Compression Techniques permettant la réduction des coûts de transmission ou de stockage des signaux numériques par exploitation des caractéristiques statistiques des signaux Par exploitation des phénomènes de masquage des systèmes perceptuels humains. Éventuellement par exploitation d un modèle de production (ex. codage de la parole) 4
Compression = compromis Qualité Débit Complexité 5
Système de compression Filtre passe bas + échantillonneurs Codeur Canal Filtre de reconstruction Décodeur 6
Débits Le débit d un codeur est: Débit=F ech N Q N canaux N Q t 1/Fe N Q t N canaux 1/Fe N Q t 1/Fe 7
Quelques exemples de débits Production (Studio): Diffusion: F ech = 48 khz ; N Q = 16 à 24 bits ; Mono/Stéréo/ Débit = 768 kbit/s à 2,3 Mbit/s F ech = 32 khz ; N Q = 14 à 16 bits ; Mono/Stéréo Débit = 448 kbit/s à 1 Mbit/s Téléphone (Studio): F ech = 8 khz ; N Q = 12 bits ; Mono Débit = 96 kbit/s Compact Disc: F ech = 44.1 khz ; N Q = 16 bits ; Stéréo Débit = 1.4 Mbit/s 8
Quelques exemples de codeurs Codeur ITU-G711 (codeur de parole) Débit 64 kbit/s (compression 1:1,5) Codeur ITU G722 (codeur large bande [0 8 khz]) Débit 64 kbit/s (compression 1:3) Codeur ATRAC (mini disk, Sony), F ech = 44.1 khz Débit 146 kbit/s par canal (compression 1:5) Codeur MPEG I (1992), F ech = 32, 44.1, 48 khz Débit 32 à 192 kbit/s par canal (compression 1:4 à 1:14) Codeur Dolby AC3 (1993), F ech = 32, 44.1, 48 khz Débit 32 à 128 kbit/s par canal (compression 1:6 à 1:14) Codeur MPEG IV (1998): une famille de codeurs Débit de 2 à 64 kbit/s par canal (compression 1:12 à 1:48) 9
Codage perceptuel But: diminuer le nombre de bits de quantification en rendant l augmentation de bruit de quantification inaudible Principe : Exploiter les propriétés de l audition (en particulier les effets de masque) 10
Notions de perception L'oreille externe (E), moyenne (M) et interne (I) chez l'homme (E) (M) (I) 11
Notions de perception Fonctionnement de l oreille moyenne Son aigu Son grave 12
Notions de perception Distribution des fréquences dans la cochlée 13
Psychoacoustique Seuil d audibilité Diagramme de Fletcher 14
Bandes critiques Caractérisent les bandes passantes des «filtres cochléaires» et représentent ainsi les régions où l oreille est capable d'effectuer une intégration fréquentielle (1 bande critique = 1 bark) A A Fréquences Fréquences fc Bark fc 15
Bandes critiques juxtaposées Barks Fréq. centr. [Hz] Larg. bande [Hz] Fréq. super. [Hz] 1 50-100 100 2 150 100 200 3 250 100 300 4 350 100 400 5 450 110 510 6 570 120 630 7 700 140 770 8 840 150 920 9 1000 160 1080 10 1170 190 1270 11 1370 210 1480 12 1600 240 1720 13 1850 280 2000 14 2150 320 2320 15 2500 380 2700 16 2900 450 3150 17 3400 550 3700 18 4000 700 4400 19 4800 900 5300 20 5800 1100 6400 21 7000 1300 7700 22 8500 1800 9500 23 10500 2500 12000 24 14000 4000 16000 16
0H Banc de filtres L oreille se comporte comme un banc de filtres répartis sur une échelle Bark H1 H2 H3 H4 H5 H6 H7 H8 H9 khz 17
Masquage fréquentiel «Attention, un son peut en cacher un autre.» Le seuil d audibilité est modifié en présence d un son masquant db Sons masquants Freq. (khz) 18
Masquage temporel Prémasquage Simultané Post- masquage Son masquant ms -50 0 100 200 0 100 200 19
Modèle perceptuel Masqueur tonal Masqueur de bruit db Hz 5 000 10 000 20
Les codeurs Audio ISO-MPEG 1992: ISO/IEC 11172-3 MPEG 1 1995: ISO/IEC 13818-3 MPEG-2 (BC/LSF) 1997: ISO/IEC 13818-7 MPEG -2 AAC 1998: ISO/IEC 14496-3 MPEG-4 21
ISO/IEC 11172-3 MPEG 1 22
MPEG 1 Débit: 32 kbit/s 448 kbit/s Codeur Canal Trame MPEG Normalisé Décodeur Audio Audio PCM F ech = 32, 44.1, 48 khz Mono, Double Mono, Stéréo, joint stéréo Codec 23
MPEG I: Les couches («layers») Définissent un degré de complexité du codeur et du décodeur visent des applications spécifiques Couche 1 Couche 2 Couche 3 Mode: mono, double mono, stéréo, joint stéréo (intensité) Débit «transparent» 192 kbit/s (mono) 384 kbit/s (stéréo) Complexité codeur : + décodeur : - délai: - Application multimedia, DCC Mode: mono, double mono, stéréo, joint stéréo (intensité) Débit «transparent» 128 kbit/s (mono) 256 kbit/s (stéréo) Complexité codeur : + décodeur : - délai : + Application Broadcast (satellite) Mode: mono, double mono, stéréo, joint stéréo (intensité) Débit «transparent» 64 kbit/s (mono) 128 kbit/s (stéréo) Complexité codeur : + ++ décodeur : + délai: + Application multimedia (.mp3) 24
Schéma codeurs couches I/II S(n) Banc de filtres 32 sous-bandes 32 32 Quantification / facteurs d échelles FFT Couche 1: 512 points Couche 2: 1024 points Modèle psychoacoustique Allocation dynamique des bits M U X Trame MPEG audio 25
Schéma décodeurs couches I/II Trame MPEG audio D E M U X 32 Quantification / facteurs d échelles 32 32 Filtre de synthèse 32 sous-bandes Audio PCM Allocation binaire 26
Trame MPEG Audio Couche 1/2 Frame Header Sync., Infos System et CRC Informations annexes Échantillons audio Champs auxilliaires Fenêtre audio de longueur variable P P P P Mise en paquets (188 byte packet) Layer 1: info principale = 32 x 12 échantillons = 384 PCM échantillons = 8 ms à 48 khz Layer 2: info principale = 32 x 36 échantillons = 1152 PCM échantillons = 24 ms à 48 khz 27
Codeur MPEG1- couche 3: «MP3» S(n) Banc de filtres 32 sous-bandes FFT 1024 points 32 32 MDCT Modèle psychoacoustique Fenêtrage dynamique Quantification / facteurs d échelles Allocation dynamique Code de Huffman M U X Trame MPEG audio 28
Décodeur MPEG1- couche 3: «MP3» Trame MPEG audio D E M U X 32 Dec. Huffman Allocation binaire Gestion des fenêtres Quantification facteurs d échelles 32 32 IMDCT Filtre de synthèse 32 sous-bandes Audio PCM 29
MPEG 2 ISO/IEC 13818-3 MPEG 2 (BC/LSF) ISO/IEC 13818-7 MPEG 2 AAC 30
MPEG 2 - LSF Débit: 32 kbit/s 448 kbit/s (multicanaux) 1130 kbit/s Codeur Canal Trame MPEG Normalisé Décodeur Audio Audio PCM F ech = 32, 44.1, 48 khz F ech (LSF) = 16, 22.05, 24 khz Mono, Double Mono, Stéréo Multicanaux (5+1) Codec 31
MPEG 2 - LSF : intérêt LSF = Lower Sampling Frequencies Audio PCM 48 khz, 16 bits 768 kbits/s Compression: 12:1 Codeur Canal 64 kbit/s Décodeur Audio Audio PCM 24 khz, 16 bits 384 kbits/s Compression: 6:1 Codeur Canal 64 kbit/s Décodeur Audio 32
MPEG-2 LSF Durée des trames audio Couche Fréquence d échantillonage 16 22,05 24 1 24 ms 17,4 ms 16 ms 2 72 ms 52,24ms 48ms 3 36 ms 26,12 ms 24ms 33
MPEG 2 - Multicanaux Une configuration possible: programme multicanaux 3/2: Screen Left Center Right Surround Left Surround Right 34
MPEG 2 - Multicanaux Un grand nombre de combinaisons possibles: 3/2 LCR / LS RS : un programme multicanaux 3/0 + 2/0 : Un programme LCR + un programme stéréo 3/1 : Un programme multicanaux LCR/S 2/2 : un programme multicanaux L R /LS RS 2/0 + 2/0 Deux programmes stéréos 3/0 Un programme 3 canaux sans ambiance 2/1 Un programme L R et une ambiance mono 2/0 double mono ou stéréo (MPEG 1) 1/0 mono (MPEG 1) 35
MPEG 2 - Multicanaux Compatibilité avec MPEG 1: «Downmix» stéréo des 5 canaux L R C Ls Rs M A T R I C A G E T0=L0 T1=L1 T2 T3 T4 E N C O D A G E Trame MPEG II compatible MPEG 1 36
Trame compatible MPEG 2/1 Fenêtre audio MPEG 1 MPEG 1 Header MPEG 1 signal audio Champs de données auxilliaires (MPEG1) Fenêtre audio MPEG 2, «backward compatible» MPEG 1 Header MPEG 1 signal audio MPEG 2 Header MPEG 2 signal audio Champs de données auxilliaires (MPEG2) 37
MPEG 2 - AAC Débit: 8 kbit/s 576 kbit/s par canal Codeur Canal Trame MPEG Normalisé Décodeur Audio PCM F ech = 9 96 khz Mono, Double Mono, Stéréo Multicanaux : 1 à 48 canaux Qualité transparente à 320 kbit/s Pour 5 canaux!! Codec 38
MPEG 2 -AAC Objectif: Atteindre des débits plus faibles (< 384 kbit/s) pour le codage de 5 canaux audio La compatibilité avec MPEG-1 pas nécessaire Offrir un ensemble de profils pour répondre à des applications multiples 39
MPEG 2 AAC : Les profiles Main profile Procure la meilleure qualité audio à un débit donné Utilise tous les modules de AAC (sauf le contrôle de gain) Complexité et mémoire importantes Low Complexity (LC) profile N utilise pas les outils de prédiction et de pré-processing Utilise un module TNS («Temporal Noise Shaping») réduit Complexité et mémoire considérablement réduites Scalable Sampling Rate (SSR) profile Utilise l outil de contrôle de gain Propose un codage hiérarchique fréquentiel Complexité très réduite 40
MPEG 2 - AAC Codage S(n) Prétraitement Banc de Filtres MDCT Temporal Noise Shaping (TNS) Couplage/ Intensité Prédiction adaptative Modèle psychoacoustique Control itératif M/S Stéréo Quantification / Facteur d échelle Codage Huffman MUX 41
MPEG 2 - AAC performances Qualité transparente à 320 kbit/s pour 5 canaux Comparaison à d autres codeurs: AAC 96 kbit/s comparable à AC 3 (dolby) à 160 kbit/s MPEG 1 - Layer II à 192 kbit/s MPEG 1 - Layer III à 128 kbit/s 42
ISO/IEC 14496-3 MPEG-4 43
MPEG-4 Audio MPEG 4 Audio est une famille d outils pour: le codage d «objets audio» la compression des signaux naturels (audio et parole) la synthèse de sons à partir d une représentation structurée (Text-To-Speech interface, SAOL) 44
MPEG-4 Structured Audio SASL (partition) Tempo, battements Instruments, exemple: 0.25 tone 4.0 4.50 end SAOL (langage) Permet de définir (programmer) les instruments ivar: échelle de tempo des notes (def: 1s) ksig: échelle de temps des attaques (def: 100 Hz) asig: échelle de temps des échantillons (def: 32 khz) 45
MPEG-4 SAOL, exemple // instr tone // plays a 1kHz sine wave // instr tone () { // variable declaration asig a, x, y, init; } // computing starts here a = 0.196307; if (init == 0) { init = 1; x = 0.5; } x = x - a*y; y = y + a*x; output(y); 46
MPEG-4 Audio MPEG 4 Audio pour la compression: Codage de parole très bas débits: 2 kbit/s à 4 kbit/s (HVXC) codage CELP de 4 à 24 kbit/s (bande étroite / large bande) Codage audio de 6 kbit/s (HILN) à 64 kbit/s (AAC) par canal inclut AAC échelonnabilité des codeurs (débit et fréquences) Faible retard (MPEG-4, version 2) 47
MPEG 4 - Audio 48
MPEG-4 Profils Speech codeur parole bas débits et TTS Synthesis synthèse par tables d ondes synthèse à partir de scores TTS Scalable codeurs de parole codeurs audio tous les codeurs en configuration échelonnable Main tous les outils 49
Conclusion Les codeurs audio «MPEG» couvrent un très grand nombre d applications Les grandes réussites: le codeur «MP3» (MPEG 1, layer III) le codeur AAC (qualité transparente à 64 kbit/s par canal) MPEG 4? 50