Note: Descriptions are shown in the official language in which they were submitted.
' CA 02304012 2000-03-15
WO 99/14737 PCT/FR98/01979
PROCEDE DE DETECTION D'ACTIVITE VOCALE
La prsente invention concerne les techniques
numriques de traitement de signaux de parole. Elle
concerne plus particulirement les techniques faisant
appel une dtection d'activit vocale afin d'effectuer
des traitements diffrencis selon que le signal supporte
ou non une activit vocale.
Les techniques numriques en question revent de
domaines varis . codage de la parole pour la transmission
ou le stockage, reconnaissance de la parole, diminution du
bruit, annulation d'cho...
Les mthodes de dtection d'activit vocale or_t
pour principale difficult la distinction entre l'activit
vocale et le bruit qui l'accompagne. Le recours une
technique de dbruitage classique ne permet pas de traiter
cette difficult, puisque ces techniques font elles-mmes
appel des estimations du bruit qui dpendent du degr
d'activit vocale du signal.
Un but principal de la prsente invention est
d'amliorer la robustesse au bruit des mthodes de
dtection d'activit vocale.
L'invention propose ainsi un procd de dtection
d'activit vocale dans un signal de parole numrique
t
i
ra
t par trames successives, dans lequel on soumet le
signal de parole un dbruitage en tenant compte
d'estimations du bruit compris dans le signal, mises
jour pour chaque trame d'une manire dpendante d'au moins
un degr d'activit vocale dtermin pour ladite trame.
Selonl'invention, on procde un dbruitage 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
prcdente, et on analyse les variations d'nergie du
signal dbruit a priori pour dtecter le degr d'activit
vocale de ladite trame.
Le fait de procder la dtection d'activit
vocale (selon une mthode qui peut gnralement tre toute
mthode connue) sur la base d' un signal dbruit a priori
CA 02304012 2000-03-15
WO 99/14737 PCT/FR98/01979
- 2 -
amliore sensiblement les performances de cette dtection
lorsque le bruit environnant est relativement important.
Dans la suite de la prsente description, on
illustrera le procd de dtection d'activit vocale selon
l'invention dans un systme de dbruitage d'un signal de
parole. On comprendra que ce procd peut trouver des
applications dans de nombreux autres types de traitement
numrique 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...
D'autres particularits et avantages de la
prsente invention apparaitront dans la description ci-
aprs d'exemples de ralisation non limitatifs, en
rfrence aux dessins anr_exs, dans lesquels .
- la figure 1 est un schma synoptique d'ur~
systme de dbruitage mettant en ceuvre la prsente
invention ;
- les figures 2 et 3 sont des organigrammes de
procdures utilises par un dtecteur d'activit vocale du
systme de la figure 1 ;
- la figure 9 est un diagramme reprsentant les
tats d'un automate de tection d'activit vocale ;
- la figure 5 est un graphique illustrant les
variations d'un degr d'activit vocale ;
- la figure 6 est un schma synoptique d'un module
de surestimation du bruit du systme 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 systme de
la figure 1.
Le systme de dbruitage reprsent sur la figure
1 traite un signal numrique de parole s. Un module de
fentrage 10 met ce signal s sous forme de fentres ou
trames successives, constitues chacune d'un nombre N
d'chantillons de signal numrique. De faon classique,
ces trames peuvent prsenter des recouvrements mutuels.
Dans la suite de la prsente description, on considrera,
CA 02304012 2000-03-15
.. WO 99/14737 PCT/FR98/01979
- 3 -
sans que ceci soit imitatif, que les trames sont
constitues de N=256 chantillons une frquence
d'cha~-tillonnage Fe e 8 kHz, avec une pondration de
Hamming dans chaque fentre, et des recouvrements de 50
entre Tentres conscutives.
La trame de signal est transforme dans le domaine
frquer_tiel par un module 11 appliquant un algorithme
classique de transforme e Fourier rapide (TFR)
pour
calculer le module du spectre du signal
Le mod
l
.
u
e 11
dlivre alors un ensemble de D1=256
composantes
frque~:tielles du signal de parole, notes S
o r
n~f,
.
dsigne le numro de la trame courante, et f une frquence
u spectre discret. Du fait des proprits des
i
s
gnaux
numriques dans le domaine frquentiel, seuls les N/2=128
premiers chantillons sont utiliss.
Pour calculer les estimations du bruit contenu
dans le signal s, on n'utilise pas la rsolution
frquentielle disponible en sortie de la transforme de
Fourier rapide, mais une rsolution plus faible,
20 dtermine par un nombre I e bandes de frquences
couvrant la bande [O,Fe/2) du signal. Chaque band
i
e
( 1 < i < I ) s' tend entre une frquence infrieure f ( i-1
) e t
une frquence suprieure f ( i ) , avec f ( 0 ) =0, et f ( I
) =F
/2 .
e
Ce dcoupage en bandes de frquences peut tre uniforme
2 5 ( f ( i ) -f ( i-1 ) =F
/2I ) . I1 peut galement t
e
re non uniforme
(par exemple selon une chelle de barks). Un module 12
calcule les moyennes respectives des composantes
spectrales Sn~f du signal de parole par bandes
, par
exemple par une pondration uniforme telle que .
_ 1
30 Sn
1
S
'
n,f ( 1 )
f(i) - f(i-1)
f e~f(i-1) ,f(i)~
Ce moyennage diminue les fluctuations entre les
bandes en moyennant les contributions du bruit dans
ces
bandes, ce qui diminuera la variance de l'estimat
eur de
bruit. En outre, ce moyennage permet une forte diminution
35 de la complexit du systme.
CA 02304012 2000-03-15 '
WO 99/14737 PCT/FR98/01979
- 4 -
Les composantes spectrales moyennes Sn
i sont
~
adresses un module 15 de dtection d'activit vocale et
un module 16 d'estimation du bruit. Ces deux modules 15, '
16 for_ctionnent conjointement, en ce sens que des degrs
d' activi t vocale yn~ i mesurs pour les diffrentes bandes '
par le modue 15 sont utiliss par le module 16 pour
estime. l'nergie long terme du bruit dans les
diffrentes bandes, tandis que ces estimations long
terme ~n
i sont utilises par le module 15 pour procder
~
1~0un dbruitage a priori du signal de parole dans les
diffrentes bandes pour dterminer les degrs d'activit
vocale y
n, ~ '
Le fonctionnement des modules 15 et 16 peut
correspondre aux organigrammes reprsents sur les figures
2 et 3.
Aux tapes 17 20, le module 15 procde au
dbruitage a priori du signal de parole dans les
diffrentes bandes i pour la trame de signal n. Ce
dbruitage a priori est effectu selon un processus
classique de soustraction spectrale non linaire partir
d'estimations du bruit obtenues lors d'une ou plusieurs
trames prcdentes. A l'tape 17, le module 15 calcule,
avec la rsolution des bandes i, J_a rponse en frquence
Hpn~i du filtre de dbruitage a priori, selon la formule .
Sn,i - ~n-il,i' Bn-Tl
i
2 ,
5 ( 2 )
Hpn,i -
S
n-T2,i
où zl et z2 sont des retards exprimés en nombre de trames
(tl >_ l, T2 > 0) , et an~i est un coefficient de surestimation ,
du bruit dont 1a détermination sera expliquée plus loin.
Le retard T1 peut étre fixe (par exemple T1=1 ) ou variable .
Il est d'autant plus faible qu'on est confiant dans la
détection d'activité vocale.
Aux étapes 18 à 20, les composantes spectrales
' CA 02304012 2000-03-15
WO 99/14737 PCT/FR98/01979
- 5 -
Epn'i sont calculées selon .
, Ep,~~i = max~Hpn~i. Sn~i . api. Bn_Tl ~i~ ( 3 )
où (api est un coefficient dle plancher proche de 0, servant
classiauement à éviter que le spectre du signal àébruité
prenne des valeurs négatives ou trop faibles qui
provoqueraient un bruit musical.
Les étapes 17 à 20 consistent donc essentiellement
à soustraire du spectre du signal une estimation, majorée
par le coefficient an_~l,i' du spectre du bruit estimé a
î0 priori.
r_ l'étape 21, le module 15 calcule l'éne=g~e du
signa débruité a priori dans les différentes banàes i
pour la trame n . F~.l~i = ~pn,i . I1 calcule aussi une
moyenne globale En~O de l'énergie du signal débruité a
priori, par une somme des énergies par bande En, 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.
Aux étapes 22 et 23, le module 15 calcule, pour
chaque bande i (0<_i<_I), une grandeur ~En~i représentant
la variation à court terme de l'énergie du signal débruité
dans la bande i, ainsi qu' une valeur à long terme En~i de
l' énergie du signal débruité dans la bande i . La grandeur
~En~i peut être calculée par une formule simplifiée de
dérivation , ~En~i = En-4,i + En-3,i - En-l,i - En,i
Quant à
.. _
1 energie à long terme En~i, elle peut être calculée à
l'aide d'un facteur d'oubli Bl tel que 0<B1<1, à savoir
En,i = B1 . En_l.i + !1--B1) . En~i .
CA 02304012 2000-03-15
WO 99/14737 PCT/FR98/01979
- 6 -
Après avoir calculé les énergies En~i du signal
débruité, ses variations à court terme ~En~i et ses
valeurs à long terme En~i de la manière indiquée sur la
figure 2, le module 15 calcule, pour chaque bande i .
(0<_i_<I',, une valeur pi 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=T. Ce calcul fait appel à un estimateur à
long terme de l'enveloppe du bruit bai, à un estimateur
interne bii et à un compteur de trames bruitées bi.
A l' étape 25, la grandeur DEn~ i est comparée ~ un
seuil e~. Si le seuil sl n'est pas atteint, le compteur bi
est incrémenté d'une unité à l'étape 26. A l'étape 27,
l'estimateur à long terme bai est comparé à 1a valeur de
l' énergie ïissée Envi . Si bai >_ En~i , l' estimateur bai est
pris égal à la valeur lissée En~i à l'étape 28, et le
compteur bi est remis à zéro. La grandeur pi, qui est
prise égale au rapport bai/En~i (étape 36), est alors
égale à 1.
Si l' étape 27 montre que bai<En~i , le compteur bi
est comparé à une valeur limite bmax à l'étape 29. Si
bi>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 bi<_bmax à l'étape 29,
l'estimateur interne bii est calculé à l'étape 33 selon .
b.ü = (1-Bm) . En~i + Bm . bai ( 4 )
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
CA 02304012 2000-03-15
.. WO 99/14737 PCT/FR98/01979
_ 7 _
(étapes 30 à 32). Cet état 8n_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 mi s à
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,
î0 l'écart bai-bii entre l'estimateur à long terme et
l' estimate~,~r interne du bruit est comparé à ur_ seuil s2.
Si le seuil s2 n'est pas atteint, l'estimateur à long
terme ba; est mis à jour avec la valeur de l'estimateur
1
interne bii à l'étape 35. Sinon, l'estimateur à long terme
bai reste inchangé. On évite ainsi que de brutales
variations dues à un signal de parole conduisent à une
mise à jour de l'estimateur de bruit.
Après avoir obtenu les grandeurs pi, 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 p0 calculée pour l'ensemble de
la bande du signal. Le nouvel état 8 de l'automate dé end
n p
de l'état précédent ôn_1 et de p0, de la manière
représentée sur la figure 4.
Quatre états sont possibles . 8=0 détecte le
silence, ou absence de parole ; 8=2 détecte la présence
d'une activité vocale ; et les états b=1 et 8=3 sont des
états intermédiaires de montée et de descente. Lorsque
l'automate est dans l'état de silence (8n_1=0), il y reste
si p0 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 (8n_1=1), il revient dans l'état de silence si
CA 02304012 2000-03-15
WO 99/14737 PCT/FR98/01979
g
p0 est plus petit que le seuil SEl, il passe dans l'état
de parole si p0 est plus grand qu'un second seuil SE2 plus
grand que le seuil SE1, et il reste dans l' état de montée
si SEl<_ p0<_SE2. Lorsque l'automate est dans l'état de .
parole (8n_1=2), i1 y reste si p0 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 (8n_1=3), l'automate revient dans l'état de
parole si p0 est plus grand que le seuil SE2, il revient
dans l'état de silence si p0 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_< p0_<SE2.
A l'étape 37, le module 15 calcule également les
degrés d'activité vocale yn~i dans chaque bande i>_1. Ce
degré yn~i est de préférence un paramètre non binaire,
c'est-à-dire que la fonction Yn,i-g(pi) est une fonction
variant continûment entre 0 et 1 en fonction des valeurs
prises par la grandeur pi. Cette fonction a par exemple
l'allure représentée sur la figure ,5.
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 Sn~i et des degrés d'activité vocale °ln,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 Bn_l,i et Bn_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 Bn_3~~. Cette correction est
effectuée pour tenir compte du fait que, dans la phase de
CA 02304012 2000-03-15
,_ WO 99/14737 PCT/FR98/01979
- 9 -
montée (8=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 si le signal
ne comportait que du bruit (Bm=Bms), de sorte qu'elles
risquent d'être entachées d'erreur.
A l'étape 42, le module ï6 met à jour les
estimations du bruit par bande selon les formules .
81,~~1 = 7~B. Bn_l~i + (1-7~B) . Sn~1 ( 5 )
Bn~1 = ,~n~i. Bn_l~i + (1-yn~i) . Bn~i (6)
où 7~B désigne un facteur d' oubli tel que 0<7~B<1 . La
formula (6) met en évidence la prise en compte du degré
d'activité vocale non binaire Yn,i'
Comme indiqué précédemment, les estimations à 1 ong
terme du bruit Bn~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 an~i précédemment
évoqué, ainsi qu'une estimation majorée Bn~1 qui correspond
essentiellement à an~1 . Bn~i .
L'organisation du module de surestimation 45 est
représentée sur la figure 6. L'estimation majorée Bn~i est
obtenue en combinant l'estimation à long terme Bn~1 et une
mesure OBn1 de 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.
Le coefficient de surestimation an~i est égal au
rapport entre la somme Bn~i + OBn ï délivrée par
CA 02304012 2000-03-15
WO 99/14737 PCT/FR98/01979
- 10 -
l'additionneur 46 et l'estimation à long terme retardée
Bn-T3,i (diviseur 47), plafonné à une valeur limite amax'
par exemple amax-4 (bloc 48). Le retard T3 sert à corriger
le cas échéant, dans les phases de montée (b=1), la valeur
du coefficient àe surestimation ani, avant que les
estimations à long terme aient été corrigées par les
étapes 40 et 41 de la figure 3 (par exemple T3=3).
L'estimation majorée Bn,i est finalement prise
égale à a~ . B (multiplieur 49) .
n,i n-t3,i
~~a mesure ORnax de l a variabilité du bruit reflète
1 a variance de I' estimateur de bruit. Elle est obtenue en
fonction des valeurs de Sn, i et de Bn,~ 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 Ia
bande i . C' est une fonction des écarts ISn-k,i - Bn-k,'
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 ISn,i - Bn,il , 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 Ia FIFO 54
est alors fournie comme mesure de variabilité OBni .
La mesure de variabilité OBnï peut, en variante,
être obtenue en fonction des valeurs'Sn,f (et non Sn,i) et
CA 02304012 2000-03-15
WO 99/14737 PCT/FR98/01979
- 11 -
Bn~i. On procède alors de la mème manière, sauf que la FIFO
54 contient non pas I Sn-k,i - Bn-k,i pour chacune des bandes
i, mais plutôt ~ max ~ ISn-k, f - Bn-k,il
f E f (i-1) , f (i)
Gràce aux estimations indépendantes des
fluctua~ions à long terme du bruit Bn~i et de sa
_.
variabil i té à court terme OBn ï , l' estimateur majoré ~n i
procure une excellente robustesse aux bruits musicaux du
procédé de débruitage.
Une première phase de la soustraction spectrale
lû est ré~?isé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 Hn~i d'un premier filtre
de débruitage, en fonction des composantes Sn~ i et Bn~; et
des coefficients de surestimation an~i. Ce calcul peut
être effectué pour chaque bande i selon la formule .
' 1
max Sn~i - an,i. Bn,i ' ~3i. Bn,i
Hn,i - S ( 7 )
n-T4,i
où i4 est un retard entier déterminé tel que z4>_0 (par
exemple Z4=0) . Dans l' expression (7) , le coefficient j3i
représente, comme le coefficient ~3pi de la formule (3), un
plancher servant classiquement à éviter les valeurs
négatives ou trop faibles du signal débruité.
De façon connue (EP-A-0 534 837), le coefficient
de surestimation an~i pourrait être remplacé dans la
formule (7) par un autre coefficient égal à une fonction
de an~i et d'une estimation du rapport signal-sur-bruit
(par exemple Sn~i/Bn,i), cette fonction étant décroissante
CA 02304012 2000-03-15
_ WO 99/14737 PCT/FR98/01979
- 12 -
selon ia valeur estimée du rapport signal-sur-bruit. Cette
fonction est alors égale à an~~ pour les valeurs 1 es plus
faibles du rapport signal-sur-bruit. En effet, lorsque le
signal est très bruité, il n'est a priori pas utile de
diminuei le facteur de surestimation. Avantage~~sement,
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
l~ du signal tendant alors vers zéro.
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.
15 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 Ia résolution de la transformée de Fourier,
la réponse en fréquence Hn~f d'un second filtre de
20 débruitage en fonction des paramètres Hn~i, an,i' ~n,i' Sn'
Sn~i et de la fréquence tonale fp=Fe/Tp calculée en dehors
des phases de silence par un module d'analyse harmonique
57. En phase de silence (8n=0), le module 56 n'est pas en
service, c'est-à-dire que Hn f = Hn i Pour cha ue
q
25 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 Tp, exprimée comme un
nombre entier ou fractionnaire d'échantillons, par exemple
une méthode de prédiction linéaire.
30 La protection apportée par le module 56 peut
consister à effectuer, pour chaque fréquence f appartenant
à une bande i .
CA 02304012 2000-03-15
WO 99/14737 PCT/FR98/01979
- 13 -
2
Sn~i - a,n~i. Bn~i > (31. Bn~1
Hn~ f = 1 s i
et ~r~ entier ~ If - r). fp) _< ~f / 2 (9)
Hn,f = Hn f sinon
~f=Fe/N représente la résolution spectrale àe la
transformée de Fourier. Lorsque Hn~f =1, la quantité
soustraite de la composante Sn~f sera nulle. Dans ce
calcul, les coefficients de plancher X31 (par exemple
2 1
(31 = (3i ) expriment le fait que certaines harmoniques de la
fréquence tonale fp peuvent être masquées par du :croit, àe
sorte ûu'il n'est pas utile de les protéger.
Cette stratégie de protection est de préférence
appliquée pour chacune des fréquences les plus proches des
harmoniques de fp, c'est-à-dire pour r~ entier quelconque.
Si on désigne par 8fp la résolution fréquentielle
avec laquelle le module d'analyse 57 produit la fréquence
tonale estimée fp, c'est-à-dire que la fréquence tonale
réelle est comprise entre fp-8fp/2 et fp+8fp/2, alors
l'écart entre la r)-ième harmonique de la fréquence tonale
réelle est son estimation r~xfp (condition (9)) peut aller
j usqu' à ~ r~x8fp/2 . Pour les valeurs élevées de r~, 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
~r~xfp- r~x$fp/2 , r~xfp+ r)x8fp/2J, c'est-à-dire remplacer la
tcondition (9) ci-dessus par .
entier ~ f - r~. fpl _< ~r~. 8fp + G1f)/2
CA 02304012 2000-03-15
WO 99/14737 PCT/FR98/01979
- 14 -
Cette façon de procéder (condition (9')) présente un
intérêt particulier lorsque les valeurs de r~ peuvent être
grandes, notamment dans le cas où le procédé est utilisé
dans un système à bande élargie.
Pour chaque fréquence protégée, la réponse en .
fréquence corrigée Hn~ f 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 Hn~f pourrait être prise égale à une valeur
comprise entre 1 et Hl selon le degré de protection
r.,f
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.
Les composantes spectrales Sn~f d'un signal
débruité sont calculées par un multiplieur 58 .
2 2
Sn~f = Hn~f. Sn~f (10)
Ce signal Sn~f 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.
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.
I1 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
CA 02304012 2000-03-15
WO 99/14737 PCT/FR98/01979
- 15 -
est vus 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
applica~ion par le signal Sn~f . La fonction d'étalement
spectral peut être modélisée de la manière représer_tée sur
la figure 7. Pour chaa_ue 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 .
2 2
q-1 S Q S
, ,
C n~a n q
n ' + ( 11 )
q ~ ~
~
' ~l Olo/lol(q-q) W)
q J , 25/10 (~i
0 q -q+1 10
~
o les indices q et q' dsignent les bandes e bark
( 0 ~ q. q' <-Q) . et Sn~q, reprs ente la
moyenne
des composantes
Sn~f du signal excitateur débruité pour les fréquences
discrètes f appartenant à la bande de bark q'.
15 Le seuil de masquage Mn~q est obtenu par le module
60 pour chaque bande de bark q, selon la formule .
(12)
Mn. q Vin, q~Rq
où Rq dépend du caractère plus ou moins voisé du signal.
De façon connue, une forme possible de Rq est
20 10 . 1og10 (Rq) - (A+q) .x + B . ( 1-x) ( 13 )
avec A=14,5 et B=5,5. x 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 x peut être de la
forme connue .
= min SFM ~ 1 (12)
SFMmax
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 SFMmax=-60 dB.
Le système de débruitage comporte encore un module
62 qui corrige la réponse en fréquence du filtre de
CA 02304012 2000-03-15
WO 99/14737 PCT/FR98/01979
- 16 -
débruitage, en fonction de la courbe de masquage Mn~q
calculée par le module 60 et des estimations majorées Bn,i
calculées par le module 45. Le module 62 décide du niveau
de débruitage qui doit réellement être atteint.
En comparant l'enveloppe de l'estimation majorée
du bruit avec l'enveloppe formée par les seuils de
masquage Mn~q, on décide de ne débruiter le signal que
dans la mesure où l'estimation majorée Bn~1 àépasse la
courbe de masquage. Ceci évite de supprimer inutilement du
bruit masqué par de la parole.
La nouvelle réponse Hn~f, pour une fréquence r
appartenant à ïa 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"; de la composante spectrale
correspondante du bruit et la courbe de masquage Mn~q, de
la manière suivante
Hn~ f = 1 - Cl - Hn~ f) . max Bn~~ ", Mn~q , 0 ( 14 )
Bn,i
En d' autres termes, la quantité soustraite d' une
composante spectrale Sn~f, dans le processus de
soustraction spectrale ayant la réponse fréquentielle
Hn~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 Hn~f, et d'autre part la fraction de
l'estimation majorée Bn~i de la composante spectrale
correspondante du bruit qui, le cas échéant, dépasse la
courbe de masquage Mn~q.
La figure 8 illustre le principe de la correction
appliquée par le module 62. Elle montre schématiquement un
CA 02304012 2000-03-15
WO 99/14737 PCT/FR98/01979
- 17 -
exemple de courbe de masquage Mn~q calculée sur la base
des composantes spectrales Sn~f du signal débruité, ainsi
que l'estimation majorée Bn~i du spectre du bruit. La
quantité finalement soustraite des composantes S ~ sera
r~ ,
celle représentée par les zones hachurées, c'est-à-dire
limitée à la fraction de l'estimation majorée Bn~~ des
composantes spectrales du bruit qui dépasse la courbe de
masquage.
Cette soustraction est effectuée en multipliant 1a
réponse fréquentielle H3 ~ du filtre de débruitage par les
n,l
composantes spectrales Sn~f du signaï 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 Sn~f 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 s3, après
reconstruction par addition-recouvrement avec les N/2=128
derniers échantillons de 1a trame précédente (module 66).