Descargar

Control mediante reconociiento remoto de voz comprimida sobre redes IP


  1. Resumen
  2. Introducción
  3. Materiales y métodos
  4. Resultados y discusión
  5. Conclusiones
  6. Referencias
  7. Anexos

Resumen

Este trabajo, que se presenta como culminación de una línea de investigación continuada en el Dpto. de Telecomunicaciones y Electrónica de la Universidad de Pinar del Río. Presenta resultados en tres áreas fundamentales: la compresión de voz, la simulación de canales de transmisión y el reconocimiento del habla. Estas tres áreas se abordan partiendo desde sus generalidades hasta sus puntos de contacto en un enfoque del procesamiento digital de la señal para brindar un detallado marco teórico y contextual. Al final se integran para lograr una aplicación que sea capaz de realizar un reconocimiento del habla de forma remota mediante la transmisión de voz comprimida, e insertando pérdidas en el canal de transmisión para estudiar su comportamiento. Como resultados se ofrecen valoraciones sobre alternativas para realizar este reconocimiento remoto, fundamentado sobre las características del modelo de producción de la voz y de los esquemas de compresión.

PALABRAS CLAVES:

Compresión de voz, codecs, canal IP, reconocimiento remoto del habla.

CONTROL BY MEANS OF REMOTE RECOGNITION OF COMPRESSED VOICE ON IP NETS

ABSTRACT

This work that is presented as culmination of a line of continuous investigation in the Telecommunications and Electronic Department. It presents results in three fundamental areas: the voice compression, the simulation of transmission channels and the recognition of the speech. These three areas are approached leaving from their generalities until their contact points in a focus of the digital prosecution of the sign to offer a detailed theoretical and contextual mark. At the end they are integrated to achieve an application that is able to carry out recognition of the speech in a remote way by means of the transmission of compressed voice, and inserting losses in the transmission channel to study their behavior. As results they offer valuations on alternatives to carry out this remote recognition, based on the characteristics of the pattern of production of the voice and of the compression outlines.

Keywords: Voice compression, codecs, IP channel, remote speech recognition.

Introducción

El desarrollo acelerado de la tecnología ha hecho posible el acceso de los usuarios a los servicios cada vez de una forma más cómoda. En este sentido cabe destacar el marcado rápido en telefonía, los servicios a discapacitados, la navegación en un menú con sólo mencionar un dígito, entre otros. Estas facilidades dependen de realizar un reconocimiento automático del habla de forma remota, que en este artículo se llamarán RAHR.

Por otra parte para transmitir las señales de voz, históricamente se han empleado métodos que permitan reducir la cantidad de información que se necesita en el receptor para recuperar la señal de forma más parecida a la que se codificó en el transmisor, estos métodos se conocen como codecs de voz. Entre los más eficientes se encuentran los que emplean Predicción Lineal, o sea, aquellos que, en el codificador, filtran la señal original por un filtro configurado con algunos coeficientes LP (Lineal Prediction, Predicción Lineal), y a la salida obtienen una señal residual, y en el decodificador emplean esa señal residual para pasarla por el mismo filtro del transmisor pero inverso [4].

Esas transmisiones de voz se realizan en redes IP, que normalmente no garantizan transmisiones ideales, en las que no ocurren pérdidas de información, sino que trabajan al mejor esfuerzo. Por eso, al trabajar con este tipo de sistemas es preciso simular el comportamiento del canal de cierta manera. En este sentido es necesario mencionar que los modelos de Bernoulli y de Gilbert-Eliot son los que más se acercan al modo real en que ocurren las colisiones de paquetes de información en las redes IP.

Además, para el reconocimiento se emplean diferentes métodos, pueden mencionarse las redes neuronales, los modelos ocultos de Markov, los coeficientes Cepstrales, Predicción Lineal, etc.

