Outils pour la compression Application à la compression des signaux audio

Documents pareils
Quantification Scalaire et Prédictive

3 Approximation de solutions d équations

Projet de Traitement du Signal Segmentation d images SAR

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Chaine de transmission

TD1 Signaux, énergie et puissance, signaux aléatoires

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Intérêt du découpage en sous-bandes pour l analyse spectrale

Cours 02 : Problème général de la programmation linéaire

La classification automatique de données quantitatives

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

3. Conditionnement P (B)

Systèmes de transmission

Simulation de variables aléatoires

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Communications numériques

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Fonctions de plusieurs variables

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.

TSTI 2D CH X : Exemples de lois à densité 1

Probabilités sur un univers fini

Optimisation, traitement d image et éclipse de Soleil

Correction de l examen de la première session

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

I. Polynômes de Tchebychev

Programmes des classes préparatoires aux Grandes Ecoles

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Soutenance de stage Laboratoire des Signaux et Systèmes

Echantillonnage Non uniforme

Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens

Cours d Analyse. Fonctions de plusieurs variables

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette

Résolution de systèmes linéaires par des méthodes directes

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

Continuité et dérivabilité d une fonction

Systèmes de communications numériques 2

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Programmation linéaire

Représentation des Nombres

ISO/CEI NORME INTERNATIONALE

Transmission de données. A) Principaux éléments intervenant dans la transmission

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

Texte Agrégation limitée par diffusion interne

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

de calibration Master 2: Calibration de modèles: présentation et simulation d

Transmission d informations sur le réseau électrique

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Suites numériques 4. 1 Autres recettes pour calculer les limites

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Espérance conditionnelle

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Cours d analyse numérique SMI-S4

Rappels sur les suites - Algorithme

Dan Istrate. Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier

Probabilités III Introduction à l évaluation d options

I- Définitions des signaux.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Chap17 - CORRECTİON DES EXERCİCES

Chapitre I La fonction transmission

Équations non linéaires

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Calcul fonctionnel holomorphe dans les algèbres de Banach

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

Chapitre 2 Le problème de l unicité des solutions

Codage d information. Codage d information : -Définition-

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Conversion d un entier. Méthode par soustraction

Fonctions de deux variables. Mai 2011

Théorème du point fixe - Théorème de l inversion locale

Image d un intervalle par une fonction continue

M1107 : Initiation à la mesure du signal. T_MesSig

Enregistrement et transformation du son. S. Natkin Novembre 2001

Les algorithmes de base du graphisme

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Moments des variables aléatoires réelles

Température corporelle d un castor (une petite introduction aux séries temporelles)

Résolution d équations non linéaires

Economie de l incertain et de l information Partie 1 : Décision en incertain probabilisé Chapitre 1 : Introduction à l incertitude et théorie de

Représentation d un entier en base b

Précision d un résultat et calculs d incertitudes

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Commun à tous les candidats

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

CCP PSI Mathématiques 1 : un corrigé

La fonction exponentielle

Introduction à l étude des Corps Finis

IV- Equations, inéquations dans R, Systèmes d équations

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

OM 1 Outils mathématiques : fonction de plusieurs variables

Transcription:

en fin de document ISSN xxxx-xxxx Outils pour la compression Application à la compression des signaux audio

Introduction Les années cinquante ont vu le développement d une théorie, le codage de source, visant à formaliser le premier (et le dernier) élément d une chaîne de communication numérique : le passage d un signal analogique (à temps continu et à valeurs continues) vers un signal numérique (à temps discret et à valeurs discrètes). Dans ce document, on parlera peu de cette théorie car le problème s est en fait déplacé. Il ne s agit plus tellement d étudier la distorsion apportée au signal analogique par une opération d échantillonnage 1 puis de quantification. Il s agit plutôt d examiner s il est possible de comprimer de l information à partir d un signal lui même déjà sous une forme numérique de façon à pouvoir le stocker (dans des mémoires de masse) ou le déplacer (dans un réseau) à coût réduit sans apporter une dégradation qui le re sans intérêt. Prenons l exemple d un signal de musique. On sait qu il peut être reconstruit avec une qualité quasi parfaite (qualité CD ) s il a été échantillonné à une fréquence de 44.1 khz puis quantifié avec une résolution de 16 bits. Un CD stockant environ 70 minutes de signal de musique en stéréo soit 44100 4 60 70 750 Mo, on peut donc actuellement 2 collectionner de l ordre d une centaine de CD sur un disque dur de PC. Ce chiffre peut paraître insuffisant pour des fans de musique... Si on veut télécharger de la musique sur le réseau Internet, le besoin de compression est aussi évident : le téléchargement de l équivalent d un CD à un débit de l ordre d un mégabit/s réclame approximativement une heure! La révolution actuelle apportée à l accès de la musique par le phénomène MP3 est due simplement au fait qu un taux de compression de 10 à 15 appliqué à des signaux de musique sans dégradation perceptible change largement la donne. Dans ce document, on présentera d abord les outils standards (quantificateur scalaire, quantificateur prédictif, quantificateur vectoriel, techniques de codage par transformée, en sous-bandes, codage entropique). Pour pouvoir comparer les performances de ces outils, on prra un exemple académique, celui de la quantification d une réalisation x(n) d un processus aléatoire monodimensionnel X(n). C est une approche théorique mais elle permettra non seulement de donner des mesures objectives de ces performances mais aussi de mettre en évidence la cohérence qui existe entre tous les outils disponibles. Dans une deuxième partie, on s intéressera à la compression des signaux audio (parole en bande téléphonique, en bande élargie, musique en bande Hi-Fi). Dans tout ce document, on fera appel à des notions de base en traitement du signal. On utilisera les notations suivantes. On considérera un processus aléatoire mono-dimensionnel X(n) stationnaire, centré, de puissance σ 2 X et de densité spectrale de puissance S X(f). On le supposera également gaussien d abord parce que le caractère gaussien est maintenu par toute transformation linéaire en particulier un filtrage ce qui simplifie beaucoup le formalisme et aussi parce qu on verra qu un signal gaussien est le signal le plus difficile à coder, celui qui entraîne la puissance de l erreur de quantification la plus élevée. On notera X(m) le vecteur colonne de dimension N construit à partir de X(mN) X(mN +N 1). Ces N variables aléatoires sont statistiquement 1 étude suffisante dans le cadre d un cours de base en traitement du signal 2 au début des années 2000 page 1/162

complètement définies par leur densité de probabilité conjointe p X (x) = 1 (2π) N/2 det R X exp( 1 2 xt R 1 X x) où R X est la matrice d autocovariance R X = E{X(m)X t (m)} = r X (0) r X (1) r X (N 1) r X (1).............. rx (1) r X (N 1) r X (1) r X (0) matrice de Toeplitz de dimension N N. En outre, on supposera le processus X(n) autorégressif d ordre P, c est à dire obtenu par filtrage d un bruit blanc centré W (n) de variance σw 2 par un filtre d ordre P de fonction de transfert 1/A(z). L intérêt de prre comme exemple la quantification d un processus autorégressif, est de pouvoir exprimer simplement toutes les caractéristiques statistiques de la source en fonction des paramètres du filtre comme, par exemple, sa densité spectrale de puissance S X (f) = σ2 W A(f) 2 et de donner l expression analytique de la puissance de l erreur de quantification pour différents schémas de quantification lorsque l on choisit comme mesure de distorsion l erreur quadratique. Une comparaison des performances des différents schémas de quantification est alors possible. D un point de vue pratique, cet exemple n est pas absurde puisqu il est un modèle raisonnable pour un certain nombre de signaux, par exemple pour du signal de parole (la stationnarité n est alors vraie que de façon locale) lorsque l on choisit un ordre P suffisamment élevé (8 ou 10 par exemple). page 2/162

