Le MPEG Audio à l'assaut du Web

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 : Rio, iPod, Archos 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” (modems) sont trop étroits pour le son. Le rapport entre le débit requis par la lecture d'un CD et celui d'un modem à 33 600 bauds est d'exactement 42 (44 100 kHz x 16 bits x 2 canaux/33 600 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 33 600 -, 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 e 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 ! Nous vous donnons donc rendez-vous le mois prochain, pour la suite et fin de la saga MPEG Audio...

Après avoir retracé l'historique des phases 1 et 2, voici les dernières nouvelles du front MPEG Audio, avec un tour d'horizon de la phase 4.

Prévu pour la télévision haute-définition, le MPEG-3 n'a jamais vu le jour : il fut abandonné, le MPEG-2 ayant été jugé suffisant. Nous passons donc directement au MPEG-4, sous titré Very Low Bitrate Audio-Visual Coding. Finalisés en octobre 1999, les travaux avaient démarré en juin 1993.

Le bon profil

Cette troisième phase élargit encore le champ d'action du MPEG, poursuit les efforts menés par le MPEG-2 pour se plier aux exigences des médias à faibles débits, Internet en tête. La télévision numérique et les applications à base de graphisme interactif sont également concernées. Plus conceptuel, le MPEG-4 décrit des éléments visuels, audio ou audiovisuels. Qualifiés de Media Objects, ces éléments pourront être issus de sources enregistrées/numérisées ou générés par ordinateur. Mentionnons-le au passage : le format de fichiers s'appuie sur l'architecture QuickTime Apple.

Revenons à l'audio, qui occupe toujours la “troisième partie” et fait logiquement l'objet de la norme 14496-3. Sous cette référence sont réunis quatre Profiles, consistant chacun en un ensemble de fonctions et d'outils associés. Dans l'ordre, nous trouvons : Speech (compression de la parole au travers des algorithmes HVXC et CELP, synthèse vocale), Synthesis (synthèse vocale toujours, mais surtout synthèse au sens large, avec transmission des “instruments”mis en équations pour que l'ordinateur puisse générer les sons nécessaires, et de la “partition électronique”... notamment via Midi), Scalable (fonctionnalités de Speech, auxquelles s'ajoute la compression de musique via les algorithmes AAC LC, AAC SSR et TwinVQ), Main (fonctionnalités des trois autres Profiles, auxquelles s'ajoute la compression de musique via l'algorithme AAC Main).

En pratique, ces différents outils servent à coder le son, pour des débits compris entre 2 et 64 kbps. Le HVXC est recommandé pour la voix (de 2 à 4 kbps, sur des signaux à 8 ou 16 kHz), le CELP aussi (de 4 à 24 kbps, cette fois), la musique s'appuyant sur l'AAC et le TwinVQ. Les débits couverts par ces deux algorithmes s'échelonnent de 6 à 64 kbps/canal, pour l'encodage de signaux PCM dont les fréquences d'échantillonnage démarrent à 8 kHz.

L'échelle des valeurs

Par rapport à sa version MPEG-2, l'AAC se voit amélioré et agrémenté de nouveaux outils de codage, au coeur de la technologie exploitée par le MPEG-4 pour véhiculer un contenu audio musical. Parmi les améliorations apportées, nous retiendrons entre autres le concept de “scalability” (terme difficilement traduisible - éventuellement par “mise à l'échelle”) : l'un des points clefs de ce standard naissant.

