Cours parole du 12 Novembre 2003 enseignante: Dr Cours parole du 12 Novembre 2003 enseignante: Dr. Dijana Petrovska-Delacrétaz assistante: Asmaa el Hannani Codage de la parole: de la représentation des signaux parole vers la reconnaissance automatique 1. Codage intro 2. Discrétisation temporelle Discrétisation de l’amplitude Quantification vectorielle Codeurs temporels Typologie des codeurs Modélisation de la parole par la Linear Predictive Coding (LPC ) Débit des codeur et qualité
1. Codage des signaux parole codage = processus qui transforme les signaux acoustiques analogiques ("waveform" - onde de pression) dans une séquences de signaux discrets, ayant comme objectif principal la réduction du débit et une représentation du signal plus compacte Utilité pour la transmission: réduction du débit (téléphones portables, stockage de signaux audio, transmission sur IP…) meilleure robustesse des signaux codées aux erreurs de transmission permet aussi l'utilisation des codes correcteurs d'erreur et aussi de l'encryptage, multiplexage, enpacketage ("packetize") Utilité pour la paramétrisation (extraction de paramètres pertinents ou vecteurs paramétrique; « feature vectors ») = vecteurs d’entrée des systèmes de reconnaissance de la parole Unité utilisé: bps = bits / seconde
1.1 Quelles sont les limites Codage haut debit: ex: échantillonnage fréquent 24’000 ech/s avec 8 bits par ech = 192’000 bps Codeurs GSM de téléphonie mobile env. 8’000 bps Codage à très-bas débit (basé sur la reco et la synthèse) reco automatique de la parole au nivéau phonétique 32 phonèmes du français, 32 mots codes (représentés par 25 ) 5 bits débit phonétique moyen = 5 phonèmes /s = 5x5= 25 bps aujourd’hui débit plus bas, qualité mauvaise mais compréhensible: 600 bps en dépendant du locuteur taux de compression = 192’000 / 600 = 320
2. Discrétisation temporelle mesure acquisition x(t) signal original T (période d’echantillonage) { Xn = x(nT) } signal numérique Figure: acquisition d’un signal numérique
2.1 Echantillonnage Codage le plus simple = échantillonage = prélever (à des intervalles réguliers) des echantillons du signal analogique (continu)
2.2 Fréquence d’echantillonage !! les intervalles de “prèlevement” du signal doivent être suffisamment raprochés pour “suivre” les variations du signal
2.3 Théorème de Schannon Les signaux doivent être échantillonées à une fréquence fe> 2 fmax du signal Ceci va nous permettre de reconstituer plus ou moins fidèlement du signal continu à partir du signal échantillonné, (p.ex. qualité Hi-Fi, communications téléphonique, ….)
2.4 Etendue spectrales des signaux parole Etendue spectrale des signaux parole: 20-12’000 Hz L’oreille humaine normale peut capter des signaux acoustique entre 20 et 20’000 Hz. Transmission parole téléphonique: 300-3’400 Hz (bonne compréhension du langage parlé) L’oreille a des caractéristiques perceptives spécifiques => psychoacoustique
2.5 Exemples d’echantillonage Largeur de bande de transmission Dénomination Echantillonnage= nombre d’echantillons codées Qualité perçue Débits en bps avec 8bits par ech. 20 - 22'000 Hz hi-fi (CD) 44'100 Hz pas de dégradation 352’000 20 - 12'000 bande “parole” 24’000 hz 192’000 20 - 8’000 bande large 16'000 Hz idem 128’000 300 - 3'400 bande téléphonique 8'000 Hz dégradation 64’000
3. Discrétisation de l’amplitude (quantification) La représentation numérique d'un signal implique la quantification de chaque échantillon selon un nombre fini de valeurs discrètes Quantification la plus simple = la quantification scalaire = segmenter l'étendue de variation du signal Le nombre de segments est égal au nombre de mot-codes ("codewords") que l'on veut utiliser. Avec B bits, on peut représenter 2B mots-codes utilisés pour les niveaux de quantification. Chaque mot-code représente un niveau de quantification du signal
3.1 Types de quantificateurs: scalaire ou vectorielle Quantification uniforme (linéiare) pas de qantification constant Quantification non-uniforme loi de compression A (A-law) mu (mu”law”) Quantification vectorielle (pour des signaux a dim >1)
3.2 Quantification scalaire: Définitions x(t) = signal analogique de valeur absolue maximale Xmax x[n] = signal échantillonné (digitalisé) Q = opérateur de quantification ; y = Q(x) y[n] = signal quantifié (codé) , y[n] = yi = Q (x[n] ) avec xi-1 < x[n] ≤ xi erreur de codage e[n] = x[n] -y[n] on suppose que | x[n] | =< Xmax pas de quantification = di = xi - xi-1 on aimerait quantifé l’amplitude du signal avec M niveax de quantification 1 ≤ i ≤ M et xi =M+1 niveaux de décisions possible (0 ≤ i ≤ M)
3.3 Schéma fonctionnel du codage-décodage par quantification scalaire Convertisseur A/D Quantificateur scalaire Q Encodage x(t) x[n] y[n] c[n] Décodage y'[n] c'[n]
3.4 Bruits (erreurs) de quantification distorsion de granularité on a y[n] = x[n] + e[n] , si pas de quantification =D alors -D/2 =< e[n] =< D/2 Distortion de saturation : lorsque les valeurs de x(t) > Xmax
3.5 Quantification scalaire uniforme niveau de décision xi - xi-1 = D , 1 ≤ i ≤ M et de reconstruction espacées de manière uniforme y[n] = yi = Q (x[n] ) avec xi-1 < x[n] ≤ xi devient: y[n] = (xi + xi-1)/2 1 ≤ i ≤ M
3.6 Ex de quantification scalaire uniforme quantification uniforme: les niveau de deamplitude signal [0-1], 4 niveaux de reconstruction espacées régulièrement, x1=1/4 x2=1/2 x3=3/4 x[n] y[n] x0=0 10 00 01 11 1/8 3/8 5/8 7/8 x4=1
3.7 Quantification non-linéaire Distribution des niveaux de quantification pour une loi de quantifiacion non-linéaire avec des niveuax de quantification en 3-bit
3.8 Quantification adaptée au signal parole Si transmission de parole, on doit adapter la quantification à la nature statistique du signal à coder. La fonction de distribution de probabilité (pdf) du signal parole est le mieux adaptée par une distribution de Laplace . On va adapter le pas de quantification à cette distribution, de façon a avoir plus de résolution dans les portions ou le signal a le plus de chance d'être présent x p(x)
3.9 Application de la quantification scalaire aux codeurs temporels On va utiliser les principes de la quantification scalaire pour les codeurs temporels. Le taux de compression dépend de la frequence d'echantillonage, et du nombre de pas de quantification L= c. Valeur du débit = nombre d'ech x nbre d'echelons Examples: Si on code 124 (256) valeurs, on a besoin de 7 (8) bits 8000 x 7bits/s = 56 Kbits/s (en Amérique du Nord et Japon) 8000 x 8bits/s = 64 Kbits/s (en Europe)
4. Codeurs temporels ("waveform") Schéma fonctionnel du codage-décodage (codec) pour les codeurs temporels (voir 3.3) Quantification scalaire uniforme= Pulse Code Modulation (PCM) Examples de quantification scalaire non unforme, on utilise une loi de compression pour les pas de quantification semi-logarithmique exemples: A-law and mu-law
5. Quantification Vectorielle Représentation d’un vecteur X (dim-k) par un vecteur appartenenant à un ensemble fini de M vecteurs ( ou mot-codes, code-book, ou dictionnaire) La Quantification vectorielle (“Vector Quantization”=VQ) est organisée de façon à minimiser la distortion moyenne pour un dictionnaire de taille M donné. Elle permet de tirer parti de la corrélation qui existe souvent entre les composantes des vecters à coder.
5.1 Caractéristiques de la VQ statique: on conctruit un dictionnaire (dico) à partir des donées représentatives du signal dynamique: on adapte le dico avec des nouvelles données (plus complexe à mettre en oeuvre) QV statique on a besoin: suffisamment de donées representatives du signal yd (d= dim du signal) dico défini par des representats, centroides Cd (meme dim que signal) définition d’une mesure de distance (ex. dist euclidienne) Distortion moyenne D= lim Somme (dist y-C)
5.2 k-means algo On défini un codebook de départ, avec M celules Ci et leur centroides respectifs Ci qui minimisent la distortion dans la cellule). etape1: Definir un codebook initial avec M partitions (cellules Mi) et leur centroide representatif Ci etape2. Classification des vecters de “train” dans la celule Mi en choissisant le centroide le plus proche (min-disctance classifier) etape3: réactualiser le codebook: à cette étape on aura un ensemble de Ki vecteurs de train qui vont appartenir à la cellule Mi. Réactualisé de codeword de chaque cellule, en calculant le centroide des vecterus Ki qui minimise la distortion dans cahque cellule d= min d(k,c); Calculer la distortion totale Itération: répeter 2 et 3 jusqu’a que la distortion totale actuelle par rapport à la précédente est au dessus du seuil-
5.3 k-means avec “binary splitting” Initialisation: On commence avec le centre de gravite des vecteurs de train, une seule cellule de départ. on crée deux celules voisines …..
6. Catégorisation des codeurs selon leur débit débit élevé: codeurs temporels -"waveform coders" (>16'000 bps) débit moyen: codeurs hybrides, forme d'onde +modéles de production de la parole (2'4000 -> 16'000 bps) débit bas: codeurs paramétriques ou vocodeurs ("vocoders"), modèles de production, (1'200 ->4'800 bps) débit très bas: (vo)codeurs segmentaux, reconnaissance de segments, tels que phonèmes, unités automatiques (400-1'200 bps) On a vu les codeurs temporels et on va resumé les codeurs paramétrique par l'example de la LPC
7. Analyse de la parole par prédiction linéaire La méthode LPC est utilisée fréquemment pour l'analyse de la parole (aussi nommé modélisation auto régressive AR) méthode rapide et simple pour estimer les caractéristiques spectrales de la parole (estimation de l'enveloppe spectrale) Hypothèse: un ech de parole peut être approximée par une combinaison linéaire des echantillons précedents. s(n) ≈ a1s(n-1) +a2(n-2) +….+ pap(n-p) les coeff ai sont supposées être constants durnant la fenetre d’analyse.
7.1 Domaine temporel et fréquentiel des signaux L’analyse des signaux dans le domaine fréquentiel se fait avec l’opération de filtrage. Ex de filtres: passe bas, passe bande et passe haut Filtre: le signal d’entrée (fonction du temps) constitue l’excitation d’une fonction de transfert (qui caractérise le filtre). La sortie du filtre constitue un sous-ensemble du signal d’entrée. Ex. principe de base du filtrage passe-bas avec un signal d’entrée s1+s2 constitué par la somme de deux sinusoides (freq fondamentale et fréq harmonique, multiple de la freq fond). Passage de signal s à travers la fonction de transfer H(w) , la freq harmonique est éliminée, et il ne reste que le signal fondamental domaine temporel: f(t) -> h(t) -> y(t) = f(t) * h(t) (* convolution) fomaine fréquentiel: (w= 2pi f) F(w) -> h(w) -> Y(w) = F(w) H(w)
7.2 Modèles source-filtre pour des sons différents Sons voisés: train d'impulsion convolué par l'impulsion glottique Sons non voisés : bruit aléatoire avec amplitude A Si on suppose que l'on sait séparé les sons V/NV, et que le filtre change en fonction du voisement, on a la représentation suivante: pour une modèle source-filtre des signaux V/NV Ce modèle ne marche pas pour des fricatives. Dans ce cas on pourrait utiliser un modèle d'excitation mixte, utilisant pour des sons voisés une somme du train d'impulsion et du bruit coloré Principe: la sortie du filtre d'analyse (filtre inverse à court terme), qui est l'erreur de prédiction, est une image de l'excitation. Par conséquent, si on excite le filtre de synthèse par l'erreur de prédiction, on obtient comme parole synthétique la parole originale. Avec l’anlyse Linear Predictive Coding on va déterminer les coefficient du filtre prédictif (= vecteur paramétrique LPC).
7.3 Propriétes de l'analyse LPC Filtre inverse optimisé x[n] u[n] Filtre de synthèse s[n] erreur de prédiction Bruit blanc de variance unité
8. Débits des codeurs Catégorisation des codeurs selon leur débit débit élevé: codeurs temporels -"waveform coders" (>16'000 bps) débit moyen: codeurs hybrides, forme d'onde +modéles de production de la parole (2'4000 -> 16'000 bps) débit bas: codeurs paramétriques ou vocodeurs ("vocoders"), modèles de production, (1'200 ->4'800 bps) débit très bas: (vo)codeurs segmentaux, reconnaissance de segments, tels que phonèmes, unités automatiques (400-1'200 bps) Le débit influence la qualité de la parole transmise : intelligibilité naturelle identification du locuteur Evaluer par des test comparatifs (subjectifs) (comparer deux echantillons), MOS ("Mean Opinion Score") : évaluation par une population de sujets non entraînés, notes 1(mauvais) ->5 (excellent)
8.1 Évolution de la qualité des codeurs 2 3 4 5 1980 1990 2000 Indicative Quality ( MOS ) G.711 (64 kb/s) G.721 (32 kb/s) G.729 (8 kb/s) G.728 (16 kb/s) LPC 10 (2,4 kb/s) HSX Consumer quality Minimum qual . for High cost application . For low 1970 2010 ALISP (.4 kb/s) Year
8.2 Comment conserver la qualité en diminuant le débit Exploiter les limites de l’audition Utiliser le modèle source-filtre de production de la parole Utiliser le concept de reconnaissance et de synthèse avec éventuellement des modèles de langage
8.3 Codeurs segmentaux Permettent la plus grande réduction du débit (<800bps), mais nécessitent des méthodes de reconnaissance des unités segmentales. Résultats similaires dans l'implémentation des systèmes dépendant du locuteur. Comment pourrait-on encore réduire le débit: en transmettant le texte reconnu, et en effectuant de la synthèse à partir du texte du coté du transmetteur.