Quantification (signal)

Pour les articles homonymes, voir quantification.

En traitement des signaux, la quantification est le procédé qui permet d'approcher un signal continu par les valeurs d'un ensemble discret d'assez petite taille. On parle aussi de quantification pour approcher un signal à valeurs dans un ensemble discret de grande taille par un ensemble plus restreint.

L'application la plus courante de la quantification est la conversion analogique-numérique mais elle doit le développement de sa théorie aux problèmes de quantification pour la compression de signaux audio ou image.

Le but de la quantification est, à partir d'une valeur d'entrée donnée d'un espace E, de déterminer la valeur la plus proche dans l'ensemble F d'arrivée. Dans le cas d'une conversion analogique-numérique, l'ensemble E est continu, on peut prendre  E = R {\displaystyle E=\mathbb {R} } et l'ensemble d'arrivée est discret, de taille finie. Cet ensemble est généralement appelé dictionnaire.

Exemple de quantification (en rouge) d'un signal continu

Depuis l'essor de l'apprentissage automatique au début du vingt-et-unième siècle, les chercheurs se penchent sur l'application de la quantification dans ce domaine, dans le but d'augmenter les performances de calculs[1],[2],[3].

## Quantification scalaire

[modifier | modifier le code]

On parle de quantification scalaire lorsque le dictionnaire est de dimension 1, c'est-à-dire ses valeurs sont des scalaires. La quantification scalaire est la forme la plus simple de quantification, le cas où le dictionnaire est un espace de dimension supérieure à 1 est appelé la quantification vectorielle.

Un quantifieur scalaire de taille n est une application Q, de  R {\displaystyle \mathbb {R} } dans un ensemble discret fini F, de dimension 1 et de taille n,  F = { x 1 ^ … x n ^ } {\displaystyle F=\\{{\hat {x_{1}}}\ldots {\hat {x_{n}}}\\}} ,  Q : R -> F {\displaystyle Q:\mathbb {R} \to F} . On note  x ^ = Q ( x ) {\displaystyle {\hat {x}}=Q(x)} .

Un quantifieur peut se définir comme un ensemble d'intervalles de l'espace de départ, [tk , tk+1], où les tk sont appelés niveaux de décision. À chaque intervalle [tk , tk+1], on fait correspondre une seule valeur de l'espace d'arrivée, rk, appelée niveau de reconstruction. La forme typique d'un quantifieur est donc une fonction en escalier. D'une manière générale, la largeur d'un intervalle n'est pas constante :  q k = t k + 1 − t k ≠ c s t e {\displaystyle q_{k}=t_{k+1}-t_{k}\neq cste} . Cette largeur est appelée le pas de quantification. En général, les niveaux de reconstruction ne sont pas non plus uniformément répartis :  r k + 1 − r k ≠ c s t e {\displaystyle r_{k+1}-r_{k}\neq cste} .

### Quantifieur scalaire uniforme

[modifier | modifier le code]

Quantificateur uniforme avec un pas de quantification de 1

C'est le type de quantifieur le plus simple, où les intervalles sont de longueur constante.

Le pas de quantification est donc fixe : tk \+ 1 – tk = q pour tout k.

Les niveaux de reconstructions sont aussi uniformément répartis. Il est parfois appelé quantifieur scalaire symétrique.

### Quantifieur à zone morte

[modifier | modifier le code]

C'est un type spécial de quantifieur, où l'intervalle autour de zéro est plus large. La zone morte ou dead-zone qualifie donc cet intervalle autour de zéro, qui permet à l'ensemble des valeurs de source considérées comme petites, d'être quantifiées à une seule même valeur (généralement zéro).

Ce type de quantifieur est donc non uniforme (ou asymétrique). Toutefois, si l'ensemble des autres intervalles sont uniformes, on qualifie généralement ce type de quantifieur uniforme à zone morte.

Ce type de quantifieur est très utilisé en compression d'image, où à la suite d'une transformation de l'image par ondelette ou DCT, il existe de très nombreuses valeurs autour de zéro, non significatives, qui pénaliseraient la suite du processus de codage. Typiquement, les valeurs comprises dans la zone morte sont quantifiées à zéro, et ne sont donc pas considérées par le codage entropique. Il existe alors de très nombreux coefficients quantifiés à zéro, ce qui permet d'utiliser des méthodes comme le RLE.

La norme JPEG 2000 utilise un quantifieur scalaire uniforme à zone morte.

### Autres quantifieurs scalaires non uniformes

[modifier | modifier le code]

De manière générale, on peut répartir les niveaux de quantification de toutes les façons possibles.

Pour un signal de parole, dont la plupart des valeurs sont autour de zéro, on utilisera un quantifieur avec beaucoup de niveaux autour de zéro et peu de niveaux ailleurs.

## Pas de discrétisation

[modifier | modifier le code]

Un signal analogique peut avoir des variations infinitésimales. La quantification correspondant à des niveaux discrets, il en résulte une perte d'information, pour peu que l'on puisse mesurer des variations inférieures aux longueurs d'intervalle de quantification avec des moyens analogiques.