En este artículo se pretende mostrar los resultados obtenidos en un trabajo en el que se conjugan los codecs de voz LPC-10 y G.729 con modelos de simulación de canal y métodos de reconocimiento del habla para definir algoritmos de RAHR, en un conjunto de experimentos en que se culmina con el reconocimiento y la ejecución de alguna acción para demostrar la correcta identificación de un comando, o sea, se simula el funcionamiento de un sistema telemático de control por voz.

Materiales y métodos

Entre los métodos empleados en este trabajo se encuentra la modelación, por cuanto ha sido conveniente modelar el proceso de producción de la voz para el funcionamiento de los codecs, y simular los modelos que describen el comportamiento de los canales IP.

Los materiales empleados en este trabajo han sido simplemente una computadora y un equipo de audio que consta solamente de un par de bocinas y un micrófono. Las simulaciones correspondientes se llevaron a cabo empleando Matlab, que es un asistente matemático muy poderoso para el análisis de señales de cualquier tipo.

Como materiales adicionales se han empleado los códigos en Matlab de los codecs LPC-10 y G.729, "estos codecs trabajan con señales digitales obtenidas mediante un muestreo de 8KHz y analizados en tramas de 20ms y 10ms respectivamente" [1]. Ambos emplean de algún modo la Predicción Lineal, con la diferencia de que el LPC-10 envía al receptor un conjunto de 10 coeficientes de Predicción Lineal por cada trama analizada en intervalos de 20ms [5], tiempo en el que se considera la señal de voz como cuasi estacionaria, por su parte el G.729 envía sólo 18 bit en representación de Pares del Espectro Lineal, LSP(Line Espectrum Pairs) por cada trama en intervalos de 10ms.

Además, en los casos en que el reconocimiento se realiza sobre la voz ya sintetizada, se emplea el método de los coeficientes cepstrales, y cuando se realiza sobre la voz aún comprimida se emplea el método de Predicción Lineal.

Para la simulación del canal de transmisión, o sea, para tener en cuenta de forma cuantitativa la ocurrencia de pérdidas de información por las colisiones de los paquetes en redes IP, se emplearon dos modelos posibles, el modelo de Bernoulli y el modelo de Gilbert-Eliot. En esta investigación se decidió emplear el modelo de Gilbert-Eliot de dos estados (Véase Figura 1), "ya que logra capturar la dependencia temporal de la ocurrencia de las pérdidas de información" [2]. En otras palabras, este modelo logra simular la medida en que la probabilidad de que un paquete de información se pierda, dependa de que el paquete anterior se haya perdido o no. Este es uno de los Modelos Ocultos de Markov, pero de los más sencillos por la pequeña cantidad de estados que contempla.

edu.red

Figura 1: Modelo de Gilbert – Eliot.

Este modelo consiste en contemplar dos posibles estados de la información, S0 correcto, y S1 pérdida, las probabilidades de transitar de un estado a otro o de quedarse en ellos mismos.

Para el reconocimiento del habla, se emplea el método de Predicción Lineal, que ya ha sido explicado en la introducción del artículo, y los coeficientes cepstrales, que consisten en llevar a una escala logarítmica la transformada inversa de Fourier que se aplica a una señal de voz.

El RAHR que se propone consiste básicamente en la realización de ocho experimentos. Estos experimentos consisten en aplicar las siguientes variantes:

  • Emplear el codec LPC-10 o el G.729 para la compresión.

  • Insertar o no pérdidas de información en el canal de transmisión.

  • Realizar el reconocimiento sobre la voz ya sintetizada o aún comprimida.

Resultados y discusión

Se explicará la realización de ocho experimentos, los cuales consisten en la realización de cuatro procesos fundamentales: codificación, decodificación, inserción de pérdidas y reconocimiento. La realización de estos experimentos basados en esos procesos se describirá realizando algunas variaciones las cuales definirán las alternativas de un reconocimiento remoto del habla de forma automática.

