Le codage audio numérique

Daniel Jean

Cet article présente les techniques communes du codage du signal audio numérique.

- Titre : Le codage audio numérique

- Auteur : Daniel Jean

- Parution : 12 juin 2005

- Mise à jour : 18 janvier 2020

- Licence : Copyright ® 12/06/2005 Daniel Jean. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Introduction

- II. Le mécanisme de l'audition

- III. Codage en sous-bandes

- III-A. Couche 1 du MPEG

- III-B. Couche 2 du MPEG

- IV. Codage de transformée

- IV-A. Couche 3 du MPEG

- IV-B. Le codage AC-3

I - Introduction

L'Audio Engineering Society (AES) et l'European Broadcasting Union (EBU) ont établi conjointement une norme audio numérique connue sous le terme d'interface AES/EBU. Cette norme propose des formats pour l'échange d'informations audionumériques entre appareils audio professionnels, tout en garantissant la souplesse nécessaire aux applications spéciales. L'International Electrotechnical Commission (IEC) a également adopté un format basé sur la norme AES/EBU pour les appareils audio grand public.

En bref, la norme de format AES/EBU définit comment deux canaux d'informations audio sont périodiquement échantillonnés et transmis sur une paire de fils torsadés. Les canaux audio gauche et droit sont multiplexés et sont autocadencés et autosynchronisés. Le format de mesure est indépendant de la fréquence d'échantillonnage recommandée par l'AES et supporte, sur 24 bits, 32 kHz, 44,1 kHz et 48 kHz.

« Ne jamais transmettre ce que l'on ne peut pas entendre. »

Cette compression audio, qui est entièrement basée sur les caractéristiques de l'audition humaine, s'accompagne de pertes et ne peut être abordée sans une étude préalable de ce sens. Il est surprenant de constater que l'audition humaine, et particulièrement en stéréo, a un pouvoir discriminatoire bien supérieur à celui de la vision et c'est pourquoi la compression audio doit être envisagée avec encore plus de précautions. Comme la compression vidéo, la compression audio nécessite plusieurs niveaux de complexité en fonction du facteur de compression souhaité.

Une autre considération importante dans l'enregistrement et la diffusion numérique d'aujourd'hui est le monitoring du « point de crash » ou point d'atteinte du « niveau d'entrée maximum » admissible par un système ou un équipement. Le format d'enregistrement numérique est quelque peu plus tolérant, dans le sens où quelques pointes « hors tolérance » tombent simplement hors de la gamme de l'appareil numérique et ne sont pas échantillonnées. Une série de « pops » ou de « sifflements » qui pourraient sérieusement compromettre un enregistrement analogique peuvent être automatiquement « atténués ». Ce phénomène a entraîné quelques personnes vers la fausse notion que les niveaux audio numériques pouvaient être appréhendés de manière plus simpliste. Les appareils de mesure rudimentaires intégrés dans la plupart des appareils numériques reflètent cette attitude. Il est aussi nécessaire de produire un volume plus consistant dans les enregistrements numériques que dans les enregistrements analogiques. Avoir quelques prises « plus fortes » que d'autres est plus acceptable dans le nouveau monde numérique que cela n'était dans l'environnement analogique. Il y a également la même nécessité de protéger les CRÊTES. L'idée qu'un « certain nombre » de crashs soit tolérable est simplement fausse. Obtenir le volume au détriment des crêtes résulte en une perte de dimension et de clarté.

II - Le mécanisme de l'audition

L'audition se compose d'un processus physique à l'intérieur de l'oreille et d'un processus nerveux et mental qui se combinent pour donner une impression sonore. L'impression que nous recevons n'est pas exactement similaire à la forme d'onde acoustique présente dans le conduit auditif parce qu'une certaine entropie est perdue. Les systèmes de compression audio qui donneront de bons résultats seront donc ceux qui ne perdront que la partie de l'entropie qui est perdue dans le mécanisme de l'audition.

Le mécanisme physique de l'audition se répartit en trois parties : l'oreille externe, l'oreille moyenne et l'oreille interne. En plus du pavillon, l'oreille externe comprend le conduit auditif et le tympan. Le tympan transforme les sons incidents en une vibration comme le fait un diaphragme de microphone. L'oreille interne opère en utilisant ces vibrations transmises à travers un fluide. L'impédance du fluide est bien supérieure à celle de l'air et l'oreille moyenne agit comme un transformateur d'impédance qui effectue le transfert d'énergie.

Oreille

