ES2619563T3 - Extracción de eco - Google Patents

Extracción de eco Download PDF

Info

Publication number
ES2619563T3
ES2619563T3 ES14733861.0T ES14733861T ES2619563T3 ES 2619563 T3 ES2619563 T3 ES 2619563T3 ES 14733861 T ES14733861 T ES 14733861T ES 2619563 T3 ES2619563 T3 ES 2619563T3
Authority
ES
Spain
Prior art keywords
echo
audio signal
model
estimate
received audio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES14733861.0T
Other languages
English (en)
Inventor
Per Ahgren
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Application granted granted Critical
Publication of ES2619563T3 publication Critical patent/ES2619563T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
    • H04M9/082Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Telephone Function (AREA)

Abstract

Un método de quitar eco, incluyendo el método: enviar una señal audio (S404); recibir una señal audio (S406), donde la señal audio recibida incluye eco resultante de dicha señal audio emitida; modelar un recorrido de eco del eco en la señal audio recibida usando un primer modelo (304) en base a la señal audio salida y la señal audio recibida para determinar (S408) una primera estimación de modelo del eco en la señal audio recibida; usar la primera estimación de modelo para determinar (S410) un primer valor de rendimiento según una métrica de rendimiento; comparar (S412) el primer valor de rendimiento con un valor umbral; caracterizado porque el método incluye; determinar si el recorrido de eco puede ser considerado lineal en base a dicha comparación y en base a dicha comparación selectivamente: usar (S414) la primera estimación de modelo del eco para quitar el eco en la señal audio recibida, o modelar el recorrido de eco del eco en la señal audio recibida usando un segundo modelo (308) en base a la señal audio salida y la señal audio recibida para determinar (S416) una segunda estimación de modelo del eco, y usar (S418) la segunda estimación de modelo del eco para quitar el eco en la señal audio recibida.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Extraccion de eco Antecedentes
Un dispositivo puede tener un aparato de entrada audio que puede ser usado para recibir senales audio del entorno circundante. El dispositivo tambien puede tener un aparato de salida audio que puede ser usado para emitir senales audio al entorno circundante. Por ejemplo, un dispositivo puede tener uno o varios altavoces para enviar senales audio y uno o varios microfonos para recibir senales audio. Las senales audio que son emitidas por el o los altavoces del dispositivo pueden recibirse como “eco” en la senal audio recibida por el (los) microfono(s). Puede darse el caso de que este eco no sea deseable en la senal audio recibida. Por ejemplo, el dispositivo puede ser un dispositivo de usuario (tal como un telefono movil, tableta, ordenador portatil, PC, etc) que se usa en un evento de comunicacion, tal como una llamada audio o video, con otro dispositivo de usuario por una red. Las senales de extremo lejano de la llamada pueden ser emitidas por el altavoz del dispositivo de usuario y pueden ser recibidas como eco en las senales audio recibidas por el microfono en el dispositivo. Tal eco puede ser perturbador para los usuarios de la llamada, y la calidad percibida de la llamada se puede reducir debido al eco. En particular, el eco puede producir interferencia para senales audio de extremo proximo destinadas a ser recibidas por el microfono y transmitidas al extremo lejano en la llamada. Por lo tanto, se puede aplicar cancelacion de eco y/o supresion de eco a las senales audio recibidas para suprimir por ello el eco en la senal audio recibida. La potencia del eco en la senal audio recibida puede variar dependiendo de la disposicion del dispositivo de usuario. Por ejemplo, el dispositivo de usuario puede ser un telefono movil y, en ese caso, la potencia del eco en la senal audio recibida sena normalmente mas alta cuando el telefono movil este operando en un modo “manos libres” en comparacion con cuando el telefono movil no esta operando en un modo “manos libres”.
Las tecnicas de cancelacion de eco (o “supresion de eco”) tienen la finalidad de estimar una senal de eco incluida en la senal audio recibida en el microfono, en base a conocimiento de la senal audio que es emitida por el altavoz. La estimacion de la senal de eco se puede restar entonces de la senal audio recibida quitando por ello al menos parte del eco de la senal audio recibida. La supresion de eco se usa para aplicar supresion dependiente de frecuencia a la senal audio recibida para suprimir por ello el eco en la senal audio recibida.
Luis A. Azpicueta-Ruiz y colaboradores: "Novel schemes for nonlinear acoustic echo cancellation based on filter combinations”, Acoustics, Speech and Signal Processing, 2009, describe dos esquemas de cancelacion de eco acustico no lineal en base a esquemas de combinacion. El primer esquema, 'Combination of filters'-Scheme (CFS), consta de una combinacion de un filtro lineal y otro Volterra, mientras que el segundo, 'Combination of kernels'- Scheme (CKS), se basa en la combinacion de un nucleo cuadratico y otro todo ceros.
Resumen
Este resumen se ofrece con el fin de presentar una seleccion de conceptos de forma simplificada que se describen mejor mas adelante en la descripcion detallada. Este resumen no tiene la finalidad de identificar elementos clave o caractensticas esenciales de la materia reivindicada, ni se pretende usarla para limitar el alcance de la materia reivindicada.
Se facilita un metodo de extraer eco en una senal audio recibida. Como parte de la extraccion de eco, se modela un recorrido del eco en la senal audio recibida usando un primer modelo para determinar una primera estimacion de modelo del eco en la senal audio recibida. La primera estimacion de modelo se usa para determinar un primer valor de rendimiento del recorrido de eco segun una metrica de rendimiento. El primer valor de rendimiento se compara con un valor umbral. Entonces se determina si el recorrido de eco puede ser considerado lineal en base a la comparacion. Si el recorrido de eco puede ser considerado lineal, la primera estimacion de modelo del eco se usa para quitar el eco en la senal audio recibida. De otro modo, el recorrido del eco en la senal audio recibida es modelado usando un segundo modelo en base a la senal audio salida y la senal audio recibida para determinar una segunda estimacion de modelo del eco, y la segunda estimacion de modelo del eco se usa para quitar el eco en la senal audio recibida.
El metodo puede ser usado en una llamada (por ejemplo, una llamada que implementa protocolo de voz por Internet (VoIP) para transmitir datos audio entre dispositivos de usuario) en cuyo caso la senal audio emitida puede ser una senal de extremo lejano recibida del extremo lejano de la llamada, y la senal recibida incluye el eco resultante y una senal de extremo proximo para transmision al extremo lejano de la llamada.
Breve descripcion de los dibujos
Para una mejor comprension de las realizaciones descritas y para mostrar como la misma se puede llevar a cabo, ahora se hara referencia, a modo de ejemplo, a los dibujos siguientes, en los que:
La figura 1 representa una ilustracion esquematica de un sistema de comunicaciones.
5
10
15
20
25
30
35
40
45
50
55
60
65
La figura 2 es un diagrama esquematico de bloques de un dispositivo de usuario.
La figura 3 es un diagrama funcional que representa modulos de un dispositivo de usuario para uso en extraccion de eco.
Y la figura 4 es un diagrama de flujo para un proceso de quitar eco.
Descripcion detallada
Ahora se describiran realizaciones a modo de ejemplo solamente.
La figura 1 representa un sistema de comunicaciones 100 incluyendo un primer usuario 102 (“Usuario A”) que esta asociado con un primer dispositivo de usuario 104 y un segundo usuario 108 (“Usuario B”) que esta asociado con un segundo dispositivo de usuario 110. En otras realizaciones, el sistema de comunicaciones 100 puede incluir cualquier numero de usuarios y dispositivos de usuario asociados. Los dispositivos de usuario 104 y 110 pueden comunicar por la red 106 en el sistema de comunicaciones 100, permitiendo por ello que los usuarios 102 y 108 comuniquen entre sf por la red 106. El sistema de comunicaciones 100 representado en la figura 1 es un sistema de comunicaciones basado en paquetes, pero se podna usar otros tipos de sistemas de comunicaciones. La red 106 puede ser, por ejemplo, Internet. Cada uno de los dispositivos de usuario 104 y 110 puede ser, por ejemplo, un telefono movil, una tableta, un ordenador portatil, un ordenador personal (“PC”) (incluyendo, por ejemplo, PCs Windows™, Mac OSTM y LinuxTM), un dispositivo de juego, una television, un asistente digital personal (“PDA”) u otro dispositivo embebido capaz de conectar a la red 106. El dispositivo de usuario 104 esta dispuesto para recibir y enviar informacion de/al usuario 102 del dispositivo de usuario 104. El dispositivo de usuario 104 incluye medios de salida tales como una pantalla y altavoces. El dispositivo de usuario 104 tambien incluye medios de entrada tales como un teclado, una pantalla tactil, un microfono para recibir senales audio y/o una camara para capturar imagenes de una senal video. El dispositivo de usuario 104 esta conectado a la red 106.
El dispositivo de usuario 104 ejecuta una instancia de un cliente de comunicacion, proporcionado por un proveedor de software asociado con el sistema de comunicaciones 100. El cliente de comunicacion es un programa de software ejecutado en un procesador local en el dispositivo de usuario 104. El cliente realiza el procesado requerido en el dispositivo de usuario 104 para que el dispositivo de usuario 104 transmita y reciba datos por el sistema de comunicaciones 100.
El dispositivo de usuario 110 corresponde al dispositivo de usuario 104 y ejecuta, en un procesador local, un cliente de comunicacion que corresponde al cliente de comunicacion ejecutado en el dispositivo de usuario 104. El cliente en el dispositivo de usuario 110 realiza el procesado requerido para que el usuario 108 pueda comunicar por la red 106 de la misma forma que el cliente en el dispositivo de usuario 104 realiza el procesado requerido para que el usuario 102 pueda comunicar por la red 106. Los dispositivos de usuario 104 y 110 son puntos finales en el sistema de comunicaciones 100. La figura 1 representa solamente dos usuarios (102 y 108) y dos dispositivos de usuario (104 y 110) para claridad, pero se puede incluir muchos mas usuarios y dispositivos de usuario en el sistema de comunicaciones 100, y pueden comunicar por el sistema de comunicaciones 100 usando respectivos clientes de comunicacion ejecutados en los respectivos dispositivos de usuario.
La figura 2 ilustra una vista detallada del dispositivo de usuario 104 en el que se ejecuta una instancia de cliente de comunicacion 206 para comunicar por el sistema de comunicaciones 100. El dispositivo de usuario 104 incluye una unidad central de proceso (“CPU”) o “modulo de procesado” 202, al que estan conectados: dispositivos de salida tales como una pantalla 208, que puede implementarse como una pantalla tactil, y un altavoz (o “parlante”) 210 para enviar senales audio; dispositivos de entrada tales como un microfono 212 para recibir senales audio, una camara 216 para recibir datos de imagen, y un teclado 218; una memoria 214 para almacenar datos; y una interfaz de red 220 tal como un modem para comunicacion con la red 106. El dispositivo de usuario 104 puede incluir otros elementos distintos de los representados en la figura 2. La pantalla 208, el altavoz 210, el microfono 212, la memoria 214, la camara 216, el teclado 218 y la interfaz de red 220 pueden estar integrados en el dispositivo de usuario 104 como se representa en la figura 2. En dispositivos de usuario alternativos uno o varios de la pantalla 208, el altavoz 210, el microfono 212, la memoria 214, la camara 216, el teclado 218 y la interfaz de red 220 pueden no estar integrados en el dispositivo de usuario 104 y pueden estar conectados a la CPU 202 mediante interfaces respectivas. Un ejemplo de tal interfaz es una interfaz USB. Si la conexion del dispositivo de usuario 104 a la red 106 mediante la interfaz de red 220 es una conexion inalambrica, entonces la interfaz de red 220 puede incluir una antena para transmitir de forma inalambrica senales a la red 106 y recibir de forma inalambrica senales de la red 106.
La figura 2 tambien ilustra un sistema operativo (“OS”) 204 ejecutado en la CPU 202. Sobre el OS 204 se ejecuta el software de la instancia de cliente 206 del sistema de comunicaciones 100. El sistema operativo 204 gestiona los recursos de hardware del ordenador y maneja datos que son transmitidos a y de la red 106 mediante la interfaz de red 220. El cliente 206 comunica con el sistema operativo 204 y gestiona las conexiones por el sistema de comunicaciones. El cliente 206 tiene una interfaz de usuario cliente que se usa para presentar informacion al usuario
5
10
15
20
25
30
35
40
45
50
55
60
65
102 y para recibir informacion del usuario 102. De esta forma, el cliente 206 realiza el procesado requerido para que el usuario 102 pueda comunicar por el sistema de comunicaciones 100.
En cancelacion de eco acustico la finalidad es quitar la senal de eco s(t) en la senal de microfono y(t) que se origina a partir de la senal de altavoz x(t). Esto se debera hacer lo mas exactamente posible y de la forma menos obstrusiva posible con el fin de tener el mmimo impacto en la percepcion de cualquier senal de extremo proximo v(t). La senal de microfono puede escribirse como y(t) = s(t) + v(t). La senal de eco es una funcion de la senal de altavoz como s(t) = F(x(t)).
Hay dos formas principales de lograr lo anterior, siendo una la sustraccion de eco y siendo la otra la supresion de eco. A menudo se combinan estos dos acercamientos.
Estos dos metodos de extraccion de eco requieren que se estime un modelo del recorrido de eco. Se puede usar multiples modelos para modelar el recorrido de eco y, dependiendo de que modelo se use, el modelo puede ser mas o menos adecuado para los recorridos de eco disponibles. Un ejemplo es cuando se usa un modelo FIR lineal para modelar el recorrido de eco. Este tipo de modelo es adecuado para cancelacion de eco cuando el recorrido de eco es bastante lineal. Sin embargo, cuando el recorrido de eco es mas bien no lineal funciona tfpicamente de forma pobre.
Con referencia a las figuras 3 y 4 ahora se describe un metodo de extraer eco. La figura 3 es un diagrama funcional de una parte del dispositivo de usuario 104 que representa como se implementa un proceso de extraccion de eco.
Como se representa en la figura 3, el dispositivo de usuario 104 incluye el altavoz 210, el microfono 212, un modulo de modelado 302, y un modulo de extraccion de eco 314. El modulo de modelado 302 incluye un primer modulo filtro 304, un segundo modulo filtro 308, y un modulo de determinacion de rendimiento 312. El modulo de extraccion de eco 314 se describe con referencia a la figura 3 como un modulo de supresion de eco 314.
La figura 4 es un diagrama de flujo para el proceso de suprimir eco.
Una senal x(t) a emitir por el altavoz 210 se acopla a una entrada del altavoz 210. Se debera indicar que en las realizaciones aqrn descritas hay solamente un altavoz (indicado con el numero de referencia 210 en las figuras), pero en otras realizaciones puede haber mas de un altavoz al que se acopla la senal a emitir (para que salga por el). Igualmente, en las realizaciones aqrn descritas hay solamente un microfono (indicado con el numero de referencia 212 en las figuras), pero en otras realizaciones puede haber mas que un microfono que reciba senales audio del entorno circundante. La senal a emitir por el altavoz 210 tambien se acopla al modulo de modelado 302. En particular, la senal a emitir por el altavoz 210 se acopla a una primera entrada del primer modulo filtro 304 y a una primera entrada del segundo modulo filtro 308. Una salida del microfono 212 se acopla al modulo de modelado 302. En particular, la salida del microfono 212 se acopla a una segunda entrada del primer modulo filtro 304 y a una segunda entrada del segundo modulo filtro 308. Las salidas del modulo de modelado 302 estan acopladas al modulo de supresion de eco 314. En particular una salida del modulo de determinacion de rendimiento 312 se acopla a una primera entrada del modulo de supresion de eco 314, y una salida del segundo modulo filtro 308 se acopla a una segunda entrada de modulo de supresion de eco 314. Una salida del primer modulo filtro 304 se acopla a una primera entrada del modulo de determinacion de rendimiento 312. La salida del microfono 212 se acopla a una segunda entrada del modulo de determinacion de rendimiento 312. Una salida del modulo de determinacion de rendimiento 312 se acopla a una tercera entrada del segundo modulo filtro 308. La salida del microfono 212 tambien se acopla a una tercera entrada del modulo de supresion de eco 314. Se usa una salida del modulo de supresion de eco 314 para proporcionar la senal recibida (con supresion de eco que se ha aplicado) para procesado adicional en el dispositivo de usuario 104.
En el paso S402 se recibe una senal que ha de ser emitida por el altavoz 210. Por ejemplo, la senal a emitir puede ser una senal de extremo lejano que se ha recibido en el dispositivo de usuario 104 del dispositivo de usuario 110 durante una llamada entre los usuarios 102 y 108 por el sistema de comunicacion 100. Cualquier procesado que haya que realizar en la senal recibida (por ejemplo, decodificacion usando un codec de voz, despaquetizacion, etc) se realiza como es conocido en la tecnica (por ejemplo, por el cliente 206) para llegar a la senal x(t) que es adecuada para ser emitida por el altavoz 210. La senal x(t) es una senal digital. Al menos parte del procesado de la senal en el dispositivo de usuario 104 antes de la salida de la senal por el altavoz 210 se realiza en el dominio digital. Como es conocido en la tecnica, se aplica un convertidor digital a analogico (DAC) a la senal digital x(t) antes de la reproduccion por el altavoz 210. Igualmente, se aplica un convertidor analogico a digital (ADC) a la senal capturada por el microfono 212 para llegar a la senal digital y(t).
En otras realizaciones, la senal a emitir puede ser recibida de algun lugar distinto de por el sistema de comunicaciones 100 en una llamada. Por ejemplo, la senal a emitir puede haber sido almacenada en la memoria 214 y el paso S402 puede incluir recuperar la senal de la memoria 214.
En el paso S404, la senal audio x(t) es emitida por el altavoz 210. De esta forma, la senal audio x(t) es enviada al usuario 102.
5
10
15
20
25
30
35
40
45
50
55
60
En el paso S406, el microfono 212 recibe una senal audio. Como se representa en la figura 3, la senal audio recibida puede incluir una senal de extremo proximo que es una senal deseada o “senal primaria”. La senal de extremo proximo es la senal que el usuario 102 intenta que reciba el microfono 212. Sin embargo, la senal audio recibida tambien incluye una senal de eco resultante de las senales audio emitidas por el altavoz 210 en el paso S404. La senal audio recibida tambien puede incluir ruido, tal como ruido de fondo. Por lo tanto, la senal audio recibida total y(t) puede darla la suma de la senal de extremo proximo, el eco y el ruido. El eco y el ruido actuan como interferencia para la senal de extremo proximo.
El primer modulo filtro 304 toma como entradas la senal audio salida x(t) y la senal audio recibida y(t). En el paso S408, el primer modulo filtro 304 se usa para modelar el eco en la senal audio recibida y(t). En particular, el primer modulo filtro 304 puede funcionar para modelar el recorrido de eco del eco en la senal audio recibida y(t) usando la senal audio salida x(t) y la senal audio recibida y(t) para determinar una estimacion del componente de eco en la senal de extremo proximo y(t)
El primer modulo filtro 304 puede utilizar cualquier filtro lineal (por ejemplo, un filtro de respuesta finita al impulso (FIR) o un filtro de respuesta infinita al impulso (IIR)) para modelar el recorrido de eco del eco en la senal audio recibida. Asf, el primer modulo filtro 304 es adecuado para cancelacion de eco cuando el recorrido de eco es bastante lineal.
El recorrido de eco describe los efectos de los recorridos acusticos por los que pasa la senal de extremo lejano desde el altavoz 210 al microfono 212. La senal de extremo lejano puede ir directamente desde el altavoz 210 al microfono 212, o puede ser reflejada por varias superficies en el entorno del terminal de extremo proximo. El recorrido de eco atravesado por la senal de extremo lejano emitida por el altavoz 210 puede ser considerado como un sistema que tiene una frecuencia y una respuesta de fase que pueden variar con el tiempo.
Con el fin de quitar el eco acustico s(t) de la senal y(t) registrada en el microfono de extremo proximo 212 hay que estimar como el recorrido de eco cambia la senal de salida de altavoz de extremo lejano deseada x(t) a un componente de eco indeseado en la senal de entrada.
Para un recorrido de eco aproximadamente lineal, el recorrido de eco h(t) describe como el eco en la senal audio recibida y(t) se refiere a la senal audio x(t) salida del altavoz 210, por ejemplo, segun la ecuacion:
s(t) = Zn=oe hn(t)x(t - 7l),
donde s(t) es el eco en la senal audio recibida y(t), Ntrue es un numero suficientemente grande para cubrir las partes no despreciables de la respuesta de impulso (teoricamente Ntrue es infinito), y hn(t) son los coeficientes de la respuesta de impulso que describe el recorrido de eco h(t). El recorrido de eco h(t) puede variar tanto en el tiempo como en la frecuencia y se puede denominar aqrn h(t) o h(t,f). El recorrido de eco h(t) puede depender de (i) las condiciones medioambientales actuales que rodean el altavoz 210 y el microfono 212 (por ejemplo, si hay obstrucciones ffsicas al paso de la senal audio desde el altavoz 210 al microfono 212, la presion de aire, la temperatura, el viento, etc), y (ii) caractensticas del altavoz 210 y/o el microfono 212 que pueden alterar la senal enviada y/o recibida.
El modulo filtro 304 modela el recorrido de eco h(t) del eco en la senal audio recibida y(t) determinando una suma ponderada de la corriente y un numero finito (N) de valores previos de la senal audio emitida x(t). Por lo tanto, el modulo filtro 304 implementa un filtro de orden enesimo que tiene una longitud finita (en el tiempo) sobre la que considera los valores de la senal audio emitida x(t) al determinar la estimacion del recorrido de eco h(t). De esta forma, el modulo filtro 304 adapta dinamicamente la estimacion de filtro del recorrido de eco h(t). La operacion se describe por la ecuacion siguiente, que define el eco en la senal audio recibida y(t) en terminos de la senal audio salida x(t):
imagen1
Por lo tanto, se usan N+1 muestras de la senal audio emitida x(t), con unos respectivos pesos N+1 hn(t). El conjunto de N+1 pesos hn(t) se denomina aqrn simplemente la estimacion del recorrido de eco h(t). En otros terminos, la estimacion del recorrido de eco h(t) es un vector que tiene N+1 valores donde el modulo filtro 304 implementa un filtro de orden enesimo, tomando en cuenta N+1 valores (por ejemplo, N+1 cuadros) de la senal x(t).
Se puede apreciar que es mas facil adaptar la estimacion de filtro del recorrido de eco h(t) cuando el eco es una parte dominante de la senal audio recibida, que es cuando y(t) = s(t). Sin embargo, puede ser posible adaptar la estimacion de filtro del recorrido de eco h(t) incluso cuando el eco no es una parte dominante de la senal audio recibida y(t) si el eco s(t) es independiente de los otros componentes de senal de y(t).
5
10
15
20
25
30
35
40
45
50
55
60
Los expertos en la tecnica apreciaran que la estimacion del recorrido de eco h(t) no tiene que ser calculada expUcitamente, sino que se podna representar por medio de coeficientes de filtro obtenidos de algoritmos de gradiente estocastico tales como medias de cuadrados mmimos (LMS), medias de cuadrados mmimos normalizados (NLMS), proyeccion afm rapida (FAP) y cuadrados mmimos recursivos (RLS).
La estimacion del recorrido de eco h(t) se usa para proporcionar coeficientes de filtro que filtran la senal de extremo lejano x(t) para generar una estimacion del componente de eco en la senal de extremo proximo y(t) segun la estimacion del recorrido de eco h(t). Independientemente del algoritmo concreto usado, los coeficientes de filtro del primer modulo filtro 304 son actualizados con cada iteracion del algoritmo, de modo que los coeficientes del primer modulo filtro 302 son actualizados continuamente con el tiempo independientemente de las condiciones de senal disponibles.
Aunque la descripcion anterior se refiere al uso de un modelo FIR de dominio de tiempo del recorrido de eco para estimar el componente de eco en la senal de extremo proximo y(t), los expertos en la tecnica apreciaran que esto es solamente un ejemplo y no es limitativo de ninguna forma. Es decir, el primer modulo filtro 304 puede operar para determinar una estimacion del recorrido de eco h(t) y por ello una estimacion §i(t) del componente de eco en la senal de extremo proximo y(t) en el dominio de tiempo o en el dominio de frecuencia.
En algunas realizaciones, la estimacion del componente de eco es enviada desde el primer modulo filtro 304 al modulo de determinacion de rendimiento 312 (como se representa en la figura 3).
En otras realizaciones, en el paso S408, la estimacion del componente de eco se pasa del primer modulo filtro 304 a un primer modulo de estimacion de potencia (no representado en la figura 3). El primer modulo de estimacion de potencia estima la potencia de eco en la senal audio recibida en base a la estimacion de filtro (determinada por el primer modulo filtro 304) y la senal de extremo lejano x(t). Hay muchas formas de hacerlo, conocidas por expertos en la tecnica, y el alcance de esta descripcion no se limita a ningun metodo concreto de determinar una estimacion de potencia de eco. En estas realizaciones, el primer modulo de estimacion de potencia esta dispuesto para enviar su estimacion de potencia de eco correspondiente al modulo de determinacion de rendimiento 312.
El modulo de determinacion de rendimiento 312 toma como una entrada una primera estimacion §i(t). La primera estimacion §i(t) puede ser una estimacion del componente de eco salido del primer modulo filtro 304 o la potencia del error de estimacion (y-s). El modulo de determinacion de rendimiento 312 tambien toma como una entrada la senal audio recibida y(t).
En el paso S410, el modulo de determinacion de rendimiento 312 mide el rendimiento del primer modulo filtro 304 en base a la primera estimacion §1 (t) y la senal audio recibida y(t) segun una metrica de rendimiento. La medicion de rendimiento se usa para detectar la linealidad del sistema. El modulo de determinacion de rendimiento 312 puede operar para medir el rendimiento del primer modulo filtro 304 en el dominio de tiempo o en el dominio de frecuencia.
Una metrica de rendimiento usada para medir el rendimiento del primer modulo filtro 304 es la mejora de perdida de retorno de eco (ERLE), que es una medida de la cantidad de reduccion del eco, la metrica ERLE se define como:
ERLEk(t) =
g[y(Q]2
E[§k(t) -y(t)]2
La metrica ERLE se puede medir en decibelios (dB), segun la ecuacion siguiente (suponiendo que se use un logaritmo de base 10, es decir, log10):
ERLEk(t) = 10 log
ELKO]2
E[sk(t) - y(t)]2
En las ecuaciones anteriores, E[] es el operador de expectacion. La medicion ERLE se puede aplicar, y se aplica tfpicamente, a senales no estacionarias. Por lo tanto, en la practica, los valores de expectacion son evaluados usando valores medios de tiempo corto:
ERLEk(t)
Ifc=o(5(t_fe) — y(t —
La metrica ERLE es una medida de la capacidad de la estimacion de modelo de modelar la senal de microfono y(t). La metrica ERLE es limitada en el sentido de que solamente evalua la exactitud de modelo cuando la senal de microfono consta principalmente de eco. Si ese no es el caso, la medicion ERLE puede ser baja aunque el modelo sea exacto. Sin embargo, si la medicion ERLE es alta, puede deberse solamente a que el modelo es exacto. ERLE siempre es mas alto cuando se esta quitando mas eco, independientemente de si se esta midiendo en dB o no.
5
10
15
20
25
30
35
40
45
50
55
60
La metrica de rendimiento, distinta de ERLE, puede ser usada para medir el rendimiento del primer modulo filtro 304. Ejemplos de tal otra metrica de rendimiento son la magnitud del error de estimacion:
imagen2
medidas ERLE ponderadas tales como:
T.k=pWky2(t-k)
Sfc=o wk(s(t -k)- y(t - k)f
y medidas de semejanza de senal tales como la correlacion cruzada entre s(t) y y(t):
E[y(t)s(t)]2
E[sk(_t)]2E[y(_t)]2
Independientemente de la metrica de rendimiento usada, la medicion de rendimiento en base a la primera estimacion si(t) tomada en el paso S410 puede ser determinada periodicamente. Por ejemplo, las mediciones de rendimiento en base a la primera estimacion si(t) pueden ser promediadas sobre un numero predeterminado de muestras de la senal audio x(t) y la senal audio recibida y t) en un periodo de tiempo dado para llegar a una medicion de rendimiento final. Es decir, el paso S410 puede incluir determinar la medicion de rendimiento en base a la primera estimacion si(t) por cada cuadro de la senal audio recibida y(t); sin embargo, esto es simplemente un ejemplo, y la medicion de rendimiento en base a la primera estimacion si(t) tomada en el paso S410 puede determinarse menos o mas a menudo que por cada cuadro.
En el paso S412, el modulo de determinacion de rendimiento 312 determina si el recorrido de eco puede ser considerado lineal (durante un cierto tiempo y frecuencia) en base a la medicion de rendimiento tomada en el paso S410.
Es decir, en el paso S412, el modulo de determinacion de rendimiento 312 determina si la primera estimacion si(t) es mas exacta que una exactitud umbral comparando la medicion de rendimiento (tomada en el paso S4i0 por el modulo de determinacion de rendimiento 3i2) con un valor umbral.
El valor umbral indica una exactitud umbral y el recorrido de eco puede ser considerado lineal cuando la comparacion indica que la primera estimacion de modelo si(t) es mas exacta que la exactitud umbral. Este valor umbral puede ser un umbral predeterminado (por ejemplo i0dB) o ser dependiente de la senal.
Con respecto a alguna metrica de rendimiento, la medicion de rendimiento tomada en el paso S4i0 aumenta cuando aumenta la exactitud de estimacion del primer modulo filtro 304. ERLE es un ejemplo de este tipo de metrica de rendimiento. Cuando se usa este tipo de metrica de rendimiento, cuando la medicion de rendimiento es mayor o igual al valor umbral, el proceso pasa al paso S4i., y cuando la medicion de rendimiento es menos que el valor umbral, el proceso pasa al paso S4i6.
Con otra metrica de rendimiento, la medicion de rendimiento tomada en el paso S4i0 disminuye cuando aumenta la exactitud de estimacion del primer modulo filtro 304. Por ejemplo, si el error de prediccion al cuadrado (y(t)-s(t))A2 se usa como la metrica de rendimiento. Cuando se usa este tipo de metrica de rendimiento, cuando la medicion de rendimiento es menor que el valor umbral, el proceso pasa al paso S4i4, y cuando la medicion de rendimiento es mayor o igual al valor umbral, el proceso pasa al paso S4i6.
Independientemente de la metrica de rendimiento concreta usada, el proceso pasa al paso S4i4, cuando el modulo de determinacion de rendimiento 3i2 determina que la linealidad del sistema esta a un nivel suficiente de tal manera que el primer modulo filtro 304 proporcione una estimacion exacta del recorrido de eco.
En el paso S4i4, el modulo de supresion de eco 3i4 usa la primera estimacion si(t) para aplicar supresion de eco a la senal audio recibida y(t), suprimiendo por ello el eco en la senal audio recibida. La supresion de eco realizada en el paso S4i4 se describe mas adelante.
Independientemente de la metrica de rendimiento concreta usada, el proceso pasa al paso S4i6, cuando el modulo de determinacion de rendimiento 3i2 determina que la linealidad del sistema no esta a un nivel suficiente de tal manera que el primer modulo filtro 304 proporcione una estimacion exacta del recorrido de eco. En el paso 4i6, el modulo de determinacion de rendimiento 3i2 no envfa la primera estimacion si(t) al modulo de supresion de eco 3i4. En cambio, en el paso S4i6, el modulo de determinacion de rendimiento 3i2 envfa una senal de control para
ERLEJt)
5
10
15
20
25
30
35
40
45
50
55
60
65
habilitar el segundo modulo filtro 308. En respuesta a la recepcion de esta senal de control del modulo de determinacion de rendimiento 314, el segundo modulo filtro 308 comienza a modelar el recorrido de eco del eco en la senal audio recibida y(t). Por lo tanto, se apreciara que en cualquier punto dado en el tiempo solamente, uno del primer modulo filtro 304 y el segundo modulo filtro 308 puede ser operativo para modelar el recorrido de eco.
El segundo modulo filtro 308 toma como entradas la senal audio salida x(t) y la senal audio recibida y(t). El segundo modulo filtro 308 puede funcionar para modelar el recorrido de eco del eco en la senal audio recibida y(t) usando la senal audio salida x(t) y la senal audio recibida y(t) para determinar una estimacion del componente de eco en la senal de extremo proximo y(t) de la misma forma que el primer modulo filtro 304 como se ha descrito anteriormente.
En comparacion con el primer modulo filtro 304, el segundo modulo filtro 308 es un modelo mas crudo que es menos sensible a no linealidades. Es decir, el segundo modulo filtro 308 es mas adecuado para cancelacion de eco cuando el recorrido de eco es mas bien no lineal.
En algunas realizaciones, la estimacion del componente de eco es enviada desde el segundo modulo filtro 308 al modulo de supresion de eco 314 (como se representa en la figura 3). En estas realizaciones, la estimacion del componente de eco es suministrada al modulo de supresion de eco 314.
En otras realizaciones, en el paso S416, la estimacion del componente de eco es pasada desde el segundo modulo filtro 308 a un segundo modulo de estimacion de potencia (no representado en la figura 3). El segundo modulo de estimacion de potencia estima la potencia de eco en la senal audio recibida en base a la estimacion de filtro (determinada por el segundo modulo filtro 308) y la senal de extremo lejano x(t). Hay muchas formas de hacerlo, conocidas por los expertos en la tecnica, y el alcance de esta descripcion no se limita a ningun metodo particular de determinar una estimacion de potencia de eco. En estas realizaciones, el segundo modulo de estimacion de potencia 308 esta dispuesto para enviar su estimacion de potencia de eco correspondiente al modulo de supresion de eco 314.
El modulo de supresion de eco 314 toma como una entrada una segunda estimacion §2(t). La segunda estimacion §2(t) puede ser una estimacion del componente de eco salido del segundo modulo filtro 308 o una estimacion de potencia de eco salida del segundo modulo de estimacion de potencia. En el paso S418, el modulo de supresion de eco 314 usa la segunda estimacion §2(t) para aplicar supresion de eco a la senal audio recibida y(t), suprimiendo por ello el eco en la senal audio recibida. La supresion de eco realizada en el paso S418 se describe mas adelante.
Despues del paso S414, el proceso supervisa continuamente el rendimiento del primer modulo filtro 304 para determinar si seguir aplicando supresion de eco usando la primera estimacion §2(t) o conmutar para iniciar el modelado del recorrido de eco del eco en la senal audio recibida y(t) usando el segundo modulo filtro 308 y usar la estimacion §2(t) para aplicar supresion de eco a la senal audio recibida y(t).
Igualmente, despues del paso S418, el proceso supervisa continuamente el rendimiento del primer modulo filtro 304 para determinar si seguir aplicando supresion de eco usando la segunda estimacion §2(t) o conmutar a usar la primera estimacion s-i(t) para aplicar supresion de eco a la senal audio recibida y(t).
En las realizaciones descritas anteriormente, la funcionalidad de extraccion de eco se basa en la segunda estimacion §2(t) para aplicar supresion de eco a la senal audio recibida y(t) a no ser que la comparacion de la medicion de rendimiento tomada en el paso S410 con el valor umbral indique que la primera estimacion s-i(t) es mas exacta que la exactitud umbral.
En las realizaciones descritas anteriormente, la funcionalidad de extraccion de eco conmuta de depender del primer modulo filtro 304 a depender del segundo modulo filtro 308 tan pronto como la comparacion de la medicion de rendimiento tomada en el paso S410 con el valor umbral indica que la primera estimacion s-i(t) es menos exacta que la exactitud umbral. En realizaciones alternativas, la conmutacion de depender del primer modulo filtro 304 a depender del segundo modulo filtro 308 solamente tiene lugar cuando las comparaciones de la medicion de rendimiento tomada en el paso S410 con el valor umbral indican que la primera estimacion s-i(t) ha sido menos exacta que la exactitud umbral en un penodo de tiempo predeterminado, es decir, durante todo el penodo de tiempo predeterminado.
En las realizaciones descritas anteriormente, la funcionalidad de extraccion de eco conmuta de depender del segundo modulo filtro 308 a depender del primer modulo filtro 304 tan pronto como la comparacion de la medicion de rendimiento tomada en el paso S410 con el valor umbral indica que la primera estimacion s-i(t) es mas exacta que la exactitud umbral. En realizaciones alternativas, la conmutacion de depender del segundo modulo filtro 308 a depender del primer modulo filtro 304 solamente tiene lugar cuando las comparaciones de la medicion de rendimiento tomadas en el paso S410 con el valor umbral indican que la primera estimacion s-i(t) ha sido mas exacta que la exactitud umbral en un penodo de tiempo predeterminado, es decir, durante todo el penodo de tiempo predeterminado.
El esquema descrito anteriormente puede ampliarse a implementarse para bandas secundarias de frecuencia
5
10
15
20
25
30
35
40
45
50
55
60
65
separadas dentro de un rango de frecuencia. Es dedr, la senal audio salida x(t) y la senal audio recibida y(t) procesadas por el modulo de modelado 302 se dividen en una pluralidad de bandas secundarias de frecuencia dentro de un rango de frecuencia, y la medicion de rendimiento descrita anteriormente se implementa en base a banda secundaria.
Por ejemplo, durante un penodo de tiempo dado, por cada banda secundaria de frecuencia, el primer modulo filtro 304 modela el recorrido de eco del eco en la senal audio recibida y(t) usando la senal audio salida x(t) y la senal audio recibida y(t) para determinar una estimacion del componente de eco en la senal de extremo proximo y(t). El modulo de determinacion de rendimiento 312 hace una medicion del rendimiento del primer modulo filtro 304 en base a la primera estimacion s-i(t) y la senal audio recibida y(t) segun una metrica de rendimiento concreta para cada banda secundaria de frecuencia. Cada una de estas mediciones de rendimiento se compara con el valor umbral para determinar si el recorrido de eco en la banda secundaria de frecuencia respectiva puede ser considerado lineal (para un cierto tiempo y frecuencia). El modulo de determinacion de rendimiento 312 puede determinar entonces si el recorrido de eco en el penodo de tiempo dado puede ser considerado lineal en base al numero de bandas secundarias de frecuencia (que estan dentro de un cierto rango de frecuencia) en el que el recorrido de eco es considerado lineal (y asf inherentemente en el numero de bandas secundarias de frecuencia en el que el recorrido de eco se considera no lineal). Por ejemplo, el modulo de determinacion de rendimiento 312 puede determinar que el recorrido de eco en el penodo de tiempo dado se considera lineal si el numero de bandas secundarias de frecuencia de menos de 4 kHz en el que el recorrido de eco se considera lineal es mayor que el numero de bandas secundarias de frecuencia en el que el recorrido de eco se considera no lineal, es decir, la mayona de las bandas de frecuencia por debajo de 4 kHz se considera lineal. En otras implementaciones, el modulo de determinacion de rendimiento 312 puede determinar solamente que el recorrido de eco en el penodo de tiempo dado se considera lineal si una cierta proporcion de las bandas de bandas secundarias de frecuencia (estan son dentro de un cierto rango de frecuencia) se considera lineal. Por ejemplo, el modulo de determinacion de rendimiento 312 puede determinar que el recorrido de eco en el penodo de tiempo dado se considera lineal si 75% de las bandas de bandas secundarias de frecuencia (que estan dentro de un cierto rango de frecuencia) se considera lineal. Se apreciara que estos valores ejemplares se usan simplemente para ilustrar los conceptos y no se ha previsto que sean limitativos de ninguna forma.
En otras realizaciones en las que el esquema descrito anteriormente se amplfa a implementarse para bandas de frecuencia separadas dentro de un rango de frecuencia, una vez que el modulo de determinacion de rendimiento 312 ha determinado si el recorrido de eco en la respectiva banda secundaria de frecuencia puede ser considerado lineal (para un cierto tiempo y frecuencia), el modulo de determinacion de rendimiento 312 toma la decision sobre si aplicar supresion de eco a la senal audio recibida y(t) usando la primera estimacion de modelo s-i(t), o controlar el segundo modulo filtro 308 para modelar el recorrido de eco del eco en la senal audio recibida y(t) y usar la segunda estimacion s-i(t) para aplicar supresion de eco a la senal audio recibida y(t), en base por banda secundaria de frecuencia. Asf, puede surgir un posible escenario en el que, durante un penodo de tiempo dado, el primer modulo filtro 304 se usa para modelar el recorrido de eco del eco en la senal audio recibida y(t) para bandas de frecuencia mas bajas dentro del rango de frecuencia y el segundo modulo filtro 308 se usa para modelar el recorrido de eco del eco en la senal audio recibida y(t) para bandas de frecuencia mas altas dentro del rango de frecuencia.
Ahora se describe la supresion de eco realizada en los pasos S414 y S418.
La finalidad del supresor de eco es suprimir el eco de altavoz presente en la senal de microfono, por ejemplo, en un cliente VoIP, a un nivel suficientemente bajo para no ser apreciable/molesto en presencia de los sonidos de extremo proximo (sonidos no eco) captados por el microfono 212. Para poder elegir la cantidad apropiada de supresion de eco, se necesita un modelo exacto del recorrido de eco, y como se ha descrito anteriormente, este se obtiene modelando el recorrido de eco usando uno de dos modelos, por lo que se usa una medicion de rendimiento de un modelo respectivo como un detector para cuando conmutar entre los dos modelos para asegurar que se use el modelo mas adecuado para modelar el recorrido de eco. El modulo de supresion de eco 314 esta disenado para aplicar supresion dependiente de senal que vana en el tiempo y la frecuencia con respecto a la senal audio recibida y(t). Los metodos de supresion de eco son conocidos en la tecnica. Ademas, el metodo de supresion de eco aplicado por el modulo de supresion de eco 314 puede implementarse en formas diferentes. Por lo tanto, como tales, los detalles exactos del metodo de supresion de eco no se describen aqrn en detalle.
El modulo de supresion de eco 314 envfa la senal recibida, con el eco que ha sido suprimido, para procesado adicional en el dispositivo de usuario 104. Por ejemplo, la senal salida del modulo de supresion de eco 314 puede ser procesada por el cliente 206 (por ejemplo, codificada y paquetizada) y luego transmitida por la red 106 al dispositivo de usuario 110 en una llamada entre los usuarios 102 y 108. Ademas o alternativamente, la senal salida del modulo de supresion de eco 314 puede ser usada para otros fines por el dispositivo de usuario 104, por ejemplo, la senal puede ser almacenada en la memoria 214 o usada como una entrada a una aplicacion que se ejecute en el dispositivo de usuario 104.
Como se ha descrito anteriormente, el primer modulo filtro 304 es actualizado continuamente independientemente de las condiciones de senal disponibles. Se puede usar opcionalmente un esquema de ajuste de tamano de paso en relacion al primer modulo filtro 304 en las realizaciones descritas anteriormente.
5
10
15
20
25
30
35
40
45
50
55
60
65
Como se ha descrito anteriormente, los coeficientes de filtro para el primer modulo filtro 304 pueden obtenerse ejecutando un algoritmo de gradiente estocastico. En particular el primer modulo filtro 304 ejecuta un algoritmo de gradiente estocastico para identificar los coeficientes del modulo filtro 304 que minimiza una senal de error e(t).
Los coeficientes de filtro actualizados para el modulo filtro 304 son generados en respuesta a la senal de error e(t), la senal de entrada x(t) y los coeficientes de filtro previos.
El algoritmo de gradiente estocastico opera de manera recursiva en el tiempo. Esto significa que no se adapta de forma instantanea a cambios en el sistema, en cambio el algoritmo converge iterativamente a una aproximacion del sistema sobre un intervalo de tiempo finito.
Los coeficientes de filtro del primer modulo filtro 304 filtran la senal de extremo lejano x(t) para generar una estimacion del componente de eco en la senal de extremo proximo y(t). La senal de error e(t) es obtenida por un sustractor (no representado en la figura 3) que resta la primera estimacion de modulo filtro del componente de eco en la senal de extremo proximo y(t) de la senal de extremo proximo y(t) y suministra la senal de error e(t) al primer modulo filtro 304. Se apreciara que es deseable que la senal de error e(t) sea pequena. Por ejemplo, cuando no hay senal de extremo proximo v(t) en la senal de microfono, idealmente la senal de error es igual a cero.
Los algoritmos de gradiente estocastico tienen un parametro de convergencia en forma de un tamano de paso para la actualizacion de los parametros de modelo. Este se puede elegir como fijo en algunas aplicaciones, pero en muchos casos se logra un mejor rendimiento si se elige en dependencia de la senal. El tamano de paso controla la sensibilidad de la actualizacion al ruido en la senal de microfono y(t). Si se elige de modo que sea pequeno, la velocidad de actualizacion es lenta, pero es menos insensible al ruido, pero si se elige de modo que sea grande la velocidad de actualizacion es en cambio rapida, pero mas sensible al ruido. La referencia a “velocidad de actualizacion” o “velocidad de adaptacion” se usa aqu para hacer referencia a la rapidez con la que el modelo es capaz de adaptarse a las condiciones de senal disponibles en el sistema. Es decir, la utilizacion de un tamano de paso mas pequeno dara lugar a una senal de error eventual mas pequena e(t), sin embargo, la convergencia a una aproximacion del sistema sera mas lenta debido al mayor numero de pasos de iteracion requeridos (menor tasa de convergencia), y el uso de un tamano de paso mas grande dara lugar a una senal de error eventual mas grande e(t), sin embargo, la convergencia a una aproximacion del sistema sera mas rapida debido al menor numero de pasos de iteracion requeridos (tasa de convergencia mas rapida).
Con el fin de lograr estimaciones de exactitud muy alta, el tamano de paso tiene que ser pequeno con el fin de evitar el rebasamiento de las verdaderas estimaciones debido a un tamano de paso demasiado alto.
En el esquema de ajuste de tamano de paso, la exactitud de la estimacion s-i(t) se determina segun una medicion de mejora de perdida de retorno de eco. Esta medicion de mejora de perdida de retorno de eco puede ser la misma medicion de exactitud hecha por el modulo de determinacion de rendimiento 312 en el paso S410. Alternativamente esta medicion de mejora de perdida de retorno de eco puede ser una medicion separada de la medicion de exactitud hecha por el modulo de determinacion de rendimiento 312 cuando se usan en el paso S410 medidas distintas de ERLE.
Un modulo de seleccion de parametro de convergencia (no representado en la figura 3) determina un valor para un parametro de convergencia (tamano de paso) usado en el algoritmo ejecutado en el modulo filtro 304 en base a la exactitud de la estimacion s-i(t). En particular, el modulo de seleccion de parametro de convergencia selecciona el parametro de convergencia para controlar la velocidad de adaptacion del modulo filtro 304 como una funcion no creciente de la medicion de mejora de perdida de retorno de eco.
La medicion de mejora de perdida de retorno de eco puede compararse con un valor umbral, y el modulo de seleccion de parametro de convergencia regula el parametro de convergencia en base a esta comparacion.
Dado que la medicion de mejora de perdida de retorno de eco tiene la propiedad de que la exactitud de modelo siempre es alta cuando la medicion de mejora de perdida de retorno de eco es alta, se puede usar para ralentizar la velocidad de adaptacion cuando la medicion de mejora de perdida de retorno de eco es alta (es decir, mas alta que el valor umbral predeterminado) con el fin de lograr estimaciones cada vez mas exactas, y aumentar la velocidad de adaptacion cuando la medicion de mejora de perdida de retorno de eco es baja (es decir, inferior al valor umbral predeterminado) con el fin de rastrear rapidamente cambios en los parametros de modelo.
El esquema de ajuste de tamano de paso asegura que se logre una rapida adaptacion cuando la exactitud del modelo sea desconocida (mediante la alta velocidad de actualizacion cuando la medicion de la mejora de perdida de retorno de eco sea baja), y que se logren estimaciones cada vez mas exactas cuando se sepa que el modelo es exacto (mediante la disminucion de la velocidad de actualizacion cuando la medicion de la mejora de perdida de retorno de eco sea alta).
En las realizaciones descritas anteriormente, la extraccion de eco se implementa en un sistema VoIP (por ejemplo,
5
10
15
20
25
30
35
40
45
50
55
60
65
la senal audio recibida puede incluir voz del usuario 102 para transmision al dispositivo de usuario 110 durante una llamada entre los usuarios 102 y 108 por el sistema de comunicaciones 100). Sin embargo, los metodos de extraccion de eco aqrn descritos pueden aplicarse en cualquier sistema adecuado en el que se haya de aplicar extraccion de eco.
En las realizaciones descritas anteriormente, y representadas en las figuras, el modulo de extraccion de eco 314 implementa supresion de eco.
En las realizaciones descritas anteriormente, y representadas en las figuras, no se aplica cancelacion de eco (o “sustraccion de eco”) a la senal audio recibida y(t). Es decir, no hay modulo de cancelacion de eco en el dispositivo de usuario 104 y la supresion de eco se aplica a la senal audio recibida y(t) sin un paso anterior de aplicar cancelacion de eco a la senal audio recibida y(t).
Sin embargo, en otras realizaciones, la cancelacion de eco puede ser aplicada, por un modulo de cancelacion de eco, a la senal audio recibida y(t). En particular, la supresion de eco aplicada por el modulo de supresion de eco 314 puede ser aplicada hacia abajo (es decir, despues) de la cancelacion de eco en el procesado de la senal audio recibida y(t). El modulo de cancelacion de eco restana una estimacion de la senal de eco de la senal audio recibida, pero debido a inexactitudes en la estimacion de la senal de eco, quedana muy probablemente un eco residual en la senal audio recibida. El eco residual es el que sena suprimido entonces por el modulo de supresion de eco 314. Esta supresion de eco podna aplicarse de la misma forma que la aqrn descrita en las realizaciones en las que no se aplica cancelacion de eco. Si se usa sustraccion de eco, su efecto puede tomarse en cuenta en la supresion de eco.
En otras realizaciones, el modulo de extraccion de eco 314 implementa cancelacion de eco. Es decir, el modulo de extraccion de eco 314 esta dispuesto para restar una estimacion de la senal de eco s-i(t) o §2(t)) de la senal audio recibida y(t).
Los metodos aqrn descritos pueden implementarse ejecutando un producto de programa de ordenador (por ejemplo, el cliente 206) en el dispositivo de usuario 104. Es decir, un producto de programa de ordenador puede estar configurado para quitar eco en la senal audio recibida y(t), donde el producto de programa de ordenador se realiza en un medio de almacenamiento legible por ordenador (por ejemplo, almacenado en la memoria 214) y configurado de modo que, cuando sea ejecutado en la CPU 202, realice las operaciones de alguno de los metodos descritos aqrn.
En general, cualquiera de las funciones aqrn descritas (por ejemplo, los modulos funcionales representados en la figura 3 y los pasos funcionales representados en la figura 4) pueden implementarse usando software, microprogramas, hardware (por ejemplo,, circuitena logica fija), o una combinacion de estas implementaciones. Los modulos y pasos representados por separado en las figuras 3 y 4 y referidos anteriormente pueden implementarse o no como modulos o pasos separados. Por ejemplo, el modulo de supresion de eco 314 puede realizar la funcion del modulo de determinacion de rendimiento 312. Los terminos “modulo”, “funcionalidad”, “componente” y “logica” en el sentido en que se usan aqrn indican en general software, microprogramas, hardware, o su combinacion. En el caso de una implementacion de software, el modulo, la funcionalidad o la logica representa un codigo de programa que realiza tareas especificadas cuando se ejecuta en un procesador (por ejemplo, CPU o CPUs). El codigo de programa puede almacenarse en uno o varios dispositivos de memoria legibles por ordenador. Las caractensticas de las tecnicas aqrn descritas son independientes de plataforma, lo que quiere decir que las tecnicas pueden implementarse en una variedad de plataformas informaticas comerciales que tengan una variedad de procesadores.
Por ejemplo, los dispositivos de usuario tambien pueden incluir una entidad (por ejemplo, software) que haga que el hardware de los dispositivos de usuario realice operaciones, por ejemplo, bloques funcionales de procesador, etc. Por ejemplo, los dispositivos de usuario pueden incluir un medio legible por ordenador que puede estar configurado para mantener instrucciones que hagan que los dispositivos de usuario, y mas en concreto el sistema operativo y el hardware asociado de los dispositivos de usuario, realice operaciones. Asf, las instrucciones sirven para configurar el sistema operativo y el hardware asociado para realizar las operaciones y de esta forma dan lugar a transformacion del sistema operativo y el hardware asociado para realizar funciones. Las instrucciones pueden ser suministradas por el medio legible por ordenador a los dispositivos de usuario a traves de varias configuraciones diferentes.
Una configuracion de un medio legible por ordenador es un medio de soporte de senal y por ello esta configurado para transmitir las instrucciones (por ejemplo, como una onda portadora) al dispositivo informatico, tal como mediante una red. El medio legible por ordenador tambien puede estar configurado como un medio de almacenamiento legible por ordenador y por ello no es un medio de soporte de senal. Los ejemplos de un medio de almacenamiento legible por ordenador incluyen una memoria de acceso aleatorio (RAM), una memoria de lectura solamente (ROM), un disco optico, memoria flash, memoria de disco duro, y otros dispositivos de memoria que pueden usar tecnicas magneticas, opticas y otras para almacenar instrucciones y otros datos.
Aunque la materia se ha descrito en lenguaje espedfico de caractensticas estructurales y/o hechos metodologicos, se ha de entender que la materia definida en las reivindicaciones anexas no se limita necesariamente a las
caractensticas espedficas o hechos descritos anteriormente. Mas bien, las caractensticas espedficas y los hechos descritos anteriormente se describen como formas ejemplares de implementar las reivindicaciones.