Première partie Outils pour la compression page 3/162

Chapitre 1 Quantification scalaire 1.1 Introduction Considérons un signal à temps discret x(n) prenant ses valeurs dans l intervalle [ A, +A]. Définir un quantificateur scalaire avec une résolution de b bits par échantillon consiste à réaliser trois opérations : 1. une partition de l intervalle [ A, +A] en L = 2 b intervalles distincts {Θ 1 Θ L } de longueurs { 1 L }, 2. une numérotation des éléments de la partition {i 1 i L }, 3. la sélection d un représentant par intervalle, l ensemble de ces représentants composant un dictionnaire (codebook) 1 C = {ˆx 1 ˆx L }. La procédure d encodage (à l émetteur) consiste à décider à quel élément de la partition appartient x(n) puis à lui associer le numéro i(n) {1 L = 2 b } correspondant. C est le numéro de l intervalle choisi, le symbole canal, qui sera transmis ou stocké. La procédure de décodage (au récepteur) consiste à associer au numéro i(n) le représentant correspondant ˆx(n) = ˆx i(n) choisi parmi l ensemble des représentants {ˆx 1 ˆx L }. Formellement, on peut observer qu un quantificateur est une application non bijective de [ A, +A] dans un ensemble fini C plus une règle d affectation ˆx(n) = ˆx i(n) {ˆx 1 ˆx L } ssi x(n) Θ i. C est un processus irréversible entraînant une perte d information, une erreur de quantification que l on notera q(n) = x(n) ˆx(n). Il est nécessaire de définir une mesure de distorsion d[x(n), ˆx(n)]. On choisira par la suite la mesure de distorsion la plus simple, l erreur quadratique d[x(n), ˆx(n)] = x(n) ˆx(n) 2. C est une mesure de distorsion ponctuelle (par lettre). Il est nécessaire de définir une mesure de distorsion plus globale. On prra l erreur quadratique moyenne (EQM) D = E{ X(n) ˆx(n) 2 }. Cette erreur est donc simplement la puissance de l erreur de quantification. On la notera par la suite σ 2 Q. Les tracés de la figure 1.1 montrent à gauche le signal avant quantification et les éléments d une partition de l intervalle [ A, +A] lorsque b = 3 et à droite l ensemble des représentants correspondants et le signal reconstruit. On observe aussi le comportement de l erreur de quanti- 1 Dans le cas scalaire, on parle habituellement de niveaux de quantification, de pas de quantification, de seuil de décision. On adoptera directement le vocabulaire propre à la quantification vectorielle. page 5/162

CHAPITRE 1. QUANTIFICATION SCALAIRE 8 8 6 6 4 4 2 2 0 0 2 2 4 4 6 6 8 8 5 10 15 20 25 30 35 40 45 50 5 10 15 20 25 30 35 40 45 50 Fig. 1.1 Signal avant quantification et partition de l intervalle [ A, +A] à gauche et ensemble des représentants, signal reconstruit et erreur de quantification à droite. fication. N est pas matérialisé ici le flux binaire circulant entre l émetteur et le récepteur. Le problème consiste à définir maintenant le quantificateur optimal c est à dire à déterminer les éléments de la partition {Θ 1 Θ L } et l ensemble des représentants {ˆx 1 ˆx L } minimisant σ 2 Q. 1.2 Quantification scalaire optimale On suppose que x(n) est la réalisation d un p.a. X(n) stationnaire à valeurs réelles. Pour la quantification scalaire, ce qui compte c est uniquement la distribution des valeurs que pr le p.a. X(n) à l instant n. Aucune exploitation directe de la corrélation existant entre les valeurs que pr le processus à des instants différents n est possible. La connaissance de la densité de probabilité marginale de X(n) est donc suffisante. On la notera p X (.). 1.2.1 Conditions nécessaires d optimalité Pour caractériser le quantificateur scalaire optimal, il faut trouver la partition et les représentants minimisant L σq 2 = E{[X(n) ˆx(n)] 2 } = (u ˆx i ) 2 p X (u)du. (1.1) u Θ i Cette minimisation conjointe n admet pas de solution simple. Par contre deux conditions nécessaires d optimalité sont faciles à obtenir. Si on connaît les représentants {ˆx 1 ˆx L }, on peut calculer la meilleure partition {Θ 1 Θ L }. Si on se donne la partition, on peut en déduire les meilleurs représentants. On peut dire que la partie encodage du quantificateur doit être optimale étant donnée la partie décodage et réciproquement. Ces deux conditions nécessaires d optimalité s obtiennent simplement lorsque l on choisit, comme mesure de distorsion, l erreur quadratique. 1. Etant donné un dictionnaire {ˆx 1 ˆx L }, la meilleure partition est celle qui vérifie i=1 Θ i = {x : (x ˆx i ) 2 (x ˆx j ) 2 j {1 L} }. C est la règle dite du plus proche voisin. En effet, si l on appelle t i la valeur définissant la frontière entre les partitions Θ i et Θ i+1, la minimisation de l erreur quadratique moyenne σ 2 Q relativement à ti est obtenue en écrivant t i t i+1 t i [ (u ˆx i ) 2 p X (u)du + (u ˆx i+1 ) 2 p X (u)du] = 0 t i 1 t i page 6/162