Se describirá el proceso de codificación y decodificación empleando como variantes al LPC-10 y al G.729. Por otra parte la simulación del canal IP para la inserción de pérdidas se realizará usando los modelos ocultos de Markov, específicamente el modelo de Gilbert-Eliot de dos estados. Particularmente, las variaciones en este proceso ocurrirán en los valores de probabilidad de pérdida. Y por último, el reconocimiento se realizará invariantemente empleando los coeficientes cepstrales como algoritmo, en los casos en que este proceso sea realizado directamente sobre la señal de voz sintetizada; cuando el reconocimiento se realiza sobre la voz comprimida, simplemente se empleará las distancias euclidianas para la toma de decisiones del reconocimiento. En todos los casos se emplea las distancias euclidianas, unas veces calculada sobre los coeficientes cepstrales, y otras sobre algún parámetro de codificación en la trama. Estas distancias consisten en aplicar la ecuación (1) [3] sobre la información que se compara para la toma de decisiones en el reconocimiento:

edu.red

Para una mejor ilustración, véase en el Anexo I, la programación en Matlab de dicha ecuación.

Resultando de esta manera los ocho experimentos que se describen en la Tabla 1:

Tabla 1 Descripción de los experimentos.

Experimento

Codec empleado

Inserción de pérdidas

Información empleada para el reconocimiento.

1

G.729

No

Voz sintetizada.

2

G.729

No

Voz comprimida

3

G.729

Si

Voz sintetizada.

4

G.729

Si

Voz comprimida

5

LPC-10

No

Voz sintetizada.

6

LPC-10

No

Voz comprimida

7

LPC-10

Si

Voz sintetizada.

8

LPC-10

Si

Voz comprimida

Y para ofrecer una visión gráfica de todo esto véase Anexos del II al V, que corresponden al empleo del G.729 como compresor, los cuatro experimentos restantes tienen un esquema casi idéntico, sólo cambia el codec que es el LPC-10.

3.1 DESCRIPCIÓN DE LOS EXPERIMENTOS

  • I. En este experimento, como se ha dicho, se corresponde a la primera variante descrita anteriormente en el que se emplea el códec G.729, este trabaja con una señal de voz muestreada a 8Khz. Por tanto en el sistema que se destine al reconocimiento deberá realizarse un entrenamiento con esa misma frecuencia. Esta es una consideración que deberá aplicarse a cada uno de los experimentos.

En este caso se hace un reconocimiento sobre la voz sintetizada, o sea, se emplea un análisis de los coeficientes cepstrales a partir de dicha señal, y posteriormente se aplica una medida de la distancia euclidiana de estos coeficientes cepstrales calculados, con respecto a los coeficientes cepstrales de los comandos que fueron determinados en el entrenamiento.

En este caso se precisa de una velocidad de transmisión de 8Kbps, o sea, la velocidad de transmisión del G.729.

  • II. En este segundo experimento no varía el códec utilizado, se mantiene el G.729, pero no se realiza en ningún momento el proceso de decodificación. Con respecto a la ocurrencia de pérdidas, se mantiene un experimento ideal, o sea, con probabilidad cero de ocurrencia de pérdidas o cambio de estado en los parámetros del modelo. La diferencia con respecto al primer experimento, además de que no es necesario realizar la decodificación, en este caso la medida de las distancias se realiza sobre los coeficientes LSP que constituyen los parámetros dentro del formato de la trama que contienen la información de Predicción Lineal, o sea, no se realiza el reconocimiento sobre toda la voz codificada, sino sólo sobre una parte de ella. Por tanto, pudiera decirse que en este caso se emplea, con algunas variantes, el algoritmo de Predicción Lineal. Por supuesto, incluyendo el ya mencionado método de determinación de la medida empleada para el reconocimiento, o sea, la distancias euclidiana.

En este caso pudiera emplearse una velocidad de transmisión de 1.8kbps, teniendo en cuenta que para el reconocimiento solamente se necesita cuatro bits de la trama que se envía cada 10ms, o sea, los LSP.

  • III. En este experimento el procedimiento es parecido al realizado en el primer experimento, con la diferencia de que en este caso se insertan pérdidas en las transmisiones. Teniendo en cuenta que las pérdidas en las transmisiones de paquetes en canales IP ocurren en ráfagas y que se pueden describir de una forma muy eficiente con el modelo de Gilbert de dos estados, se realizan pruebas para varias probabilidades de ocurrencia de esas pérdidas.