On rencontre des termes tels que “bitrate scalability” (moyennant une baisse de qualité, bien sûr, le débit d'un flux de données peut-être réduit, à la transmission ou au décodage), “bandwidth scalability” (même principe, en conservant une même qualité mais en se privant cette fois d'une partie du spectre), ou “decoder complexity scalability” (possibilité de soumettre le décodage d'un même signal à des décodeurs de complexité différentes), sans parler d'un mélange des genres (couche de base encodée en TwinVQ, couche supplémentaire en AAC).

On écoute

Tout comme avec le MPEG-2, de nombreux tests ont été menés pour évaluer la qualité des algorithmes de compression du MPEG-4 et les comparer à des équivalents. Par exemple, le TwinVQ à 6 kpbs se montre meilleur que le MPEG-1 Layer III à 8 kbps, et l'AAC 16 kbps un peu moins performant qu'un dénommé G.722 48 kbps (au débit trois fois supérieur, donc). Destiné à compresser des signaux musicaux, l'AAC, dans sa déclinaison “scal”, ou “Large Step Scaleable System” (flux à 56 kbps dont on peut extraire des versions 24 et 40 kbps), affiche une nette supériorité par rapport au MPEG-1 Layer III, mais ne détrône pas l'AAC Main, auquel il est légèrement inférieur en 40 et 56 kpbs (seul le 24 kpbs soutient la comparaison).

Enfin, dans sa déclinaison “scal BSAC”, ou “Small Step Scaleable” (flux à 56 kbps, dont on peut extraire des versions descendant jusqu'à 40 kpbs), il s'avère quasi-identique à l'AAC Main en 56 kpbs, mais très en-dessous en 40 kpbs. Peut mieux faire ! Signalons que l'AAC scal, BSAC ou non, encode des signaux échantillonnés à 24 kHz.

Vecorisation

Si le TwinVQ, avec l'AAC, représente une avancée majeure par rapport au MPEG-1 Layer III, difficile de savoir exactement comment il procède. On murmure que le signal serait encodé, non plus selon l'effet de masquage, mais en fonction d'une “table” de variations sonores : une sorte de “vectorisation”... Toujours est-il que la qualité de cet algorithme développé par le géant des télécommunications japonais NTT est étonnante. La plage de fréquence d'échantillonnage des signaux à encoder, mono ou stéréo, en 8 ou 16 bits, s'échelonne de 8 kHz (8 kbps par canal) à 44,1 kHz (48 kbps par canal), ce qui donne des ratios compris entre 1:15 et 1:86.

On murmure que les TwinVQ 80 et 96 kbps seraient meilleurs que les MPEG-1 Layer III 128 et 256 kbps. On dit aussi que l'on peut atteindre des ratios de 1:17 à 1:20 sans trop de conséquences sur la qualité, ou encore que le TwinVQ (les fichiers sont flanqués du suffixe “.vqf”), comme d'ailleurs l'AAC, ménage plus les aigus que le Layer III.

Pour conclure

Après le succès du MPEG-1 (Internet, Video CD, DAB, DVD...), et de son grand-frère le MPEG-2 (satellite, càble...), on peut s'attendre à ce que cette nouvelle phase accélère la diffusion audio sur le Web. Les outils sont là, semblent faire leurs preuves, et ne demandent qu'à être exploités. Cela n'empêche pas les travaux de poursuivre, avec la concrétisation du MPEG-7, sous-titré Multimedia Content Description Interface. Encore plus abstraite que le MPEG-4, cette nouvelle phase code des objets à un niveau cognitif... pourrait-on dire en toute simplicité !

Quoiqu'il en soit, entre la facilité avec laquelle télécharger des fichiers “.mp3” sur Internet et les prometteurs AAC ou Twin VQ, nous voici à l'aube d'une petite révolution dans la façon d'écouter de la musique. Un phénomène dont l'ampleur est renforcée par l'arrivée des baladeurs à mémoire conçus pour accueillir de tels fichiers. Un phénomène qui récolte les suffrages des internautes et sème la panique chez les ayant-droits. Mais ça, c'est une autre histoire...
P.S. : merci à Youssef Saidi (Philips), pour sa relecture attentive...

Abréviations

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
BRAUT : Broadcast Rating Auxiliary Unit Transmission :-)
BSAC : Bit Sliced Arithmetic Coding
CELP : Code Excited Linear Predictive
DAB : Digital Audio Broadcasting
HVXC : Harmonic Vector eXcitation Coding
NTT : Nippon Telegraph and Telephone
TwinVQ : Transform Domain Weighted Interleave Vector Quantization

Christian Braut