Claims (10)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. Un metodo de quitar eco, incluyendo el metodo: enviar una senal audio (S404);
    recibir una senal audio (S406), donde la senal audio recibida incluye eco resultante de dicha senal audio emitida;
    modelar un recorrido de eco del eco en la senal audio recibida usando un primer modelo (304) en base a la senal audio salida y la senal audio recibida para determinar (S408) una primera estimacion de modelo del eco en la senal audio recibida;
    usar la primera estimacion de modelo para determinar (S410) un primer valor de rendimiento segun una metrica de rendimiento;
    comparar (S412) el primer valor de rendimiento con un valor umbral; caracterizado porque el metodo incluye;
    determinar si el recorrido de eco puede ser considerado lineal en base a dicha comparacion y en base a dicha comparacion selectivamente:
    usar (S414) la primera estimacion de modelo del eco para quitar el eco en la senal audio recibida, o
    modelar el recorrido de eco del eco en la senal audio recibida usando un segundo modelo (308) en base a la senal audio salida y la senal audio recibida para determinar (S416) una segunda estimacion de modelo del eco,
    y usar (S418) la segunda estimacion de modelo del eco para quitar el eco en la senal audio recibida.
  2. 2. El metodo de la reivindicacion 1, donde el metodo incluye:
    usar la primera estimacion de modelo del eco para quitar el eco en la senal audio recibida si se determina que el recorrido de eco puede ser considerado lineal; y
    modelar el recorrido de eco del eco en la senal audio recibida usando un segundo modelo en base a la senal audio salida y la senal audio recibida para determinar una segunda estimacion de modelo del eco, y usando la segunda estimacion de modelo del eco para quitar la supresion de eco en la senal audio recibida, si se determina que el recorrido de eco no puede ser considerado lineal.
  3. 3. El metodo de la reivindicacion 1 o 2, donde el valor umbral indica una exactitud umbral y el recorrido de eco puede ser considerado lineal cuando dicha comparacion indica que la primera estimacion de modelo es mas exacta que la exactitud umbral.
  4. 4. El metodo de cualquier reivindicacion precedente, donde la metrica de rendimiento es una metrica de mejora de perdida de retorno de eco.
  5. 5. El metodo de cualquier reivindicacion precedente, donde el metodo incluye:
    dividir la senal audio salida y la senal audio recibida en un penodo de tiempo predeterminado en una pluralidad de bandas secundarias de frecuencia dentro de un rango de frecuencia e implementar el metodo en base por banda secundaria de frecuencia para determinar si el recorrido de eco en cada banda secundaria de frecuencia respectiva dentro de dicho rango de frecuencia puede ser considerado lineal;
    determinar si el recorrido de eco puede ser considerado lineal en dicho penodo de tiempo predeterminado en base al numero de bandas secundarias de frecuencia consideradas lineales dentro de dicho rango de frecuencia; y
    usar la primera estimacion de modelo del eco para quitar el eco en la senal audio recibida si el recorrido de eco puede ser considerado lineal en dicho penodo de tiempo predeterminado, o
    modelar el recorrido de eco del eco en la senal audio recibida usando un segundo modelo si el recorrido de eco no puede ser considerado lineal en dicho penodo de tiempo predeterminado, y usar la segunda estimacion de modelo del eco para quitar el eco en la senal audio recibida.
  6. 6. El metodo de cualquiera de las reivindicaciones 1 a 4, donde el metodo incluye:
    dividir la senal audio salida y la senal audio recibida en un penodo de tiempo predeterminado en una pluralidad de
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    bandas secundarias de frecuencia dentro de un rango de frecuencia e implementar el metodo en base por banda secundaria de frecuencia para determinar si el recorrido de eco en cada banda secundaria de frecuencia respectiva dentro de dicho rango de frecuencia puede ser considerado lineal; y para cada banda secundaria de frecuencia:
    usar la primera estimacion de modelo del eco para quitar el eco en la senal audio recibida si el recorrido de eco puede ser considerado lineal; o
    modelar el recorrido de eco del eco en la senal audio recibida usando el segundo modelo si el recorrido de eco no puede ser considerado lineal, y usar la segunda estimacion de modelo del eco para quitar el eco en la senal audio recibida.
  7. 7. El metodo de cualquier reivindicacion precedente, donde:
    el primer modelo ejecuta un primer algoritmo para determinar coeficientes de filtro y usa dichos coeficientes de filtro para filtrar la senal audio salida para determinar la primera estimacion de modelo del eco; y el segundo modelo ejecuta un segundo algoritmo para determinar coeficientes de filtro y usa dichos coeficientes de filtro para filtrar la senal audio salida para determinar la segunda estimacion de modelo del eco.
  8. 8. El metodo de la reivindicacion 7, donde el primer algoritmo incluye un parametro de convergencia y la metrica de rendimiento es una medicion de mejora de perdida de retorno de eco, incluyendo el metodo ademas:
    actualizar dicho parametro de convergencia en base a dicho primer valor de rendimiento, donde el parametro de convergencia se selecciona para controlar una velocidad de adaptacion del primer modelo como una funcion no creciente del primer valor de rendimiento.
  9. 9. Un dispositivo (104) incluyendo:
    un aparato de salida audio (210) configurado para la salida de una senal audio;
    un aparato de entrada audio (212) configurado para recibir una senal audio, donde la senal audio recibida incluye un eco resultante de dicha senal audio salida;
    un modulo de modelado (302) configurado para modelar un recorrido de eco del eco en la senal audio recibida usando un primer modelo en base a la senal audio salida y la senal audio recibida para determinar una primera estimacion de modelo del eco en la senal audio recibida, usar la primera estimacion de modelo para determinar un primer valor de rendimiento segun una metrica de rendimiento, comparar el primer valor de rendimiento con un valor umbral y determinar si el recorrido de eco puede ser considerado lineal en base a dicha comparacion,
    donde el modulo de modelado esta configurado ademas para modelar selectivamente el recorrido de eco del eco en la senal audio recibida usando un segundo modelo en base a la senal audio salida y la senal audio recibida, en base a dicha comparacion, para determinar una segunda estimacion de modelo del eco; y
    un modulo de extraccion de eco (314);
    caracterizado porque el modulo de extraccion de eco esta configurado para usar selectivamente la primera estimacion de modelo o la segunda estimacion de modelo del eco para quitar el eco en la senal audio recibida en base a dicha comparacion.
  10. 10. Un producto de programa de ordenador configurado para quitar eco en una senal audio recibida, dicho eco resultante de una senal audio salida, realizandose el producto de programa de ordenador en un medio de almacenamiento legible por ordenador y configurado, cuando sea ejecutado en un procesador (202), para:
    modelar un recorrido de eco del eco en la senal audio recibida usando un primer modelo (304) en base a la senal audio salida y la senal audio recibida para determinar (S408) una primera estimacion de modelo del eco en la senal audio recibida;
    usar la primera estimacion de modelo para determinar (S410) un primer valor de rendimiento segun una metrica de rendimiento;
    comparar (S412) el primer valor de rendimiento con un valor umbral;
    caracterizado por determinar si el recorrido de eco puede ser considerado lineal en base a dicha comparacion, y en base a dicha comparacion selectivamente:
    usar (S414) la primera estimacion de modelo del eco para quitar eco en la senal audio recibida; o
    modelar el recorrido de eco del eco en la senal audio recibida usando un segundo modelo (308) en base a la senal audio salida y la senal audio recibida para determinar (S416) una segunda estimacion de modelo del eco, y usar (S418) la segunda estimacion de modelo del eco para quitar el eco en la senal audio recibida.
