Brevet FR2748184A1 — publié le 19971031

PROCEDE ET DISPOSITIF D ' ANNUI & ATION D1HCHO La présente invention concerne un procédé d'annulation d'écho (d'origine acoustique , électrique ou autre), pour atténuer dans un signal de retour des composantes d'écho d'un signal direct, ainsi qu'un annuleur d'écho mettant en oeuvre un tel procédé. L'essor actuel des télécommunications dans le domaine du grand public, et plus particulièrement de la téléphonie (mobiles, RNIS, téléconférence, visioconférence...), oblige les concepteurs de ces systèmes à mettre en oeuvre des solutions techniques optimales en termes de confort d'utilisation et en termes de coût. Dans ce sens, les équipes de Recherche et Développement oeuvrant dans le domaine de la téléphonie mains-libres sont régulièrement confrontées à la présence d'écho acoustique intrinsèquement liée à la nature du dispositif de prise et restitution du son utilisé. Ce problème est souvent résolu par l'utilisation de techniques de traitement du signal intégrant des algorithmes de variation de gain et/ou des algorithmes adaptatifs d'identification. Les contraintes de coût poussent souvent ces équipes à concentrer leurs efforts sur les algorithmes de variation de gain, qui sont moins complexes. Mais, jusqu'à présent, aucun dispositif ne permet de s'ajuster automatiquement aux conditions de bruit environnant sans utiliser des mécanismes de détection d'activité vocale. Dans un annuleur d'écho à gains variables, un gain en réception est appliqué au signal direct avant qu'il soit appliqué au haut-parleur (entrée du système générateur d'écho), et un gain en émission est appliqué au signal capté par le microphone (sortie du système générateur d'écho) pour former le signal de retour. Des détecteurs d'activité vocale en réception (DAVR) et en émission (DAVE), ainsi qu'un détecteur de double parole (DDP) fournissent les informations nécessaires aux modules calculant les gains en émission et en réception. Ainsi, lorsque le locuteur distant parle (détection par DAVR), le gain en émission est diminué afin d'atténuer l'écho. En cas de prise de parole par le locuteur local (détection par DAVE), cette contrainte sur le gain en émission est relâchée, et le gain en réception est diminué. En cas de double parole (les deux locuteurs parlent simultanément ; phénomène détecté par DDP), un comparateur détermine le locuteur dont le niveau est le plus élevé et privilégie son sens d'émission, ou bien un réglage intermédiaire des gains en émission et en réception est établi. Ces méthodes classiques sont mises en défaut dans trois situations importantes - pour des terminaux à fort couplage, la variation de gain requise rend la conversation de type quasi alternée. Cet alternat potentiel peut provoquer la troncature des débuts et des fins de mots, nuisant considérablement à l'intelligibilité de la conversation. - dans un environnement fortement bruité (contexte mobile par exemple), le comparateur peut rester bloqué sur un sens de transmission, rendant ainsi la communication unilatérale. Dans un tel environnement, le locuteur distant peut aussi percevoir des variations importantes du niveau de bruit nuisant fortement à son confort d'écoute. - les dispositifs de détection d'activité vocale et de double parole ne sont pas d'une parfaite fiabilité, en particulier en situation fortement bruitée. Un tel manque de fiabilité peut conduire à des calculs de gains erronés, réduisant la qualité de la conversation. Un but principal de la présente invention est de proposer un processus de suppression d'écho basé sur une variation de gains adaptative, qui en améliore les performances et en réduise la complexité. L'invention propose ainsi un procédé d'annulation d'écho pour atténuer dans un signal de retour des composantes d'écho d'un signal direct, dans lequel on applique un gain en réception au signal direct pour produire un signal d'entrée émis dans un système générateur d'écho, et on applique un gain en émission à un signal d'observation issu du système générateur d'écho pour produire ledit signal de retour. Selon l'invention, on détermine les gains en réception et en émission sur la base d'une variable d'adaptation Rt calculée, à un instant où une estimation Plt de la puissance du signal direct ou du signal d'entrée est supérieure à un seuil prédéterminé, sous la forme t = a c+d . P2t /Plt où a, c et d désignent des constantes positives, et P2t désigne une estimation à 1' instant considéré de la puissance du signal d'observation ou du signal de retour. La variable d'adaptation Ft rend compte des conditions de parole, d'écho et de bruit d'une manière appropriée pour déterminer les valeurs des gains. Si la puissance Plt est inférieure au seuil, il n'y a normalement pas de signal d'écho significatif, la variable pt pouvant alors être nulle. En situation de simple écho, la puissance du signal d'observation est inférieure à M fois la puissance du signal d'entrée, où M est un majorant du module carré de la fonction de transfert du système à générateur d'écho. Dans ce cas, la variable Rt est proche de sa valeur maximale a/(b+c.M). En présence d'écho, de bruit et de parole locale (double parole), la puissance P2t devient supérieure, voire très supérieure, à la puissance Plt, de sorte que Ft tend vers 0. La prise en compte de cette variable d'adaptation Rt permet ainsi de se dispenser des détecteurs d'activité vocale et de double parole qui compliquent les annuleurs d'écho connus reposant sur le principe des gains adaptatifs. De préférence, les gains en réception Grt et en émission Get sont déterminés de façon récursive sous la forme Get = 1+(1-y).f(CLt) Grt= l- & Get où Get 1 désigne la valeur du gain en émission à l'instant de calcul précédent, f(t) désigne une fonction décroissante de la variable d'adaptation 'Ltt et Y et 5 désignent des constantes positives inférieures à 1. Les gains en émission et en réception sont ainsi lissés au moyen d'un facteur d'oubli y, ce qui permet de contrôler la réactivité du système. Cela contribue aussi à réduire le risque de troncature des débuts et des fins de mots. Un autre aspect de la présente invention concerne un annuleur d'écho pour atténuer dans un signal de retour des composantes d'écho d'un signal direct, comprenant des premiers moyens d'application de gain pour appliquer un gain en réception au signal direct et produire un signal d'entrée émis dans un système générateur d'écho, et des seconds moyens d'application de gain pour produire ledit signal de retour par application d'un gain en émission à un signal d'observation issu du système générateur d'écho. Selon l'invention, cet annuleur d'écho comprend en outre des moyens de calcul pour déterminer les gains en réception et en émission sur la base d'une variable d'adaptation Ft calculée, à un instant où une estimation Plt de la puissance du signal direct ou du signal d'entrée est supérieure à un seuil prédéterminé, sous la forme a t c+d . P2t /Plt où a, c et d désignent des constantes positives, et P2t désigne une estimation à l'instant considéré de la puissance du signal d'observation ou du signal de retour. D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après d'exemples de réalisation non limitatifs, en référence aux dessins annexés, dans lesquels - la figure 1 est un schéma synoptique d'un annuleur d'écho selon l'invention ; et - la figure 2 est un organigramme d'un processus d'adaptation de gains selon l'invention. La figure 1 montre un dispositif mettant en oeuvre la présente invention, constitué par exemple par un poste téléphonique mains libres. On suppose que ce poste reçoit et émet des signaux numériques xt, y't appelés respectivement signal direct et signal de retour (dans le cas de communications analogiques, des convertisseurs appropriés sont prévus pour que les signaux xt et y't soient disponibles sous forme numérique, l'indice t=0,1,2,... désignant les instants d'échantillonnage successifs). Dans l'exemple représenté, le poste mains libres comporte un haut-parleur 10 et un microphone 12 faisant partie d'un système 14 générateur d'écho. Un signal d'entrée x't est obtenu en appliquant un gain en réception Grt au signal direct xt au moyen d'un multiplieur 16. Le signal d'entrée x't est converti en analogique par un convertisseur 18 et amplifié avant d'être appliqué au haut-parleur 10. Le signal capté par le microphone 12 comprend de façon générale des composantes d'écho zt provenant du signal émis par le haut-parleur 10, et des composantes d'origine locale bt pouvant comprendre du bruit et/ou du signal utile (parole du locuteur local). Ce signal issu du microphone 12 est amplifié et numérisé par le convertisseur 20 pour produire un signal numérique d'observation Un gain en émission Get est appliqué au moyen d'un multiplieur 22 au signal d'observation yt pour produire le signal de retour Pour déterminer les gains en réception et en émission, l'annuleur d'écho comprend deux unités 24, 26 d'estimation de puissances instantanées, une unité 28 de calcul d'une variable d'adaptation t et une unité 30 de calcul des gains. Dans le cas représenté sur la figure 4, l'estimation Plt calculée par l'unité 24 est l'estimation de la puissance du signal d'entrée x't, et l'estimation P2t calculée par l'unité 26 est l'estimation de la puissance du signal d'observation Pour estimer la puissance Plt du signal d'entrée x't à un instant t, l'unité 24 utilise une fenêtre exponentielle dont la constante de temps est notée #1 (0##1 P1t= #1.P1t-1+ XI 2 (1) ou P1t= 1-Plt-l+ (1-A1) x't2 (Ibis) où x't représente l'échantillon du signal d'entrée à l'instant t. Le même type de fenêtre exponentielle peut être utilisé par l'unité 26 pour calculer l'estimation P2t. Si P2t représente une estimation de la puissance du signal d'observation yt, celle-ci est donnée par P2t=i2 P2t-l+ yt (2) ou 22t= i2 P2t-1+ (1-i2) yt2 (2bis) où Yt est l'échantillon du signal d'entrée à l'instant t et 0sk2 L'étape 50 sur la figure 2 représente les opérations effectuées par les unités 24 et 26 (cas des formules (Ibis) et (2bis)). L'unité 28 calcule, sur la base des estimations Plt et P2t, une variable d'adaptation pt utilisée pour déterminer des valeurs de gains. L'unité 28 exécute ainsi les étapes 51 à 53 représentées sur la figure 2. Elle détermine d'abord si l'estimation de puissance Plt est supérieure à un seuil T (pouvant être fixe ou adaptatif). Si Plt > T, alors la variable d'adaptation Rt est prise égale à 0. Sinon, elle est calculée selon t = a c+d . P2t /Plt où a, c et d désignent des constantes positives. L'unité 30 calcule alors, en fonction de la variable t, les gains Grt et Get fournis aux multiplieurs 16, 22. Dans une première phase, l'unité 30 calcule une grandeur f sous la forme d'une fonction décroissante f( > t) de la variable d'adaptation Ft. Dans l'exemple illustré sur la figure 2 (étapes 54 à 58), cette fonction f(Rt) vaut 1 si la variable d'adaptation Rt est inférieure à un premier seuil T1, ss(1-a.t) si la variable d'adaptation Ft est supérieure à un second seuil T2, et 1-a.pt si la variable d'adaptation Rt est comprise entre les seuils T1 et T2. Les paramètres a et ss sont des constantes positives. Les seuils T1 et T2 peuvent être fixes ou adaptatifs. La constante ss, généralement inférieure à 1, permet d'accentuer les petites valeurs de la variable t, ce qui permet une plus grande souplesse dans le choix des paramètres a, c et d. Une fenêtre exponentielle permet ensuite de calculer le gain en émission Get sous forme d'une version lissée dans le temps de la grandeur f précédemment calculée. Ainsi, à l'étape 59, l'unité 30 calcule le gain en émission Get à l'instant t sous la forme Get = &gamma;.Get-1+(1-&gamma;) . f, où y est un facteur d'oubli compris entre 0 et 1. Le gain en réception Grt à l'instant t est également calculé selon Grt = 1- & .Get, 6 étant une constante comprise entre 0 et 1. Avec le mode de calcul ci-dessus, les gains en réception et en émission sont directement liés à l'énergie de l'écho acoustique, ce qui permet d'atténuer l'écho de manière adaptative et de réduire le risque de troncature des débuts et fins de mots. En outre, la plage de variation du gain en émission Get est une fonction décroissante du niveau de bruit, ce qui permet de réduire considérablement les risques de variation brutale du niveau de bruit perçu par le locuteur distant. On note que ces avantages ont été obtenus sans recourir à des détecteurs d'activité vocale ou de double parole, qui sont des éléments complexes et de fiabilité parfois insuffisante dans les annuleurs d'écho connus. En pratique, l'annuleur d'écho selon l'invention peut être réalisé en programmant un processeur spécialisé dans le traitement du signal (DSP) comme il est usuel. I1 peut être également réalisé au moyen d'un circuit intégré spécifique (ASIC) dédié à cette application. Bien entendu, si la prise de son utilise plusieurs microphones et/ou si la restitution de son utilise plusieurs haut-parleurs, le "signal d'entrée et le signal d'observation dont les puissances sont estimées peuvent être constituées par des combinaisons linéaires des signaux mesurés par les microphones ou adressés aux haut-parleurs. Par ailleurs, moyennant un éventuel ajustement des constantes utilisées, l'estimation Plt calculée par l'unité 24 peut correspondre à la puissance du signal direct xt et non à celle du signal d'entrée x't, et l'estimation P2t calculée par l'unité 26 peut correspondre à la puissance du signal de retour y't et non à celle du signal d'observation comme schématisé par les flèches en pointillés sur la figure 1. Les inventeurs ont pu vérifier les bonnes performances du procédé selon l'invention dans un annuleur d'écho. A titre d'exemple illustratif, le procédé a montré de bonnes performances en présence d'écho seul dans le silence et dans le bruit, et en présence de double parole, avec les valeurs numériques ci-dessous - les différents signaux numériques sont échantillonnés sur 16 bits à 8 kHz - #1=0,9375, et B2=0,9961 (étape 50) - T=100 000 (étape 51) - a=l, c=2 et d=4 (étape 53) - a=2, ss=0,1, T1=0,2 et T2=0,25 (étapes 54 à 58) - y=0,9375 et 6=0 (étape 59). REVENDICATIONS 1. Procédé d'annulation d'écho pour atténuer dans un signal de retour (Y't) des composantes d'écho d'un signal direct (xt), dans lequel on applique un gain en réception (Grt) au signal direct pour produire un signal d'entrée (x't) émis dans un système générateur d'écho (14), et on applique un gain en émission (Get) à un signal d'observation (Yt) issu du système générateur d'écho pour produire ledit signal de retour, caractérisé en ce qu'on détermine les gains en réception et en émission (Grt,Get) sur la base d'une variable d'adaptation t calculée, à un instant où une estimation Plt de la puissance du signal direct (xt)ou du signal d'entrée (x't) est supérieure à un seuil prédéterminé (T), sous la forme a t = c+d . P2t/P1t où a, c et d désignent des constantes positives, et P2t désigne une estimation à l'instant considéré de la puissance du signal d'observation (Yt) ou du signal de retour (Y't). 2. Procédé selon la revendication 1, caractérisé en ce que les gains en réception Grt et en émission Get sont déterminés de façon récursive sous la forme Get = &gamma;.Get-1+(1-&gamma;).f( t) Grt= 1-#Get où Get-1 désigne la valeur du gain en émission à l'instant de calcul précédent, f(t) désigne une fonction décroissante de la variable d'adaptation RtS et y et 6 désignent des constantes positives inférieures à 1. 3. Procédé selon la revendication 2, caractérisé en ce que la fonction f(pt) vaut 1 si la variable d'adaptation Rt est inférieure à un premier seuil (T1), (l-a.t) si la variable d'adaptation pt est supérieure à un second seuil (T2), a et ss désignant des constantes positives, et 1a.'Lt si la variable d'adaptation pt est comprise entre les premier et second seuils (T1,T2). 4. Annuleur d'écho pour atténuer dans un signal de retour (Y't) des composantes d'écho d'un signal direct (xt), comprenant des premiers moyens d'application de gain (16) pour appliquer un gain en réception (Grr) au signal direct et produire un signal d'entrée (x't) émis dans un système générateur d'écho (14), et des seconds moyens d'application de gain (22) pour produire ledit signal de retour par application d'un gain en émission (Get) à un signal d'observation (Yt) issu du système générateur d'écho, caractérisé en ce qu'il comprend en outre des moyens de calcul (24,26,28,30) pour déterminer les gains en réception et en émission (Grt,Get) sur la base d'une variable d'adaptation t calculée, à un instant où une estimation Plt de la puissance du signal direct (xt) ou du signal d'entrée (x't) est supérieure à un seuil prédéterminé (T), sous la forme t = a c+d . P2t Pipit où a, c et d désignent des constantes positives, et P2t désigne une estimation à l'instant considéré de la puissance du signal d'observation (Yt) ou du signal de retour (y't). 5. Annuleur d'écho selon la revendication 4, caractérisé en ce que les moyens de calcul (30) déterminent de façon récursive les gains en réception Grt et en émission Get sous la forme Get = &gamma;.Get-1+(41-&gamma;) . f( t) Grt= l-6Get où Get~l désigne la valeur du gain en émission à l'instant de calcul précédent, f(t) désigne une fonction décroissante de la variable d'adaptation t, et y et 6 désignent des constantes positives inférieures à 1. 6. Annuleur d'écho selon la revendication 5, caractérisé en ce que la fonction f( t) vaut 1 si la variable d'adaptation Rt est inférieure à un premier seuil (T1), (1-a.'Lt) si la variable d'adaptation t est supérieure à un second seuil (T2), a et ss désignant des constantes positives, et 1-&alpha;. t Si la variable d'adaptation Rt est comprise entre les premier et second seuils (T1,T2).