Audio compression - Novembre 2005
Introduction aux techniques audio et vidéo
Compression des signaux audio
Embrechts J.J.Université de Liège – Dépt. E.E.I. - INTELSIG group
Audio compression - Novembre 2005
. La compression audio : pourquoi ?
. Les systèmes de compression audio les plus répandus
. Les principes de la compression audio
. Les systèmes de compression MPEG : vers le MP3
. Evaluation des systèmes de compression audio
Audio compression - Novembre 2005
La compression audio : pourquoi ?
• Le stockage du code audionumérique sur des supports à densité limitée (disque optique ou bande magnétique) limite la durée d’enregistrement.
• De même, la transmission du code audio via des canaux à bande passante limitée.
• L’intérêt pour cette dernière application tend à devenir prépondérant (ex : transfert via internet ou réseau de téléphonie mobile).
Audio compression - Novembre 2005
La compression audio : formats ?
• MPEG (-1) audio (1992) : layers I, II, III (MP3), prévus au départ pour la transmission de l’audio (et de la vidéo) : DAB, DVB
• MPEG (-2) audio : BC (backwards compatible) et AAC (advanced audio coding,1997, non compatible avec MP3) : multichannel audio, pour le DVD. AAC est aussi le noyau du code audio pour MPEG-4.
• (Dolby) AC-3, prévu initialement pour la télévision numérique aux USA (standard ATSC), mais intégré également dans le standard MPEG-2 (DVD).
• Ogg Vorbis, wma, MP3PRO (2001),…• Codes propriétaires : MUSICAM et ASPEC (qui ont influencé
MPEG-1), ATRAC (mini-disc), PASC (DCC), …
Audio compression - Novembre 2005
Principes de la compression audio (1)
Lossless/lossy coding
• Le codage sans perte permet de retrouver, après décodage, les échantillons audio originaux.
• Exemple : le code de Huffman
• Ils peuvent rarement atteindre des taux de compression supérieurs à 2:1
Audio compression - Novembre 2005
Principes de la compression audio (2)
Lossless/lossy coding
• Le codage avec perte enlève du flux audio une partie de l’info qui ne pourra être retrouvée après décodage.
• L’information « perdue » ne devrait pas être significative (irrelevant info), elle devrait être « inaudible ».
• Ces codes font appel à un modèle psychoacoustique(perceptive codes).
• Ils peuvent atteindre des taux de compression > 10:1
Audio compression - Novembre 2005
Principes de la compression audio (3)Modèle psychoacoustique : le masquage
• Un son d’intensité inférieure au seuil d’audibilité est inaudible : c’est de
l’information NON significative
02040
6080
dB
Hz100 1000 10000
Inaudible
Audible
Audio compression - Novembre 2005
Principes de la compression audio (4)Modèle psychoacoustique : le masquage
• Un son pur relève le seuil d’audibilité au voisinage de sa fréquence : il masque les sons d’intensité plus
faibles, situés à des fréquences proches de la sienne.
02040
6080
dB
Hz100 1000 10000
Inaudible
Inaudible
Audio compression - Novembre 2005
Principes de la compression audio (5)
Modèle psychoacoustique : le masquage
• Masquage temporel : un son de forte intensité va masquer les sons d’intensité plus faible immédiatement postérieurs (post-masking) ET antérieurs (pre-masking).
• Pre-masking : qq msec• Post-masking : qq 10 msec
dB
t
Masqueur
PREPOST
Inaudible
Audio compression - Novembre 2005
Principes de la compression audio (6)
Modèle psychoacoustique : le masquage
Evaluation permanente duseuil de masquage fréquentiel
Elimination des échantillonssous le seuil de masquage
Les échantillons restants sont codésavec le nombre minimum de bits
Eventuellement,les échantillons précédents et suivants sont considérés pour tenir compte du masquage temporel
Audio compression - Novembre 2005
Principes de la compression audio (7)
Noise masking
• Pour « comprimer » le signal, certains échantillons seront codés avec moins de bits : mais, cela revient à augmenter le bruit de quantification.
• Rappel : SNR=6N+2, puissance du bruit = Q2/12
• Le nombre de bits doit être choisi pour que ce bruit reste inférieur au seuil de masquage.
Audio compression - Novembre 2005
Principes de la compression audio (8)Noise masking
• Compander : système réducteur de bruit constitué d’un COMPresseur (de dynamique), suivi d’un expanseur (exPANDER)
QuantificationCompresseur Expanseur
dB
t
signal
Max. level
t
Max. level
t
Max. level
t
Max. level
signal
Noise
Noise
Audio compression - Novembre 2005
Principes de la compression audio (9)Noise masking
• Compander : système réducteur de bruit constitué d’un COMPresseur (de dynamique), suivi d’un expanseur (exPANDER)
• Dans les systèmes de compression audio, la compression de dynamique est opérée en transformant chaque valeur numérique en « floating point » : mantisse + exposant
Exposant 23Si bruit autorisé : Q=2-5
0.0001101, Q=2-7
0.1101000 0.11
Audio compression - Novembre 2005
Principes de la compression audio (10)Noise masking
• Dans les systèmes de compression audio, la compression de dynamique est opérée en transformant chaque valeur numérique en « floating point » : mantisse + exposant
Exposant 23Si bruit autorisé : Q=2-5
0.0001101, Q=2-7
0.1101000 0.11
• Décodage (expanseur) :
0.11 + Exposant 23 0.0001100
Audio compression - Novembre 2005
Principes de la compression audio (11)Noise masking
• Problème du compandeur large bande.
Voix + bruit blanc
Voix + bruit blanc + compandeur large bande
Audio compression - Novembre 2005
Principes de la compression audio (12)Noise masking
• Problème du compandeur large bande : il est nécessaire de travailler par bandes de fréquences -> sub-band coding
• Par souci d’économie, un seul exposant sera transmis pour TOUS les échantillons d’un bloc de N échantillons : block coding
• Cette notion de « bloc » se justifie également par le fait que le seuil de masquage sera déterminé par rapport à la distribution fréquentielle de l’énergie du signal, qui ne peut s’évaluer à partir d’un seul échantillon.
• Il faut néanmoins analyser le problème du masquage temporel si un brusque changement de niveau survient dans le bloc.
Audio compression - Novembre 2005
Principes de la compression audio (13)Noise masking and block coding
t
dB
noisemasquénon masqué
• Le niveau du bruit de quantification est constant dans une sous-bande et dans un bloc.
• Il est déterminé par le nombre de bits attribués à la mantisse, et donc par le niveau du masqueur.
• En cas d’élévation brutale du niveau dans le bloc, le bruit peut ne pas être entièrement masqué.
• Le « pré-masquage » agira si le bloc est plus petit qu’1 msec. Sinon, il faut utiliser une fenêtre temporelle variable ou en tout cas limiter le bruit de quantificationdans les blocs contenant des transitoires trop prononcés.
Audio compression - Novembre 2005
Sub-band coding (1)Quelles bandes fréquentielles ?
• Fletcher et Zwicker ont mis en évidence l’existence de bandes critiques dans notre système auditif : elles ont une largeur relative, proche du tiers d’octave. A l’intérieur d’une bande critique, deux sons de fréquences différentes sont indiscernables. Conséquence : le niveau du bruit masqué dépend de l’énergie du signal dans une bande critique, et non de ses composantes.
• Une analyse par bandes critiques complique le traitement de signal, et n’est pas absolument nécessaire. La plupart des codes perceptifs découpent le spectre audio en un certain nombre de bandes de largeurs égales.
• Exemple : 32 sous-bandes de largeur uniforme.
• Plus la sous-bande est étroite, plus le bruit admissible sera élevé, et donc plus le codage sera efficace. Mais, trop de sous-bandes augmentent aussi la complexité du système de codage.
Audio compression - Novembre 2005
Sub-band coding (2)Plus la sous-bande est étroite, plus le bruit admissible sera élevé.
dB
f
Seuil de masquage Bruit masqué, sous-bande étroite
Bruit masqué, sous-bande large
Audio compression - Novembre 2005
Sub-band coding (3)Le banc de filtres
Décimation : 1 échantillon sur 32Filtres1
2
3
32
s[n]
Fs/32
Fs/32
Fs/32
Fs/32
Fs
Bit rate total INCHANGE
Chaque signal, dans chaquesous-bande, est « translaté »dans la bande de base de0 à (Fs/64) Hz.
Attention à l’aliasing :Pseudo QMF filters
Audio compression - Novembre 2005
Sub-band coding (4)Le banc de filtres : la reconstruction
f
Fs/7 2Fs/7 Fs
f
Fs
f
Fs
Signal 3è sous-bande Interpolation à Fs Filtrage passe-bande
n n n
Audio compression - Novembre 2005
Sub-band coding (5)• Pour déterminer le seuil de masquage, les 32 sous-bandes ne
conviennent pas car elles ont des largeurs constantes, donc tropétendues en B.F. et trop étroites en H.F., par rapport aux largeurs de bandes critiques.
• Par conséquent, le seuil de masquage sera avantageusement évaluéavec une résolution plus importante, par FFT
Seuil de masquage évalué par FFTdB
Exemple : une FFT de 512 points.
f
Bruit masquéDans la sous-bande
Audio compression - Novembre 2005
MPEG Layer I Encoder (1)
384 échantillons8 ms à 48 kHz 12 éch.
s[n] Fs
Audio PCM
BlocBanc deFiltres(32)
FFT (512 points)
12 éch.12 éch.
12 éch.
Audio compression - Novembre 2005
MPEG Layer I Encoder (2)
Banc defiltres(32)
FFT (512 points)
niveau max. =>exposant (scale factor)
Compression dedynamique
Masquage fréquentiel :Détermination du bruit acceptable danschaque sous-bande.
Re-quantification :réduction de la taille
de la mantisse
Taille de la mantisse
(bit allocation)
DATA
FRAME
12 éch.
6 bits/sous-bande
4 bits/sous-bande
Audio compression - Novembre 2005
MPEG Layer I Encoder (3)• La taille du bloc (8ms) est trop longue que pour assurer un pré-
masquage en cas de transitoire brutal. Il faut donc éviter des quantifications trop « grossières » dans ces blocs, par exemple en analysant les caractéristiques du bloc précédent
• 6 bits par « scale factor », permet d’atteindre 128 dB de dynamique (par pas de 2dB)
• 4 bits sont utilisés pour décrire la taille de chaque mantisse, ce qui permet d’adresser 14 types de quantification (nombre impair de pas de quantification)
• Le bit-rate est FIXE en sortie => les bits disponibles par bloc sont distribués entre les sous-bandes, de manière à obtenir un NMR (noise-to-masking ratio) constant dans chaque sous-bande
• Si le bit-rate désiré est trop faible, l’opération de bit allocation est impossible => positive NMR (on accepte un niveau de bruit non masqué) => artefacts
Audio compression - Novembre 2005
MPEG Layer I Decoder (1)
Banc de filtres (32)identique à l’encodage
Expansion dedynamique
Quantification inverse :restitution de la taille
originale de la mantisse(en ajoutant des zéros !)
bit allocationpar sous-bande
DATA
FRAME
exposant (scale factor)extrait pour chaque sous-bande
Echantillons
Audio PCM
Audio compression - Novembre 2005
MPEG Layer I Decoder (2)
• Le codage est asymétrique, c’est-à-dire :
• la complexité de l’encodeur est supérieure à celle du décodeur ;
• l’encodeur est donc plus « cher » que le décodeur ;• il y a plusieurs types d’encodages possibles (le
modèle de masquage n’est pas unique ! ). Tout ce qui importe est de respecter le format du « data frame ».
Audio compression - Novembre 2005
MPEG Layer II (1)
• Différences avec Layer I :
• FFT de 1024 points pour estimer le seuil de masquage;• la longueur du bloc est portée à 1152 échantillons (24 ms à 48
kHz);• chaque bloc est coupé en trois sous-blocs de 384 échantillons.
Dans chaque sous-bande, les 3 « scale factors » successifs sont codés plus efficacement, ce qui permet de réduire le bit-rate relatif aux exposants de moitié !
Audio compression - Novembre 2005
MPEG Layer II (2)• Différences avec Layer I (suite) :
• les sous-bandes sont partagées en trois domaines : les B.F. (15 longueurs de mot possibles + « 0 » ou « no data »), les M.F (7 longueurs + 0) et les H.F. (3 longueurs + 0);
• donc, ces longueurs définissant la « bit allocation » peuvent être décrites par, respectivement, 4, 3 et 2 bits;
• dans certains cas, le groupement de trois échantillons successifs (par granule) permet un codage plus efficace (avec moins de bits);
• l’information de « bit allocation » renseigne le décodeur si les échantillons doivent être décodés individuellement, ou en granules.
Audio compression - Novembre 2005
MPEG Layer III : MP3 (1)
• Différences avec Layer II :
• la sortie des 32 sous-bandes fait l’objet d’une transformation de type MDCT (modified discrete cosine transform);
• les fenêtres temporelles définissant les blocs se recouvrent (overlap);
• la taille des fenêtres (blocs) est variable, et s’adapte au contenu (transitoires brusques ou non);
• dans le cas de la fenêtre la plus longue (1152 échantillons, 24 ms à 48 kHz), la MDCT délivre dans chaque sous-bande 18 coefficients, ce qui donne au total 32x18=576 coefficients fréquentiels;
Audio compression - Novembre 2005
MPEG Layer III : MP3 (2)
• Différences avec Layer II (suite) :
• le modèle psychoacoustique est plus complexe, car il doit intégrer ces changements de longueurs de fenêtres;
• la MDCT permet une meilleure résolution fréquentielle (576 coefficients), et donc une meilleure estimation du bruit admissible et une meilleure opération de « bit allocation »;
• quantification non-uniforme (pas variables) des coefficients;• codage sans perte (Huffman coding) des coefficients quantifiés;• Buffering.
Audio compression - Novembre 2005
MPEG Layer III : MP3 (3)• Buffering : qu’est-ce que c’est ?
• Dans les layers I et II, le « bit rate » en sortie est constant, chaque bloc de 384 (ou 1152) échantillons donnant lieu à une « data frame ».
• Dans le MP3, les blocs successifs peuvent délivrer un nombre de bits quelque peu variable, pour s’adapter aux longueurs de fenêtre variables.
• Comme le « bit rate » doit rester constant en sortie, une « data frame » peut contenir les coefficients de deux blocs successifs.
Audio compression - Novembre 2005
MPEG Layer III : MP3 (4)
• Layer I : 384 Kbits/s (stereo), for transparent coding• Layer II : 256 Kbits/s• Layer III : 192 Kbits/s, but quality still acceptable at
128 Kbits/s : depends on the encoder !
• ATRAC : compression rate 5:1• AC-3 : 320 Kbits/s pour 5.1 channels
• MPEG-1 : 32, 44.1 et 48 kHz• MPEG-2 : étendu à 16, 22.05 et 24 kHz
Audio compression - Novembre 2005
MPEG Layer III : MP3 (5)
Source : Alain Bouffioux (Philips)
QualityQuality
BitrateBitrate
ComplexityComplexity
MPEG Layer 1MPEG Layer 1
MPEG Layer 2MPEG Layer 2
MPEG Layer 3MPEG Layer 3
MPEG AACMPEG AACOther TechniqueOther TechniqueSpeech codingSpeech coding