Formats audio de compression avec pertes

Transcription

Formats audio de compression avec pertes
Audionumérique
Compte Rendu
Étude et comparatif
des codecs audios avec pertes
Romain Matuszak
Clément Follet
Page 1 sur 14
2007-2008
Table des matières
ILe MPEG Audio layer 1,2,3................................................................................................................3
1.Filtrage:.........................................................................................................................................3
2.Normalisation d'échelle:...............................................................................................................3
3.Quantification suivant le modèle de masquage psycho-acoustique:............................................4
4.Courbe de sensibilité de l'oreille humaine:...................................................................................4
5.Masquage fréquentiel:...................................................................................................................4
6.Construction de la courbe de masquage:......................................................................................5
7.Masquage temporel:......................................................................................................................5
8.Quantification:..............................................................................................................................5
9.Amélioration de la couche 2 par rapport à la couche 1................................................................6
10.Amélioration de la couche 3 par rapport à la couche 2..............................................................6
11.Bitrates:.......................................................................................................................................7
12.Structure d'un MP3:....................................................................................................................7
IILes formats audio...............................................................................................................................8
1.Débit variable (VBR) et débit constant (CBR):............................................................................8
2.Le format Vorbis:..........................................................................................................................8
3.Le format AAC:............................................................................................................................8
4.Le format MPC:............................................................................................................................9
5.L'Atrac 3:......................................................................................................................................9
6.Le WMA:....................................................................................................................................10
7.Le mp3pro:..................................................................................................................................10
8.Tableau récapitulatif :.................................................................................................................10
IIIComparatif des performances :.......................................................................................................11
1.Performances d'encodage............................................................................................................11
2.Durée d'encodage........................................................................................................................12
3.Tests Qualitatifs..........................................................................................................................12
4.Resultats globaux :......................................................................................................................13
Page 2 sur 14
I Le MPEG Audio layer 1,2,3
1. Filtrage:
Le filtre séparateur de bandes est un jeu de filtres à phase linéaire, ayant tous la même
largeur de bande et qui se recouvrent.
–
–
–
–
On a :
22kHz / 32 bandes uniformes = 690 Hz
8 / 24 ms par data frame suivant qu'on est en layer 1 ou 2 à 48kHz
12 / 36 sous bandes ou blocs d'échantillons suivant la couche
384 / 1152 échantillons par trame suivant la couche (1 trame = 32 sous-bandes).
Les couches 1 et 2 du MPEG sont basées sur des filtres séparateurs de bande. La couche
3 utilise de son côté un codage à transformée comme celui utilisé en vidéo à base de
DCT. La caractéristique d'un codeur à transformée est donc que le spectre du signal est
connu très précisément, ce qui permet de créer un modèle de masquage très fidèle.
2. Normalisation d'échelle:
Dans chaque bande de fréquence, l'entrée audio est amplifiée au maximum avant la la
quantification puis la transmission. Le gain nécessaire est constant pour la durée du bloc
et ainsi un seul facteur d'échelle est transmis avec chaque sous-bande pour chaque
bande. Après transmission, chaque niveau est ramené à sa valeur initiale. Le bruit
introduit par la transmission est ainsi réduit dans chaque bande. C'est le même principe
que la compression Dolby. On appelle l'ensemble un compander.
Page 3 sur 14
3. Quantification suivant le modèle de masquage psychoacoustique:
Chaque signal dans un bloc est quantifié de manière telle que le bruit de quantification
(quantisation noise) introduit par le codage ne dépasse pas la courbe de masquage pour
ce bloc.
Le spectre du bruit de quantification est donc dynamiquement adapté au spectre du
signal.
Les paramètres concernant les quantifieurs (quantisers) utilisés dans chaque bloc sont
transmis avec les échantillons du bloc codé.
La courbe de masquage est généré suivant le modèle psycho-acoustique et le signal au
niveau du filtre 32 bandes.
Une FFT à 512 points est effectuée directement à partir du signal d'entrée pour
déterminer le modèle de masquage.
Le modèle utilisé lors du codage détermine quelles sont les fréquences sensées masquer
d'autres fréquences. A la lecture, le décodeur retrouvera les paramètres concernant le
modèle utilisé dans le flux du signal même. Plusieurs modèles existent (Musicam, AT&T),
qui sont plus ou moins adaptés au type de données audio à compresser.
4. Courbe de sensibilité de l'oreille humaine:
Tout d’abord, les principes de compression vont tenir compte de la courbe de
sensibilité de l’oreille humaine en fonction de la fréquence.
5. Masquage fréquentiel:
Un son d’énergie élevé (par exemple une sinusoïde pure à 1kHz) produit une
zone de masquage s’étendant légèrement en dessous et surtout au dessus de
cette fréquence. Les sons d’énergie plus faibles à l’intérieur de cette zone de
masquage sont inaudibles.
Page 4 sur 14
6. Construction de la courbe de masquage:
On passe le signal dans le domaine fréquentiel (FFT) pour
répérer les pics (tonaux ou énergétiques)
On applique une fonction de masquage, décrite par le
modèle psycho-acoutique, pour chaque pic.
On obtient la courbe de seuil de masquage par addition
dans le domaine énergétique. Tous les échantillons du
bloc, avec le bruit, seront éliminés s'ils se trouvent en
dessous de ce seuil.
7. Masquage temporel:
En présence d’un son d’énergie élevée, il faut un certain délai (environ 100 ms) à
l’oreille pour entendre à nouveau des sons plus faibles.
Mais le masquage se produit également avant ! En effet, le système auditif
présente une certaine inertie (2 à 5 ms pour détecter un changement de 40dB) qui
fait que seuls les sons ayant une certaine durée sont audibles. Ils peuvent donc
être masqués par un signal ultérieur !
Le masquage temporel est mis à profit dans MPEG-1 Layer III (MP3) pour la
construction de la courbe de masquage (voir plus loin).
8. Quantification:
Page 5 sur 14
Pour compresser d'avantage, on effectue
une quantification suivant un nombre de
bits dépendant du seuil minimal de
masquage sur cette bande de fréquence.
Sachant que le bruit engendré par la
quantification, dépendant du pas de
quantification, donc du nombre de bits de
quantification, ne doit pas dépasser ce seuil
de masquage pour être éliminer.
On ne prend qu'un code décrivant la longueur des mots pour chaque bloc, c'est à
dire pour 12 échantillons.
Pour résumer:
Quand le traitement des 32 premiers blocs est fini, les 12x32=384 échantillons forment
une trame comprenant un mot de synchronisation et une en-tête, suivis de 32 codes
d'affectation de bits, de 4 bits chacun. Ces codes décrivent la longueur des mots des
échantillons dans chaque bloc. Viennent ensuite les 32 facteurs d'échelle utilisés par la
compression dans chaque bande, indispensables pour rétablir le bon niveau au
décodage. Ces facteurs d'échelle sont suivis des données audio de chaque bande. Le
débit de sortie est constant pour les 3 couches.
9. Amélioration de la couche 2 par rapport à la couche 1.
Une FFT à 1024 points est effectuée directement à partir du signal d'entrée pour
déterminer le modèle de masquage. Pour améliorer la précision de la résolution en
fréquence, il faut augmenter l’intervalle temporel sur lequel porte la transformée, ce
qui est effectué en portant à 1152 échantillons la taille du bloc. Bien que le schéma de
la compression d’un bloc soit identique à celui de la couche 1 du MPEG, tous les facteurs
d'échelle ne sont pas transmis dans la mesure où ils présentent un degré de redondance
non négligeable : les facteurs d'échelle successifs sont analysés par groupes de trois et
tous ne sont pas transmis. Un code est transmis pour permettre au décodeur de
déterminer ce qui a été émis dans chaque bande. Cette technique permet de diviser par
deux le débit du au facteur d'échelle.
10. Amélioration de la couche 3 par rapport à la couche 2.
–
On effectue une MDCT (Modified Discrete Cosine Transform) en sortie des filtres 32
sous-bandes, qui est plus précise:
Page 6 sur 14
–
–
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)
Transition brusque:
–
–
–
Changement taille de fenêtre:
quantification non-uniforme (power-law) des coefficients;
codage sans perte (Huffman coding) des coefficients quantifiés;
Buffering: 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.
11. Bitrates:
Layer I : 384 Kbits/s (stereo), pour une écoute transparente
Layer II : 256 Kbits/s
Layer III : 192 Kbits/s, la qualité étant acceptable à 128 Kbits/s : cela
dépend de l'encodeur
12. Structure d'un MP3:
Page 7 sur 14
II Les formats audio
1. Débit variable (VBR) et débit constant (CBR):
Utiliser un débit variable sert à encoder un fichier suivant sa complexité. Certains
passages d'une musique demande une plus grande qualité d'encodage que d'autres. On
repère les données avec une vitesse de lecture qui permet de retrouver à la lecture le
fichier original. Le problème d'un débit variable est qu'il ne permet pas (ou
difficilement) le streaming, contrairement au débit constant.
WMA, Vorbis, mp3pro et AAC sont des formats qui peuvent, en option, être encodés en
VBR.
2. Le format Vorbis:
Format sans brevet, ouvert et libre. Développé par la communauté Xiph.org (à l'origine
aussi du format non compressé FLAC, du codec vidéo Théora, etc.)
C'est un codec assez récent (La version 1.0 date de 2002). Ce codec nécessite un
Conteneur, c'est pourquoi il est souvent associé au format OGG, libre lui aussi.
Le Vorbis possède énormément d'avantages par rapport au MP3, mais sa relative
« jeunesse » ne lui a pas permis de s'imposer par rapport à ce dernier.
Le vorbis supporte l'encodage polyphonique (multi-canaux) et des fréquences
d'échantillonnages plus larges que pour le mp3.
Le Vorbis utilise une méthode VBR (Variable Bit Rate) autour d'un bitrate choisi.
L'encodage se fait via la selection d'un facteur de qualité (-1<q<10, entre 45kb/s et
500kb/s). Ainsi le morceau est encodé avec une qualité constante, et non un débit
constant.
3. Le format AAC:
« Advanced Audio Codec »
Conçu par le laboratoire créateur du MP3, adopté par Apple (Ipod, Itunes) ou encore
Real Networks.
Standardisé en 1997, différentes version disponibles :
AAC, AAC+ (norme utilisée par la radio numérique en France), eAAC+, ALAC (sans
pertes).
L'AAC supporte jusqu'à 48 canaux et des fréquences d'échantillonnage de 8 à 96kHz.
L'utilisation de l'AAC via des profils paramétrés permet une très grande précision
d'encodage, et en fait l'un des encodeur les plus efficaces lorsqu'il est bien configuré.
Page 8 sur 14
4. Le format MPC:
Le MPC est un format destructeur de compression audio basé sur le format Mpeg2. Il est
aussi appelé Mp+. Ce format offre une excellente qualité audio !
Sa qualité d’écoute a su engendrer son succès car il est de plus en plus répandu,
notamment sur les réseaux peer2peer.
Le MPC offre plusieurs avantages :
• Une qualité d’écoute vraiment exceptionnelle, bien supérieure au Mp3 ou encore
à l’Ogg.
• Il est gratuit (mais l’encodeur n’est pas OpenSource).
• Très rapide à l’encodage (environ x9 sur un Athlon 1Ghz et x20 sur un 2600+).
• Il est Gapless, cet-à-dire qu’il n’y aura pas de petite coupure entre 2 morceaux
(contrairement au Mp3)
Des presets sont disponibles.
D'après les tests, il dépasse tous les autres formats dans les débits supérieurs à 160 kbps.
Des presets sont à disposition :
--standard (--quality 5) : bitrate de 170kbps environ : très grande transparence.
--extreme (--quality 6) : bitrate de 200kbps environ : Difficile de voir la différence avec
l’originale.
--insane (--quality 7) : bitrate de 240kbps environ : Transparence absolue.
--braindead (--quality 8) : bitrate de 260kbps : A utilisé uniquement si on veut perdre
de la place sur son disque dur ;)
On peut lire le MPC avec Winamp à l'aide d'un plugin, avec Windows Media player
nativement, ou avec d'autres logiciels spécialisés comme foobar2000.
5. L'Atrac 3:
Le format Atrac3, dont les fichiers portent l'extension *.omg, est un format propriétaire
de Sony. Celui-ci a été créé dans le but de multiplier par deux (LP2) ou par quatre (LP4)
la capacité d'un MD. Ce format est uniquement lisible sur les lecteurs MD compatibles
MDLP. Aujourd'hui, Sony (et quelques autres marques) commercialisent des nouveaux
lecteurs appelés "NetMD". Le protocole NetMD permet de transférer plus rapidement ses
fichiers Atrac3 à partir de son PC.
L'atrac3 impose beaucoup de contraintes:
-Impossible de lire les fichiers *.OMG (donc atrac3) sur un autre ordinateur que celui qui
l'a encodé.
-Impossibilité d'effectuer plus de 3 transferts d'un même fichier sur un MD (quelque soit
le MD)
Page 9 sur 14
-L'Atrac3 encrypté est un format entièrement clos
6. Le WMA:
Le wma est le format de compression audio de microsoft au même titre que le mp3.
WMA sont les initiales de "Windows Media Audio".
Il a une meilleur qualité que le mp3 avec un taille plus faible et est capable de protéger
les fichiers audio pour éviter tout piratage, ce qui n'est pas compatible avec les
échanges peer2peer. Il n'est donc pas devenu populaire malgré une taille plus faible.
7. Le mp3pro:
La compression mp3Pro se présente comme un successeur avantageux au mp3. En effet,
les fichiers générés par un encodeur mp3PRO sont compatibles avec tous les lecteurs
mp3. Cependant seuls les lecteurs certifiés mp3PRO bénéficient des avantages
supplémentaires de cet encodage.
L'encodage mp3Pro présente trois particularités qui en font un système de compression
offrant de meilleurs résultats sonores que ceux d'un simple mp3 standard :
•
•
•
L'utilisation du VBR qui adapte en temps réel le débit en fonction de la densité et
de la complexité sonore ;
La préservation de la bande passante aiguë normalement sacrifiée par le mp3
standard ;
Une qualité sonore équivalente au 320 kbit/s du layer III en VBR (qui varie entre
64 kbit/s et 128 kbit/s) si bien qu'à qualité égale un fichier mp3Pro permet un
gain de place substantiel par rapport à un fichier mp3 standard (entre 25% et 50%
de gain).
Le Codec mp3PRO est propriétaire. Néanmoins un lecteur MP3 standard saura lire un
mp3PRO, mais avec une qualité moindre.
8. Tableau récapitulatif :
Format
VBR ?
canaux ?
Gratuit ?
Utilisation ?
MP3
option
2 maxi
Pour une utilisation
personnelle
Le plus répandu
(musique)
Vorbis
oui
Jusque 255
Libre, ouvert
Certains jeux
vidéos, de + en + de
balladeurs
AAC
Oui
Jusque 48
Propriétaire, fermé
Apple (Itunes, Ipod)
MPC
Oui
2 maxi
Libre, ouvert
Rare (musique)
Atrac 3
non
2
propriétaire
Minidisc
WMA
option
2 (standard)
8 (version pro)
Propriétaire, fermé
Streaming (par
défaut sur
microsoft)
MP3pro
oui
2
Propriétaire, payant
au delà d'un certain
débit
Flop
commercial!
Page 10 sur 14
III Comparatif des performances :
Le fichier audio de référence est un morceau au format non compréssé WAV, d'une durée
de 6'24'', et comportant beaucoup d'instruments différents et alternant passages
dynamiques/calmes, etc (« comfortably numb » des Pink Floyd).
Les comparatifs entre différents codecs doivent se baser sur 3 caractéristiques:
–
le ratio de compression (efficacité).
–
le temps d'encodage (rapidité).
–
La qualité perçue.
Une 4ème caractéristique, le coût, doit aussi être prise en compte dans le cas de codecs
propriétaires payants.
Il n'existe pas dans l'absolu de « meilleur » codec, il faut dans l'idéal choisir un codec qui
répond le mieux aux exigences requises (rapidité dans le cas d'encodage en temps réel,
qualité perçue dans le cas d'écoute sur du matériel Hi-fi, etc.)
1. Performances d'encodage
Nous avons effectué des tests de performances d'encodage pour ces différents codecs.
Nous avons volontairement laissé de côté le format Atrac3 qui n'est quasiment plus
utilisé.
64k
Format
Wav (référence)
Mp3
Vorbis
AAC
MPC
Wma
Mp3 pro
128k
Taille (octets)
% original
67796444
3075134
2993713
3074649
4612608
3117551
3075472
Taille (octets)
% Original
100
67796444
4,54
6149882
4,42
6139644
4,54
6157114
6,8
6559252
4,6
6193539
4,54
Payant!
100
9,07
9,06
9,08
9,67
9,14
---
Les formats VBR (Vorbis, AAC, MPC) s'en sortent avec un ratio de compression équivalent
aux formats entièrement CBR, pour une qualité globale supérieure puisque l'encodage
est optimisé selon le contenu audio.
Globalement, pour un niveau d'écoute quasiment sans différence perceptible (128kbps),
le fichier encodé est 10x plus léger que le fichier original non compressé.
Page 11 sur 14
2. Durée d'encodage
Nous nous sommes ensuite attardé à comparer les durées absolues d'encodage du fichier
wav avec les différents codecs.Nous avons volontairement laissé de côté, en plus de
l'Atrac3, le mp3pro, car il est payant au delà d'un encodage à 64kbps.
80
70
60
50
40
256k
128k
64k
30
20
10
0
MP3
AAC
Vorbis
WMA
MPC
Quel que soit le codec choisi, la durée d'encodage ne dépend pas ou très peu du débit
choisi (que ce soit en CBR ou VBR).
La plupart des encodeurs fonctionnent à une vitesse comprise entre 10 et 20x la vitesse
réelle de lecture, seul l'AAC est un peu plus lent avec une vitesse de traitement
d'environ 5x la vitesse réelle.
A noter que nous n'avons pas pu augmenter le débit du wma à plus de 160kbps (ce
dernier est véritablement orienté streaming).
3. Tests Qualitatifs
L'un des tests les plus importants reste bien entendu le test d'écoute. Celui-ci est aussi
le plus difficile à réaliser car il met en jeu la notion de subjectivité, un échantillon
musical pouvant s'avérer de bonne qualité pour une personne et de mauvaise qualité
pour une autre.
Il est d'autant plus difficile de mettre en place un tel test car il faut l'effectuer sur de
nombreuses personnes un minimum audiophiles, et le réaliser avec un matériel de haute
qualité parfaitement configuré, dans un espace lui aussi acoustiquement propre.
Page 12 sur 14
Voici un comparatif d'un test dont les résultats ont été mis à disposition sur internet.
Le bitrate moyen utilisé pour tous les codecs est de 128kbps (VBR ou CBR selon le cas).
Source : http://www.rjamorim.com/test/multiformat128/results.html
Les notes on été attribuées sur une échelle de 0 à 5.
Ce test est assez ancien (2004) mais les résultats sont globalement fidèles aux
constatations habituelles.
Seul le mp3pro manque à ce comparatif, où l'on peut constater que le Vorbis et le MPC
se démarquent des 6 codecs, devançant de peu l'AAC (iTunes) et le MP3 (Lame), tandis
que l'Atrac3 et le WMA sont loin derrière, mais cela s'explique aussi de par leur
utilisation différente des autres codecs (minidisc / streaming internet).
4. Resultats globaux :
Pour finir, nous avons tenté de rassembler tous les résultats obtenus pour chaque codec.
Chaque codec est ainsi représenté par un diagramme tenant compte de la qualité, de la
rapidité d'encodage et de l'efficacité en termes de compression.
Ces résultats, bien que basés sur des données réelles, sont tout de même simplifiés et
ne sont pas valables dans l'absolu. Les notes données dans chaque cas ont été ramenées
sur une échelle de 0 à 1.
Page 13 sur 14
Rapidité
1
0,5
0
Qualité
Efficacité
MP3
AAC
MPC
Vorbis
Page 14 sur 14
WMA