Brevet FR2988894A1 — publié le 20131004

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 5 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. 10 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 15 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 A1, W010149875 Al et EP1843326 A1, est classiquement employé dans un environnement bruité voire très bruité, par 20 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 25 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 30 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. 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 » indique de l'activité. De ce fait, lorsqu'il 35 n y a pas de parole et que l'on se trouve dans une période de silence, le débit 2 9 88894 2 de codage baisse significativement, ce qui en moyenne, sur tout le signal, permet d'atteindre des débits relativement faibles. Il existe ainsi beaucoup de procédés de détection d'activité de la voix mais ces derniers restent limités dans le cadre d'un environnement bruité 5 voire très bruité, car ils 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. Dans le cas d'un signal de parole, dit 10 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 15 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 20 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 25 même signal décalé. 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. Une première méthode de détection de la fréquence fondamentale met en oeuvre les étapes suivantes : 30 i) numérisation et découpage du signal acoustique bruité en une suite de trames temporelles ; ii) échantillonnage des trames temporelles de manière à obtenir, par trame i, un vecteur de paramètres {A}, ce vecteur de paramètres traduisant le contenu acoustique de la trame i avec un nombre N de points d'échantillonnage ; 35 iii) recherche, pour chaque trame i, du maximum de la fonction d'auto-corrélation R(t) définie par la relation suivante : 3 R(t) = N-1-i Selon une caractéristique, le coefficient de normalisation Qi calculé lors de l'étape c) est défini par la relation suivante : Qi = Enx (T) st (T) Selon une autre caractéristique, l'étape c) comporte les sous-5 étapes suivantes : c.1) détermination d'un intervalle de recherche de délais temporels [mint, maxi] ; c.2) calcul d'une matrice d'indices pour les délais A répondant à la relation suivante : maxt ( 2 ) + ((0 : maxt - 1)/2) A = maxt ( 2 ((1 : maxc)/2) 10 où: - ( ) représente un opérateur d'arrondi, notamment un opérateur d'arrondi au plus proche ; - (0 : maxt - 1) = (0 1 2 ... (maxt - 2)(maxt - 1)) ; et - (1 : maxt) = (1 2 ... (maxt - 1)(maxt)) c.3) détermination, pour chaque trame courante i et sur des intervalles de 15 temps successifs de longueur H, d'une matrice de la fonction différence carrée ddi et d'une matrice de la fonction somme carrée sdi, lesdites matrices ddi et sdi étant organisées avec un nombre de lignes nRows et un nombre de colonnes nCols et définies par les éléments génériques suivants : ddi(k,1) = en-2-0(xi(A(0,1) + kH + m) - xi(0(1,1) + kH + m))2 ; et 20 sdi(k,l) = en-2-0(xi(A(0,1) + kH + m) + xi(0(1,1) + kH + m))2 , où k correspond à l'indice de ligne et I correspond à l'indice de colonne ; c.4) calcul, pour chaque trame courante i et chaque ligne I, d'un vecteur différence Ddi(I) et d'un vecteur somme Sdi(I) répondant aux relations suivantes : 25 Ddi(1) = U_Rrs-1 ddi(k,1) ; et Sdi(1) = sdi(k,1) ; Selon une autre caractéristique, l'étape c) comporte la sous-étape c.5) de calcul, pour chaque trame courante i, d'un coefficient de normalisation Qi répondant à la relation suivante : Qi = E1 Cois-1 sdi(1) De manière avantageuse, la sous-étape c.1) est réalisée en : - définissant un intervalle de recherche fréquentiel [minFo ; maxFo] autour de la fréquence fondamentale Fo ; puis - calculant l'intervalle de recherche de délais temporels [mint, maxi] avec les 5 relations suivantes : mint = I Fe I et maxi = [ e tmaxF01 I minFF e 10 où : - Fe correspond à la fréquence d'échantillonnage de la séquence considérée mis en oeuvre lors de l'étape b) ; - J représente l'opérateur d'arrondi en partie entière ; et - 1 représente l'opérateur d'arrondi en partie entière par excès. Pour la recherche de la fréquence fondamentale Fo, il est en effet avantageux de définir un intervalle de recherche [minFo, maxFo] auquel correspond l'intervalle de recherche de délais temporels [mint, max-c]. Par exemple, [minFo, maxFo] = [70, 400] Hz qui donnera, pour une fréquence 15 d'échantillonnage Fe = 8 kHz, un intervalle [mint, maxi] = [20, 115]. Dans une réalisation particulière, lors de la sous-étape c.3), le nombre de lignes nRows et le nombre de colonnes nCols sont définis par les relations suivantes : - nRows = N-maxi et H 20 - nCols = max-c, où I_ J représente l'opérateur d'arrondi en partie entière. Avantageusement, pour nRows >2, la sous-étape c.4) est réalisée en : i) déterminant, pour la première trame courante, le vecteur différence Ddi(I) et 25 le vecteur somme Sdi(I), où : Dd1(1) = ddi(k,l) et Sd1(1) = URco)ws-1 sdi(k,l) ; puis en ii) déterminant, pour les trames suivantes, les vecteurs différence Ddi(I) et les vecteurs somme Sdi(I) par application des relations suivantes : 30 Ddi+i (1) = Ddi(1) - r1(1,1) + ri+1(nRows,1) ; et Sdi+1(1) = Sdi(1) - ni (1,1) + ni+1(nRows,1) ; . où : - ri(m, I) correspond à la ligne d'indice m de la matrice de la fonction différence carrée dd; ; et - ni(m, I) correspond à la ligne d'indice m de la matrice de la fonction somme carrée sdi. En effet, les matrices ddi et sdi possèdent les propriétés d'invariance suivantes : ri+1(1,1) ri(2, 1) dd n+1(2,1) ri(3, 1) [ddi(2: nRows, 1)1 ri+i (nRows, 1) ' et i+i = ri+i(nRows - 1,1) (nRows, 1) ri+i (nRows, 1) ri+1(nRows,1)_ ni+1(1, 1) ni (2, 1) ni+1(2, 1) ni(3, 1) - - ni+ (nRows - 1,1) ni (nRows, 1) ni+i(nRows, 1) ni+i (nRows, 1) sdi+1 = [sdi (2: nRows, 1)1 [ ni+i (nRows, 1) [ ' où : - ddi(2: nRows,1) est une matrice extraite de la matrice ddi associée à la 10 trame d'indice i, comportant les lignes 2 à nRows de cette dernière, - sdi(2: nRows,1) est une matrice extraite de la matrice sdi associée à la trame d'indice i, comportant les lignes 2 à nRows de cette dernière. On en déduit donc l'équation suivante : nRows nRows Ddi+1(1) = ri+i(k, 1) = ri(k, 1) + ri+i(nRows, 1) k=1 k=2 nRows ri(k, 1) - ri(1, 1) + ri+i(nRows, 1) k=1 = Ddi(1) - ri(1,1) + ri+i(nRows, 1) , 15 De même, en suivant un raisonnement similaire, on en déduit l'autre équation : Sdi+1(1) = Sdi(1) - ni(1, 1) + ni+i(nRows, 1) ; Ainsi, il n'est plus nécessaire de calculer tous les éléments des 20 matrices ddi et sdi, puis de procéder à la somme de leurs lignes pour calculer les vecteurs différence Ddi(I) et les vecteurs somme Sdi(I). Au lieu de cela, il suffit de partir des vecteurs Ddi(I) et Sdi(I), puis de mettre à jour les vecteurs Ddi(I) et Sdi(I) en appliquant les deux équations précédentes qui passe par, d'une part, le calcul des lignes r1+1(nRows,1) et ni+1(nRows,1) et, d'autre part, la sauvegarde à l'itération précédente de r1(1,1) et n1(1,1). Selon un premier algorithme, l'étape d) comporte les sous-étapes suivantes : d.1) calcul, pour chaque trame courante i et chaque ligne I, d'une fonction de détection Dni(I) répondant à la relation suivante : Dni(1) = Ddi(1)/[Qi Sdi(1)] d.2) calcul, pour chaque trame courante i, d'un minimum rr(i) de la fonction de détection Dni(I), avec la relation suivante : rr(i) = min(Dni(mier : maxi)) ; d.3) comparaison, pour chaque trame courante i, du minimum rr(i) avec le seuil prédéterminé cp pour détecter la présence ou non d'un signal voisé, avec : - si le minimum rr(i) est inférieur ou égal au seuil cp, alors la trame i est considérée comme présentant un signal de parole ; - si le minimum rr(i) est supérieur au seuil cp, alors la trame i est considérée comme ne présentant pas de signal de parole. Selon un second algorithme, l'étape d) est réalisée en comparant, pour chaque trame courante i et en faisant varier l'indice de colonne I entre mint et max-c, le vecteur différence Ddi(I) avec la fonction [(p.Q.Sdi(1)] pour 20 détecter la présence ou non d'un signal voisé, avec : - si Ddi(I) [(p.Q.Sdi(1)], alors la trame i est considérée comme ne présentant pas de signal de parole. 25 Ce second algorithme est avantageux par rapport au premier algorithme précité, car il évite les divisions nécessaires pour le calcul de la fonction de détection Dni(I) et il évite le calcul du minimum global rr(i). Dans un mode de réalisation particulier, lequel l'étape b) comporte des étapes supplémentaires consistant à calculer, pour chaque trame i, une 30 énergie ei de la trame i et ensuite comparer cette énergie ei avec un seuil d'énergie Ô, de sorte que : - si l'énergie ei de la trame i est inférieure au seuil d'énergie Ô, alors la trame i est considérée comme ne présentant pas de signal de parole ; et - si l'énergie ei de la trame i est supérieure au seuil d'énergie Ô, alors les étapes c) et d) sont mis en oeuvre pour cette trame i pour détecter la présence 5 ou non d'un signal de parole. Dans ce mode de réalisation, lorsque l'énergie ei de la trame i est faible, le procédé estime une absence de signal de parole, et ce sans passer par le calcul algorithmique complet des étapes c) et d) du procédé. Une première estimation de l'énergie ei est : ei = lx(i-i)N+kl - k=1 10 Une seconde estimation de l'énergie ei est, en alternative tout aussi efficace que la première : ei = Er_o Sd, (I) , où M est un entier prédéfini, par exemple avec M=5 ou 6. De manière avantageuse, le procédé comporte en outre une étape de basculement d'un état de non détection d'un signal de parole à un état de 15 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é comporte une machine d'état 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 20 avec présence de voix. De même, le procédé comporte en outre 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. 25 Ainsi, le procédé comporte une machine d'état 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 30 ponctuellement le siganl 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. 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 10 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 : 15 - la figure 1 est une vue schématique d'un système de détection de la voix permettant de mettre en oeuvre le procédé conforme à l'invention ; - la figure 2 est une vue schématique d'une boucle de limitation mis en oeuvre par un module de blocage de décision ou module hangover ; - la figure 3 illustre un signal acoustique de base intégrant une série de 20 neuf phrases venant de neuf locuteurs différents et séparées par des zones de silence ; - la figure 4 illustre un signal acoustique bruité correspondant au signal acoustique de base de la figure 3 auquel est rajouté du bruit blanc avec des RSB (Rapport Signal sur Bruit) différents ; 25 - la figure 5 illustre un signal de détection résultant d'un procédé de « VAD » utilisant l'algorithme standard G729 ; - la figure 6 illustre un signal de détection résultant d'un procédé de détection conforme à l'invention ; - la figure 7 illustre une courbe de la fonction différence carrée 30 normalisée da-c), avec une ligne de seuil (en haut), et un signal de détection résultant (en bas) ; et - la figure 8 illustre une courbe de la fonction de détection d't' (r) utilisée pour le procédé conforme à l'invention, avec une ligne de seuil (en haut), et un signal de détection résultant (en bas). 35 La description du procédé de détection de la voix est faite en référence à la figure 1 qui illustre schématiquement un système 1 de détection de la voix permettant de mettre en oeuvre les différentes étapes nécessaires à la détection de la présence de signaux de parole dans un signal acoustique bruité x(t) issu d'un microphone unique opérant dans un milieu bruité. Ce système 1 comprend une unité de conversion 2 qui assure les 5 étapes suivantes : a) numérisation et découpage du signal acoustique bruité x(t) en une suite de trames temporelles ; b) échantillonnage des trames temporelles de manière à obtenir, par trame i, un vecteur de paramètres {xi}, ce vecteur de paramètres {xi} traduisant le 10 contenu acoustique de la trame i avec un nombre N de points d'échantillonnage. 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. 15 Le système 1 comprend, en sortie de l'unité de conversion 2, une unité de traitement numérique 3 qui réalise la détection, dans chaque trame temporelle i, de la voix. Cette unité de traitement numérique 3 comporte un module de calcul 4 qui réalise l'étape c) de calcul des trois fonctions suivantes, pour 20 chaque trame i et en considérant une fenêtre de traitement de longueur H où H 2. Pour nRows = 2, il faut calculer les matrices ddi et sdi directement. 20 Dans une cinquième sous-étape c.5), on calcule, pour chaque trame courante i, le coefficient de normalisation Qi répondant à la relation suivante : Qi = La suite de la description porte sur l'organisation des calculs lors de l'étape d) mise en oeuvre par le module 5, avec deux algorithmes de calcul 25 distincts. Selon un premier algorithme, l'étape d) comporte les sous-étapes suivantes : d.1) calcul, pour chaque trame courante i et chaque ligne I, d'une fonction de détection Dni(I) répondant à la relation suivante : 30 Dni(1) = Ddi(1)/[Qi . Sdi(1)] ; d.2) calcul, pour chaque trame courante i, d'un minimum rr(i) de la fonction de détection Dni(I), avec la relation suivante : rr(i) = min(Dni(mint : maxi)) ; d.2) comparaison, pour chaque trame courante i, du minimum rr(i) avec le seuil prédéterminé cp pour détecter la présence ou non d'un signal voisé, avec : - si rr(i) cp, alors la trame i est considérée comme présentant un signal de parole et le module de détection de la voix 5 délivre un signal de sortie So prenant la valeur « 1 » ; - si rr(i) > cp, alors la trame i est considérée comme ne présentant pas de signal de parole et le module de détection de la voix 5 délivre un signal de sortie So prenant la valeur « 0 ». Le second algorithme vise à réduire la complexité et donc la charge de calcul par rapport au premier algorithme, en évitant d'avoir à réaliser les divisions nécessaires pour calculer la fonction de détection Dni(I), et en évitant d'avoir à recherche le minimum rr(i). A cet effet, selon ce second algorithme, l'étape d) est réalisée en 15 comparant, pour chaque trame courante i et en faisant varier l'indice de colonne I entre mint et max-r, le vecteur différence Ddi(I) avec la fonction [cp.Q;.Sdi(1)] pour détecter la présence ou non d'un signal voisé, avec : - si Ddi(I) [cp.Q;.Sd;(I)], alors la trame i est considérée comme ne présentant pas de signal de parole et le module de détection de la voix 5 délivre un signal de sortie So prenant la valeur « 0 ». Ce second algorithme met ainsi en oeuvre la boucle de calcul 25 suivante : Pour 1 = mint : maxt Si Dd(1) Ô, alors le module de limitation 6 délivre un signal de non limitation SNL à destination du module de calcul 4 pour que les étapes c) et d) soient intégralement mis en oeuvre pour cette trame i pour détecter la présence ou 15 non d'un signal de parole. Un second perfectionnement consiste à introduire un module de blocage de décision 7 (ou module hangover), en sortie du module de détection de la voix 5, pour éviter les coupures de son dans une phrase et pendant la prononciation des mots, ce module de blocage de décision 7 visant à renforcer 20 la décision de présence/absence de voix par la mise en oeuvre des étapes suivantes, schématisées par la figure 2 : - 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 ; 25 - 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, ce module de blocage de décision 7 délivre en sortie un signal de décison de la détection de la voix Dv qui prend la valeur « 1 » 30 correspondant à une décision de la détection de la voix et la valeur « 0 » 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 « 1 » à un état « 0 » si et seulement si le signal de sortie So prend la valeur « 0 » sur NA trames i temporelles successives ; et - le signal de décison de la détection de la voix Dv bascule d'un état « 0 » à un 5 état « 1 » si et seulement si le signal de sortie So 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=O » si le signal de sortie So prend la valeur « 0 » sur NA trames successives, sinon l'état reste à « Dv=1 » (Ni 10 représentant le numéro de la trame). De même, si on suppose que l'on parte d'un état « Dv=O », on bascule vers un état « Dv=1 » si le signal de sortie So prend la valeur « 1 » sur Np trames successives, sinon l'état reste à « Dv=O ». 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 15 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 des essais de détection de voix mis en en oeuvre avec des procédés connus et avec le procédé conforme à l'invention. 20 La figure 3 illustre un signal acoustique de base SACO intégrant une série de neuf phrases P1 à P9 venant de neuf locuteurs différents et séparées par des zones de silence. La figure 4 illustre un signal acoustique bruité SAC correspondant au signal acoustique de base SACO auquel est rajouté du bruit blanc avec des RSB 25 (Rapport Signal sur Bruit) différents : - pour les phrases Pl, P2 et P3, le RSB rajouté est de 12 dBs ; - pour les phrases P4, P5 et P6, le RSB rajouté est de 4 dBs ; et - pour les phrases P7, P8 et P9, le RSB rajouté est de 8 dBs. En premier lieu, on compare les résultats entre le procédé de 30 « VAD » utilisant l'algorithme standard G729 mis en oeuvre dans le domaine de la téléphonie mobile (Figure 5) et le procédé conforme à l'invention (Figure 6), pour la détection de la parole sur le signal acoustique bruité SAC ; le signal acoustique de base SACO est également illustré sur les figures 5 et 6 pour pouvoir établir si la détection est efficace pour chacun des procédés. Sur la figure 5, on note que le procédé « VAD » utilisant l'algorithme standard G729 délivre un signal de détection SDN particulièrement peu efficace, en estimant détecter de la voix dans des zones de silence. Sur la figure 6, on note que le procédé conforme à l'invention 5 délivre un signal de détection SDINV particulièrement efficace en détectant toutes les phrases tout en excluant les zones de silence. Le procédé conforme à l'invention est donc bien meilleur dans la détection de la parole. En second lieu, on compare les résultats entre le procédé de détection de la fréquence fondamentale utilisant la fonction différence carrée 10 normalisée da-c) précitée (Figure 7) et le procédé conforme à l'invention (Figure 8), pour la détection de la parole sur le signal acoustique bruité SAC ; le signal acoustique de base SAD° est également illustré sur les figures 7 et 8 pour pouvoir établir si la détection est efficace pour chacun des procédés. Sur la figure 7 sont illustrés la courbe CDCN de la fonction différence 15 carrée normalisée da-c), avec la ligne Ls du seuil cp, ainsi que le signal de détection SDDCN résultant. On note que le procédé utilisant la fonction différence carrée normalisée da-c) ne détecte pas les phrases P4 et P6 et que les phrases P5, P7, P8 et P9 sont mal détectées. Sur la figure 8 sont illustrés la courbe CDINV de la fonction de 20 détection d't'(r) utilisée pour le procédé conforme à l'invention, avec la ligne Ls du seuil cp, ainsi que le signal de détection SDINV résultant. Avec le procédé conforme à l'invention, la courbe des minimums rr(i) sera d'autant plus faible que le bruit est fort. C'est ce calcul de la courbe CDINV de la fonction de détection d't'(r) qui donne au procédé conforme à 25 l'invention cette capacité de réaction vis-à-vis du niveau de bruit. Cela est d'autant meilleur que le seuil cp par rapport auquel la décision de présence/absence de voix est prise est constant et ne varie pas en fonction du signal utile de parole et du bruit. Bien entendu l'exemple de mise en oeuvre évoqué ci-dessus ne 30 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 d't'(r) peuvent par exemple être utilisés. 35 REVENDICATIONS1. 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, 5 comportant les étapes successives suivantes : a) numérisation et découpage du signal acoustique bruité en une suite de trames temporelles ; b) échantillonnage des trames temporelles de manière à obtenir, par trame i, un vecteur de paramètres {A}, ce vecteur de paramètres traduisant le contenu 10 acoustique de la trame i avec un nombre N de points d'échantillonnage ; c) calcul, pour chaque trame i, en considérant une fenêtre de traitement de longueur H où H 2. Procédé de détection de la voix selon la revendication 1, dans lequel le coefficient de normalisation Qi calculé lors de l'étape c) est défini par la 25 relation suivante : = vmax (r)st(T) 3. Procédé de détection de la voix selon les revendications 1 ou 2, dans lequel l'étape c) comporte les sous-étapes suivantes : 30 c.1) détermination d'un intervalle de recherche de délais temporels [mint, maxi] ;c.2) calcul d'une matrice d'indices pour les délais A répondant à la relation suivante : maxt ( 2 ) + ((0 : maxt - 1)/2) A = maxt ( 2 ((1 : maxc)/2) où: - ( ) représente un opérateur d'arrondi, notamment un opérateur d'arrondi au plus proche ; - (0 : maxt - 1) = (0 1 2 ... (maxt - 2)(maxt - 1)) ; et - (1 : maxt) = (1 2 ... (maxt - 1)(maxt)) c.3) détermination, pour chaque trame courante i et sur des intervalles de temps successifs de longueur H, d'une matrice de la fonction différence carrée ddi et d'une matrice de la fonction somme carrée sdi, lesdites matrices ddi et sdi étant organisées avec un nombre de lignes nRows et un nombre de colonnes nCols et définies par les éléments génériques suivants : ddi(k,1) = en-1-0(xi (A(0,1) + kH + m) - xi (A(1,1) + kH + m))2 ; et sdi(k,l) = en-2-0(xi(A(0,1) + kH + m) + xi (A(1,1) + kH + m))2 , où k correspond à l'indice de ligne et I correspond à l'indice de colonne ; c.4) calcul, pour chaque trame courante i et chaque ligne I, d'un vecteur différence Ddi(I) et d'un vecteur somme Sdi(I) répondant aux relations suivantes : Ddi(1) = Errs-1 ddi(k,l) ; et Sdi(1) = Errs-1 sdi(k,l) ; 4. Procédé de détection de la voix selon les revendications 2 et 3, dans lequel l'étape c) comporte la sous-étape c.5) de calcul, pour chaque trame courante i, d'un coefficient de normalisation Qi répondant à la relation suivante : Qi = Erces-1 sdi(1) 5. Procédé de détection de la voix selon les revendications 3 ou 4, dans lequel la sous-étape c.1) est réalisée en : - définissant un intervalle de recherche fréquentiel [minFo ; maxFo] autour de la fréquence fondamentale Fo ; puis - calculant l'intervalle de recherche de délais temporels [mint,max-c] avec les 30 relations suivantes :r minFeFe I 1 mint = I Fe I et maxt = tmaxF0 I où : - Fe correspond à la fréquence d'échantillonnage de la séquence considérée mis en oeuvre lors de l'étape b) ; - I J représente l'opérateur d'arrondi en partie entière ; et - F 1 représente l'opérateur d'arrondi en partie entière par excès. 6. Procédé de détection de la voix selon l'une quelconque des revendications 3 à 5, dans lequel, lors de la sous-étape c.3), le nombre de lignes nRows et le nombre de colonnes nCols sont définis par les relations 10 suivantes : - nRows = I N-maxi) et H - nCols = maxt, où I_ J représente l'opérateur d'arrondi en partie entière. 15 7. Procédé de détection de la voix selon l'une quelconque des revendications 3 à 6, dans lequel, pour nRows >2, la sous-étape c.4) est réalisée en : i) déterminant, pour la première trame courante, le vecteur différence Ddi(I) et le vecteur somme Sdi(I), où : 20 Dd1(1) = Er,Rrs-1 ddi(k, 1) et Sd1(1) = URco)ws-1 sdi (k, 1) ; puis en ii) déterminant, pour les trames suivantes, les vecteurs différence Ddi(I) et les vecteurs somme Sdi(I) par application des relations suivantes : Ddi+1(1) = Ddi(1) - ri(1, 1) + ri+i (nRows, 1) ; et 25 Sdi+1(1) = Sdi(1) - ni(1, 1) + ni+i(nRows, 1) ; où : - ri(m, I) correspond à la ligne d'indice m de la matrice de la fonction différence carrée dd; ; et - ni(m, I) correspond à la ligne d'indice m de la matrice de la fonction 30 somme carrée sdi. 8. Procédé de détection de la voix selon l'une quelconque des revendications 3 à 7, dans lequel l'étape d) comporte les sous-étapes suivantes : d.1) calcul, pour chaque trame courante i et chaque ligne I, d'une fonction de 5 détection Dni(I) répondant à la relation suivante : Dni(1) = Ddi(1)/[Qi .Sdi(1)] d.2) calcul, pour chaque trame courante i, d'un minimum rr(i) de la fonction de détection Dni(I), avec la relation suivante : rr(i) = min(Dni(mier : maxi)) ; 10 d.3) comparaison, pour chaque trame courante i, du minimum rr(i) avec le seuil prédéterminé cp pour détecter la présence ou non d'un signal voisé, avec : - si le minimum rr(i) est inférieur ou égale au seuil cp, alors la trame i est considérée comme présentant un signal de parole ; - si le minimum rr(i) est supérieur au seuil cp, alors la trame i est considérée 15 comme ne présentant pas de signal de parole. 9. Procédé de détection de la voix selon l'une quelconque des revendications 3 à 7, dans lequel l'étape d) est réalisée en comparant, pour chaque trame courante i et en faisant varier l'indice de colonne I entre mint 20 et maxi, le vecteur différence Ddi(I) avec la fonction [(p.Q.Sdi(1)] pour détecter la présence ou non d'un signal voisé, avec : - si Ddi(I) [(p.Q.Sdi(1)], alors la trame i est considérée comme ne présentant 25 pas de signal de parole. 10. Procédé de détection de la voix selon l'une quelconque des revendications précédentes, dans lequel l'étape b) comporte des étapes supplémentaires consistant à calculer, pour chaque trame i, une énergie ei de 30 la trame i et ensuite comparer cette énergie ei avec un seuil d'énergie Ô, de sorte que : - si l'énergie ei de la trame i est inférieure au seuil d'énergie Ô, alors la trame i est considérée comme ne présentant pas de signal de parole ; et 2 9 88894 25 - si l'énergie ei de la trame i est supérieure au seuil d'énergie Ô, alors les étapes c) et d) sont mis en oeuvre pour cette trame i pour détecter la présence ou non d'un signal de parole. 11. Procédé de détection de la voix selon les revendications 3 et 10, dans lequel l'énergie ei de la trame i est établie selon la relation suivante : ei = Er_o Sdi (I) , où M est un entier prédéfini. 12. Procédé de détection de la voix selon l'une quelconque des revendications précédentes, comportant en outre une étape de 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. 13. Procédé de détection de la voix selon l'une quelconque des revendications précédentes, comportant en outre 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. 14. Programme d'ordinateur, caractérisé en ce qu'il comprend des instructions de code aptes à commander l'exécution des étapes du procédé de détection de la voix selon l'une quelconque des revendications 1 à 13 lorsqu'il est exécuté par un processeur. 15. Support d'enregistrement de données sur lequel est stocké le programme d'ordinateur selon la revendication 14. 16. Mise à disposition d'un programme selon la revendication 14 sur un 30 réseau de télécommunication en vue de son téléchargement.