Note: Descriptions are shown in the official language in which they were submitted.
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
1
Procédé de détection de la voix
La présente invention se rapporte à un procédé de détection de la
voix permettant de détecter la présence de signaux de parole dans un signal
acoustique bruité issu d'un microphone.
Elle se rapporte plus particulièrement à un procédé de détection de
la voix utilisé dans un système de communication audio sans fil mono-capteur.
L'invention se situe dans le domaine spécifique de la détection
d'activité de la voix, généralement appelé VAD pour Voice Activity
Detection, qui consiste à détecter la parole, autrement dit des signaux de
parole, dans un signal acoustique issu d'un microphone.
L'invention trouve une application privilégiée, mais non limitative,
avec un système de communication audio sans fils multi-utilisateurs, du type
système de communication par multiplexage temporel ou full-duplex, entre
plusieurs terminaux de communication autonomes, c'est-à-dire sans
raccordement à une base de transmission ou à un réseau, et simple
d'utilisation, c'est-à-dire sans intervention d'un technicien pour établir la
communication.
Un tel système de communication, notamment connu des
documents W010149864 Ai, W010149875 Al et EP1843326 Ai, est
classiquement employé dans un environnement bruité voire très bruité, par
exemple en milieu marin, dans le cadre d'un spectacle ou d'un évènement
sportif en salle ou en extérieur, sur un chantier, etc.
La détection d'activité de la voix consiste généralement à délimiter
au moyen de critères quantifiables, les débuts et fin de mots et/ou de phrases
dans un signal acoustique bruité, autrement dit dans un flux audio donné. Une
telle détection trouve des applications dans des domaines comme le codage de
parole, la réduction de bruit ou encore la reconnaissance de parole.
La mise en oeuvre d'un procédé de détection de la voix dans la
chaîne de traitement d'un système de communication audio permet en
particulier de ne pas transmettre de signal acoustique ou audio durant les
périodes de silence. De ce fait, le bruit environnant ne sera pas transmis
pendant ces périodes, dans un souci d'améliorer le rendu audio de la
communication ou pour réduire le débit de transmission. Par exemple, dans le
cadre du codage de parole, il est connu d'employer la détection d'activité de
la
voix pour coder le signal audio de façon pleine que lorsque le procédé VAD
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
2
indique de l'activité. De ce fait, lorsqu'il n y a pas de parole et que l'on
se
trouve dans une période de silence, le débit de codage baisse
significativement, ce qui en moyenne, sur tout le signal, permet d'atteindre
des
débits plus faibles.
Il existe ainsi beaucoup de procédés de détection d'activité de la
voix mais ces derniers présentent des performances médiocres ou ne
fonctionnent pas du tout dans le cadre d'un environnement bruité voire très
bruité, tel que dans un environnement de rencontre sportive (en extérieur ou
en
intérieur) avec des arbitres qui doivent communiquer en audio et sans fil. En
effet, les procédés connus de détection d'activité de la voix donnent de
mauvais résultats lorsque le signal de parole est entaché de bruit.
Parmi les procédés de détection d'activité de la voix connus,
certains mettent en oeuvre une détection de la fréquence fondamentale
caractéristique d'un signal de parole, comme divulgué notamment dans le
document FR 2 988 894. Dans le cas d'un signal de parole, dit signal ou son
voisé, le signal présente en effet une fréquence dite fondamentale,
généralement appelée pitch , qui correspond à la fréquence de vibration des
cordes vocales de la personne qui parle, et qui s'étend généralement entre 70
et 400 Hertz. L'évolution de cette fréquence fondamentale détermine la
mélodie de la parole et son étendue dépend du locuteur, de ses habitudes
mais aussi de son état physique et mental.
Ainsi, pour réaliser la détection d'un signal de parole, il est connu
de partir du principe qu'un tel signal de parole est quasi-périodique et que,
de
ce fait, une corrélation ou une différence avec le signal lui-même mais décalé
présentera des maximums ou des minimums au voisinage de la fréquence
fondamentale et de ses multiples.
Le document YIN, a fundamental frequency estimator for speech
and music , par Alain De Cheveigne et Hideki Kawahara, Journal of the
Acoustical Society of America, Vol. 111, No. 4, pp. 1917-1930, Avril 2002,
propose et développe une méthode basée sur la différence entre le signal et le
même signal décalé temporellement.
Plusieurs méthodes décrites ci-après sont basées sur la détection
de la fréquence fondamentale du signal de parole ou pitch dans un signal
acoustique x(t) bruité.
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
3
Une première méthode de détection de la fréquence fondamentale
met en oeuvre la recherche du maximum de la fonction d'auto-corrélation
R(t) définie par la relation suivante :
N -1--c
1
R(t) = ¨N x(n)x(n +-c) , 0 T max(c) .
n=0
Cette première méthode employant la fonction d'auto-corrélation ne
donne cependant pas satisfaction dès lors qu'il y a présence de bruit
relativement important. De plus la fonction d'auto-corrélation souffre de la
présence de maximums qui ne correspondent pas à la fréquence fondamentale
ou à ses multiples, mais à des sous-multiples de celle-ci.
Une deuxième méthode de détection de la fréquence fondamentale
met en oeuvre la recherche du minium de la fonction différence D(r) définie
par la relation suivante :
N -1-T
1
D (T) = ¨N lx(n) ¨ x(n + T)I , 0 T max(-c) ,
n=0
où I I est l'opérateur valeur absolue, cette fonction différence étant
minimale
au voisinage de la fréquence fondamentale et de ses multiples, puis la
comparaison de ce minimum avec un seuil pour en déduire la décision de
présence de voix ou non.
Par rapport à la fonction d'auto-corrélation R(T) , la fonction
différence D(-) possède l'avantage d'offrir une charge de calcul plus faible,
rendant ainsi cette deuxième méthode plus intéressante pour des applications
en temps réel. Cependant, cette deuxième méthode ne donne pas non plus
entière satisfaction dès lors qu'il y a présence de bruit.
Une troisième méthode de détection de la fréquence fondamentale
met en oeuvre le calcul, en considérant une fenêtre de traitement de longueur
H où H<N, de la fonction différence carrée clt(-) définie par la relation :
clt(r) = EltP-1(xi - x1õ)2,
Puis on poursuit avec la recherche du minimum de la fonction différence
carrée clt(-), cette fonction différence carrée étant minimale au voisinage de
la
fréquence fondamentale et de ses multiples, et enfin la comparaison de ce
minimum avec un seuil pour en déduire la décision de présence de voix ou
non.
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
4
Une amélioration connue de cette troisième méthode consiste à
normaliser la fonction différence carrée MT) en calculant une fonction
différence carrée normalisée d( î) répondant à la relation suivante :
{ 1, St T = 0
di CO = dt(T)
sinon
1
(7)ET i .1 d(j)
Bien que présentant une meilleure immunité au bruit et donnant,
dans ce cadre, de meilleurs résultats de détection, cette troisième méthode
présente des limites en termes de détection de voix, en particulier dans des
zones de bruit à faible RSB (Rapport Signal sur Bruit) caractéristiques d'un
environnement très bruité.
L'état de la technique peut également être illustré par
l'enseignement de la demande de brevet FR 2 825 505 qui met en oeuvre la
troisième méthode de détection de la fréquence fondamentale précitée, pour
l'extraction de cette fréquence fondamentale. Dans cette demande de brevet,
la fonction différence carrée normalisée d( î) peut être comparée à un seuil
pour déterminer cette fréquence fondamentale - ce seuil pouvant être fixe ou
varier en fonction du décalage temporel T - et cette méthode présente les
inconvénients précités associés à cette troisième méthode.
Il est aussi connu d'employer un procédé de détection de la voix
mettant en oeuvre la détection d'une fréquence fondamentale, du document
Pitch detection with average magnitude difference function using adaptive
threshold algorithm for estimating shimmer and jitter , par Hae Young Kim et
al., Engineering In Medicine And Biology Society, 1998, Proceedings of the
20th
Annual International Conference of the IEEE, vol.6, 29 octobre 1998, pages
3162-6164, XP010320717. Dans ce document est décrit un procédé consistant
à chercher le minimum d'une fonction d'auto-corrélation, en mettant en oeuvre
une comparaison avec un seuil adaptatif qui est fonction de valeurs minimales
et maximales du signal dans la trame courante. Cette adaptation du seuil est
cependant très limitée. En effet, dans une situation d'un signal audio avec
différentes valeurs de rapport signal sur bruit mais avec la même amplitude de
signal, le seuil serait le même pour toutes les situations sans que celui-ci
ne
change en fonction du niveau de bruit, pouvant ainsi entraîner des coupures en
début de phrase, voire des non détections de la voix, lorsque le signal à
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
détecter est une voix, en particulier dans un contexte ou le bruit est un
bruit de
spectateurs diffus de telle façon qu'il ne ressemble pas du tout à un signal
de
parole.
La présente invention a pour but de proposer un procédé de
5 détection de la voix qui offre une détection des signaux de parole contenus
dans un signal acoustique bruité, en particulier dans des environnements
bruités voire très bruités.
Elle propose plus particulièrement un procédé de détection de la
voix qui est très adapté pour la communication (notamment entre arbitres) à
l'intérieur d'un stade où le bruit est relativement très fort en niveau et est
fortement non stationnaire, avec des étapes de détection qui évitent surtout
les
mauvaises ou fausses détections (généralement appelées tonches ) dues
aux chants des spectateurs, instruments à vent, tambours, musiques et
sifflets.
A cet effet, elle propose un procédé de détection de la voix
permettant de détecter la présence de signaux de parole dans un signal
acoustique x(t) bruité issu d'un microphone, comportant les étapes successives
suivantes :
- une étape préalable d'échantillonnage comprenant un découpage du signal
acoustique x(t) en un signal acoustique discret {x,} composé d'une suite de
vecteurs associés à des trames i temporelles de longueur N, N correspondant
au nombre de points d'échantillonnage, où chaque vecteur traduit le contenu
acoustique de la trame i associée et est composé des N échantillons x(1)N+1,
xo_1m+2, )(IN, i entier positif ;
- une étape de calcul d'une fonction de détection FD(r) basée sur le calcul
d'une fonction différence D(-) variant en fonction du décalage T sur une
fenêtre
d'intégration de longueur W débutant au temps tO, avec :
D(-0 = Etn _+tr,I-11x(n) ¨ x(n + -01 où 0 < t< max ;
où cette étape de calcul de la fonction de détection FD(r) consiste en un
calcul
d'une fonction de détection discrète FDi(-) associée aux trames i ;
- une étape d'adaptation du seuil dans ledit intervalle courant, en fonction
de
valeurs calculées à partir du signal acoustique x(t) établies dans ledit
intervalle
courant, et notamment des valeurs maximales dudit signal acoustique x(t),
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
6
où cette étape d'adaptation du seuil consiste à, pour chaque trame i, adapter
un seuil f"); propre à la trame i en fonction de valeurs de référence
calculées à
partir des valeurs des échantillons du signal acoustique discret {x,} dans
ladite
trame i ;
- une étape de recherche du minimum de la fonction de détection FD(T) et
comparaison de ce minimum avec un seuil, pour T variant dans un intervalle de
temps déterminé dit intervalle courant pour détecter la présence ou non d'une
fréquence fondamentale Fo caractéristique d'un signal de parole dans ledit
intervalle courant ;
où cette étape de recherche du minimum de la fonction de détection FD(T) et la
comparaison de ce minimum avec un seuil sont réalisées en recherchant, sur
chaque trame i, le minimum rr(i) de la fonction de détection discrète FDi(-)
et
en comparant ce minium rr(i) avec un seuil f"); propre à la trame i ;
et dans lequel l'étape d'adaptation des seuils ni pour chaque trame i comporte
les étapes suivantes :
a)- on subdivise la trame i comprenant N points d'échantillonnage en T sous-
trames de longueur L, où N est un multiple de T afin que la longueur L=N/T
soit
entière, et de sorte que les échantillons du signal acoustique discret {x,}
dans
une sous-trame d'indice j de la trame i comprennent les L échantillons
suivants :
X(i_1)N+(j-1)L + 1, X(i-1)N+(j-1)L+2, = ==, X(i-1)N+jL , j entier positif
compris entre 1 et T ;
b)- on calcule les valeurs maximales mi,i du signal acoustique discret {x,}
dans
chaque sous-trame d'indice j de la trame i, avec :
= max {x(i-i)N+p)L +1, X(i-1)N+(j-1)L+2, = ==, X(i-1)N+jLE
c)- on calcule au moins une valeur de référence Refi,i, MRefi propre à la sous-
trame j de la trame i, la ou chaque valeur de référence Refi,i, MRefi par sous-
trame j étant calculée à partir de la valeur maximale mi,i dans la sous-trame
j de
la trame i ;
d)- on établit la valeur du seuil ni propre à la trame i en fonction
de toutes
les valeurs de référence Refi,i, MRefi calculées dans les sous-trames j de la
trame i.
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
7
Ainsi, ce procédé est basé sur le principe d'un seuil adaptatif, qui
sera relativement bas pendant les périodes de bruit ou de silence et
relativement haut pendant les périodes de parole. De ce fait, les fausses
détections seront minimisées et la parole sera détectée correctement avec un
minimum de coupures en début et fin de mots. Avec le procédé selon
l'invention, on considère les valeurs maximales m,,j établies dans les sous-
trames j pour prendre la décision (voix ou absence de voix) sur la trame i
entière.
Selon une première possibilité, la fonction de détection FD(T)
correspond à la fonction différence D(r).
Selon une seconde possibilité, la fonction de détection FD(T)
correspond à la fonction différence normalisée DN(T) calculée à partir de la
fonction différence D(T) comme suit :
D1\1(t) = 1 Si T = 0,
D1\1(t) = õ D(T) si T *0 ;
(-L/T)Eji D(J)
où le calcul de la fonction différence normalisée DN(T) consiste en un calcul
d'une fonction différence normalisée discrète DNi(T) associée aux trames i,
où:
DNi(t) = 1 Si T = 0,
I
DNi(t) = D(T) si T # 0.
DIU)
Dans une réalisation particulière, la fonction différence discrète
Di(T) relative à la trame i est calculée comme suit :
- on subdivise la trame i en K sous-trames de longueur H, avec par exemple
K = 1N-max (T) I L H j
où
I_ _I représente l'opérateur d'arrondi en partie
entière, de
sorte que les échantillons du signal acoustique discret {x,} dans une sous-
trame
d'indice p de la trame i comprennent les H échantillons :
X(_1)N+(p-1)H + 1, X(-1)N-F(p-1)H+2, = ==, X(-1)N-FpH , p entier positif
compris entre 1 et K ;
- pour chaque sous-trame d'indice p, on calcule la fonction différence
ddp(t)
suivante :
ddp (i) = (i-1)N+pH
3()
,-1=(j-1)N1+(p-1)H+1.1Xi ¨ Xi-V[1
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
8
- on calcule la fonction différence discrète Di(T) relative à la trame i comme
la
somme des fonctions différence ddp(T) des sous-trames d'indice p de la trame
i, soit :
Di(T) = EpK=1 ddp(T) .
Selon une caractéristique, lors de l'étape c), on réalise les sous-
étapes suivantes sur chaque trame i :
c1)-on calcule les enveloppes lissées des maximum rTiij dans chaque sous-
trame d'indice j de la trame i, avec :
= AIi9,1 + (1 ¨ A)mij , où A est un coefficient prédéfini compris entre 0
et 1 ;
c2)-on calcule les signaux de variation A,,j dans chaque sous-trame d'indice j
de la trame i, avec :
= mi,i = A (mij
et où au moins une valeur de référence dite principale Ref, par sous-trame j
est calculée à partir du signal de variation A,,j dans la sous-trame j de la
trame i
Ainsi, on considère les signaux de variation A,,j des enveloppes
lissées établies dans les sous-trames j pour prendre la décision (voix ou
absence de voix) sur la trame i entière, fiabilisant la détection de la parole
(ou
voix).
Selon une autre caractéristique, lors de l'étape c) et à la suite de la
sous-étape c2), on réalise les sous-étapes suivantes sur chaque trame i :
c3)-on calcule les maximums de variation s,,j dans chaque sous-trame d'indice
j
de la trame i, où s,,j correspond au maximum du signal de variation A,,j
calculé
sur une fenêtre glissante de longueur Lm antérieure à ladite sous-trame j,
ladite
longueur Lm étant variable selon que la sous-trame j de la trame i correspond
à
une période de silence ou de présence de parole ;
c4)-on calcule les écarts de variation 6,1 dans chaque sous-trame d'indice j
de
la trame i, avec :
8i
= ¨ s. = ,i Li ;
et où on calcule, pour chaque sous-trame j de la trame i, deux valeurs de
référence principales Ref, à partir respectivement du signal de variation A,,j
et
de l'écart de variation 6,1
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
9
Ainsi, on considère conjointement les signaux de variation A,,j et les
écarts de variation 6,1 établies dans les sous-trames j pour choisir la valeur
du
seuil 0, adaptatif et ainsi prendre la décision (voix ou absence de voix) sur
la
trame i entière, renforçant la détection de la parole. Autrement dit, on
étudie le
couple (A,,j ; 6) pour déterminer la valeur du seuil 0, adaptatif.
Avantageusement, lors de l'étape c) et à la suite de la sous-étape
c4), on réalise une sous-étape c5) de calcul des signaux de variation
normalisés A',,j et des écarts de variation normalisés 6',,j dans chaque sous-
trame d'indice j de la trame i, comme suit :
A,
rr/i '
771u-su
utj
et où, pour chaque sous-trame j d'une trame i, le signal de variation
normalisé
A',,j et l'écart de variation normalisé 6',,j constituent chacun une valeur de
référence principale Ref,,j de sorte que, lors de l'étape d), on établit la
valeur du
seuil 0, propre à la trame i en fonction du couple (A', 6') des signaux de
variation normalisés A',,j et des écarts de variation normalisés 6',,j dans
les
sous-trames j de la trame i
De cette façon, on peut traiter la variation du seuil 0,
indépendamment des niveaux des signaux A,,j et 6,1 en les normalisant avec le
calcul des signaux normalisés A',,j et Ainsi, les seuils 0, choisis à
partir de
ces signaux normalisés A',,j et 6',,j seront indépendants du niveau du signal
acoustique discret {x,}. Autrement dit, on étudie le couple (A' ,,j ; 6') pour
déterminer la valeur du seuil 0, adaptatif.
De manière avantageuse, lors de l'étape d), la valeur du seuil 0,
propre à la trame i est établie en partitionnant l'espace défini par la valeur
du
couple (A', 6'), et en examinant la valeur du couple (A', 6') sur une ou
plusieurs (par exemple entre une et trois) sous-trames successives selon la
zone de valeur du couple (A',
Ainsi, la procédure de calcul du seuil 0, se base sur une partition
expérimentale de l'espace défini par la valeur du couple (A', 6'j). A cela
s'adjoint un mécanisme de décision qui scrute la valeur du couple (A', 6') sur
une, deux ou plus sous-trames successives selon la zone de valeur du couple.
Les conditions de tests de positionnement de la valeur du couple (A',,j,
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
dépendent surtout de la détection de parole lors de la trame précédente et le
mécanisme de scrutation sur les une, deux ou plus sous-trames successives
utilise aussi un partitionnement expérimental.
Selon une caractéristique, lors de la sous-étape c3), la longueur Lm
5 de la fenêtre glissante répond aux équations suivantes :
- Lm = LO si la sous-trame j de la trame i correspond à une période de
silence ;
- Lm = L1 si la sous-trame j de la trame i correspond à une période de
présence de parole ;
10 avec L1 < LO, et notamment avec L1=k1.L et LO=k0.L, L étant la longueur
des
sous-trame d'indice j et kO, k1 étant des entiers positifs.
Selon une autre caractéristique, lors de la sous-étape c3), pour
chaque calcul du maximum de variation s,,j dans la sous-trame j de la trame i,
la fenêtre glissante de longueur Lm est en retard de Mm trames de longueur N
vis-à-vis de ladite sous-trame j.
Selon une autre caractéristique, on réalise les perfectionnements
suivants :
- lors de la sous-étape c3), on calcule également les maximums de variation
normalisés s' dans dans chaque sous-trame d'indice j de la trame i, où s',,j
correspond au maximum du signal de variation normalisé A',,j calculé sur une
fenêtre glissante de longueur Lm antérieure à ladite sous-trame j, où :
/si,]
si,i =
et où chaque maximum de variation normalisé s' est est calculée selon une
méthode de minimisation comprenant les étapes itératives suivantes :
- calcul de s'i = max {s'i ; Aii_mm } et j,j
= max {s'i ; Aii_mm
- si rem(i, Lm) = 0, où rem est l'opérateur reste de la division entière de
deux
entiers, alors :
s'i = max ; A'i_mm b
s =
avec s'0,1 = 0 et = 0 ; et
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
11
- lors de l'étape c4), on calcule les écarts de variation normalisés 6'w dans
chaque sous-trame d'indice j de la trame i, comme suit :
= ¨ s'i .
De manière avantageuse, lors de l'étape c), on réalise une sous-
étape c6) dans laquelle on calcule les maximums de maximale q,,j dans chaque
sous-trame d'indice j de la trame i, où q,,j correspond au maximum de la
valeur
maximale m,,j calculée sur une fenêtre glissante de longueur fixe Lq
antérieure
à ladite sous-trame j, où la fenêtre glissante de longueur Lq est en retard de
Mq trames de longueur N vis-à-vis de ladite sous-trame j, et où une autre
valeur de référence dite secondaire MRef,,j par sous-trame j correspond audit
maximum de maximale q,,j dans la sous-trame j de la trame i
Ainsi, pour éviter d'avantage les fausses détections, il est
avantageux de prendre en compte également ce signal q,,j (valeur de référence
secondaire MRef,,j = q,,j) qui est calculé d'une façon similaire au calcul du
signal
s,,j précité, mais qui opère sur les valeurs maximales m,,j au lieu d'opérer
sur
les signaux de variation A,,j ou sur les signaux de variation normalisés
Dans un mode de réalisation particulier, lors de l'étape d), le seuil
0, propre à la trame i est découpé en plusieurs sous-seuils 0,1 propres à
chaque sous-trame j de la trame i, et la valeur de chaque sous-seuil 0,1 est
au
moins établie en fonction de la ou des valeurs de référence Ref, MRef,,j
calculées dans la sous-trame j de la trame i correspondante.
Ainsi, on a 0, = {00 ; 0,2; = == ; 0,-i-}, traduisant le découpage du
seuil 0, en plusieurs sous-seuils 0,1 propres aux sous-trames j, apportant une
finesse supplémentaire dans l'établissement du seuil 0, adaptatif.
De manière avantageuse, lors de l'étape d), on établit la valeur de
chaque seuil 0,1 propre à la sous-trame j de la trame i en comparant les
valeurs
du couple (A', El') avec plusieurs couples de seuils fixes, la valeur de
chaque
seuil 0,1 étant sélectionnée parmi plusieurs valeurs fixes en fonction des
comparaisons du couple (A', 6'w) avec lesdits couples de seuils fixes.
Ces couples de seuils fixes sont par exemple déterminés
expérimentalement par une répartition de l'espace des valeurs (A', 6'w) en
zones de décisions.
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
12
De manière complémentaire, on établit la valeur de chaque seuil
0,1 propre à la sous-trame j de trame i également en réalisant une comparaison
du couple (A', 6'w) sur une ou plusieurs sous-trames successives selon la
zone initiale du couple (A', 6'w).
Les conditions de tests de positionnement de la valeur du couple
(A', El') dépendent de la détection de parole lors de la trame précédente et
le
mécanisme de comparaison sur la ou les sous-trames successives utilise aussi
un partitionnement expérimental.
Bien entendu, il est également envisageable que l'on établisse la
valeur de chaque seuil 0,1 propre à la sous-trame j de trame i en comparant :
- les valeurs du couple (A', 6'w) (les valeurs de référence principales
Ref,,j)
avec plusieurs couples de seuils fixes ;
- les valeurs de q,,j (la valeur de référence secondaire MRef,,j) avec
plusieurs
autres seuils fixes.
Ainsi, le mécanisme de décision basé sur la comparaison du
couple (A', 6'w) avec des couples de seuils fixes, est complété par une autre
mécanisme de décision basée sur la comparaison de q,,j avec des autres seuils
fixes.
Avantageusement, lors de l'étape d), on réalise une procédure dite
de décision comprenant les sous-étapes suivantes, pour chaque trame i :
- pour chaque sous-trame j de la trame i, on établit un indice de décision
DEC(j) qui occupe soit un état 1 de détection d'un signal de parole soit un
état 0 de non détection d'un signal de parole ;
- on établit une décision temporaire VAD(i) basée sur la comparaison des
indices de décision DEC(j) avec des opérateurs OU logiques, de sorte que
la décision temporaire VAD(i) occupe un état 1 de détection d'un signal de
parole si au moins l'un desdits indices de décision DEC(j) occupe cet état 1
de détection d'un signal de parole.
Ainsi, pour éviter les détections tardives (coupures de mots en
début de détection), la décision finale (voix ou absence de voix) est prise à
la
suite de cette procédure de décision en s'appuyant sur la décision temporaire
VAD(i) qui est elle-même prise sur la trame i entière, en mettant en oeuvre un
opérateur OU logique sur les décisions prises dans les sous-trames j, et
de
préférence dans des sous-trames j successives sur un horizon court et fini à
partir du début de la trame i.
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
13
Lors de cette procédure de décision, on peut réaliser les sous-
étapes suivantes, pour chaque trame i :
- on mémorise une valeur maximale de seuil Lastmax qui correspond à la
valeur variable d'un seuil de comparaison pour l'amplitude du signal
acoustique
discret {x,} en-dessous duquel on considère que le signal acoustique ne
comprend pas de signal de parole, cette valeur variable étant déterminé durant
la dernière trame d'indice k qui précède ladite trame i et dans laquelle la
décision temporaire VAD(k) occupait un état 1 de détection d'un signal de
parole ;
- on mémorise une valeur maximale moyenne A,,j qui correspond à la valeur
maximale moyenne du signal acoustique discret {x,} dans la sous-trame j de la
trame i calculée comme suit :
Ai = 0 A1,_1 + (1 ¨ e)ai
où aij correspond au maximum du signal acoustique discret {x,} contenu dans
une trame k formée par la sous-trame j de la trame i et par au moins une ou
plusieurs sous-trames successives qui précèdent ladite sous-trame j ; et
0 est un coefficient prédéfini compris entre 0 et 1 avec 0 <
- on établit la valeur de chaque sous-seuil 0,1 en fonction de la comparaison
entre ladite valeur maximale de seuil Lastmax et des valeurs maximales
moyennes A,,j et considérées sur deux sous-trames j et j-1 successives.
Dans beaucoup de cas, les fausses détections arrivent avec une
amplitude inférieure à celle du signal de parole (le microphone étant situé à
côté de la bouche de la personne qui communique). Ainsi, cette procédure de
décision vise à éliminer encore plus les mauvaises détections en mémorisant la
valeur maximale de seuil Lastmax du signal de parole réactualisé dans la
dernière période d'activation et les valeurs maximales moyennes A,,j et qui
correspondent à la valeur maximale moyenne du signal acoustique discret {x,}
dans les sous-trames j et j-1 de la trame i. En prenant en compte ces valeurs
(Lastmax, A,,j et A,,o), on rajoute une condition au niveau de l'établissement
du
seuil 0, adaptatif.
Il est important que la valeur de 0 soit choisie comme étant
inférieure au coefficient A pour ralentir les fluctuations de Aij.
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
14
Lors de la procédure de décision mentionnée ci-dessus, on
réactualise la valeur maximale de seuil Lastmax à chaque fois que le procédé a
considéré qu'une sous-trame p d'une trame k contient un signal de parole, en
mettant en oeuvre la procédure suivante :
- la détection d'un signal de parole dans la sous-trame p de la trame k fait
suite à une période d'absence de parole, et dans ce cas Lastmax prend la
valeur actualisée [a (Ak,p + LastMax)], où a est un coefficient prédéfini
compris
entre 0 et 1, et par exemple compris entre 0,2 et 0,7;
- la détection d'un signal de parole dans la sous-trame p de la trame k fait
suite à une période de présence de parole, et dans ce cas Lastmax prend la
valeur actualisée Ak,p si Ak,p > Lastmax.
La mise à jour de la valeur Lastmax se fait ainsi uniquement durant
les périodes d'activation du procédé (autrement dit les périodes de détection
de
la voix). Dans une situation de détection de parole, la valeur Lastmax vaudra
Ak,p lorsqu'on aura Ak,p > LastMax. Cependant, il est important que cette mise
à
jour soit faite comme suit lors de l'activation de la première sous-trame p
qui
suit une zone de silence : la valeur Lastmax vaudra [a (Ak,p + LastMax)].
Ce mécanisme d'actualisation de la valeur maximale de seuil
Lastmax permet au procédé de détecter la voix de l'utilisateur même si celui-
ci
a réduit l'intensité de sa voix (autrement dit parle moins fort) par rapport à
la
dernière fois où le procédé a détecté qu'il avait parlé.
Autrement dit, pour améliorer encore plus l'élimination des fausses
détections, on réalise un traitement fin dans lequel la valeur maximale de
seuil
Lastmax est variable et est comparée aux valeurs maximales moyennes A,,j et
Alti du signal acoustique discret.
En effet, des voix lointaines pourraient être captées avec le
procédé, car de telles voix présentent des fréquences fondamentales
susceptibles d'être détectées, tout comme la voix de l'utilisateur. Pour faire
en
sorte que les voix lointaines, qui peuvent être gênantes dans plusieurs cas
d'utilisation, ne soient pas prises en compte par le procédé, on considère un
traitement au cours duquel on compare la valeur maximale moyenne du signal
(sur deux trames successives), en l'occurrence Al et Ati, avec Lastmax qui
constitue un seuil variable selon l'amplitude de la voix de l'utilisateur
mesurée à
la dernière activation. Ainsi, on fixe la valeur du seuil 0, à une valeur
minimale
très basse, lorsque le signal sera en dessous du seuil.
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
Cette condition pour établir la valeur du seuil 0, en fonction de la
valeur maximale de seuil Lastmax est avantageusement basée sur la
comparaison entre :
- la valeur maximale de seuil Lastmax; et
5 - les valeurs [Kp.A,,j] et [Kp. A1], où Kp est un coefficient fixe de
pondération
compris entre 1 et 2.
De cette manière, on compare la valeur maximale de seuil Lastmax
avec les valeurs maximales moyennes du signal acoustique discret {x,} dans
les sous-trame j et j-1 (A,,j et A,j_1) pondérés d'un coefficient de
pondération Kp
10 compris entre 1 et 2, pour renforcer la détection. Cette comparaison se
fait
uniquement quand la trame précédente n'a pas donné lieu à une détection de
voix.
De manière avantageuse, le procédé comporte en outre une phase
dite de blocage comprenant une étape de basculement d'un état de non
15 détection d'un signal de parole à un état de détection d'un signal de
parole
après avoir détecté la présence d'un signal de parole sur Np trames i
temporelles successives.
Ainsi, le procédé met en oeuvre une étape du type hangover
configurée de telle façon que la transition d'une situation sans voix à une
situation avec présence de voix ne se fait qu'au bout de Np trames successives
avec présence de voix.
De même, le procédé comporte en outre une phase dite de blocage
comprenant une étape de basculement d'un état de détection d'un signal de
parole à un état de non détection d'un signal de parole après avoir détecté
aucune présence d'un signal voisé sur NA trames i temporelles successives.
Ainsi, le procédé met en oeuvre une étape du type hangover
configurée de telle façon que la transition d'une situation avec présence de
voix
à une situation sans voix ne se fait qu'au bout de NA trames successives sans
voix.
Sans ces étapes de basculement, le procédé risque de couper
ponctuellement le signal acoustique pendant les phrases ou même au milieu
des mots prononcés. Pour remédier à cela, ces étapes de basculement mettent
en oeuvre une étape de blocage ou de hangover sur une série donnée de
trames.
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
16
Selon une possibilité de l'invention, le procédé comprend une étape
d'interruption de la phase de blocage dans des zones de décision intervenant
en fin de mots et dans une situation non-bruitée, lesdites zones de décision
étant détectées en analysant le minimum rr(i) de la fonction de détection
discrète FDi(T).
Ainsi, la phase de blocage est interrompue à la fin d'une phrase ou
mot lors d'une détection particulière dans l'espace de décision. Cette
interruption ne survient que dans une situation non ou peu bruitée. A ce
titre, le
procédé prévoit d'isoler une zone de décision particulière qui ne survient
qu'en
fin de mots et dans une situation non-bruitée. Pour renforcer la décision de
détection de cette zone, le procédé utilise aussi le minimum rr(i) de la
fonction
de détection discrète FDi(T), où la fonction de détection discrète FDi(T)
correspond soit à la fonction différence discrète D(-) soit à la fonction
différence normalisée discrète DNi(-). De ce fait, la voix sera coupée plus
rapidement en fin de parole, conférant ainsi au système une meilleure qualité
audio.
L'invention a également pour objet un programme d'ordinateur
comprenant des instructions de code aptes à commander l'exécution des
étapes du procédé de détection de la voix tel que défini ci-dessus lorsqu'il
est
exécuté par un processeur.
L'invention a en outre pour objet un support d'enregistrement de
données d'enregistrement sur lequel est stocké un programme d'ordinateur tel
que défini ci-dessus.
L'invention a pour autre objet une mise à disposition d'un
programme d'ordinateur tel que défini ci-dessus sur un réseau de
télécommunication en vue de son téléchargement.
D'autres caractéristiques et avantages de la présente invention
apparaîtront à la lecture de la description détaillée ci-après, d'un exemple
de
mise en oeuvre non limitatif, faite en référence aux figures annexées dans
lesquelles :
- la figure 1 est un schéma synoptique du procédé conforme à
l'invention ;
- la figure 2 est une vue schématique d'une boucle de limitation mis en
oeuvre par une étape de blocage de décision dite étape du type
hangover ;
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
17
- la figure 3 illustre le résultat d'un procédé de détection de la voix
utilisant un seuil fixe avec, en haut, une représentation de la courbe du
minimum rr(i) de la fonction de détection et de la ligne de seuil fixe Ofix
et, en bas, une représentation du signal acoustique discret {x,} et du
signal de sortie DF, ;
- la figure 4 illustre le résultat d'un procédé de détection de la voix
conforme à l'invention en utilisant un seuil adaptatif avec, en haut, une
représentation de la courbe du minimum rr(i) de la fonction de détection
et de la ligne de seuil adaptatif ni et, en bas, une représentation du
signal acoustique discret {x,} et du signal de sortie DF,.
La description du procédé de détection de la voix est faite en
référence à la figure 1 qui illustre schématiquement la succession des
différentes étapes nécessaires à la détection de la présence de signaux de
parole (ou voix) dans un signal acoustique bruité x(t) issu d'un microphone
unique opérant dans un milieu bruité.
Le procédé commence par une étape 101 préalable
d'échantillonnage comprenant un découpage du signal acoustique x(t) en un
signal acoustique discret {x,} composé d'une suite de vecteurs associés à des
trames i temporelles de longueur N, N correspondant au nombre de points
d'échantillonnage, où chaque vecteur traduit le contenu acoustique de la trame
i associée et est composé des N échantillons x(-1)N-o, x(-1)N+2,
)(IN, i
entier positif:
A titre d'exemple, le signal acoustique bruité x(t) est découpé en
trames de 240 ou 256 échantillons, ce qui à une fréquence d'échantillonnage
Fe de 8 kHz correspond à des trames temporelles de 30 ou 32 millisecondes.
Le procédé se poursuit avec une étape 102 de calcul d'une fonction
différence discrète Di (T) relative à la trame i est calculée comme suit :
- on subdivise chaque trame i en K sous-trames de longueur H, avec la
relation suivante :
K = L1N-max (T)] où
I_ _I représente l'opérateur d'arrondi en partie
entière,
H
de sorte que les échantillons du signal acoustique discret {x,} dans une sous-
trame d'indice p de la trame i comprennent les H échantillons suivants :
X(_1)N+(p-1)H + 1, X(-1)N-F(p-1)H+2, = = = , X(-1)N-FpH , p entier positif
compris entre 1 et K ;
puis
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
18
- pour chaque sous-trame d'indice p, on calcule la fonction différence
ddp(t)
suivante :
ddp(t) = Y.(i-1)N+pH
- Xi-V[1
- on calcule la fonction différence discrète Di(T) relative à la trame i
comme la
somme des fonctions différence ddp(T) des sous-trames d'indice p de la trame
i, soit :
Di(t) = EpK=1 ddp(t) .
Il est également possible que l'étape 102 comprennent également
le calcul d'une fonction différence normalisée discrète DNi(-) à partir de la
fonction différence discrète D(r), comme suit :
DNi(t) = 1 Si T = O,
DNi(t) = Di (T)
O.
ET=1 Di (i)
Le procédé se poursuit avec une étape 103 dans laquelle, pour
chaque trame i :
- on subdivise la trame i comprenant N points d'échantillonnage en T sous-
trames de longueur L, où N est un multiple de T afin que la longueur L=N/T
soit
entière, et de sorte que les échantillons du signal acoustique discret {x,}
dans
une sous-trame d'indice j de la trame i comprennent les L échantillons
suivants :
X(i-1)N+(j-1)L + 1, X(i-1)N+(j-1)L+2, = = = , X(i-1)N+jL , j entier positif
compris entre 1 et T ;
b)- on calcule les valeurs maximales mi,i du signal acoustique discret {x,}
dans
chaque sous-trame d'indice j de la trame i, avec :
= max {x(i-i)N+p)L + 1, X(i-1)N+(j-1)L+2, = = = , X(i-1)N+jLE
A titre d'exemple, on subdivise chaque trame i de longueur 240
(soit N=240) en quatre sous-trame j de longueurs 60 (soit T=4, et L=60).
Ensuite, dans une étape 104, on calcule les enveloppes lissées des
maximum rrii,j dans chaque sous-trame d'indice j de la trame i, définis pas :
= + (1 ¨ A.)mij , où A est un coefficient prédéfini compris
entre 0
et 1.
Puis, dans une étape 105, on calcule les signaux de variation A,i
dans chaque sous-trame d'indice j de la trame i, définis par:
Ai,i = mij mi,i =
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
19
Ensuite, dans une étape 106, on calcule les signaux de variation
normalisés E' définis définis par:
Ai = mi =- rrii =
=
A! = = _______
Ensuite, dans une étape 107, on calcule les maximums de variation
si,i dans chaque sous-trame d'indice j de la trame i, où si,i correspond au
maximum du signal de variation Aj calculé sur une fenêtre glissante de
longueur Lm antérieure à ladite sous-trame j. Lors de cette étape 106, la
longueur Lm est variable selon que la sous-trame j de la trame i correspond à
une période de silence ou de présence de parole, avec :
- Lm = LO si la sous-trame j de la trame i correspond à une période de
silence ;
- Lm = L1 si la sous-trame j de la trame i correspond à une période de
présence de parole ;
avec L1 < LO. A titre d'exemple, L1=k1.L et L0=k0.L, L étant pour rappel la
longueur des sous-trame d'indice j et kO, k1 étant des entiers positifs avec
k1<k0. En outre, la fenêtre glissante de longueur Lm est en retard de Mm
trames de longueur N vis-à-vis de ladite sous-trame j.
Durant cette étape 106, on calcule également les maximums de
variation normalisés s'i dans chaque sous-trame d'indice j de la trame i, où :
/
s- =
rT,I, =
Il est envisageable de calculer les maximums de variation
normalisés s'i selon une méthode de minimisation comprenant les étapes
itératives suivantes :
- calcul de s'i = max {s'i j_1 ; Aii_mm } et = max {s'1,_1 ; Aii_mm
- si rem(i, Lm) = 0, où rem est l'opérateur reste de la division entière de
deux
entiers, alors :
= max ; A'i_mm b
= Aii_mm
- finsi
avec s'0,1 = 0 et = O.
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
Ensuite, dans une étape 108, on calcule les écarts de variation 6,1
dans chaque sous-trame d'indice j de la trame i, définis par:
= ¨ sit
Dans cette même étape 108, on calcule les écarts de variation
5 normalisés dans chaque sous-trame d'indice j de la trame i,
définis par:
ut,j - =
Ensuite, dans une étape 109, on calcule les maximums de
maximale q,,i dans chaque sous-trame d'indice j de la trame i, où q,,i
correspond
au maximum de la valeur maximale m,,i calculée sur une fenêtre glissante de
10 longueur fixe Lq antérieure à ladite sous-trame j, où la fenêtre
glissante de
longueur Lq est en retard de Mq trames de longueur N vis-à-vis de ladite sous-
trame j. Avantageusement, Lq > LO, et notamment Lq=kq.L avec kq un entier
positif et kq > kO. De plus, on a Mq > Mm.
Durant cette étape 109, il est envisageable de calculer les
15 maximums de maximale q,,i selon une méthode de minimisation comprenant
les étapes itératives suivantes :
- calcul de qjj = max ; mi_mo 1 et 4i =
max ; mi_mq 1
- si rem(i, Lq) = 0, où rem est l'opérateur reste de la division entière de
deux
entiers, alors :
20 qij = max {41,j-1; rni_mcp;
4i,; = mi¨mnu
- finsi
avec g" = 0 et g" = O.
Ensuite, dans une étape 110, on établit les valeurs de seuils 0,
propres à chaque trame i, parmi plusieurs valeurs fixes 0a, Ob, Oc, etc. De
manière plus fine, on établit les valeurs des sous-seuils 0,1 propres à chaque
sous-trame j de la trame i, le seuil 0, étant découpée en plusieurs sous-
seuils
0. A titre d'exemple, chaque seuil 0, ou sous-seuil 0,1 prend une valeur fixe
choisie parmi six valeurs fixes 0a, Ob, Oc, Od, 0e, Of, ces valeurs fixes
étant
par exemple comprises entre 0,05 et 1, et notamment entre 0,1 et 0,7.
Chaque seuil 0, ou sous-seuil 0,1 est fixé à une valeur fixe 0a, Ob,
Oc, Od, 0e, Of par la mise en oeuvre de deux analyses :
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
21
- première analyse : la comparaison des valeurs du couple (A', 6') dans la
sous-trame d'indice j de la trame i avec plusieurs couples de seuils fixes ;
- deuxième analyse : la comparaison des maximums de maximale q,,j dans la
sous-trame d'indice j de la trame i avec des seuils fixes.
A la suite de ces deux analyses, une procédure dite de décision
donnera la décision finale sur la présence de la voix dans la trame i. Cette
procédure de décision comprend les sous-étapes suivantes, pour chaque
trame i :
- pour chaque sous-trame j de la trame i, on établit un indice de décision
DEC(j) qui occupe soit un état 1 de détection d'un signal de parole soit un
état 0 de non détection d'un signal de parole ;
- on établit une décision temporaire VAD(i) basée sur la comparaison des
indices de décision DEC(j) avec des opérateurs OU logiques, de sorte que
la décision temporaire VAD(i) occupe un état 1 de détection d'un signal de
parole si au moins l'un desdits indices de décision DEC(j) occupe cet état 1
de détection d'un signal de parole, autrement dit on a la relation suivante :
VAD(i) = DEC(1) + DEC(2) + + DEC,(T), où "+" est l'opérateur OU .
Ainsi, en fonction des comparaisons faites lors des première et
deuxième analyses, et en fonction de l'état de la décision temporaire VAD(i),
on fixe le seuil 0, à l'une des valeurs fixes 0a, Ob, Oc, Od, 0e, Of et on en
déduit la décision finale en comparant le minimum rr(i) avec le seuil 0, fixé
à
l'une des ses valeurs fixes (voir description ci-après).
Dans beaucoup de cas, les fausses détections (ou tonches)
arrivent avec une amplitude inférieure à celle du signal de parole, le
microphone étant situé à côté de la bouche de l'utilisateur. En tenant compte
de ce fait, il est envisageable d'éliminer encore plus les fausses détections
en
mémorisant la valeur maximale de seuil Lastmax déduit du signal de parole
dans la dernière période d'activation du VAD et en ajoutant une condition
dans le procédé basée sur cette valeur maximale de seuil Lastmax.
Ainsi, dans l'étape 109 décrite précédemment, on rajoute la
mémorisation de la valeur maximale de seuil Lastmax qui correspond à la
valeur variable (ou actualisé) d'un seuil de comparaison pour l'amplitude du
signal acoustique discret {x,} en-dessous duquel on considère que le signal
acoustique ne comprend pas de signal de parole, cette valeur variable étant
déterminé durant la dernière trame d'indice k qui précède ladite trame i et
dans
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
22
laquelle la décision temporaire VAD(k) occupait un état 1 de détection d'un
signal de parole.
Dans cette étape 109, on mémorise également une valeur
maximale moyenne A,,j qui correspond à la valeur maximale moyenne du signal
acoustique discret {x,} dans la sous-trame j de la trame i calculée comme suit
:
=e A1,_1 + ¨ e)a= =
où aij correspond au maximum du signal acoustique discret {x,} contenu dans
la trame théorique k formée par la sous-trame j de la trame i et par au moins
une ou plus sous-trames successives qui précèdent ladite sous-trame j ; et
0 est un coefficient prédéfini compris entre 0 et 1 avec 0 < A.
Dans cette étape 109, on réactualise la valeur maximale de seuil
Lastmax à chaque fois que le procédé a considéré qu'une sous-trame p d'une
trame k contient un signal de parole, en mettant en oeuvre la procédure
suivante :
- la détection d'un signal de parole dans la sous-trame p de la trame k
fait
suite à une période d'absence de parole, et dans ce cas Lastmax prend la
valeur actualisée [a (Ak,p + LastMax)], où a est un coefficient prédéfini
compris
entre 0 et 1, et par exemple compris entre 0,2 et 0,7;
- la détection d'un signal de parole dans la sous-trame p de la trame k
fait
suite à une période de présence de parole, et dans ce cas Lastmax prend la
valeur actualisée Ak,p si Ak,p > Lastmax.
Puis, dans l'étape 110 décrite précédemment, on rajoute une
condition basée sur la valeur maximale de seuil Lastmax pour fixer le seuil Q.
Pour chaque trame i, cette condition est basée sur la comparaison
entre :
- la valeur maximale de seuil Lastmax, et
- les valeurs [Kp.A,,j] et [Kp. A1], où Kp est un coefficient fixe de
pondération
compris entre 1 et 2.
Il est également envisageable d'abaisser la valeur maximale de
seuil Lastmax après une période de temporisation donnée (par exemple fixée
entre quelques secondes et quelques dizaines de secondes) entre la trame i et
la dernière trame d'indice k précitée, afin d'éviter la non détection de la
parole
si l'utilisateur/locuteur abaisse l'amplitude de sa voix de manière
significative.
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
23
Ensuite, dans une étape 111, on calcule, pour chaque trame
courante i, le minimum rr(i) d'une fonction de détection discrète FDi(T), où
la
fonction de détection discrète FDi(-) correspond soit à la fonction différence
discrète Di(T) soit à la fonction différence normalisée discrète DNi(T).
Enfin, dans une dernière étape 112, on compare, pour chaque
trame courante i, ce minimum rr(i) avec le seuil 0, propre à la trame i, pour
détecter la présence ou non d'un signal de parole (oui signal voisé), avec :
- si rr(i) 0,, alors la trame i est considérée comme présentant un signal
de
parole et le procédé délivre un signal de sortie DF, prenant la valeur 1
(autrement dit, la décision finale pour la trame i est présence de voix dans
la
trame i ) ;
- si rr(i) > 0,, alors la trame i est considérée comme ne présentant pas de
signal de parole et le procédé délivre un signal de sortie DF, prenant la
valeur
O (autrement dit, la décision finale pour la trame i est absence de voix
dans la trame i ).
En référence aux figures 1 et 2, il est envisageable d'apporter un
perfectionnement au procédé, en introduisant une étape supplémentaire 113
de blocage de décision (ou étape de hangover), pour éviter les coupures de
son dans une phrase et pendant la prononciation des mots, cette étape 113 de
blocage de décision visant à renforcer la décision de présence/absence de voix
par la mise en oeuvre des deux étapes suivantes :
- basculement d'un état de non détection d'un signal de parole à un état de
détection d'un signal de parole après avoir détecté la présence d'un signal de
parole sur Np trames i temporelles successives ;
- basculement d'un état de détection d'un signal de parole à un état de non
détection d'un signal de parole après avoir détecté aucune présence d'un
signal voisé sur NA trames i temporelles successives.
Ainsi, cette étape 113 de blocage permet de délivrer en sortie un
signal de décison de la détection de la voix Dv qui prend la valeur 1
correspondant à une décision de la détection de la voix et la valeur O
correspondant à une décison de la non détection de la voix, où :
- le signal de décison de la détection de la voix Dv bascule d'un état i
à un
état 0 si et seulement si le signal de sortie DF, prend la valeur 0
sur NA
trames i temporelles successives ; et
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
24
- le signal de décison de la détection de la voix Dv bascule d'un état 0 à
un
état 1 si et seulement si le signal de sortie DF, prend la valeur 1
sur Np
trames i temporelles successives.
En référence à la figure 2, si on suppose que l'on parte d'un état
Dv=1 , on bascule vers un état Dv=0 si le signal de sortie DF, prend la
valeur O sur NA trames successives, sinon l'état reste à Dv=1 (Ni
représentant le numéro de la trame au début de la série). De même, si on
suppose que l'on parte d'un état Dv=0 , on bascule vers un état Dv=1 si
le signal de sortie DF, prend la valeur 1 sur Np trames successives, sinon
l'état reste à Dv=0 .
La décision finale s'applique aux premiers H échantillons de la
trame traitée. De préférence NA est supérieur à Np, avec par exemple NA=100
et Np=3, car il vaut mieux risquer de détecter du silence plutôt que de couper
une conversation.
La suite de la description porte sur deux résultats de détection de
voix obtenus avec un procédé classique utilisant un seuil fixe (Figure 3) et
avec
le procédé conforme à l'invention utilisant un seuil adaptatif (Figure 4).
Sur les figures 3 et 4 (en bas), on note que les deux procédés
travaillent sur le même signal acoustique discret {x,}, avec en ordonnées
l'amplitude et en abscisse les échantillons. Ce signal acoustique discret {x,}
présente une seule zone de présence de parole PAR , et de nombreuses
zones de présence de bruits parasites tels que musique, tambours, cris de
foule et sifflets. Ce signal acoustique discret {x,} traduit un environnement
représentatif d'une communication entre personnes (comme des arbitres) à
l'intérieur d'un stade ou d'un gymnase où le bruit est relativement très fort
en
niveau et est fortement non stationnaire.
Sur les figures 3 et 4 (en haut), on note que les deux procédés
exploitent la même fonction rr(i) correspondant pour rappel au minimum de la
fonction de détection discrète FDi(-) sélectionnée.
Sur la figure 3 (en haut), la fonction minimum rr(i) est comparée à
un seuil fixe Ofix sélectionné de manière optimale pour assurer la détection
de
la voix. Sur la figure 3 (en bas), on note la forme du signal de sortie DF,
qui
occupe un état 1 si rr(i) Ofix et un état 0 si rr(i) > Ofix.
Sur la figure 4 (en haut), la fonction minimum rr(i) est comparée à
un seuil adaptatif 0, calculé selon les étapes décrites précédemment en
CA 02932449 2016-06-02
WO 2015/082807 PCT/FR2014/053065
référence à la figure 1. Sur la figure 4 (en bas), on note la forme du signal
de
sortie DF, qui occupe un état 1 si rr(i) 0, et un état 0 si rr(i) > Q.
On note sur la figure 3 que le procédé conforme à l'invention
permet une détection de la voix dans la zone de présence de parole PAR
5 avec le
signal de sortie DF, qui occupe un état 1 , et que ce même signal de
sortie DF, occupe plusieurs fois un état 1 dans les autres zones où la
parole
est pourtant absente, ce qui correspond par des fausses détections non
désirées avec le procédé classique.
Par contre, on note sur la figure 4 que le procédé conforme à
10
l'invention permet une détection optimale de la voix dans la zone de présence
de parole PAR avec le signal de sortie DF, qui occupe un état 1 , et
que
ce même signal de sortie DF, occupe un état 0 dans les autres zones où la
parole est absente. Ainsi, le procédé conforme à l'invention assure une
détection de la voix avec une forte réduction du nombre de fausses détections.
15 Bien
entendu l'exemple de mise en oeuvre évoqué ci-dessus ne
présente aucun caractère limitatif et d'autres améliorations et détails
peuvent
être apportés au procédé selon l'invention, sans pour autant sortir du cadre
de
l'invention où d'autres algorithmes de calcul de la fonction de détection
FD(T)
peuvent par exemple être utilisés.