Codage prédictif linéaire

publicité
Cours parole du 9 février 2005
enseignants: Dr. Dijana Petrovska-Delacrétaz
et Gérard Chollet
Reconnaissance Automatique de la Parole
1.
2.
3.
4.
5.
6.
7.
8.
Introduction, Historique, Domaines d’applications
Extraction de paramètres
Comparaison de représentations temps-fréquence
DTW : Dynamic Time Warping (anamorphose T-F)
Modèles stochastiques (HMM, Réseaux Bayésiens)
Modèles de langage
Evaluation
Conclusions
1
1. Introduction à la
Reconnaissance Automatique de la Parole
• Reconnaissance Automatique de la Parole = processus qui associe
un signal de parole à une forme d’action (transcription, commande,
« compréhension »,…)
• Commande = le signal de parole déclenche une action (vocabulaire
limité)
• Dictée vocale = tâche de transcription orthographique (vocabulaire
illimité !?)
• « Compréhension » et dialogue = la machine devrait se comporter
comme un humain (test de Turing : http://fr.wikipedia.org/wiki/Test_de_Turing).
2
Histoire de la
Reconnaissance Automatique de la Parole
3
Dimensions et difficultés en RAP
• Taille du vocabulaire, perplexité, facteur de branchement,
• Environnement sonore (prise de son), distortions, pertes,
bande passante (téléphonique, élargie, HiFi,…)
• Nombre de locuteurs concernés, motivation des locuteurs,
• Possibilités d’apprentissage, d’adaptation,
• Nombre de langues, accents, …
• Ergonomie de l’interface vocale,
4
5
2.1 Echantillonnage
• Codage le plus simple = échantillonage = prélever (à des intervalles
réguliers) des echantillons du signal analogique (continu)
6
2.2 Fréquence d’échantillonage
• !! les intervalles de “prèlevement” du signal doivent être
suffisamment raprochés pour “suivre” les variations du signal
7
2.3 Théorème de Shannon
• Les signaux doivent être échantillonnés à 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, ….)
8
2.4 Etendue spectrales des signaux parole
• Etendue spectrale des signaux de 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:
(bonne compréhension du langage parlé)
300-3’400
Hz
• L’oreille a des caractéristiques perceptives spécifiques =>
psychoacoustique
9
Le champ auditif humain
10
2.5 Exemples d’echantillonage
Largeur de
bande de
transmission
Dénomination
20 - 22'000 Hz hi-fi (CD)
Echantillonnage=
nombre
d’echantillons
codées
Qualité perçue
Débits en bps
avec 8bits par
ech.
44'100 Hz
pas de dégradation
352’000
20 - 12'000
bande “parole”
24’000 hz
pas de dégradation
192’000
20 - 8’000
bande large
16'000 Hz
idem
128’000
dégradation
64’000
300 - 3'400
bande téléphonique
8'000 Hz
11
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
12
3.1 Types de quantificateurs: scalaire ou vectorielle
• Quantification uniforme (linéaire)
pas de quantification constant
• Quantification non-uniforme
loi de compression
 A (A-law)
 mu (mu”law”)
• Quantification vectorielle (pour des signaux de dim >1)
13
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 quantifier l’amplitude du signal avec M niveaux de
quantification
 1 ≤ i ≤ M et xi =M+1 niveaux de décisions possible (0 ≤ i ≤ M)
14
3.3 Schéma fonctionnel du codage-décodage par quantification
scalaire
x(t) Convertisseur
A/D
x[n]
Quantificateur
scalaire Q
y[n]
Encodage
c[n]
c'[n]
y'[n]
Décodage
15
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
16
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
17
3.6 Ex de quantification scalaire uniforme
• quantification uniforme: les niveaux de l’amplitude signal [0-1], 4 niveaux de
reconstruction espacées régulièrement,
y[n]
11
7/8
10
5/8
3/8
01
00
1/8
x[n]
18
3.7 Quantification non-linéaire
• Distribution des niveaux de quantification pour une loi de quantification nonlinéaire avec des niveaux de quantification en 3-bit
19
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 .
p(x)
x
• 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
20
Loi A
21
Loi « mu »
Échantillonnage à 8kHz quantification sur 8 bits
Réduire la dynamique
Loi « mu »
y  Q[log 2 (1  .x)]
128
yx
0
 128
94.4
 128
38.8
0
x 128
72.4
128
128
22
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)
23
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
24
Codage MICDA (ADPCM)
Codage par modulation delta
pour les débits de 16à 32 kBits/s
Quantification de la différence
entre le signal et sa prédiction
 (t )
Analyse
+
x(t ) _
q
b 
k 1
k t k
 (t )
