EJORA DE DIALOGO MULT1SENSQR1AL UTILIZANDO UM DIALOGO LIMPIO PREVIO
ANTECEDENTES
?Un problema en el reconocimiento de dialogo y transmisión de diálogo es la corrupción de la señal de diálogo por ruido aditivo En particular, la corrupción debido al diálogo de otro hablante probó ser difícil de detectar y/o corregir Recientemente, se desarrolló un sistema que intenta remover el ruido utilizando una combinación de un sensor alternativo, tal como un micrófono de conducción por hueso, y un micrófono de conducción por éi i re Este sistema se entrena utilizando tres canales de entrenamiento una señal de entrenamiento de sensor alternativo ruidosa, una señal de entrenamiento de micrófono de conducción por aire ruidosa, y una señal de entrenamiento de micrófono por aire limpia Cada una de las señales se convierte en un dominio de características Las características para la señal de sensor alternativo ruidosa y la señal de micrófono de conducción por aire ruidosa se combinan en vector individual que representa una señal ruidosa Las características para la señal por micrófono de conducción por aire limpia forman un vector limpio individual Estos vectorjes después se utilizan para entrenar un mapa entre los vectores de ruido y los vectores limpios Una vez entrenados, los mapa$ se aplican a un vector ruidoso formado de una combinación de una eñal de prueba de sensor alternativa ruidosa y una señal de prueba de micrófono de conducción por aire ruidosa. Este mapa produce un vector de señal limpio Este sistema es menos que óptimo cuando las condiciones de ruido ]de las señales de prueba no se acoplan con las condiciones de ruido de las señales de entrenamiento debido a que los mapas se diseñan para las condiciones ruidosas de las señales de entrenamiento
BREVE DESCRIPCIÓN DE LA INVENC.ON
Un método y aparato determinan una respuesta de canal para un sensor alternativo que utiliza una señal de sensor alternativa, una señal de micrófono de conducción por aire La respuesta de canal y una distribución de probabilidad previa para los valores de diálogo limpios después se utilizan para estimar un valor de diálogo limpio.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La Figura 1 es un diagrama de bloques de un ambiente de cómputo en el cual pueden practicarse las modalidades de la presente invención La Figura 2 es un diagrama de bloques de un ambiente de cómputo alternativo en el cual pueden practicarse las modalidades de la presente invención.
La Figura 3 es un diagrama de bloques de un sistema de procesamiento de dialogo general de una modalidad de la presente invención i La Figura 4 es un diagrama de bloques de un sistema para mejo'ar el diálogo de acuerdo con una modalidad de la presente invención 'La Figura 5 es un diagrama de flujo para mejorar el diálogo de acuerdo con una modalidad de la presente invención La Figura 6 es un diagrama de flujo para mejorar el diálogo de acuerdo con otra modalidad de la presente invención
DESCRIPCIÓN DETALLADA DE MQDLAi DADES ILUSTRATIVAS
La Figura 1 ilustra un ejemplo de un ambiente de sistema de cómp uto adecuado 100 en el cual pueden implementarse las modalidades de la invención El ambiente de sistema de cómputo 100 solo es un ejemplo de un ambiente de cómputo adecuado y no p irreetteennde sugerir ninguna limitación al alcance de uso o funcionalidad de la invención El ambiente de cómputo 100 tampoco debe interpretarse como teniendo ninguna dependencia o requerimiento que se relaciona con cualquiera o combinación de los componentes ilustrados en el ambiente operativo ilustrativo 100 La invención es operacional con numeroso otros ambientes o confie uraciones de sistema de cómputo de propósito general o de propó sito especial Los ejemplos de sistemas de cómputo bien cono|c?dos, ambientes, y/o configuraciones que pueden ser adecuados para uso con la invención incluyen, pero no se limitan a las computadoras personales, computadoras de servidor, dispositivos móvi es o portátiles, sistemas de multiprocesador, sistema a base de micro procesador, cajas de tv por cable, electrónica de consumidor progr amable, PCs de red, minicomputadoras, macrocomputadoras, siste mas de telefonía, ambientes de cómputo distribuido que incluyen cualq uiera de los sistemas anteriores o dispositivos, y similares La invención puede describirse en el contexto general de instn cciones ejecutables por computadora, tal como módulos de progr ama, que se ejecutan por una computadora Generalmente, los módu los de programa incluyen rutinas, programas, objetos, companentes, estructuras de datos, etc que realizan tareas particulares o implementan tipos de datos abstractos particulares La invención se diseña para practicarse en ambientes de cómputo distribuidos en donde las tareas se realizan por dispositivos de procesamiento remotos que se enlazan a través de una red de comunicaciones En un ambiente de cómputo distribuido, los módulos de prl grama se localizan tanto en medios de almacenamiento de computadora locales como remotos que incluyen dispositivos de almacenamiento de memoria Con referencia a la Figura 1, un sistema ilustrativo para implementar las modalidades de la invención incluye un dispositivo de cómputo de propósito general en la forma de una computadora 110 Los componentes de la computadora 110 pueden incluir, pero no se limita a, una unidad de procesamiento 120, una memoria de sistema 130, y un conductor común de sistema 121 que acopla varios componentes de sistema que incluyen a la memoria de sistema la umdsid de procesamiento 120 El conductor común de sistema 121 puedb ser cualquiera de varios tipos de estructuras de conductor comújn que incluyen un conductor común de memoria o controlador de memfpa, un conductor común periférico, y un conductor común local i que utiliza cualquiera de una variedad de arquitecturas de conductor comu n A manera de ejemplo, y no de limitación, tales arquitecturas incluyen conductor común de Arquitectura de Estándar de Industria
(ISA) Conductor común de Arquitectura de Micro Canal (MCA), conductor común de ISA mejorado (EISA), conductor común local de
Asoc ación de Estándares de Electrónica de Video (VESA), y un
Conductor Común de Interconexión de Componente Periférico (PCI) también conocido como conductor común de Mézanme ¡La computadora 110 típicamente incluye una variedad de medios legibles por computadora Los medios legibles por computadora pueden ser cualquier medio disponible que pueda accederse por la computadora 110 e incluyen tanto medios volátiles como no volátiles, medios removibles y no removibles A manera de ejempllo, y no de limitación, los medios legibles por computadora
I puedein comprender medios de almacenamiento de computadora y medios de comunicación Los medios de almacenamiento de computadora incluyen tanto medios volátiles como no volátiles, remov bles y no removibles implementados en cualquier método o tecnología para almacenamiento de información tal como instrucción legible por computadora, estructuras de datos, módulos de programa u otros datos Los medios de almacenamiento de computadora incluyen, pero no se limita a, RAM, ROM, EEPROM, memoria flash u otra tecnología de memoria, CD-ROM, discos versátiles digitales (DVD) u otro almacenamiento de disco óptico, cassettes magnéticos, cinta magnética, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que ?uede utilizarse para almacenar la información deseada y que pued¿ accederse por la computadora 110 Los medios de i comunicación típicamente representan instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos en una señal de datos modulada tal como una onda portadora u otro mecanismo de transporte e incluye cualquier medio de entrega de información El término "señal de datos modulada" significa una señalj que tiene una o más de sus características establecidas o cambjadas de tal forma para codificar información en la señal A maneja de ejemplo, y no limitación, los medios de comunicación incluyen medios por cables tal como red por cable o conexión por cable directa, y medios inalámbricos tal como medios acústicos, RF, infrar-ojos y otros medios inalámbricos Las combinaciones de cualquiera de los anteriores también deben incluirse dentro del alcance de medios legibles por computadora La memoria de sistema 130 incluye medios de almacenamiento por computadora en la forma de memoria volátil y/o no volátil tal como memorias sólo de lecturas (ROM) 131 y memoria de acceso aleatorio (RAM) 132 El sistema de entrada/salida básico 133 (BIOS), que contiene las rutinas básicas que ayudan a transferir información entre' elementos dentro de la computadora 110, tal como durante el arranque, típicamente se almacena en ROM 131 La RAM 132 típicéimente contiene datos y/o módulos de programa que son inmediatamente accesibles a y/o actualmente están siendo operados por una unidad de procesamiento 120 A manera de ejemplo, y no de limitación, la Figura 1 ilustra el sistema operativo 134, programas de aplicación 135, otros módulos de programa 136, y datos de programa
137 , i l La computadora 110 también puede incluir otros medios de
I almacenamiento de computadora removibles/no removibles, i volátijles/no volátiles A manera de ejemplo solamente, la Figura 1 ilustra una unidad de disco duro 141 que lee de o escribe a medios magnéticos no removibles, no volátiles, una unidad de disco magnético 151 que lee de o escribe a un disco magnético removible,
I no vof át 11 152, y una unidad de disco óptico 155 que lee de o escribe a un disco óptico removible, no volátil 156, tal como un CD-ROM u otro njiedio óptico Otros medios de almacenamiento de computadora remov??bles/no removibles, volátiles/no volátiles que pueden utilizarse en eljambiente operativo ilustrativo incluyen, pero no se limitan a, cassettes de cinta magnética, tarjeta de memoria flash, discos versátiles digitales, cinta de video digital RAM de estado sólido, ROM !de estado sólido y similares La unidad de disco duro 141 típicamente se conecta al conductor común de sistema 121 a través de uha interfase de memoria no removible tal como interfase 140, y unidad de disco magnético 151 y unidad de disco óptico 155 que típicamente se conectan al conductor común de sistema 121 a través de una interfase de memoria removible, tal como interfase 150 Las unidades y sus medios de almacenamiento de computadora asociados discutidos anteriormente ilustrados en la Figura 1 proporcionan almacenamiento de instrucciones legibles por computadora, estructuras de datos, módulos de programa y otros datos1 para la computadora 110 En la Figura 1, por ejemplo, la unidad de disco duro 141 se ilustra como almacenando el sistema operativo 144, programas de aplicación 145, otros módulos de programas 146, y datos de programa 147 Se debe notar que estos componentes pueden ser los mismos que o diferentes al sistema operativo 134, programas de aplicación 135, otros módulos de programa 136, y datos de programa 137 El sistema operativo 144, programas de aplicación 145, otros módulos de programa 146 y datos i de programa 147 se les proporcionan números diferentes aquí para i ilustrar que, en un mínimo, son copias diferentes Un usuario puede ingresar comandos e información en la computadora 110 a través de dispositivos de entrada tal como un teclado 162, micrófono 163, y dispositivo de señalamiento 161, tal como un ratón, seguibola o almohadilla sensible al tacto Otros dispositivos de entrada (no mostrados) pueden incluir una palanca de mano?, almohadilla de juegos, antena parabólica, escáner, o similares Estos y otros dispositivos de entrada frecuentemente se conectan a la unidad de procesamiento 120 a través de una interfase de entrada de usuario 160 que se acopla al conductor común de sistema, pero pueden conectarse a través de otra interfase y estructuras de conductor común, tal como un puerto paralelo, puerto de juegos o un conductor común en serie universal (USB) Un monror 191 u otro tipo de dispositivo de presentación también se cone ta al conductor común de sistema 121 a través de una inferíase, tal como una interfase de video 190 Además del monitor, las CDmputadoras también pueden incluir otros dispositivos de salida periféricos, tal como bocinas 197 e impresoras 196, que pueden cone?tarse a través de una interfase periférica de salida 195 La computadora 110 puede operar en un ambiente en red que utiliza conexiones lógicas a una o más computadoras remotas, tal comoj una computadora remota 180 La computadora remota 180 puede ser una computadora personal, un dispositivo móvil, un servidor, un enrutador, una PC de red, un dispositivo par, u otro nodo de red común, y típicamente incluye muchos o todos los elementos descritos anteriormente en relación a la computadora 110 Las conexiones lógicas ilustradas en la Figura 1 incluyen una red de área il oca I (LAN) 171 y una red de área ancha (WAN) 173, pero tambi'én pueden incluir otras redes Tales ambientes en red comúnmente están ubicados en oficinas, redes de computadora extendidos en empresa, intranets e Internet Cuando se utiliza en un ambiente en red LAN, la computadora 110 se conecta a la LAN 171 a través de una interfase en red o adaptador 170 Cuando se utiliza en un ambiente en red WAN, la computadora 110 típicamente incluye un módem 172 u otros medios para establecer comunicaciones en la WAN 173, tal como Internet El módem 172 que puede ser interno o externo, puede conectarse al conductor común de sistema 121 a través de interfase de entrada de usuario 160, u otro mecanismo apropiado. En un ambiente en red, los módulos de programa ilustrados relativos a la computadora 110, o porciones de la misma, pueden almacenarse en el dispositivo de almacenamiento de memoria remotos A manera de ejemplo, y no de limita ción, la Figura 1 ilustra programas de aplicación remotos 185 co o residentes en la computadora remota 180. Se apreciará que las conexiones en red mostradas son ilustrativas y pueden utilizarse otros medios para establecer un enlace de comunicación entre las computadoras La Figura 2 es un diagrama de bloques de un dispositivo móvil
210. ' La memoria 204 se implementa como memoria electrónica no volátil' tal como memoria de acceso aleatorio (RAM) con un módulo de recuperación de batería (no mostrado) para que la información almacenada en la memoria 204 no se pierda cuando se apaga la energía general para el dispositivo móvil 200 Una porción de la memoria 204 preferiblemente se distribuye como memoria dirigible para ejecución de programa, mientras otra porción de la memoria 204 preferiblemente se utiliza para almacenamiento, tal como para simular almacenamiento en una unidad de disco | La memoria 204 incluye un sistema operativo 212, programas de aplicación 214 asi como un almacenamiento de objeto 216 Durante operación, el sistema operativo 212 preferiblemente se ejecuta por el procesador 202 de la memoria 204 El sistema operativo 212, en una modalidad preferida, es un sistema operativo de la marca WINDOWS® CE comerclalmente disponible de Microsoft Corporation El sistema operativo 212 preferiblemente se diseña para dispo sitivos móviles, e implementa características de base de datos que pjueden utilizarse por aplicaciones 214 a través de un grupo de interfáses y métodos de programación de aplicación expuestos Los objetos en el almacenamiento 216 se mantienen por aplicaciones 214
I y el sistema operativo 212, al menos parcialmente en respuesta a las llamadas a las interfases y métodos de programación de aplicación expuestos La interfase de comunicación 208 representa numerosos dispositivos y tecnologías que permiten que el dispositivo móvil 200 envíe y reciba información El dispositivo incluye módems por cable e inalámbricos, receptores por satélite y sintonizadores de transmisión por nombrar alguno El dispositivo móvil 200 también puede conectarse directamente a una computadora para intercambiar datoíi con ésta. En tal caso, la ¡nterfase de comunicación 208 puede ser un transceptor infrarrojo o una conexión de comunicación en serie o paralela, todos que son capaces de transmitir información por corriente. ' LOS componentes de entrada/salida 206 ¡ncluyen una variedad de dispositivos de entrada tal como una pantalla sensible al tacto, botores, rodillos, y un micrófono así como una variedad de dispositivos de salida que incluyen un generador de audio, un dispositivo de vibración, y una pantalla. Los dispositivos listados anteriormente son a manera de ejemplo y no necesitan todos estar presentes en el dispositivo móvil 200. Además, pueden anexarse otros dispositivos de entrada/salida a o encontrarse con el dispositivo móvil 200 dentro del alcance de la presente invención. La Figura 3 proporciona un diagrama de bloques básico de modalidades de la presente invención. En la Figura 3, una bocina 300 genera una señal de diálogo 302 (X) que se detecta por un micro fono de conducción por aire 304 y un sensor alternativo 306. Los e jemplos de los sensores alternativos incluyen un micrófono de garga nta que mide las vibraciones de garganta del usuario, un senso r de conducción por hueso que se localiza en o adyacente a un hueso facial o cráneo del usuario (tal como el hueso de la mandíbula) o el oído del usuario que percibe vibraciones del cráneo y ma?díbula que corresponden al diálogo generado pro el usuario. El micrófono de conducción por aire 304 es el tipo de micrófono que se utiliza comúnmente para convertir indas den aire de audio en señales eléct -icas 'El micrófono de conducción por aire 304 también recibe ruido ambiental 308 (Z) generado por una o más fuentes de ruido Dependiendo del tipo de ruido ambiental y nivel del ruido ambiental, el ruido ambiental 308 también puede detectarse por el sensor alternativo 306 Sin embargo, bajo las modalidades de la presente ?nven|c?ón, el sensor alternativo 306 típicamente es menos sensible al ruido ambiental que el micrófono de conducción por aire 304 De esa forma, la señal de sensor alternativa 316 (B) generada por el sensor alterrativo 306 generalmente incluye menos ruido que la señal de micrófono de conducción por aire 318 (Y) generado por el micrófono de conducción por aire 304 Aunque el sensor alternativo 306 es menos sensible al ruido ambiental, no genera algún ruido de sensor
320 (ÍN) i JLa trayectoria de la bocina 300 a la señal de sensor alternativa
I 316 puede modelarse como un canal que tiene una respuesta de canal H La trayectoria del ruido ambiental 308 a la señal de sensor altern lativa 316 puede modelarse como un canal que tiene una respuesta de canal G La señal de sensor alternativo 316 (B) y la señal de micrófono de conducción por aire 318 (Y) se proporcionan para un estimador de señal I limpia 322, que estima una señal limpia 324 El estimado de señal|l?mp?o 324 se proporciona popara un procedimiento de diálogo 328. El estimado de señal limpia 324 puede ser una señal de dominio de tiempo filtrada o un vector de Transformación de Fourier Si el estimado de señal limpia 324 es una señal de dominio de tiempo, el procedimiento de diálogo 328 puede tomar la forma de un oyente, un sistema de codificación de diálogo, o un sistema de reconocimiento de diálogo. Si el estimado de señal limpia 324 es un vector de Transformación Fourier, el procedimiento de diálogo 328 típicamente será un sistema de reconocimiento de diálogo, o contendrá una Transformación de Fourier Inversa para convertir el vector de Transformación de Fourier en formas de onda. Dentro de la mejora de filtrado directa 322, la señal de sensor altern ativa 316 y la señal de micrófono 318 se convierten en el dominio de frecuencia que se utiliza para estimar el diálogo limpio. Como se muestra en la Figura 4, la señal de sensor alternativa 316 y la señal de micrófono de conducción 318 se proporcionan a convertidores analógicos a digitales 404 y 414, respectivamente, para generar una secuencia de valores digitales, que se agrupan en marcojs de valores por conductores de marcos 406 y 416, respectivamente En una modalidad, los convertidores de A a B 404 y 414 muestrean las señales analógicas en 16 KHz y 16 bits por muestra, con ello crean 32 kilobytes de datos de diálogo por segundo y constructores de marco 406 y 416 crean un nuevo marco respectivo cada [10 mihsegundos que incluyen un valor de 20 milisegundos de datos. Cada marco respectivo de datos proporcionado por los const ructores de marco 406 y 416 se convierten en el dominio de frecuencia utilizando Transformaciones de Fourier Rápidas (FFT) 408 y 418, respectivamente. 'Los valores de dominio de frecuencia para las señales de sensor alternativa y la señal de micrófono de conducción por aire se proporcionan para el estimador de señal limpio 420, que utilizan los valor s de dominio de frecuencia para estimar la señal de diálogo limpici 324. Bajo algunas modalidades, la señal de diálogo limpia 324 se convierte de nuevo al dominio de tiempo utilizando Transformaciones de Fourier Rápidas Inversas 422. Esto crea una versión de dominio de tiempo de señal de diálogo limpia 324. Las modalidades de la presente invención proporcionan técnicas de filtrado directas para estimar señal de diálogo limpia 324. Bajo el filtrado directo, un estimado de probabilidad máxima de la respuesta(s) de canal para el sensor alternativo 306 se determinan al minimizar una función relativa a la respuesta(s) de canal. Estos estimados después se utilizan para determinar un estimado de probabilidad máximo de la señal de diálogo limpia al minimizar una función relativa a la señal de diálogo limpia. Bajo una modalidad de la presente invención, la respuesta de canal G que corresponde al diálogo de fondo que se detecta por el sensor alternativo se considera cero. Esto resulta en un modelo entre la señal de diálogo limpia y la señal de micrófono de condu cción por aire y la señal de sensor alternativa de: y(t) = x(t)+z(t) Ec 1 b(t) = h(t)*x(t) + w(t) Ec 2 en donde y(t) es la señal de micrófono de conducción por aire, b(t) es la señal de sensor alternativa, x(t) es la señal de diálogo limpia, z(t) es el ruido ambiental, w(t) es el ruido de sensor alternativo, y h(t) es la respuesta de canal a la señal de dialogo limpia asociada con el sensor alternativo De esa forma, en la ecuación 2, la señal de sensor alternativa se modela como una versión filtrada del diálogo limpio, en donde el filtro tiene una respuesta de impulso de h(t) En el dominio de frecuencia, las Ecuaciones 1 y 2 pueden expresarse como Y,(k)=Xt(k)--Zl(k) Ec 3 Bt(k) = Ht(k)Xt(k) + Wt(k) Ec 4 en onde la notación Y¡(k) representa el kvo componente de frecuencia de un marco de una señal centrada alrededor del tiempo t
Esta ¡notación aplica a X,(k) Z,(k), Ht(k), Wt(k), y B,(k), En la i discusión posterior la referencia al componente de frecuencia k se omite para claridad Sin embargo, aquellos expertos en la técnica reconocerán que los cálculos realizados posteriormente se realizan en unja base de componente por frecuencia ¡Bajo esta modalidad, las partes reales e imaginarias del ruido Zt y Wt se modelan como Gausianos de media cero de manera que ZyN(0,s¡) Ec 5
en d nde es la variación para el ruido Zt y es la variación para ruido Wt
Ht, también se moldea como un Gausiano para que Ec 7 H,->N(H-,sH2)
en dpnde H0 es la media de la respuesta de canal y es la
I variación de la respuesta del canal ¡Dado estos parámetros de modelo, la probabilidad de un valor de diálogo limpio X¡ y un valor de respuesta de canal H, se describe por la probabilidad condicional
PÍXMY,-B--H-,< -s>-o*) Ec 8
que es proporcional a pP-,B.\X-tHt,si-sl)p{H.\Ht,sl)p(X,) Ec 9
que es igual a
p{Yl\Xl,s )p(Bl\X„H sl)P(Hl\H„s{)p(Xl) Ec 10
'En una modalidad, la probabilidad anterior para el canal de i respuesta, ,se ignora y cada una de las probabilidades restantes se trata con una distribución Gausiana con la probabilidad previa del diálogo limpio p(Xt), que se trata como un Gausiano de media cero con una variación de manera que
?AI utilizar esta simplificación y la Ecuación 10, el estimado de probabilidad máximo de Xt, para el marco en t se determina al minimizar
F,
Ya que la Ecuación 12 se minimiza con respecto a Xt, el deri ativo parcial con respecto a X,, puede tomarse para determinar
1 dF • = o el val or de X, que minimiza la función Específicamente, ax, da
en donde H*t representa el conjugado complejo de Ht y \H, representa la magnitud del valor complejo Ht I La respuesta de canal Ht se estima de la expresión completa al minimizar
JM sustituir la expresión de Xt calculado en la Ecuación 13 en la Ecuación 14, establecer el derivativo parcial ~=o,y después asumir que H es constante a través de todos los marcos de tiempo T da una solución para H de ¡ Ec. 15 | En la Ecuación 15, el estimado de H requiere varias sumas de cálcullo en los últimos marcos T en la forma de:
S(r) = 2 Ec. 16
en donde St es (s¡ \B, |2 -s2 \Y, |2)_or B]Y, Con esta formulación, el primer marco (t = 1) es tan importante comojel último marco (t = T). Sin embargo, en otras modalidades se prefiere que los últimos marcos contribuyan más al estimado de H que los antiguos marcos. Una técnica para lograr esto es "maduración exponencial", en la cual las sumas de la Ecuación 16 se reemplazan con:
S(T) = ?c'-'s, Ec. 17 1=1
en donde c=1. Si c = 1, entonces la Ecuación 17 es equivalente a la Ecuación 16. Si c < 1, entonces el último marco se pesa por 1, el penúltimo marco se pesa por c (es decir, contribuye menos que el último! marco), y el primer marco se pesa por ct"1 (es decir, contribuye significativamente menos que el último marco). Tomando un ejemplo. Permitir c = 0.99 y T = 100, entonces el peso para el primé r marco sólo es 0.99ua = 0.37. Bajo una modalidad, la Ecuación 17 se estima recursivamente como! S(T) = cS(T-1) + sr Ec.18
¡Ya que la Ecuación 18 automáticamente pesa datos antiguos menores, una longitud de ventana fija no necesita utilizarse, y los datos' de los últimos marcos T no necesitan almacenarse en la memoria. En vez de eso, sólo el valor para S(T-1) en el marco previo necesita almacenarse. Al utilizar la Ecuación 18, la Ecuación 15 se convierte en:
¡El valor de c en las ecuaciones 20 y 21 proporciona una longitud efectiva para el número de marcos pasados que se utilizan para ¡calcular el valor actual de J(T) y K(T). Específicamente, la longit bd efectiva se da por:
T-l L(t)=Sy??c- = 1-c7 Ec. 22 1=1 I--0 \ — C La longitud asintótica se da por:
¿ = limI(-T) = Ec. 23 1-c
o equivalentemente,
c = • L-l Ec. 24
De esa forma, al utilizar la ecuación 24, c puede establecerse para lograr diferentes longitudes efectivas en la ecuación 19. Por ejem ilo, para lograr una longitud efectiva de 200 marcos, c se estab lece como:
199 c = — = 0.995 Ec. 25 200
Una vez que se estimó H al utilizar la Ecuación 15, puede utilizarse en lugar de todo Ht de la Ecuación 13 para determinar un i valor separado de Xt en cada marco de tiempo t. Alternativamente, la ecuación 19 puede utilizarse para estimar H, en cada marco de tiempjo t. El valor de H, en cada marco después se utiliza en la i Ecuación 13 para determinar Xt. La Figura 5 proporciona un diagrama de flujo de un método de la presente invención que utiliza las Ecuaciones 13 y 15 para estimar un valor de diálogo limpio para una expresión. En el paso 500, los componentes de frecuencia de los marcos de la señal de micrófono de conducción por aire y la señal defensor alternativa se capturan a través de la expresión completa.
En el paso 502 la variación para ruido ambiental z y el ruido
de sensor alternativo " se determina de marcos de la señal de micró]fono de conducción por aire y la señal de sensor alternativa, respectivamente, que se capturan antes en la expresión durante periodos cuando el hablante no habla. 'El método determina cuando el hablante no habla al identificar porciones de energía baja de la señal de sensor alternativa, ya que la energía del ruido de sensor alternativo es mucho menor que la señal de diálogo capturada por la señal de sensor alternativa. En otras modalidades, las técnicas de detección de diálogo conocidas pueden aplicarse a la señal de diálogo de conducción por aire para identificar cuando el hablante habla. Durante periodos cuando se considera que el hablante está hablando, Xt, se asume para ser cero y cualquier señal del micrófono de conducción por aire o el sensor alternativo se considera como ruido. Las muestras de estos valores se recolectan de los marcos de no diálogo y se utilizan para estimar la variación del ruido en la señal de conducción por aire y la señal de sejnsor alternativa. ¡En el paso 504, se determina la variación de la distribución de
X,l proba bilidad previa del diálogo limpio Bajo una modalidad, esta variación se calcula como: 1 -+m s = ^¡^)?Y -s en donde |Yd|2 es la energía de la señal de micrófono de conducción por aire y la suma se realiza en un grupo de marcos de diálogo que incluye los marcos de diálogo k antes del marco de diálogo actual y los marcos de diálogo m después del marco de diálogo actual. Para evita!- un valor negativo o un valor de cero para la variac s?,?
algunjas modalidades de la presente invención utilizan (-01-c como el va or más bajo posible para s , . En una modalidad alternativa, una implementación de tiempo real e realiza al utilizar una técnica de suavización que confía sólo en la variación de la señal de diálogo limpia en el marco precedente de diálogo para que:
Yd | (1- /> Ec. 27
en dc-nde c^es la variación del diálogo limpio previo a distribución de prjobabilidad del último marco que contuvo el diálogo, p es un factoi1 de suavización con una escala entre 0 y 1, a es una constante
pequeña, y y a|Yd|2
se selecciona para asegurar valores positivos para sv . Bajo una
I modalidad específica, el factor de suavización tiene un valor de .08, y a = 0 01 En el paso 506, los valores para la señal de sensor alternativa y la s¡eñal de micrófono de conducción de aire a través de todos los marcos de la expresión se utilizan para determinar un valor de H que utiliza^ la Ecuación 15 anterior. En el paso 508, este valor de H se utiliza junto con los valores individuales de la señal de micrófono de conducción por aire y la señal de sensor alternativa en cada marco de tiempo para determinar un valor de diálogo mejorado o reducido de ruido para cada marco de tiempo que utiliza la Ecuación 13 anterior. En otras modalidades, en lugar de utilizar todos los marcos de la expresión para determinar un valor individual de H que utiliza la
Ecuación 15, H, se determina para cada marco que utiliza la
Ecuación 19. El valor de H, después se utiliza para calcular X, para el marco que utiliza la Ecuación 13 anterior. En una segunda modalidad de la presente invención, la respuesta de canal del sensor alternativo para el ruido ambiental se considera para no ser cero. En esta modalidad, la señal de micrófono de ccnducción por aire y la señal de sensor alternativa se modelan como: Yt(k)=X,(k)+Zt(k) Ec. 28 Bt(k) = Ht(k)Xt(k) + Gt(k)Zt(k) + W,(K) Ec. 29 i i en donde la respuesta de canal de sensores alternativos al ruido ambiental es un valor de no cero de G,(k). La probabilidad máxima para el diálogo limpio Xt puede encortrarse al minimizar una función objetiva que resulta en una ecuacjión para el diálogo limpio de:
Ec. 30 x, Con el fin de resolver la Ecuación 30, las variaciones s , así como los valores de respuesta de canal H y G deben conocerse. La Figura 6 proporciona un diagrama de flujo para ident ficar estos valores y para determinar valores de diálogo mejorados para cada marco. ¡En el paso 600, los marcos de la expresión se identifican en donde el usuario no habla. Estos marcos después se utilizan para determinar la variación cr,„ / para el sensor alternativo y el ruido ambiental, respectivamente. Para identificar marcos en donde el usuario no habla, la señal de sensor alternativa puede examinarse. Ya que la señal de sensor alterrativa producirá valores de señal mucho menores para diálogo de fondo que para el ruido, si la energía de la señal de sensor alternativa es baja, puede asumirse que el hablante no está hablando. Después que se determinaron variaciones para el ruido ambiental y el ruido de sensor, el método de la Figura 6 continúa en i el pajso 602 en donde determina la variación de la probabilidad previa de diálogo limpio, s?,? , utilizando ecuaciones 26 ó 27 anteriormente. Como se discutió anteriormente, sólo esos marcos que contienen diálogo se utilizan para determinar la variación del d i á loe o limpio previo. En el paso 604, los marcos identificados en donde el usuario no i habla I se utilizan para estimar la respuesta de canal del sensor altern ativo G para ruido ambiental. Específicamente, G se determina como!
?Y'B . — ,(gl Ec 31 ?y'y
en donde D es el número de marcos en el cual el usuario no habla En lal Ecuación 31, se asume que G permanece constante a través de todosj los marcos de la expresión y de esa forma ya no es dependiente del marco de tiempo t En la ecuación 31, la suma en t puede reemplazarse con el cálculo de deterioro exponencial discutido anteriormente en conexión con las ecuaciones 16-25 En el paso 606, el valor de la respuesta de canal del sensor alternativo G al diálogo de fondo se utiliza para determinar la
respu ¡sta de canal del sensor alternativo para la señal de diálogo limpia Específicamente, H se calcula como
Ec 32 (En la Ecuación 32, la suma en T puede reemplazarse con el cálcu o de deterioro exponencial recursivo discutido anteriormente en conexión con ecuaciones 16-25 Después que se determinó H en el paso 606, la Ecuación 30 puede utilizarse para determinar un valor de diálogo limpio para todos! los marcos Al utilizar la Ecuación 30, bajo algunas I CY I modalidades, el término B,-GYt, se reemplaza con (í-i—d)^ debido i l#; I a que se encontró que es difícil determinar precisamente la diferencia de fase entre el diálogo de fondo y su escape en el sensor alternativo. ¡Si el cálculo de deterioro exponencial recursivo se utiliza en lugarjde las sumas en la Ecuación 32, un valor separado de Ht puede deterrninarse para cada marco y puede utilizarse como H en la ecuación 30. (Aunque la presente invención se describió con referencia a las moda idades particulares, los expertos en la técnica reconocerán que pueden hacerse cambios en la forma y detalle sin apartarse del e s p i r i tu y alcance de la invención.