La loi A (en anglais A-Law) est un système de quantification logarithmique d'un signal audio, utilisé principalement à des fins de compression pour les applications traitant la voix humaine. Elle est standardisée sous la référence ITU-T G.711. Utilisée principalement en Europe, elle est semblable à la loi Mu utilisée aux États-Unis et au Japon.

Caractéristiques principales de la loi A

modifier
  • C'est un algorithme standardisé, défini dans le standard ITU-T G.711[1]
  • Sa complexité est faible
  • Il est utilisé pour des applications de traitement de la voix humaine
  • Il n'introduit presque aucun retard, grâce à sa faible complexité
  • Il est adapté aux systèmes de transmission par multiplexage temporel
  • Il n'est pas adapté à la transmission par paquets
  • Son facteur de compression est d'environ 2:1

Description

modifier
Transformation logarithmique

Transformation linéaire

modifier

L'équation de sortie de la loi A est :

,

A est le paramètre de compression. En Europe, on prend la valeur A = 87,7. La valeur A = 87,6 est parfois utilisée.

La fonction inverse est la suivante :

Transformation discrète

modifier

Dans le codec G.711, on n'utilise pas cette formule qui serait trop longue à calculer, mais un algorithme de transformation binaire qui donne des résultats approchants.

Cet algorithme prend en entrée un échantillon linéaire sur 12 bits (dont un bit de signe s), et donne en sortie un code sur 8 bits :

Échantillon linéaire Code compressé
s0000000wxyz s000wxyz
s0000001wxyz s001wxyz
s000001wxyza s010wxyz
s00001wxyzab s011wxyz
s0001wxyzabc s100wxyz
s001wxyzabcd s101wxyz
s01wxyzabcde s110wxyz
s1wxyzabcdef s111wxyz

Ce codage est similaire à une représentation en virgule flottante en base deux avec un bit de signe, une mantisse de 4 bits et un exposant de 3 bits.

Notes et références

modifier
  1. [PDF] UIT-T, Recommandation G.711 itu.int, version de 1993.