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 instrumentsmis 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 |