On voit ci-dessus que les vibrations sont transférées à l'oreille interne par l'étrier, qui agit sur la fenêtre ovale. Les vibrations du fluide de l'oreille interne parviennent au limaçon, une cavité du crâne en forme de spirale(présentée déroulée sur la figure, pour plus de clarté). La membrane basilaire est étirée sur toute la longueur du limaçon. Le poids et la consistance de cette membrane varient d'un bout à l'autre. Près de la fenêtre ovale, la membrane est rigide et légère et sa fréquence de résonance est élevée. À l'autre extrémité, la membrane est lourde et souple, ce qui fait qu'elle résonne aux fréquences basses.

La gamme de fréquences disponibles détermine la plage de l'audition humaine qui, pour la plupart des gens, s'étend de 60 Hz à 15 Khz. Les différentes fréquences du son incident provoquent la vibration de différentes parties de la membrane. Toutes les zones de la membrane sont reliées à différentes terminaisons nerveuses qui permettent une discrimination très fine. La membrane basilaire est également munie de fins muscles commandés par les nerfs et qui agissent ensemble dans une sorte de contre-réaction positive qui aurait tendance à augmenter le facteur de résonance Q. Le comportement résonnant de la membrane basilaire constitue une réplique exacte d'un analyseur de transformées.

En raison de la théorie de l'incertitude, plus le domaine de fréquences d'un signal est connu, moins son domaine temporel est connu. En conséquence, plus un système est apte à déterminer la différence entre deux fréquences, moins il est capable de séparer le temps qui les sépare. L'audition humaine a développé un certain compromis entre la discrimination incertitude temporelle et la discrimination de fréquence, ce compromis impliquant qu'aucune perfection n'est atteinte. La discrimination imparfaite de fréquences résulte du fait de l'incapacité de séparer deux fréquences proches. Cette incapacité est connue comme un effet de masquage auditif qui réduit la sensibilité d'un son en présence d'un autre. La figure 3.2a montre que le seuil d'audition est fonction de la fréquence. La plus grande sensibilité se situe naturellement dans la gamme de fréquences de la parole.

Seuil audition

En présence d'une note pure, le seuil est modifié, tel qu'indiqué sur la figure 3.2b. Le seuil est relevé non seulement pour des fréquences hautes, mais aussi pour quelques fréquences basses. En présence d'une source sonore au spectre plus complexe, comme de la musique, le seuil est relevé à presque toutes les fréquences. Une conséquence de ce comportement est que le sifflement d'une cassette audio n'est audible que pendant les passages très doux de la musique.

La compression utilise ce principe en amplifiant les fréquences basses avant l'enregistrement ou la transmission et en les ramenant ultérieurement à leur niveau convenable. La discrimination imparfaite de temps montrée par l'oreille est due à sa réponse résonante. Le facteur de résonance Q est tel qu'il faut qu'un son donné soit présent au moins une milliseconde avant qu'il ne devienne audible. À cause de cette réponse lente, le masquage peut se produire même si les deux signaux concernés ne sont pas simultanés. Les masquages avant et arrière peuvent se produire quand le son de masquage continue à agir à des niveaux plus faibles avant et après la durée courante du son de masquage. La figure 3.3 démontre ce concept. Le masquage relève le seuil d'audition et les systèmes de compression tirent parti de cet effet en rehaussant le niveau « plancher » de bruit, permettant ainsi au signal audio d'être exprimé avec moins de bits. Le plancher de bruit ne peut être relevé que pour les fréquences auxquelles le masquage agit. Pour maximaliser le masquage actif, il faut découper le spectre audio en différentes bandes de fréquence pour permettre l'introduction des différentes quantités de compression et de bruit dans chacune d'elles.

III - Codage en sous-bandes

La figure suivante montre un compresseur à bandes séparées. 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. La sortie de chaque bande consiste en des échantillons représentatifs de la forme d'onde. Dans chaque bande de fréquence, l'entrée audio est amplifiée au maximum avant la transmission. Chaque niveau est ensuite ramené à sa valeur initiale. Le bruit introduit par la transmission est ainsi réduit dans chaque bande. Si l'on compare la réduction de bruit au seuil d'audition, on s'aperçoit qu'un bruit plus important peut être toléré dans certaines bandes du fait de l'action du masquage. Par conséquent, il est possible, dans chaque bande, de réduire la longueur des mots d'échantillons après la compression. Cette technique réalise une compression parce que le bruit introduit par la perte de résolution est masqué. La figure ci-dessous présente un codeur simple à bandes séparées, comme ceux utilisés dans la Couche 1 du MPEG. L'entrée audionumérique alimente un filtre de séparation de bandes qui divise le spectre du signal en un certain nombre de bandes.

Compresseur à bandes séparées