x(t )
q
x(t )   t   bk  t k
Synthèse
k 1
25
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.
26
5.1 Caractéristiques de la VQ
• statique: on construit un dictionnaire (dico) à partir des donné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 données representatives du signal yd (d= dim du
signal)
• dico défini par des representants, centroides Cd (meme dim que
signal)
• définition d’une mesure de distance (ex. dist euclidienne)
• Distortion moyenne D= lim Somme (dist y-C)
27
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-distance 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 chaque 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 seuil28
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 …..
29
Quantification scalaire et vectorielle
30
6. Catégorisation des codeurs selon leur débit
• 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 résumer les codeurs
paramétrique par l'exemple de la LPC
31
Principe d’une analyse acoustique
32
Analyse de Fourier à fenêtre glissante
33
Transformée de Fourier discrète
34
Analyse par banc de filtres (1)
35
Analyse par banc de filtres (2)
36
Analyse par banc de filtres (3)
37
Principe du codeur MP3
Filtrage des signaux
dans différentes bandes
de fréquences
T.Cos et
codage(huf)
T. Cos et
codage
T. Cos et
codage
T. Cos et
codage
T. Cos et
codage
T. Fourier
Sélection des
canaux utiles
(effet de masquage
1er codage)
38
Spectrogramme (bande large)
39
Spectrogramme (large bande)
40
Spectrogramme (bande etroite)
41
Codeur par sous-bandes
42
Analyse cepstrale (1)
43
Analyse cepstrale (2)
44
Analyse par synthèse
45
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 échantillons précédents.
• s(n) = - ( a1s(n-1) +a2s(n-2) +….+ aps(n-p)) + e(n)
• les coeff ai sont supposés être constants durant la fenêtre d’analyse.
46
Analyse par prédiction linéaire (1)
Modélisation de la parole sous forme
d’un filtre de prédiction linéaire
e(t)
Filtre de
s(t)
prédiction linéaire
p
 a  s(t  i)  e(t )
i 0
i
47
Analyse par prédiction linéaire (2)
- Calcul de 11 coefficients de corrélation
sur une portion de 25 ms (200 échantillons)
199
rk   x(t ) x(t  k )
t 0
- Application de l ’algorithme de Levinson
pour obtenir les coefficients du filtre récursif
1
1

A( z ) 1  a (1) z 1    a (10) z 10
(sous la forme d ’un filtre en treillis)
- Transmission des coefficients et du signal
résiduel (erreur de prédiction) au récepteur
qui en déduit la synthèse du signal
48
Equations de Yule-Walker
49
Algorithme de Levinson-Durbin
50
Analyse par prédiction linéaire (3)
51
Codage prédictif linéaire (4)
52
Codage prédictif linéaire (5)
53
Codage prédictif linéaire (6)
54
Codage prédictif linéaire (7)
55
Vocodeur LPC
56
Codeur CELP
57
Codeur CELP
58
Codeur CELP (low delay)
59
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)
60
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).
61
7.3 Propriétes de l'analyse LPC
x[n]
Filtre inverse
optimisé
erreur de prédiction
u[n]
s[n]
Filtre de synthèse
Bruit blanc de
variance unité
62
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)
63
Débits de codage
1.

Signal dans la bande téléphonique (fe = 8 kHz)
Réseau téléphonique classique




Téléphones mobiles




2.4 kbits/s : standard gouvernemental américain LPC10
Signal en bande élargie (fe = 16 kHz)

3.
13 kbits/s : GSM (norme européenne) en 1989
6.5 kbits/s : ½ GSM (norme européenne) en 1991
8 kbits/s : norme nord-américaine en 1991
Communications sécurisées pour les liaisons entre organismes intergouvernementaux, applications
militaires (norme OTAN), communications satellitaires (MSAT et INMARSAT)

2.
64 kbits/s : MIC (PCM, G.711) norme CCITT en 1972
32 kbits/s : MICDA (ADPCM, G.721) en 1984
16 kbits/s : LD CELP en 1991
64 kbits/s : norme G.722 (2 codages ADPCM distincts pour 2 sous-bandes)
Signal Hi Fi (fe = 44.1 kHz)

700 kbits/s : codage sur un CD-ROM
64
8.1 Évolution de la qualité des codeurs
Indicative
Quality
(MOS)
5
G.711
(64 kb/s)
G.721
(32 kb/s)
G.728
(16 kb/s)
4
G.729
(8 kb/s)
Minimum qual. for High
cost application
Consumer quality
3
Minimum qual. For low
cost application
HSX
(2,4 kb/s)
2
LPC 10
(2,4 kb/s)
ALISP
(.4 kb/s)
1
Year
1970
1980
1990
2000
2010
65
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
66
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.
67
Téléchargement