ES14733861.0T 2013-05-31 2014-05-29 Extracción de eco Active ES2619563T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB201309773A GB201309773D0 (en) 2013-05-31 2013-05-31 Echo removal
GB201309773 2013-05-31
US14/012,458 US9467571B2 (en) 2013-05-31 2013-08-28 Echo removal
US201314012458 2013-08-28
PCT/US2014/039871 WO2014194011A1 (en) 2013-05-31 2014-05-29 Echo removal

Publications (1)

Publication Number Publication Date
ES2619563T3 true ES2619563T3 (es) 2017-06-26

Family

ID=48805571

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14733861.0T Active ES2619563T3 (es) 2013-05-31 2014-05-29 Extracción de eco

Country Status (6)

Country Link
US (1) US9467571B2 (es)
EP (1) EP2987313B1 (es)
CN (1) CN105409191B (es)
ES (1) ES2619563T3 (es)
GB (1) GB201309773D0 (es)
WO (1) WO2014194011A1 (es)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201309771D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo removal
GB201309779D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo removal
GB201309777D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo suppression
GB201501791D0 (en) * 2015-02-03 2015-03-18 Microsoft Technology Licensing Llc Non-linear echo path detection
KR102263700B1 (ko) * 2015-08-06 2021-06-10 삼성전자주식회사 단말기 및 단말기의 동작 방법
US9653060B1 (en) * 2016-02-09 2017-05-16 Amazon Technologies, Inc. Hybrid reference signal for acoustic echo cancellation
US9659555B1 (en) * 2016-02-09 2017-05-23 Amazon Technologies, Inc. Multichannel acoustic echo cancellation

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3787645A (en) 1971-05-19 1974-01-22 Nippon Electric Co Echo canceller having two echo path models
US4918727A (en) 1988-06-09 1990-04-17 Tellabs Incorporated Double talk detector for echo canceller and method
US4977591A (en) 1989-11-17 1990-12-11 Nynex Corporation Dual mode LMS nonlinear data echo canceller
US5157653A (en) 1990-08-03 1992-10-20 Coherent Communications Systems Corp. Residual echo elimination with proportionate noise injection
US5305307A (en) 1991-01-04 1994-04-19 Picturetel Corporation Adaptive acoustic echo canceller having means for reducing or eliminating echo in a plurality of signal bandwidths
JPH0739968B2 (ja) 1991-03-25 1995-05-01 日本電信電話株式会社 音響伝達特性模擬方法
US5307405A (en) 1992-09-25 1994-04-26 Qualcomm Incorporated Network echo canceller
JP3395388B2 (ja) 1994-08-16 2003-04-14 ソニー株式会社 信号適応処理装置及びエコー抑圧装置
SE516835C2 (sv) 1995-02-15 2002-03-12 Ericsson Telefon Ab L M Ekosläckningsförfarande
US5852661A (en) 1995-02-17 1998-12-22 Advanced Micro Devices, Inc. Adaptive echo cancellation used with echo suppression to reduce short and long duration echoes
US5587998A (en) * 1995-03-03 1996-12-24 At&T Method and apparatus for reducing residual far-end echo in voice communication networks
DE19540170C2 (de) 1995-10-27 1998-01-29 Endress Hauser Gmbh Co Verfahren und Anordnung zur Unterdrückung von Festzielechos bei der Abstandsmessung nach dem Impulslaufzeitprinzip
US5631900A (en) 1995-09-29 1997-05-20 Crystal Semiconductor Double-Talk detector for echo canceller
US5796819A (en) 1996-07-24 1998-08-18 Ericsson Inc. Echo canceller for non-linear circuits
US6028929A (en) 1997-11-14 2000-02-22 Tellabs Operations, Inc. Echo canceller employing dual-H architecture having improved non-linear echo path detection
US6563803B1 (en) 1997-11-26 2003-05-13 Qualcomm Incorporated Acoustic echo canceller
US6212273B1 (en) 1998-03-20 2001-04-03 Crystal Semiconductor Corporation Full-duplex speakerphone circuit including a control interface
US7423983B1 (en) 1999-09-20 2008-09-09 Broadcom Corporation Voice and data exchange over a packet based network
US6415029B1 (en) 1999-05-24 2002-07-02 Motorola, Inc. Echo canceler and double-talk detector for use in a communications unit
DE19935808A1 (de) * 1999-07-29 2001-02-08 Ericsson Telefon Ab L M Echounterdrückungseinrichtung zum Unterdrücken von Echos in einer Sender/Empfänger-Einheit
US7920697B2 (en) 1999-12-09 2011-04-05 Broadcom Corp. Interaction between echo canceller and packet voice processing
US6606382B2 (en) 2000-01-27 2003-08-12 Qualcomm Incorporated System and method for implementation of an echo canceller
US7139342B1 (en) * 2000-05-12 2006-11-21 National Semiconductor Corporation System and method for cancelling signal echoes in a full-duplex transceiver front end
US6928161B1 (en) 2000-05-31 2005-08-09 Intel Corporation Echo cancellation apparatus, systems, and methods
JP3693588B2 (ja) * 2000-11-01 2005-09-07 富士通株式会社 エコー抑制システム
GB0027238D0 (en) 2000-11-08 2000-12-27 Secr Defence Adaptive filter
US20020054685A1 (en) 2000-11-09 2002-05-09 Carlos Avendano System for suppressing acoustic echoes and interferences in multi-channel audio systems
KR20040019339A (ko) 2001-07-20 2004-03-05 코닌클리케 필립스 일렉트로닉스 엔.브이. 반향 억제기 및 확성기 빔 형성기를 구비한 사운드 보강시스템
US6836547B2 (en) 2001-12-20 2004-12-28 Motorol, Inc. Protecting an echo canceller against random transitions in echo paths
US6961422B2 (en) 2001-12-28 2005-11-01 Avaya Technology Corp. Gain control method for acoustic echo cancellation and suppression
US20030185402A1 (en) 2002-03-27 2003-10-02 Lucent Technologies, Inc. Adaptive distortion manager for use with an acoustic echo canceler and a method of operation thereof
US7388954B2 (en) 2002-06-24 2008-06-17 Freescale Semiconductor, Inc. Method and apparatus for tone indication
JP4161628B2 (ja) 2002-07-19 2008-10-08 日本電気株式会社 エコー抑圧方法及び装置
US6944289B2 (en) 2002-10-01 2005-09-13 Motorola, Inc. Delay insertion for echo cancellation, with echo supression, in a communication network
US7003099B1 (en) 2002-11-15 2006-02-21 Fortmedia, Inc. Small array microphone for acoustic echo cancellation and noise suppression
GB2395878A (en) 2002-11-29 2004-06-02 Mitel Knowledge Corp Method of capturing constant echo path information using default coefficients
US7420937B2 (en) * 2002-12-23 2008-09-02 Broadcom Corporation Selectively adaptable far-end echo cancellation in a packet voice system
GB2397990A (en) 2003-01-31 2004-08-04 Mitel Networks Corp Echo cancellation/suppression and double-talk detection in communication paths
US6947549B2 (en) 2003-02-19 2005-09-20 The Hong Kong Polytechnic University Echo canceller
US7054437B2 (en) 2003-06-27 2006-05-30 Nokia Corporation Statistical adaptive-filter controller
US7599432B2 (en) 2003-12-08 2009-10-06 Freescale Semiconductor, Inc. Method and apparatus for dynamically inserting gain in an adaptive filter system
GB2410661A (en) 2004-01-30 2005-08-03 Mitel Networks Corp Narrow band tone detection in echo cancelling system
US20060018460A1 (en) 2004-06-25 2006-01-26 Mccree Alan V Acoustic echo devices and methods
CN1716798B (zh) 2004-07-02 2011-03-02 朗迅科技公司 通信网络中消除回波的方法
US7433463B2 (en) 2004-08-10 2008-10-07 Clarity Technologies, Inc. Echo cancellation and noise reduction method
US7778408B2 (en) 2004-12-30 2010-08-17 Texas Instruments Incorporated Method and apparatus for acoustic echo cancellation utilizing dual filters
EP1708472B1 (en) 2005-04-01 2007-12-05 Mitel Networks Corporation A method of accelerating the training of an acoustic echo canceller in a full-duplex beamforming-based audio conferencing system
JP4256363B2 (ja) 2005-05-27 2009-04-22 株式会社東芝 ボイススイッチ
GB2427332B (en) 2005-06-16 2007-05-16 Trinity Convergence Inc Systems and methods for adaptive echo cancellation
US7773743B2 (en) 2006-04-28 2010-08-10 Microsoft Corporation Integration of a microphone array with acoustic echo cancellation and residual echo suppression
US8275120B2 (en) 2006-05-30 2012-09-25 Microsoft Corp. Adaptive acoustic echo cancellation
US7817797B2 (en) * 2006-06-07 2010-10-19 Mitel Networks Corporation Method and apparatus for detecting echo path changes in an acoustic echo canceller
US8014519B2 (en) 2007-04-02 2011-09-06 Microsoft Corporation Cross-correlation based echo canceller controllers
GB2448201A (en) 2007-04-04 2008-10-08 Zarlink Semiconductor Inc Cancelling non-linear echo during full duplex communication in a hands free communication system.
JPWO2009051197A1 (ja) 2007-10-19 2011-03-03 日本電気株式会社 エコー抑圧方法及び装置
KR101225556B1 (ko) 2008-08-25 2013-01-23 돌비 레버러토리즈 라이쎈싱 코오포레이션 프리-화이트닝을 사용한 lms 알고리즘에 의해 적응된 적응형 필터의 갱신된 필터 계수를 결정하기 위한 방법
EP2221983B1 (en) 2009-02-20 2011-08-31 Harman Becker Automotive Systems GmbH Acoustic echo cancellation
US8750491B2 (en) 2009-03-24 2014-06-10 Microsoft Corporation Mitigation of echo in voice communication using echo detection and adaptive non-linear processor
US8687797B2 (en) 2009-05-28 2014-04-01 Broadcom Corporation Method and system for a dual echo canceller
FR2946486B1 (fr) 2009-06-09 2012-04-20 Parrot Procede de detection d'une situation de double parole pour dispositif telephonique "mains libres"
US8625775B2 (en) 2009-08-06 2014-01-07 Hti Ip, L.L.C. Method and system for reducing echo and noise in a vehicle passenger compartment environment
JP5321372B2 (ja) 2009-09-09 2013-10-23 沖電気工業株式会社 エコーキャンセラ
US8571231B2 (en) 2009-10-01 2013-10-29 Qualcomm Incorporated Suppressing noise in an audio signal
CN102118530B (zh) * 2010-01-06 2013-08-14 杭州华三通信技术有限公司 一种回声消除的方法和装置
EP2561624A4 (en) 2010-04-22 2013-08-21 Ericsson Telefon Ab L M ECHO CANCER AND CORRESPONDING METHOD
US8787561B2 (en) 2010-04-27 2014-07-22 Freescale Semiconductor, Inc. Techniques for implementing adaptation control of an echo canceller to facilitate detection of in-band signals
US8619970B2 (en) 2010-06-16 2013-12-31 Lectrosonics, Inc. Echo cancellers and echo cancelling methods
EP2673778B1 (en) 2011-02-10 2018-10-10 Dolby Laboratories Licensing Corporation Post-processing including median filtering of noise suppression gains
US8644522B2 (en) 2011-03-31 2014-02-04 Broadcom Corporation Method and system for modeling external volume changes within an acoustic echo canceller
US8924337B2 (en) 2011-05-09 2014-12-30 Nokia Corporation Recursive Bayesian controllers for non-linear acoustic echo cancellation and suppression systems
WO2012166092A1 (en) 2011-05-27 2012-12-06 Google Inc. Control of adaptation step size and suppression gain in acoustic echo control
US9088336B2 (en) 2012-09-06 2015-07-21 Imagination Technologies Limited Systems and methods of echo and noise cancellation in voice communication
GB201309771D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo removal
GB201309779D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo removal
GB201309777D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo suppression

Also Published As

Publication number Publication date
WO2014194011A1 (en) 2014-12-04
EP2987313A1 (en) 2016-02-24
EP2987313B1 (en) 2017-02-22
CN105409191A (zh) 2016-03-16
GB201309773D0 (en) 2013-07-17
US20140357323A1 (en) 2014-12-04
CN105409191B (zh) 2018-11-30
US9467571B2 (en) 2016-10-11

Similar Documents

Publication Publication Date Title
ES2613492T3 (es) Supresión de eco
ES2619563T3 (es) Extracción de eco
US20200389717A1 (en) Headset on ear state detection
CN107211063B (zh) 非线性回波路径检测
ES2613494T3 (es) Reducción de ruido
US9591123B2 (en) Echo cancellation
US9449593B2 (en) Detecting nonlinear amplitude processing
US20160300563A1 (en) Active noise cancellation featuring secondary path estimation
JP2016536946A (ja) アクティブノイズキャンセル出力の制限
KR102169993B1 (ko) 에코 억제 기법
WO2014100794A1 (en) Echo suppression
KR102194165B1 (ko) 에코 제거기
US9172816B2 (en) Echo suppression
JP2016503262A (ja) エコー抑圧