soit 1.2. QUANTIFICATION SCALAIRE OPTIMALE (t i ˆx i ) 2 p X (t i ) (t i ˆx i+1 ) 2 p X (t i ) = 0 t i = ˆxi + ˆx i+1. 2 2. Etant donnée une partition {Θ 1 Θ L }, les meilleurs représentants sont obtenus par la condition dite du centroïde (ou centre de gravité) de la partie de la densité de probabilité placée dans la région Θ i ˆx i = u Θ i up X (u)du u Θ i p X (u)du = E{X X Θi }. (1.2) En effet, on remarque d abord que la minimisation de σq 2 relativement à ˆxi ne fait intervenir qu un élément de la somme donnée par (1.1). En écrivant ensuite ˆx i (u ˆx i ) 2 p X (u)du = 0 u Θ i 2 up X (u)du + 2ˆx i u Θ i p X (u)du = 0 u Θ i on obtient la première égalité de la formule (1.2). Comme up X (u)du = u Θ i p X (u)du u Θ i où p X Θ i up X Θ i(u)du est la densité de probabilité conditionnelle de X sachant que X Θ i, on obtient ˆx i = up X Θ i(u)du ˆx i = E{X X Θ i }. La valeur que l on doit choisir est la valeur moyenne de X dans l intervalle considéré 2. On peut montrer que ces deux conditions d optimalité ne sont pas suffisantes pour garantir l optimalité du quantificateur sauf dans le cas d une distribution gaussienne. On remarque que la connaissance explicite de la partition n est pas nécessaire. Cette partition est entièrement déterminée par la connaissance de la mesure de distorsion, par l application de la règle du plus proche voisin et par l ensemble des représentants. Le schéma de l encodeur et du décodeur est donné figure 1.2. 1.2.2 Puissance de l erreur de quantification Lorsque le nombre L de niveaux de quantification est élevé, il est possible d obtenir explicitement, contrairement au cas précédent, l expression de la partition optimale et de la puissance de l erreur de quantification uniquement en fonction de la densité de probabilité p X (x). Cette hypothèse dite de haute résolution veut dire que la densité de probabilité peut être supposée constante dans l intervalle [t i 1, t i ] et que le représentant peut être pris au milieu de l intervalle. On peut donc écrire p X (x) p X (ˆx i ) pour x [t i 1, t i [ ˆx i ti 1 + t i. 2 2 Ce résultat a une interprétation en mécanique : le moment d inertie d un objet par rapport à un point est minimum lorsque ce point est le centre de gravité. page 7/162

CHAPITRE 1. QUANTIFICATION SCALAIRE x(n) Règle du plus proche voisin i(n) Inspection dans une table x(n) x 1... x L x 1 x L... Fig. 1.2 Encodeur et décodeur. On appelle la longueur de l intervalle [t i 1, t i ] et (i) = t i t i 1 P rob (i) = P rob {X [t i 1, t i ]} = p X (ˆx i ) (i) la probabilité que X(n) appartienne à l intervalle [t i 1, t i ]. La puissance de l erreur de quantification s écrit σ 2 Q = L i=1 t i p X (ˆx i ) (u ˆx i ) 2 du. t i 1 Comme on obtient Elle s écrit aussi t i t i 1 (u ˆx i ) 2 du = σ 2 Q = σ 2 Q = 1 12 L i=1 + (i)/2 (i)/2 u 2 du = 3 (i) 12 L p X (ˆx i ) 3 (i). (1.3) i=1 P rob (i) 2 (i) 12 = E{ 2 12 }. La puissance de l erreur de quantification ne dép que de la longueur des intervalles (i). On cherche { (1) (L)} minimisant σ 2 Q. Posons Comme L α(i) = i=1 α 3 (i) = p X (ˆx i ) 3 (i). L [p X (ˆx i )] 1/3 (i) i=1 + [p X (u)] 1/3 du = cste puisque cette intégrale ne dép plus des (i), on cherche à minimiser la somme des cubes de L nombres positifs ayant une somme constante. Il suffit de les prre tous égaux. On a donc α(1) = = α(l) ce qui implique α 3 (1) = = α 3 (L) page 8/162

1.2. QUANTIFICATION SCALAIRE OPTIMALE p X (ˆx 1 ) 3 (1) = = p X (ˆx L ) 3 (L). Cette relation veut dire qu un intervalle sera d autant plus petit que la probabilité que X(n) appartienne à cet intervalle sera élevée et que tous les intervalles auront la même contribution dans la puissance de l erreur de quantification. La puissance de l erreur de quantification a pour expression avec On obtient donc α = 1 L σ 2 Q = L 12 α3 + [p X (u)] 1/3 du. σq 2 = 1 ( + 3 12L 2 [p X (u)] du) 1/3. Comme L = 2 b, on obtient la formule dite de Benett σ 2 Q = 1 12 ( + [p X (u)] 1/3 du) 3 2 2b. (1.4) Cette démonstration n est pas rigoureuse mathématiquement. Elle sera reprise à la fin du chapitre 4 lorsque l on comparera ce mode de quantification à ce que l on appellera le quantificateur avec contrainte entropique. Deux cas particuliers sont intéressants. Lorsque X(n) est distribué suivant une loi uniforme, on obtient σ 2 Q = A2 3 2 2b = σ 2 X 2 2b. On pourrait remarquer que le passage par la formule de Benett n est pas indispensable. On peut obtenir ce résultat directement! Pour une source gaussienne, centrée, de puissance σx 2, pour laquelle p X (x) = 1 2πσX 2 exp( x2 2σX 2 ) on a + [p X (u)] 1/3 du = + + [p X (u)] 1/3 du = (2πσ 2 X) 1/3 3 1 x2 (2πσX 2 exp( )1/6 6σX 2 )du + 1 x2 (2π3σX 2 exp( )1/2 6σX 2 )du On en déduit que + [p X (u)] 1/3 du = (2πσ 2 X) 1/3 3. σ 2 Q = 1 12 2πσ2 X 3 3/2 2 2b σ 2 Q = c σ 2 X 2 2b (1.5) avec c = 3 2 π. page 9/162

CHAPITRE 1. QUANTIFICATION SCALAIRE Cette formule va servir de référence dans toute la suite de cet ouvrage. Elle admet l écriture équivalente suivante 10 log 10 σ 2 X σ 2 Q = 6.05 b 4.35 db. On en déduit la règle des 6 db par bit. On peut montrer que pour toute autre distribution (laplacienne, etc.), la puissance minimale de l erreur de quantification est toujours comprise entre ces deux valeurs. Le cas de la loi uniforme est le cas le plus favorable, le cas de la loi gaussienne est le cas le plus défavorable. Les travaux de Shannon et la théorie débit/distorsion formalisent cette constatation. Il serait intéressant de connaître les propriétés statistiques de l erreur de quantification. On peut montrer que l erreur de quantification est décorrélée avec le signal reconstruit mais que cette propriété n est pas vraie avec le signal original. On peut montrer également que, uniquement dans le cadre de l hypothèse de haute-résolution, l erreur de quantification est modélisable par un bruit blanc. Une analyse détaillée est possible (se reporter à l excellent papier [1]). 1.2.3 Compléments Algorithme de Lloyd-Max Dans la pratique, on ne connaît pas p X (x). Pour construire un quantificateur, on utilise des données empiriques, une base d apprentissage, en associant à chaque valeur le même poids et on applique l algorithme de Lloyd-Max, généralement dans sa variante dite LBG. Cet algorithme ayant été généralisé au cas vectoriel, il sera présenté au chapitre suivant. Transformation non-linéaire Un quantificateur scalaire non-uniforme peut-être vu comme un quantificateur scalaire uniforme précédé d une transformation non-linéaire et suivi de la transformation inverse 3. On définit la transformation par sa caractéristique f(x). Dans cette optique, le problème consiste à choisir la transformation non-linéaire qui minimise la puissance de l erreur de quantification. Cette étude fait l objet d un développement conséquent dans les deux ouvrages de N. Jayant et P. Noll [2] et d A. Gersho et R. Gray [3]. Ce développement ne me paraît plus fondamental depuis que le quantificateur vectoriel est devenu le véritable outil de base. Facteur d échelle Lors de la mise en œuvre d une procédure de quantification sur des signaux réels (parole, musique, image), un problème important est l estimation du paramètre A qui varie avec le temps, les signaux réels ne vérifiant pas l hypothèse de stationnarité! On examinera ce problème au chapitre suivant en introduisant une quantification particulière dite gain/shape particulièrement bien adaptée aux signaux qui ont des variations de puissance instantanée importantes par exemple les signaux audio. 1.3 Quantification scalaire prédictive 1.3.1 Principe Dans le développement précédent, on a vu que, pant l opération de quantification, aucune exploitation des liens statistiques pouvant exister entre les valeurs successives du signal n est réalisée. Nous allons voir que le quantificateur scalaire prédictif cherche à décorréler le signal 3 On utilise habituellement le néologisme companding pour compressing + expanding. page 10/162

1.3. QUANTIFICATION SCALAIRE PRÉDICTIVE avant de le quantifier et que l exploitation de la corrélation améliore le comportement global du système, c est à dire diminue la puissance de l erreur due à la quantification. Le schéma de principe du quantificateur scalaire prédictif est donné figure 1.3. On retranche x(n) + + y(n) Q Q 1 y(n) + + x(n) + A (z) v(n) Fig. 1.3 Schéma de principe du quantificateur prédictif. au signal x(n) un nouveau signal v(n). On réalise ensuite une procédure d encodage/décodage sur le signal y(n) = x(n) v(n). Au décodeur, on rajoute v(n) à la valeur reconstruite ŷ(n). On peut tout de suite remarquer que, dans une application réelle de codage, ce schéma n est pas très réaliste puisque il faudrait alors transmettre aussi au décodeur le signal v(n) mais attons la fin de ce chapitre pour montrer comment on passe d un schéma dit en boucle ouverte à un schéma en boucle fermée plus réaliste mais plus compliqué à analyser. Si on retranche une valeur au signal avant encodage pour la rajouter après décodage, l erreur de quantification q(n) = y(n) ŷ(n) et l erreur de reconstruction q(n) = x(n) ˆx(n) sont nécessairement égales à chaque instant puisque q(n) = y(n) ŷ(n) = x(n) v(n) [ˆx(n) v(n)] = q(n). Leurs puissances respectives sont donc identiques. Comme ce qui intéresse l utilisateur du système complet est d avoir une erreur de reconstruction de puissance la plus faible possible, le problème se ramène simplement à chercher à minimiser la puissance de l erreur de quantification. Si on suppose réalisée une quantification scalaire optimale de y(n), on sait que la puissance de l erreur de quantification a pour expression σ 2 Q = c σ 2 Y 2 2b. On en conclut que chercher à minimiser la puissance de l erreur de reconstruction σ 2 Q se ramène à chercher à minimiser la puissance σy 2 de y(n). On a une grande liberté dans le choix de v(n). Si on pr v(n) sous la forme v(n) = P a i x(n i) i=1 en introduisant P paramètres, on parle de prédiction linéaire à l ordre P. Le signal y(n) est l erreur de prédiction. Il a pour expression y(n) = x(n) v(n) = x(n) + P a i x(n i). La relation entre x(n) et y(n) correspond à une opération de filtrage de fonction de transfert 4 i=1 B(z) = 1 + a 1 z 1 + + a P z P. 4 Malgré des notations identiques pour éviter de les alourdir, on ne confondra pas les coefficients a i et l ordre P du filtre générateur de x(n) et les coefficients et l ordre du polynôme prédicteur. Dans tout ce chapitre, il ne sera question que du filtre prédicteur. page 11/162

CHAPITRE 1. QUANTIFICATION SCALAIRE La minimisation de σy 2 porte sur les coefficients de ce filtre prédicteur. Ce problème a fait l objet de nombreuses études à partir des années 60. Tous les livres actuels présentant les techniques de base en traitement du signal incluent un chapitre traitant de ce problème. On pourra, par exemple, consulter le livre de S. Kay [4]. On ne fera ici que quelques rappels succincts. 1.3.2 Quelques rappels sur la théorie de la prédiction linéaire Introduction : minimisation au sens des moindres carrés Comme cette théorie, utilisable actuellement dans de nombreuses applications en traitement du signal, a justement été développée dans le bût de déterminer des codeurs de parole à débit réduit et que, dans un codeur de parole, le traitement est alors par bloc de N échantillons 5, le problème peut se poser de la façon suivante : connaissant x = [x(0) x(n 1)] t déterminer a = [a 1 a P ] t minimisant la puissance (empirique) de l erreur de prédiction a opt = arg min ˆσ 2 a Y avec ˆσ 2 Y = 1 N N 1 n=0 y 2 (n) = 1 N yt y. Comme y(0) y(1). y(n 1) = x(0) x(1). x(n 1) + x( 1) x( P ) x(0) x( P + 1)..... x(n 2) x(n P 1) a 1. a P soit y = x + Γa on peut écrire ˆσ 2 Y = 1 N (x + Γa)t (x + Γa) = 1 N (xt x + 2(Γ t x) t a + a t Γ t Γa). Le vecteur a opt est celui qui vérifie a ˆσ2 Y = 2Γ t x + 2Γ t Γa opt = 0. Si Γ t Γ est inversible, on obtient a opt = (Γ t Γ) 1 Γ t x. Le minimum a pour expression ˆσ 2 Y = 1 N [xt x + 2(Γ t x) t a opt + (a opt ) t ( Γ t x)] = 1 N xt x + 1 N (Γt x) t a opt. 5 comme on le verra par la suite dans la deuxième partie de ce document page 12/162

Approche théorique 1.3. QUANTIFICATION SCALAIRE PRÉDICTIVE On suppose que le signal x(n) peut être interprété (modélisé) comme la réalisation d un p.a. stationnaire de fonction d autocovariance r X (k) = E{X(n)X(n k)}. On recherche le vecteur a minimisant la puissance de l erreur de prédiction σ 2 Y = E{X 2 (n)} + 2 La minimisation de σ 2 Y σ 2 Y = E{Y 2 (n)} = E{[X(n) + P a i E{X(n)X(n i)} + i=1 σy 2 = σx 2 + 2a r X (1). r X (P ) P a i X(n i)] 2 } i=1 P i=1 j=1 P a i a j E{X(n i)x(n j)} r X (0) r X (P 1) + a t..... r X (P 1) r X (0) σ 2 Y = σ 2 X + 2r t a + a t Ra. relativement à a entraîne les équations normales Ra opt = r et comme la matrice d autocovariance R est définie positive (excepté le cas limite où X(n) est un p.a. harmonique), elle est inversible. On a donc On a aussi a a opt = R 1 r. (1.6) (σ 2 Y ) min = σ 2 X + 2(a opt ) t r (a opt ) t r = σ 2 X + (a opt ) t r. (1.7) On remarque que l ensemble des deux équations (1.6) et (1.7) admet la représentation matricielle unique r X (0) r X (1) r X (P ) 1 σ 2 Y. r X (1)...... a 1....... rx (1). = 0.. (1.8) r X (P ) r X (1) r X (0) a P 0 Comparaison des deux approches Les deux solutions sont très comparables ce qui n est pas étonnant puisque 1 N Γt x est une estimée du vecteur r et 1 N Γt Γ est une estimée de R. Plus précisément les deux approches sont asymptotiquement équivalentes puisque, si le signal X(n) est un p.a. ergodique, c est à dire si lim N 1 2N + 1 +N n= N x(n)x(n + k) = E{X(n)X(n + k)} on a Γ t Γ Γ t x lim = R et lim N N N N = r. La différence (essentielle mais subtile) est que la matrice de covariance exacte étant définie positive (sauf dans le cas limite où le processus est harmonique), cette matrice est toujours inversible alors que la matrice Γ t Γ (exprimée ici pour P = 1 pour simplifier) [ x 2 (1) + x 2 ] (N 2) x(0)x(1) + + x(n 3)x(N 2) x(0)x(1) + + x(n 3)x(N 2) x 2 (0) + x 2 (N 3) page 13/162

CHAPITRE 1. QUANTIFICATION SCALAIRE reste symétrique mais elle n est plus forcément définie positive. Dans la pratique où on ne dispose que de N données observées, on désire maintenir cette propriété de positivité. On peut observer qu estimer la fonction d autocovariance par ˆr X (k) = 1 N N 1 k n=0 x(n)x(n + k) pour k = 0 P puis construire ˆR et ˆr à partir de ˆr X (k) maintient le caractère défini positif de ˆR donc permet toujours son inversion. On peut alors déterminer les coefficients du filtre par et la puissance du signal résiduel par a opt = ˆR 1ˆr (1.9) ˆσ 2 Y = ˆr X (0) + (a opt ) tˆr. On dit que l on fait une analyse LPC (Linear Predictive Coding). On peut montrer aussi que la propriété de positivité entraîne que tous les zéros du polynôme A(z) sont à l intérieur du cercle unité ce qui assure la stabilité du filtre 1/A(z). C est une propriété très importante dans la pratique comme on le verra dans la deuxième partie de ce document lorsque l on s intéressera au codage de la parole à débit réduit. Filtre blanchissant On peut montrer que l erreur de prédiction Y (n) est blanche (plus exactement que le signal X(n) a été blanchi). En effet, on remarque que E{ Y (n) 2 } a i = 0 E{Y (n)x(n i)} = 0 i = 1 P. Supposons P grand. Comme Y (n) est non corrélé avec tous les X(n i) précédents et que Y (n i) est une combinaison linéaire de ces X(n i), on en déduit que Y (n) est non corrélé avec Y (n i). L erreur de prédiction Y (n) est donc un bruit blanc mais cette propriété n est vérifiée a priori que si P (comportement asymptotique). On appelle le filtre donnant Y (n) à partir de X(n) le filtre blanchissant. Si Y (n) a été totalement blanchi, on peut écrire On a donc S Y (f) = A(f) 2 S X (f) = σ 2 Y. S X (f) = σ2 Y A(f) 2. On rappelle que l estimateur spectral le plus standard est le périodogramme : à partir des N données observées [x(0) x(n 1)] on calcule S X (f k = k N ) = 1 N 1 N n=0 x(n) exp( j2π k N n) 2 pour k = 0 N/2. La formule S X (f) = σ 2 Y / A(f) 2 suggère un deuxième estimateur spectral : à partir des N données observées, on calcule les coefficients du filtre blanchissant en réalisant une analyse LPC puis on exploite la formule précédente. page 14/162

Algorithme de Levinson 1.3. QUANTIFICATION SCALAIRE PRÉDICTIVE Pour calculer le prédicteur optimal à l ordre P, il suffit de résoudre le système linéaire de P équations à P inconnues donné par (1.6) ou par (1.9). On peut, par exemple, utiliser l algorithme de Gauss. Celui-ci nécessite O(P 3 ) opérations. Il existe des algorithmes rapides réclamant O(P 2 ) opérations, exploitant les propriétés de centro-symétrie de la matrice R. Le fait qu ils soient rapides ne présentent plus autant d intérêt que dans les années 60 lorsqu ils ont été conçus mais ils présentent toujours de l intérêt, spécialement en codage de la parole, car ils mettent en évidence des paramètres équivalents aux coefficients a i et présentant de meilleurs facultés de codage. L algorithme le plus célèbre est l algorithme de Levinson. On donne la description de cet algorithme sans aucune justification. On consultera par exemple [4] pour plus de détails. C est un algorithme récursif sur l ordre : connaissant le prédicteur optimal à l ordre j, on obtient le prédicteur à l ordre j + 1. On note a j 1 aj j les coefficients du prédicteur à l ordre j, ρ j = r X (j)/r X (0) les coefficients d autocovariance normalisés et σj 2 la variance de l erreur de prédiction à cet ordre. Lorsque l indice j atteint l ordre P, on a a j=p i = a i et σj=p 2 = σ2 Y. a 1 1 = k 1 = ρ 1 σ1 2 = (1 k2 1 )σ2 X Pour j = 2 P δ j = ρ j + a j 1 1 ρ j 1 + + a j 1 j 1 ρ 1 k j = δ j /σj 1 2 Pour i = 1 j 1 a j i = aj 1 i + k j a j 1 j i a j j = k j σj 2 = σ2 j 1 + k jδ j = σj 1 2 (1 k2 j ). Les coefficients k 1 k P sont appelés les coefficients de corrélation partielle (PARCOR). La dernière équation de l algorithme précédent montre que tous ces coefficients sont en module inférieur à 1 puisque les variances sont toujours positives. C est cette propriété qui les r particulièrement intéressant en codage. En écrivant sous forme matricielle l ensemble des équations (1.8) pour j = 0 P sans chercher à expliciter la partie triangulaire supérieure de la matrice apparaissant au second membre, on obtient 6 1 0 0 σp 2 x x R a P...... 1........ 0 =. 0............. (1.10) x a P P a 1 1 1 0 0 σ0 2 qui s interprète comme une décomposition de Choleski de la matrice d autocovariance. 1.3.3 Gain de prédiction Définition On appelle gain de prédiction (gain dû à la prédiction) le rapport des puissances des erreurs de quantification obtenues en utilisant le quantificateur optimal sans prédiction et avec prédiction à résolution b constante. Il est égal à G p = c σ2 X 2 2b c σ 2 Y = σ2 X 2 2b σy 2. (1.11) 6 On observera que la matrice d autocovariance R est cette fois ci de dimension P + 1 alors qu elle était de dimension P précédemment. On ne fait pas de distinction dans les notations pour ne pas les alourdir tant que cette distinction n est pas vraiment nécessaire. page 15/162

CHAPITRE 1. QUANTIFICATION SCALAIRE En exploitant (1.7), le gain de prédiction a pour expression G p (P ) = r X (0) r X (0) + P i=1 aopt i r X (i). Il dép de l ordre de la prédiction P. Le gain de prédiction peut aussi s écrire en fonction des coefficients PARCOR. Comme σy 2 = P σ2 X i=1 (1 k2 i ) le gain de prédiction est égal à G p (P ) = 1 P i=1 (1 k2 i ). C est une fonction croissante de P. On peut montrer qu il t vers une limite G p ( ) que l on appellera la valeur asymptotique du gain de prédiction. 1.3.4 Valeur asymptotique du gain de prédiction Cette valeur asymptotique peut s exprimer sous différentes formes, par exemple en fonction du déterminant de la matrice d autocovariance. En effet en prenant le déterminant des deux membres de l équation (1.10), on obtient 7 det R(P + 1) = P σj 2. Généralement lorsque l on augmente l ordre de prédiction, la puissance de l erreur de prédiction décroit rapidement puis reste pratiquement constante à partir d un certain ordre P 0. Cela est dû au fait que le signal n étant plus corrélé au delà de cet ordre, on ne peut plus améliorer la prédiction en augmentant l ordre. En appelant σy 2 la plus petite puissance possible et pour P suffisamment élevé, on a det R(P + 1) (σy 2 ) P +1. On a donc G p ( ) = j=0 σx 2. (1.12) lim P [det R(P )] 1/P La valeur asymptotique du gain de prédiction peut aussi s exprimer en fonction de la densité spectrale de puissance S X (f) du p.a. X(n). Montrons d abord que la puissance de l erreur de prédiction en utilisant tout le passé d un processus stationnaire de densité spectrale S X (f) est donnée par En effet, écrivons B(z) sous la forme B(z) = 1 + 1/2 σy 2 = exp( log e S X (f)df). 1/2 P i=1 a opt i z i = P (1 p i z 1 ) avec p i < 1 puisque le polynôme B(z) est à déphasage minimal. On peut donc écrire i=1 P log e [ (1 p i z 1 )] = i=1 P log e (1 p i z 1 ) = α 1 z 1 + α 2 z 2 + i=1 7 en spécifiant explicitement dans cette section la dimension de la matrice R page 16/162

1.3. QUANTIFICATION SCALAIRE PRÉDICTIVE pour z appartenant à un domaine d existence qui inclut le cercle unité. On a donc +1/2 1/2 log e [B(f)]df = 0 en appliquant le théorème de Cauchy. On en déduit +1/2 1/2 log e [S X (f)]df = +1/2 1/2 ce qui entraîne le résultat. Comme la puissance du signal est égale à log e (σ 2 Y )df σ 2 X = 1/2 1/2 +1/2 1/2 S X (f)df log e ( B(f) 2 )df = log e (σ 2 Y ) on obtient une nouvelle expression pour la valeur asymptotique du gain de prédiction G p ( ) = 1/2 1/2 S X(f)df exp( 1/2 1/2 log e S X (f)df) (1.13) comme une fonction de la densité spectrale de puissance du signal à quantifier uniquement. Cette expression s interprète comme le rapport entre la moyenne arithmétique et la moyenne géométrique de S X (f). En effet, si on considère S X (f) évalué sur N valeurs dans l intervalle [ 1/2, 1/2] ou ce qui revient au même dans l intervalle [0, 1], on obtient exp( 1 0 1 log e S X (f)df) exp( 1 N exp( 1 0 0 S X (f)df 1 N N 1 k=0 N 1 k=0 S X ( k N ) N 1 log e S X (k/n)) = exp(log e ( N 1 log e S X (f)df) ( S X ( k N ))1/N. k=0 k=0 S X (k/n)) 1/N ) Le signal le moins prédictible est le bruit blanc. La valeur asymptotique du gain de prédiction est égale à 1 comme le montre la formule (1.13). La moyenne arithmétique et la moyenne géométrique sont égales. Aucun gain ne peut être espéré en utilisant une quantification scalaire prédictive plutôt qu une quantification scalaire standard. Inversement le signal le plus prédictible est un processus de la forme Y (n) = K a k cos(2πf k n + Φ k ) k=1 où Φ k sont des phases aléatoires. Le gain de prédiction est infini. Comme la puissance de l erreur de quantification, ou de l erreur de reconstruction, a pour limite σ 2 X σq 2 = c G p ( ) 2 2b on voit que l on peut quantifier sans distorsion un processus harmonique quel que soit le choix de b. C est évidemment purement théorique car cela veut simplement dire qu il suffit de coder les différentes phases avec un nombre fini de bits et qu ensuite plus aucune information n a besoin d être transmise pant un temps aussi long que l on veut! Le rapport inverse de la valeur asymptotique du gain de prédiction porte le nom de mesure d étalement spectral. page 17/162

CHAPITRE 1. QUANTIFICATION SCALAIRE 1.3.5 Quantification scalaire prédictive en boucle fermée Reprenons le schéma de principe du quantificateur prédictif donné figure 1.3. Sous cette forme, le quantificateur exige la transmission à chaque instant n non seulement du numéro i(n), résultat de la quantification de l erreur de prédiction y(n), mais aussi d un autre numéro qui serait associé à la quantification de la prédiction v(n) elle-même. Ce schéma de quantification, appelé schéma de quantification en boucle ouverte, n est donc pas réaliste puisque l on n a pas intérêt, à résolution constante, à multiplier les informations à coder. On préfère réaliser une prédiction en boucle fermée ou autour du quantificateur comme le montre la figure 1.4 puisque l on peut alors consacrer toutes les ressources binaires disponibles à la quantification de l erreur de prédiction y(n). Il n est plus nécessaire de transmettre v(n) au récepteur puisque v(n) représente maintenant la prédiction du signal reconstruit ˆx(n). Cette prédiction peut être réalisée de façon identique à l émetteur. Il suffit qu une copie du traitement réalisé au récepteur soit faite à l émetteur. On parle de décodeur local (à l émetteur) et de décodeur lointain (au récepteur). Cette façon de procéder a un coût : la prédiction se fait sur le signal reconstruit ˆx(n) et non sur le signal original x(n). Ce n est pas grave tant que ˆx(n) est une bonne approximation de x(n), c est-à-dire lorsque le taux de compression visé est peu élevé. x(n) + + r(n) Q Q 1 r(n) + + + x(n) v(n) A(z) + + Q r(n) Q 1 + + + x(n) Q 1 A(z) A(z) r(n) + + + x(n) Fig. 1.4 Quantificateur prédictif en boucle fermée. On peut se poser maintenant le problème de la détermination des coefficients du polynôme A(z). Les signaux que l on cherche à quantifier n étant pas stationnaires, il faut actualiser ces coefficients à intervalles réguliers. Si les signaux peuvent être considérés comme localement stationnaires sur N échantillons, il suffit d actualiser ces coefficients tous les N échantillons. Le calcul se fait généralement à partir du signal x(n). On dit que la prédiction est calculée de façon forward. Bien qu il soit nécessaire de transmettre cette information au décodeur, ce transfert est possible car il peut réclamer un débit peu élevé. On peut aussi calculer les coefficients du filtre à partir du signal ˆx(n). Dans ce cas, on dit que la prédiction est calculée de façon backward. Il n est pas nécessaire alors de transmettre cette information. L adaptation peut même se faire à l arrivée de chaque nouvel échantillon ˆx(n) par un algorithme du gradient (méthode adaptative). Comparons plus en détail les avantages et les inconvénients respectifs de ces deux méthodes. La prédiction forward utilise des données plus fiables (c est particulièrement important lorsque les propriétés statistiques du signal évoluent rapidement) mais il faut transmettre une information page 18/162

1.3. QUANTIFICATION SCALAIRE PRÉDICTIVE adjacente (side-information) et il faut attre l arrivée du dernier échantillon de la fenêtre courante avant de commencer la procédure d encodage sur l ensemble de la fenêtre. On a donc un délai de reconstruction d au moins N échantillons. Avec une prédiction backward le délai de reconstruction peut être ru très court mais la prédiction est moins bonne car réalisée à partir d échantillons dégradés. On remarque également que, dans ce cas, le codeur est plus sensible aux erreurs de transmission. Ce choix est essentiellement fonction de l application. Il reste à examiner le problème de la stabilité du filtre au décodeur puisque il est autorégressif. On ne peut, en aucun cas, accepter un risque d instabilité. On a vu que, si l estimation de la matrice d autocovariance est faite en maintenant son caractère défini positif, alors la stabilité du filtre est assurée, les pôles de la fonction de transfert sont à l intérieur du cercle unité. page 19/162

CHAPITRE 1. QUANTIFICATION SCALAIRE page 20/162

Chapitre 2 Quantification vectorielle 2.1 Introduction Lorsque la résolution est faible, il est naturel de vouloir regrouper plusieurs échantillons x(n) dans un vecteur x(m) et de chercher à quantifier l ensemble. On parle de quantification vectorielle. Entre la résolution b, la dimension N des vecteurs et la taille L du dictionnaire, on a alors la relation L = 2 bn. Il n est plus nécessaire que b soit un entier. Il suffit que le produit bn le soit ou même que, simplement, L le soit. La quantification vectorielle permet donc de définir des résolutions fractionnaires. Mais ce n est pas la propriété essentielle : le quantificateur vectoriel permet de prre en compte directement la corrélation contenue dans le signal plutôt que de chercher d abord à décorréler le signal puis à quantifier un signal décorrélé comme le fait le quantificateur scalaire prédictif. Ce quantificateur serait parfait s il n avait pas un défaut majeur : la complexité du traitement en termes du nombre de multiplications/additions à traiter est exponentiel en fonction de N. 2.2 Formalisme La quantification vectorielle est une généralisation immédiate de la quantification scalaire. On appelle quantificateur vectoriel de dimension N et de taille L une application de R N dans un ensemble fini C contenant L vecteurs de dimension N Q : R N C avec C = {ˆx 1 ˆx L } où ˆx i R N. L espace R N est partitionné en L régions ou cellules définies par Θ i = {x : Q(x) = ˆx i }. On appelle C un dictionnaire, assimilable à une matrice si nécessaire, et ˆx i un représentant, un vecteur de sortie ou un vecteur de reproduction. On dit également que C représente l alphabet de reproduction et ˆx i les symboles de reproduction conformément au vocabulaire habituel en théorie de l information. La formule (1.1) se généralise directement en utilisant la densité de probabilité conjointe et la norme euclidienne σq 2 = 1 L u ˆx i 2 p X (u)du. (2.1) N u Θ i i=1 Il s agit de déterminer le dictionnaire C, c est à dire les vecteurs de reproduction {ˆx 1 ˆx L } minimisant σq 2. Cette minimisation conduit à deux conditions nécessaires d optimalité qui s expriment de façon identique au cas scalaire. page 21/162

CHAPITRE 2. QUANTIFICATION VECTORIELLE 1. Etant donné un dictionnaire C = {ˆx 1 ˆx L }, la meilleure partition est celle qui vérifie Θ i = {x : x ˆx i 2 x ˆx j 2 j {1 L} }. C est la règle du plus proche voisin. Cette partition est appelée la partition de Voronoï. 2. Etant donné une partition, les meilleurs représentants sont obtenus par la condition du centroïde. Pour une distorsion quadratique ˆx i = E{X X Θ i Θ up } = i X (u)du Θ p i X (u)du. On montre sur le tracé de gauche de la figure 2.1 une réalisation x(n) d un p.a. AR(2) gaussien et centré en fonction de n. Le tracé de droite est obtenu à partir de cette réalisation en formant des vecteurs de dimension N = 2 soit x(m) = [x(2m) x(2m + 1)] t et en projetant chaque vecteur x(m) dans le plan. On obtient un nuage de points qui a tance à s aligner d autant plus le long de la première diagonale que le premier coefficient d autocovariance normalisé se rapproche de 1. 10 10 8 6 5 4 2 0 0 2 5 4 6 10 8 10 20 40 60 80 100 120 140 10 8 6 4 2 0 2 4 6 8 10 Fig. 2.1 Exemple d une réalisation d un p.a. AR(2). Les tracés de la figure 2.2 montrent deux façons de partitionner le plan. La partition de Voronoï correspondant au quantificateur vectoriel a été obtenue par application de l algorithme de Lloyd-Max généralisé (cf section suivante) au cas vectoriel lorsque b = 2 et N = 2 c est à dire lorsque le nombre de représentants L est égal à 16. La partition correspondant au quantificateur scalaire, interprétée dans le plan, impose des éléments de forme rectangulaire et des positions pour les représentants identiques relativement aux deux axes. On peut montrer que le rapport des deux axes de l ellipse sur le deuxième tracé de la figure 2.1 est égal à (1 + ρ 1 )/(1 ρ 1 ) où ρ 1 est le coefficient de covariance d ordre 1 normalisé. On en déduit que, plus la corrélation est forte entre les composantes du vecteur, plus est efficace le quantificateur vectoriel parce qu il s adapte à la configuration du nuage de points tandis que le quantificateur scalaire ne subit pratiquement pas de modification. Le quantificateur vectoriel permet de prre en compte directement la corrélation contenue dans le signal plutôt que de chercher d abord à décorréler le signal puis à quantifier un signal décorrélé comme le fait le quantificateur scalaire prédictif. La figure 2.3 représente le cas d une sinusoïde entachée de bruit. On voit clairement que le quantificateur vectoriel s adapte beaucoup mieux aux caractéristiques du signal. Un théorème dû à Shannon [5] montre même que pour des signaux non-corrélés, des sources sans mémoire pour employer la terminologie habituelle en théorie de l information, il y a un gain réalisable par quantification vectorielle. Ce problème présente de fortes analogies avec celui de l empilement de sphères [6]. page 22/162

2.3. CONSTRUCTION DU DICTIONNAIRE OPTIMAL 8 8 6 6 4 4 2 2 0 0 2 2 4 4 6 6 8 8 8 6 4 2 0 2 4 6 8 8 6 4 2 0 2 4 6 8 Fig. 2.2 Comparaison des performances entre quantification vectorielle et quantification scalaire lorsque la résolution est égale à 2. Le quantificateur vectoriel compr L = 16 représentants de dimension 2. Le quantificateur scalaire compr L = 4 représentants. 1 1 0.5 0.5 0 0 0.5 0.5 1 1 1 0.5 0 0.5 1 1 0.5 0 0.5 1 Fig. 2.3 Comparaison des performances entre quantification vectorielle et quantification scalaire pour une sinusoïde entachée de bruit. 2.3 Construction du dictionnaire optimal Dans la pratique, on ne connaît pas la densité de probabilité conjointe p X (x). Pour construire un quantificateur, on utilise des données empiriques, une base d apprentissage, en associant à chaque valeur le même poids. La base d apprentissage doit être composée d un grand nombre d échantillons représentatifs de la source. Pour constituer une base d apprentissage caractéristique du signal de parole par exemple, on utilise plusieurs phrases phonétiquement équilibrées prononcées par plusieurs locuteurs masculins, féminins, jeunes, plus âgés, etc. On donne ici une description sommaire de l algorithme dit de Lloyd-Max permettant de construire un quantificateur. C est un algorithme itératif vérifiant successivement les deux conditions d optimalité. 1. On initialise le dictionnaire {ˆx 1 ˆx L }, par exemple par tirage aléatoire. 2. Connaissant ce dictionnaire {ˆx 1 ˆx L }, on étiquette chaque échantillon de la base d apprentissage, par le numéro de son plus proche voisin. On détermine ainsi implicitement (le page 23/162

CHAPITRE 2. QUANTIFICATION VECTORIELLE calcul explicite n est pas nécessaire) la partition optimale {Θ 1 Θ L }. 3. A partir de tous les échantillons étiquetés par le même numéro, on en déduit un nouveau représentant par un calcul de moyenne. 4. On calcule la distorsion moyenne associée à cette base d apprentissage et on arrête cet algorithme si la distorsion ne décroît presque plus, c est-à-dire si la décroissance devient inférieure à un seuil, sinon on repr les deux étapes précédentes. On assure la décroissance de la distorsion moyenne mais on ne t pas toujours vers le minimum global. On atteint simplement un minimum local. En fait, il n existe même pas de théorèmes prouvant que l on atteint un minimum local. De nouveaux algorithmes basés sur des techniques de recuit simulé, par exemple, permettent (en théorie) d améliorer les performances du quantificateur. L initialisation du dictionnaire pose un problème. L algorithme dit LBG [7], généralement adopté, permet de résoudre ce problème. Les différentes étapes sont les suivantes. 1. On cherche d abord le dictionnaire composé d un seul vecteur minimisant la distorsion moyenne. C est le centre de gravité de l ensemble de la base d apprentissage. On le notera ˆx 0 (b = 0). Si on appelle L le nombre de vecteurs composant la base d apprentissage, la distorsion est égale à σq(b 2 = 0) = 1 L 1 1 L x(m) 2 = σx 2 N puisque le signal est supposé centré. 2. On partage ensuite ce vecteur en 2 vecteurs notés ˆx 0 (b = 1) et ˆx 1 (b = 1) avec ˆx 0 (b = 1) = ˆx 0 (b = 0) et ˆx 1 (b = 1) = ˆx 0 (b = 0) + ɛ. Le choix du vecteur ɛ pose un problème. On choisit des petites valeurs. 3. Connaissant ˆx 0 (b = 1) et ˆx 1 (b = 1), on classe tous les vecteurs de la base d apprentissage relativement à ces deux vecteurs (on étiquette tous les vecteurs soit par 0 soit par 1) puis on calcule les nouveaux centres de gravité ˆx 0 (b = 1) et ˆx 1 (b = 1) de tous les vecteurs étiquetés respectivement 0 ou 1. 4. On calcule la distorsion m=0 σq(b 2 = 1) = 1 L 1 1 L x(m) ˆx 2 N et on itère ce processus tant que la décroissance de la distorsion reste importante. On remarquera que l on assure constamment la décroissance grâce au choix particulier des initialisations. On applique ainsi un certain nombre de fois la règle du plus proche voisin et la condition du centroïde pour obtenir 2 vecteurs de reproduction minimisant la distorsion moyenne. 5. On partage à nouveau ces 2 vecteurs en 2... m=0 6. On arrête l algorithme lorsque l on a atteint le nombre de vecteurs désiré. 2.4 Performances du quantificateur optimal Dans le cadre de l hypothèse de haute-résolution, Zador [8] a montré que la formule de Benett (cas scalaire) σq 2 = 1 ( ) 3 [p X (x)] 1/3 dx 2 2b 12 R page 24/162

2.4. PERFORMANCES DU QUANTIFICATEUR OPTIMAL donnant la puissance de l erreur de quantification en fonction de la densité de probabilité marginale du processus et de la résolution, se généralise au cas vectoriel. On obtient ( ) (N+2)/N σq(n) 2 = α(n) [p X (x)] N/(N+2) dx R N 2 2b où p X (x) représente maintenant la densité de probabilité conjointe et où α(n) est une constante qui ne dép que de N. Dans le cas gaussien soit ( σq(n) 2 = α(n) R N [ ) 1 (N+2)/N (2π) N/2 det R exp( 1 2 xt R 1 x)] N/(N+2) dx 2 2b ( σq(n) 2 = α(n) (2π) N/(N+2) ( N + 2 ) (N+2)/N N )N/2 (det R) 1/(N+2) 2 2b σq(n) 2 = α(n)2π( N + 2 N )(N+2)/2 (det R) 1/N 2 2b σ 2 Q(N) = c(n)(det R) 1/N 2 2b. On montre que 3 c(1) = π > c(n) > c( ) = 1. 2 Lorsque N = 1, on retrouve la formule (1.5). Comme dans le cas de la quantification scalaire prédictive, on peut chiffrer l amélioration des performances apportée par la quantification vectorielle relativement à la quantification scalaire. Le gain de quantification vectorielle défini de façon similaire à (1.11) se décompose en deux termes G v (N) = c(1) c(n) σx 2 (det R) 1/N. Le rapport c(1)/c(n) est toujours supérieur à 1 ce qui montre que, même pour une source sans mémoire, une quantification vectorielle est préférable mais cette contribution reste limitée parce que 10 log 10 c(1) c(n) < 10 log 10 c(1) = 4.35 db. c( ) Le deuxième rapport traduit la prise en compte de la corrélation existant entre les différentes composantes du vecteur par le quantificateur vectoriel. Lorsque N, il t vers la valeur asymptotique du gain de prédiction G p ( ) comme le montre l équation (1.12). La figure 2.4 montre les rapports signal sur bruit correspondant à la quantification vectorielle (en fonction de N) et à la quantification scalaire prédictive (en fonction de P + 1) pour b = 2. On visualise également la limite du rapport signal sur bruit correspondant à la quantification vectorielle lorsque N t vers l infini. Le rapport signal sur bruit correspondant au quantificateur scalaire prédictif est égal à RSB QSP = 6, 02 b 4, 35 + 10 log 10 G p ( ) dès que P 2. Le décalage de 4,35 db existant entre les deux droites horizontales est dû au rapport c(1)/c( ). Il chiffre le gain apporté par la grande souplesse du quantificateur vectoriel dans le choix de la forme géométrique de la partition. Le quantificateur vectoriel exploite directement la corrélation existant dans le signal. Le quantificateur scalaire prédictif exploite également cette corrélation mais en réalisant au préalable une opération de décorrélation. page 25/162

CHAPITRE 2. QUANTIFICATION VECTORIELLE 30 25 20 Rsb [db] 15 10 5 0 Quantification scalaire prédictive Quantification vectorielle Codage entropique avec mémoire 2 4 6 8 10 12 14 16 18 20 en fonction de N ou de P Fig. 2.4 Rapport signal sur bruit en fonction de N pour le quantificateur vectoriel et en fonction de P + 1 pour le quantificateur scalaire prédictif. Dès que N devient supérieur à une valeur relativement faible, le quantificateur vectoriel a des performances meilleures que le quantificateur scalaire prédictif. Lorsque N augmente, les performances du quantificateur vectoriel se rapprochent rapidement de la valeur limite pour un processus stationnaire. On peut montrer qu il n existe pas de quantificateur procurant un rapport signal sur bruit meilleur que cette limite. Le quantificateur vectoriel peut donc être considéré comme le quantificateur optimal pourvu que N soit suffisamment élevé. 2.5 Utilisation du quantificateur En principe, il suffit de regrouper les échantillons du signal à comprimer en une succession de vecteurs de dimension N, d appliquer la règle du plus proche voisin pour obtenir le numéro du vecteur à l encodage et d extraire un vecteur dans une table à une adresse donnée pour fournir le vecteur de reproduction au décodage. Dans la pratique, toute une série de difficultés apparaissent, essentiellement dues à la puissance de calcul réduite des microprocesseurs actuels 1 car le traitement, aussi bien à l encodage qu au décodage, doit être généralement réalisé en temps réel. En fait, les calculs les plus lourds proviennent à l encodage car au décodage il suffit d aller chercher un vecteur dans une table à une adresse donnée. Prenons l exemple du codage du signal de parole en bande téléphonique à une résolution b = 1. On cherche, par exemple, à réaliser un codeur à 8 kbit/s. Comment choisir la dimension N des vecteurs et le nombre de vecteurs L composant le dictionnaire? On vient de voir que l on a intérêt à augmenter N mais la taille du dictionnaire croît alors de façon exponentielle puisque L = 2 bn, la charge de calcul (nombre de multiplications - accumulations) également puisqu elle est proportionnelle à NL = N2 bn, soit 2 bn par échantillon ou 2 bn f e multiplications - accumulations par seconde. On peut admettre que les microprocesseurs de signal actuels acceptent une charge de calcul de l ordre de 10 8 multiplications - accumulations par seconde. On doit donc avoir 2 bn 8 10 3 10 8 1 Par exemple, un algorithme de codage de la parole peut être implanté dans un téléphone portable, interdisant l emploi de Pentium 1GHz. page 26/162