Aquí la ocurrencia de pérdidas de información tiene una implicación directa en la calidad de la voz recuperada en el proceso de decodificación lo cual significa que se han atenuado o amplificado componentes de frecuencia que estaban contenidas en la voz original. Por tanto, es de esperar de antemano un aumento de las distancias calculadas entre el conjunto de coeficientes cepstrales del segmento de voz que se está reconociendo y los coeficientes de la base de datos que se emplean como patrones. La velocidad que se precisa es la misma que en el primer experimento.

  • IV. En este experimento el procedimiento es parecido al realizado en el experimento número II. Aquí las pérdidas que se imprimen en la transmisión tienen una mayor influencia en el ahora deficiente proceso de reconocimiento, puesto que una determinación de distancias euclidianas arrojará valores mayores cuando se ha realizado cambios sobre la información de Predicción Lineal de cada trama contenida en tan sólo dieciocho bits, o sea, los LSP.

Si lo que se transmite es la trama del G.729 íntegramente entonces para cualquier valor de probabilidad de pérdida los LSP se verán menos afectados que si lo que se transmitiera fueran sólo los LSP. Si así fuera, la velocidad de transmisión necesaria sería 1.8 Kbps.

  • V. En este experimento la primera variante ocurre en la utilización de un códec diferente, el LPC-10. Este códec trabaja a una tasa de 2.4Kbps, o sea, representa una reducción considerable con respecto al G.729. Lo cual tiene como consecuencia una reducción de la calidad de la voz sintetizada.

La transmisión se hace sin pérdidas y el reconocimiento se realiza empleando los coeficientes cepstrales calculados sobre la voz recuperada después de la decodificación. Aquí la velocidad que se necesita en la transmisión es la misma que la del códec.

  • VI. En este caso se procede de forma similar el experimento anterior pero sobre la voz comprimida, y al igual que en el experimento número II, no se realiza sobre toda la voz comprimida, sino sobre uno de los parámetros que conforman la trama, o sea, los coeficientes de Predicción Lineal ak que representan los LPC. Lo cual, teniendo en cuenta que el códec LPC-10 normalmente tiene un pobre rendimiento en cuanto a la calidad de la voz sintetizada, significa empeorar considerablemente las condiciones para el reconocimiento. Aquí se puede extraer de la trama que codifica el LPC-10, los coeficientes de predicción, o bien pudiera transmitirse solamente dicho parámetro en cuyo caso se necesitaría solamente una velocidad de transmisión de 2Kbps.

  • VII. Para esta variante el proceso de codificación se realiza con el LPC-10 de forma muy similar al experimento V con la diferencia de que se insertan pérdidas en la transmisión, se sintetiza la voz con la decodificación y posteriormente se realiza el reconocimiento sobre la voz sintetizada. O sea, se realiza una medida de las distancias euclidianas sobre las muestras de voz recuperadas en el proceso de síntesis con respecto a los patrones. Lo cual, si se tiene en cuenta que el LPC-10 no sintetiza con suficiente calidad, arroja como resultado un reconocimiento deficiente.

  • VIII. En este experimento el proceso de codificación se realiza con el LPC-10 pero no se hace un proceso de decodificación puesto que el reconocimiento es sobre la voz comprimida. Pero no sobre toda la voz comprimida, sino teniendo en cuenta solamente los coeficientes de Predicción Lineal que se utilizan para configurar el filtro que modela el tracto bocal. Además se insertan pérdidas en la transmisión, lo cual dificulta aún más el proceso de reconocimiento.

Al igual que en el experimento número VI, pudiera emplearse una velocidad de 2kbps, en el caso en que se decida reducir la velocidad al enviar solamente los LPC y no toda la trama.

