[0001] La présente invention concerne les techniques numériques de traitement de signaux
de parole. Elle concerne plus particulièrement les techniques faisant appel à une
détection d'activité vocale afin d'effectuer des traitements différenciés selon que
le signal supporte ou non une activité vocale.
[0002] Les techniques numériques en question relèvent de domaines variés : codage de la
parole pour la transmission ou le stockage, reconnaissance de la parole, diminution
du bruit, annulation d'écho...
[0003] Les méthodes de détection d'activité vocale ont pour principale difficulté la distinction
entre l'activité vocale et le bruit qui l'accompagne. Le recours à une technique de
débruitage classique ne permet pas de traiter cette difficulté, puisque ces techniques
font elles-mêmes appel à des estimations du bruit qui dépendent du degré d'activité
vocale du signal. Ce problème a par exemple été décrit dans le document US-A-5659622.
[0004] Un but principal de la présente invention est d'améliorer la robustesse au bruit
des méthodes de détection d'activité vocale. Pour atteindre ce but, un procédé comme
indiqué dans la revendication 1 est proposé.
[0005] L'invention propose ainsi un procédé de détection d'activité vocale dans un signal
de parole numérique traité par trames successives, dans lequel on soumet le signal
de parole à un débruitage en tenant compte d'estimations du bruit compris dans le
signal, mises à jour pour chaque trame d'une manière dépendante d'au moins un degré
d'activité vocale déterminé pour ladite trame. Selon l'invention, on procède à un
débruitage a priori du signal de parole de chaque trame sur la base d'estimations
du bruit obtenues lors du traitement d'au moins une trame précédente, et on analyse
les variations d'énergie du signal débruité a priori pour détecter le degré d'activité
vocale de ladite trame.
[0006] Le fait de procéder à la détection d'activité vocale (selon une méthode qui peut
généralement être toute méthode connue) sur la base d'un signal débruité a priori
améliore sensiblement les performances de cette détection lorsque le bruit environnant
est relativement important.
[0007] Dans la suite de la présente description, on illustrera le procédé de détection d'activité
vocale selon l'invention dans un système de débruitage d'un signal de parole. On comprendra
que ce procédé peut trouver des applications dans de nombreux autres types de traitement
numérique de la parole dans lesquels on souhaite disposer d'une information sur le
degré d'activité vocale du signal traité : codage, reconnaissance, annulation d'écho...
[0008] D'autres particularités et avantages de la présente invention apparaîtront dans la
description ci-après d'exemples de réalisation non limitatifs, en référence aux dessins
annexés, dans lesquels :
- la figure 1 est un schéma synoptique d'un système de débruitage mettant en oeuvre
la présente invention ;
- les figures 2 et 3 sont des organigrammes de procédures utilisées par un détecteur
d'activité vocale du système de la figure 1 ;
- la figure 4 est un diagramme représentant les états d'un automate de détection d'activité
vocale ;
- la figure 5 est un graphique illustrant les variations d'un degré d'activité vocale
;
- la figure 6 est un schéma synoptique d'un module de surestimation du bruit du système
de la figure 1 ;
- la figure 7 est un graphique illustrant le calcul d'une courbe de masquage ; et
- la figure 8 est un graphique illustrant l'exploitation des courbes de masquage dans
le système de la figure 1.
[0009] Le système de débruitage représenté sur la figure 1 traite un signal numérique de
parole s. Un module de fenêtrage 10 met ce signal s sous forme de fenêtres ou trames
successives, constituées chacune d'un nombre N d'échantillons de signal numérique.
De façon classique, ces trames peuvent présenter des recouvrements mutuels. Dans la
suite de la présente description, on considérera, sans que ceci soit limitatif, que
les trames sont constituées de N=256 échantillons à une fréquence d'échantillonnage
F
e de 8 kHz, avec une pondération de Hamming dans chaque fenêtre, et des recouvrements
de 50% entre fenêtres consécutives.
[0010] La trame de signal est transformée dans le domaine fréquentiel par un module 11 appliquant
un algorithme classique ce transformée de Fourier rapide (TFR) pour calculer le module
du spectre du signal. Le module 11 délivre alors un ensemble de N=256 composantes
fréquentielles du signal de parole, notées S
n,f, où n désigne le numéro de la trame courante, et f une fréquence du spectre discret.
Du fait des propriétés des signaux numériques dans le domaine fréquenciel, seuls les
N/2=128 premiers échantillons sont utilisés.
[0011] Pour calculer les estimations du bruit contenu dans le signal s, on n'utilise pas
la résolution fréquentielle disponible en sortie de la transformée de Fourier rapide,
mais une résolution plus faible, déterminée par un nombre I de bandes de fréquences
couvrant la bande [0,F
e/2] du signal. Chaque bande i (1≤i≤I) s'étend entre une fréquence inférieure f(i-1)
et une fréquence supérieure f(i), avec f(0)=0, et f(I)=F
e/2. Ce découpage en bandes de fréquences peut être uniforme (f(i)-f(i-1)=F
e/2I). Il peut également être non uniforme (par exemple selon une échelle de barks).
Un module 12 calcule les moyennes respectives des composantes spectrales S
n,f du signal de parole par bandes, par exemple par une pondération uniforme telle que
:
[0012] Ce moyennage diminue les fluctuations entre les bandes en moyennant les contributions
du bruit dans ces bandes, ce qui diminuera la variance de l'estimateur de bruit. En
outre, ce moyennage permet une forte diminution de la complexité du système.
[0013] Les composantes spectrales moyennées S
n,i sont adressées à un module 15 de détection d'activité vocale et à un module 16 d'estimation
du bruit. Ces deux modules 15, 16 fonctionnent conjointement, en ce sens que des degrés
d'activité vocale γ
n,i mesurés pour les différentes bandes par le module 15 sont utilisés par le module
16 pour estimer l'énergie à long terme du bruit dans les différentes bandes, tandis
que ces estimations à long terme Ê
n,i sont utilisées par le module 15 pour procéder à un débruitage a priori du signal
de parole dans les différentes bandes pour déterminer les degrés d'activité vocale
γ
n,i.
[0014] Le fonctionnement des modules 15 et 16 peut correspondre aux organigrammes représentés
sur les figures 2 et 3.
[0015] Aux étapes 17 à 20, le module 15 procède au débruitage a priori du signal de parole
dans les différentes bandes i pour la trame de signal n. Ce débruitage a priori est
effectué selon un processus classique de soustraction spectrale non linéaire à partir
d'estimations du bruit obtenues lors d'une ou plusieurs trames précédentes. A l'étape
17, le module 15 calcule, avec la résolution des bandes i, la réponse en fréquence
Hp
n,i du filtre de débruitage a priori, selon la formule :
où τ1 et τ2 sont des retards exprimés en nombre de trames (τ1≥1, τ2≥0), et α
'n,i est un coefficient de surestimation du bruit dont la détermination sera expliquée
plus loin. Le retard τ1 peut être fixe (par exemple τ1=1) ou variable. Il est d'autant
plus faible qu'on est confiant dans la détection d'activité vocale.
[0016] Aux étapes 18 à 20, les composantes spectrales Êp
n,i sont calculées selon :
où βp
i est un coefficient de plancher proche de 0, servant classiquement à éviter que le
spectre du signal débruité prenne des valeurs négatives ou trop faibles qui provoqueraient
un bruit musical.
[0017] Les étapes 17 à 20 consistent donc essentiellement à soustraire du spectre du signal
une estimation, majorée par le coefficient α'
n-τ1,i, du spectre du bruit estimé a priori.
[0018] A l'étape 21, le module 15 calcule l'énergie du signal débruité a priori dans les
différentes bandes i pour la trame n :
En,i =
Êp. Il calcule aussi une moyenne globale E
n,0 de l'énergie du signal débruité a priori, par une somme des énergies par bande E
n,i, pondérée par les largeurs de ces bandes. Dans les notations ci-dessous, l'indice
i=0 sera utilisé pour désigner la bande globale du signal.
[0019] Aux étapes 22 et 23, le module 15 calcule, pour chaque bande i (0≤i≤I), une grandeur
ΔE
n,i représentant la variation à court terme de l'énergie du signal débruité dans la bande
i, ainsi qu'une valeur à long terme
n,i de l'énergie du signal débruité dans la bande i. La grandeur ΔE
n,i peut être calculée par une formule simplifiée de dérivation :
. Quant à l'énergie à long terme E
n,i, elle peut être calculée à l'aide d'un facteur d'oubli B1 tel que 0<B1<1, à savoir
n,i =
B1.
n-1,i + (1-
B1).
En,i.
[0020] Après avoir calculé les énergies E
n,i du signal débruité, ses variations à court terme ΔE
n,1 et ses valeurs à long terme
n,i de la manière indiquée sur la figure 2, le module 15 calcule, pour chaque bande i
(0≤i≤I), une valeur ρ
1 représentative de l'évolution de l'énergie du signal débruité. Ce calcul est effectué
aux étapes 25 à 36 de la figure 3, exécutées pour chaque bande i entre i=0 et i=1.
Ce calcul fait appel à un estimateur à long terme de l'enveloppe du bruit ba
i, à un estimateur interne bi
i et à un compteur de trames bruitées b
i.
[0021] A l'étape 25, la grandeur ΔE
n,i est comparée à un seuil ε1. Si le seuil ε1 n'est pas atteint, le compteur b
i est incrémenté d'une unité à l'étape 26. A l'étape 27, l'estimateur à long terme
ba
i est comparé à la valeur de l'énergie lissée E
n,i. Si ba
i≥
n,i, l'estimateur ba
i est pris égal à la valeur lissée
n,i à l'étape 28, et le compteur b
i est remis à zéro. La grandeur ρ
i, qui est prise égale au rapport ba
i/
n,i (étape 36), est alors égale à 1.
[0022] Si l'étape 27 montre que ba
i<
n,i, le compteur b
i est comparé à une valeur limite bmax à l'étape 29. Si b
i>bmax, le signal est considéré comme trop stationnaire pour supporter de l'activité
vocale. L'étape 28 précitée, qui revient à considérer que la trame ne comporte que
du bruit, est alors exécutée. Si b
i≤bmax à l'étape 29, l'estimateur interne bi
i est calculé à l'étape 33 selon :
Dans cette formule, Bm représente un coefficient de mise à jour compris entre 0,90
et 1. Sa valeur diffère selon l'état d'un automate de détection d'activité vocale
(étapes 30 à 32). Cet état δ
n-1 est celui déterminé lors du traitement de la trame précédente. Si l'automate est
dans un état de détection de parole (δ
n-1=2 à l'étape 30), le coefficient Bm prend une valeur Bmp très proche de 1 pour que
l'estimateur du bruit soit très faiblement mis à jour en présence de parole. Dans
le cas contraire, le coefficient Bm prend une valeur Bms plus faible, pour permettre
une mise à jour plus significative de l'estimateur de bruit en phase de silence. A
l'étape 34, l'écart ba
i-bi
i entre l'estimateur à long terme et l'estimateur interne du bruit est comparé à un
seuil ε2. Si le seuil ε2 n'est pas atteint, l'estimateur à long terme ba
i est mis à jour avec la valeur de l'estimateur interne bi
i à l'étape 35. Sinon, l'estimateur à long terme ba
i reste inchangé. On évite ainsi que de brutales variations dues à un signal de parole
conduisent à une mise à jour de l'estimateur de bruit.
[0023] Après avoir obtenu les grandeurs ρ
i, le module 15 procède aux décisions d'activité vocale à l'étape 37. Le module 15
met d'abord à jour l'état de l'automate de détection selon la grandeur ρ
0 calculée pour l'ensemble de la bande du signal. Le nouvel état δ
n de l'automate dépend de l'état précédent δ
n-1 et de ρ
0, de la manière représentée sur la figure 4.
[0024] Quatre états sont possibles : δ=0 détecte le silence, ou absence de parole ; δ=2
détecte la présence d'une activité vocale ; et les états δ=1 et δ=3 sont des états
intermédiaires de montée et de descente. Lorsque l'automate est dans l'état de silence
(δ
n-1=0), il y reste si ρ
0 ne dépasse pas un premier seuil SE1, et il passe dans l'état de montée dans le cas
contraire. Dans l'état de montée (δ
n-1=1), il revient dans l'état de silence si ρ
0 est plus petit que le seuil SE1, il passe dans l'état de parole si ρ
0 est plus grand qu'un second seuil SE2 plus grand que le seuil SE1, et il reste dans
l'état de montée si SE1≤ ρ
0≤SE2. Lorsque l'automate est dans l'état de parole (δ
n-1=2), il y reste si ρ
0 dépasse un troisième seuil SE3 plus petit que le seuil SE2, et il passe dans l'état
de descente dans le cas contraire. Dans l'état de descente (δ
n-1=3), l'automate revient dans l'état de parole si ρ
0 est plus grand que le seuil SE2, il revient dans l'état de silence si ρ
0 est en deçà d'un quatrième seuil SE4 plus petit que le seuil SE2, et il reste dans
l'état de descente si SE4≤ρ
0≤SE2.
[0025] A l'étape 37, le module 15 calcule également les degrés d'activité vocale γ
n,i dans chaque bande i≥1. Ce degré γ
n,i est de préférence un paramètre non binaire, c'est-à-dire que la fonction γ
n,i=g(ρ
i) est une fonction variant continûment entre 0 et 1 en fonction des valeurs prises
par la grandeur ρ
i. Cette fonction a par exemple l'allure représentée sur la figure 5.
[0026] Le module 16 calcule les estimations du bruit par bande, qui seront utilisées dans
le processus de débruitage, en utilisant les valeurs successives des composantes S
n,i et des degrés d'activité vocale γ
n,i. Ceci correspond aux étapes 40 à 42 de la figure 3. A l'étape 40, on détermine si
l'automate de détection d'activité vocale vient de passer de l'état de montée à l'état
de parole. Dans l'affirmative, les deux dernières estimations
B̂n-1,i et
B̂n-2,i précédemment calculées pour chaque bande i≥1 sont corrigées conformément à la valeur
de l'estimation précédente
B̂n-3,i. Cette correction est effectuée pour tenir compte du fait que, dans la phase de montée
(δ=1), les estimations à long terme de l'énergie du bruit dans le processus de détection
d'activité vocale (étapes 30 à 33) ont pu être calculées comme s1 le signal ne comportait
que du bruit (Bm=Bms), de sorte qu'elles risquent d'être entachées d'erreur.
[0027] A l'étape 42, le module 16 met à jour les estimations du bruit par bande selon les
formules :
où λ
B désigne un facteur d'oubli tel que 0<λ
B<1. La formule (6) met en évidence la prise en compte du degré d'activité vocale non
binaire γ
n,1.
[0028] Comme indiqué précédemment, les estimations à long terme du bruit
B̂n,i font l'objet d'une surestimation, par un module 45 (figure 1), avant de procéder
au débruitage par soustraction spectrale non linéaire. Le module 45 calcule le coefficient
de surestimation α'
n,i précédemment évoqué, ainsi qu'une estimation majorée
B̂'
n,i qui correspond essentiellement à
α'
n,i.
B̂n,i.
[0029] L'organisation du module de surestimation 45 est représentée sur la figure 6. L'estimation
majorée
B̂'n,i est obtenue en combinant l'estimation à long terme
B̂n,i et une mesure
ΔBde la variabilité de la composante du bruit dans la bande i autour de son estimation
à long terme. Dans l'exemple considéré, cette combinaison est, pour l'essentiel, une
simple somme réalisée par un additionneur 46. Ce pourrait également être une somme
pondérée.
[0030] Le coefficient de surestimation α'
n,i est égal au rapport entre la somme
B̂n,i + Δ
Bdélivrée par l'additionneur 46 et l'estimation à long terme retardée
B̂n-τ3,i (diviseur 47), plafonné à une valeur limite α
max, par exemple α
max=4 (bloc 48). Le retard τ3 sert à corriger le cas échéant, dans les phases de montée
(δ=1), la valeur du coefficient de surestimation α'
n,i, avant que les estimations à long terme aient été corrigées par les étapes 40 et
41 de la figure 3 (par exemple τ3=3)
[0031] L'estimation majorée
B̂'
n,i est finalement prise égale à
α'n,i.B̂n-τ3,i (multiplieur 49).
[0032] La mesure Δ
Bde la variabilité du bruit reflète la variance de l'estimateur de bruit. Elle est
obtenue en fonction des valeurs de S
n,i et de
B̂n,i calculées pour un certain nombre de trames précédentes sur lesquelles le signal de
parole ne présente pas d'activité vocale dans la bande i. C'est une fonction des écarts
|
Sn-k,i -
B̂n-k,i| calculés pour un nombre K de trames de silence (n-k≤n). Dans l'exemple représenté,
cette fonction est simplement le maximum (bloc 50). Pour chaque trame n, le degré
d'activité vocale γ
n,i est comparé à un seuil (bloc 51) pour décider si l'écart |S
n,i -
B̂n,i|, calculé en 52-53, doit ou non être chargé dans une file d'attente 54 de K emplacements
organisée en mode premier entré-premier sorti (FIFO). Si γ
n,i ne dépasse pas le seuil (qui peut être égal à 0 si la fonction g() a la forme de
la figure 5), la FIFO 54 n'est pas alimentée, tandis qu'elle l'est dans le cas contraire.
La valeur maximale contenue dans la FIFO 54 est alors fournie comme mesure de variabilité
Δ
B.
[0033] La mesure de variabilité Δ
Bpeut, en variante, être obtenue en fonction des valeurs S
n,f (et non S
n,i) et
B̂n,i. On procède alors de la même manière, sauf que la FIFO 54 contient non pas |
Sn-k,i -
B̂n-k,i| pour chacune des bandes i, mais plutôt
.
[0034] Grâce aux estimations indépendantes des fluctuations à long terme du bruit
B̂n,i et de sa variabilité à court terme Δ
B, l'estimateur majoré.
B̂'
n,i procure une excellente robustesse aux bruits musicaux du procédé de débruitage.
[0035] Une première phase de la soustraction spectrale est réalisée par le module 55 représenté
sur la figure 1. Cette phase fournit, avec la résolution des bandes i (1≤i≤I), la
réponse en fréquence
Hd'un premier filtre de débruitage, en fonction des composantes S
n,i et
B̂n,i et des coefficients de surestimation
α'n,i. Ce calcul peut être effectué pour chaque bande i selon la formule :
où τ4 est un retard entier déterminé tel que τ4≥0 (par exemple τ4=0). Dans l'expression
(7), le coefficient β
représente, comme le coefficient β
pi de la formule (3), un plancher servant classiquement à éviter les valeurs négatives
ou trop faibles du signal débruité.
[0036] De façon connue (EP-A-0 534 837), le coefficient de surestimation
α'n,i pourrait être remplacé dans la formule (7) par un autre coefficient égal à une fonction
de
α'n,i et d'une estimation du rapport signal-sur-bruit (par exemple S
n,i/
B̂n,i), cette fonction étant décroissante selon la valeur estimée du rapport signal-sur-bruit.
Cette fonction est alors égale à α'
n,i pour les valeurs les plus faibles du rapport signal-sur-bruit. En effet, lorsque
le signal est très bruité, il n'est a priori pas utile de diminuer le facteur de surestimation.
Avantageusement, cette fonction décroît vers zéro pour les valeurs les plus élevées
du rapport signal/bruit. Ceci permet de protéger les zones les plus énergétiques du
spectre, où le signal de parole est le plus significatif, la quantité soustraite du
signal tendant alors vers zéro.
[0037] Cette stratégie peut être affinée en l'appliquant de manière sélective aux harmoniques
de la fréquence tonale (« pitch ») du signal de parole lorsque celui-ci présente une
activité vocale.
[0038] Ainsi, dans la réalisation représentée sur la figure 1, une seconde phase de débruitage
est réalisée par un module 56 de protection des harmoniques. Ce module calcule, avec
la résolution de la transformée de Fourier, la réponse en fréquence
Hd'un second filtre de débruitage en fonction des paramètres
H, α'
n,i,
B̂n,i, δ
n, S
n,i et de la fréquence tonale f
p=F
e/T
p calculée en dehors des phases de silence par un module d'analyse harmonique 57. En
phase de silence (δ
n=0), le module 56 n'est pas en service, c'est-à-dire que
H =
Hpour chaque fréquence f d'une bande i. Le module 57 peut appliquer toute méthode connue
d'analyse du signal de parole de la trame pour déterminer la période T
p, exprimée comme un nombre entier ou fractionnaire d'échantillons, par exemple une
méthode de prédiction linéaire.
[0039] La protection apportée par le module 56 peut consister à effectuer, pour chaque fréquence
f appartenant à une bande i :
[0040] Δf=F
e/N représente la résolution spectrale de la transformée de Fourier. Lorsque
H=1, la quantité soustraite de la composante S
n,f sera nulle. Dans ce calcul, les coefficients de plancher β
(par exemple β
= β
) expriment le fait que certaines harmoniques de la fréquence tonale f
p peuvent être masquées par du bruit, de sorte qu'il n'est pas utile de les protéger.
[0041] Cette stratégie de protection est de préférence appliquée pour chacune des fréquences
les plus proches des harmoniques de f
p, c'est-à-dire pour η entier quelconque.
[0042] Si on désigne par δf
p la résolution fréquentielle avec laquelle le module d'analyse 57 produit la réquence
tonale estimée f
p, c'est-à-dire que la fréquence tonale réelle est comprise entre f
p-δf
p/2 et f
p+δf
p/2, alors l'écart entre la η-ième harmonique de la fréquence tonale réelle est son
estimation η×f
p (condition (9)) peut aller jusqu'à ± η×δf
p/2. Pour les valeurs élevées de η, cet écart peut être supérieur à la demi-résolution
spectrale Δf/2 de la transformée de Fourier. Pour tenir compte de cette incertitude
et garantir la bonne protection des harmoniques de la fréquence tonale réelle, on
peut protéger chacune des fréquences . de l'intervalle [η×f
p- η×δ
fp/2,η×
fp+ η×δ
fp/2], c'est-à-dire remplacer la condition (9) ci-dessus par :
Cette facon de procéder (condition (9')) présente un intérêt particulier lorsque
les valeurs de η peuvent être grandes, notamment dans le cas où le procédé est utilisé
dans un système à bande élargie.
[0043] Pour chaque fréquence protégée, la réponse en fréquence corrigée
H peut être égale à 1 comme indiqué ci-dessus, ce qui correspond à la soustraction
d'une quantité nulle dans le cadre de la soustraction spectrale, c'est-à-dire à une
protection complète de la fréquence en question. Plus généralement, cette réponse
en fréquence corrigée
H pourrait être prise égale à une valeur comprise entre 1 et
H selon le degré de protection souhaité, ce qui correspond à la soustraction d'une
quantité inférieure à celle qui serait soustraite si la fréquence en question n'était
pas protégée.
[0044] Les composantes spectrales
S d'un signal débruité sont calculées par un multiplieur 58 :
[0045] Ce signal
S est fourni à un module 60 qui calcule, pour chaque trame n, une courbe de masquage
en appliquant un modèle psychoacoustique de perception auditive par l'oreille humaine.
[0046] Le phénomène de masquage est un principe connu du fonctionnement de l'oreille humaine.
Lorsque deux fréquences sont entendues simultanément, il est possible que l'une des
deux ne soit plus audible. On dit alors qu'elle est masquée.
[0047] Il existe différentes méthodes pour calculer des courbes de masquage. On peut par
exemple utiliser celle développée par J.D. Johnston («Transform Coding of Audio Signals
Using Perceptual Noise Criteria », IEEE Journal on Selected Area in Communications,
Vol. 6, No. 2, février 1988). Dans cette méthode, on travaille dans l'échelle fréquentielle
des barks. La courbe de masquage est vue comme la convolution de la fonction d'étalement
spectral de la membrane basilaire dans le domaine bark avec le signal excitateur,
constitué dans la présente application par le signal
S. La fonction d'étalement spectral peut être modélisée de la manière représentée sur
la figure 7. Pour chaque bande de bark, on calcule la contribution des bandes inférieures
et supérieures convoluées par la fonction d'étalement de la membrane basilaire :
où les indices q et q' désignent les bandes de bark (0≤q,q'≤Q), et
S, représente la moyenne des composantes
S du signal excitateur débruité pour les fréquences discrètes f appartenant à la bande
de bark q'.
[0048] Le seuil de masquage M
n,q est obtenu par le module 60 pour chaque bande de bark q, selon la formule :
où R
q dépend du caractère plus ou moins voisé du signal. De façcn connue, une forme possible
de R
q est :
avec A=14,5 et B=5,5. χ désigne un degré de voisement du signal de parole, variant
entre zéro (pas de voisement) et 1 (signal fortement voisé). Le paramètre χ peut être
de la forme connue :
où SFM représente, en décibels, le rapport entre la moyenne arithmétique et la moyenne
géométrique de l'énergie des bandes de bark, et SFM
max=-60 dB.
[0049] Le système de débruitage comporte encore un module 62 qui corrige la réponse en fréquence
du filtre de débruitage, en fonction de la courbe de masquage M
n,q calculée par le module 60 et des estimations majorées
B̂'n,i calculées par le module 45. Le module 62 décide du niveau de débruitage qui doit
réellement être atteint.
[0050] En comparant l'enveloppe de l'estimation majorée du bruit avec l'enveloppe formée
par les seuils de masquage M
n,q, on décide de ne débruiter le signal que dans la mesure où l'estimation majorée
B̂'
n,i dépasse la courbe de masquage. Ceci évite de supprimer inutilement du bruit masqué
par de la parole.
[0051] La nouvelle réponse
H, pour une fréquence f appartenant à la bande i définie par le module 12 et à la bande
de bark q, dépend ainsi de l'écart relatif entre l'estimation majorée
B̂'
n,i de la composante spectrale correspondante du bruit et la courbe de masquage M
n,q, de la manière suivante :
[0052] En d'autres termes, la quantité soustraite d'une composante spectrale S
n,f, dans le processus de soustraction spectrale ayant la réponse fréquentielle
H3n,f, est sensiblement égale au minimum entre d'une part la quantité soustraite de cette
composante spectrale dans le processus de soustraction spectrale ayant la réponse
fréquentielle
H2n,f, et d'autre part la fraction de l'estimation majorée
B̂'n,i de la composante spectrale correspondante du bruit qui, le cas échéant, dépasse la
courbe de masquage M
n,q.
[0053] La figure 8 illustre le principe de la correction appliquée par le module 62. Elle
montre schématiquement un exemple de courbe de masquage M
n,q calculée sur la base des composantes spectrales
S2n,f du signal débruité, ainsi que l'estimation majorée
B̂'n,i du spectre du bruit. La quantité finalement soustraite des composantes S
n,f sera celle représentée par les zones hachurées, c'est-à-dire limitée à la fraction
de l'estimation majorée
B̂'n,i des composantes spectrales du bruit qui dépasse la courbe de masquage.
[0054] Cette soustraction est effectuée en multipliant la réponse fréquentielle
H du filtre de débruitage par les composantes spectrales S
n,f du signal de parole (multiplieur 64). Un module 65 reconstruit alors le signal débruité
dans le domaine temporel, en opérant la transformée de Fourier rapide inverse (TFRI)
inverse des échantillons de fréquence
S délivrés par le multiplieur 64. Pour chaque trame, seuls les N/2=128 premiers échantillons
du signal produit par le module 65 sont délivrés comme signal débruité final s
3, après reconstruction par addition-recouvrement avec les N/2=128 derniers échantillons
de la trame précédente (module 66).