Le signal quantifié est en général un signal électrique, avec un convertisseur analogique-numérique — s'il est d'une autre nature, on le transforme en signal électrique, avec un transducteur. Appelons ΔV l'amplitude maximale du signal en tension, et δV la plus petite variation du signal numérisé, le pas de discrétisation. Dans le cas d'une quantification uniforme, si l'on a N seuils, on a alors :

δ V = Δ V N − 1 . {\displaystyle \delta V={\frac {\Delta V}{N-1}}.}

En général, N est grand pour que la quantification soit « fine », on peut donc écrire :

δ V ≃ Δ V N . {\displaystyle \delta V\simeq {\frac {\Delta V}{N}}.}

En général, le signal numérisé est codé en base deux pour un stockage informatique (voir l'article Format de données). La variation minimale δV correspond alors au bit de poids faible ; δV est de fait fréquemment désigné par le sigle LSB, pour least significant bit. Si le signal est codé sur n bits, on a alors N = 2n et

δ V LSB ≃ Δ V 2 n . {\displaystyle \delta V_{\textrm {LSB}}\simeq {\frac {\Delta V}{2^{n}}}.}

## Bruit de quantification

[modifier | modifier le code]

Quantification d'un signal analogique sur 2 bits (4 valeurs).
Graphique du bas : différence entre les deux signaux du graphique du haut (l'accumulation des erreurs de quantification représente le bruit).

La quantification est une opération destructrice d'information. Elle introduit une erreur (ou un bruit) entre le signal quantifié et le signal source. Cette erreur est généralement mesurée par la distance suivante :

e ( n ) = x ^ ( n ) − x ( n ) {\displaystyle e(n)={\hat {x}}(n)-x(n)}

Cette erreur de quantification est aussi appelée distorsion.

Considérons un quantificateur de n-bits avec une excursion de tension d'entrée de  ± V max {\displaystyle \pm V_{\max }} . Le pas de quantification est donné par  δ V = 2 V max 2 n {\displaystyle \delta V={\frac {2V_{\max }}{2^{n}}}} .

Pour mesurer l'erreur de quantification, nous supposons que l'erreur est uniformément distribuée entre  − δ V / 2 < e ( n ) < δ V / 2 {\displaystyle -\delta V/2<e(n)<\delta V/2} (hypothèse raisonnable pour les faibles valeurs de δV). La probabilité totale d'erreur étant de 1, l'amplitude de la fonction de densité de probabilité de l'erreur de quantification pe est de  1 / δ V {\displaystyle 1/\delta V} pour  − δ V / 2 < e ( n ) < δ V / 2 {\displaystyle -\delta V/2<e(n)<\delta V/2} et 0 ailleurs.

d'où une puissance de bruit (ou variance) :

σ e 2 = ∫ − δ V / 2 δ V / 2 e 2 1 δ V d e = δ V 2 12 = V max 2 2 − 2 n 3 {\displaystyle \sigma _{e}^{2}=\int _{-\delta V/2}^{\delta V/2}e^{2}{\frac {1}{\delta V}}\mathrm {d} e={\frac {\delta V^{2}}{12}}={\frac {V_{\text{max}}^{2}2^{-2n}}{3}}}

## Quantifieur scalaire optimal

[modifier | modifier le code]

Le quantifieur optimal est celui qui minimise la distorsion.

Le quantifieur scalaire uniforme est optimal si l'amplitude de la source suit une distribution uniforme. Les signaux audio ou image ne peuvent cependant être considérés comme des sources uniformes, ce qui a conduit à la recherche d'algorithmes permettant de générer un quantifieur optimal, pour tous types de sources. Ce quantifieur est donné par l'algorithme de Lloyd-Max, basé sur les conditions d'optimalités définies par Lloyd en 1957.

## Notes et références

[modifier | modifier le code]

1. ↑ (en) Rethinking floating point for deep learning
2. ↑ (en) Posits, a New Kind of Number, Improves the Math of AI
3. ↑ (en) FP8 formats for deep learning

## Voir aussi

[modifier | modifier le code]

### Bibliographie

[modifier | modifier le code]

* M Antonini et Vincent Ricordel, « Quantification », dans Michel Barlaud et Claude Labit (dir.), Compression et codage des images et des vidéos : Traité IC2, Série traitement du signal et de l’image, Paris, Hermes, janvier 2002, 1re éd., 28 p. (ISBN 2-7462-0328-6, lire en ligne)
* Quantization Robert M. Gray, David L. Neuhoff, IEEE Trans. on Inf. Theory, 1998
* Source Coding Theory, Robert M. Gray
* S. P. Lloyd, “Least squares quantization in PCM”, IEEE Trans. Inform. Theory, vol. IT-28, p. 129-137, mars 1982

### Articles connexes

[modifier | modifier le code]

* Loi A
* Loi Mu
* Dither (audio)
* Quantification vectorielle
* Compression d'image
* Lecture minimale

### Liens externes

[modifier | modifier le code]

* Site web consacré à la quantification optimale
* Bruit de quantification d'une sinusoide quantifiée \- Analyse de l'erreur de quantification d'une sinusoïde.

* Portail de l’électricité et de l’électronique
* Portail des télécommunications
* Portail de l’imagerie numérique
* Portail des mathématiques

*[(en)]: Langue : anglais
*[1re]: première
*[éd.]: édition
*[p.]: pages