3.2 DISCUSIÓN DE LOS RESULTADOS

Los dos elemento que deben tenerse en cuenta a la hora de exponer los resultados de la realización de estos ocho experimentos descritos hasta aquí, son: en primer lugar la eficacia del reconocimiento de los comandos elegidos como expresión de los aciertos y desaciertos, y en segundo lugar, el coste computacional de los algoritmos matemáticos que se definen como resultados de las distintas variantes de cada experimento.

Para mostrar el comportamiento de estos dos elementos, se ofrece a continuación la tabla 2 con los resultados obtenidos en cada caso para cinco comandos elegidos, y la efectividad en porcentaje de su reconocimiento para diez pruebas, y el análisis posterior.

Tabla 2 Por ciento de efectividad del reconocimiento por comandos y por experimentos.

edu.red

La efectividad del reconocimiento depende en todos los casos, primero del tipo de esquema que se haya empleado. Por supuesto, para el experimento número uno se observa un reconocimiento muy bueno puesto que la calidad de síntesis del G.729 es muy buena, y si se tiene en cuenta además que no se insertan pérdidas pues es lógico el resultado. Aunque es comparable con el obtenido en el segundo experimento, ya que los LSP representan la información de Predicción Lineal cuantificada y se presentan como una buena variante para el reconocimiento.

Es necesario aclarar que la diferencia en cuanto a eficiencia, entre los experimentos uno y dos, está dada por la razón de que, aunque los LSP empleados en el segundo experimento, representan de una forma muy fiel la información de Predicción Lineal, estos vienen cuantificados, lo cual provoca notables diferencias entre los vectores que contienen estos parámetros.

En cuanto al coste computacional, se nota que el experimento uno requiere, ligeramente, más tiempo que el dos, ya que en el dos no se realiza la decodificación, porque basta con recibir los LSP.

Tanto para la eficiencia como para el coste computacional, los experimentos tres y cuatro presentan una menor eficiencia que el uno y el dos, por la presencia de las pérdidas, y mayor coste computacional ya que es necesario hacer un procesamiento para logar el efecto del comportamiento del canal, lo que se traduce en la inserción de pérdidas en la información que se recibe en el receptor.

Con respecto a los últimos cuatro experimentos, que son realizados con el LPC-10, el experimento cinco y seis presentan, como se puede observar en la Tabla 2, una notable diferencia en cuanto a la eficiencia ya que al realizar el reconocimiento sobre los coeficientes de Predicción Lineal, se obtiene una eficiencia del 100%, no así en el experimento cinco, en el cual se realiza el reconocimiento sobre la voz decodificada por el LPC-10, que como se ha dicho anteriormente tiene una pobre calidad en la voz que sintetiza. Y por su parte el coste computacional del experimento seis es menor que el del cinco ya que no debe realizar la decodificación.

Los experimentos siete y ocho son muy similares al cinco y seis respectivamente, con la diferencia de que se tienen en cuenta las condiciones del canal en la inserción de pérdidas.

Las pérdidas que se insertaron en los experimentos tres, cuatro, siete y ocho estuvieron siempre del 15% al 20%. En este sentido es necesario aclarar que sólo en las condiciones del experimento ocho se obtuvo un 100% de efectividad.

De forma general para los dos códec se evidencia una disminución de la eficiencia con la ocurrencia de pérdidas de información.

Por su parte, el coste computacional expresado como tiempo de ejecución, es similar para ambos codecs, la diferencia radica en los casos en que el reconocimiento se hace empleando la información de voz comprimida, puesto que, en algunos casos la función destinada a calcular la distancia euclidiana (ver anexo número 1) debe trabajar con parámetros de entrada que ahora son matrices de dimensiones relativamente grandes, y en otros esto significa no tener que realizar la decodificación.

Teniendo en cuenta que la respuesta al problema planteado en la introducción de este trabajo, debiera estar dirigida a la realización de algún tipo de acción que complete el proceso de control remoto, pues se ha asociado a cada uno de los comandos de la tabla anterior una acción desde Matlab que permita comprobar de forma clara la eficacia del proceso de reconocimiento.

