1
Codage MPEG-Audio
Gaël RICHARD, Yves GRENIERENST (Télécom Paris)
Master IAD, module PS
Parole, Multimedia et Sons.
mars 2005
Y.Grenier, G. Richard, Master IAD, mars 2005 2
Plan
• Introduction
• MPEG - 1
• MPEG – 2
• MPEG – 4
• Conclusion
Y.Grenier, G. Richard, Master IAD, mars 2005 3
INTRODUCTION
Y.Grenier, G. Richard, Master IAD, mars 2005 4
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)
Y.Grenier, G. Richard, Master IAD, mars 2005 5
Compression = compromis
Qualité
Débit Complexité
Y.Grenier, G. Richard, Master IAD, mars 2005 6
Système de compression
Filtre passe bas+ échantillonneurs
Codeur
Canal
DécodeurFiltre dereconstruction
Y.Grenier, G. Richard, Master IAD, mars 2005 7
Débits
• Le débit d’un codeur est:
Débit=F ech×N Q×N canaux
t
1/Fe
NQ
t
1/Fe
NQ
t
1/Fe
NQ
N canaux
Y.Grenier, G. Richard, Master IAD, mars 2005 8
Quelques exemples de débits
– Production (Studio):Fech = 48 kHz ; NQ = 16 à 24 bits ; Mono/Stéréo/…
Débit = 768 kbit/s à 2,3 Mbit/s
– Diffusion:Fech = 32 kHz ; NQ = 14 à 16 bits ; Mono/Stéréo
Débit = 448 kbit/s à 1 Mbit/s
– Téléphone (Studio):Fech = 8 kHz ; NQ = 12 bits ; Mono
Débit = 96 kbit/s
– Compact Disc:Fech = 44.1 kHz ; NQ = 16 bits ; Stéréo
Débit = 1.4 Mbit/s
Y.Grenier, G. Richard, Master IAD, mars 2005 9
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), Fech = 44.1 kHz– Débit 146 kbit/s par canal (compression 1:5)
– Codeur MPEG I (1992), Fech = 32, 44.1, 48 kHz– Débit 32 à 192 kbit/s par canal (compression 1:4 à 1:14)
– Codeur Dolby AC3 (1993), Fech = 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)
Y.Grenier, G. Richard, Master IAD, mars 2005 10
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)
Y.Grenier, G. Richard, Master IAD, mars 2005 11
Notions de perception
(E) (I)(M)
L'oreille externe (E), moyenne (M) et interne (I) chez l'homme
Y.Grenier, G. Richard, Master IAD, mars 2005 12
Notions de perception
• Fonctionnement de l’oreille moyenne
Son aigu Son grave
Y.Grenier, G. Richard, Master IAD, mars 2005 13
Notions de perception
Distribution des fréquences dans lacochlée
Y.Grenier, G. Richard, Master IAD, mars 2005 14
Psychoacoustique
• Seuil d ’audibilité
Diagramme de Fletcher
Y.Grenier, G. Richard, Master IAD, mars 2005 15
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)
fc fcBark
Fréquences
|A| |A|
Fréquences
Y.Grenier, G. Richard, Master IAD, mars 2005 16
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
Y.Grenier, G. Richard, Master IAD, mars 2005 17
Banc de filtres
• L ’oreille se comporte comme un banc de filtres répartis sur une échelle Bark
0H
kHz
H1 H2 H3 H4 H5 H6 H7 H8 H9
Y.Grenier, G. Richard, Master IAD, mars 2005 18
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
Freq. (kHz)
Sons masquants
Y.Grenier, G. Richard, Master IAD, mars 2005 19
Masquage temporel
-50 0 100 200 0 100 200
Simultané
Post- masquage
Pré-masquage
ms
Son masquant
Y.Grenier, G. Richard, Master IAD, mars 2005 20
Modèle perceptuel
dB
Hz
10 0005 000
Masqueur tonalMasqueur de bruit
Y.Grenier, G. Richard, Master IAD, mars 2005 21
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
Y.Grenier, G. Richard, Master IAD, mars 2005 22
ISO/IEC 11172-3 MPEG 1
Y.Grenier, G. Richard, Master IAD, mars 2005 23
MPEG 1
CodeurCanal
Décodeur
Trame MPEGNormalisé
Audio
Codec
Audio PCMFech = 32, 44.1, 48 kHzMono, Double Mono, Stéréo, joint stéréo
Débit:32 kbit/s ➡ 448 kbit/s
Y.Grenier, G. Richard, Master IAD, mars 2005 24
MPEG I: Les couches (« layers »)
• Définissent un degré de complexité du codeur et du décodeur• visent des applications spécifiques
Couche 1
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
Couche 2
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)
Couche 3
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)
Y.Grenier, G. Richard, Master IAD, mars 2005 25
Schéma codeurs couches I/II
FFTCouche 1: 512 points
Couche 2: 1024 points
Banc de filtres32 sous-bandes 32
32
Modèle psychoacoustique
Allocation dynamique des bits
Quantification / facteurs d ’échelles
MUX
Trame MPEGaudio
S(n)
Y.Grenier, G. Richard, Master IAD, mars 2005 26
Schéma décodeurs couches I/II
Filtre de synthèse32 sous-bandes32
32
Allocation binaire
Quantification / facteurs d ’échellesD
EMUX
Trame MPEGaudio
32
Audio PCM
Y.Grenier, G. Richard, Master IAD, mars 2005 27
Trame MPEG Audio Couche 1/2
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
Sync., Infos System
et CRC
Informationsannexes Échantillons audio Champs
auxilliaires
Fenêtre audio de longueur variable
Frame Header
P P P P Mise en paquets (188 byte packet)
Y.Grenier, G. Richard, Master IAD, mars 2005 28
Quantification / facteurs d ’échelles
Allocation dynamique
Codeur MPEG1- couche 3: « MP3 »
FFT1024 points
Banc de filtres32 sous-bandes
3232
Modèle psychoacoustique
MUX
Trame MPEGaudio
S(n)MDCT
Code de Huffman
Fenêtrage dynamique
Y.Grenier, G. Richard, Master IAD, mars 2005 29
Décodeur MPEG1- couche 3: « MP3 »
Filtre de synthèse32 sous-bandes32
32
Allocation binaireGestion des fenêtres
Quantification facteurs
d ’échellesDEMUX
Trame MPEGaudio
32
Audio PCM
IMDCTDec.Huffman
Y.Grenier, G. Richard, Master IAD, mars 2005 30
MPEG 2
ISO/IEC 13818-3 MPEG 2 (BC/LSF) ISO/IEC 13818-7 MPEG 2 AAC
Y.Grenier, G. Richard, Master IAD, mars 2005 31
MPEG 2 - LSF
CodeurCanal
Décodeur
Trame MPEGNormalisé
Audio
Codec
Audio PCMFech = 32, 44.1, 48 kHz
Fech (LSF) = 16, 22.05, 24 kHzMono, Double Mono, StéréoMulticanaux (5+1)
Débit:32 kbit/s ➡ 448 kbit/s
(multicanaux) ➡ 1130 kbit/s
Y.Grenier, G. Richard, Master IAD, mars 2005 32
MPEG 2 - LSF : intérêt
CodeurCanal
Décodeur Audio
LSF = Lower Sampling Frequencies
Audio PCM48 kHz, 16 bits768 kbits/s
Compression: 12:1
CodeurCanal
Décodeur Audio
Audio PCM24 kHz, 16 bits384 kbits/s
Compression: 6:1
64 kbit/s
64 kbit/s
Y.Grenier, G. Richard, Master IAD, mars 2005 33
MPEG-2 LSF
• Durée des trames audioCouche 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
Y.Grenier, G. Richard, Master IAD, mars 2005 34
MPEG 2 - Multicanaux
Une configuration possible: programme multicanaux 3/2:
Screen
RightLeftCenter
Surround Right
Surround Left
Y.Grenier, G. Richard, Master IAD, mars 2005 35
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)
Y.Grenier, G. Richard, Master IAD, mars 2005 36
MPEG 2 - Multicanaux
Compatibilité avec MPEG 1: « Downmix » stéréo des 5 canaux
MATRICAGE
ENCODAGE
L
R
C
Ls
Rs
T0=L0
T1=L1
T2
T3
T4
Trame MPEG II compatible MPEG 1
Y.Grenier, G. Richard, Master IAD, mars 2005 37
Trame compatible MPEG 2/1
Fenêtre audio MPEG 1
MPEG 1
signal audioChamps de données auxilliaires (MPEG1)MPEG 1 Header
Fenêtre audio MPEG 2, « backward compatible »
MPEG 1
signal audioChamps de données auxilliaires (MPEG2)MPEG 1 Header
MPEG 2 signal audio
MPEG 2 Header
Y.Grenier, G. Richard, Master IAD, mars 2005 38
MPEG 2 - AAC
CodeurCanal
Décodeur
Trame MPEGNormalisé
Codec
Audio PCMFech = 9 – 96 kHzMono, Double Mono, StéréoMulticanaux : 1 à 48 canaux
Débit:8 kbit/s ➡ 576 kbit/s par canal
Qualité transparente à 320 kbit/s Pour 5 canaux !!
Y.Grenier, G. Richard, Master IAD, mars 2005 39
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
Y.Grenier, G. Richard, Master IAD, mars 2005 40
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
Y.Grenier, G. Richard, Master IAD, mars 2005 41
MPEG 2 - AAC
Banc de FiltresMDCT
Modèle psychoacoustique
S(n)Prétraitement
Temporal Noise
Shaping(TNS)
Couplage/Intensité
Prédiction adaptative
M/S Stéréo
Codage
Quantification / Facteur d ’échelle
Codage Huffman
Control itératif
MUX
Y.Grenier, G. Richard, Master IAD, mars 2005 42
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
Y.Grenier, G. Richard, Master IAD, mars 2005 43
ISO/IEC 14496-3 MPEG-4
Y.Grenier, G. Richard, Master IAD, mars 2005 44
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)
Y.Grenier, G. Richard, Master IAD, mars 2005 45
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)
Y.Grenier, G. Richard, Master IAD, mars 2005 46
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);}
Y.Grenier, G. Richard, Master IAD, mars 2005 47
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)
Y.Grenier, G. Richard, Master IAD, mars 2005 48
MPEG 4 - Audio
Y.Grenier, G. Richard, Master IAD, mars 2005 49
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
Y.Grenier, G. Richard, Master IAD, mars 2005 50
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 ?