[go: up one dir, main page]

ES2604652T3 - Método y dispositivo para detectar la actividad vocal - Google Patents

Método y dispositivo para detectar la actividad vocal Download PDF

Info

Publication number
ES2604652T3
ES2604652T3 ES13765821.7T ES13765821T ES2604652T3 ES 2604652 T3 ES2604652 T3 ES 2604652T3 ES 13765821 T ES13765821 T ES 13765821T ES 2604652 T3 ES2604652 T3 ES 2604652T3
Authority
ES
Spain
Prior art keywords
vad
activity
decision
measurement
primary
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
ES13765821.7T
Other languages
English (en)
Inventor
Martin Sehlstedt
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of ES2604652T3 publication Critical patent/ES2604652T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L25/87Detection of discrete points within a voice signal
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/012Comfort noise or silence coding
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Telephonic Communication Services (AREA)
  • Geophysics And Detection Of Objects (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Emergency Alarm Devices (AREA)

Abstract

Un método para la detección de la actividad vocal (VAD), que comprende: - crear (310) una señal indicativa de una decisión VAD primaria; - determinar (320) si se tiene que realizar la adición de un tiempo de espera de la decisión VAD primaria; - crear (330) una señal indicativa de una decisión VAD final al menos parcialmente dependiendo de la determinación de la adición de un tiempo de espera; en el que la determinación de la adición del tiempo de espera se basa en una medición de la actividad de corta duración y en una medición de la actividad de larga duración.

Description

5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Metodo y dispositivo para detectar la actividad vocal Campo tecnico
La presente descripcion se refiere en general a un metodo y a un dispositivo para detectar la actividad vocal (VAD). Antecedentes
En los sistemas de codificacion de voz utilizados para el lenguaje en conversacion es corriente utilizar la transmision discontinua (DTX) para aumentar el rendimiento de la codificacion. La razon es que el lenguaje en conversacion contiene gran cantidad de pausas incrustadas en la conversacion, es decir, mientras una persona esta hablando, la otra esta escuchando. Asf, con DTX, el codificador de voz esta solo activo alrededor del 50% del tiempo medio y el resto se puede codificar utilizando ruido de confort. Algunos codecs de ejemplo que disponen de esta caractenstica son Banda Estrecha Adaptativa Multi Velocidad (AMR NB) y Codec Mejorado de Velocidad Variable (EVRC). AMR NB utiliza DTX y EVRC utiliza velocidad variable de bits (VBR), en los que un Algoritmo de Determinacion de la Velocidad (RDA) decide que velocidad de datos utilizar para cada trama, basandose en una decision VAD. En la operacion DTX, las tramas activas de voz se codifican utilizando el codec mientras que las tramas entre regiones activas ser reemplazan por el ruido confortable. Los parametros del ruido confortable se estiman en el codificador y se envfan al descodificador utilizando una velocidad de trama reducida y una velocidad de bits menor que la utilizada para la conversacion activa.
Para el funcionamiento en DTX de alta calidad, es decir, sin degradacion de la calidad de la voz, es importante detectar los penodos de conversacion en la senal de entrada. Esto se realiza normalmente por medio del detector de actividad vocal (VAD) (que se usa tanto en DTX como en RDA). La figura 1 muestra un diagrama general de bloques de ejemplo de un VAD 100 generalizado, el cual toma la senal de entrada 111, dividida tipicamente en tramas de datos de 5-30 ms dependiendo de la ejecucion, como entrada y produce decisiones VAD como salida, normalmente una decision para cada trama. Es decir, una decision VAD es una decision para cada trama si la trama contiene voz o ruido.
La decision preliminar, vad_prim 113, la toma en este ejemplo el detector primario de voz 101 y es justamente en este ejemplo basicamente una comparacion de las caractensticas para la trama actual y las caractensticas ambientales (estimadas normalmente a partir de las tramas previas de entrada), en la que una diferencia mayor de un cierto umbral genera una decision primaria activa. En otros ejemplos, la decision preliminar se puede lograr de otros modos, algunos de los cuales se desarrollan brevemente mas adelante. Los detalles del funcionamiento interno del detector primario de voz no es de crucial importancia para la presente descripcion y cualquier detector primario de voz que produzca una decision preliminar sera util en el presente contexto. El bloque de adicion del tiempo de espera 102 se usa en el presente ejemplo para extender la decision primaria basandose en las pasadas decisiones primarias para formar la decision final, vad_flag 115. La razon de utilizar el tiempo de espera es principalmente para reducir/eliminar el riesgo de conversacion a medias y el recorte al final de las rachas de voz. Sin embargo, el tiempo de espera se puede tambien utilizar para evitar el recorte en los pasajes musicales.
Tambien es posible anadir un tiempo de espera adicional con el proposito de DTX. En la figura 1 esto se ha ilustrado por medio de la salida opcional vad_flag_dtx 117. Debe observarse que no es normal que exista solamente una salida vad_flag sino que la logica del tiempo de espera utiliza otras configuraciones cuando se tiene que utilizar la salida para DTX. En esta descripcion, las dos salidas de la decision final vad_flag 115 y vad_flag_dtx 117 estaran separadas en la mayona de las realizaciones, con el fin de simplificar la descripcion. Sin embargo, se pueden aplicar otras soluciones basadas en configuraciones alternativas de tiempo de espera y de una unica salida.
Existen dos razones principales para utilizar diferentes salidas de la decision final o diferentes configuraciones de tiempos de espera dependiendo de si se va a utilizar o no la decision VAD para DTX. En primer lugar, desde un punto de vista de la calidad de la voz existen mayores requisitos en la deteccion VAD cuando se utiliza para DTX. Por ello, es deseable tener la seguridad de que la conversacion ha finalizado antes de conmutar al ruido de confort. La segunda motivacion es que el tiempo de espera adicional se puede utilizar para la estimacion de las caractensticas de ruido ambiente. Por ejemplo, en AMR NB se hace la primera estimacion del ruido de confort en el descodificador basandose en el tiempo de espera espedfico DTX utilizado.
Como se menciono anteriormente, existen un numero de diferentes caractensticas que se pueden utilizar para la deteccion VAD. Una posible caractenstica es considerar solo la energfa de la trama y compararla con un umbral para decidir si la trama contiene voz o no. Este esquema trabaja razonablemente bien para condiciones en las que la Relacion Senal/Ruido (SNR) es buena pero no para los casos de baja SNR. En casos de baja SNR se utilizan preferiblemente otros sistemas, por ejemplo, comparando las caractensticas de las senales de voz y de ruido. Para ejecuciones en tiempo real, un requisito adicional en la funcionalidad VAD es la complejidad computacional, que se refleja en la frecuente representacion de subbandas SNR VADs en codecs normalizados. La subbanda VAD combina normalmente las SNRs de las diferentes subbandas en un sistema comun que se compara con un umbral para la decision primaria.
5
10
15
20
25
30
35
40
45
50
55
La VAD 100 comprende un extractor de caractensticas 106 que proporciona la energfa de la caractenstica subbanda, y un estimador ambiental 105, que proporciona las estimaciones de la energfa subbanda. Para cada trama, la vAd 100 calcula las caractensticas. Para identificar las tramas activas, la(s) caractenstica(s) para la trama actual se compara(n) con una estimacion de como la caractenstica “considera” la senal ambiental.
El bloque de adicion del tiempo de espera 102 se usa para extender la decision VAD desde la VAD primaria basandose en las pasadas decisiones primarias para formar la decision final VAD, “vad_flag”, es decir las antiguas decisiones VAD se tienen tambien en cuenta. Como se menciono anteriormente, la razon para utilizar el tiempo de espera es principalmente para reducir/eliminar el riesgo de conversacion a medias y el recorte al final de las rachas de conversacion. Sin embargo, se puede utilizar tambien el tiempo de espera para evitar el recorte en los pasajes musicales. Un controlador del funcionamiento 107 puede ajustar el(los) umbral(es) para el detector primario y la longitud de la adicion del tiempo de espera de acuerdo con las caractensticas de la senal de entrada.
Tambien existen soluciones conocidas en las que se utilizan multiples caractensticas con diferentes particularidades para la decision primaria. Para VADs basadas en el principio de la SNR de la subbanda, se ha mostrado que la introduccion de una no linealidad en el calculo de la SNR de la subbanda, a veces denominada umbrales significativos, puede mejorar el rendimiento VAD para condiciones con ruido no estacionario, por ejemplo, murmullos o ruido de oficina. Sin embargo, en estos casos existe tfpicamente una decision primaria que se utiliza para anadir el tiempo de espera, que puede ser adaptativo a las condiciones de la senal de entrada, para formar la decision final. Tambien, muchas VADs disponen de un umbral de energfa de entrada para la deteccion del silencio, por ejemplo, para niveles de entrada bastante bajos, la decision primaria se fuerza al estado inactivo.
Un ejemplo en el que se utilizaron umbrales significativos para crear una solucion doble VAD se describe en la solicitud publicada de patente Internacional WO2008/143569 A1. En este caso se utilizaron VADS dobles para mejorar la actualizacion del ruido ambiente y la deteccion de musica. Sin embargo, solo se utilizo una VAD agresiva primaria para decision final vad_flag.
En el documento WO2008/143569 A1, se utilizo un metodo basado en una actividad de corta duracion filtrada en paso bajo para detectar la existencia de musica. Este metodo filtrado en paso bajo proporciona una cantidad que vana lentamente, apropiada para encontrar mas o menos tipos continuos de sonido, tfpicos para, por ejemplo, musica. Una decision adicional vad_music se puede proporcionar entonces para la adicion del tiempo de espera, haciendola posible para tratar sonido musical de un modo particular.
Existen diferentes modos de generar multiples decisiones VAD primarias. Lo mas basico sena utilizar las mismas caractensticas de la VAD original pero obtener una segunda decision primaria utilizando un segundo umbral. Otra opcion es cambiar de VAD de acuerdo con las condiciones SNR estimadas, por ejemplo, utilizando la energfa para las condiciones de alta SNR y cambiar al funcionamiento de la subbanda SNR para condiciones de SNR medias y bajas.
En la solicitud publicada de patente Internacional WO2011/049516 A1, se describe un detector de actividad vocal y el correspondiente metodo. El detector de actividad vocal esta configurado para detectar la actividad vocal en una senal de entrada recibida. El VAD comprende una combinacion de logicas configuradas para recibir una senal procedente de un detector primario vocal del indicativo VAD de una decision VAD primaria. La combinacion de logicas decide ademas al menos una senal procedente de un VAD externo indicativo de una decision de la actividad vocal procedente de un VAD externo. Un procesador combina las decisiones de la actividad vocal indicadas en las senales recibidas para generar una decision VAD primaria modificada. La decision VAD modificada se envfa a una unidad de adicion del tiempo de espera.
Un problema que ocurre con el tiempo de espera es decidir cuando y cuanto utilizar. Desde un punto de vista de la calidad de la conversacion, la adicion del tiempo de espera es basicamente positiva. Sin embargo, no es deseable anadir demasiado tiempo de espera ya que cualquier tiempo de espera adicional reducira la eficacia de la solucion DTX. Como no es deseable anadir el tiempo de espera a cada corta racha de actividad, existe usualmente un requisito de que haya un mmimo numero de tramas activas procedente del detector primario vad_prim antes de considerar la adicion de algun tiempo de espera para crear la decision final vad_flag. Sin embargo, para evitar el recorte en la conversacion es deseable mantener este numero necesario de tramas activas tan bajo como sea posible.
Para el ruido no estacionario, un bajo numero de tramas activas necesarias permitina que el propio ruido genere bastantes eventos largos VAD que dispararan la adicion del tiempo de espera. Asf, con el fin de evitar una actividad excesiva, tal solucion no permite normalmente largos tiempos de espera.
Otro problema con un numero necesario de tramas activas antes de anadir el tiempo de espera para un VAD altamente eficiente es su habilidad para detectar las pausas cortas dentro de una expresion. En este caso, existe una expresion que se ha detectado correctamente pero el altavoz realiza una ligera pausa antes de continuar. Esto hace que el VAD detecte la pausa y una vez mas requiera un nuevo periodo de tramas primarias activas antes de que se anada absolutamente cualquier tiempo de espera. Esto puede causar molestos efectos con recortes al final de los segmentos finales de la conversacion tales como expresiones finales con estallidos no vocales.
5
10
15
20
25
30
35
40
45
50
55
Un ejemplo adicional de una deteccion de actividad vocal se describe en el documento WO2011/049514 A1, en el cual se actualiza una estimacion del ruido ambiental para una senal de entrada.
Resumen
Un objetivo de las realizaciones de la invencion es abordar al menos una de las cuestiones senaladas anteriormente, y este objetivo se consigue por medio de los metodos y de los aparatos de acuerdo con las reivindicaciones independientes adjuntas, y por las realizaciones de acuerdo con las reivindicaciones dependientes.
De acuerdo con un aspecto de la invencion, se proporciona un metodo para detectar la actividad vocal (VAD) que comprende la creacion de una senal indicativa de una decision VAD primaria, y la determinacion de sf se tiene que realizar una adicion del tiempo de espera de la decision VAD primaria. La determinacion con respecto a la adicion del tiempo de espera se hace dependiendo de la medicion de una actividad de corta duracion y de la medicion de una actividad de larga duracion. Se crea entonces una senal indicativa de una decision VAD final dependiendo de al menos la determinacion de la adicion del tiempo de espera.
En una realizacion, la medicion de la actividad de corta duracion se deduce de las ultimas decisiones VAD primarias N_st.
En una realizacion, la medicion de la actividad de larga duracion se deduce de las ultimas decisiones VAD finales N_lt o de las ultimas decisiones VAD primarias N_lt.
En una realizacion, se crean dos versiones de decisiones finales, una primera decision VAD final y una segunda decision VAD final. La segunda decision VAD final se puede hacer sin la utilizacion de la medicion de la actividad de corta duracion y/o sin la utilizacion de la medicion de la actividad de larga duracion, y la medicion de la actividad de larga duracion se puede deducir de las ultimas segundas decisiones VAD finales N_lt.
En una realizacion, la decision VAD final es igual a la decision VAD primaria si se determina que no se va a realizar la adicion de un tiempo de espera. En el caso en el que se determine que se debe realizar la adicion de un tiempo de espera, una decision VAD final es igual a una decision de la actividad vocal, indicando una trama activa.
De acuerdo con otro aspecto de invencion, se proporciona un aparato para la deteccion de la actividad vocal. El aparato comprende una seccion de entrada, una disposicion primaria del detector de voz y una unidad de adicion del tiempo de espera. La seccion de entrada esta configurada para recibir una senal de entrada. La disposicion primaria del detector de voz esta conectada a la seccion de entrada. La disposicion primaria del detector de voz esta configurada para detectar la actividad vocal en la senal de entrada recibida y para crear una senal indicativa de una decision VAD primaria asociada a la senal de entrada recibida. La unidad de adicion del tiempo de espera esta conectada a la disposicion primaria del detector de voz. La unidad de adicion del tiempo de espera esta configurada para determinar si se va a realizar la adicion de un tiempo de espera de la decision VAD primaria, y para crear una senal indicativa de una decision VAD final al menos parcialmente dependiendo de la determinacion de la adicion de un tiempo de espera. El aparato comprende adicionalmente un estimador de la actividad de corta duracion y un estimador de la actividad de larga duracion. El estimador de la actividad de corta duracion esta conectado a una entrada de la unidad de adicion del tiempo de espera. El estimador de la actividad de corta duracion esta conectado a una salida de la unidad de adicion del tiempo de espera. La unidad de adicion del tiempo de espera esta conectada a una salida del estimador de la actividad de corta duracion y del estimador de la actividad de larga duracion. La unidad de adicion del tiempo de espera esta configurada ademas para realizar la determinacion del tiempo de espera dependiendo de la medicion de la actividad de corta duracion y de la medicion de la actividad de larga duracion.
En una realizacion, el estimador de la actividad de corta duracion esta configurado para deducir una medicion de la actividad de corta duracion de las ultimas decisiones VAD primarias N_st.
En una realizacion, el estimador de la actividad de larga duracion esta configurado para deducir una medicion de la actividad de larga duracion de las ultimas decisiones VAD finales N_lt o de las ultimas decisiones VAD primarias N_lt.
En una realizacion, se proporciona un aparato. Esta realizacion se basa en un procesador, por ejemplo un microprocesador, que ejecuta un componente de software para crear una senal indicativa de una decision VAD primaria, un componente de software para determinar si se va a realizar la adicion de un tiempo de espera de la decision VAD primaria y un componente de software para crear una senal indicativa de una decision VAD final al menos parcialmente dependiendo de la determinacion de la adicion de un tiempo de espera. En esta realizacion, el procesador ejecuta un componente de software para deducir la medicion de una actividad de corta duracion de las ultimas decisiones VAD primarias N_st y/o un componente de software para deducir la medicion de una actividad de corta duracion de las ultimas decisiones VAD finales N_lt. Estos componentes de software estan almacenados en una memoria.
De acuerdo con otro aspecto de la invencion, se proporciona un programa de ordenador. El programa de ordenador comprende unidades de codigo interpretables por ordenador que cuando se ejecutan en una aparato hace que el
5
10
15
20
25
30
35
40
45
50
aparato cree una senal indicativa de una decision VAD primaria, determine si se tiene que realizar la adicion de un tiempo de espera de la decision VAD primaria basandose en una medicion de la actividad de corta duracion y en una medicion de la actividad de larga duracion y cree una senal indicativa de una decision VAD final al menos parcialmente dependiendo de la determinacion de una adicion del tiempo de espera.
De acuerdo con otro aspecto de la invencion, se proporciona un producto de programa de ordenador. El producto de programa de ordenador comprende medios interpretables por ordenador y un programa de ordenador para crear una senal indicativa de una decision VAD primaria, para determinar si se tiene que realizar la adicion de un tiempo de espera de la decision VAD primaria basandose en una medicion de la actividad de corta duracion y en una medicion de la actividad de larga duracion, y para crear una senal indicativa de una decision VAD final al menos parcialmente dependiendo de la determinacion de la adicion de un tiempo de espera, que se almacena en los medios interpretables por ordenador.
Breve descripcion de los dibujos
Para una comprension mas completa de las realizaciones de ejemplo de la presente invencion, se hace ahora referencia a la siguiente descripcion en conexion con los dibujos que se adjuntan, en los cuales:
La figura 1 muestra un ejemplo de una VAD generica con estimacion ambiental.
La figura 2 ilustra una realizacion de ejemplo de una VAD de acuerdo con la invencion.
La figura 3 es un diagrama de flujo que ilustra un metodo VAD de ejemplo de acuerdo con una realizacion de la invencion.
La figura 4A ilustra una realizacion de ejemplo de una VAD de acuerdo con la invencion.
La figura 4B ilustra otra realizacion de ejemplo de una VAD de acuerdo con la invencion.
La figura 4C ilustra otra realizacion mas de ejemplo de una VAD de acuerdo con la invencion.
La figura 5 ilustra una realizacion adicional de ejemplo de una VAD de acuerdo con la invencion.
La figura 6 muestra una realizacion de una VAD con tiempo de espera.
La figura 7 muestra una realizacion de una VAD adicional.
Descripcion detallada
Se ha encontrado actualmente una forma de atenuar tales problemas que consiste en utilizar las caractensticas
temporales de los metodos de deteccion primaria y de los metodos de decision final. Se ha encontrado que estos
sirven para ajustar el tiempo de espera adicional. Al menos una de las decisiones primarias que entran dentro de la adicion del tiempo de espera y de la decision final extrafda de la adicion del tiempo de espera se utiliza preferentemente para influir en la adicion del tiempo de espera, y preferiblemente se utilizan ambas. La decision primaria que entra dentro de la adicion del tiempo de espera puede ser la decision primaria original obtenida de un detector primario de voz, o puede ser una version modificada de tal decision primaria original. Tal modificacion se puede realizar basandose en las salidas de otras VADs.
Una realizacion de un tipo generico de VAD 200 que hace uso de la decision primaria que entra dentro de la adicion del tiempo de espera 202 y de la decision final extrafda de la adicion del tiempo de espera 202 se ilustra en la figura 2.
Un extractor de caractensticas 206 proporciona la energfa de la caractenstica subbanda, un estimador ambiental 205 proporciona las estimaciones de la energfa subbanda, un controlador del funcionamiento 207 puede ajustar el(los) umbral(es) para el detector primario y para la longitud de la adicion del tiempo de espera de acuerdo con las caractensticas de la senal de entrada, y un detector primario de voz 201 realiza la primera decision vad_prim 213 como se describio en conexion con la figura 1.
En esta realizacion, el detector de actividad vocal 200 comprende ademas un estimador de la actividad de corta duracion 203 y/o un estimador de la actividad de larga duracion 204. Las caractensticas temporales se capturan utilizando las caractensticas de la actividad de corta duracion de la decision primaria vad_prim 213, y de la actividad de larga duracion de la decision final, vad_flag de 215. Estos metodos se utilizan entonces para ajustar la adicion del tiempo de espera para mejorar el rendimiento VAD para su uso en DTX por medio de crear una decision final alternativa, vad_flag_dtx 217.
Aqrn, en este caso, la actividad de corta duracion se mide contando el numero de tramas activas en una memoria de las ultimas decisiones primarias N_st vad_prim 213. De forma similar la actividad de larga duracion se mide contando el numero de tramas activas en la decision final vad_flag 215 en las ultimas tramas N_lt. N_lt es mayor que N_st, preferiblemente considerablemente mayor. Estos metodos se usan entonces para crear la decision final
5
10
15
20
25
30
35
40
45
50
55
alternativa vad_flag_dtx 217. La ventaja de utilizar estos metodos es que simplifica el ajuste del tiempo de espera as^ como que es mas facil anadir el tiempo de espera solamente las veces en las que la actividad es ya alta.
Una actividad alta de larga duracion indica el comienzo, el punto medio o el final de una racha activa. A primera vista este metodo puede parecer similar a la forma utilizada corrientemente de requerir solo un numero de tramas activas consecutivas como se menciono anteriormente. Sin embargo, la diferencia principal es que la actividad de corta duracion no se anula cuando aparece una decision de no actividad. En su lugar, existe una memoria que recuerda una trama activa hasta las N_st tramas antes de que eventualmente salga de la memoria. Una trama no activa reducira por consiguiente solo algo la actividad media de corta duracion. Para una actividad de corta duracion suficientemente alta, sena seguro anadir unas pocas tramas de tiempo de espera, ya que como la actividad de corta duracion ya es alta el tiempo de espera adicional tendra solo un pequeno efecto sobre la actividad total. Las tramas dispersas de no actividad no reduciran suficientemente la actividad de corta duracion para interrumpir tal operacion de tiempo de espera.
Las tramas dispersas sin actividad pueden corresponder a pausas cortas en la mitad de una expresion o pueden ser una deteccion falsa sin actividad, por ejemplo, causada por secuencias cortas de conversacion sin voz. Al utilizar la actividad de corta duracion del modo indicado anteriormente, se puede mantener la adicion del tiempo de espera durante tales ocasiones.
De manera similar, una alta actividad de larga duracion indica que la racha de conversacion ha sido activa durante algun tiempo. Si la actividad de larga duracion es alta es asf porque con gran probabilidad anadir varias tramas adicionales de tiempo de espera solo tiene un pequeno efecto sobre la actividad total.
En una realizacion, la actividad de corta duracion y la actividad de larga duracion, respectivamente, se comparan con un umbral respectivo predeterminado. Si se alcanza el respectivo umbral, se anade un numero respectivo predeterminado de tramas de tiempo de espera.
Dado que la actividad de larga duracion reacciona relativamente lenta dependiendo de un final real de la actividad de conversacion, existe el riesgo de utilizar un gran numero de tramas de tiempo de espera anadidas un tiempo relativamente largo despues del final de la racha de conversacion. Con este fin, es tambien posible utilizar una actividad corta de baja duracion como una indicacion del final de una racha de conversacion. Podna, por consiguiente, ser deseable en una realizacion, limitar la cantidad de tiempo de espera adicional si la actividad de corta duracion cae por debajo de un umbral predeterminado. En otras palabras, una actividad de corta duracion suficientemente baja puede ignorar la adicion de tramas de tiempo de espera como indicadas por una alta actividad simultanea de larga duracion.
Mas adelante, las realizaciones anteriores se describen en la mayona de los casos como modificaciones de soluciones existentes en las que el aumento de la complejidad es pequeno. Sin embargo, es tambien posible disenar una VAD completamente nueva que tiene que utilizar los metodos anteriores para proporcionar una decision VAD mas fiable.
En una realizacion ilustrada esquematicamente en la figura 3, un metodo en un detector de actividad vocal para detectar la actividad vocal en una senal de entrada recibida comprende la creacion 310 de una senal indicativa de una decision VAD primaria asociada a la senal de entrada recibida, preferiblemente analizando las caractensticas de la senal de entrada recibida. Esto se determina en 320 si se tiene que realizar o no una adicion del tiempo de espera de la decision VAD primaria. En 330 se crea una senal indicativa de una decision VAD final. Una decision VAD final es igual a la decision VAD primaria si se determina que no se tiene que realizar la adicion de un tiempo de espera. Una decision VAD final es igual a una decision de actividad vocal si se determina que se tiene que realizar la adicion de un tiempo de espera. Ya que se anade el tiempo de espera, la decision de actividad vocal se fija para indicar la trama activa, es decir, una trama que contiene mas conversacion que ruido. Una medicion de la actividad de corta duracion se deduce en 340 de las ultimas decisiones VAD primarias N_st y/o una medicion de la actividad de larga duracion se deduce en 342 en las ultimas decisiones VAD finales N_lt. La determinacion de si se tiene que realizar o no la adicion de un tiempo de espera se hace dependiendo de la medicion de la actividad de corta duracion y/o de la medicion de la actividad de larga duracion. Aunque si la figura 3 se ilustra como un simple flujo de eventos, el sistema real tratara una trama a continuacion de la otra. Las flechas discontinuas indican que la dependencia de la medicion de la actividad de corta duracion y/o de la medicion de la actividad de larga duracion es valida para una trama sucesiva.
Se debe comprender que la figura 3 no ilustra un flujo de senal sino mas bien etapas del metodo a realizar de acuerdo con una realizacion de la invencion. Es decir, la creacion de una decision VAD final 330 puede comprender la creacion de una decision final alternativa (por ejemplo, vad_flag_dtx 217) basandose en las mediciones de la actividad de corta duracion y/o de la actividad de larga duracion. La decision final alternativa, sin embargo, no se utiliza como una entrada para el estimador de la actividad de larga duracion 204 ya que introducina un bucle de realimentacion de la actividad (debido a la modificacion de la caractenstica a medir con la adicion del tiempo de espera ajustado). Por consiguiente, la creacion de una decision VAD final 330 puede tambien comprender crear una decision final (por ejemplo, vad_flag 215) basandose en la tecnica tradicional del tiempo de espera y/o en las mediciones de la actividad de corta duracion pero no en las mediciones de la actividad de larga duracion, las cuales
5
10
15
20
25
30
35
40
45
50
55
60
se utilizan entonces como una entrada para el estimador de la actividad de larga duracion 204, como se muestra en la figura 2.
En una realizacion, ilustrada esquematicamente en la figura 4A, un detector de actividad vocal 400 comprende una seccion de entrada 412, una disposicion del detector primario de voz 401 y una unidad de adicion del tiempo de espera 402. La seccion de entrada esta configurada para recibir una senal de entrada. La disposicion del detector primario de voz 401 esta conectada a la seccion de entrada 412. La disposicion del detector primario de voz 401 esta configurada para detectar la actividad vocal en la senal de entrada recibida y para crear una senal indicativa de una decision VAD primaria asociada a la senal de entrada recibida. La unidad de adicion del tiempo de espera 402 esta conectada a la disposicion del detector primario de voz 401. La unidad de adicion del tiempo de espera 402 esta configurada para determinar si se tiene que realizar o no la adicion de un tiempo de espera de dicha decision VAD primaria y para crear una senal indicativa de una decision VAD final. La decision VAD final es igual a la decision VAD primaria si se determina que no se debe realizar la adicion de un tiempo de espera. La decision VAD final es igual a una decision de la actividad vocal si se determina que se debe realizar la adicion del tiempo de espera. El detector de actividad vocal 400 comprende ademas un estimador de la actividad de corta duracion 403 y/o un estimador de la actividad de larga duracion 404. El estimador de actividad de corta duracion 403 esta conectado a una entrada de una unidad de adicion del tiempo de espera 402. El estimador de la actividad de corta duracion 403 esta configurado para deducir una medicion de la actividad de corta duracion de las ultimas decisiones VAD primarias N_st. El estimador de la actividad de larga duracion 404 esta conectado a una salida de la unidad de adicion del tiempo de espera 402. El estimador de la actividad de larga duracion 404 esta configurado para deducir una medicion de la actividad de larga duracion de las ultimas decisiones VAD finales N_lt. La unidad de adicion del tiempo de espera 402 esta conectada a una salida del estimador de la actividad de corta duracion 403 y/o del estimador de la actividad de larga duracion 404. La unidad de adicion del tiempo de espera 402 esta ademas configurada para realizar la determinacion del tiempo de espera dependiendo de la medicion de la actividad de corta duracion y/o de la medicion de la actividad de larga duracion. La determinacion del tiempo de espera dependiente de la medicion de la actividad de corta duracion y/o de la medicion de la actividad de larga duracion puede entonces utilizarse para ajustar la adicion del tiempo de espera para mejorar el rendimiento VAD para su uso en DTX al crear una decision final alternativa.
El detector de actividad vocal se proporciona normalmente en un codec vocal o de sonido. Tales codecs se proporcionan tipicamente en diferentes dispositivos finales, por ejemplo, en redes de telecomunicacion. Ejemplos no limitativos son los telefonos, ordenadores, etc., en los que se realiza la deteccion o registros del sonido.
En una realizacion, la decision VAD final la da un indicador adicional 410, ademas de la decision VAD final hecha sin la utilizacion de las mediciones de la actividad de corta duracion o de las mediciones de la actividad de larga duracion, normalmente como una decision VAD final para el uso en DTX, como se ilustra en la figura 4B. Las dos versiones de las decisiones finales se pueden utilizar entonces en paralelo para diferentes unidades o funcionalidades. En otra realizacion alternativa, la utilizacion de las mediciones de la actividad de corta duracion o de las mediciones de la actividad de larga duracion se puede conmutar si/no dependiendo del contexto en el cual se va a utilizar la decision VAD.
En otra realizacion, en la que una decision VAD final no esta disponible o no es apropiada para hacer cualquier analisis de la actividad de larga duracion, se puede realizar en su lugar un analisis de la actividad de larga duracion sobre la decision VAD primaria. En tal realizacion, el estimador de la actividad de larga duracion 404 se conecta por el contrario a la entrada de la unidad de adicion del tiempo de espera 402, como se muestra en la figura 4C, y se deduce una medicion de la actividad de larga duracion de las ultimas decisiones VAD primarias N_lt.
En otra realizacion mas, se pueden realizar las estimaciones de la actividad de corta y larga duracion en la decision VAD primaria y/o final diferente de la decision VAD primaria y/o final sobre la cual se tiene que realizar el ajuste de la adicion del tiempo de espera. Una posibilidad es tener una simple VAD que produzca una decision VAD primaria y una simple unidad de tiempo de espera modificando la dentro de una decision VAD final. El comportamiento de la actividad de corta y de larga duracion de tales decisiones VAD primarias y/o finales puede entonces ser analizado. Sin embargo, otra configuracion VAD, por ejemplo una mas sofisticada, se puede entonces utilizar para proporcionar la decision VAD primaria de interes para el ajuste de la adicion del tiempo de espera. Las actividades analizadas a partir del sistema simple pueden entonces utilizarse para controlar el funcionamiento de la unidad de adicion del tiempo de espera 402 del sistema VAD mas elaborado, proporcionando una decision VAD final fiable.
A partir aqrn, se describira un ejemplo de una realizacion de un detector de actividad vocal 500 con referencia a la figura 5. Esta realizacion se basa en un procesador 510, por ejemplo, un microprocesador, que ejecuta un componente de software 501 para crear una senal indicativa de una decision VAD primaria, un componente de software 502 para determinar si se tiene que realizar una adicion del tiempo de espera de la decision VAD primaria y un componente de software 503 para crear una senal indicativa de una decision VAD final. En esta realizacion el procesador 510 ejecuta un componente de software 504 para deducir la medicion de una actividad de corta duracion procedente de las ultimas decisiones VAD primarias N_st y/o un componente de software 505 para deducir la medicion de una actividad de larga duracion procedente de las ultimas decisiones VAD finales N_lt. Estos componentes de software se almacenan en una memoria 520. El procesador 510 se comunica con la memoria 520 sobre un bus del sistema 515. La senal de audio es recibida por un controlador de entrada/salida (E/S) 530 que
5
10
15
20
25
30
35
40
45
50
55
controla un bus E/S 516, al cual estan conectados el procesador 510 y la memoria 520. En esta realizacion, las senales recibidas por el controlador E/S 530 se almacenan en la memoria 520, en la cual son tratadas por los componentes de software. El componente de software 501 puede realizar la funcionalidad de la etapa 310 en la realizacion descrita con referencia a la figura 3 anterior. El componente de software 502 puede realizar la funcionalidad de la etapa 320 en la realizacion descrita con referencia a la figura 3 anterior. El componente de software 503 puede realizar la funcionalidad de la etapa 330 en la realizacion descrita con referencia a la figura 3 anterior. El componente de software 504 puede realizar la funcionalidad de la etapa 340 en la realizacion descrita con referencia a la figura 3 anterior. El componente de software 505 puede realizar la funcionalidad de la etapa 342 en la realizacion descrita con referencia a la figura 3 anterior.
La unidad E/S 530 se puede interconectar al procesador 510 y/o a la memoria 520 por medio de un bus E/S 516 para habilitar la entrada y/o la salida de datos relevantes tales como las senales de entrada y las decisiones VAD finales.
En una realizacion, los contadores de tramas activas en la memoria de las decisiones primarias y de las decisiones finales se utilizan como se ha descrito anteriormente. En realizaciones alternativas, sena posible utilizar una ponderacion que dependa de la antiguedad de la trama activa en la memoria. Esto es posible tanto para la actividad primaria de corta duracion como para la actividad de decision final de larga actividad. En realizaciones adicionales, podna ser posible utilizar diferentes tiempos de espera adicionales dependiendo de otras caractensticas de la senal de entrada, tales como nivel de conversacion, nivel de ruido y/o SNR estimados.
En otras realizaciones, podna ser interesante utilizar mas de dos caractensticas temporales para localizar mejor el principio, la mitad o el final de una racha activa de conversacion.
En realizaciones adicionales, los principios de decisiones de los tiempos de espera descritos anteriormente se podnan tambien combinar con otras soluciones de mejora de la VAD tales como los principios del combinador Multi VAD presentado en el documento WO2011/049516. En este caso se puede utilizar la decision VAD primaria modificada como entrada al estimador de la actividad de corta duracion y el bloque de adicion del tiempo de espera. El combinador Multi VAD podna entonces ser considerado como una parte de la disposicion del detector vocal primario.
De manera similar, se pueden integrar con las presentes ideas, ventajosa y facilmente, diferentes enfoques adicionales para estimar el ambiente.
Un codec G.718 de acuerdo con las normas 3GPP2 se utiliza como la base para una realizacion que se presentara en este documento mas adelante. Una descripcion detallada de las partes relacionadas se puede encontrar en, por ejemplo, la solicitud publicada de patente internacional W02009/000073 A1.
La figura 6 muestra un diagrama de bloques de un sistema de comunicacion de sonidos del documento W02009/000073 A1 que comprende un preprocesador 601, un analizador de espectros 602, un detector de actividad del sonido 603, un estimador del ruido 604, un reductor opcional del ruido 605, un analizador LP y localizador del tono 606, un modulo de actualizacion de la energfa estimada del ruido 607, un clasificador de la senal 608 y un codificador de sonido 609. La deteccion de la actividad del sonido (primera fase de la clasificacion de la senal) se realiza en el detector de la actividad del sonido 603 utilizando las estimaciones de la energfa de ruido calculadas en la trama anterior. La salida del detector de actividad del sonido 603 es una variable binaria utilizada posteriormente por el codificador 609 y que determina si la trama actual se codifica como activa o como inactiva.
El modulo “SAD Basado en SNR” 603 es el modulo en el que se pueden practicar las realizaciones de la presente descripcion. Actualmente, la realizacion presentada solo cubre la cadena de senal de banda ancha, con muestreo en 16kHz, pero una modificacion similar podna ser beneficiosa para la cadena de senal de banda estrecha, con muestreo en 8 kHz, en cualesquiera otras tasas de muestreo.
En una realizacion, basada en los principios presentados en el documento WO2011/049516 A1, se utiliza la VAD original segun el documento WO2009/000073 A1 (VAD 1) como la primera VAD, generando las senales localVAD y vad_flag. Esta localVAD se usa en la presente descripcion como VAD_prim 213 en la cual se hace la estimacion de la actividad de corta duracion.
La VAD adicional (VAD 2) se basa tambien en el documento W02009/000073 A1 pero se logra utilizando las modificaciones para la estimacion de ruido ambiental y para la SAD basada en SNR. La figura 7 muestra un diagrama de bloques para la segunda VAD. El diagrama de bloques muestra un preprocesador 701, un analizador de espectro 702, un modulo “SAD basado en SNR” 703, un estimador del ruido 704, un reductor opcional del ruido 705, un analizador de LP y localizador del tono 706, un modulo de actualizacion de la energfa estimada de ruido 707, un clasificador de senal 708 y un codificador de sonido 709.
El diagrama de bloques tambien muestra las decisiones VAD primarias y final para VAD 2, localVAD_he 710 y vad_flag_he 711, respectivamente. La localVAD_he 710 y la vad_flag_he 711 se utilizan en el detector primario de voz de la VAD1 para producir la localVAD.
Para esta realizacion se anaden las variables siguientes al estado del codificador (Encoder_State):
long long vad_flag_reg; long long vad_prim_reg; short vad_flag_cnt_50; short vad_prim_cnt_16;
/* memory of old vad_flag */
/* memory of old localVAD */
/* counter of vad flag active frames */ /* counter of primary active frames */
short hangover_cnt_dtx; /* counter of hangover frames for DTX *!
Todos estos estados se deben poner a cero durante la inicializacion, es decir, se podna hacer en la rutina wb_vad_init().
5 Ademas, se actualizan las caracteristicas de la actividad de corta duracion y de la actividad de larga duracion, lo cual se debe hacer al final del tratamiento para cada trama. Se puede hacer anadiendo el siguiente codigo en el fichero fuente apropiado:
if ((st->vad_flag_reg & (long long) OxOILL « 49) != 0)
{
st->vad_flag_cnt_50=st->vad_flag_cnt_50-l;
}
st->vad_flag_reg = (st->vad_flag_reg & (long long)
0x3fffffffffffffffLL ) « 1; if (vad_flag)
{
st->vad_flag_reg = st->vad_flag_reg I OxOlL; st->vad_flag_cnt_50 = st->vad_flag_cnt_50+l;
}
if ((st->vad_prim_reg & (long long) ILL « 15) != 0)
{
st->vad_prim_cnt_16=st->vad_prim_cnt_16-l;
}
st->vad_prim_reg = (st->vad_prim_reg & (long long)
0x3fffffffffffffffLL ) « 1; if (localVAD)
{
st->vad_prim_reg = st->vad_prim_reg I OxOlL; st->vad_prim_cnt_16 = st->vad_prim_cnt_16+l;
}
Aqrn la variable st se refiere a la variable Encoder_State asignada al codificador. Asf, para la trama siguiente, las 10 variables de estado st->vad_flag_cnt_50 contendran la actividad de la decision final de larga duracion en la forma del numero de tramas que son activas dentro de las ultimas 50 tramas y la variable del estado st->vad_prim_cnt_16 contendra la actividad primaria de corta duracion en la forma del numero de tramas primarias activas dentro de las ultimas 16 tramas. La longitud de la memoria de la actividad de corta duracion, 16 tramas, y la longitud de la memoria de la actividad de larga duracion, 50 tramas, son valores que se usan en esta realizacion en particular. 15 Estas cifras son valores tfpicos que se pueden utilizar en una ejecucion operativa, pero los valores absolutos no son cruciales. Estos numeros pueden por consiguiente adaptarse segun diferentes tipos de ejecuciones, por ejemplo, como un ajuste de las propiedades de los tiempos de espera. Generalmente, la longitud de la memoria de la actividad de larga duracion es mayor que la longitud de la memoria de la actividad de corta duracion, y preferiblemente considerablemente mayor, como en el ejemplo presentado anteriormente. En una realizacion tfpica, 20 la relacion entre la longitud de la memoria de la actividad de larga duracion y la longitud de la memoria de la actividad de corta duracion esta dentro del intervalo de 2,5 a 5. Esta relacion tambien se puede adaptar a diferentes tipos de ejecuciones en las cuales se espera que se presenten frecuentemente diferentes tipos de sonido.
El codigo para decidir cuanto tiempo de espera, hangover_short, se debe anadir, se puede realizar utilizando la siguiente modificacion del codigo en la cual:
lp_snr
es una estimacion de la SNR filtrada en paso bajo th_clean
utiliza el umbral de la SNR para decidir si la entrada esta libre de conversacion 5 thrl
el umbral calculado para el detector primario
if ( lp_snr < th_clean )
{
thrl = nk * lp_snr + nc; /* Linear function for noisy speech */ if ( st->Opt_SC_VBR )
{
hangover_short = 1;
1
else
{
hangover_short = 4;
1
1
else
{
thrl = sk * lp_snr + sc; /* Linear function for clean speech */ hangover_short = 1;
1
A lo siguiente que anade entonces el codigo necesario para la adaptacion del tiempo de espera utilizado para DTX 10 hangover_short_dtx.
if (lp_snr < th_clean )
{
thrl = nk * lp_snr + nc; /* Linear function for noisy speech */ if ( St->Opt_SC_VBR )
{
hangovershort. = i;
}
else
{
hangover_shor t. = 4;
}
}
else
thrl = sk * lp_snr + sc; /* Linear function for clean speech */ hangover_short = 1;
}
hangover_short_dtx = hangover_short; /* start with same hangover for
DTX */
if (st—>Opt_DTX_OH)
if (st->vad_prim_cnt_l£ > 12) /* 12 requires roughtly > B0%
primary activity */
{
hangover short dtx = hangover short dtx + 1;
}
if (st->vad_flag_cnt_50 > 40 ) /* 40 requires roughtly > 80% flag
activity */
hangover_short_dtx = hangover_short_dtx + 3;
}
/* Keep hangover_short lower than maximum hangover count */ if (hangover_short_dtx > HANGOVER_LONG-l)
{
hangover_short_dtx=HANGOVER_LONG_l;
}
/* Only allow short HO if not sufficient active frames */ if ( st->vad_prim_cnt_16 <7 && hangover_short_dtx > 4 )
{
hangover_short_dtx=4;
}
}
Aqu tambien, existe un numero de figuras especificadas, que se tienen que considerar como variables del diseno. Estos numeros pueden por consiguiente tambien ser adaptados en diferentes tipos de realizaciones, por ejemplo, como un ajuste de las propiedades del tiempo de espera.
5 El codigo para realizar el tiempo de espera real se puede hacer con la siguiente modificacion:
flag
localVAD snr sum
La decision VAD final incluyendo el tiempo de espera Decision primaria
Caractenstica VAD en la forma de estimacion de una SNR subbanda
st->nb_active_frames Numero de tramas activas consecutivas (decisiones primarias)
10 st->hangover_cnt Contador de las tramas de tiempo de espera utilizadas
flag = 0;
♦localVAD = 0;
if ( snr_sum > thrl && ( st->Opt_HE_SAD_ON == 0 I I (flag_he == 1 && flag_hel == 1) ) ) /* Speech present */
{
flag = 1;
if (snr sum > thrl )
{
*localVAD = 1; /* VAD without hangover */
}
st->nb active frames++; /* Counter of consecutive active speech frames */
if ( st->nb_active_frames >- ACTIVE_FRAMES )
{
st->nb_active_frames = ACTIVE_FRAMES;
st->hangover_cnt =0; /* Reset the counter of hangover frames after at least "active frames" speech frames */
}
/* inside HO period */
if ( st->hangover_cnt < HANGOVER_LONG && st->hangover_cnt != 0 )
{
st->hangover_cnt++;
}
}
else
{ /* Reset the counter of speech frames necessary to start hangover algorithm */
st->nb active frames = 0;
if ( st->hangover_cnt < HANGOVER_LONG ) /* inside HO period */
{
st->hangover_cnt++;
}
if ( st->hangover_cnt <= hangover_short ) /* "hard" hangover */
{
flag = 1 ;
}
Esto se modifica en lo que sigue para incluir la nueva decision VAD a utilizar para DTX, vad_flag_dtx. Utilizando la adaptacion del tiempo de espera DTX definida anteriormente, hangover_short_dtx. La cual anade las siguientes variables:
5 flag_dtx Decision VAD final que incluye tambien el tiempo de espera espedfico DTX
st->hangover_cnt_dtx Contador del numero de tramas de tiempo de espera utilizadas para DTX
flag = 0; zlag_dtx = 0;
*localVAD = 0;
if ( snr_sum > thrl && ( st->Opt_HE_SAD_ON == 0 I I (flag_he == 1 && flag_hel == 1) ) ) /* Speech present */
{
flag = I;
flag_dtx=l;
if ( snr_sum > thrl )
{
*localVAD = 1; /* VAD without hangover */
}
st->nb_active_frames++; /* Counter of consecutive active speech
frames */
if ( st->nb_active_frames >= ACTIVE_FRAMES )
{
st->nb_active_frames = ACTIVE_FRAMES;
st->hangover_cnt = 0; /* Reset the counter of hangover frames after at least "active_frames" speech frames */
>
if (s t->Op t_DTX_ON)
{
if (st->vad_flag_cnt_50 > 45 ) /* 45 requires roughtly > 90% flag activity */
{
/* If sufficient activity during last second add hangover with out requirement for active frames
*/
st->hangover_cnt_dtx=0;
1
}
/* inside HO period */
if ( st->hangover_cnt < HANGOVER_LONG && st->hangover_cnt != 0 )
{
st->hangover cnt++;
if ( ( st->hangover_cnt_dtx < HANGOVER_LONG && st->hangover_cnt_dtx
1=0)
{
st->hangover_cnt_dtx++;
1
else
{ /* Reset the counter of speech frames necessary to start hangover algorithm */
st->nb_active_frames = 0;
if (st->hangover_cnt < HANGOVER_LONG ) /* inside HO period */
{
st->hangover_cnt++;
1
if ( st->hangover_cnt <= hangover_short ) /* "hard" hangover */
{
flag = 1 ; flag_dtx = 1 ;
1
if ( st->hangover_cnt_dtx < HANGOVER_LONG ) /* inside HO period */
{
st->hangover_cnt_dtx++;
if ( st->hangover_cnt_dtx <= hangover_short_dtx) /* "hard" hangover */
{
flag_dtx - 1;
1
Con la utilizacion de las caractensticas de la actividad de corta duracion de la decision primaria y de la actividad de larga duracion de la decision final es posible anadir un tiempo de espera extra mas espedficamente dentro de la rachas de conversacion y al final de la racha, reduciendo por consiguiente la cantidad de recortes de la 5 conversacion, en particular para VADs de alto rendimiento.
La actividad de larga duracion de la decision final tambien hace posible anadir tiempo de espera a las rachas cortas despues de largas expresiones, lo cual reduce el riesgo de recorte trasero final de los estallidos sin voz.
Con el uso de las caractensticas de la actividad, se hace posible aumentar el tiempo de espera en segmentos con la ya alta actividad de conversacion. Esto permite alargar la extension sin el riesgo de aumentar dramaticamente la 10 actividad total.
Con las caractensticas adicionales, como se ha presentado ademas anteriormente, es posible un refinamiento adicional que hace posible la extension del tiempo de espera incluso en las condiciones mas limitadas, tales como un bajo nivel de conversacion.
Con una SAD mas agresiva podna ser mas sencillo eliminar cualquier recorte de la conversacion anadiendo algun 15 tiempo de espera extendido, particularmente si se pueda hacer mas espedficamente para ya los elementos de alta actividad. Esta solucion podna ser mas sencilla de ajustar que tratar de reajustar una solucion basada en diversas SADs funcionando en paralelo.
Las realizaciones descritas anteriormente deben ser comprendidas como unos pocos ejemplos ilustrativos de las ideas presentes. Los expertos en la tecnica entenderan que se pueden hacer diversas modificaciones, 20 combinaciones y cambios en las realizaciones sin apartarse del ambito general de la presente realizacion. En particular, se pueden combinar diferentes soluciones parciales en las diferentes realizaciones con otras configuraciones, en aquello que sea tecnicamente posible.

Claims (28)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    REIVINDICACIONES
    1. Un metodo para la deteccion de la actividad vocal (VAD), que comprende:
    - crear (310) una senal indicativa de una decision VAD primaria;
    - determinar (320) si se tiene que realizar la adicion de un tiempo de espera de la decision VAD primaria;
    - crear (330) una senal indicativa de una decision VAD final al menos parcialmente dependiendo de la determinacion de la adicion de un tiempo de espera;
    en el que la determinacion de la adicion del tiempo de espera se basa en una medicion de la actividad de corta duracion y en una medicion de la actividad de larga duracion.
  2. 2. El metodo de acuerdo con la reivindicacion 1, en el que la medicion de la actividad de corta duracion se deduce a partir de las ultimas decisiones VAD primarias N_st.
  3. 3. El metodo de acuerdo con la reivindicacion 1 o con la reivindicacion 2, en el que la medicion de la actividad de
    larga duracion se deduce a partir de las ultimas decisiones VAD primarias N_lt o a partir de las ultimas decisiones VAD finales N_lt.
  4. 4. El metodo de acuerdo con la reivindicacion 2 y con la reivindicacion 3, en el que N_lt es mayor que N_st.
  5. 5. El metodo de acuerdo con cualquiera de las reivindicaciones precedentes, en el que crear la senal indicativa de
    la decision VAD final comprende crear dos versiones de decisiones finales, una primera decision VAD final y una segunda decision VAD final.
  6. 6. El metodo de acuerdo con la reivindicacion 5, en el que la segunda decision VAD final se hace sin utilizar la medicion de la actividad de corta duracion o sin utilizar la medicion de la actividad de larga duracion.
  7. 7. El metodo de acuerdo con la reivindicacion 5 o con la reivindicacion 6, en el que la medicion de la actividad de larga duracion se deduce a partir de las ultimas segundas decisiones VAD finales N_lt.
  8. 8. El metodo de acuerdo con cualquiera de las reivindicaciones 5 a 7, en el que la primera decision VAD final corresponde a vad_flag_dtx y la segunda decision VAD final corresponde a vad_flag.
  9. 9. El metodo de acuerdo con la reivindicacion 2, en el que la medicion de la actividad de corta duracion se basa en un numero de tramas activas en una memoria de las ultimas decisiones VAD primarias.
  10. 10. El metodo de acuerdo con la reivindicacion 3, en el que la medicion de la actividad de larga duracion se basa en un numero de tramas activas en una memoria de las ultimas decisiones VAD finales o en una memoria de las ultimas decisiones VAD primarias.
  11. 11. El metodo acuerdo con la reivindicacion 9 o con la reivindicacion 10, en el que las tramas activas se ponderan dependiendo de la antiguedad de la trama activa en la memoria de las ultimas decisiones VAD.
  12. 12. El metodo de acuerdo con cualquiera de las reivindicaciones precedentes, que comprende anadir un numero predeterminado de tramas de tiempos de espera si la medicion de la actividad de corta duracion alcanza un primer umbral predeterminado y si la medicion de la actividad de larga duracion alcanza un segundo umbral predeterminado.
  13. 13. El metodo de acuerdo con cualquiera de las reivindicaciones precedentes, en el que la decision VAD final es igual a una decision de la actividad vocal si se determina que se tiene que realizar la adicion del tiempo de espera.
  14. 14. El metodo acuerdo con cualquiera de las reivindicaciones precedentes, en el que la decision VAD final es igual a la decision VAD primaria si se determina que no se tiene que realizar la adicion del tiempo de espera.
  15. 15. Un aparato para detectar la actividad vocal (VAD), que comprende:
    - una seccion de entrada (412) para recibir una senal de entrada;
    - una disposicion del detector vocal primario (401), conectado a la seccion de entrada (412), configurado para detectar la actividad vocal en la senal de entrada recibida y para crear una senal indicativa de una decision VAD primaria asociada a la senal de entrada recibida;
    - una unidad de adicion de tiempos de espera (402), conectada a la disposicion del detector vocal primario (401), configurada para determinar si se tiene que realizar la adicion de un tiempo de espera de la decision VAD primaria, y para crear una senal indicativa de una decision VAD final al menos parcialmente dependiendo de la determinacion de la adicion de un tiempo de espera; y
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    - al menos uno de:
    un estimador de la actividad de corta duracion (403) conectado a una entrada de la unidad de adicion de tiempos de espera (402), y
    un estimador de la actividad de larga duracion (404) conectado a una salida de la unidad de adicion de tiempos de espera (402);
    en el que la unidad de adicion de tiempos de espera (402) esta conectada ademas a una salida del estimador de la actividad de corta duracion (403) y a una salida del estimador de la actividad de larga duracion (404), y configurada para realizar la determinacion de los tiempos de espera dependiendo de una medicion de la actividad de corta duracion y de una medicion de la actividad de larga duracion.
  16. 16. El aparato de acuerdo con la reivindicacion 15, en el que el estimador de la actividad de corta duracion (403) esta configurado para deducir una medicion de la actividad de corta duracion a partir de las ultimas decisiones VAD primarias N_st.
  17. 17. El aparato de acuerdo con la reivindicacion 15 o con la reivindicacion 16, en el que el estimador de la actividad de larga duracion (404) esta configurado para deducir una medicion de la actividad de larga duracion a partir de las ultimas decisiones VAD primarias N_lt o a partir de las ultimas decisiones VAD finales N_lt.
  18. 18. El aparato de acuerdo con cualquiera de las reivindicaciones 15 a 17, en el que la unidad de adicion de los tiempos de espera (402) esta configurada para crear dos versiones de decisiones finales, una primera decision VAD final y una segunda decision VAD final.
  19. 19. El aparato de acuerdo con la reivindicacion 18, en el que la segunda decision VAD final se hace sin utilizar la medicion de la actividad de corta duracion o sin utilizar la medicion de la actividad de larga duracion.
  20. 20. El aparato de acuerdo con la reivindicacion 18 o con la reivindicacion 19, en el que el estimador de la actividad de larga duracion (404) esta configurado para deducir una medicion de la actividad de larga duracion a partir de las ultimas decisiones VAD finales N_lt.
  21. 21. El aparato de acuerdo con cualquiera de la reivindicaciones 15 a 20 que comprende una memoria de las decisiones VAD primarias y de las decisiones VAD finales, comprendiendo ademas el aparato contadores de tramas activas en dicha memoria de las decisiones VAD primarias y de las decisiones VAD finales.
  22. 22. El aparato de acuerdo con la reivindicacion 21, en el que al menos una de la medicion de la actividad de corta duracion y de la medicion de la actividad de larga duracion se basa en un numero de tramas activas en dicha memoria de las decisiones VAD primarias y de las decisiones VAD finales.
  23. 23. El aparato de acuerdo con cualquiera de la reivindicaciones 15 a 22, en el que la unidad de adicion de los tiempos de espera (402) esta configurada ademas para anadir un numero predeterminado de tramas de tiempos de espera si la medicion de la actividad de corta duracion alcanza un primer umbral predeterminado y si la medicion de la actividad de larga duracion alcanza un segundo umbral predeterminado.
  24. 24. El aparato de acuerdo con cualquiera de la reivindicaciones 15 a 23, en el que la decision VAD final es igual a una decision de la actividad vocal si se determina que se tiene que realizar la adicion del tiempo de espera y en el que la decision VAD final es igual a la decision VAD primaria si se determina que no se tiene que realizar la adicion del tiempo de espera.
  25. 25. Un codec para codificar voz o sonido, comprendiendo dicho codec el aparato de acuerdo con al menos una de las reivindicaciones 15 a 24.
  26. 26. Un programa de ordenador que comprende unidades de codigo interpretables por ordenador que cuando se ejecuta en un aparato hace que el aparato:
    - cree (310) una senal indicativa de una decision VAD primaria;
    - determine (320) si se tiene que realizar una adicion del tiempo de espera de la decision VAD primaria;
    - cree (330) una senal indicativa de una decision VAD final al menos parcialmente dependiendo de una determinacion de la adicion del tiempo de espera;
    en el que la determinacion de la adicion del tiempo de espera se basa en una medicion de la actividad de corta duracion y en una medicion de la actividad de larga duracion.
  27. 27. Un producto de programa de ordenador, que comprende medios interpretables por ordenador y un programa de ordenador de acuerdo con la reivindicacion 26, almacenado en los medios interpretables por ordenador.
  28. 28. Un aparato (500) que comprende:
    un procesador (510); y
    una memoria (520) que almacena los componentes de software (501, 502, 503, 504, 505), en el que el procesador (510) esta configurado para ejecutar:
    - un componente de software (501) para crear una senal indicativa de una decision VAD primaria;
    5 - un componente de software (502) para determinar si se tiene que realizar una adicion del tiempo de espera de la
    decision VAD primaria;
    - un componente de software (503) para crear una senal indicativa de una decision VAD final al menos parcialmente dependiendo de la determinacion de la adicion del tiempo de espera;
    - un componente de software (504) para deducir una medicion de la actividad de corta duracion a partir de las 10 ultimas decisiones VAD primarias N_st y un componente de software (505) para deducir una medicion de la
    actividad de larga duracion a partir de las ultimas decisiones VAD finales N_lt;
    en el que la adicion del tiempo de espera se basa en la medicion de la actividad de corta duracion y en la medicion de la actividad de larga duracion.
ES13765821.7T 2012-08-31 2013-08-30 Método y dispositivo para detectar la actividad vocal Active ES2604652T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261695623P 2012-08-31 2012-08-31
US201261695623P 2012-08-31
PCT/SE2013/051020 WO2014035328A1 (en) 2012-08-31 2013-08-30 Method and device for voice activity detection

Publications (1)

Publication Number Publication Date
ES2604652T3 true ES2604652T3 (es) 2017-03-08

Family

ID=49226493

Family Applications (2)

Application Number Title Priority Date Filing Date
ES16184741.3T Active ES2661924T3 (es) 2012-08-31 2013-08-30 Método y dispositivo para detectar la actividad vocal
ES13765821.7T Active ES2604652T3 (es) 2012-08-31 2013-08-30 Método y dispositivo para detectar la actividad vocal

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES16184741.3T Active ES2661924T3 (es) 2012-08-31 2013-08-30 Método y dispositivo para detectar la actividad vocal

Country Status (12)

Country Link
US (6) US9472208B2 (es)
EP (3) EP2891151B1 (es)
JP (3) JP6127143B2 (es)
CN (2) CN104603874B (es)
BR (1) BR112015003356B1 (es)
DK (1) DK2891151T3 (es)
ES (2) ES2661924T3 (es)
HU (1) HUE038398T2 (es)
IN (1) IN2015DN00783A (es)
RU (3) RU2609133C2 (es)
WO (1) WO2014035328A1 (es)
ZA (2) ZA201500780B (es)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2526257B2 (ja) 1987-11-30 1996-08-21 田中貴金属工業株式会社 Pt、Pd系貴金属粒状塊製造用るつぼ
JP2526258B2 (ja) 1987-11-30 1996-08-21 田中貴金属工業株式会社 Pt、Pd系貴金属粒状塊製造用るつぼ
JP2526259B2 (ja) 1987-12-08 1996-08-21 田中貴金属工業株式会社 Pt、Pd系貴金属粒状塊製造用るつぼ
JP5530720B2 (ja) * 2007-02-26 2014-06-25 ドルビー ラボラトリーズ ライセンシング コーポレイション エンターテイメントオーディオにおける音声強調方法、装置、およびコンピュータ読取り可能な記録媒体
EP2891151B1 (en) * 2012-08-31 2016-08-24 Telefonaktiebolaget LM Ericsson (publ) Method and device for voice activity detection
SG11201504899XA (en) 2012-12-21 2015-07-30 Fraunhofer Ges Forschung Comfort noise addition for modeling background noise at low bit-rates
ES2588156T3 (es) 2012-12-21 2016-10-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Generación de ruido de confort con alta resolución espectro-temporal en transmisión discontinua de señales de audio
TWI557728B (zh) * 2015-01-26 2016-11-11 宏碁股份有限公司 語音辨識裝置及語音辨識方法
TWI566242B (zh) * 2015-01-26 2017-01-11 宏碁股份有限公司 語音辨識裝置及語音辨識方法
JP6444490B2 (ja) * 2015-03-12 2018-12-26 三菱電機株式会社 音声区間検出装置および音声区間検出方法
CN106887241A (zh) * 2016-10-12 2017-06-23 阿里巴巴集团控股有限公司 一种语音信号检测方法与装置
CN107170451A (zh) * 2017-06-27 2017-09-15 乐视致新电子科技(天津)有限公司 语音信号处理方法及装置
KR102406718B1 (ko) 2017-07-19 2022-06-10 삼성전자주식회사 컨텍스트 정보에 기반하여 음성 입력을 수신하는 지속 기간을 결정하는 전자 장치 및 시스템
CN109068012B (zh) * 2018-07-06 2021-04-27 南京时保联信息科技有限公司 一种用于音频会议系统的双端通话检测方法
US10861484B2 (en) * 2018-12-10 2020-12-08 Cirrus Logic, Inc. Methods and systems for speech detection

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63281200A (ja) * 1987-05-14 1988-11-17 沖電気工業株式会社 音声区間検出方式
JPH0394300A (ja) * 1989-09-06 1991-04-19 Nec Corp 音声検出器
JPH03141740A (ja) * 1989-10-27 1991-06-17 Mitsubishi Electric Corp 音声検出器
US5410632A (en) * 1991-12-23 1995-04-25 Motorola, Inc. Variable hangover time in a voice activity detector
JP3234044B2 (ja) 1993-05-12 2001-12-04 株式会社東芝 音声通信装置及びその受信制御回路
JP4307557B2 (ja) * 1996-07-03 2009-08-05 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー 音声活性度検出器
JP3297346B2 (ja) * 1997-04-30 2002-07-02 沖電気工業株式会社 音声検出装置
US6453289B1 (en) * 1998-07-24 2002-09-17 Hughes Electronics Corporation Method of noise reduction for speech codecs
US20010014857A1 (en) * 1998-08-14 2001-08-16 Zifei Peter Wang A voice activity detector for packet voice network
US6424938B1 (en) * 1998-11-23 2002-07-23 Telefonaktiebolaget L M Ericsson Complex signal activity detection for improved speech/noise classification of an audio signal
US6671667B1 (en) * 2000-03-28 2003-12-30 Tellabs Operations, Inc. Speech presence measurement detection techniques
US6889187B2 (en) * 2000-12-28 2005-05-03 Nortel Networks Limited Method and apparatus for improved voice activity detection in a packet voice network
CA2392640A1 (en) * 2002-07-05 2004-01-05 Voiceage Corporation A method and device for efficient in-based dim-and-burst signaling and half-rate max operation in variable bit-rate wideband speech coding for cdma wireless systems
CA2501368C (en) * 2002-10-11 2013-06-25 Nokia Corporation Methods and devices for source controlled variable bit-rate wideband speech coding
JP3922997B2 (ja) * 2002-10-30 2007-05-30 沖電気工業株式会社 エコーキャンセラ
MX2007012185A (es) * 2005-04-01 2007-12-11 Qualcomm Inc Metodo y aparato para cuantificacion de vector de una representacion de envoltura espectral.
WO2007115199A2 (en) * 2006-03-31 2007-10-11 Qualcomm Incorporated Memory management for high speed media access control
CN100483509C (zh) * 2006-12-05 2009-04-29 华为技术有限公司 声音信号分类方法和装置
RU2336449C1 (ru) 2007-04-13 2008-10-20 Валерий Александрович Мухин Редуктор орбитальный (варианты)
WO2008143569A1 (en) 2007-05-22 2008-11-27 Telefonaktiebolaget Lm Ericsson (Publ) Improved voice activity detector
JP5395066B2 (ja) 2007-06-22 2014-01-22 ヴォイスエイジ・コーポレーション 音声区間検出および音声信号分類ための方法および装置
CN101335000B (zh) * 2008-03-26 2010-04-21 华为技术有限公司 编码的方法及装置
KR101281661B1 (ko) 2008-07-11 2013-07-03 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 상이한 신호 세그먼트를 분류하기 위한 판별기와 방법
KR101072886B1 (ko) 2008-12-16 2011-10-17 한국전자통신연구원 캡스트럼 평균 차감 방법 및 그 장치
WO2011049514A1 (en) * 2009-10-19 2011-04-28 Telefonaktiebolaget Lm Ericsson (Publ) Method and background estimator for voice activity detection
KR20120091068A (ko) * 2009-10-19 2012-08-17 텔레폰악티에볼라겟엘엠에릭슨(펍) 음성 활성 검출을 위한 검출기 및 방법
US9401160B2 (en) * 2009-10-19 2016-07-26 Telefonaktiebolaget Lm Ericsson (Publ) Methods and voice activity detectors for speech encoders
JP4981163B2 (ja) 2010-08-19 2012-07-18 株式会社Lixil サッシ
EP2494545A4 (en) * 2010-12-24 2012-11-21 Huawei Tech Co Ltd METHOD AND DEVICE FOR DETECTING LANGUAGE ACTIVITIES
EP2891151B1 (en) * 2012-08-31 2016-08-24 Telefonaktiebolaget LM Ericsson (publ) Method and device for voice activity detection
US9502028B2 (en) * 2013-10-18 2016-11-22 Knowles Electronics, Llc Acoustic activity detection apparatus and method

Also Published As

Publication number Publication date
EP2891151B1 (en) 2016-08-24
CN104603874A (zh) 2015-05-06
WO2014035328A1 (en) 2014-03-06
EP3113184A1 (en) 2017-01-04
JP2017151455A (ja) 2017-08-31
CN107195313B (zh) 2021-02-09
JP2019023741A (ja) 2019-02-14
EP3301676A1 (en) 2018-04-04
ZA201500780B (en) 2017-08-30
RU2609133C2 (ru) 2017-01-30
JP6671439B2 (ja) 2020-03-25
EP3113184B1 (en) 2017-12-06
ES2661924T3 (es) 2018-04-04
BR112015003356A2 (pt) 2017-07-04
BR112015003356B1 (pt) 2021-06-22
RU2015111150A (ru) 2016-10-27
US20240119962A1 (en) 2024-04-11
US20200251130A1 (en) 2020-08-06
US11900962B2 (en) 2024-02-13
ZA201800523B (en) 2018-12-19
JP2015532731A (ja) 2015-11-12
JP6404396B2 (ja) 2018-10-10
US10607633B2 (en) 2020-03-31
RU2670785C9 (ru) 2018-11-23
US20150243299A1 (en) 2015-08-27
JP6127143B2 (ja) 2017-05-10
US9472208B2 (en) 2016-10-18
RU2768508C2 (ru) 2022-03-24
US12456483B2 (en) 2025-10-28
EP2891151A1 (en) 2015-07-08
CN104603874B (zh) 2017-07-04
IN2015DN00783A (es) 2015-07-03
RU2018135681A (ru) 2020-04-10
US20180286434A1 (en) 2018-10-04
US20220375493A1 (en) 2022-11-24
US20160343390A1 (en) 2016-11-24
US11417354B2 (en) 2022-08-16
CN107195313A (zh) 2017-09-22
RU2018135681A3 (es) 2021-11-25
HUE038398T2 (hu) 2018-10-29
RU2670785C1 (ru) 2018-10-25
US9997174B2 (en) 2018-06-12
DK2891151T3 (en) 2016-12-12

Similar Documents

Publication Publication Date Title
ES2604652T3 (es) Método y dispositivo para detectar la actividad vocal
ES2664185T3 (es) Codificador de audio, decodificador de audio, método para proporcionar una información de audio codificada, método para proporcionar una información de audio decodificada, programa informático y representación codificada utilizando una ampliación de ancho de banda adaptada a la señal
AU2010308598A1 (en) Method and voice activity detector for a speech encoder
ES2812553T3 (es) Método, dispositivo y sistema de transmisión de datos multimedia
CN102576528A (zh) 用于语音活动检测的检测器和方法
ES2688021T3 (es) Adición de ruido de confort para modelar ruido de fondo a bajas tasas de bits
ES2642574T3 (es) Generación de ruido de confort
ES2697423T3 (es) Estimación de ruido de fondo en señales de audio
ES2748144T3 (es) Métodos y aparatos para retención DTX en codificación de audio