En MPEG, ce nombre est de 32. L'axe des temps est divisé en blocs d'égale longueur. Dans la couche 1 de MPEG, il y a donc 384 échantillons du signal d'entrée, ce qui se traduira, en sortie du filtre, par 12 échantillons dans chacune des 32 bandes. À l'intérieur de chaque bande, le niveau est amplifié par multiplication jusqu'à sa valeur maximale. Le gain nécessaire est constant pour la durée du bloc et un seul facteur d'échelle est transmis avec chaque bloc, pour chaque bande, de façon à pouvoir renverser le processus au décodage.

La sortie du groupe de filtres est également analysée afin de déterminer le spectre du signal d'entrée. Cette analyse permet de réaliser un modèle de masquage permettant de déterminer le degré de masquage que l'on peut attendre dans chaque bande. Dans chaque bande, plus le masquage est agissant, moins l'échantillon doit être précis. La précision d'échantillon est alors réduite par requantification en vue de diminuer la longueur des mots. Cette réduction est aussi constante pour chaque mot dans la bande, mais les différentes bandes peuvent utiliser des longueurs de mots différentes. La longueur de mots doit être transmise comme un code d'affectation de bits afin de permettre au décodeur de désérialisé convenablement le flux de bits.

III-A - Couche 1 du MPEG

La figure suivante montre un flux de bits audio MPEG Niveau 1

Après le mot de synchronisation et l'en-tête, il y a 32 codes d'affectation de bits de 4 bits chacun. Ces codes décrivent la longueur des mots des échantillons dans chaque sous-bande. Viennent ensuite les 32 facteurs d'échelle utilisés par la compression dans chaque bande. Ces facteurs d'échelle sont indispensables pour rétablir le bon niveau au décodage. Les facteurs d'échelle sont suivis des données audio de chaque bande.

Voici un décodeur du type Couche 1.

Le mot de synchronisation est détecté par le générateur de temps qui désérialise les bits d'affectation et les données de facteur d'échelle. L'affectation de bits permet ensuite la désérialisation des échantillons à longueurs variables. La requantification inverse et la multiplication par l'inverse du facteur de compression sont appliquées de façon à ramener le niveau de chaque bande à sa bonne valeur. Les 32 bandes sont ensuite rassemblées dans un filtre de recombinaison pour rétablir la sortie audio.

III-B - Couche 2 du MPEG

Cette figure montre que, lorsque le filtre de séparation de bandes est utilisé pour créer le modèle de masquage, l'analyse de spectre n'est pas très précise dans la mesure où il n'y a que 32 sous-bandes et que l'énergie est répartie dans la totalité de la bande. On ne peut pas trop augmenter le plancher de bruit car, dans le pire des cas, le masquage n'agirait pas. Une analyse spectrale plus précise autoriserait un facteur de compression plus élevé. Dans la couche 2 du MPEG, l'analyse spectrale est effectuée à l'aide d'un processus séparé.

Une FFT à 512 points est effectuée directement à partir du signal d'entrée pour le modèle de masquage. Pour améliorer la précision de la résolution de fréquence, il faut augmenter l'excursion temporelle de la transformée, ce qui est effectué en portant la taille du bloc à 1152 échantillons. Bien que le synoptique de la compression de blocs soit identique à celui de la couche 1 du MPEG, tous les facteurs d'échelle ne sont pas transmis dans la mesure où, dans les images de programme, ils présentent un degré de redondance non négligeable.

Le facteur d'échelle de blocs successifs excède 2dB dans moins de 10 % des cas et on a avantage à tirer parti de cette caractéristique en analysant les groupes de trois facteurs d'échelle successifs. Sur les programmes fixes, seul un facteur d'échelle sur trois est transmis. À mesure de l'augmentation de la variation dans une bande donnée, deux ou trois facteurs d'échelle sont transmis. Un code de sélection est également 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 facteur d'échelle.

IV - Codage de transformée

Les couches 1 et 2 du MPEG sont basées sur les filtres séparateurs de bandes dans lesquels le signal est toujours représenté comme une forme d'onde. La couche 3 utilise de son côté un codage de transformée comme celui utilisé en vidéo. Comme indiqué plus haut, l'oreille effectue une espèce de transformée sur le son incident et, du fait du facteur de résonance Q de la membrane basilaire, la réponse ne peut augmenter ou diminuer rapidement. Par conséquent, si un signal audio est transformé dans le domaine fréquentiel, il n'est plus nécessaire de transmettre les coefficients trop souvent. Ce principe constitue la base du codage de transformée. Pour des facteurs de compression plus élevés, les coefficients peuvent être requantifiés, ce qui les rend moins précis. Ce processus génère du bruit qui pourra être placé à des fréquences où le masquage est le plus fort. Une caractéristique secondaire d'un codeur de transformée est donc que le spectre d'entrée est connu très précisément, ce qui permet de créer un modèle de masquage très fidèle.

