|
Le MPEG audio (MP3) - Part 1
1 févr. 1999 - par cbraut
1999 sera-t-elle l'année de la diffusion MPEG sur Internet ? Tout porte à le croire. Primo, les fichiers audio ".mp3", déjà solidement implantés, poursuivent leur ascension. Secundo, les écouter n'importe où devient réalité grâce aux baladeurs à mémoire - Diamond Rio PMP300 et autres. Tertio, l'arrivée de nouveaux algorithmes, AAC et TwinVQ en tête, repousse encore plus loin les limites de la compression. Historique et état des lieux de standards en constante évolution.
Nul n'ignore les contraintes de l'Internet en matière d'audio : les "tuyaux" sont trop étroits pour le son. Le rapport entre le débit requis par la lecture d'un CD et celui d'un modem à 33600 bauds est d'exactement 42 (44100 kHz - 16 bits - 2 canaux/33600 bauds), soit deux heures pour rapatrier un titre de 3 mn. Autant faire une croix sur le téléchargement ! Quant aux procédés de streaming, c'est-à-dire de diffusion temps réel, les taux de compression élevés nécessaires - d'au moins 42, donc, sur la base d'un modem 33600 -, se traduisent par une qualité plus qu'approximative : tout juste suffisante pour écouter les extraits d'un album avant achat ou découvrir un nouveau groupe au hasard d'un site...
En attendant la démocratisation des accès haut débit, câble ou satellite, la solution passe par un habile compromis entre temps de téléchargement (raisonnable) et qualité (acceptable). En la matière, les fichiers ".mp3" font des étincelles. Malgré un taux de compression proche de douze, soit à peine quatre fois la durée d'un morceau pour le télécharger en 33600 (deux fois avec une ligne Numeris), le son reste honnête - relativement proche de celui d'un CD... Mais au fait ? Que signifie donc ".mp3" ? Ce suffixe identifie les fichiers audio compressés au standard MPEG-1 Layer III. Une dénomination qui mérite des éclaircissements...
MPEG contre Dolby | |
|
Le débit d'un signal audionumérique 16 bits/44,1 kHz frôle les 1,4 mégabits/seconde (1378,125 kbps pour être précis), là où un signal audio/vidéo atteint les 200 mégabits/seconde. Compte tenu des contraintes technologiques actuelles, tant en termes de capacité que de débit, la plupart des applications requièrent donc une compression de l'image et/ou du son. En conséquence, l'industrie ne cesse de développer des algorithmes toujours plus performants, adaptés aux supports et médias d'aujourd'hui : radio et télédiffusion numérique, CD-ROM, DVD, Internet... Côté son, deux géants s'affrontent : le Dolby AC et le MPEG Audio, appellation regroupant "l'aspect son" des différents standards MPEG, initialement développés pour offrir un signal numérique audio/vidéo de qualité équivalente à celle du VHS.
En perpétuelle progression, ces procédés parmi les plus populaires offrent diverses options : choix du taux (et donc du débit), de la fréquence d'échantillonnage du son d'origine, du nombre de canaux (mono, stéréo, 5.1...), etc. En cela, ils savent s'adapter à la plupart des applications. Ce n'est d'ailleurs pas un hasard si l'un et l'autre ont été retenus pour le DVD Video ou, dans un autre style, si la majorité des techniques de streaming Internet (Real Audio, Liquid Audio, Xing...) sont issues, soit du MPEG, soit du Dolby. Depuis ses débuts, ce dernier bien évolué : il a démarré avec l'AC-1 (stéréo), suivi de l'AC-2 (toujours stéréo, mais plus performant), pour en arriver à l'AC-3, également connu sous la dénomination Dolby Digital (encore plus performant, il offre la possibilité de transmettre du 5.1). Du MPEG-1 au MPEG-4, son concurrent a suivi lui aussi nombre d'évolutions, objets de cet article.
MPEG-1 | |
|
Contrairement aux algorithmes Dolby, développés par la firme du même nom, les standards MPEG sont le fruit d'une cellule de travail créée en mai 1988 par l'ISO. Les trois cents et quelque professionnels qu'elle rassemble - constructeurs, centres de recherche, instituts de normalisation... - se réunissent environ quatre fois l'an, une semaine durant, pour développer des standards de compression audio/vidéo.
Côté nomenclature règne un certain flou. Sachez tout d'abord que le MPEG procède par phases. La première d'entre elles, le MPEG-1, fut achevée en 1992. Publié en 1993, le document officiel correspondant porte la référence ISO/IEC 11172 et s'intitule Coding of Moving Pictures and Associated Audio for Digital Storage at up to About 1,5 Mbits/s. En clair, il s'agit de coder l'image et le son à destination d'applications à débit relativement élevé : CD-ROM, liaisons ISDN, certains systèmes broadcast... La qualité obtenue est supposée égaler celle du VHS.
J'encode, je décode | |
|
Cette première phase se décompose en cinq parties : Systems (11172-1), Video (11172-2), Audio (11172-3), Conformance Testing (11172-4) et Software Simulation (11172-5). La troisième, celle qui nous intéresse présentement, décrit une structure de fichiers compressés à partir de signaux PCM échantillonnés à 32, 44,1 ou 48 kHz. Cette structure fournit les informations nécessaires et suffisantes pour procéder à la décompression - ou au décodage, c'est comme vous voulez - des dits fichiers. Par contre, rien ne normalise la façon dont les compresser - ou de les encoder -, ce qui constitue l'un des atouts majeurs du MPEG : permettre à chacun de développer sa propre méthode de compression, avec comme seul impératif de stocker le résultat conformément à la structure décrite. Conséquence : les encodeurs évoluent et s'améliorent au fil du temps ! Cela rend d'autant plus difficile le choix des logiciels (de nombreux freewares et sharewares sont disponibles sur Internet en téléchargement), tous n'affichant pas des performances identiques. Pour information, l'algorithme de compression du MiniDisc, l'Atrac de Sony (aujourd'hui en version 4.5), bénéficie du même avantage. Précisons enfin que les temps d'encodage sont sensiblement plus élevés que les temps de décodage. D'autre part, sauf à en réduire considérablement la qualité, les encodeurs sont encore loin, sur les ordinateurs "grande public", de travailler en temps réel.
Bas les masques | |
|
Comme beaucoup d'autres algorithmes, le MPEG tire parti du célèbre effet psychoacoustique de masquage. Schématiquement, on considère comme non perceptibles, et donc susceptibles d'être éliminés, des sons de faible amplitude masqués par des sons de forte amplitude dans la même zone spectrale. A l'instar de procédés tels le Dolby AC-2/AC-3, le Real Audio, l'Atrac..., le MPEG, pour procéder à la compression, découpe le signal en plusieurs bandes de fréquences. Les anglo-saxons parlent de "subband coding".
Autre particularité : les taux de compression offerts par le MPEG sont variables. Toutefois, on ne les choisit pas directement : ils découlent du débit qui lui, se sélectionne... en fonction d'un objectif à atteindre. Plus ce débit est faible, plus la compression est élevée, bien sûr. En admettant que l'on souhaite encoder un signal stéréo 16 bits/44,1 kHz pour qu'il "tienne" dans une bande passante de 320 kbps (kilobits par seconde), le taux de compression sera d'environ 4,31 (rappelons qu'en 16 bits/44,1 kHz le débit avoisine les 1,4 mbps).
La partie audio du MPEG-1 permet de compresser des signaux selon quatre modes : mono, double mono (deux canaux indépendants dans un même flux), stéréo et "joint stero" (la compression tire alors parti des redondances entre canaux gauche et droit). Par ailleurs, le standard se décompose en trois couches, ou Layers, de complexité croissante. Les deux premiers sont dérivés du MUSICAM (développé par le CCETT, Philips et l'IRT), et le troisième, de l'ASPEC (développé par le Frauenhofer Institute). Contrairement aux phases, numérotées avec des chiffres Arabes, les couches utilisent des chiffres Romains. On parle de MPEG-1 Layer I, de MPEG-1 Layer II et de MPEG-1 Layer III.
Mettez m'en trois couches | |
|
Globalement, à débit égal, la qualité obtenue est proportionnelle au niveau de la couche utilisée. Le temps de compression/décompression l'est aussi, cela coule de source... En pratique, le Layer I convient à des applications où prime la qualité et/ou le temps d'encodage/décodage. Par contre, si la bande passante, trop faible, constitue un frein (comme sur Internet, par exemple), on s'orientera vers le Layer III.
La plage de débits qu'offre le MPEG-1 s'échelonne de 32 à 448 kbps pour le Layer I (sa version 384 kbps est utilisée par la DCC sous le nom de PASC), de 32 à 384 pour le Layer II et de 32 à 320 pour le Layer III. Plusieurs remarques par rapport à cela. Premièrement, quoique rien n'empêche d'encoder un signal en choisissant n'importe quel débit à l'intérieur de ces plages, toutes proposent 14 valeurs présélectionnées. Deuxièmement, à chacun de ces trois niveaux correspond en quelque sorte un débit idéal, celui pour lesquels ils ont été conçus : 192 kbps par canal pour le Layer I, 128 kbps par canal pour le Layer II et 64 kbps par canal pour le Layer III. Sur Internet, c'est ce dernier débit, de 128 kbps pour un signal stéréophonique, donc, que l'on rencontre le plus souvent. Nous l'avons dit, les fichiers ainsi encodés portent le suffixe ".mp3" (le ".mp2" identifie les fichiers Layer II, et le ".mp1" les fichiers Layer I).
On considère que le MPEG-1 Audio procure une qualité proche de celle du CD avec un débit 384 kbps pour le Layer I (soit un ratio de compression de 1:4), de 192 à 256 kbps pour le Layer II (soit un ratio de compression compris entre 1:6 et 1:8) et de 112 à 128 kbps pour le Layer III (soit un ratio de compression compris entre 1:10 et 1:12). Pour en revenir au principe du masquage, les Layer I et II découpent le signal en 32 bandes, à leur tour décomposées en 18 bandes par le Layer III (soit un total de 576) : des tranches de 27,78 Hz avec un signal d'origine échantillonnée à 32 kHz, contre 500 Hz seulement pour les Layer I et II. Afin d'améliorer encore l'efficacité de la compression, le MPEG-1 Audio traque également la redondance (codage de Huffman).
MPEG-2 | |
|
Étant donné le succès rencontré par le MPEG-1, il a été décidé de poursuivre dans cette voie et d'étendre le standard à d'autres types d'applications, de le rendre plus efficace mais aussi mieux armé pour faire face à de faibles débits. D'où la naissance du MPEG-2, publié sous la référence 13818. Cette nouvelle norme compte neuf parties numérotées de 13818-1 à 13818-9 (les cinq premières reprennent les intitulés de leurs homologues MPEG-1). Le développement de ces différentes parties s'est échelonné dans le temps. Deux d'entre elles concernent l'audio, à commencer par la troisième (ISO/IEC 13818-3). Finalisée en 1994 et publié en 1995, elle est non seulement très proche du standard MPEG-1 Audio, mais surtout compatible avec lui. C'est la raison pour laquelle on la surnomme MPEG-2 BC (Backward Compatible). Elle reprend le principe des trois Layers et propose une structure de fichiers similaire (pour augmenter la confusion, eux aussi sont écopent des suffixes ".mp1", ".mp2" et ".mp3"). Les différences portent essentiellement sur deux points.
Quoi de neuf ? | |
|
Primo sur les fréquences d'échantillonnage des signaux à encoder : 16, 22,05 et 24 kHz, soit la moitié de celles du MPEG-1. D'où des débits plus faibles, s'échelonnant de 32 à 256 kbps (Layer I) et de 8 à 160 kpbs (Layer II /III). Notons qu'en dépit d'une compatibilité descendante, un logiciel de décodage MPEG-1 Audio ne pourra exploiter ces trois nouvelles fréquences.
Secundo sur l'apport de canaux supplémentaires : jusqu'à sept, par exemple pour le surround, en 5.1 (canaux avant gauche et droit, canal central, canaux arrière gauche et droit, canal sub en option), ou dans un but de diffusion multilingue. Stockées dans des zones auxiliaires - un genre d'équivalent des subcodes d'une cassette DAT, en quelque sorte -, ces canaux seront purement et simplement ignorés par un décodeur MPEG-1. Pour maintenir une compatibilité avec ce dernier dans le cadre d'une transmission surround, il est prévu de pouvoir scinder la modulation en deux flux : d'une part un mixage stéréo matricé (canaux avant gauche + centre + arrière gauche à gauche, canaux avant droit + centre + arrière droit à droite), de l'autre des informations permettant d'en extraire nos cinq canaux. Concrètement, seul le mixage stéréo matricé sera lu par un décodeur MPEG-1, tandis qu'un décodeur MPEG-2 tirera profit des informations en question, stockées dans les zones auxiliaires réservées aux canaux supplémentaires, pour reconstituer et restituer un signal 5.1. Élégante sur le papier, cette solution induit des compromis (la redondance des canaux centre et arrière gauche/arrière droit nuit à l'efficacité du système) qui la rendent moins efficace que celles n'ayant pas ce souci de compatibilité - le Dolby AC-3, notamment (c'est au décodeur qu'incombe la tâche de fournir, si besoin, un mixage stéréo des cinq canaux).
Toujours plus loin | |
|
De ces considérations, il ressort clairement que le MPEG-2 BC, s'il présente assurément une avancée par rapport au MPEG-1, n'est pas une révolution en soi... d'autant qu'il n'améliore pas à proprement parler la qualité audio.
Devant la nécessité de répondre plus efficacement aux exigences de la diffusion multicanal, mais aussi d'intégrer les progrès effectués en matière de compression, une extension au MPEG-2 Audio a été créée. Naturellement incompatible avec le MPEG-1, parfois surnommée MPEG-2 NBC (Non Backward Compatible), elle est officiellement baptisée MPEG-2 AAC.
Finalisé en avril 1997 et matérialisé en 1998 par le document ISO/IEC 13818-7, ce standard représente l'état de l'art en matière de compression. Plus élaboré que le Dolby AC-3, particulièrement approprié à la transmission d'audio sur Internet, il a été développé par des sociétés comme Fraunhofer Institute for Integrated Circuits IIS, AT&T, Dolby Labs, Sony, l'université d'Hannovre, NEC, Sony, Lucent Technologies... Dans les faits, il est possible de véhiculer jusqu'à 48 canaux pleine bande, 15 canaux basse fréquence, des canaux multilingues..., et d'encoder des signaux aux fréquences d'échantillonnage comprises entre 8 et 96 kHz. Si la notion de Layer s'est envolée, on retrouve trois niveaux de complexité : Main, LC (Low Complexity) et SSR (Scaleable Sampling Rate). Là encore, plus la structure plus complexe, plus les temps d'encodage/décodage sont longs (un Pentium 90 MHz minimum est requis pour un décodage temps réel), et meilleure est la qualité à débit égal.
A l'oreille | |
|
Des tests ont démontré que l'AAC Main, l'AAC LC et l'AAC SSR à 128 kpbs étaient supérieurs au MPEG-1 Layer-II à 192 kbps et au MPEG-1 Layer III à 128 kbps. L'AAC Main 96 kbps se comporte également mieux que le MPEG-1 Layer III à 128 kbps, en usage sur Internet. Cela signifie concrètement que le MPEG-2 AAC laisse le choix entre un temps de chargement 1,33 fois plus rapide pour un son équivalent (25% d'économie), ou une qualité supérieure pour un même débit. Par ailleurs, 80% des auditeurs sondés n'ont décelé aucune différence sensible entre l'AAC Main 128 et l'original ! Enfin, l'AAC Main cinq canaux à 320 kpbs (64 kbps par canal) dépasserait le MPEG-2 BC à 640 kbps. Si l'AAC était sorti plutôt, nul doute qu'il aurait pris la place de mon second sur les DVD PAL. Dommage...
Au rayon logiciels, en théorie, on ne trouverait soi-disant pas de freewares ou de sharewares. En effet, si le "code source" du décodeur est public, des rumeurs circulent comme quoi des royalties seraient prélevées sur l'exploitation. En pratique, il existe d'ores et déjà quelques programmes de décodage et d'encodage en téléchargement sur le Web. D'autre part, le site a2b exploite l'AAC à des fins commerciales, en association avec des systèmes de cryptage et de paiement.
En attendant que le MPEG-2 NBC se répande sur Internet, on ne sait toujours pas de quelle extension seront affublés les fichiers : ".mp4" ? ".aac" ? L'AAC faisant partie intégrante de la quatrième phase, dite MPEG-4, qui incorpore d'autres procédés de compression et fera l'objet d'un second volet, voilà encore une belle source de confusion en perspective !
Abrévations | |
|
Musicam : Masking Pattern Universal Sub-band Integrated Coding and Multiplexing
AAC : Advanced Audio Coding
ASPEC : Adaptive Spectral Perceptual Entropy Coding
AT&T : American Telephone and Telegraph
Atrac : Adaptative TRansform Acoustic Coding
DCC : Digital Compact Cassette
IEC : International electrotechnocal Commission
ISO : International Organisation for Standarddisation
MPEG : Moving Pictures Expert Group
Pasc : Precision Adaptive Sub-band Coding
© Christian Braut
Soyez le premier à donner votre Avis | |
|
|
Pas encore membre?
Devenez membre! C'est rapide, gratuit et cela vous permet de poster vos annonces, vos news, des questions dans les forums, de changer vos réglages d'affichage...
|