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