IV-A - Couche 3 du MPEG

Ce niveau complexe de codage n'est en réalité utilisé que lorsque les facteurs de compression les plus élevés sont nécessaires. Il comporte quelques points communs avec la couche 2. Une transformée cosinus discrète à 384 coefficients de sortie par bloc est utilisée. On peut obtenir ce résultat par un traitement direct des échantillons d'entrée, mais, dans un codeur multiniveau, il est possible d'utiliser une transformée hybride incorporant le filtrage 32 bandes des couches 1 et 2. Dans ce cas, les 32 sous-bandes du filtre QMF (Quadrature Mirror Filter) sont ensuite traitées par une Transformée Cosinus Discrète Modifiée (Modified Discrete Cosine Transform) à 32 bandes pour obtenir les 384 coefficients. Deux tailles de fenêtres sont utilisées pour éviter les préoscillations à la transmission. La commutation de fenêtres est commandée par le modèle psychoacoustique. On a trouvé que le préécho n'apparaissait dans l'entropie que lorsqu'elle était supérieure au niveau moyen. Pour obtenir le facteur de compression le plus élevé, une quantification non uniforme des coefficients est effectuée selon le codage de Huffman. Cette technique attribue les mots les plus courts aux valeurs de code les plus fréquentes.

IV-B - Le codage AC-3

La technique de codage audio AC-3 est utilisée avec le système ATSC à la place d'un des systèmes de codage audio MPEG. DVB a aussi dû l'adopter sous la pression des industriels. Le système AC-3 est basé sur une transformée et obtient le gain de codage en requantifiant les coefficients de fréquence. L'entrée PCM d'un codeur AC-3 est divisée en blocs par des fenêtres qui se chevauchent comme indiqué ci-dessous.

Ces blocs contiennent chacun 512 échantillons, mais, du fait du chevauchement total, il existe une redondance de 100 %. Après la transformée, il existe donc 512 coefficients qui peuvent, du fait de la redondance, être ramenés à 256 à l'aide d'une technique appelée Suppression par aliasing dans le domaine temporel (TDAC, Time Domain Aliasing Cancelation).

La forme du signal d'entrée est analysée et, s'il existe une évolution significative dans la seconde moitié du bloc, le signal sera séparé en deux pour éviter les prééchos. Dans ce cas, le nombre de coefficients reste le même, mais la résolution de fréquence sera divisée par deux et la résolution temporelle doublée. Un indicateur (flag) est placé dans le flux de bits pour signaler que cette opération a été effectuée. Les coefficients sont émis sous un format à virgule flottante avec une mantisse et un exposant. La représentation est l'équivalent binaire de la notation scientifique.

Les exposants constituent en fait les facteurs d'échelle. Le jeu d'exposants d'un bloc produit l'analyse spectrale d'un signal d'entrée avec une précision finie sur une échelle logarithmique appelée enveloppe spectrale. Cette analyse spectrale est le signal d'entrée du modèle de masquage définissant, pour chaque fréquence, le niveau jusqu'où le bruit peut être augmenté. Le modèle de masquage pilote le processus de requantification qui diminue la précision de chaque coefficient en arrondissant la mantisse. Cette mantisse constitue une partie significative de la donnée transmise. Les exposants sont également transmis, mais pas intégralement dans la mesure où la redondance qu'ils comportent peut être ultérieurement exploitée.

À l'intérieur d'un bloc, seul le premier exposant (celui de la fréquence la plus basse) est transmis dans sa forme absolue. Les autres sont transmis de façon différentielle et le décodeur ajoute la différence avec l'exposant précédent. Quand le signal audio présente un spectre assez aplati, les exposants peuvent être identiques pour plusieurs bandes de fréquences. Les exposants peuvent alors être assemblés en groupes de deux à quatre avec un indicateur décrivant leur mode de groupement. Des jeux de six blocs sont assemblés dans une trame de synchro AC-3. Le premier bloc de la trame comporte la donnée complète pour l'exposant, mais, dans le cas de signaux constants, les blocs suivants de la trame peuvent utiliser le même exposant. Voici un schéma du fonctionnement de l'encodeur AC-3 :

Alors que celui-ci démontre le fonctionnement du Décodeur AC-3 :

Le schéma suivant montre comment le signal AC-3 est transmis et reçu en DVB :