01audio-video : Le son, la musique et la video



La compression audio : pourquoi ?


Introduction

Compte tenu des contraintes théoriques de restitution d'un signal analogique de bonne qualité (pour l'oreille humaine) à partir d'un signal échantillonné (théorème de Shannon), on a imposé aux CD audio un format de stockage du son ayant les données suivantes :

  • Fréquence d'échantillonnage = 44,1 kHz
  • Données codées sur 16 bits
  • Son stéréo
Avec ce standard, calculons la place occupée par une minute de musique. On a 44100 échantillons en 1 seconde (44,1 kHz). Chaque échantillon est codé sur 16 bits soit 2 octets et le son est stéréo. On a donc ((44100*2)*2*60) octets pour une minute de musique stéréo soit 10,584x106 octets! Il faut environ 10 Mo pour stocker une minute de musique sur un CD. Si on considère qu'un morceau de musique dure en moyenne 3 à 4 mn, il faudra compter 30 à 40 Mo par morceau si on veut le stocker au format CDA (CD Audio). On voit qu'un signal audio au format CDA prend beaucoup de place d'où l'idée de chercher à le compresser.


Techniques de compression sonore

Comment opère-t-on une compression sur un fichier audio ? En fait, on devrait plutôt parler d'un ensemble de techniques utilisées pour arriver au résultat final. Parmi ces techniques, certaines sont dites destructrices d'autres non. Une compression destructrice, c'est une compression qui est réalisée en perdant de l'information. Cela signifie que si l'on décompresse le signal compressé à l'aide d'une telle technique, on ne retrouvera pas le signal de départ.

Parmi les techniques de compression destructrices, on a essentiellement des méthodes qui exploitent les propriétés de l'oreille humaine. Cette dernière entend les fréquences situées dans la gamme 20 Hz 20 kHz. Si un morceau contient des fréquences hors de cette gamme, on peut donc purement et simplement les supprimer sans perte de qualité audio puisque l'oreille ne les entend pas. En fait, on entend surtout correctement les fréquences situées dans la gamme 2 kHz 5 kHz. En effet, il faut moins de 5dB pour entendre les fréquences de cette bande alors qu'il faut plus de 20dB pour entendre les fréquences situées en dessous de 100Hz ou au dessus de 10kHZ. Ces constatations peuvent être exploitées pour réduire la taille des fichiers. On peut par exemple décider que toutes les fréquences au dessus de 15kHz seront supprimées. On peut utiliser aussi le principe des fréquences masquées. Si dans un groupe de fréquences, certaines ont un niveau sonore beaucoup plus élevé que d'autres, il n'est pas nécessaire de conserver les fréquences de niveau sonore faible : on ne les entendra pas. Pour utiliser une comparaison plus marquante, imaginez que vous êtes dans votre jardin et que vous entendez le pépiement des oiseaux. Le Concorde passe au dessus de votre tête (même très haut). Vous n'entendrez plus les oiseaux car le son qu'ils produisent est beaucoup plus faible que celui généré par l'avion. C'est comme si les oiseaux n'existaient plus ou avaient arrêté de chanter. On voit bien qu'il n'est pas nécessaire de coder toutes les fréquences présentes dans un morceau pour que l'oreille humaine le perçoive correctement quand même. Enfin, si les deux voies d'un son stéréo présentent des séquences semblables, au lieu de dupliquer ces séquences, on en stocke évidemment qu'une et l'information qu'à ce moment là, voie droite et voie gauche sont identiques.

Au rang des techniques non destructrices, que trouve-t-on ? Principalement des techniques de codage. Expliquons nous. Un son, c'est une fréquence. Une seconde de musique c'est donc une succession de fréquences. Imaginons que dans la suite d'échantillons composant une seconde de musique (rappelons qu'il y en a 44100) on ait plusieurs fois de suite la même fréquence, par exemple 10 fois. Si au lieu de stocker ces 10 points, on en stocke 1 seul et le nombre de fois où il se répète, on a besoin de coder 2 nombres et non 10. Si, de plus, on applique cette méthode à des fréquences non plus identiques mais très proches les unes des autres (si proches que l'oreille humaine moyenne ne puisse les distinguer), on peut encore gagner en place. Cette fois, la compression est destructrice puisque l'on remplace une fréquence par une autre (presque identique). On utilise également l'algorithme de Huffman (1952) comme méthode de codage des informations. Cette méthode est utilisée dans tous les algorithmes de compression (compression de fichiers texte, compression d'images, compression de sons). Elle repose sur l'utilisation d'un code de longueur variable et la probabilité d'apparition d'un événement (en l'occurrence ici d'une fréquence). Plus une fréquence apparaît souvent, plus son code sera court (nombre de bits faible pour la représenter). Le fichier est lu une 1ère fois et on dresse un tableau des fréquences apparaissant et le nombre de fois où elles apparaissent. On en déduit le code approprié. Ce codage est utilisé en dernier lieu. C'est la phase finale de la compression. C'est un codage non destructeur.

L'utilisation de toutes les possibilités de réduction évoquées dépend de la place que l'on souhaite accorder à 1 mn de son compressé et donc du taux de compression que l'on va devoir appliquer.

Il existe plusieurs normes de compression audio (MPEG1, MPEG2, ...). Ces normes sont établies par des organismes de normalisation. A partir des normes établies, des groupes de travail développe des outils permettant de compresser un signal audio tout en respectant les normes. Ce travail débouche sur des formats de compression et parfois le dépot d'un brevet. Parmi les formats audio compressés, on trouve le MP3, le mp3PRO, le format Ogg Vorbis, le WMA qui constituent les formats les plus connus mais il existe aussi les formats AAC, VQF ... Lorsqu'on compresse un morceau dans un format donné, on dit que l'on encode le fichier audio au format souhaité. Nous avons traité l'encodage en MP3, mp3PRO, Ogg Vorbis, FLAC et WMA pour répondre aux cas les plus couramment utilisés.



Retour à la page Dossiers Techniques Vers le haut de la page Retour à l'accueil