Así, Configurar, permite realizar configuraciones del registro de Windows; Matlab ejecuta el programa Matlab; Apagar, reinicia o apaga la computadora; Block, abre el editor de notas de Windows, y por último Archivos, abre "Mis Documentos".

Por otra parte, las velocidades de transmisión pueden ser reducidas considerablemente en los casos en que se hace un reconocimiento sobre la voz comprimida, enviando solamente los parámetros de interés. Para el LPC-10 serían los LPC lográndose una reducción hasta 2kbps, y para el G.729 serían los pares de espectro lineal LSP reduciendo la velocidad hasta 1.8kbps.

Conclusiones

Como conclusión inicial debe decirse que para realizar un reconocimiento de voz de forma remota, la fidelidad de la voz que se recupera en el lado del receptor es fundamental, puesto que la información espectral debe conservarse en la mayor medida posible para que la aplicación reconocedora tenga una información más precisa a la hora de la identificación.

En ese sentido, el codec G.729 ofrece mayores facilidades que el LPC-10 a la hora de realizar un reconocimiento en el que un esquema de compresión esté de por medio entre el transmisor y el receptor, ya que logra conservar con mayor fidelidad la información espectral al sintetizar la voz, o sea, cuando el reconocimiento se realiza sobre la voz sintetizada, es más eficiente el G.729. Esto se debe fundamentalmente a que este codec emplea segmentos de voz que son mucho más pequeños que los empleados por el LPC-10, logrando aprovechar con mayor eficiencia la estacionariedad de la señal de voz.

No así, puede extenderse esta idea al esquema de reconocimiento en que el algoritmo reconocedor trabaje con la voz comprimida, puesto que el LPC-10 captura un considerable volumen de información espectral en los LPC, o sea, en este caso es más eficiente el LPC-10 que el G.729.

Referencias

  • 1. Modelado de la señal de Voz, Grupo PAS. Universidad de Deusto, España.

  • 2. Peinado, A.M.; Sánchez, V.; Perez-Cordoba, J., et al., HMM-based channel error mitigation and its application to distributed speech recognition, Speech Communication.

  • 3. Lawrence, R., Fundamentals of speech recognition.

  • 4. UIT-T, Recomendación G.729, CS-ACELP.

  • 5. Norma FS1015, LPC-10, Lineal Prediction Coefficients.

Anexos

Anexo I: Código en Matlab de la función distancia.

function diag = distancia(ftr_a,ftr_b)

[m_a,n_a]=size(ftr_a);

[m_b,n_b]=size(ftr_b);

if(m_a < m_b )

guide = ftr_a; slave = ftr_b;

m = m_b; n = m_a;

else

guide = ftr_b; slave = ftr_a;

m = m_a; n = m_b;

end;

dist = zeros(m,n);

for i = 1:m

for j = 1:n

dist(i,j) = sqrt(sum(((guide(j,:)-slave(i,:)).*(guide(j,:)-slave(i,:))).^2));

end;

end;

tot_dist = dist; [a,b] = size (tot_dist);

if a>b

dim = b;

else

dim = a;

end

diag=[];

for i=1:dim

diag = [diag,tot_dist(i,i)];

end

Anexo II. Experimento I.

edu.red

Anexo III. Experimento II.

edu.red

Anexo IV. Experimento III.

edu.red

Anexo V. Experimento IV.

edu.red

 

 

Autor:

Gallego Martínez, Elieser Ernesto.

Universidad de Pinar del Río, Cuba, Martí 270, final.

Departamento de Telecomunicaciones y Electrónica.

Correa Fernández, Angel.

Universidad de Pinar del Río, Cuba, Martí 270, final.

Departamento de Telecomunicaciones y Electrónica.

Blanco Ortiz, Alexei.

Universidad de Pinar del Río, Cuba, Martí 270, final.

Departamento de Telecomunicaciones y Electrónica.