ES2613494T3 - Reducción de ruido - Google Patents

Reducción de ruido Download PDF

Info

Publication number
ES2613494T3
ES2613494T3 ES14730310.1T ES14730310T ES2613494T3 ES 2613494 T3 ES2613494 T3 ES 2613494T3 ES 14730310 T ES14730310 T ES 14730310T ES 2613494 T3 ES2613494 T3 ES 2613494T3
Authority
ES
Spain
Prior art keywords
audio signal
gain
user terminal
processing module
level
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
ES14730310.1T
Other languages
English (en)
Inventor
Jesus De Vicente Pena
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 ES2613494T3 publication Critical patent/ES2613494T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K11/00Methods or devices for transmitting, conducting or directing sound in general; Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • G10K11/16Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Telephone Function (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Abstract

Un método de reducir ruido en un sistema acústico en bucle cerrado (100) que tiene una ganancia de sistema e incluyendo un primer terminal de usuario y al menos otro terminal de usuario (110), donde el primer terminal de usuario tiene un módulo de procesado de señal audio configurado para procesar señales audio capturadas y/o reproducidas por el terminal, incluyendo el método, en el primer terminal de usuario: recibir una señal audio del al menos único terminal de usuario adicional por una red de comunicaciones (106); y ejecutar una aplicación cliente de comunicación (206) en una unidad de procesado (202); caracterizado porque la aplicación cliente de comunicación está configurada de modo que, cuando sea ejecutada en dicha unidad de procesado: suministre la señal audio al módulo de procesado de señal audio (209) del primer terminal de usuario, donde el módulo de procesado de señal audio procesa la señal audio por lo que se aplica un nivel de ganancia a la señal audio que es desconocido para la aplicación cliente de comunicación, y envía una señal audio procesada a medios de salida audio (210) para ser reproducida por el primer terminal de usuario; estimar un nivel de ruido de la señal audio y la señal audio procesada y estimar el nivel de ganancia aplicado por el módulo de procesado de señal audio teniendo en cuenta ambas estimaciones de nivel de ruido; y aplicar selectivamente un paso de reducción de ganancia de sistema a al menos una de la señal audio y una señal audio de extremo próximo capturada mediante medios de entrada audio (212) del primer terminal de usuario, en base a al menos el nivel de ganancia estimado aplicado por el módulo de procesado de señal audio.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Reduccion de ruido Antecedentes
Los sistemas de comunicaciones permiten a los usuarios comunicarse entre s^ por una red. La red puede ser, por ejemplo, Internet o la red telefonica publica conmutada (PSTN). Las senales audio pueden ser transmitidas entre nodos de la red, para que por ello los usuarios puedan transmitir y recibir datos audio (tal como datos de voz) uno a otro en una sesion de comunicacion por el sistema de comunicaciones.
Un dispositivo de usuario puede tener un medio de entrada audio tal como un microfono que puede ser usado para recibir senales audio tal como voz de un usuario. El usuario puede entrar en una sesion de comunicacion con otro usuario, tal como una llamada privada (con solamente dos usuarios en la llamada) o una llamada de conferencia (con mas de dos usuarios en la llamada). La voz del usuario se recibe en el microfono, es procesada y a continuacion es transmitida por una red a los otros usuarios en la llamada. El dispositivo de usuario tambien puede tener medios de salida audio tal como altavoces para enviar a un usuario de extremo proximo senales audio que son recibidas por la red de un usuario de extremo lejano durante una llamada. Tales altavoces tambien se pueden usar para emitir senales audio de otras aplicaciones que son ejecutadas en el dispositivo de usuario, y que pueden ser captadas por el microfono como senales audio indeseadas que perturbanan las senales de voz del usuario de extremo proximo.
Ademas de las senales audio del usuario, el microfono tambien puede recibir otras senales audio, tal como ruido de fondo, que son indeseadas y que pueden perturbar las senales audio recibidas del usuario. El ruido de fondo puede contribuir a la perturbacion de la senal audio recibida en el microfono del usuario de extremo proximo para transmision en la llamada a un usuario de extremo lejano. Otra dificultad que puede surgir en un sistema acustico es el “silbido”. El silbido es un efecto indeseado que surge de realimentacion acustica en el sistema. Puede ser producido por varios factores y surge cuando la ganancia de sistema es alta.
US 2012/207327 A1 se refiere a un metodo de reducir el ruido en una senal recibida en una etapa de procesado de un sistema acustico que incluye, en la etapa de procesado, identificar al menos una frecuencia que hace que una ganancia de sistema del sistema acustico sea superior a una ganancia de sistema media del sistema acustico; proporcionar un factor de atenuacion de ruido para reducir el ruido en la senal para la al menos unica frecuencia, basandose el factor de atenuacion de ruido para la al menos unica frecuencia en la ganancia de sistema para dicha frecuencia; y aplicar el factor de atenuacion de ruido a un componente de la senal en dicha frecuencia.
WO 2010/106469 A1 se refiere a un sistema de procesado que incluye un sistema operativo que proporciona una interfaz a funciones de hardware para aplicaciones de una capa de aplicacion. El sistema operativo incluye un controlador de entrada audio que recibe datos de entrada audio de una entrada audio de hardware y proporciona datos de entrada audio procesados a la capa de aplicacion. Una funcion de bucle audio del sistema de procesado proporciona datos de bucle audio a la capa de aplicacion donde los datos de bucle audio son datos de salida audio para enviar por un puerto de salida de hardware. Una funcion de enlace de capa de aplicacion recibe los datos de bucle audio y los envfa al controlador de entrada audio que procesa los datos de entrada audio en respuesta a los datos de bucle audio.
Resumen
Este resumen se ofrece al objeto de presentar de forma simplificada una seleccion de conceptos 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 tiene la finalidad de ser usado para limitar el alcance de la materia reivindicada.
Se facilita un metodo de reducir el ruido en un sistema acustico incluyendo un primer terminal de usuario y al menos otro terminal de usuario. El primer terminal de usuario recibe una senal audio del al menos unico terminal de usuario adicional por una red de comunicaciones. El primer terminal de usuario incluye una unidad de procesado en la que se ejecuta una aplicacion cliente de comunicacion. La aplicacion cliente de comunicacion esta configurada de modo que, cuando sea ejecutada en la unidad de procesado, suministre la senal audio a un modulo de procesado de senal audio del primer terminal de usuario, donde el modulo de procesado de senal audio procesa la senal audio, por lo que se aplica un nivel de ganancia a la senal audio, y envfa una senal audio procesada a medios de salida audio del primer terminal de usuario. La aplicacion cliente de comunicacion esta configurada de modo que, cuando se ejecute en la unidad de procesado, estime un nivel de ruido de la senal audio y la senal audio procesada y estime la ganancia aplicada por el modulo de procesado de senal audio en base a una relacion de las estimaciones de nivel de ruido. La aplicacion cliente de comunicacion tambien esta configurada de modo que, cuando se ejecute en la unidad de procesado, aplique selectivamente un paso de reduccion de ganancia de sistema a al menos una de la senal audio y una senal audio de extremo proximo recibida mediante medios de entrada audio del primer terminal de usuario, en base a al menos la ganancia estimada aplicada por el modulo de procesado de senal audio.
5
10
15
20
25
30
35
40
45
50
55
60
65
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 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 1a representa una ilustracion esquematica de un sistema de comunicaciones.
La figura 1b es un diagrama de funcion esquematico de una tecnica de estimacion de ganancia.
La figura 2 es un diagrama esquematico de bloques de un dispositivo de usuario.
La figura 3 es un diagrama funcional esquematico de una tecnica de estimacion de ganancia.
Y la figura 4 es un diagrama de flujo para un proceso de aplicar selectivamente reduccion de ganancia de sistema.
Descripcion detallada
Ahora se describiran realizaciones a modo de ejemplo solamente.
La figura 1a 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 uno con otro 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 sistema 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, Windows™, Mac OS™ y Linux™ PCs), un dispositivo de juego, una television, un asistente digital personal (“PDA”) u otro dispositivo embebido capaz de conectar con la red 106. El dispositivo de usuario 104 esta dispuesto para recibir y enviar informacion de y al usuario 108 del dispositivo de usuario 110. El dispositivo de usuario 104 incluye medios de salida tal como una pantalla y altavoces. El dispositivo de usuario 104 tambien incluye medios de entrada tal 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 muchos mas usuarios y dispositivos de usuario pueden estar incluidos 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.
Tanto el primer dispositivo de usuario 104 como un segundo dispositivo de usuario 110 pueden realizar cancelacion de eco acustico. Hay dos formas principales de lograr cancelacion de eco acustico, siendo una la sustraccion de eco y siendo la otra la supresion de eco. A menudo se combinan estos dos acercamientos.
Uno de los retos en los sistemas de cancelacion de eco es reducir el silbido. El silbido es un smtoma de que hay realimentacion con una ganancia de sistema superior a 1 en algun lugar en el espectro de frecuencia. Reduciendo la ganancia de sistema a esta frecuencia, el silbido se parara. Un escenario tfpico donde el riesgo de silbido es alto es durante una llamada entre dispositivos manos libres. En dicho escenario, la ganancia de sistema (la suma de todas las ganancias en el establecimiento de comunicacion en bucle cerrado) puede ser superior a la unidad y por lo tanto
5
10
15
20
25
30
35
40
45
50
55
60
65
una senal que se pase a traves de los canceladores de eco puede circular por el sistema y ser amplificada en cada bucle.
El problema del silbido es mas relevante para sistemas de cancelacion de eco basados en supresion que para sistemas de cancelacion de eco basados en sustraccion. Incluso asf, si un sistema de cancelacion de eco basado en sustraccion no logra quitar todo el eco, tambien puede experimentar silbido.
La senal audio capturada por el microfono del primer dispositivo de usuario 104 es transmitida por la red 106 para reproduccion por el segundo dispositivo de usuario 110. El microfono del segundo dispositivo de usuario 110 captura un eco de la senal audio que fue transmitida por el primer dispositivo de usuario 104; si dicho eco no es cancelado por completo, entonces el segundo dispositivo de usuario 110 lo transmite de nuevo al primer dispositivo de usuario 104. Dicha senal recibida es reproducida a traves de los altavoces del primer dispositivo de usuario 104 y el microfono del primer dispositivo de usuario 104 captura un eco. Si el cancelador de eco en el primer dispositivo de usuario 104 no es capaz de quitar completamente dicho eco, la senal de eco es transmitida de nuevo al segundo dispositivo de usuario 110. Si durante dicho bucle, cualquier contenido de frecuencia de la senal audio original ha sufrido una ganancia superior a uno, se producira una condicion de silbido. El termino ganancia de sistema usado aqrn se refiere a la ganancia que se aplica a una senal audio durante dicho bucle, es decir, la combinacion de la ganancia en el primer dispositivo de usuario 104 y la ganancia en el segundo dispositivo de usuario 110.
Los dispositivos tienen tfpicamente un modulo de procesado de senal audio dedicado (tal como una tarjeta de sonido) ademas de un procesador local en el dispositivo. Este modulo de procesado de senal audio realiza funciones de procesado audio para el dispositivo de usuario tal como conversion analogica a digital (ADC) de senales audio capturadas en un microfono y conversion digital a analogica (DAC) de senales audio para reproduccion desde un altavoz. Para usar el modulo de procesado de senal audio, un sistema operativo (OS) ejecutado en el procesador local en el dispositivo requiere tfpicamente software espedfico. Por ejemplo, para usar una tarjeta de sonido, un OS requiere tfpicamente un controlador espedfico de tarjeta de sonido (un programa de software que maneja las conexiones de datos entre el hardware ffsico de la tarjeta de sonido y el sistema operativo).
Es comun que este software (es decir, los controladores de tarjeta de sonido) introduzcan efectos en la senal reproducida (es decir, la senal a emitir por un altavoz) con el fin de maximizar la experiencia del usuario (por ejemplo, efectos de mejora de sonoridad incluidos en los controladores). Dichos efectos se logran mediante modulos de procesado de senal en el modulo de procesado de senal audio cuya funcionalidad es desconocida para las aplicaciones (es decir, un cliente de comunicacion) ejecutadas en un procesador local en el dispositivo que usan el sistema de reproduccion disponible en el OS. Sin embargo, algunos sistemas operativos incluyen funcionalidad para realimentar la senal que va a ser reproducida, a la aplicacion ejecutada en el procesador local. Los ejemplos de sistemas operativos que incluyen esta funcionalidad son los sistemas operativos de Microsoft Windows 7, 8, XP y Vista Windows Phone 8. Esta senal que es realimentada a la aplicacion ejecutada en el procesador local se denomina aqrn en adelante una “senal de bucle”.
El uso de tal modulo de procesado de senal audio dedicado en combinacion con un sistema de cancelacion de eco introduce algunos problemas. Espedficamente, el modulo de procesado de senal audio dedicado cambia la ganancia que se aplica a una senal audio que es enviada por una aplicacion ejecutada en el procesador local antes de reproducirse en un altavoz. Este cambio de ganancia es desconocido para la aplicacion ejecutada en el procesador local y por ello puede afectar a la ganancia de sistema y aumentar el riesgo de que el cancelador de eco entre en un estado de silbido.
Se hace referencia ahora a la figura 1b que representa un esquema simplificado de un dispositivo de usuario en un sistema de comunicaciones donde una senal audio es procesada por hardware dedicado de procesado de senal audio antes de ser reproducida en una senal de altavoz.
Con el fin de evitar el silbido, las ganancias de sistema en el establecimiento de comunicacion en bucle cerrado tienen que ser rastreadas y mantenidas por debajo de uno. Para ello, un dispositivo de usuario estima la ganancia introducida por la funcionalidad de procesado de senal implementada en el dispositivo de usuario en un procesador local. La funcionalidad de procesado de senal implementada ejecutando un cliente de comunicacion en el procesador local de un dispositivo se representa contenida en el recuadro de trazos de la figura 1b. Como se representa en la figura 1b, la funcionalidad de procesado de senal implementada ejecutando un cliente de comunicacion en el procesador local de un dispositivo puede incluir control de ganancia digital, supresion de eco y reduccion de ruido. Cada componente de procesado de senal introduce ganancia que contribuye a la ganancia total de sistema. La ganancia introducida por cada componente de procesado de senal se representa por 9 y se usa para estimacion de ganancia de sistema. La estimacion de ganancia de sistema tambien toma en cuenta ganancias de recorrido de eco modeladas usando la senal audio recibida y(t) y una senal de referencia.
Para modelar las ganancias de recorrido de eco y estimar el eco capturado por un microfono, se necesita una senal de referencia. Con referencia a la figura 1b (donde el OS incluye funcionalidad para realimentar la senal que va a ser reproducida, a un cliente de comunicacion ejecutado en el dispositivo de usuario), se puede ver que dos senales posibles pueden ser consideradas como senales de referencia.
5
10
15
20
25
30
35
40
45
50
55
60
65
La primera senal que puede ser considerada una senal de referencia es la senal etiquetada como “senal de extremo lejano”. Esta senal representa la senal audio que un cliente de comunicacion envfa para salida por un altavoz. Usar la senal de extremo lejano como una referencia tiene la ventaja de que cualquier procesado realizado por el modulo de procesado de senal audio se toma en cuenta cuando se estima el recorrido de eco. Sin embargo, dado que el procesado implementado por el modulo de procesado de senal audio es a menudo altamente no lineal y dependiente de senal, es sumamente diffcil obtener buenas estimaciones para el eco recorridos que sean validos.
La segunda senal que puede ser considerada una senal de referencia es la senal etiquetada como “senal de bucle”. Como se ha descrito anteriormente, esta es la senal que el OS realimenta al cliente de comunicacion y que ha sido afectada por el procesado que el modulo de procesado de senal audio aplica a la senal antes de salir por un altavoz. Usar la senal de realimentacion como la senal de referencia evita el problema de forzar la estimacion de recorrido de eco para intentar que estime el procesado realizado por el modulo de procesado de senal audio. Sin embargo, el inconveniente es que la senal a menudo ha sido modificada de forma no lineal de tal manera que las senales de nivel bajo (es decir, de amplitud baja) son amplificadas mas que las senales de nivel alto (es decir, amplitud alta), haciendo sumamente diffcil usar esta senal para estimar la ganancia de sistema.
Segun los metodos aqrn descritos, la ganancia introducida por el modulo de procesado de senal audio se estima usando los niveles de ruido de la senal de extremo lejano antes de y despues del procesado. Esta informacion es utilizada por el sistema de cancelacion de eco para asegurar que la ganancia de sistema este por debajo de uno, y por lo tanto reduce el riesgo de silbido.
Estimando la ganancia aplicada por el modulo de procesado de senal audio para al menos una frecuencia, un paso de reduccion de ganancia de sistema puede ser aplicado selectivamente por el cliente de comunicacion a dicha frecuencia.
Aunque es posible obtener una reduccion del silbido atenuando solamente una frecuencia que probablemente predispone el sistema acustico a silbido, es especialmente ventajoso calcular una ganancia local respectiva o una ganancia de sistema del sistema acustico para cada una de una pluralidad de frecuencias en la senal recibida. Esto es debido a que se introducira un efecto de silbido en el sistema acustico si algun componente de frecuencia de una senal audio en el establecimiento de comunicacion en bucle cerrado tiene una ganancia de sistema superior a uno.
En las realizaciones aqrn descritas, la ganancia aplicada por el modulo de procesado de senal audio es estimada para cada una de una pluralidad de frecuencias, y un paso de reduccion de ganancia de sistema puede ser aplicado selectivamente por el cliente de comunicacion en cada una de la pluralidad de frecuencias. Asf se evita silbido asegurando que las ganancias de sistema para todos los componentes de frecuencia de una senal audio en el establecimiento de comunicacion en bucle cerrado sean rastreadas y se mantengan por debajo de uno.
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 tal 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, 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 sobre el sistema de comunicaciones. El cliente 206 tiene una interfaz de usuario cliente que se usa para presentar informacion al usuario 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.
Con referencia a las figuras 3 y 4 ahora se describe un metodo de aplicar selectivamente reduccion de ganancia de sistema. La figura 3 es un diagrama funcional de una parte del dispositivo de usuario 104 que representa como se implementa un proceso de reduccion de ganancia de sistema.
5
10
15
20
25
30
35
40
45
50
55
60
65
Como se representa en la figura 3, el dispositivo de usuario 104 incluye el altavoz 210, el microfono 212, y un modulo de procesado de senal 300. El modulo de procesado de senal 300 (representado como el recuadro de trazos en la figura 3) representa la funcionalidad de procesado de senal implementada ejecutando aplicacion cliente de comunicacion 206 en la CPU 202 del dispositivo 104. El modulo de procesado de senal 300 puede incluir modulos de ganancia digital 302/312, un modulo de modelado 304 incluyendo un modulo filtro, un modulo de estimacion de nivel de ruido 306, un modulo de reduccion de ruido 308, un modulo de supresion de eco 310 y un modulo de estimacion de ganancia de sistema 314. La funcionalidad de procesado de senal implementada ejecutando una aplicacion cliente de comunicacion 206 puede incluir mas o menos funcionalidad que la representada en la figura 3. El dispositivo de usuario 104 incluye ademas un modulo de procesado de senal audio
209.
La figura 4 es un diagrama de flujo para el proceso de aplicar selectivamente reduccion de ganancia de sistema.
Una senal a emitir por el altavoz 210 esta acoplada a una entrada del modulo de ganancia digital 302. Una salida del modulo de ganancia digital 302 (denotada “senal de extremo lejano”) esta acoplada a una entrada del modulo de procesado de senal audio 209. Una salida del modulo de procesado de senal audio 209 esta acoplada al altavoz
210. Se debera indicar que en las realizaciones aqrn descritas solamente hay 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 su emision). 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 de un microfono que reciba senales audio del entorno circundante. La salida del modulo de procesado de senal audio 209 tambien esta acoplada a una primera entrada del modulo de modelado 304 y a una primera entrada del modulo de estimacion de nivel de ruido 306. La salida del modulo de ganancia digital 302 esta acoplada a una segunda entrada del modulo de estimacion de nivel de ruido 306. Una salida del microfono 212 esta acoplada al modulo de procesado de senal 300. En particular, la salida del microfono 212 esta acoplada a una entrada del modulo de reduccion de ruido 308. La salida del microfono 212 tambien esta acoplada a una segunda entrada del modulo de modelado 304. Una salida del modulo de modelado 304 esta acoplada a una primera entrada del modulo de estimacion de ganancia de sistema 314. Una salida del modulo de estimacion de nivel de ruido 306 esta acoplada a una segunda entrada del modulo de estimacion de ganancia de sistema 314. Una salida del modulo de modelado 304 esta acoplada a una primera entrada del modulo de supresion de eco 310. Una salida del modulo de reduccion de ruido 308 esta acoplada a una segunda entrada del modulo de supresion de eco 310. Una salida del modulo de supresion de eco 310 esta acoplada a una entrada del modulo de control de ganancia 312. Una salida del modulo de control de ganancia 312 se usa para proporcionar la senal recibida (con cancelacion de eco aplicada) 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 ha sido recibida en el dispositivo de usuario 104 en la interfaz de red 220 del dispositivo de usuario 110 durante una llamada entre los usuarios 102 y 108 por el sistema de comunicaciones 100. En otras realizaciones, la senal a emitir puede recibirse de algun lugar distinto de por el sistema de comunicaciones 100 en una llamada. Por ejemplo, la senal a emitir puede haberse almacenado en la memoria 214 y el paso S402 puede incluir recuperar la senal de la memoria 214.
El modulo de ganancia digital 302 puede aplicar un nivel de ganancia a la senal de extremo lejano antes de que la senal de extremo lejano sea suministrada al modulo de procesado de senal audio 209.
En el paso S404, la senal de extremo lejano es procesada por el modulo de procesado de senal audio 209. Es decir, el modulo de procesado de senal audio 209 realiza conversion digital a analogica (DAC) de la senal de extremo lejano y procesa la senal de extremo lejano segun efectos introducidos por software ejecutado en la CPU 204 antes de enviar la senal audio procesada al altavoz 210. El procesado aplicado por el modulo de procesado de senal audio 209 puede ser variable en el tiempo y puede ser diferente para la regiones de voz de regiones con ruido de la senal de extremo lejano. El procesado implementado por el modulo de procesado de senal audio 209 puede incluir compresion, por lo que se aplican ganancias diferentes a la senal de extremo lejano dependiendo del nivel de entrada de la senal de extremo lejano.
En el paso S406, la senal audio que ha sido procesada por el modulo de procesado de senal audio 209 es emitida por el altavoz 210. De esta forma, la senal audio que ha sido procesada por el modulo de procesado de senal audio 209 es emitida al usuario 102.
En el paso S408, 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 S406. La senal audio recibida tambien puede incluir ruido, tal como ruido de fondo. Por lo tanto, la senal audio recibida total y(t) puede venir dada por 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. Aunque no se representa en la figura 3, se aplica conversion analogica a digital (ADC) a la senal capturada por el microfono 212 para llegar a la senal digital y(t).
5
10
15
20
25
30
35
40
45
50
55
60
65
El modulo de modelado 304 toma como entradas la senal audio emitida (denotada “senal de bucle”) y la senal audio recibida y(t). En el paso S410, el modulo de modelado 304 se usa para modelar el recorrido de eco del eco en la senal audio recibida y(t).
El recorrido de eco describe los efectos de los recorridos acusticos que recorren las senales audio salidas del altavoz 210 al microfono 212. La senal audio 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 audio salida del altavoz 210 puede ser considerado como un sistema que tiene una frecuencia y una respuesta de fase que pueden variar con el tiempo.
Para 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 a un componente de eco indeseado en la senal de entrada.
El recorrido de eco h(t) describe como el eco en la senal audio recibida y(t) se refiere a la senal de bucle x(t) salida del altavoz 201, por ejemplo, para un recorrido de eco lineal representado por la respuesta de impulso h(t) o su contrapartida en el dominio de frecuencia H(u>), la ecuacion siguiente describe la relacion entre el eco y la senal de bucle: S(ro)=H(u>)X(u>) donde S(ro) se refiere a la respuesta de frecuencia de la senal de eco, s(t), y X(ro) se refiere a la respuesta de frecuencia de la senal de bucle, x(t). El recorrido de eco tambien podna variar con el tiempo y, por lo tanto, se pueden hallar diferentes respuestas de frecuencia, H(u>) en diferentes instancias de tiempo. El recorrido de eco h(t), o su contrapartida H(ro), 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), (ii) caractensticas del altavoz 210 y/o el microfono 212 que pueden alterar la senal emitida y/o recibida, y (iii) cualquier otro proceso de la senal que podna no reflejarse en la senal de bucle, por ejemplo,, retardos de memoria intermedia.
El modulo filtro 304 modela el recorrido de eco h(t) del recorrido de eco en la senal audio recibida y(t). Esto se realiza tfpicamente haciendo una estimacion del filtro en el dominio de tiempo o en el dominio de frecuencia. Usando dicha estimacion y la senal de bucle actual, es posible estimar los parametros que seran usados por el cancelador de eco. Dichos parametros podnan ser, por ejemplo, las ganancias de supresion que se aplican al espectro de extremo proximo con el fin de quitar el eco (canceladores de eco en base a supresion) o los parametros de filtro que producen la estimacion de eco que se tiene que restar de la senal de extremo proximo con el fin de quitar el eco (canceladores de eco basados en sustraccion). La realizacion actual esta especialmente adaptada para un cancelador de eco basado en supresion, sin embargo, tambien es posible utilizarla en canceladores de eco basados en sustraccion dado que la ganancia de frecuencia introducida por el sustractor de eco se puede estimar.
En cualquier caso, canceladores de eco basados en supresion, sustraccion o una version hnbrida de ambas, los parametros de filtro que son modelados por el modulo filtro 304 se preparan mejor cuando el eco es la parte dominante de la senal audio recibida, que es cuando y(t)-s(t).
La estimacion del recorrido de eco se realiza durante actividad de extremo lejano; la actividad de extremo lejano es detectada por un detector de actividad de voz (VAD) (un componente del modulo de procesado de senal 300 no representado en la figura 3) que detecta cualidades a modo de voz en la senal de extremo lejano. Por lo tanto, la estimacion del recorrido de eco se basa principalmente en senales de alta energfa puesto que estas son las senales que disparan el VAD. Tfpicamente, el VAD mantiene un umbral, y las senales de alta energfa son aquellas con energfa por encima de la cantidad umbral por encima del ruido de fondo, es decir, el umbral que determina si el cuadro actual tiene suficiente energfa para disparar el VAD depende del ruido de fondo presente en la senal de extremo lejano. Para usar terminologfa conocida, hacemos referencia a VAD como al modulo que detecta actividad. Sin embargo, se debera indicar que este modulo no se limita a detectar senales de voz, sino cualquier senal cuyo eco esperado sea perturbador si pasa a traves del cancelador de eco. Como se ha senalado anteriormente, dicho modulo se basa a menudo en detectar senales con una energfa mas alta que el ruido de fondo. El modulo de estimacion de ganancia de sistema 314 esta dispuesto para recibir el recorrido de eco estimado del modulo de modelado 304.
Identificar la ganancia introducida por el modulo de procesado de senal audio 209 es posible que el sistema de cancelacion de eco asegure que la ganancia de sistema este por debajo de uno, y por lo tanto reducir el riesgo de silbido. Este proceso se describe ahora.
Dado que el procesado de senal que se aplica a la senal de extremo lejano en el modulo de procesado de senal audio 209 es generalmente variable en el tiempo y dependiente de nivel, es importante seleccionar el tipo apropiado de senales para estimar la contribucion del modulo de procesado de senal audio 209 a la ganancia de sistema. Para reduccion del silbido, la ganancia se aplica sobre senales de baja energfa que son las mas relevantes puesto que estas son las senales que son amplificadas tfpicamente por los sistemas que experimentan silbido. Con senales de baja energfa nos referimos a las senales con una energfa comparable al ruido de fondo presente en la senal de extremo lejano. Dado que las senales de baja energfa tienen una energfa comparable al nivel de ruido de fondo en
5
10
15
20
25
30
35
40
45
50
55
60
la senal de extremo lejano, el VAD en el extremo lejano no se dispara (las senales de baja energfa no son detectadas como voz) y el supresor de eco es inactivo durante dichas regiones.
El modulo de estimacion de nivel de ruido 306 recibe la senal de extremo lejano y la senal de bucle como entradas. En el paso S412, el modulo de estimacion de nivel de ruido 306 determina una estimacion de nivel de ruido (NLFarena(f)) de la senal de extremo lejano (es decir, antes del procesado de senal por el modulo de procesado de senalizacion externa 209). En el paso S414, el modulo de estimacion de nivel de ruido 306 determina una estimacion de nivel de ruido (NLLoopback(f)) de la senal de bucle (es decir, despues del procesado de senal por el modulo de procesado de senalizacion externa 209). Las posibles tecnicas implementadas por el modulo de estimacion de nivel de ruido 306 para determinar estimaciones de nivel de ruido NLFarena(f) y NLLoopback(f) son conocidas por los expertos en la tecnica y por lo tanto no se explican aqu en detalle.
En el paso S416, el modulo de estimacion de nivel de ruido 306 estima la ganancia de bucle, LG(f), que es una estimacion de la ganancia introducida por el modulo de procesado de senal audio 209 teniendo en cuenta las estimaciones de nivel de ruido NLFarena(f) y NLLoopback(f). Por ejemplo, el modulo de estimacion de nivel de ruido 306 puede determinar una relacion entre las estimaciones de nivel de ruido NLFarena(f) y NLLoopback(f) con el fin de estimar un valor para la ganancia de bucle, LG(f). Es decir:
imagen1
Asf, la estimacion de la ganancia introducida por el modulo de procesado de senal audio 209 se basa en la relacion entre las estimaciones de nivel de ruido de la senal de bucle y de la senal audio que el cliente de comunicacion envfa para emision por el altavoz 210.
El procesado de senal puede ser realizado en base por cuadro. Los cuadros pueden tener, por ejemplo, entre 5 y 20 milisegundos de longitud y estar divididos en puntos de frecuencia espectral, por ejemplo, entre 64 y 256 puntos por cuadro. Cada punto contiene informacion acerca de un componente de senal en una cierta frecuencia, o en una cierta banda de frecuencias. Idealmente, para voz, cada cuadro de la senal de extremo lejano es procesada en tiempo real y la ganancia introducida por el modulo de procesado de senal audio para cada punto de frecuencia es estimada para controlar el nivel de ganancia aplicado por la funcionalidad de procesado de senal para dicho punto de frecuencia implementado ejecutando una aplicacion cliente de comunicacion.
Un estimador de ruido estima tfpicamente el ruido de los penodos de silencio en la senal de voz y, por lo tanto, la estimacion de nivel de ruido NLFarena(f) representa las porciones de la senal de extremo lejano que tienen valores de amplitud mas baja que tendran una ganancia alta introducida por alguna funcionalidad de compresor en el modulo de procesado de senal audio 209, y la estimacion de nivel de ruido NLLoopback(f) representa las porciones de la senal de bucle que tienen los valores de amplitud mas bajos y por ello se les ha aplica una ganancia alta en alguna funcionalidad de compresor en el modulo de procesado de senal audio 209.
En particular, la estimacion de la ganancia de bucle aplicada por el modulo de procesado de senal audio 209 se implementa usando porciones de la senal de extremo lejano audio que tienen una energfa que no dispara el VAD, es decir, que tienen una energfa que no excede de una cantidad umbral por encima del nivel de ruido estimado de la senal audio.
Identificando la ganancia introducida por el modulo de procesado de senal audio 209 en base a la relacion de estos niveles de ruido, la ganancia de sistema, que puede ser usada para controlar la reduccion de silbido, puede ser rastreada incluso en regiones sin extremo lejano activo. Ademas, el modulo de procesado de senal audio 209 puede tener una ganancia que depende del nivel de senal; efectuando seguimiento de la relacion de niveles de ruido, es posible estimar la ganancia que a aplica a las senales de nivel bajo, que es la ganancia mas relevante para evitar condiciones de silbido.
El nivel de ruido de la senal de extremo lejano tambien es utilizado tfpicamente por canceladores de eco basados en supresion de eco en el modulo VAD con el fin de determinar si deberan cancelar el eco, o dejar pasar el eco con ruido (cancelar todo el eco que consta solamente de ruido produce tfpicamente un desvanecimiento excesivo). Por lo tanto es de especial importancia que la ganancia de sistema, y en este caso en particular la ganancia de bucle, sea estimada correctamente con respecto a las senales de nivel bajo, dado que este eco con ruido, por el diseno del cancelador de eco, nunca sera cancelado tfpicamente por el cancelador de eco.
Aunque la estimacion de ganancia de bucle basada en nivel de ruido no sea una buena estimacion de la ganancia de bucle maxima, no obstante es suficiente para asegurar que la ganancia de sistema sea estimada correctamente con relacion al ruido, lo que, a su vez, asegura que el ruido no de lugar a silbido. Si la ganancia real aplicada por el modulo de procesado de senal audio 209 fuese mas alta para las senales audio de nivel inferior, esto sena aceptable dado que el ruido en estas senales audio de nivel inferior se producira raras veces porque, de otro modo, el estimador de ruido cambiana su estimacion hacia dichos niveles bajos.
5
10
15
20
25
30
35
40
45
50
55
60
65
Ademas, si la ganancia fuese mas alta para senales audio de nivel mas alto, esto tambien sena aceptable dado que la acumulacion de silbido para estos niveles de senal sera manejada por el supresor de eco 310. Es dedr, las senales audio de nivel de entrada alto seran suprimidas por el supresor de eco 310, por lo tanto las senales audio de nivel de entrada alto no seran capaces de disparar el silbido. Sin embargo, el supresor de eco 310 no realizara supresion de eco en las senales de entrada de nivel bajo si no son detectadas como voz y, por lo tanto, este tipo de senales es el que mas probablemente introducira silbido.
El modulo de estimacion de nivel de ruido 306 puede realizar la estimacion de nivel de ruido que necesitan otros modulos en el modulo de procesado de senal 300, por ejemplo, en el VAD referido anteriormente. Por lo tanto, las realizaciones aqrn descritas tienen un costo computacional bajo. Ademas, los niveles de ruido estacionario son tfpicamente bastante sencillos y robustos de estimar y por ello las realizaciones aqrn descritas tambien son robustas.
El modulo de estimacion de ganancia de sistema 314 esta dispuesto para recibir del modulo de estimacion de nivel de ruido 306 el valor estimado para la ganancia de bucle LG(f).
En el paso S418, el modulo de estimacion de ganancia de sistema 314 esta dispuesto para controlar el nivel de ganancia aplicado en la funcionalidad de procesado de senal implementado ejecutando la aplicacion cliente de comunicacion 206.
En particular, el modulo de estimacion de ganancia de sistema 314 se puede disponer de manera que estime la ganancia total introducida en el lado de dispositivo de usuario 104 del establecimiento de comunicacion en bucle cerrado. Es decir, el modulo de estimacion de ganancia de sistema 314 esta dispuesto para estimar la ganancia total introducida en el dispositivo de usuario 104 en base a las ganancias de recorrido de eco estimadas recibidas del modulo de modelado 304, el valor para la ganancia de bucle, LG(f), recibido del modulo de estimacion de nivel de ruido 306 y una senal 91. La senal 91 representa la ganancia total introducida por la funcionalidad de procesado de senal implementada en el dispositivo de usuario 104 (por ejemplo, las ganancias introducidas por los bloques de control de ganancia digital 302/312, el bloque de reduccion de ruido 308, y el modulo de supresion de eco 310). La ganancia total introducida en el lado de dispositivo de usuario 104 del establecimiento de comunicacion en bucle cerrado se puede estimar multiplicando todas las ganancias que se aplican en el lado de dispositivo de usuario 104 del establecimiento de comunicacion en bucle cerrado.
Como se ha descrito anteriormente, con el fin de evitar el silbido, las ganancias de sistema en el establecimiento de comunicacion en bucle cerrado tienen que ser rastreadas y mantenidas por debajo de uno. Usando las ganancias de recorrido de eco estimadas recibidas del modulo de modelado 304, el valor para la ganancia de bucle, LG(f), recibido del modulo de estimacion de nivel de ruido 306 y la senal 91, el modulo de estimacion de ganancia de sistema 314 es capaz de determinar una estimacion de la ganancia introducida en el lado de dispositivo de usuario 104 del establecimiento de comunicacion en bucle cerrado.
La estimacion de la ganancia introducida en el lado de dispositivo de usuario 104 del establecimiento de comunicacion en bucle cerrado variara con la frecuencia.
El modulo de estimacion de ganancia de sistema 314 se puede disponer para controlar selectivamente la ganancia aplicada en un modulo de procesado de senal del dispositivo de usuario 104 que contribuye a la ganancia de sistema en base a la estimacion determinada de la ganancia introducida en el lado de dispositivo de usuario 104 del establecimiento de comunicacion en bucle cerrado con el fin de mantener la ganancia de sistema por debajo de uno. Es decir, incluso sin una indicacion de la ganancia introducida en el lado de dispositivo de usuario 110 del establecimiento de comunicacion en bucle cerrado, la estimacion determinada de la ganancia introducida en el lado de dispositivo de usuario 104 del establecimiento de comunicacion en bucle cerrado proporciona una indicacion relativa al riesgo de que tenga lugar una condicion de silbido.
El modulo de estimacion de ganancia de sistema 314 puede estimar la ganancia introducida en el lado de dispositivo de usuario 104 del establecimiento de comunicacion en bucle cerrado y compararla con un nivel umbral predeterminado, y si excede del umbral predeterminado, el modulo de estimacion de ganancia de sistema 314 es capaz de determinar que es alto el riesgo de que tenga lugar una condicion de silbido y de controlar la ganancia aplicada en uno o varios modulos de procesado de senal del dispositivo de usuario 104 que contribuye a la ganancia de sistema. Este nivel umbral predeterminado puede ser por ejemplo un valor mayor o igual a 0,5.
El dispositivo de usuario 104 tambien puede recibir mediante interfaz de red 220 una senal 92 que proporciona una estimacion de la ganancia introducida en el lado de dispositivo de usuario 110 del establecimiento de comunicacion en bucle cerrado transmitido por la red de comunicaciones 106 del dispositivo de usuario 110. La senal 02 puede ser suministrada al modulo de estimacion de ganancia de sistema 314. Recibiendo el recorrido de eco estimado del modulo de modelado 304, el valor para la ganancia de bucle, LG(f), del modulo de estimacion de nivel de ruido 306 y las senales 91 y 92, el modulo de estimacion de ganancia de sistema 314 es capaz de determinar una estimacion de la ganancia de sistema del establecimiento de comunicacion en bucle cerrado. La ganancia de sistema se puede estimar multiplicando todas las ganancias que se aplican en el sistema.
5
10
15
20
25
30
35
40
45
50
55
60
65
La estimacion de la ganancia de sistema del establecimiento de comunicacion en bucle cerrado variara con la frecuencia.
El modulo de estimacion de ganancia de sistema 314 puede estimar la ganancia de sistema del establecimiento de comunicacion en bucle cerrado y compararla con un nivel umbral predeterminado, y si excede del umbral predeterminado, el modulo de estimacion de ganancia de sistema 314 es capaz de controlar la ganancia aplicada en uno o varios modulos de procesado de senal de dispositivo de usuario 104 que contribuye a la ganancia de sistema. Este nivel umbral predeterminado sena idealmente igual a 1. Sin embargo, puede ser conveniente bajarlo con el fin de tomar en cuenta las posibles inexactitudes en la estimacion de cada bloque de ganancias.
El modulo de estimacion de ganancia de sistema 314 puede controlar la cantidad de ganancia aplicada en el modulo de control de ganancia digital 302 en base a su estimacion de la ganancia introducida en el lado de dispositivo de usuario 104 del establecimiento de comunicacion en bucle cerrado o su estimacion de la ganancia de sistema del establecimiento de comunicacion en bucle cerrado.
El modulo de estimacion de ganancia de sistema 314 puede controlar la cantidad de ganancia aplicada en el modulo de reduccion de ruido 308 en base a su estimacion de la ganancia introducida en el lado de dispositivo de usuario 104 del establecimiento de comunicacion en bucle cerrado o su estimacion de la ganancia de sistema del establecimiento de comunicacion en bucle cerrado.
El modulo de reduccion de ruido 308 esta dispuesto para bajar el nivel de ruido de la senal de microfono y(t) sin afectar a la calidad de senal de voz de la senal de microfono y(t). Varias tecnicas de reduccion de ruido son conocidas por los expertos en la tecnica al objeto de eliminar ruido. La sustraccion espectral es uno de estos metodos para mejorar la voz en presencia de ruido. La sustraccion espectral usa estimaciones del espectro de ruido y el espectro de voz con ruido para formar una funcion de ganancia basada en senal a ruido (SNR) que se multiplica con el espectro de entrada para suprimir frecuencias que tienen una SNR baja. Ademas, dicha ganancia se limita con el fin de evitar distorsiones de voz cuando el ruido es sobresuprimido. La finalidad de este proceso es obtener una senal audio que contenga menos ruido que el original. El modulo de estimacion de ganancia de sistema 314 puede controlar la cantidad de ganancia aplicada a la senal de microfono y(t) en el proceso de sustraccion espectral en base a su estimacion de la ganancia introducida en el lado de dispositivo de usuario 104 del establecimiento de comunicacion en bucle cerrado o su estimacion de la ganancia de sistema del establecimiento de comunicacion en bucle cerrado.
El modulo de estimacion de ganancia de sistema 314 puede controlar la cantidad de ganancia aplicada en el modulo de supresion de eco 310 en base a su estimacion de la ganancia introducida en el lado de dispositivo de usuario 104 del establecimiento de comunicacion en bucle cerrado o su estimacion de la ganancia de sistema del establecimiento de comunicacion en bucle cerrado.
Un modulo filtro en el modulo de modelado 304 estima, en base a la senal de bucle y el recorrido de eco, las contribuciones del componente de eco a la senal de extremo proximo y(t). En una implementacion ejemplar, el modulo filtro en el modulo de modelado 304 filtra la senal de bucle 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.
El modulo de supresion de eco 310 esta dispuesto para aplicar supresion de eco a las regiones de tiempo- frecuencia de la senal audio recibida y(t) que son dominadas por el eco. La finalidad del supresor de eco 310 es suprimir el eco de altavoz presente en la senal de microfono, por ejemplo, en un cliente VoIP, a un nivel suficientemente bajo para que no sea observable/perturbador en presencia de los sonidos de extremo proximo (sonidos no eco) captados por el microfono 212. 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 310 puede ser implementado de formas diferentes. Como tales, por lo tanto, los detalles exactos del metodo de supresion de eco no se describen aqu en detalle.
El modulo de supresion de eco 310 esta dispuesto para recibir como entrada la estimacion del componente de eco en la senal de extremo proximo y(t) y la senal de microfono y(t) despues de la reduccion de ruido implementado por el modulo de reduccion de ruido 308. El modulo de supresion de eco 310 esta dispuesto para determinar la potencia del eco estimado y la potencia de la senal de microfono y(t)) despues de la reduccion de ruido. En el modulo de supresion de eco 310, la potencia de eco estimada se usa juntamente con la potencia determinada de la senal de microfono y(t), y otras posibles medidas, para formar ganancias de supresion de eco G(t,f) para tiempo t y frecuencia f. Las otras medidas posibles pueden incluir, aunque sin limitacion, informacion acerca de la exactitud del filtro, e informacion acerca de las no linealidades. Una ganancia de supresion de eco G(t,f) para tiempo t y frecuencia f es la relacion de la potencia de la senal de salida a la potencia de la senal de entrada del modulo de supresion de eco 310. Estas ganancias de supresion de eco tienen la finalidad de suprimir cualquier eco s(t) en la senal de microfono y(t) a un nivel tal que no sean observables en presencia de la senal de extremo proximo en la entrada de microfono.
El modulo de estimacion de ganancia de sistema 314 puede controlar el nivel de las ganancias de supresion de eco
5
10
15
20
25
30
35
40
45
50
55
60
65
en base a su estimacion de la ganancia introducida en el lado de dispositivo de usuario 104 del establecimiento de comunicacion en bucle cerrado o su estimacion de la ganancia de sistema del establecimiento de comunicacion en bucle cerrado.
El modulo de supresion de eco 310 envfa la senal recibida, con el eco que ha sido suprimido, para procesado adicional en el modulo de control de ganancia digital 312.
El modulo de estimacion de ganancia de sistema 314 puede controlar la cantidad de ganancia aplicada en el modulo de control de ganancia digital 312 en base a su estimacion de la ganancia introducida en el lado de dispositivo de usuario 104 del establecimiento de comunicacion en bucle cerrado o su estimacion de la ganancia de sistema del establecimiento de comunicacion en bucle cerrado.
La senal salida del modulo de control de ganancia digital 312 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. Adicional o alternativamente, la senal salida del modulo de control de ganancia digital 312 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.
En las realizaciones descritas anteriormente, la extraccion de eco se implementa en un sistema VoIP (por ejemplo, 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, el metodo de estimacion de ganancia de bucle descrito aqrn se puede aplicar en cualquier sistema adecuado en el que se haya de aplicar reduccion de silbido.
En las realizaciones descritas anteriormente, el sistema acustico 100 incluye solamente dos dispositivos de usuario. Sin embargo, se apreciara que el metodo de reduccion de silbido en base a estimacion de ganancia de bucle aqrn descrito puede aplicarse en sistemas acusticos incluyendo mas de dos dispositivos de usuario.
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 reducir el ruido en un sistema acustico incluyendo el dispositivo de usuario 104 y al menos otro dispositivo de usuario 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 se ejecute en la CPU 202 del dispositivo 104, realice las operaciones de alguno de los metodos aqrn descritos.
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 los pasos representados por separado en las figuras 3 y 4 pueden implementarse o no como modulos o pasos separados. 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 indica codigo de programa que realiza tareas especificadas cuando se ejecuta en un procesador (por ejemplo, CPU o CPUs). El codigo de programa puede estar almacenado 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, realicen operaciones. Asf, las instrucciones sirven para configurar el sistema operativo y el hardware asociado para realizar las operaciones y de esta forma dar lugar a la transformacion del sistema operativo y del hardware asociado para realizar funciones. Las instrucciones pueden ser proporcionadas 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 asf 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 los elementos estructurales y/o hechos metodologicos, se ha de entender que la materia definida en las reivindicaciones anexas no se limita necesariamente a los elementos espedficos o los hechos descritos anteriormente. Mas bien, los elementos espedficos 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 reducir ruido en un sistema acustico en bucle cerrado (100) que tiene una ganancia de sistema e incluyendo un primer terminal de usuario y al menos otro terminal de usuario (110), donde el primer terminal de usuario tiene un modulo de procesado de senal audio configurado para procesar senales audio capturadas y/o reproducidas por el terminal, incluyendo el metodo, en el primer terminal de usuario:
    recibir una senal audio del al menos unico terminal de usuario adicional por una red de comunicaciones (106); y ejecutar una aplicacion cliente de comunicacion (206) en una unidad de procesado (202);
    caracterizado porque la aplicacion cliente de comunicacion esta configurada de modo que, cuando sea ejecutada en dicha unidad de procesado:
    suministre la senal audio al modulo de procesado de senal audio (209) del primer terminal de usuario, donde el modulo de procesado de senal audio procesa la senal audio por lo que se aplica un nivel de ganancia a la senal audio que es desconocido para la aplicacion cliente de comunicacion, y envfa una senal audio procesada a medios de salida audio (210) para ser reproducida por el primer terminal de usuario;
    estimar un nivel de ruido de la senal audio y la senal audio procesada y estimar el nivel de ganancia aplicado por el modulo de procesado de senal audio teniendo en cuenta ambas estimaciones de nivel de ruido; y
    aplicar selectivamente un paso de reduccion de ganancia de sistema a al menos una de la senal audio y una senal audio de extremo proximo capturada mediante medios de entrada audio (212) del primer terminal de usuario, en base a al menos el nivel de ganancia estimado aplicado por el modulo de procesado de senal audio.
  2. 2. Un metodo segun la reivindicacion 1, donde el nivel de ganancia aplicado por el modulo de procesado de senal audio es estimado con respecto a al menos una frecuencia, y el paso de reduccion de ganancia de sistema incluye reducir un nivel de ganancia aplicado a al menos una de la senal audio y la senal audio de extremo proximo en dicha frecuencia.
  3. 3. Un metodo segun la reivindicacion 1 o 2, donde el nivel de ganancia aplicado por el modulo de procesado de senal audio es estimado con respecto a cada una de una pluralidad de frecuencias, y el paso de reduccion de ganancia de sistema incluye reducir un nivel de ganancia aplicado a al menos una de la senal audio y la senal audio de extremo proximo en cada una de la pluralidad de frecuencias.
  4. 4. Un metodo segun cualquier reivindicacion precedente, donde la aplicacion cliente de comunicacion esta configurada para usar el nivel de ganancia estimado aplicado por el modulo de procesado de senal audio al estimar una ganancia de primer terminal de usuario; teniendo la ganancia de primer terminal de usuario contribuciones del nivel de ganancia estimado aplicado por el modulo de procesado de senal audio, una ganancia de recorrido de eco estimada en el primer terminal de usuario, y una ganancia en cada una de una pluralidad de etapas de procesado implementadas por la aplicacion cliente de comunicacion; incluyendo ademas el metodo comparar la ganancia de primer terminal de usuario con un umbral y aplicar el paso de reduccion de ganancia de sistema si se determina que la ganancia de primer terminal de usuario excede de dicho umbral.
  5. 5. Un metodo segun la reivindicacion 1, donde la aplicacion cliente de comunicacion esta configurada para usar el nivel de ganancia estimado aplicado por el modulo de procesado de senal audio al estimar la ganancia de sistema del sistema acustico; donde el primer terminal de usuario recibe una indicacion de ganancia aplicada en al menos otro terminal de usuario, y la ganancia de sistema tiene contribuciones de la ganancia estimada aplicada por el modulo de procesado de senal audio, una ganancia de recorrido de eco estimada en el primer terminal de usuario, una ganancia en cada una de una pluralidad de etapas de procesado implementadas por la aplicacion cliente de comunicacion, y la indicacion de ganancia aplicada en al menos otro terminal de usuario; incluyendo ademas el metodo comparar la ganancia de sistema estimada con un umbral y aplicar el paso de reduccion de ganancia de sistema si se determina que la ganancia de sistema estimada excede de dicho umbral.
  6. 6. Un metodo segun cualquier reivindicacion precedente, donde el paso de reduccion de ganancia de sistema incluye al menos uno de:
    alterar una ganancia digital aplicada a la senal audio;
    alterar una ganancia digital aplicada a la senal audio de extremo proximo;
    alterar una ganancia digital aplicada al reducir el ruido en la senal audio de extremo proximo; y
    alterar una ganancia digital aplicada al suprimir el eco incluido en la senal audio de extremo proximo resultante de dicha senal audio procesada salida.
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
  7. 7. Un metodo segun cualquier reivindicacion precedente, donde la aplicacion cliente de comunicacion esta configurada para estimar el nivel de ganancia aplicado por el modulo de procesado de senal audio en base a una relacion de las estimaciones de nivel de ruido.
  8. 8. Un metodo segun cualquier reivindicacion precedente, donde la estimacion del nivel de ganancia aplicado por el modulo de procesado de senal audio se implementa usando porciones de la senal audio que tienen una energfa que no excede de una cantidad umbral por encima del nivel de ruido estimado de la senal audio.
  9. 9. Un terminal de usuario (104) incluyendo:
    una interfaz de red (220) dispuesta para recibir una senal audio del al menos unico terminal de usuario adicional (110) por una red de comunicaciones (106);
    un modulo de procesado de senal audio (209) configurado para procesar senales audio capturadas y/o reproducidas por el terminal; y
    una unidad de procesado (202) para ejecutar una aplicacion cliente de comunicacion (206), caracterizado porque la aplicacion cliente de comunicacion esta configurada de modo que, cuando sea ejecutada en dicha unidad de procesado, suministre la senal audio al modulo de procesado de senal audio, donde el modulo de procesado de senal audio esta dispuesto para procesar la senal audio aplicando por ello un nivel de ganancia a la senal audio que es desconocido para la aplicacion cliente de comunicacion, y envfa una senal audio procesada a un medio de salida audio (210) para ser reproducida por el terminal de usuario;
    estando dispuesta la unidad de procesado para recibir la senal audio procesada, y la aplicacion cliente de comunicacion configurada de modo que, cuando sea ejecutada en dicha unidad de procesado:
    estime un nivel de ruido de la senal audio y la senal audio procesada y estime el nivel de ganancia aplicado por el modulo de procesado de senal audio teniendo en cuenta ambas estimaciones de nivel de ruido; y
    aplique selectivamente un paso de reduccion de ganancia de sistema a al menos una de la senal audio y una senal audio de extremo proximo capturada mediante un medio de entrada audio (212) del terminal de usuario, en base a al menos el nivel de ganancia estimado aplicado por el modulo de procesado de senal audio.
  10. 10. Un producto de programa de ordenador configurado para reducir el ruido en un sistema acustico en bucle cerrado (100) que tiene una ganancia de sistema e incluyendo un primer terminal de usuario (104) y al menos otro terminal de usuario (110), realizandose el producto de programa de ordenador en un medio de almacenamiento legible por ordenador,
    caracterizado porque el producto de programa de ordenador esta configurado de modo que, cuando sea ejecutado en un procesador (202) del primer terminal de usuario:
    suministre una senal audio recibida a un modulo de procesado de senal audio (209) del primer terminal de usuario, donde el modulo de procesado de senal audio procesa la senal audio por lo que se aplica un nivel de ganancia a la senal audio que es desconocido a la aplicacion cliente de comunicacion, y envfa una senal audio procesada a un medio de salida audio (210) para ser reproducida por el primer terminal de usuario;
    estime un nivel de ruido de la senal audio y la senal audio procesada y estime el nivel de ganancia aplicado por el modulo de procesado de senal audio teniendo en cuenta ambas estimaciones de nivel de ruido; y
    aplique selectivamente un paso de reduccion de ganancia de sistema a al menos una de la senal audio y una senal audio de extremo proximo capturada mediante un medio de entrada audio (212) del primer terminal de usuario, en base a al menos el nivel de ganancia estimado aplicado por el modulo de procesado de senal audio.
ES14730310.1T 2013-05-08 2014-05-07 Reducción de ruido Active ES2613494T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GBGB1308247.4A GB201308247D0 (en) 2013-05-08 2013-05-08 Noise reduction
GB201308247 2013-05-08
US14/013,919 US8971522B2 (en) 2013-05-08 2013-08-29 Noise reduction
US201314013919 2013-08-29
PCT/US2014/037041 WO2014182751A1 (en) 2013-05-08 2014-05-07 Noise reduction

Publications (1)

Publication Number Publication Date
ES2613494T3 true ES2613494T3 (es) 2017-05-24

Family

ID=48627440

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14730310.1T Active ES2613494T3 (es) 2013-05-08 2014-05-07 Reducción de ruido

Country Status (6)

Country Link
US (1) US8971522B2 (es)
EP (1) EP2982101B1 (es)
CN (1) CN105453530B (es)
ES (1) ES2613494T3 (es)
GB (1) GB201308247D0 (es)
WO (1) WO2014182751A1 (es)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6295722B2 (ja) * 2014-02-28 2018-03-20 沖電気工業株式会社 エコー抑圧装置、プログラム及び方法
US10122863B2 (en) * 2016-09-13 2018-11-06 Microsemi Semiconductor (U.S.) Inc. Full duplex voice communication system and method
US10361748B2 (en) * 2017-01-16 2019-07-23 Futurewei Technologies, Inc. Multi-stage echo cancelation scheme to run FDX in coax cable plant
CN108172237B (zh) * 2018-03-12 2020-04-17 Oppo广东移动通信有限公司 语音通话数据处理方法、装置、存储介质及移动终端
CN109040498B (zh) * 2018-08-12 2022-01-07 瑞声科技(南京)有限公司 一种提升回声抵消效果的方法及其系统
US10602270B1 (en) 2018-11-30 2020-03-24 Microsoft Technology Licensing, Llc Similarity measure assisted adaptation control
US11127414B2 (en) * 2019-07-09 2021-09-21 Blackberry Limited System and method for reducing distortion and echo leakage in hands-free communication
US11817114B2 (en) * 2019-12-09 2023-11-14 Dolby Laboratories Licensing Corporation Content and environmentally aware environmental noise compensation
CN111583949A (zh) * 2020-04-10 2020-08-25 南京拓灵智能科技有限公司 啸叫抑制的方法、装置和设备
CN112216302A (zh) * 2020-09-09 2021-01-12 深圳市欢太科技有限公司 音频信号处理方法、装置、电子设备和可读存储介质
CN113099338A (zh) * 2021-03-08 2021-07-09 头领科技(昆山)有限公司 一种智能控制的音频芯片及无线降噪耳机
CN115881080B (zh) * 2023-03-02 2023-05-26 全时云商务服务股份有限公司 一种语音通信系统中的声反馈处理方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148078A (en) * 1998-01-09 2000-11-14 Ericsson Inc. Methods and apparatus for controlling echo suppression in communications systems
AU2004325701B2 (en) * 2004-12-16 2009-08-20 Widex A/S Hearing aid with feedback model gain estimation
JP4215015B2 (ja) 2005-03-18 2009-01-28 ヤマハ株式会社 ハウリングキャンセラ及びこれを備えた拡声装置
KR100678770B1 (ko) 2005-08-24 2007-02-02 한양대학교 산학협력단 궤환 신호 제거 기능을 구비한 보청기
US7881460B2 (en) * 2005-11-17 2011-02-01 Microsoft Corporation Configuration of echo cancellation
JP4569618B2 (ja) 2006-11-10 2010-10-27 ソニー株式会社 エコーキャンセラ及び通話音声処理装置
WO2010035760A1 (ja) 2008-09-24 2010-04-01 ヤマハ株式会社 ループゲイン推定装置およびハウリング防止装置
WO2010106469A1 (en) 2009-03-17 2010-09-23 Koninklijke Philips Electronics N.V. Audio processing in a processing system
US8630426B2 (en) 2009-11-06 2014-01-14 Motorola Solutions, Inc. Howling suppression using echo cancellation
GB2490092B (en) * 2011-02-16 2018-04-11 Skype Processing audio signals
US8718562B2 (en) * 2011-05-20 2014-05-06 Skype Processing audio signals
CN102801868A (zh) * 2012-08-28 2012-11-28 北京北纬点易信息技术有限公司 在移动终端内进行实时环境噪声抑制的系统

Also Published As

Publication number Publication date
EP2982101A1 (en) 2016-02-10
CN105453530A (zh) 2016-03-30
CN105453530B (zh) 2019-01-22
WO2014182751A1 (en) 2014-11-13
GB201308247D0 (en) 2013-06-12
EP2982101B1 (en) 2017-01-11
US8971522B2 (en) 2015-03-03
US20140334631A1 (en) 2014-11-13

Similar Documents

Publication Publication Date Title
ES2613494T3 (es) Reducción de ruido
US10984815B1 (en) Techniques for removing non-linear echo in acoustic echo cancellers
US9697845B2 (en) Non-linear echo path detection
US9591123B2 (en) Echo cancellation
JP6538728B2 (ja) オーディオ・トランスデューサの性能をトランスデューサの状態の検出に基づいて向上させるためのシステム及び方法
JP6081676B2 (ja) アクティブノイズキャンセル出力の制限
KR101540896B1 (ko) 전자 디바이스 상에서의 마스킹 신호 생성
ES2613492T3 (es) Supresión de eco
US20140363008A1 (en) Use of vibration sensor in acoustic echo cancellation
US20160300563A1 (en) Active noise cancellation featuring secondary path estimation
US9386391B2 (en) Switching between binaural and monaural modes
US9160404B2 (en) Reverberation reduction device and reverberation reduction method
US9485572B2 (en) Sound processing device, sound processing method, and program
JP2016506673A (ja) エコー抑圧
US9036814B2 (en) Echo suppression
US10540984B1 (en) System and method for echo control using adaptive polynomial filters in a sub-band domain
CN110972032B (zh) 消除声音的方法及执行该方法的电子装置