MX2008008477A - Metodo y dispositivo para ocultamiento eficiente de borrado de cuadros en codec de voz - Google Patents
Metodo y dispositivo para ocultamiento eficiente de borrado de cuadros en codec de vozInfo
- Publication number
- MX2008008477A MX2008008477A MX/A/2008/008477A MX2008008477A MX2008008477A MX 2008008477 A MX2008008477 A MX 2008008477A MX 2008008477 A MX2008008477 A MX 2008008477A MX 2008008477 A MX2008008477 A MX 2008008477A
- Authority
- MX
- Mexico
- Prior art keywords
- frame
- frames
- decoder
- sound signal
- hidden
- Prior art date
Links
Abstract
Un método y dispositivo para ocultar borrados de cuadros provocados por cuadros de una señal de sonido codificada, borrada durante la transmisión desde un codificador hacia un codificador y para la recuperación del descodificador después de borrados de cuadros, comprende, en el codificador, determinar parámetros de ocultamiento/recuperación que incluyen al menos la información de fase relacionado a los cuadros de la señal de sonido codificada. Los parámetros de ocultamiento/recuperación determinados en el codificador se transmiten al descodificador, y en el descodificador, el ocultamiento del borrado de cuadros se lleva a cabo en respuesta a los parámetros de ocultamiento/recuperación recibidos. El ocultamiento de borrado de cuadros comprende resincronizar, en respuesta a la información de fase recibida, los cuadro ocultados por borrado con los cuadros correspondientes de la señal de sonido codificada en el codificador. Cuando no se transmiten parámetros de ocultamiento/recuperación hacia el descodificador, una información de fase de cada cuadro de la señal de sonido codificada que se ha borrado durante la transmisión desde el codificador hacia el descodificador se estima en el descodificador. También, se lleva a cabo el ocultamiento de borrado de cuadro en el descodificador en respuesta a la información de fase estimada, en donde el ocultamiento del borrado de cuadros comprende resincronizar en respuesta a la información de fase estimada, cada cuadro ocultado por borrado con un cuadro correspondiente de la señal de sonido codificada en el codificador.
Description
MÉTODO Y DISPOSITIVO PARA OCULTAMIENTO EFICIENTE DE BORRADO DE CUADROS EN COPEC DE VOZ
Campo de la Invención La presente invención se refiere a una técnica para codificar digitalmente una señal sonora, en particular pero de manera no exclusiva una señal vocal, en vista de transmitir y/o sintetizar esta señal sonora. De manera más específica, la presente invención se refiere a codificación y descodificación contundente de señales sonoras para mantener buen desempeño en caso de cuadros borrados debido a, por ejemplo, errores del canal en sistemas inalámbricos o paquetes perdidos en aplicaciones de red de voz sobre paquetes .
Antecedentes de la Invención La demanda de técnicas digitales eficientes de codificación de voz de banda estrecha y amplia con un buen intercambio entre la calidad subjetiva y la velocidad de bits está incrementándose en varias áreas de aplicación tal como teleconferencia, multimedios, y comunicaciones inalámbricas. Hasta recientemente, se ha usado principalmente un ancho de banda telefónico restringido en un intervalo de 200-3400 Hz en aplicaciones de codificación de voz. Sin embargo, las aplicaciones de voz de banda ancha
proporcionan inteligibilidad y naturalidad incrementadas en la comunicación en comparación al ancho de banda telefónico convencional. Se ha encontrado que un ancho de banda del intervalo de 50-7000 Hz es suficiente para dar una buena calidad que da una impresión de una comunicación cara a cara. Para señales de audio generales, este ancho de banda da una calidad objetiva aceptable, pero aún es menor que la claridad de la radio FM o CD que operan en intervalos de 20-16000 Hz y 20-20000 Hz, respectivamente. Un codificador de voz convierte una señal de voz en una corriente de bits digital que se transmite sobre un canal de comunicación o se almacena en un medio de almacenamiento. La señal de voz se digitaliza, es decir, se muestrea y cuantifica con usualmente 16 bits por muestra. El codificador de voz tiene el papel de representar estas muestras digitales con un número más pequeño de bits en tanto que mantiene una buena calidad subjetiva de voz. El descodificador o sintetizador de voz opera en la corriente de bits transmitida o almacenada y la convierte de regreso a una señal sonora. La codificación por predicción lineal exci tada por código (CELP) es una de las mejores técnicas disponibles para lograr un buen compromiso entre la calidad subjetiva y la velocidad de bits. Esta técnica de codificación es una base de varias normas de codificación de voz tanto en
aplicaciones inalámbricas como alámbricas. En la codificación por CELP, la señal de voz muestreada se procesa en bloques sucesivos de L-muestras usualmente llamados cuadros, en donde L es un número predeterminado que corresponde típicamente a 10-30 MS de la señal de voz. Se computa y transmite un filtro de predicción lineal (LP) en cada cuadro. La computación del filtro de LP necesita típicamente una anticipación, un segmento de voz de 5-15 MS del cuadro subsiguiente. El cuadro de L-muestra se dividen en bloques más pequeños llamados sub-cuadros . Usualmente, el número de bus-cuadros es tres o cuatro dando por resultado sub-cuadros de 4-10 ms . En cada sub-cuadro, usualmente se obtiene una señal de excitación de dos componentes, la excitación pasada y la excitación innovadora, un libro de códigos fijo. El componente formado de la excitación pasada se refiere frecuentemente como la excitación de altura o de libro de códigos adaptativo. Los parámetros que caracterizan la señal de excitación que se codifican y transmiten al descodificador, donde la señal de excitación reconstruida se usa como la entrada del filtro de LP. Puesto que las principales aplicaciones de la codificación de voz de baja velocidad de bits son sistemas de comunicación móvil inalámbrica y redes de voz sobre paquetes, entonces llega a ser de importancia significativa
el incremento de la fuerza de los codee de voz en el caso de borrados de cuadro. En los sistemas celulares inalámbricos, la energía de la señal recibida puede exhibir frecuentes desvanecimientos severos que dan por resultado altas proporciones de error de bits y esto llega a ser más evidente en los límites de la celda. En este caso, el descodificador de canal falla en corregir los errores en el cuadro recibido y como consecuencia, el detector de error usualmente usado después del descodificador de canal declarará como borrado el cuadro. En aplicaciones de red de voz sobre paquete, la señal de voz se paquetiza donde usualmente cada paquete corresponde a 20-40 ms de señal de sonido. En conmutaciones conmutadas por paquetes, puede presentarse una caída de paquetes que un ruteador si llega a ser muy grande el número de paquetes, o el paquete puede alcanzar al receptor después de un retraso prolongado y se debe declarar como perdido si su retraso es más que la longitud de un amortiguador de fluctuaciones en el lado del receptor. En estos sistemas, el codee se somete a típicamente proporciones de borrado de cuadros de 3 a 5 % . Adicionalmente, el uso de codificación de voz de banda ancha es un valor para estos sistemas a fin de permitirles competir con la PSTN tradicional (red telefónica conmutada, pública) que usa las señales de voz de banda estrecha de herencia.
El libro de códigos adaptatívo, o el predictor de altura, en la CELP juegan un papel en el mantenimiento de la alta calidad de voz a bajas velocidades de bits. Sin embargo, puesto que el contenido de libros de códigos adaptativos se basa en la señal de los cuadros pasados, esto hace al codee un modelo sensible a la pérdida de cuadros. En el caso de cuadros borrados perdidos, el contenido del libro de códigos adaptativo en el descodificador llega a ser diferente de su contenido en el codificador. De esta manera, después de que se oculta un- cuadro perdido y se reciben los buenos cuadros consecuentes, la señal sintetizada en los buenos cuadros recibidos es diferente de la señal de síntesis propuesta puesto que se ha cambiado la contribución del libro de códigos adaptativo. El impacto de un cuadro perdido depende de la naturaleza del segmento de voz en el cual se presentó el borrado. Si se presenta el borrado en un segmento estacionario de la señal entonces se puede realizar un eficiente ocultamiento de borrado de cuadros y se puede reducir al mínimo el impacto en los buenos cuadros consecuentes. Por otra parte, si el borrado se presenta en un comienzo o una transición de voz, el efecto del borrado puede propagarse a través de varios cuadros. Por ejemplo, si el comienzo de un segmento de voz se pierde, entonces el primer periodo de altura estará ausente del contenido del libro de códigos adaptativo. Esto
tendrá un severo efecto en el predictor de altura en los consecuentes buenos cuadros, dando por resultado un tiempo más prolongado antes de que la señal de síntesis converja a la propuesta en el codificador.
Breve Descripción de la Invención De manera más específica, de acuerdo con un primer aspecto de la presente invención, se proporciona un método para ocultar borrados de cuadros provocados por cuadros de una señal de sonido codificada, borrada durante la transmisión desde un codificador a un descodificador y para recuperación del descodificador después de borrados de cuadros, el método que comprende: en el codificador, determinar parámetros de ocultamiento/recuperación que incluyen al menos la información de fase relacionada a los cuadros de la señal de sonido codificada; transmitir al descodificador los parámetros de ocultamiento/recuperación determinados en el descodificador; y, en el descodificador, llevar a cabo el ocultamiento del borrado de cuadros en respuesta a los parámetros de ocultamiento/recuperación recibidos, en donde el ocultamiento del borrado de cuadros comprende resincronizar, en respuesta a la información de fase recibida, los cuadros con ocultación de borrado con los cuadros correspondientes de la señal de sonido codificada en el descodificador.
De acuerdo a un segundo aspecto de la presente invención, se proporciona un dispositivo para ocultar borrados de cuadros provocados por cuadros de una señal de sonido codificada borrada durante la transmisión desde un codificador a un descodificador y para la recuperación del descodificador después de los borrados de cuadros, el dispositivo que comprende: en el codificador, un medio para determinar parámetros de ocultamiento/recuperación que incluyen al menos la información de fase relacionada a los cuadros de la señal de sonido codificada; medios para transmitir al descodificador los parámetros de ocultamiento/recuperación determinados en el codificador; y, en el descodificador, medios para llevar a cabo el ocultamiento del borrado de cuadros en respuesta a los parámetros de ocultamiento/recuperación, recibidos, en donde los medios para llevar a cabo el ocultamiento del borrado de cuadros comprende medios para resincronizar, en respuesta a la información de fase recibida, los cuadros ocultados por borrado con los correspondientes cuadros de la señal de sonido codificada en el codificador. De acuerdo con un tercer aspecto de la presente invención, se proporciona un dispositivo para ocultar borrados de cuadro provocados por cuadros de una señal de sonido codificada borrada durante la transmisión desde un codificador a un descodificador y para la recuperación del
descodificador después de los borrados de cuadro, dispositivos que comprenden: en el codificador, un generador de parámetros de ocultamiento/recuperación que incluyen al menos la información de fase relacionada a los cuadros de la señal de sonido codificada; un enlace de comunicación para transmitir , al descodificador los parámetros de ocultamiento/recuperación determinados en el codificador; y, en el descodificador, un módulo de ocultamiento de borrado de cuadros suministrado con los parámetros de ocultamiento/recuperación recibidos y que comprende un sincronizador sensible a la información de fase recibida para resincronizar los cuadros ocultados de borrado con los correspondientes cuadros de la señal de sonido recibida en el descodificador. De acuerdo con un cuarto aspecto de la presente invención, se proporciona un método para ocultar borrados de cuadro provocados por cuadros de una señal de sonido codificada borrada durante la transmisión desde un codificador a un descodificador y para recuperación del descodificador después de los borrados de cuadro, el método que comprende, en el descodificador: estimar una información de fase de cada cuadro de la señal de sonido codificada que se ha borrado durante la transmisión desde el codificador al descodificador; llevar a cabo el ocultamiento del borrado de cuadros en respuesta a la información de fase estimada, en
donde el ocultamiento de borrado de cuadros comprende resincronizar, en respuesta a la información de fase estimada, cada cuadro ocultado por borrado con un cuadro correspondiente de la señal de sonido codificada en el codificador. De acuerdo con un quinto aspecto de la presente invención, se proporciona un dispositivo para ocultar borrado de cuadros provocados por cuadros de una señal de sonido codificada o borrada durante la transmisión desde un codificador a un descodificador y para la recuperación del descodificador después de los borrados de cuadros, el dispositivo que comprende: medios para estimar, en el descodificador, una información de fase de cada cuadro de la señal de sonido codificada que se ha borrado durante la transmisión desde el codificador al descodificador; y medios para llevar a cabo el ocultamiento del borrado de cuadros en respuesta a la información de fase estimada, los medios para llevar a cabo el ocultamiento del borrado de cuadros que comprende medios para resincronizar, en respuesta a la información de fase estimada, cada ' cuadro ocultado por borrado con el cuadro correspondiente de la señal de sonido codificada en el codificador. De acuerdo con un sexto aspecto de la presente invención, se proporciona un dispositivo para ocultar borrados de cuadros provocados por cuadros de una señal de
sonido codificada borrada durante la transmisión desde un codificador a un descodificador y para la recuperación del descodificador después de los borrados de cuadros, el dispositivo que comprende: en el descodificador, un estimador de una información de fase de cada cuadro de la señal codificada que se ha borrado durante la transmisión desde el codificador al descodificador; y un módulo de ocultamiento del borrado suministrado con la información de fase estimada y que comprende un sincronizador que, en respuesta a la información de fase estimada, resincroniza cada cuadro ocultado por borrado con un cuadro correspondiente de la señal de sonido codificada en el codificador . Los objetos, ventajas y características anteriores y otras de la presente invención llegarán a ser más evidentes en la lectura de la siguiente descripción no restrictiva de una modalidad ilustrativa de la misma, dada a manera de ejemplo únicamente con referencia a las figuras anexas .
Breve Descripción de las Figuras En las figuras anexas: La Figura 1 es un diagrama de bloques esquemático de un sistema de comunicación de voz que ilustra un ejemplo de la aplicación de dispositivos de codificación y
descodificación de voz; La Figura 2 es un diagrama de bloques esquemático de un ejemplo de un dispositivo de codificación de CELP; La Figura 3 es un diagrama de bloques esquemático de un ejemplo de un dispositivo de descodificación de CELP; La Figura 4 es un diagrama de bloques esquemático de un codificador incorporado basado en el núcleo G-729 (G-729 se refiere a la recomendación G-729 de ITU-T) ; La Figura 5 es un diagrama de bloques esquemático de un descodificador incorporado basado en el núcleo G-729; La Figura 6 es un diagrama de bloques simplificado de un dispositivo de codificación de CELP de la Figura 2, en donde el módulo de voz queda de altura de circuito cerrado, el módulo calculador de respuesta de entrada cero, el módulo generador de respuesta de impulso, el módulo de búsqueda de excitación innovadora y el módulo de actualización de memoria se han agrupado en un módulo único de búsqueda del libro de códigos innovador y de altura de circuito cerrado; La Figura 7 es una extensión del diagrama de bloques de la Figura 4 en el cual se han adicionado módulos relacionados a parámetros para mejorar el ocultamiento/recuperación; La Figura 8 es un diagrama esquemático que muestra un ejemplo de la máquina de estado de clasificación de cuadros para el ocultamiento del borrado;
La Figura 9 es un diagrama de flujo que muestra un procedimiento de ocultamiento de la parte periódica de la excitación de acuerdo a la modalidad ilustrativa no restrictiva de la presente invención; La Figura 10 es un diagrama de flujo que muestra un procedimiento de sincronización de la parte periódica de la excitación de acuerdo a la modalidad ilustrativa no restrictiva de la presente invención; La Figura 11 muestra ejemplos típicos de la señal de excitación con y sin el procedimiento de sincronización; La Figura 12 muestra ejemplos de la señal de voz reconstruida usando las señales de excitación mostradas en la Figura 11; y La Figura 13 es un diagrama de bloques que ilustra un caso de ejemplo cuando se pierde un cuadro de comienzo.
Descripción Detallada de la Invención Aunque la modalidad ilustrativa de la presente invención se describirá en la siguiente descripción con relación a una señal de voz, se debe mantener en mente que los conceptos de la presente invención aplican igualmente a otros tipos de señal, en particular pero de manera no exclusiva a otros tipos de señales sonoras. La Figura 1 ilustra un sistema 100 de comunicación de voz que representa el uso de la codificación y
descodificación de voz en un contexto ilustrativo de la presente invención. El sistema 100 de comunicación de voz de la Figura 1 soporta la transmisión de una señal de voz a través de un canal 101 de comunicación. Aunque puede comprender por ejemplo un alambre, un enlace óptico o un enlace por fibra, el canal 101 de comunicación comprende típicamente al menos en parte un enlace de radiofrecuencia. Este enlace de radiofrecuencia soporta frecuentemente múltiples comunicaciones de voz simultáneas que requieren recursos compartidos de ancho de banda tal como se puede encontrar con los sistemas de telefonía celular. Aunque no se muestra, el canal 101 de comunicación se puede reemplazar por un dispositivo de almacenamiento en una modalidad de dispositivo único del sistema 100, para grabación y almacenamiento de la señal de voz codificada para reproducción posterior. En el sistema 100 de comunicación de voz de la Figura 1, un micrófono 102 produce una señal 103 de voz analógica que se suministra a un convertidor 104 de analógico a digital (A/D) para convertir la misma señal 105 digital de voz. Un codificador 106 de voz codifica la señal 105 digital de voz para producir un conjunto de parámetros 107 de codificación de señal que se codifican en forma binaria y se distribuyen a un codificador 108 de canal. El codificador 108 de canal opcional adiciona redundancia a la
representación binaria de los parámetros 107 de codificación de señal, antes de transmitirlos sobre el canal 101 de comunicación . En el receptor, un descodificador 109 de canal utiliza esta información redundante en la corriente 111 de bits recibida para detectar y corregir errores del canal que se presentan durante la transmisión. Entonces, un descodificador 110 de voz convierte la corriente 112 de bits recibida del descodificador 109 de canal de regreso a un conjunto de parámetros de codificación de señal y crea de los parámetros de codificación de señal, recuperados, una señal 113 de voz, sintetizada, digital. La señal 113 de voz, sintetizada, digital reconstruida en el descodificador 110 de voz se convierte a una forma analógica 114 por un convertidor 115 de digital a analógico (D/A) y se reproduce a través de una unidad 116 de altavoz. La modalidad ilustrativa no restrictiva del método de ocultamiento eficiente de borrado de cuadros descrito en la presente especificación se puede usar con ya sea codee basados en predicción lineal de banda estrecha o banda ancha. También, esta modalidad ilustrativa se describe con relación a un codee incorporado basado en la recomendación G-729 estandarizada por la Unión Internacional de Telecomunicaciones (ITU) [ITU-T Recom endation G-729 "Coding of speech at 8 kbit/s using conjugate-structure algebraic-
code-excited linear-prediction (CS-ACELP) " Genova, 1996]. El código incorporado basado en G-729 se ha estandarizado por ITU-T en 2006 y se conoce como la Recomendación G-729.1 [ITU-T Recommendation G-729.1 "G-729 based Embedded Variable bit-rate coder: An 8-32 kbit/s scalable wideband coder bitstream interoperable with G-729" Genova, 1996] . Se han implementado las técnicas descritas en la presente especificación en la Recomendación G-729.1 de ITU-T. Aquí, se debe entender ' que la modalidad ilustrativa del método de ocultamiento eficiente de borrado de cuadros se puede aplicar a otros tipos de codee. Por ejemplo, la modalidad ilustrativa del método de ocultamiento eficiente de borrado de cuadros presentado en esta especificación se usa en un algoritmo candidato para la estandarización de un codee incorporado de velocidad variable de bits por la ITU-T. En el algoritmo candidato, la capa núcleo se basa en una técnica de codificación de banda ancha similar a AMR-WB (Recomendación G-722.2 de ITU- T) . En las siguientes secciones/ se dará primero una vista general del codificador y descodificador incorporado basado en CELP y en G-729. Entonces, se describirá la modalidad ilustrativa del nuevo planteamiento para mejorar la fuerza del codee.
Vista General del Codifi cador de ACELP La señal de voz muestreada se codifica en una base de bloque por bloque por el dispositivo 200 codificador de la Figura 2, que se descompone en once módulos numerados 201 a 211. La señal 212 de voz de entrada se procesa por lo tanto en una base de bloque por bloque, es decir, en los bloques de L-muestra, mencionados anteriormente, llamados cuadros . Con referencia a la Figura 2, la señal 212 de voz de entrada muestreada se suministra al módulo 201 de pre-procesamiento opcional. El módulo 201 de pre-procesamiento puede consistir de un filtro de paso alto con una frecuencia de corte de 200 Hz para señales de banda estrecha y una frecuencia de corte de 50 Hz para señales de banda ancha. La señal pre-procesada se denota por s (n) , n = 0, 1, 2,..., L-l , en donde L es la longitud del cuadro que es típicamente 20 ms (160 muestras a una frecuencia de muestreo de 8 kHz) . La señal s ( n) se usa para realizar el análisis de
LP en el módulo 204. El análisis de LP es una técnica bien conocida para aquellos expertos en la técnica. En esta implementación ilustrativa, se usa el planteamiento de autocorrelación. En el planteamiento de autocorrelación, la señal s (n) se divide primero en ventanas usando,
típicamente, una ventana Hamming que tiene una longitud del orden de 30-40 ms . Las autocorrelaciones se computan de la señal dividida en ventanas, y se usa la repetición de
Levinson-Durbin para computar los coeficientes ai del filtro de LP, donde i = 1,..., p, y en donde p es del orden de LP, que es típicamente 10 en la codificación de banda estrecha y
16 en la codificación de banda ancha. Los parámetros a^ son coeficientes de la función de transferencia A ( z) del filtro
LP, que se da por la siguiente relación: p A(z) = ?a ¡Z
Se cree que el análisis de LP de otro modo es bien conocido por los expertos en la técnica, y por consiguiente, no se describirá adicionalmente en la presente especificación. El módulo 204 también realiza la cuantificación e interpolación de los coeficientes del filtro de LP. Los coeficientes del filtro de LP se transforman primero en otros dominios equivalentes más adecuados para propósitos de cuantificación e interpolación. Los dominios del par espectral lineal (LSP) y el par espectral de imitancia (ISP) son dominios en los cuales se puede realizar de manera eficiente la cuantificación e interpolación. En la codificación de banda estrecha, los 10 coeficientes ai del filtro de LP se pueden cuantificar en el orden de 18 a 30 bits usando cuantificación de división o múltiples etapas, o
una combinación de las mismas. El propósito de interpolación es permitir la actualización de los coeficientes de filtro de LP en cada sub-cuadro, en tanto que se transmiten una vez cada cuadro, lo que mejora el desempeño del codificador sin incrementar la velocidad de bits. La cuantificación e interpolación de los coeficientes del filtro de LP se cree que de otro modo es bien conocida por aquellos expertos en la técnica, y por consiguiente, no se describirá adicionalmente en la presente especificación. Los siguientes párrafos describirán el resto de las operaciones de codificación realizadas en una base de sub-cuadros. En esta implementación ilustrativa, el cuadro de entrada de 20 ms se divide en 4 sub-cuadros de 5 ms (40 muestras a la frecuencia de muestreo de 8 kHz) . En la siguiente descripción, el filtro A ( z) denota el filtro de LP interpolado no cuantificado del sub-cuadro, y el filtro Á ( z) denota el filtro de LP interpolado cuantificado del sub- cuadro. El filtro Á ( z) se suministra cada sub-cuadro a un multiplexor 213 para transmisión a través de un canal de comunicación (no mostrado) . En los codificadores de análisis por síntesis, los parámetros de innovación y altura óptimos se buscan al reducir al mínimo el error mínimo cuadrático entre la señal
212 de voz de entrada y una señal de voz sintetizada en un dominio perceptivamente ponderado. La. señal ponderada sw(n)
se computa en un filtro 205 de ponderación de percepción en respuesta a la señal s (n) . Un ejemplo de la función de transferencia para el filtro 205 de ponderación de percepción se da por la siguiente relación:
W(z) = A(z/Y?)/A(z/y2) en donde 0 <Y2 <Y? <1
A fin de simplificar el análisis de altura, se estima primero un retraso T0L impulsivo de circuito abierto en un módulo 206 de búsqueda de altura de circuito abierto de la señal SW(J_) de voz ponderada. Entonces, el análisis de altura de circuito cerrado, que se realiza en un módulo 207 de búsqueda de altura de circuito cerrado en una base de sub-cuadros, se restringe alrededor del retraso T0L de altura de circuito abierto que reduce significativamente la complejidad de búsqueda de los parámetros T (retraso de altura) y b (ganancia de altura) de la LTP (Predicción a Largo Plazo) . El análisis de altura de circuito abierto usualmente se realiza en el módulo 206 una vez cada 10 ms (dos sub-cuadros) usando técnicas bien conocidas por aquellos expertos en la técnica. El vector objetivo x para el análisis de LTP (Predicción a Largo Plazo) se computa primero. Usualmente esto se hace al sustraer la respuesta s0 de entrada cero del filtro W( z) /Á ( z) de síntesis ponderada de la señal s„(r.) de
oz ponderada. Esta respuesta ss de entrada cero se calcula por un calculador 208 de respuesta de entrada cero en respuesta al filtro Á ( z) de LP interpolado cuantificado del análisis de LP, el módulo 204 de cuantificación e interpolación y a los estados iniciales del filtro W ( z ) /Á ( z) de síntesis ponderada almacenado en el módulo 211 de actualización de memoria en respuesta • a los filtros A ( z) y Á ( z) de LP, y el vector u de excitación. Esta operación es bien conocida por aquellos expertos en la técnica, y por consiguiente, no se describirá adicionalmente en la presente especificación. Un vector h de respuesta de impulso N-dimensional del filtro W( z) /Á ( z) de síntesis ponderada se computa en el generador 209 de respuesta de impulso usando los coeficientes del filtro A ( z) y Á ( z) de LP del módulo 204. Nuevamente, esta operación es bien conocida por aquellos expertos en la técnica, y por consiguiente, no se describirá adicionalmente en la presente especificación. Los parámetros b y T de altura (o libro de códigos de altura) de circuito cerrado se computan en el módulo 207 de búsqueda de altura de circuito cerrado, que usa el vector objetivo x, el vector h de respuesta de impulso y el retraso OL de altura de circuito abierto como entradas. La búsqueda de altura consiste en encontrar el mejor retraso T y ganancia b de altura que pueda reducir al
mínimo un error de predicción de altura, ponderado por mínimos cuadrados, por ejemplo e = x-b y
entre el vector objetivo x y una versión filtrada en escala de la excitación pasada. De manera más específica, en la presente implementación ilustrativa, la búsqueda de altura (libro de códigos de altura o libro de códigos adaptativos) se componen de tres (3) etapas. En la primera etapa, se estima un retraso T0L de altura de circuito abierto en el módulo 206 de búsqueda de altura de circuito abierto en respuesta a la señal sw(r¡) de voz ponderada. Como se indica en la descripción anterior, este análisis de altura de circuito abierto usualmente se realiza una vez cada 10 ms (dos sub-cuadros) usando técnicas bien conocidas por aquellos expertos en la técnica. En la segunda etapa, se busca un criterio C de búsqueda en el módulo 207 de búsqueda de altura de circuito cerrado para retrasos de altura de números enteros alrededor del retraso T0 (usualmente ±5) de altura de circuito abierto, estimado, que simplifica de forma significativa el procedimiento de búsqueda. Un ejemplo del criterio C de búsqueda se da por:
en donde t denota reemisor de vector Una vez que se encuentra un retraso de altura de número entero, óptimo en la segunda etapa, se prueba una tercera etapa de la búsqueda (módulo 207), por medio del criterio C de búsqueda, las fracciones alrededor de ese retraso de altura de número entero, óptimo. Por ejemplo, la recomendación G-729 de ITU-T usa una resolución de 1/3 sub-muestras . El índice T del libro de códigos de altura se codifica y transmite al multiplexor 213 para transmisión a través de un canal de comunicación (no mostrado) . La ganancia b de altura se cuantifica y transmite al multiplexor 213. Una vez que se determina la altura, o los parámetros b y T de LTP (predicción a largo plazo) , el siguiente paso es buscar la excitación innovadora óptima por medio del módulo 210 de búsqueda de excitación innovadora de la Figura 2. Primero,- el vector objetivo x se actualiza al sustraer la contribución de LTP: X' = x -byt en donde b es la ganancia de separación e yt es el vector filtrado del libro de códigos de altura (la excitación pasada en el retraso T enrolado con la respuesta h de impulso) .
El procedimiento de búsqueda de excitación innovadora en CELP se realiza en un libro de códigos de innovación para encontrar el vector de código ck de excitación óptima y la ganancia g que reduce al mínimo el error E de mínimos cuadrados entre el vector objetivo x' y una versión filtrada a escala del vector de código ck, por ej emplo :
en donde H es una matriz de convolución triangular menor derivada del vector h de respuesta de impulso. El índice k del libro de códigos de innovación que corresponde al vector de código ck óptimo encontrado y la ganancia g se suministran al multiplexor 213 para transmisión a través de un canal de comunicación. En una implementación ilustrativa, el libro de códigos, de innovación, usado es un libro de códigos dinámico que comprende un libro de códigos algebraico seguido por un pre-filtro F( z) adaptativo que mejora los componentes espectrales especiales a fin de mejorar la calidad de voz de síntesis, de acuerdo a la patente de los Estados Unidos número 5,444,816 otorgada a Adoul et al. el 22 de Agosto de 1995. En esta implementación ilustrativa, la búsqueda del libro de códigos innovador se realiza en el módulo 210 por medio de un libro de códigos algebraico como se describe en las patentes de los Estados Unidos números
,444,816 (Adoul et al.) emitida el 22 de Agosto de 1995; ,699,482 otorgada a Adoul et al el 17 de Diciembre de 1997; ,754,976 otorgada a Adoul et al el 19 de Mayo de 1998; y 5,701,392 (Adoul et al.) emitida el 23 de Diciembre de 1997.
Vista general del descodificador de ACELP El descodificador 300 de voz de la Figura 3 ilustra los varios pasos llevados a cabo entre la entrada digital 322 (corriente de bits de entrada al desmultiplexor 317) y la señal ssaiida de voz muestreada de salida. El desmultiplexor 317 extrae los parámetros de modelo, de síntesis de la información binaria (corriente 322 de bits de entrada) recibida de un canal de entrada digital.
De cada cuadro binario recibido, los parámetros extraídos son: los coeficientes Á ( z) de LP interpolados, cuantificados, también llamados parámetros de producción a corto plazo (STP) producidos una vez por cuadro; - los parámetros T y b (para cada sub-cuadro) de la predicción a largo plazo (LTP) ; y - el índice Je y la ganancia g (para cada sub- cuadro) del libro de códigos de innovación. La señal de voz actual se • sintetiza en base a estos parámetros como se explicará a continuación en la presente.
El libro de códigos 318 de innovación es sensible al índice k para producir el vector de códigos ck de innovación, que se pone a escala por la ganancia g descodificada a través de un amplificador 324. En la implementación ilustrativa, un libro de códigos de innovación como se describe en las patentes de los Estados Unidos números 5,444,816; 5,699,482; 5,754,976; y 5,701,392 mencionadas anteriormente se usan para producir el vector de código ck innovador. El vector de código bvt de altura a escala se produce al aplicar el retraso T de altura a un libro de códigos 301 de altura para producir un vector de código de altura. Entonces, el vector de código vt de altura se amplifica por la ganancia b de altura por un amplificador 326 para producir el vector de código bvt de altura a escala . La señal u de excitación se computa por el sumador 320 como:
El contenido del libro de códigos 301 de altura se actualiza usando el valor pasado de la señal u de excitación almacenada en la memoria 303 para mantener el sincronismo entre el codificador 200 y el descodificador 300. La señal s ' sintetizada se computa al filtrar la señal u de excitación a través del filtro 306 de síntesis de
LP que tiene la forma 1/A ( z) , en donde A ( z) es el filtro de LP interpolado, cuantificado del sub-cuadro actual. Como se puede ver en la Figura 3, los coeficientes A ( z) interpolados, cuantificados en la línea 325 del desmultiplexor 317 se suministran al filtro 306 de síntesis de LP para ajustar por consiguiente los parámetros del filtro 306 de síntesis de LP. El vector s ' se filtra a través del postprocesador 307 para obtener la señal ssalida de voz, muestreada, de salida. El post-procesamiento consiste típicamente de post-filtración a corto plazo, postfiltración a largo plazo, y puesta a escala de la ganancia. También puede consistir de un filtro de paso alto para remover las frecuencias bajas indeseadas. La post- filtración es de otro modo bien conocida por aquellos expertos en la técnica.
Vista General de la Codificación Incorporada Basada en G- 729 El codee G-729 se basa en la paradigma de codificación de CELP algebraica (ACELP) explicada anteriormente. La asignación de bits del codee G-729 a 8 kbit/s se da en la Tabla 1.
Tabla 1.- Asignación de bits en el G-729 a 8 kbit/s Parámetro Bits/cuadro de 10 ms Parámetros de LP 18 Retraso de altura 13 + 5 Paridad de altura 1 Ganancias 14 7 + 7 Libro de códigos algebraico 34 17 + 17 Total ¡0 bits/10 ms = 9 kbits/s
La recomendación G-729 de ITU-T opera en cuadros de 10 ms (80 muestras a velocidad de muestreo de 8 kHz) . Los parámetros de LP se cuantifican y transmiten una vez por cuadro. El cuadro de G-729 se divide en dos sub-cuadros de 5 ms . El retraso de altura (o índice del libro de códigos adaptativo) se cuantifica con 8 bits en el primer sub-cuadro y 5 bits en el segundo sub-cuadro (en relación al retraso del primer sub-cuadro) . Las ganancias del libro de códigos algebraico y de altura se cuantifican conjuntamente usando 7 bits por sub-cuadro. Se usa un libro de códigos algebraico de 17 bits para representar la excitación de innovación o fija del libro de códigos. El codee incorporado se integra en base al codee del núcleo G-729. La codificación incorporada, o codificación estratificada, consiste de una capa núcleo y capas adicionales para calidad incrementada o ancho de banda
codificado, incrementado. La corriente de bits que corresponde a las capas superiores se puede hacer caer por la red como se necesite (en el caso de congestión o en una situación de múltiple difusión donde algunos enlaces tienen menores velocidades disponibles de bits) . El descodificador puede reconstruir la señal en base a las capas que recibe. En esta implementación ilustrativa, la capa núcleo Ll consiste de G-729 a 8 kbit/s. La segunda capa L2 proporciona 4 kbit/s adicionales para mejorar la calidad de banda estrecha a velocidad de bits R2 = L1+L2 = 12 kbit/s. Las diez (10) capas superiores de los 2 kbit/s cada uno se usa para obtener una señal codificada de banda ancha. Las diez (10) capas L3 a L12 corresponden a velocidades de bits de 14, 16, ..., y 32 kbit/s, respectivamente. De esta manera, el codificador incorporado opera como un codificador de banda ancha para velocidades de bits de 14 kbit/s y por arriba . Por ejemplo, el codificador usa codificación predictiva (CELP) en las primeras dos capas (G-729 modificado al adicionar un segundo libro de códigos algebraico) , y luego cuantifica en el dominio de frecuencia el error de codificación de las primeras capas. Se usa una MDCT (Transformada de Coseno Discreta Modificada) para correlacionar la señal al dominio de frecuencia. Los coeficientes de MDCT se cuantifican usando cuantificación de
vector algebraico escalable. Para incrementar el ancho de banda de audio, se aplica codificación paramétrica a las altas frecuencias. El codificador opera en cuadros de 20 ms, y necesita 5 ms de anticipación para la ventana de análisis de LP. La MDCT con un traslape de 50 % requiere 20 ms adicionales de anticipación que se puede aplicar ya sea en el codificador o en el descodificador. Por ejemplo, la anticipación de la MDCT se usa en el descodificador lo que da por resultado ocultamiento mejorado de borrado de cuadros como se explicará más adelante. El codificador produce una salida a 32 kbps, que se traduce en cuadros de 20 ms que contienen 640 bits cada uno. Los bits en cada cuadro se arreglan en capas incorporadas. La capa 1 tiene 160 bits que representan 20 ms de la norma G-729 a 8 kbps (que corresponden a dos cuadros de G-729) . La capa 2 tiene 80 bits, que representan 4 kbps adicionales. Entonces cada capa adicional (Capas 3 a 12) adiciona 2 kbps, hasta 32 kbps . En la Figura 4 se muestra un diagrama de bloques de un ejemplo del codificador incorporado. La señal x (401) de banda ancha original, muestreada a 16 kHz, se divide primero en dos bandas: 0-4000 Hz y 4000-8000 Hz en el módulo 402. En el ejemplo de la Figura 4, se realiza la división de banda usando un banco de
filtro de QMF (Filtro Menor en Cuadratura) con 64 coeficientes. Esta operación es bien conocida por aquellos expertos en la técnica. Después de la división de banda, se obtienen dos señales, una que cubre la banda de 0-4000 Hz (banda baja) y la otra que cubre la banda de 4000-8000
(banda alta) . Las señales en cada una de estas dos bandas se bajan en el muestreo por un factor de 2 en el módulo 402.
Esto produce 2 señales a una frecuencia de muestreo de 8 kHz: X F para la banda baja (403), y la xHF para la banda alta (404) . La señal xLF de banda baja se alimenta en una versión modificada del codificador 405 de G-729. Esta versión modificada 405 produce primero la corriente de bits de la norma G-729 a 8 kbps, que constituye los bits para la Capa 1. Se señala que el codificador opera en cuadros de 20 ms, por lo tanto, los bits de la Capa 1 corresponden a dos cuadros de G-729. Entonces, el codificador 405 de G-729 se modifica para incluir un segundo libro de -códigos algebraico innovador para mejorar la señal de banda baja. Este segundo libro de códigos es idéntico al libro de códigos innovador en G-729, y requiere 17 bits por sub-cuadros de 5 ms para codificar los impulsos del libro de códigos (68 bits por cuadro de 20 ms) . Las ganancias del segundo libro de códigos algebraico se cuantifican con relación a la ganancia
del primer libro de códigos usando 3 bits en el primero y tercer sub-cuadros y 2 bits en el segundo y cuarto sub-cuadros (10 bits por cuadro) . Se usan dos bits para enviar información de clasificación para mejorar el ocultamiento en el descodificador. Eso produce 68 + 10 + 2 = 80 bits para la capa 2. La señal objetivo usada para este libro de códigos innovador de segunda etapa se obtiene al sustraer la contribución del libro de códigos innovador de G-729 en el dominio de voz ponderado. La señal -*LF de síntesis del codificador 405 de G- 729 modificado se obtiene al adicionar la excitación de la norma G-729 (adición de vectores de código innovador y adaptativo escalado) y la excitación innovadora del libro de códigos innovador adicional, y al hacer pasar esta excitación mejorada a través del filtro de síntesis de G-729 usual. Ésta es la señal de síntesis que el descodificador producirá si recibe sólo la Capa 1 y Capa 2 de la corriente de bits. Se señala que el contenido del libro de códigos adaptativo (o de altura) se actualiza sólo usando la excitación de G-729. La Capa 3 extiende el ancho de banda de la calidad de banda estrecha a banda ancha. Esto se hace al aplicar codificación paramétrica (módulo 407) al componente XHF de alta frecuencia. Sólo la envoltura espectral y la envoltura del dominio de tiempo de XHF se computan y transmiten para
esta capa. La extensión del ancho de banda requiere 33 bits. Los 7 bits restantes en esta capa se usan para transmitir información de fase (posición de impulso global) para mejorar el ocultamiento del borrado de cuadros en el descodificador de acuerdo a la presente invención. Esto se explicará en más detalle en la siguiente descripción. Entonces, de la Figura 4, el error de codificación del sumador 406 (xLF - -^LF; junto con la señal XHF de alta frecuencia se correlacionan ambas en el dominio de frecuencia en el módulo 408. La MDCT, con 50 % de traslape, se usa para esta correlación de tiempo-frecuencia. Esto se puede realizar al usar dos MDCT, una para cada banda. La señal de banda alta se puede plegar espectralmente antes de la MDCT por el operador (-l)n de modo que los coeficientes de la MDCT de ambas transformadas se puedan unir en un vector para propósitos de cuantificación. Los coeficientes de MDCT entonces se cuantifican en el módulo 409 usando cuantificación de vector, algebraica, escalable, de una manera similar a la cuantificación de los coeficientes de FFT (Transformada Rápida de Fourier) en el codificador de audio AMR- B+ de 3GPP (3GPP TS 26.290). Por supuesto, se pueden aplicar otras formas de cuantificación. La velocidad de bits total para esta cuantificación espectral es de 18 kbps, que da cuenta de un presupuesto de bits de 360 bits por cuadro de 20 ms . Después de la cuantificación, los bits
correspondientes se estratifican en pasos de 2 kbps en el módulo 410 para formar las Capas 4 a 12. Cada Capa de 2 kbps contiene de esta manera 40 bits por cuadro de 20 ms . En una modalidad ilustrativa, se pueden reservar 5 bits en la Capa 4 para transmitir información de energía para mejorar el ocultamiento del descodificador y la convergencia en el caso de borrado de cuadros. Las extensiones algorítmicas, en comparación al codificador del núcleo G-729, se pueden resumir como sigue: 1) libro de códigos innovador de G-729 se repite una segunda vez (Capa 2); 2) se aplica codificación paramétrica para extender el ancho de banda, donde sólo se computan y cuantifican (Capa 3) la envoltura espectral y la envoltura de dominio de tiempo (información de ganancia) ; 3) se computa una MDCT cada 20 ms, y se cuantifican sus coeficientes espectrales en bloques 8-dimensionales usando VQ (Cuantificación de Vector) algebraica escalable; y 4) se aplica una rutina de estratificación de bits para formatear la corriente de 18 kbps de la VQ algebraica en capas de 2 kbps cada una (Capas 4 a 12) . En una modalidad, se pueden transmitir 14 bits de información de ocultamiento y convergencia en la Capa 2 (2 bits), Capa 3 (7 bits) y Capa 4 (5 bits) . La Figura 5 es un diagrama de bloques de un ejemplo del descodificador 500 incorporado. En cada cuadro
de 20 ms, el descodificador 500 puede recibir cualquiera de las velocidades de bits soportadas, desde 8 kbps hasta 32 kbps. Esto significa que la operación del descodificador es condicional al número de bits, o capas, recibidos en cada cuadro. En la Figura 5, se asume que al menos las Capas 1, 2, 3 y 4 se han recibido en el descodificador. Los casos de las velocidades mas bajas de bits se describirán a continuación . En el descodificador de la Figura 5, la corriente de bits 501 recibida se separa primero en Capas de bits como se produce por el descodificador (módulo 502). Las Capas 1 y 2 forman la entrada al descodificador 503 de G-729 modificado, que produce una señal de síntesis £LF, para la banda inferior (0-4000 Hz, muestreada a 8 kHz) . Recordar que la Capa 2 contiene esencialmente los bits para un segundo libro de códigos innovador con la misma estructura como el libro de códigos innovador G-729. Entonces, los bits de la Capa 3 forman la entrada al descodificador paramétrico 506. Los bits de la Capa 3 dan una descripción paramétrica en la banda alta (4000-8000 Hz, muestreada a 8 kHz) . De manera específica, los bits de la
Capa 3 describen la envoltura espectral de banda alta del cuadro de 20 ms, junto con la envoltura de dominio de tiempo
(o información de ganancias) . El resultado de la descodificación paramétrica es una aproximación paramétrica
de la señal de banda alta, es llamada x tiF en la Figura 5. Entonces, los bits de la Capa 4 y hacia arriba forman la entrada del cuantificador inverso 504 (Q_1) . La salida del cuantificador inverso 504 es un ajuste de los coeficientes espectrales cuantificados. Estos coeficientes cuantificados forman la entrada del módulo de transformar inversa 505 (T_1) , específicamente una MDCT inversa con 50 % de traslape. La salida de la MDCT inversa es la señal X ? . esta señal X ? se puede ver como el error de codificación cuantificado del codificador de G-729 modificado en la banda baja, junto con la banda alta cuantificada si algunos bits se asignaron a la banda alta en el cuadro dado. El módulo 505 de transformar la inversa (T_1) en donde se implementa como dos MDCT inversas entonces x D consistirá de dos componentes, 0? que representa el componente de baja frecuencia y x D2 que representa el componente de alta frecuencia. El componente x D? que forma el error de codificación cuantificado del codificador G-729 modificado entonces se combina con £LF en el combinador 507 para formar la síntesis ?LF de banda baja. De la misma manera, el componente X D2 que forma la banda alta cuantificada se combina con aproximación paramétrica de la banda alta XHF en el combinador 508 para formar la síntesis ¡?HF de banda alta. Las señales ?LF y ^HF se procesan a través del banco de
filtros 509 de QMF de síntesis para formar la señal í? de síntesis total a velocidad de muestreo de 16 kHz. En el caso donde no se reciban las Capas 4 hacia arriba, entonces £D es cero, y las salidas de los combinadores 507 y 508 son iguales a su entrada, específicamente X LF y HF - Si sólo se reciben las Capas 1 y 2, entonces el descodificador tiene sólo que aplicar el descodificar G-729 modificado para producir la señal X F . El componente de banda alta será cero, y la señal muestreada hacia arriba a 16 kHz (si se requiere) tendrá el contenido sólo en la banda baja. Si sólo se recibe la Capa 1, entonces el descodificador tiene sólo que aplicar el descodificador G-729 para producir la señal £LF- Ocul tamien to Robusto de Borrado de Cuadros . El borrado de cuadros tiene un efecto principal en la calidad de la voz sintetizada en los sistemas de comunicación digital de voz, especialmente cuando se opera en ambientes inalámbricos y en redes conmutadas por paquetes. En sistemas celulares inalámbricos, la energía de la señal recibida puede exhibir frecuentes desvanecimientos severos que dan por resultado altas proporciones de error de bits y esto llega a ser más evidente en los límites de la celda o célula. En este caso, el descodificador de canal falla en corregir los errores en el cuadro recibido y como
consecuencia, el detector de error usualmente usado después del descodificador de canal declarará como borrado el cuadro. En aplicaciones de red de voz sobre paquetes, tal como el protocolo de voz sobre Internet (VoIP) , la señal de voz se empaquetiza, o pone en paquetes, donde usualmente se coloca un cuadro de 20 ms en cada paquete. En comunicaciones conmutadas por paquetes, puede presentarse una caída de paquetes en un ruteador que llega a ser muy grande el número de paquetes, o el paquete puede_ arribar en el receptor después de un retraso prolongado y se debe declarar como perdidos y si su retraso es más que la duración del amortiguador de fluctuación en el lado del receptor. En estos sistemas, el codee se puede someter típicamente a proporciones de borrado de cuadros de 3 a 5 % . El problema del procesamiento del borrado de cuadros (FER) es básicamente doble. Primero, cuando arriba un indicador de cuadro borrado, el cuadro siempre se debe generar al usar la información enviada en el cuadro anterior y al estimar la evolución de la señal en el cuadro ausente. El éxito de la estimación depende no sólo de la estrategia de ocultamiento, pero también en el lugar en la señal de voz donde se presenta el borrado. Segundo, se debe asegurar la transición suave cuando se recupera la operación normal, es decir, cuando el primer cuadro bueno arriba después de un bloque de cuadro borrados (uno o más) . Esta no es una tarea
trivial puesto que la síntesis fiel y la síntesis estimada pueden evolucionar de manera diferente. Cuando arriba el primer cuadro bueno, el descodificador se desincroniza por lo tanto del codificador. La razón principal es que los codificadores de baja velocidad de bits dependen de la predicción de altura, y no ante los cuadro borrador, la memoria del predictor de altura (o el libro de códigos adaptativo) no es por más tiempo la misma como la que está en el codificador. El problema se amplifica cuando se borran muchos cuadros consecutivos. Con respecto al ocultamiento, la dificultad de la recuperación del procesamiento normal depende del tipo de señal, por ejemplo, la señal de voz donde se ha presentado el borrado. El efecto negativo de los borrados de cuadros se puede reducir de manera significativa al adaptar el ocultamiento y la recuperación del procesamiento normal
(recuperación adicional) al tipo de señal de voz donde se presenta el borrado. Para este propósito, es necesario ratificar cada cuadro de voz. Esta clasificación se puede hacer en el codificador y transmitir. De manera alternativa, se puede estimar en el descodificador. Para el mejor ocultamiento y recuperación, hay pocas características críticas de la señal de voz que se deben controlar de manera cuidadosa. Estas características críticas son la energía de la señal, o la amplitud, la
cantidad de periodicidad, la envoltura espectral y el periodo de altura. En caso de una recuperación de voz, se puede lograr de forma adicional por un control de fase. Con un ligero incremento en la velocidad de bits, se pueden cuantificar pocos parámetros complementarios y se transmiten para un mejor control. Si no está disponible ancho de banda adicional, los parámetros se pueden estimar en el descodificador. Con estos parámetros controlados, el ocultamiento del borrado de cuadros y la recuperación se pueden mejorar de forma significativa, especialmente al mejorar la convergencia de la señal descodificada a la señal real en el codificador y al aliviar efecto de la mala correspondencia entre el codificador y el descodificador cuando se recupera el procesamiento normal. Estas ideas se han descrito en la solicitud de patente PCT en la Referencia [1] . De acuerdo con la modalidad ilustrativa, no restrictiva de la presente invención, el ocultamiento y la convergencia se mejoran adicionalmente por una mejor sincronización del impulso glotal en el libro de códigos de altura (o libro de códigos adaptativos) como se describirá más adelante en la presente. Esto se puede realizar con o sin la información de fase recibida, que corresponde por ejemplo a la posición del impulso de altura o impulso glotal. En la modalidad ilustrativa de la presente
invención, se describen métodos para ocultamíento eficiente de borrado de cuadros, y métodos para mejorar la convergencia en el descodificador en los cuadros que siguen a un cuadro borrado. Las técnicas de ocultamiento de borrado de cuadro de acuerdo a la modalidad ilustrativa se han aplicado al codee incorporado basado en G-729 descrito anteriormente. Este codee servirá como un marco de ejemplo para la implementación de los métodos de cancelación de FER en la siguiente descripción. La Figura 6 da un diagrama de bloques simplificado de las Capas 1 y 2 de un codificador 600 incorporado, basado en el modelo de codificador de CELP de la Figura 2. En este diagrama de bloques simplificado, el módulo 207 de búsqueda de altura de circuito cerrado el calculador 208 de respuesta de entrada cero, el calculador 209 de respuesta de impulso, el módulo 210 de búsqueda de excitación innovadora, y el módulo 211 de actualización de memoria se agrupan en los módulos 602 de búsqueda del libro de códigos de innovación y de altura de circuito cerrado. Además, la búsqueda del libro de códigos de segunda etapa en la Capa 2 también se incluye en los módulos 602. Este agrupamiento se hace para simplificar la introducción de los módulos relacionados a la modalidad ilustrativa de la presente invención. La Figura 7 es una extensión del diagrama de
bloques d la Figura 6 donde se han adicionado los módulos relacionados a la modalidad ilustrativa no restrictiva de la presente invención. En estos módulos adicionados 702 a 707, los parámetros adicionales se computan, cuantifican y transmiten con la finalidad de mejorar el ocultamiento de FER y la convergencia y recuperación del descodificador después de los cuadros borrados. En esta modalidad ilustrativa, estos parámetros de ocultamiento/recuperación incluyen clasificación de señal, energía, e información de fase (por ejemplo, la posición estimada del impulso glotal último en los cuadros anteriores) . En la siguiente descripción, se darán en detalle el cómputo y cuantificación de estos parámetros adicionales de ocultamiento/recuperación y llegarán a ser más evidentes con referencia a la Figura 7. Entre estos parámetros, se tratará la clasificación de señal en más detalle. En las secciones subsiguientes, se explicará el ocultamiento eficiente de FER usando estos parámetros adicionales de ocultamiento/recuperación para mejorar la convergencia.
Clasificación de Señal para Ocultamiento de FER y Recuperación . La idea básica detrás de usar una clasificación de la voz para una reconstrucción de señal en la presencia de cuadros borrados consiste del hecho que la estrategia ideal
de ocultamiento es diferente para segmentos de voz casi estacionarios y para segmentos de voz con características rápidamente cambiantes. En tanto que el mejor procesamiento de los cuadros borrados en los segmentos de voz no estacionarios se puede resumir como una convergencia rápida de los parámetros de codificación de voz a las características de ruido ambiente, en el caso de la señal casi estacionaria, los parámetros de codificación de voz no harían dramáticamente y se pueden mantener prácticamente sin cambio durante varios cuadros borrados adyacentes antes de que se amortigüen. También, el método óptimo para una recuperación de señal después de un bloque borrado de cuadros varía con la clasificación de la señal de voz. La señal de voz se puede clasificar a grandes rasgos como vocalizada, no vocalizada y pausas. La voz vocalizada contiene una cantidad de componentes periódicos y se puede dividir adicionalmente en las siguientes categorías: comienzos vocalizados, segmentos vocalizados, transiciones vocalizadas y desplazamientos vocalizados. Se define un comienzo vocalizado como un comienzo de un segmento de voz vocalizado después de una pausa o un segmento no vocalizado. Durante los segmentos vocalizados, los parámetros de la señal de voz (envoltura espectral, periodo de altura, relación de componentes periódicos y no periódicos, energías) varían lentamente de
cuadro a cuadro. Una transición vocalizada se caracteriza por variaciones rápidas de una voz vocalizada, tal como una transición entre vocales. Los desplazamientos vocalizados se caracterizan por una disminución gradual de la energía y vocalización al final de los segmentos vocalizados. Las partes no vocalizadas de la señal se caracterizan por la ausencia del componente periódico y se pueden dividir adicionalmente en cuadros inestables, donde varía rápidamente la energía y el espectro, y cuadros estables donde permanecen relativamente estables estas características . Los cuadros restantes se clasifican como silencio. Los cuadros de silencio comprenden todos los cuadros sin voz activa, es decir, también cuadros de sólo voz si está presente un ruido de fondo. No todas las clases mencionadas anteriormente necesitan un procesamiento separado. Por lo tanto, para los propósitos de técnicas de ocultamiento de errores, algunas de las clases de señal se agrupan de forma conjunta.
Clasificación en el Codificador Donde hay un ancho de banda disponible en la corriente de bits para incluir la información de clasificación, la clasificación se puede hacer en descodificación. Esto tiene varias ventajas. Una es que hay
frecuentemente una anticipación en los codificadores de voz. La anticipación permite estimar la evolución de la señal en el siguiente cuadro y en consecuencia se puede hacer la clasificación al tomar en cuenta el comportamiento futuro de la señal. En general, entre más prolongada sea la anticipación, mejor será la clasificación. Una ventaja adicional es una reducción de complejidad, puesto que la mayoría del procesamiento de señal necesario para el ocultamiento de borrado de cuadros se necesita de cualquier manera para la codificación de voz. Finalmente, también está la ventaja de trabajar con la señal original en lugar de la señal sintetizada. La clasificación de cuadros se hace con la consideración de la estrategia de ocultamiento y recuperación, en mente. En otras palabras, se clasifica cualquier cuadro de una manera tal que pueda ser óptimo el ocultamiento si está ausente el siguiente cuadro, o que pueda ser óptima la recuperación si se perdió el cuadro anterior. Algunas de las clases usadas para el procesamiento de FER no se necesitan transmitir puesto que se pueden deducir sin ambigüedad en el descodificador. En la presente modalidad ilustrativa, se usan cinco (5) clases distintas, y se definen como sigue: - La clase NO VOCALIZADA comprende todos los cuadros de voz no vocalizados y todos los cuadros sin voz
activa. También se puede clasificar un cuadro de desplazamiento vocalizado como no vocalizado si su extremo tiende a estar no vocalizado y se puede usar el ocultamiento diseñado para cuadros no vocalizados para el siguiente cuadro en caso de que se pierda. - La clase de TRANSICIÓN NO VOCALIZADA comprende cuadros no vocalizados con un posible comienzo vocalizado en el extremo. El comienzo sin embargo es aún demasiado corto o no está integrado suficientemente bien para usar el ocultamiento diseñado para cuadros vocalizados. La clase de transición no vocalizada puede seguir sólo un cuadro clasificado como no vocalizado o transición no vocalizada. - La clase de TRANSICIÓN VOCALIZADA comprende cuadros vocalizados con características vocalizadas relativamente débiles. Estos son típicamente cuadro vocalizados con características rápidamente cambiantes
(transiciones entra vocales) o desplazamientos vocalizados que duran el cuadro completo. La clase de TRANSICIÓN
VOCALIZADA puede seguir sólo un cuadro clasificado como TRANSICIÓN VOCALIZADA, VOCALIZADO O COMIENZO. La clase VOCALIZADA comprende cuadros vocalizados con características estables. Esta clase puede seguir sólo un cuadro clasificado como TRANSICIÓN VOCALIZADA, VOCALIZADO O COMIENZO. - La clase de COMIENZO comprende todos los cuadros
vocalizados con características estables que siguen un cuadro clasificado como NO VOCALIZADO o DE TRANSICIÓN VOCALIZADA. Los cuadros clasificados como COMIENZO corresponden a cuados de comienzo vocalizado donde el comienzo está ya suficientemente bien integrado para el uso del ocultamiento diseñado para cuadros vocalizados perdidos. La técnica de ocultamiento usada para un borrado de cuadros que sigue la clase de COMIENZO son las mismas como las que siguen la clase VOCALIZADA. La diferencia está en la estrategia de recuperación. Si se pierde un cuadro de la clase COMIENZO (es decir, un buen cuadro VOCALIZADO arriba después de un borrado, pero el último buen cuadro antes del borrado era NO VOCALIZADO) , se puede usar una técnica especial para reconstruir artificialmente el comienzo perdido. Este escenario se puede ver en la Figura 6. Las técnicas de reconstrucción artificial de comienzo se describirán en más detalle en la siguiente descripción. Por otra parte, si un buen cuadro de COMIENZO arriba después de un borrado y el último buen cuadro antes del borrado era NO VOCALIZADO, no se necesita este procesamiento especial, puesto que no se ha perdido el comienzo (no ha estado en el cuadro perdido) . , El diagrama de estado de clasificación se resume en la Figura 8. Si hay suficiente ancho de banda disponible, la clasificación se hace en el codificador y se transmite
usando 2 bits. Como se puede ver en la Figura 8, la
TRANSICIÓN NO VOCALIZADA 804 y la TRANSICIÓN VOCALIZADA 806 se pueden agrupar conjuntamente puesto que se pueden diferenciar de manera in ambigua en el descodificador (los cuadros de la TRANSICIÓN NO VOCALIZADA 804 pueden seguir solo los cuadros NO VOCALIZADOS 802 o de TRANSICIÓN NO
VOCALIZADA 804, los cuadros de la TRANSICIÓN VOCALIZADA 806 pueden seguir sólo los cuadros de COMIENZO 810, VOCALIZADOS
808 o de TRANSICIÓN VOCALIZADA 806) . En esta modalidad ilustrativa, se realiza la clasificación en el codificador y se cuantifica usando 2 bits se transmiten en la Capa 2. De esta manera, si se recibe a al menos la Capa 2 entonces la información de clasificación del descodificador se usa para ocultamiento mejorado. Si sólo se recibe la Capa 1 de núcleo, entonces la clasificación • se realiza en el descodificador . Los siguientes parámetros se usan para la clasificación en el codificador: una correlación normalizada rx, una medición de inclinación espectral et, una relación señal a ruido snr, un contador de estabilidad de altura pe, una energía de cuadro relativa de la señal al final del cuadro actual Es, y un contador de cruces cero de zc. La computación de estos parámetros que se usan para clasificar la señal se explica a continuación. La correlación normalizada rx se computa como
parte del módulo 206 de búsqueda de altura de circuito abierto de la Figura 7. Este módulo 206 usualmente transmite el estimado de altura de circuito abierto cada 10 ms (dos veces por cuadro) . Aquí, también se usa para transmitir las mediciones de correlación normalizada. Estas correlaciones normalizadas se computan en la señal Sw(n) de voz, semiponderada, actual y la señal de voz ponderada, pasada, en el retraso de altura de circuito abierto. La correlación promedio rx se define como: rx = 0.5 (rx(0) + rx(l)) (D en donde rx(0) , rx(l) son respectivamente la correlación normalizada del primer medio cuadro y el segundo medio cuadro. La correlación normalizada rx(k) se computa como sigue :
Las correlaciones rx(k) se computan usando la señal sw(n) de voz ponderada (como "x"). Los instantes tk se relacionan al comienzo del medio cuadro actual y son iguales a 0 y 80 muestras, respectivamente. El valor Tk es el retraso de altura en el medio cuadro que aumenta al máximo ?-i ?x(tk+i)x(tk+i-T) la correlación cruzada ?= . La longitud de la computación L' de autocorrelación es igual a 80 muestras. En
otra modalidad para determinar el valor Tk en un medio L -1 ?x(t + i)x(t + i -T) cuadro, la correlación cruzada ?= se computa y los valores de x que corresponde a los máximos en las tres secciones 20-39, 40-79, 80-143 de retraso, se encuentra. Entonces, Tk se ajusta al valor de x que aumenta al máximo la correlación normalizada en la ecuación (2). El parámetro de inclinación espectral et contiene la información acerca de la distribución de frecuencia de la energía. En la presente modalidad ilustrativa, la inclinación espectral se estima en el módulo 703 como los primeros coeficientes de autocorrelación normalizados de la señal de voz (el primer coeficiente de reflexión obtenido durante el análisis LP) . Puesto que el análisis de LP se realiza dos veces por cuadro (una vez cada cuadro de G-729 de 10 ms) , la excitación espectral se computa como el promedio del primer coeficiente de reflexión de ambos análisis de LP. Es decir,
et = 0. 5 ( k1 <1 > + k (2> ) (3)
donde kí ^) es el primer coeficiente de de reflexión del análisis de LP en el medio cuadro j . La medida de la relación de señal al ruido (SNR) snr aprovecha el hecho que para un codificador general de
correspondencia de forma de onda, la SNR es mucho mayor para sonidos vocalizados. La estimación del parámetro snr se debe hacer al final del circuito de sub-cuadro del codificador y se computa para el cuadro completo en el módulo 704 de computación de SNR usando la relación: snr (4) donde Esw es la energía de la señal de voz s (n ) del cuadro actual y Ee es la energía del error entre la señal de voz y la señal de síntesis del cuadro actual. El contador de estabilidad de altura pe valora la variación del periodo de altura. Se computa con el módulo 705 de clasificación de señal en respuesta a los estimados de altura de circuito abierto como sigue:
Los valores pi , p? y P3 corresponden al retraso de altura de circuito cerrado de los últimos tres subcuadros. La energía E3 de cuadro relativa se computa por el módulo 705 como una diferencia entre la energía de cuadro actual en dB y su promedio a largo plazo:
Es = Ef - Elt (6)
donde la energía Ef de cuadro como la energía de la señal de entrada dividida en ventanas en dB:
Ef (7)
donde L = 160 la longitud del cuadro y wHanning(i) es una ventana de Hanning de longitud L. La energía promediada a largo plazo se actualiza en los cuadro de voz activos usando la siguiente relación:
El t = 0. 99 El t + O . OlEf (8)
El último parámetro es el parámetro de cruce cero zc computado en un cuadro de la señal de voz por el módulo 702 de cómputo de cruce cero. En esta modalidad ilustrativa, el contador zc de cruce cero cuenta el número de veces que el signo de señal cambia de positivo a negativo durante ese intervalo. Para hacer más fuerte la clasificación, los parámetros de clasificación se consideran en el módulo 705 de clasificación de señal que forma conjuntamente una función de mérito fm. Para este propósito, los parámetros de clasificación se ponen primero a escala entre 0 y 1 de modo que cada valor de parámetro típico para la señal no vocalizada se traduce en 0 y cada valor de parámetro típico para la señal vocalizada se traduce en 1. Se usa una función
lineal entre estos. Se considera un parámetro px, su versión en escala se obtiene usando:
PS = + cc (9)
y se recorta entre 0 y 1 (excepto para la energía relativa que se recorta entre 0.5 y 1). Los coeficientes kp y cp de función se han encontrado experimentalmente para cada uno de los parámetros de modo que la distorsión de señal debido a las técnicas de ocultamiento y recuperación usadas en la presencia de los FER es mínima. Los valores usados en esta implementación ilustrativa se resumen en la Tabla 2:
Tabla 2.- Parámetros de clasificación de señal y los coeficientes de sus funciones respectivas de puesta en escala .
La función de mérito se ha definido como:
fm = - (2 + ets + 1.2 snrs + pe1 + Ess + zcs) (10) 7
donde el superíndice s indica la versión a escala de los parámetros . La función de mérito entonces se pone a escala por 1.05 si la energía relativa a escala E3S es igual a 0.5 y se pone a escala por 1.25 si Ess es mayor que 0.75. Además, la función de mérito también se pone a escala por un factor fE derivado en base a una máquina de estado que verifica la diferencia entre la variación instantánea de la energía relativa y la variación de energía relativa a largo plazo. Esto se adiciona para mejorar la clasificación de señal en la presencia del ruido de fondo. Un parámetro Evar de variación de energía relativa se actualiza como:
Evar = 0.05 (Eg - Eprev) + 0.95 Evar
donde Eprev es el valor de Es del cuadro anterior. Si (|ES - Eprev|<(|Evar| +6) ) Y (claseanterior = NO VOCALIZADO) fE =
0.8 Si no Si ( (Es - Eprev) > (Evar +3) ) Y ( Claseanterior = NO VOCALIZADO O
TRANSICIÓN) fE = 1.1 Si no Si ( (E3 - Eprev) < (Evar -5) ) Y (Claseantenor = VOCALIZADO o
COMIENZO) fE = 0.6 donde claseantenor es la clase del cuadro anterior. La clasificación entonces se hace usando la función de mérito fm y siguiendo las reglas resumidas en la Tabla 3.
Tabla 3.- Reglas de clasificación de señal en el codificador.
En el caso que se presente la detección de actividad de voz (VAD) en el codificador, se puede usar el indicador de VAD para la clasificación puesto que indica
directamente que no se necesita clasificación adicional de su valor que indica voz inactiva (es decir, el cuadro se clasifica directamente como NO VOCALIZADO) . En esta modalidad ilustrativa, el cuadro se clasifica directamente como NO VOCALIZADO si la energía relativa es menos de 10 dB.
Clasificación de Descodificador . Si la aplicación no permite la transmisión de la información de clase (no se pueden transportar bits adicionales) , la clasificación se puede realizar aún en el descodificador. En esta modalidad ilustrativa, los bits de clasificación se transmiten en la Capa 2, por lo tanto, la clasificación también se realiza en el descodificador para el caso donde sólo se recibe la Capa 1 de núcleo. Los siguientes parámetros se usan para la clasificación en el descodificador: una correlación normalizada rx, una medida de inclinación espectral et, un contador de estabilidad de altura pe, una energía -de cuadro relativa de la señal al final del cuadro actual Es, y un contador de cruce cero zc . La computación de estos parámetros que se usan para clasificar la señal se explica a continuación. La correlación normalizada rx se computa al final del cuadro en base a la señal de síntesis. Se usa el retraso de altura del último sub-cuadro.
La correlación normalizada rx es la altura computada de forma sincrónica como sigue:
donde T es el retraso de altura del último sub-cuadro y t=L-T, y L es el tamaño de cuadro. Si el retraso de altura del último cuadro es mayor que 3N/2 (N es el tamaño del sub-cuadro) , T se ajusta al retraso promedio de altura de los dos últimos sub-cuadros. La correlación rx se computa usando la señal de voz de síntesis ssa?ida ( n ) . Para retrasos de altura menores que el tamaño del sub-cuadro (40 muestras) la correlación normalizada se ejecuta dos veces en los instantes t=L-T y t=L-2T, y rx se da como el promedio de los dos cómputos. El parámetro de inclinación espectral et contiene la información acerca de la distribución en frecuencia de la energía. En la presente modalidad ilustrativa, la inclinación espectral en el descodificador se estima como el primer coeficiente de autocorrelación normalizado de la señal de síntesis. Se computa en base a los últimos tres cuadros como:
donde x(n) = ssallda (n ) es la señal de síntesis, N es el tamaño del sub-cuadro, y L es el tamaño de cuadro (N = 40 y L = 160 en esta modalidad ilustrativa) . El contador de estabilidad de altura pe valora la variación del periodo de altura. Se computa en el descodificador en base a como sigue:
pe = \p3 + p2 ~ Pi ~ Pol (13)
Los valores po, px , p? y P3 corresponden al retraso de altura de circuito cerrado de los 4 sub-cuadros. La energía Es de cuadro relativa se computa como una diferencia entre la energía de cuadro actual en dB y su energía promedio a largo plazo:
Es - E f - El t (14)
donde la energía de cuadro E f es la energía de la señal de síntesis en dB computada en la altura de forma sincrónica al final del cuadro como:
donde L=160 es la longitud de cuadro y T es el retraso promedio de altura de los dos últimos sub-cuadros. Si T es menor que el tamaño de sub-cuadro entonces T se ajusta a 2T
(la energía computada usando dos periodos de altura para retrasos cortos de altura) . La energía promediada a largo plazo se actualiza en los cuadros activos de voz usando la siguiente relación: E?t = 0. 99El t + O . OlEf (16)
El último parámetro es el parámetro de cruce cero zc computado en un cuadro de la señal de síntesis. En esta modalidad ilustrativa, el contador de cruce cero zc cuenta el número de veces que el signo de señal cambia de positivo a negativo durante ese intervalo. Para hacer más fuerte la clasificación, los parámetros de clasificación se consideran conjuntamente que forman una función de mérito fm . Para este propósito, los parámetros de clasificación se ponen en primera escala con una función lineal. Se considera un parámetro px, su versión a escala se obtiene usando:
ps = kp .px + cp (17)
El parámetro de coherencia de altura a escala se recorta entre 0 y 1, el parámetro de correlación normalizado a escala es doble si es positivo. Los coeficientes de función kp y cp se han encontrado experimentalmente para cada uno de
los parámetros de modo que es mínima la distorsión de señal debida a las técnicas de ocultamiento y recuperación usadas en la presencia de FER. Los valores usados en esta implementación ilustrativa se resumen en la Tabla 4 :
Tabla 4.- Parámetros de clasificación de señal en el descodificador y los coeficientes de sus respectivas funciones de puesta a escala,
La función de mérito se ha definido como:
1_ fm ^ -(2 -r: + e,' +pc' + E: + 2c') (18) 6 '
donde el superíndice s indica la versión a escala de los parámetros . La clasificación entonces se hace usando la función de mérito fm y siguiendo las reglas resumidas en la Tabla 5:
Tabla 5.- Reglas de clasificación de señal en el descodificador.
Parámetros de Voz para Procesamiento de FER . Hay pocos parámetros que se controlan de manera cuidadosa para evitar artefactos molestos cuando se presentan los FER. Si se pueden transmitir bits extras entonces estos parámetros se pueden estimar en el codificador, cuantificar y transmitir. De otra manera, algunos de ellos se pueden estimar en el descodificador. Estos parámetros pueden incluir clasificación de señal, información de energía, información de fase, e información de vocalización. La importancia del control de energía se
manifiesta por sí mismo principalmente cuando una operación normal se recupera después de un bloque borrado de cuadros. Puesto que la mayoría de los descodificadores de voz hacen uso de una petición, la energía correcta no se puede estimar de manera apropiada en el descodificador. En los segmentos de voz vocalizados, la energía incorrecta puede persistir durante varios cuadros consecutivos que es muy molesto especialmente cuando se incrementa esta energía incorrecta. La energía no sólo se controla para la voz vocalizada debido a la predicción a largo plazo (predicción de altura), también se controla para la voz no vocalizada. La razón aquí es la predicción del cuantificador de ganancia de innovación frecuentemente usado en los codificadores tipos CELP. La energía errónea durante los segmentos no vocalizados puede provocar una fluctuación molesta de alta energía . El control de fase también es una parte a considerar. Por ejemplo, la información de fase se envía con relación a la posición del impulso glotal. En la solicitud de patente PCT en [1], la información de fase transmite como la posición del primer impulso glotal en el cuadro, y se usa para reconstruir comienzos vocalizados perdidos. Un uso adicional en la información de fase es resincronizar el contenido del libro de códigos adaptativos. Esto mejora la convergencia del descodificador en el cuadro ocultado y los
siguientes cuadros mejoran significativamente la calidad de voz. El procedimiento para la resincronización del libro de códigos adaptativo (o excitación pasada) se puede hacer de varias maneras, dependiendo de la información de fase recibida (recibida o no) y de los retrasos disponibles en el descodificador.
Información de Energía La información de energía se puede estimar y enviar ya sea en el dominio residual de LP o en el dominio de señal de voz. El envío de la información en el dominio residual tiene la desventaja de no tomar en cuenta la influencia del filtro de síntesis de LP. Esto se puede hacer particularmente difícil en el caso de recuperación vocalizada después de varios cuadros vocalizados perdidos (donde se presenta el FER durante un segmento de voz vocalizado) . Cuando arriba un FER después de un cuadro vocalizado, la excitación del último cuadro bueno se usa típicamente durante el ocultamiento con alguna estrategia de atenuación. Cuando arriba un nuevo filtro de síntesis de LP con el primer cuadro bueno después del borrado, puede haber una mala correspondencia entre energía de excitación y la ganancia del filtro de síntesis de LP. El nuevo filtro de síntesis puede producir una señal de síntesis cuya energía es altamente diferente de la energía del último cuadro
borrado, sintetizado y también de la energía de señal original. Por esta razón, la energía se computa y cuantifica en el dominio de señal. La energía Eq se computa y cuantifica en el módulo 706 de estimación y cuantificación de energía de la Figura
7. En esta modalidad no ilustrativa, restrictiva, se usa un cuantificador uniforme de 5 bits en el intervalo de 0 dB a
96 dB con un paso de 3.1 dB. El índice de cuantificación se da por la parte entera de: 10log10(E+0.001) 3.1 '
donde el índice se delimita a 0 < i < 31. E es la energía de muestra máxima para cuadros clasificados como VOCALIZADOS o COMIENZO, o la energía promedio por muestra para otros cuadros. Para cuadros VOCALIZADOS o de COMIENZO, la energía de muestra máxima es la altura computada de forma sincrónica al final del cuadro como sigue: L-1 E = max(s (¡)) i=L-tE (20)
donde L es la longitud de cuadro y señal s(i) significa la señal de voz. El retraso de altura es mayor que el tamaño del sub-cuadro (40 muestras en esta modalidad ilustrativa), tE es igual al retraso de altura de circuito cerrado, redondeada del último sub-cuadro. Si el retraso de altura es
más corto que 40 muestras, entonces se te ajusta dos veces el retraso de altura de circuito cerrado redondeo del último sub-cuadro . Para otras clases, E es la energía promedio por muestra de la segunda mitad del cuadro actual, es decir, se tE se ajusta a L/2 y E se computa como:
?=L-te (21)
En esta modalidad ilustrativa, la señal de síntesis local en el codificador se usa para computar la información de energía . En esta modalidad ilustrativa, la información de energía se transmite en la Capa 4. De esta manera, si se recibe la Capa 4, esta información se puede usar para mejorar el ocultamiento del borrado de cuadros. De otra manera, la energía se estima en el lado del descodificador.
Información de Con trol de Fase . Se usa control de fase en tanto que se recupera después de un segmento perdido de voz vocalizada por razones similares como se describe en la sección anterior. Después de un bloque de cuadros borrados, la memoria del descodificador se llega a desincronizar con las memorias del codificador. Para resincronziar el descodificador, se puede
transmitir alguna información de fase. Como un ejemplo no limitativo, la posición de signo del último impulso glotal en el cuadro anterior se puede enviar como información de fase. Esta información de fase entonces se usa para la recuperación después de comienzos vocalizados perdidos como se describirá más adelante. También, como se describirá más adelante, esta información se usa para resincronizar la señal de excitación de cuadros borrados a fin de mejorar la convergencia en los cuadros consecutivos correctamente recibidos (reducir el error propagado) . La información de fase puede corresponder ya sea al primer impulso glotal en el cuadro o último impulso glotal en el cuadro anterior. La elección dependerá de si está disponible el retraso extra en el descodificador, o no. En esta modalidad ilustrativa, un retraso de cuadro está disponible en el descodificador para la operación de traslape y adición en la reconstrucción de MDCT. De esta manera, cuando se borra un cuadro único, están disponibles los parámetros del cuadro futuro (debido al retraso adicional del cuadro) . En este caso, la posición del signo del impulso máximo al final del cuadro borrado están disponibles del cuadro futuro. Por lo tanto, la excitación de altura se puede ocultar de una manera que el último impulso máximo se alineé con la posición recibida en el cuadro futuro. Esto se describirá en más detalle
posteriormente . No puede estar disponible retraso adicional en el descodificador. En este caso, la información de fase no se usa cuando se oculta el cuadro borrado. Sin embargo, en el cuadro recibido bueno después del cuadro borrado, se usa la información de fase para realizar la sincronización por impulso glotal en la memoria del libro de códigos adaptativo. Esto mejorará el desempeño en la reducción de la propagación del error. Dejar que T0 sea el retraso de altura de circuito cerrado, redondeado para el último sub-cuadro. La búsqueda del impulso máximo se realiza en el residuo de LP filtrado con pasa-bajos. El residuo filtrado con pasa-bajos se da por: rLP(n)=0.25r (n-l)+0.5r (n)+0.25r (n+l) (22)
El módulo 707 de cuantificación y búsqueda de impulso glotal busca la posición del último impulso glotal x entre las T0 últimas muestras del residuo filtrado por pasabajos en el cuadro al buscar la muestra con amplitud absoluta máxima (x es la posición con relación al extremo del cuadro) . La posición del último impulso glotal se codifica usando 6 bits de la siguiente manera. La precisión usada para codificar la posición del primer impulso glotal depende
del valor de altura de circuito cerrado para el último subcuadro T0. Esto es posible debido a que este valor se conoce tanto por el codificador por el descodificador, y no se somete a propagación de error después de una o varias pérdidas de cuadros. Cuanto T0 es menor que 64, la posición del último impulso glotal con relación al extremo del cuadro se codifica directamente con una precisión de una muestra. Cuando 64 < T0 < 128, la posición del último impulso glotal con relación al extremo del cuadro se codifica con una precisión de dos muestras al usar una división simple de números enteros, es decir, xl2. Cuando T0 = 128, la posición del último impulso glotal con relación al extremo del cuadro se codifica con una precisión de cuatro muestras al dividir adicionalmente x por 2. El procedimiento inverso se hace en el descodificador. Si T0<64, la posición cuantificada recibida se usa como esta. Si 64 < T0 < 128, la posición cuantificada recibida se multiplica por 2 y se incrementa por 1. Si To = 128, la posición cuantificada recibida se multiplica por 4 y se incrementa por 2 (incrementando por 2 da por resultado error de cuantificación uniformemente distribuido) . El signo de la amplitud de impulso, absoluta, máxima también se cuantifica. Esto da un total de 7 bits para la información de fase. El signo se ' usa para resincronización de fase puesto que la forma del impulso
glotal contiene frecuentemente dos impulsos grandes con signos opuestos. El ignorar el signo puede dar por resultado una pequeña deriva en la posición y reducir el desempeño del procedimiento de resincronización. Se debe señalar que se pueden usar métodos eficientes para cuantificar la información de fase. Por ejemplo, la posición del último impulso en el cuadro anterior se puede cuantificar con relación a una posición estimada del retraso de altura del primer sub-cuadro en el cuadro presente (la posición se puede estimar fácilmente del primer impulso en el cuadro retrasado por el retraso de altura) . En el caso en que estén disponibles más bits, se puede codificar la forma del impulso glotal. En este caso, se puede determinar la posición del primer impulso glotal por un análisis de correlación entre la señal residual y las posibles formas del impulso, signos (positivo o negativo) y posiciones. La forma del impulso se puede tomar de un libro de códigos de formas de impulso conocidas tanto en el codificador como en el descodificador, este método que se conoce como cuantificación de lectores por los expertos en la técnica. La forma, signo y amplitud del primer impulso glotal entonces se codifican y transmiten al descodificador .
Procesamiento de cuadros borrados Las técnicas de ocultamiento de FER, en esta modalidad ilustrativa, se demuestran en codee tipo ACELP. Sin embargo, se pueden aplicar fácilmente a cualquier codee de voz donde se genere la señal de síntesis al filtrar una señal de excitación a través de un filtro de síntesis de LP. La estrategia de ocultamiento se puede resumir como una convergencia de la energía de señal y la envoltura espectral a los parámetros estimados del ruido de fondo. La periodicidad de la señal se converge a cero. La velocidad de la convergencia es dependiente de los parámetros de la clase del último cuadro bueno recibido y el número de cuadros borrados consecutivos y se controla por un factor a de atenuación. El factor a es dependiente además de la estabilidad del filtro de LP para cuadros NO VOCALIZADOS. En general, la convergencia es lenta si el último cuadro bueno recibido está en un segmento estable y es rápida si el cuadro esta en un segmento de transición. Los valores de a se resumen en la Tabla 6.
Tabla 6. Valores del factor a de atenuación de ocultamiento de FER
g En la Tabla 6, p es una ganancia promedio de altura por cuadro dada por:
S pi = 0.1gp(0) + 0.2gp(1) +0.3gpí2)+0.4gp (3) (23;
donde gpl ' es la ganancia de altura en el subcuadro i El valor de ß se da por
limitado por 0.85 < ß= 0.98 (24)
El valor ? es un factor de estabilidad computado en base a una medición de distancia entre los filtros de LP adyacentes. Aquí, el factor ? se relaciona a la medida de distancia de LSP (Par Espectral Lineal) y se limita por O=?=l, con valores mayores de ? que corresponden a señales base estables. Esto da por resultado fluctuaciones de envoltura espectral y energía decrecientes cuando se presenta un borrado aislado de cuadro dentro de un segmento no vocalizado estable. En esta modalidad ilustrativa, el factor ? de estabilidad se da por:
0 = 1.25 ? {LSP, - LSPantcrior,. f 1.4 imitado por O = ? = l . ( 25 )
donde LSPi son los LSP del cuadro presente y LSPanteriorj. son los LSP del cuadro pasado. Se señala que los LSP están en el dominio de coseno (de -1 a 1) . En el caso en que no esté disponible la información de clasificación del cuadro futuro, la clase se establece para que sea la misma como en el último cuadro bueno recibido. Si la información de clase está- disponible del cuadro futuro, la clase del cuadro perdido se estima en base a la clase en el cuadro futuro y la clase del último
cuadro bueno. En esta modalidad ilustrativa, la clase del cuadro futuro puede estar disponible si se recibe la Capa 2 del cuadro futuro (velocidad de bits de cuadro futuro por arriba de 8 kbit/s y no se pierde) . Si el codificador opera a una velocidad de bits máxima de 12 kbit/s entonces el retraso de cuadro extra en el descodificador usado para el traslape y adición de MDCT no se necesita y el implementador puede elegir disminuir el retraso del descodificador. En este caso, se realizará el ocultamiento sólo en la información pasada. Esto se referirá como el modo de descodificador de retraso bajo. Dejar que la claseanterior denote la clase del último cuadro bueno, y que clasenuevo denote la clase del cuadro futuro y clasePerd?do es la clase del cuadro perdido que se va a estimar. Inicialmente, claseperd?cio s ajuste igual a claseanterior- Si el cuadro futuro está disponible entonces su información de clase se descodifica en clasenuevo- Entonces, el valor de claseperd?do se actualiza como sigue: - si clasenueVo es VOCALIZADO y claseanterior es
COMIENZO, entonces claseperdido se ajusta a VOCALIZADO. Si clasenueVo es VOCALIZADO y la clase del cuadro antes del último cuadro bueno es COMIENZO o VOCALIZADO, entonces claseperdido se ajusta a VOCALIZADO. - Si clasenuevo es NO VOCALIZADO y claseanterior
VOCALIZADO, entonces claseperd?do se ajusta a TRANSICIÓN VOCALIZADA. Si clasenuevo es VOCALIZADO o COMIENZO y claseanter?or es NO VOCALIZADO, entonces claseperd?do se ajusta a COMIENZO SIN ( reconstrucción de comienzo).
Construcción de la parte periódica de la excitación Para un ocultamiento de los cuadros borrados cuya clase se ajusta a NO VOCALIZADO o TRANSICIÓN NO VOCALIZADA, no se genera la parte periódica de la señal de excitación. Para otras clases, la parte periódica de la señal de excitación se construye de la siguiente manera. Primero, el último ciclo de altura del cuadro anterior se copia de forma repetida. Si es el caso del 1er cuadro borrado después de un cuadro bueno, este ciclo de altura se filtra primero por pasabajos. El filtro usado es un filtro de FIR (Respuesta de Impulso Finito) lineal de tres derivaciones, simple con coeficientes de filtro iguales a 0.18, 0.64 y 0.18. , El periodo Tc de altura usado para seleccionar el último ciclo de altura y usado por lo tanto durante el ocultamiento se define de modo que se puede evitar o reducir múltiplos o submúltiplos de la altura. La siguiente lógica se usa para determinar el periodo Tc de altura. si ( (T3 < 1.8 Ts) Y (T3 > 0.6 Ts) ) Ó (Tcnt > 30), entonces Tc =
T3, si no Tc = Ts. Por lo tanto, T3 es el periodo de altura redondeado del 4t0 subcuadro del último cuadro bueno recibido y último Ts es el periodo de altura, previsto, redondeado del 4to subcuadro del último cuadro bueno estable vocalizado con estimados coherentes de altura. Un cuadro VOCALIZADO estable se define aquí como un cuadro vocalizado precedido por un cuadro de tipo vocalizado (TRANSICIÓN VOCALIZADA, VOCALIZADO, COMIENZO) . La coherencia de la altura se verifica en esta implementación al examinar si los estimados de altura de circuito cerrado están razonablemente cerca, es decir, si las relaciones entre la altura del último subcuadro, la altura del 2d0 sub-cuadro y la altura del último sub-cuadro del cuadro anterior están dentro del intervalo (0.7, 1.4). De manera alternativa, si hay múltiples cuadros perdidos, T3 es el periodo de altura, estimado, redondeado del 4to subcuadro del último cuadro ocultado. Esta determinación del periodo Tc de altura significa que si la altura al final del último cuadro bueno y la altura del último cuadro estable están cerca entre sí, se usa a la altura del último cuadro bueno. De otro modo, esta altura se considera no confiable y la altura del último cuadro estable se usa en cambio para evitar el impacto de estimados erróneos de altura en comienzos vocalizados. Esta lógica sin embargo hace percibir sólo si el último segmento
estable no está demasiado lejano en el pasado. Por lo tanto, se define un contador Tcnt que limita el alcance de la influencia del último segmento estable. Si Tcnt es mayor o igual a 30, es decir si hay al menos 30 cuadros desde la última actualización del Ts, se usa de manera sistemática la altura del último cuadro bueno. Tcnt se reajusta a cero cada vez que se detecta un segmento estable y se actualiza Ts. El periodo Tc entonces se mantiene constante durante el ocultamiento para el bloque borrado completo. Para cuadros borrados que siguen a un cuadro correctamente recibido diferente de NO VOCALIZADO, se actualiza la memoria intermedia de excitación con esta parte periódica de la excitación únicamente. Esta actualización se usará para construir la excitación del libro de códigos de altura en el siguiente cuadro. El procedimiento descrito anteriormente puede dar por resultado una deriva en la posición del impulso glotal, puesto que el periodo de altura usado para construir la excitación puede ser diferente del periodo, de altura verdadero en el codificador. Esto provocará que se desincronice la memoria intermedia del libro de códigos adaptativo (o memoria intermedia de excitación pasada) de la memoria intermedia de excitación actual. De esta manera, en caso que se reciba un cuadro bueno después del cuadro borrado, la excitación de altura (o excitación del libro de
códigos adaptativo) tendrá un error que puede persistir por varios cuadros y afectar el desempeño de los cuadros correctamente recibidos. La Figura 9 es un diagrama de flujo que muestra el procedimiento 900 de ocultamiento de la parte periódica de la excitación descrita en la modalidad ilustrativa, y la Figura 10 es un diagrama de flujo que muestra el procedimiento 1000 de sincronización de la parte periódica de la excitación. Para superar este problema y para mejorar la convergencia en el descodificador, se describe un método de resincronización (900 en la Figura 9) que ajusta la posición del último impulso glotal en el cuadro ocultado para que se sincronice con la posición real del impulso glotal. En una primera implementación, el procedimiento de resincronización se puede realizar en base a la información de fase con respecto a la posición verdadera del último impulso glotal en el cuadro ocultado que se transmite en el cuadro futuro. En una segunda implementación, la posición del último impulso glotal se estima en el descodificador cuando no esta disponible la información del cuadro futuro. Como se describe anteriormente, la excitación de altura del último cuadro perdido se integra al repetir el último ciclo Tc de altura del cuadro anterior (operación 906 en la Figura 9), donde Tc se define anteriormente. Para el
primer cuadro borrado (detectado durante la operación 902 en la Figura 9) , el ciclo de altura se filtra primero por pasabajos (operación 904 en la Figura 9) usando un filtro con coeficiente 0.18, 0.64 y 0.18. Esto se hace como sigue:
u(n)=0.18u(n-Tc-l)+0.64u(n-Tc)+0.18u(n-Tc+l) , n=0, ...Tc-1 u(n)=u(n-Tc) , n=Tc, ... ,L+N-1 (26)
donde u(n) es la señal de excitación, L es el tamaño de cuadro, y N es el tamaño de sub-cuadro. Si esto no es el primer cuadro borrado, la excitación ocultada simplemente se integra como: u(n) = u(n - Tc) , n = 0,...,L+N-1 (27)
se debe señalar que también se computa la excitación ocultada para un sub-cuadro extra para ayudar en la resincronización como se mostrará más adelante. Una vez que se encuentra la excitación ocultada, el procedimiento de resincronización se realiza como sigue. Si está disponible el cuadro futuro (operación 908 en la Figura 9) y contiene la información de impulso glotal, entonces esta información se descodifica (operación 910 en la Figura 9) . Como se describe • anteriormente, esta información consiste de la posición del impulso máximo absoluto desde el extremo del cuadro y su signo. Dejar que
esta posición descodificada se denote P0 entonces la posición real del impulso máximo absoluto se da por: .
Púltimo = L— P0
Entonces, la posición del impulso máximo en la excitación ocultada desde el comienzo del cuadro con un ciclo similar a la información de ciclo descodificada se determina en base a una excitación filtrada por pasabajos (operación 912 en la Figura 9) . Esto es, si la posición de impulso máximo, descodificada es positiva entonces se determina un impulso máximo positivo en la excitación ocultada desde el comienzo del cuadro, de otro modo se determina el impulso máximo negativo. Dejar que el primer impulso máximo en la excitación ocultada se denote T(0). Las posiciones de los otros impulsos máximos se dan por (operación 914 en la Figura 9) :
T(i)=T(0)+iTc, i=l,...,Np-l (28)
donde Np es el número de impulsos (incluyendo el primer impulso en el cuadro futuro) . El error en la posición de impulso del último impulso ocultado en el cuadro se encuentra (operación 916 en la Figura 9) al buscar el impulso T(i) más cercano al
impulso real Púitimo - Si el error se da por :
Te = Púitimo -T ( k) , donde k es el índice del impulso más cercano a Púitimo - si Te = 0, entonces no se requiere sincronización (operación 918 en la Figura 9) . Si el valor de Te es positivo (T (k) <Púit?mo) entonces se necesitan insertar muestras de Te (operación 1002 en la Figura 10) . Si Te es negativo (T (k) >Púit?mo) entonces se necesitan remover muestras de Te a ( (operación 1002 en la Figura 10) . Además, la resincronización se realiza solo si Te < N y Te < Np x Tdlff, donde N es el tamaño del sub-cuadro y Tdlff es la diferencia absoluta entre Tc y el retrazo de altura del primer subcuadro en el cuadro futuro (operación 918 en la Figura 9) . Las muestras que necesitan ser adicionadas o suprimidas se distribuyen a través de los ciclos de altura en el cuadro. Las regiones de energía mínima en los diferentes ciclos de altura se determinan y se realiza la supresión o inserción de las muestras en estas regiones. El número de impulsos de altura en el cuadro es Np en las posiciones respectivas T(i), i=9, ... , Np-1. El número de regiones de energía mínima es Np-1. Las regiones de energía mínima se determinan al computar la energía usando una
ventana deslizante de 5 muestras (operación 1002 en la Figura 10) . La posición de energía mínima se ajusta en la parte intermedia de la ventana a la cual la energía está en el mínimo (operación 1004 en la Figura 10) . La búsqueda realizada entre los dos impulsos de altura en la posición T(i) y T(i+1) se restringe entre T(i)+Tc/4 y T(i+l)-Tc/4. Dejar que las posiciones mínimas determinadas como se describe anteriormente se denoten como Tm?n(i), i=0, ... , Nnan-1/ donde Nm?n = Np-1 es el número de regiones de energía mínima. La supresión o inserción demuestra que realiza alrededor de Tm?n(i). Las muestras que se van adicionar o suprimir se distribuyen a través de los diferentes ciclos de altura como se describirá como sigue. Si Nm?n = 1, entonces solo hay una región de energía mínima y todos los impulsos Te se insertan o suprimen en Tm?n(0). Para Nm?n>l, se usa un algoritmo simple para determinar el número de muestras que se van a adicionar o remover en cada ciclo de altura por lo que se adicionan/remueven menos muestras al comienzo y más hacia el final del cuadro (operación 1006 en la Figura 10) . En esta modalidad ilustrativa, para los valores del número total de impulsos que se van a remover/adicionar, Te y el número de regiones de energía mínima Nm?n, el número de muestras que se va a remover/adicionar por ciclo de altura, R(i), i=0, ... ,
Nmin-lí se encuentra usando la siguiente relación recursiva
(operación 1006 en la Figura 10) :
2 \ T. \ f N2 donde Se debe señalar que, en cada etapa, la condición R(i)<R(i-l) se verifica y si es verdadera, entonces se intercambian los valores de R(i) y R(i-l). Los valores R(i) corresponden a ciclos de altura que inician desde el comienzo del cuadro. R(0) corresponde a Tm?n(0), R(l) corresponde a Tm?n(l), ..., R(Nm?n-l) corresponde a Tmín (Nm?n-1) . Puesto que los valores R(i) están en orden creciente, entonces se adicionan/remueven más muestras hacia los ciclos al final del cuadro. Como un ejemplo para la computación de R(i), para Te=ll ó -11 Nm?n=4 (11 muestras se van a adicionar/remover y 4 ciclos de altura en el cuadro) , se encuentran los siguientes valores de R(i): f=2xll/16= 1.375 R ( 0 ) =redondear ( f/2 ) =1 R ( 1 ) ^redondear (2f-1 ) =2 R ( 2 ) =redondear ( 4.5f-1-2 ) =3 R(3) =redondear (8Í-1-2-3) =5
De esta manera, se adiciona/remueve una muestra alrededor de la posición de energía mínima Tm?n(0), 2 muestras se adicionan/remueven alrededor de la posición de energía mínima Tm?n(l), se adicionan/remueven 3 muestras alrededor de la posición de energía mínima Tm?n(2), y se adicionan/remueven 5 muestras alrededor de la posición de energía mínima Tm?n(3) (operación 1008 en Figura 10). La remoción de muestras es directa. La adición de muestras (operación 1008 en Figura 10) se realiza en esta modalidad ilustrativa al copiar las últimas muestras R(i) después de dividir por 20 y al invertir el signo. En el ejemplo anterior, donde se necesitan insertar 5 muestras en la posición Tm?n(3), se realiza los siguiente:
u(T n(3)+i)=-u(Tm?n(3)+i-R(3) )/20, i=0, ... , 4 (30)
Usando el procedimiento descrito anteriormente, el último impulso máximo en la excitación ocultada se fuerza para alinearse a la posición real del impulso máximo en el extremo del cuadro que se transmite en el cuadro futuro (operación 920 en la Figura 9 y operación 1010 en la Figura 10) . Si no está disponible la información de fase del impulso pero está disponible el cuadro futuro, el valor de altura del cuadro futuro se puede interpolar con el valor de
altura basado para encontrar los retrasos de altura estimados por sub-cuadro. Si el cuadro futuro no está disponible, el valor de altura del cuadro ausente se puede estimar entonces interpolar con el valor de altura pasado para encontrar los retrasos estimados de altura por subcuadro. Entonces, el retrazo total de todos los ciclos de altura en el cuadro ocultado se computa tanto para la última altura usada en el ocultamiento y los retrasos estimados de altura por sub-cuadro. La diferencia entre estos dos retrasos totales da una estimación en la diferencia entre el último impulso máximo ocultado en el cuadro y el impulso estimado. Los impulsos se pueden re-sincronizar entonces como se describe anteriormente (operación 920 en la Figura 9 y operaciones 1010 en la Figura 10) . Si el descodificador no tiene retrazo adicional, la información de fases de impulso presente en el cuadro futuro se puede usar en el primer cuadro bueno recibido para resincronizar la memoria de libro de códigos adaptativo (la excitación pasada) y obtener el último impulso glotal máximo alineado con la posición transmitida en el cuadro actual antes de construir la excitación del cuadro actual. En este caso, la sincronización será exactamente como se describe anteriormente, pero en la memoria de la excitación el lugar de que se haga en la excitación actual. En este caso, la construcción de la excitación actual empezará con una memoria sincronizada.
Cuando no está disponible retrazo extra, también es posible enviar la posición del primer impulso máximo del cuadro actual en lugar de la posición del último impulso glotal máximo del último cuadro. Si éste es el caso, la sincronización también se logra en la memoria de la excitación antes de construir la excitación actual. Con esta configuración, la posición real del impulso máximo absoluto en la memoria de la excitación se da por:
Púltimo = L+ PQ — i nuevo
donde Tnuevo es el primer ciclo de altura del nuevo cuadro y Po es la posición descodificada del primer impulso glotal máximo del cuadro actual. Puesto que el último impulso de la excitación del cuadro anterior se usa para la construcción de la parte periódica, su ganancia es aproximadamente correcta al comienzo del cuadro ocultado y se puede ajustar a 1 (operación 922 en la Figura 9) . La ganancia entonces se atenúa linealmente a todo lo largo del cuadro en una muestra por base de muestra para lograr el valor de a en el extremo del cuadro (operación 924 en la Figura 9) . Los valores de a (operación 922 en la Figura 9) corresponden a los valores de la Tabla 6 se toman en consideración la evolución de energía de los segmentos vocalizados. Esta evolución se puede extrapolar en algún
grado al usar los valores de ganancia de excitación de altura de cada sub-cuadro de último cuadro bueno. En general, si estas ganancias son mayores que 1, la energía de señal se incrementa, si son menores que 1, la energía se disminuye. a de esta manera se ajusta a * p como se describe anteriormente. El valor de ß se corta entre 0.98 y 0.85 para evitar fuertes incrementos y disminuciones de energía . Para los cuadros borrados que siguen a un cuadro correctamente recibido diferente de NO VOCALIZADO, la memoria intermedia de excitación se actualiza con la parte periódica de la excitación únicamente (después de la resincronización y puesta a escala de la ganancia) . Esta actualización se usará para construir la excitación de libro de códigos de altura en el siguiente cuadro (operación 926 en la Figura 9) . La Figura 11 muestra ejemplos típicos de la señal de excitación con y sin el procedimiento de sincronización. La señal de excitación original sin borrado de cuadros se muestra en la Figura 11b. La Figura 11c muestra la señal de excitación ocultada cuando el cuadro mostrado en la Figura lia se borra, sin usar el procedimiento de sincronización. Se puede ver claramente que el último impulso glotal en el cuadro ocultado no está alineado con la posición real del impulso mostrado en la Figura 11b. Además, se puede ver que el efecto del ocultamiento del borrado de cuadros persiste
en los siguientes cuadros que no están borrados. La Figura lid muestra la señal de excitación ocultada cuando se ha usado el procedimiento de sincronización de acuerdo a la modalidad ilustrativa descrita anteriormente de la invención. Se puede ver claramente que el último impulso glotal en el cuadro ocultado se alinea de manera apropiada con la posición verdadera del impulso mostrada en la Figura 11b. Además se puede ver que el efecto del ocultamiento del borrado de cuadros en los siguientes cuadros apropiadamente recibidos es menos problemático que el caso de la Figura 11c. Esta observación se confirma en las Figura lie y llf. La Figura lie muestra el error entre la excitación original y la excitación ocultada sin sincronización. La Figura llf muestra el error entre la excitación original y la excitación ocultada cuando se usa el procedimiento de sincronización. La Figura 12 muestra ejemplos de la señal de voz reconstruida usando las señales de excitación mostradas en la Figura 11. La señal reconstruida sin borrado de cuadros se muestra en la Figura 12b. La Figura 12c muestra la señal de voz reconstruida cuando se borra el cuadro mostrado en la Figura 12a, sin usar el procedimiento de sincronización. La Figura 12b muestra la señal de voz reconstruida cuando se borra el cuadro mostrado en la Figura 12a, con el uso del procedimiento de sincronización como se describe en la modalidad ilustrativa anterior de la presente invención. La
Figura 12e muestra la relación de señal a ruido (SNR) por subcuadro entre la señal original y la señal en la Figura 12c. Se puede ver que la Figura 12e que la SNR está muy baja aún cuando se reciben muy buenos cuadros (está por abajo de 0 dB para los siguientes dos cuadros buenos y está por abajo de 8 dB hasta el 7es?mo cuadro bueno) la Figura 12f muestra la relación de señal a ruido (SRN) por subcuadro entre la señal original y la señal en la Figura 12d. Se puede ver de la Figura 12d que la señal converge rápidamente a la señal reconstruida verdadera. La SRN aumenta rápidamente por arriba de 10 dB después de dos cuados buenos .
Construcción de la Parte Alea toria de la Excitación La parte de innovación (periódica) de la señal de excitación se genera de forma aleatoria. Se puede generar como un ruido aleatorio o al usar el código de libros de innovación de CELP con índices de vector generados al asar. En la presente modalidad ilustrativa, se ha usado un generado aleatorio simple con distribución aproximadamente uniforme. Antes de ajustar la ganancia de innovación, renovación aleatoriamente generada se pone a escala a algún valor de referencia, se fija ahí a la energía unitaria por muestra . Al comienzo de un bloque borrado la ganancia de innovación gs se inicializa al usar las ganancias de
excitación de innovación de cada subcuadro del último cuadro bueno :
gs = 0.1g(0) + 0.2g(1) + 0.3g(2) + 0.4g(3) (31)
donde g ( 0) , g ( l ) , g ( 2) y g ( 3) son el libro de código fijo, o innovación, ganancias de los cuatro (4) subcuadros del último cuadro .correctamente recibido. La estrategia de atenuación de la parte aleatoria de la excitación es algo diferente en la atenuación de la excitación de altura. La razón es que la excitación de altura (y de esta manera la periodicidad de excitación) está convergiendo a 0 en tanto que está convergiendo la excitación aleatoria a la energía de excitación de la generación de ruido de confort (CNG) . La atenuación de la ganancia de innovación se hace como:
a-gs° +(1 a)-9n (32)
donde g1s es la ganancia de innovación al comienzo del siguiente cuadro, g°s es la ganancia de innovación al comienzo del cuadro actual, gn es la ganancia de la excitación usada durante la generación de ruido de confort y a es como se define en la Tabla 5. Similarmente a la atenuación de excitación periódica la ganancia se atenúa de esta manera linealmente a todo lo largo del cuadro en una muestra por base de muestra iniciando con g°s y yendo al
valor de g1 s que se lograría al comienzo del siguiente cuadro . Finalmente, se el último cuadro bueno (correctamente recibido o no borrado) recibido es diferente de NO VOCALIZADO, la excitación de innovación se filtra a través de un filtro de paso alto de FIR de fase lineal con coeficientes -0.0125, -0.109, 0.7813, -0.109, 0.0125 para disminuir la cantidad de componentes ruidosos durante los segmentos vocalizados, estos coeficientes de filtros se multiplican por un factor adaptativo igual a (0.75 - 0.25 rv) , rv que es un factor de vocalización en el intervalo de - 1 a 1. La parte aleatoria de la excitación entonces se adiciona a la excitación adaptativa para formar la señal de excitación total. Si el último cuadro bueno es NO VOCALIZADO, sólo se usa la excitación de innovación y se atenúa adicionalmente por un factor de 0.8. En este caso, la memoria intermedia de agitación pasada se actualiza con la excitación de innovación puesto que no está disponible la parte periódica de la excitación.
Ocul tamiento de Envol tura Espectral , Síntesis y
Actualizaciones Para sintetizar la voz descodificada, se deben obtener los parámetros del filtro de LP. En el caso que no esté disponible el cuadro
futuro, la envoltura espectral se mueve gradualmente a la envoltura estimada del ruido ambiente. Aquí, la representación de LSF de los parámetros de LP se usa:
l1ü)- a¡° +(1~a)lnf ? y=0 ^ (33)
En la ecuación (33), I1 ( j ) es el valor de jésim0 LSF del cuadro actual I° ( j ) es el valor de jésimo LSF del cuadro anterior, In (j ) es el valor de jés?mo LSF de la envoltura de ruido de confort estimada y p es del orden del filtro de LP (se señala que los LSF están en el dominio de frecuencias). De manera alternativa, los parámetros de LSF del cuadro borrado se puede ajustar simplemente igual a los parámetros del último cuadro ( I1 ( j ) =1° ( j ) . La voz sintetizada se obtiene al filtrar la señal de excitación a través del filtro de síntesis de LP. Los coeficientes de filtro se computan de la representación de LSF y se interpolan para cada subcuadro (cuatro (4) veces por cuadro) como durante la operación normal del codificador . En el caso que esté disponible el cuadro futuro, se obtienen los parámetros del filtro de LP por subcuadro al interpolar los valores de LSP en los cuadros futuro y anterior. Se puede usar varios métodos para encontrar los parámetros interpolados. En un método, los parámetros de LSP para el cuadro entero se encuentran usando la ecuación:
LSF* )= 0.4 LSF*0)+ 0.6 LSF (34)
donde LSP(1) son los LSP estimados del cuadro borrado, LSP(0) son los LSP en el cuadro pasado y LSP(2) son los LSP en el cuadro futuro. Como un ejemplo no limitativo, los parámetros de LSP se transmiten dos veces por cuadro de 20 ms (entrado en el segundo y cuarto subcuadro) . De esta manera se centra LSP<0) en el cuarto subcuadro del cuadro pasado y se centra LSP(2) en el segundo subcuadro del cuadro futuro. De esta manera, se pueden encontrar los parámetros de LSP interpolados para cada subcuadro en el cuadro borrado como:
LSF*^= ((5-¡)LSF ) + (i+ ) LS^) 16, /=0,...,3, (35)
en donde i es el índice de subcuadro. Los LSP están en el dominio de coseno (-1 a 1) . Puesto que el cuantificador de ganancia de innovación y el cuantificador de LSF usan ambos una predicción, su memoria no se actualizará después que se reasuma la operación normal. Para reducir este efecto, las memorias de los cuantificadores se estiman y actualizan al final o en el extremo de cada cuadro borrado.
Recuperación de la Operación Normal Después de Borrado El problema de la . recuperación después de un
bloque borrado de cuadros es básicamente debido a la fuerte predicción usada, prácticamente en todos los codificadores de voz, modernos. En particular, los codificadores de voz tipo CELP logran su alta relación de señal a ruido para voz vocalizada debido al hecho que están usando la señal de excitación pasada para codificar la excitación del cuadro presente (predicción a largo plazo o de altura) . También, la mayoría de los cuantificadores de LP, cuantificadores de ganancia, etc.), hacen uso de una predicción.
Construcción de Comienzo Artificial La situación más complicada relacionada al uso de la predicción a largo plazo en los codificadores de CELP es cuando se pierde un comienzo vocalizado. El comienzo pedido significa que el comienzo de voz vocalizada ocurre en algún lugar durante el bloque borrado. En este caso, el último cuadro bueno recibido era no vocalizado y de esta manera no se encuentra excitación periódica en la memoria intermedia de excitación. El primer cuadro bueno después del bloque borrado está vocalizo, sin embargo, la memoria intermedia de agitación en el codificador es altamente periódica y se ha codificado la excitación adaptativa usando esta excitación pasada periódica. Puesto que esta parte periódica de la excitación está completamente ausente en el descodifícador, puede tomar varios cuadros para recuperarse de su perdida. Si se pierde un cuadro de COMIENZO (es decir, un
cuadro bueno VOCALIZADO arriba después de un borrado, pero el último cuadro bueno antes del borrado estaba NO VOCALIZADO como se muestra en la Figura 13, se usa una técnica especial, para reconstruir artificialmente el comienzo perdido y para activar la síntesis de voz. En esta modalidad ilustrativa, la posición del último impulso glotal en el cuadro ocultado se puede hacer disponible del cuadro futuro (cuadro futuro no se pierde y la información de fase relacionada al cuadro anterior se recibe en el cuadro futuro) . En este caso, se realiza como es usual el ocultamiento del cuadro borrado. Sin embargo, el último impulso glotal de cuadro borrado se reconstruye artificialmente en base a la información de posición y signo disponible del cuadro futuro. Esta información consiste de la posición del impulso máximo del extremo del cuadro y su signo. El último impulso glotal en el cuadro borrado se reconstruye de esta manera de forma artificial como un impulso filtrado por pasabajos. En esta modalidad ilustrativa, si el signo del impulso es positivo, el filtro pasa-bajos usado es un filtro de FIR de fase lineal, simple con la respuesta de impulso hajo = {-0.0125, 0.109, 0.7813, 0.109, -0.0125}. Si el signo del impulso es negativo, el filtro de pasa-bajos usado es un filtro de FIR de fase lineal con la respuesta de impulso hba?o = {0.0125, -0.109, - 0.7813, -0.109, 0.0125}. El periodo de altura considerado es el último
subcuadro del cuadro ocultado. El impulso filtrado por pasa-bajos se realiza al colocar la respuesta de impulso del filtro pasa-bajos en la memoria de la memoria intermedia de excitación adaptativa (inicializada anteriormente a cero) . El impulso glotal, filtrado con pasa-bajos (respuesta de impulso de filtro de pasa-bajos) se centrará en la posición descodificada Púiimo (transmitida dentro de la corriente de bits del cuadro futuro) . En la descodificación del siguiente cuadro bueno, se reasume la descodificación normal de CELP. La colocación del impulso glotal filtrado por pasabajos en la posición apropiada en el extremo del cuadro ocultado mejora significativamente el desempeño de los buenos cuadros consecutivos y acelera la convergencia del descodificador a los estados reales del descodificador. La energía de la parte periódica de la excitación de comienzo artificial entonces se pone a escala por la ganancia que corresponde a la energía cuantificada transmitida para el ocultamiento de FER y se divide por la ganancia del filtro de síntesis de LP. La ganancia de filtro de síntesis de LP se computa como:
donde h ( í ) es la respuesta de impulso de filtro de síntesis de LP. Finalmente, la ganancia de comienzo artificial se reduce al multiplicar la parte periódica por 0.96. El filtro de LP para la síntesis de voz de salida
no se interpola en caso de una construcción de comienzo artificial. En cambio, los parámetros de LP recibidos se usan para la síntesis del cuadro entero.
Control de Energía Una tarea en la recuperación después de un bloque borrado de cuadros es controlar apropiadamente la energía de la señal de voz sintetizada. El control de energía de síntesis se necesita debido a la fuerte predicción usualmente usada en los codificadores de voz modernos. También se realiza control de energía cuando se presenta un bloque de cuadros borrados durante un segmento vocalizado. Cuando arriba un borrado de cuadros después de un cuadro vocalizado, la excitación del último cuadro bueno se usa típicamente durante el ocultamiento con alguna estrategia de atenuación. Cuando arriba un nuevo filtro de LP con el primer cuadro bueno después del borrado, puede haber una mal correspondencia entre la energía de excitación y la ganancia del nuevo filtro de síntesis de LP. El nuevo filtro de síntesis puede producir una señal de síntesis con una energía altamente diferente de la energía del último cuadro borrado, sintetizado y también de la energía de señal original . El control de energía durante el primer cuadro bueno después de un cuadro borrado se puede resumir como sigue. La señal sintetizada se pone a escala de modo que su
energía es similar a la energía de la señal de voz sintetizada al final o en extremo del último cuadro borrado al comienzo del primer cuadro bueno y está convergiendo a la energía transmitida hacia el extremo del cuadro para impedir un incremento demasiado alto de la energía. El control de energía se hace en el dominio de la señal de voz sintetizada. Aún si se controla energía en el dominio de voz, la señal de excitación se debe poner a escala puesto que sirve como memoria de predicción a largo plazo para los siguientes cuadros. La síntesis entonces se vuelve a realizar para suavizar las transiciones. Dejar que g0 denote la ganancia usada para poner a escala la lera muestra en cuadro actual g_ la ganancia usada al final o en extremo del cuadro. Se señal de agitación entonces se pone a escala como sigue:
u,(0 = 9Aßc( - (0t /=o,...,L-1 (37)
en donde us ( i ) es la excitación a escala, u ( i ) es la excitación antes de la puesta a escala L es la longitud de cuadro gAGc ( i ) es la ganancia iniciando desde g0 y convergiendo exponencialmente gd
9 AGC 0) = fAGc9Aßc (i -V + (1 ~ fAGC )9l ¡= , L-1 (38)
con la inicialización de gAGc ( - ^ ) =go, donde fAGC es el factor
de atenuación establecido en esta implementación al valor de 0.98. Este valor de ha encontrado de forma experimental como un compromiso de tener un transición suave desde el cuadro anterior (borrado) en un lado, y la puesta a escala del último periodo de altura del cuadro actual tanto como sea posible valor correcto (transmitido) en el otro lado. Esto se hace debido a que el valor de la energía transmitida es la altura estimada de manera sincrónica al final o en el extremo del cuadro. Las ganancias g0 y g_ se definen como:
donde E-? es la energía computada en el extremo o al final del cuadro anterior o previo (borrado) , E0 es la energía al comienzo del cuadro actual (recuperado) , Ex es la energía al final del cuadro actual y Eq es la información de energía transmitida cuantificada al final del cuadro actual, computada en el codificador de las Ecuaciones (20; 21). Se computan de manera similar E-? y E con la excepción que se comportan en la señal s' de voz sintetizada. E~? es la altura computada de manera sincrónica usando el periodo Tc de altura de ocultamiento y E usa la altura T3 redondeada del último subcuadro. E0 se computa de manera similar usando el valor T0 de altura redondeado del primer sub-cuadro, las
ecuaciones (20; 21) que se modifican a: E = max(s,¿ (i)) i=0 para cuadros VOCALIZADO y de COMIENZO, tE es igual al retrazo de altura redondeado o dos veces a esa longitud si la altura es más corta que 64 muestras. Para otras muestras, E 'e ?=o con tE igual a la mitad de la longitud del cuadro. Las ganancias go y gx se limitan además a un valor máximo permitido, para impedir una fuerte energía. Este valor se ha ajustado a 1.2 en la presente implementación ilustrativa. El llevar a cabo el ocultamiento del borrado de cuadros y la recuperación del descodificador comprende, cuando una ganancia del filtro de LP de un primer cuadro no borrado recibido después del borrado de cuadros es mayor que una ganancia de un filtro de LP del último cuadro borrado durante el borrado de cuadros, ajustando la energía de una señal de excitación de filtro de LP producida en el descodificador durante el primer cuadro no borrado recibido a una ganancia del filtro de LP del primer cuadro no borrado recibido usando la siguiente relación: Si Eq no se puede transmitir, Eq se ajusta a Ex .
Sin embargo, si el borrado se ocurre durante un segmento de voz vocalizado (es decir, el último cuadro bueno antes de borrado y el primer cuadro bueno después de borrado se clasifica como TRANSICIÓN VOCALIZADA, VOCALIZADO o COMENZÓ) ,
se deben tomar precauciones adicionales debido a la posible mal correspondencia entre la energía de la señal de excitación y la ganancia del filtro de LP, mencionadas anteriormente. Surge una situación particularmente peligrosa cuando la ganancia del filtro de LP de un primer cuadro no borrado recibido después del borrado de cuadros es mayor que la ganancia del filtro de LP de un último cuadro borrado durante este borrado de cuadros. En este caso particular, la energía de la señal de excitación del filtro de LP producida en el descodificador durante el primer cuadro no borrado recibido se ajusta a una ganancia del filtro de LP del primer cuadro no borrado recibido usando las siguientes relaciones :
q i p CLP1 donde ELP0 es la energía de la respuesta de impulso del filtro de LP del último cuadro bueno antes del borrado y TLP1 es la energía del filtro de LP del primer cuadro bueno después del borrado. En esta implementación, los filtros de LP de los últimos subcuadros en un área de cuadros se usan. Finalmente, el valor Eq se limita al valor de E-? en este caso (borrado del segmento vocalizado sin información de Eq que se transmita) . Las siguientes excepciones, todas relacionadas a transiciones en la señal de voz, sobreescriben adicionalmente la computación de g0. Si se usa comienzo
artificial en el cuadro actual, go se ajusta a 0.5 gl t para hacer que la energía de comienzo se incremente gradualmente. En el caso de un primer cuadro bueno después de un borrado clasificado como COMIENZO, la ganancia go se impide que sea mayor que gx . Esta precaución se toma para impedir un ajuste de ganancia positiva al comienzo del cuadro (que es probable aún en el último parcialmente no vocalizado) de que amplifique el comienzo vocalizado (al final del cuadro) . Finalmente, durante una transición de vocalizado o no vocalizado (es decir, que el último cuadro bueno que se clasifique como TRANSICIÓN VOCALIZADA, VOCALIZADO o COMIENZO y el cuadro actual que se clasifique NO VOCALIZADO) o durante una transición de un periodo de voz no activa a un periodo de voz activa (último cuadro bueno recibido que se codifique como ruido de confort y cuadro actual que se codifique como voz activa), la go se ajusta a g¿. En el caso de un borrado de segmento vocalizado, el problema de energía errónea puede manifestarse por sí mismo también en cuadros que siguen al primer cuadro bueno después del borrado. Esto puede ocurrir aún si la energía del primer cuadro bueno se ha ajustado como se describe anteriormente. Para atenuar este problema, se puede continuar el control de energía hasta el final del segmento vocalizado .
Aplica ción de la Ocul tación Descri ta en un Codee Incorporado con una Capa Núcleo de Banda Ancha Como se menciona anteriormente, la modalidad ilustrativa descrita anteriormente de la presente invención también se ha usado en un algoritmo candidato para la estandarización de un codee de velocidad variable de bit, incorporado por ITU-T. En el algoritmo candidato, la capa núcleo se basa en una técnica de codificación de banda ancha similar a AMR- B (Recomendación G-722.2 de ITU-T) la capa núcleo opera a 8 kbit/s y codifica un ancho de banda de hasta 6400 Hz con una frecuencia de muestreo interna de 12.8 kHz (similar a AMR-WB) . Una segunda capa de CELP de 4 kbit/s se usa para incrementar la velocidad de bit hasta 12 kbit/s. Entonces se usa MDCT para obtener las capas superiores de 16 a 32 kbit/s. El ocultamiento es similar al método descrito anteriormente con pocas diferencias principalmente debidas a la diferente velocidad de muestreo de la capa núcleo. Las 256 muestras del tamaño de cuadro a una velocidad de muestreo de 12.8 kHz y el tamaño del subcuadro es de 64 muestras . La información de fase se codifica con 8 bits donde el signo se codifica con 1 bit y la posición se codifica con 7 bits como sigue. La precisión usada para codificar la posición del primer impulso glotal depende del valor T0 de altura de
circuito cerrado para el primer sub-cuadro en el cuando futuro. Cuando T0 es menor que 128, la posición del último impulso glotal con relación al extremo del cuadro se codifica directamente con una precisión de una muestra. Cuando T0 = 128 la posición del último impulso glotal con relación al extremo del cuadro se codifica con una precisión de dos muestras al usar una división de número entero simple, es decir, tl2. El procedimiento inverso se realiza en el descodificador. Si T0 < 128, la porción cuantificada recibida s.e usa como esta. Si T0 = 128, la posición cuantifica recibida se multiplica por 2 y se incrementa por 1. Los parámetros de recuperación de ocultamiento consisten de la información de fase de 8 bit, la información de clasificación de 2 bit, y la información de energía de 6 bit. Estos parámetros se transmiten en la tercera capa a 16 kbit/s . Aunque la presente invención se ha descrito en la descripción anterior con relación a una modalidad ilustrativa no restrictiva de la misma, esta modalidad se puede modificar como sea, dentro del alcance de las reivindicaciones anexas sin apartarse del alcance y espítitu de la presente invención.
Referencias ° [1] Milán Jelinek and Philippe Gournay. Solicitud
de patente PCT WO03102921A1, "A method and device for efficient frame erasure concealment in linear predictive based speech codees".
Claims (11)
- REIVINDICACIONES 1. Método para ocultar borrados de cuadros provocados por cuadros de una señal de sonido codificada, borrada durante la transmisión desde un codificador a un descodificador y para recuperación del descodificador después de borrados de cuadros, el método está caracterizado porque comprende: en el codificador, determinar los parámetros de ocultamiento/recuperación que incluyen al menos la información de fase relacionada a cuadros de la señal de sonido codificada; transmitir al descodificador los parámetros de ocultamiento/recuperación determinados en el descodificador: y en el descodificador, llevar a cabo el ocultamiento del borrado de cuadros en respuesta a los parámetros de ocultamiento/recuperación, recibidos, en donde el ocultamiento del borrado de cuadros comprende resincronizar, en respuesta a la información de fase recibida, los cuadros ocultados por borrado con cuadros correspondientes de la señal de sonido codificada en el codificador .
- 2. Método de conformidad con la reivindicación 1, caracterizado porque la determinación de los parámetros de ocultamiento/recuperación comprende determinar como la información de fase una posición de un impulso glotal en cada cuadro de la señal de sonido codificada.
- 3. Método de conformidad con la reivindicación 1, caracterizado porque la determinación de los parámetros de ocultamiento/recuperación comprende determinar como la información de fase una posición y signo de un último impulso glotal en cada cuadro de la señal de sonido codificada.
- 4. Método de conformidad con la reivindicación 2, caracterizado porque además comprende cuantificar la posición del impulso glotal antes de transmitir la posición del impulso glotal al descodificador.
- 5. Método de conformidad con la reivindicación 3, caracterizado porque comprende además cuantificar la posición y signo del último impulso glotal antes de transmitir la posición y signo del último impulso glotal al descodificador .
- 6. Método de conformidad con la reivindicación 2, caracterizado porque además comprende codificar la posición cuantificada del impulso glotal en un cuadro futuro de la señal de sonido codificada.
- 7. Método de conformidad con la reivindicación 2, caracterizado porque la determinación de la posición del impulso glotal comprende: medir el impulso glotal como un impulso de amplitud máxima en un ciclo predeterminado de altura de cada cuadro de la señal de sonido codificada; y determinar la posición del impulso de amplitud máxima .
- 8. Método de conformidad con la reivindicación 7, caracterizado porque además comprende determinar como información de fase un signo del impulso glotal al medir un signo del impulso de amplitud máxima.
- 9. Método de conformidad con la reivindicación 3, caracterizado porque la determinación de la posición del último impulso glotal comprende: medir el último impulso glotal como un impulso de amplitud máxima en cada cuadro de la señal de sonido codificada; y determinar la posición del impulso de amplitud máxima .
- 10. Método de conformidad con la reivindicación 9, caracterizado porque la determinación del signo del impulso glotal comprende: medir un signo del impulso de amplitud máxima. 11. Método de conformidad con la reivindicación 10, caracterizado porque la resincronización de un cuadro ocultado por borrado con un cuadro correspondiente de la señal de sonido codificada comprende: descodificar la posición y signo del último impulso glotal del cuadro correspondiente de la señal de sonido codificada; determinar, en el cuadro ocultado por borrado, una posición de un impulso de amplitud máxima que tiene un signo similar al signo del último impulso glotal del cuadro correspondiente de la señal de sonido codificada, cerrada a la posición del último impulso glotal del cuadro correspondiente de la señal de sonido codificada; y alinear la posición del impulso de amplitud máxima en el cuadro ocultado por borrado con la posición del último impulso glotal del correspondiente cuadro de la señal de sonido codificada. 12. Método de conformidad con la reivindicación 7, caracterizado porque la resincronización de un cuadro ocultado por borrado con un cuadro correspondiente de la señal de sonido codificada comprende: descodificar la posición del impulso glotal del cuadro correspondiente de la señal de sonido codificada; determinar, en el cuadro ocultado por borrado, una posición de un impulso de amplitud máxima más cercano a la posición del impulso glotal del cuadro correspondiente de la señal de sonido codificada; y alinear la posición del impulso de amplitud máxima en el cuadro ocultado por borrado con la posición del impulso glotal del cuadro correspondiente de la señal de sonido codificada. 13. Método de conformidad con la reivindicación 12, caracterizado porque la alineación del impulso de amplitud máxima en el cuadro ocultado por borrado con la posición del impulso glotal en el cuadro correspondiente de la señal de sonido codificada comprende: determinar un desplazamiento entre la posición del impulso de amplitud máxima en el cuadro ocultado por borrado y la posición del impulso glotal en el cuadro correspondiente de la señal de sonido codificada; y insertar/remover en el cuadro ocultado por borrado varias muestras que corresponden al desplazamiento determinado. 14. Método de conformidad con la reivindicación 13, caracterizado porque la inserción y la remoción de las varias muestras comprende: determinar al menos una región de energía mínima en el cuadro ocultado por borrado; y distribuir el número de muestras que se va a insertar/remover alrededor de al menos una región de energía mínima . 15. Método de conformidad con la reivindicación 9, caracterizado porque la distribución de las varias muestras que se van a insertar/remover alrededor de al menos una región de energía mínima comprende distribuir las varias muestras alrededor de al menos una región de energía mínima usando la siguiente ecuación: ..., i-1 y Nmln>1 f = -LA donde No2™" , Nmiíl es el número de regiones de energía mínima, y Te es el desplazamiento entre la posición del impulso de amplitud máxima en el cuadro ocultado por borrado y la posición del impulso glotal en el cuadro correspondiente de la señal de sonido codificada. 16. Método de conformidad con la reivindicación 15, caracterizado porque R ( i ) es un orden creciente, de modo que se adicionan/remueven principalmente muestras hacia un extremo del cuadro ocultado por borrado. 17. Método de conformidad con la reivindicación 1, caracterizado porque el llevar a cabo el ocultamiento de borrado de cuadros en respuesta a los parámetros de ocultamiento/recuperación recibidos comprende, para cuadros borrados vocalizados: .construir una parte periódica de una señal de excitación en el cuadro ocultado por borrado en respuesta a los parámetros de ocultamiento/recuperación, recibidos; y construir una parte innovadora aleatoria de la señal de excitación al generar al azar una señal innovadora, no periódica. 18. Método de conformidad con la reivindicación 1, caracterizado porque el llevar a cabo el ocultamiento del borrado de cuadros en respuesta a los parámetros de ocultamiento/recuperación recibidos comprende, para cuadros borrados no vocalizados, construir una parte innovadora aleatoria de una señal de excitación al generar al azar una señal innovadora no periódica. 19. Método de conformidad con la reivindicación 1, caracterizado porque los parámetros de ocultamiento/recuperación incluyen además clasificación de señal . 20. Método de conformidad con la reivindicación 19, caracterizado porque la clasificación de señal comprende clasificar cuadros sucesivos de la señal de sonido codificada como no vocalizado, transición no vocalizada, transición vocalizada, vocalizado, o comienzo, 21. Método de conformidad con la reivindicación 20, caracterizado porque la clasificación de un cuadro perdido se estima en base a la clasificación de un cuadro futuro y un último cuadro bueno recibido. 22. Método de conformidad con la reivindicación 21, caracterizado porque la clasificación del cuadro perdido se ajusta a vocalizado si el cuadro futuro está vocalizado y el último cuadro bueno recibido es de comienzo. 23. Método de conformidad con la reivindicación 22, caracterizado porque la clasificación del cuadro perdido se ajusta a transición no vocalizada si el cuadro futuro está no vocalizado y se vocaliza el último cuadro bueno recibido . 24. Método de conformidad con la reivindicación 1, caracterizado porque: la señal de sonido es una señal de voz; la determinación, en el codificador, de los parámetros de ocultamiento/recuperación incluye determinar la información de fase y la clasificación de señal de cuadros sucesivos de la señal de sonido codificada; llevar a cabo el ocultamiento del borrado de cuadro en respuesta a los parámetros de ocultamiento/recupe cación que comprende, cuando se pierde un cuadro de comienzo que se indica por la presencia de un cuadro vocalizado después de un borrado de cuadro y un cuadro no vocalizado antes del borrado de cuadro, reconstruir artificialmente el cuadro de comienzo, perdido; y resincronizar el cuadro de comienzo, perdido, ocultado por borrado, en respuesta a la información de fase con el cuadro de comienzo correspondiente de la señal de sonido codificada. 25. Método de conformidad con la reivindicación 24, caracterizado porque la reconstrucción artificial del cuadro de comienzo perdido comprende reconstruir artificialmente un último impulso glotal en el cuadro de comienzo perdido como un impulso filtrado por pasa-bajos. 26. Método de conformidad con la reivindicación 24, caracterizado porque además comprende poner a escala el cuadro de comienzo, perdido, reconstruido por una ganancia. 27. Método para ocultar borrados de cuadros provocados por cuadros de una señal de sonido codificada, borrado durante la transmisión desde un codificador hacia un descodificador y para la recuperación del descodificador después de los borrados de cuadros, el método está caracterizado porque comprende, en el descodificador: estimar una información de fase de cada cuadro de la señal de sonido codificada que se ha borrado durante la transmisión desde el codificador al descodificador; y llevar a cabo el ocultamiento del borrado de cuadros en respuesta a la información de fase estimada, en donde el ocultamiento del borrado de cuadros comprende resincronizar, en respuesta a la información de fase estimada, cada cuadro ocultado por borrado con un cuadro correspondiente de la señal de sonido codificada en el codificador . 28. Método de conformidad con la reivindicación 27, caracterizado porque la estimación de la información de fase comprende estimar una posición de un último impulso glotal de cada cuadro de la señal de sonido codificada que se ha borrado. 29. Método de conformidad con la reivindicación 28, caracterizado porque la estimación de la posición del último impulso glotal de cada cuadro de la señal de sonido codificada que se ha borrado comprende: estimar un impulso glotal de un último valor de altura; y interpolar el impulso glotal estimado con el último valor de altura para determinar retrasos estimados de altura . 30. Método de conformidad con la reivindicación 29, caracterizado porque la resincronización de un cuadro ocultado por borrado con el cuadro correspondiente de la señal de sonido codificada, comprende: determinar un impulso de amplitud máxima en el cuadro ocultado por borrado; y alinear el impulso de amplitud máxima en el cuadro ocultado por borrado con el impulso glotal estimado. 31. Método de conformidad con la reivindicación 30, caracterizado porque la alineación del impulso de amplitud máxima en el cuadro ocultado por borrado con el impulso glotal estimado, comprende: calcular ciclos de altura en el cuadro ocultado por borrado; determinar un desplazamiento entre los retrasos estimados de altura y los ciclos de altura en el cuadro ocultado por borrado; insertar/remover varias muestras que corresponden al desplazamiento determinado en el cuadro ocultado por borrado . 32. Método de conformidad con la reivindicación 32, caracterizado porque la inserción/remoción de las varias muestras comprende: determinar al menos una región de energía mínima en el cuadro ocultado por borrado; y distribuir el número de muestras que se va a insertar/remover alrededor de al menos una región de energía mínima . 33. Método de conformidad con la reivindicación 32, caracterizado porque la distribución de las varias muestras que se van a insertar/remover- alrededor de al menos una región de energía mínima comprende distribuir las varias muestras alrededor de al menos una región de energía mínima usando la siguiente relación: R(i) -redondeas O'+i)2 f -?R{k) para i=0,..., Nwin-1 Y k=0, ..., i-1 y Nmin>1 *=0 donde N«2•»• , Nmn es el número de regiones de energía mínima, y Te es el desplazamiento entre los retrasos
- 11.5 estimados de altura y los ciclos de altura en el cuadro ocultado por borrado. 34. Método de conformidad con la reivindicación 33, caracterizado porque R ( i ) está en orden creciente, de modo que las muestras se adicionan/remueven principalmente hacia el extremo del cuadro ocultado por borrado. 35. Método de conformidad con la reivindicación 27, caracterizado porque comprende atenuar una ganancia de cada cuadro ocultado por borrado, de una manera lineal, desde el comienzo al final del cuadro ocultado por borrado . 36. Método de conformidad con la reivindicación 35, caracterizado porque la ganancia de cada cuadro ocultado por borrado se atenúa hasta que se alcanza a, en donde a es un factor para controlar una velocidad convergente de la recuperación del descodificador después del borrado de cuadros . 37. Método de conformidad con la reivindicación 36, caracterizado porque el factor a es dependiente de la estabilidad de un filtro de LP para cuadros no vocalizados. 38. Método de conformidad con la reivindicación 37, caracterizado porque el factor a toma además en consideración una evolución de energía de segmentos vocalizados . 39. Dispositivo para ocultar borrado de cuadros provocados por cuadros de una señal de sonido codificada, borrada durante la transmisión desde un codificador a un descodificador y para recuperación del descodificador después de los borrados de cuadros, el dispositivo está caracterizado porque comprende: en el codificador, medios para determinar parámetros de ocultamiento/recuperación que incluyen al menos información de fase relacionada a los cuadros de la señal de sonido codificada; medios para transmitir al descodificador los parámetros de ocultami ento/recuperación determinados en el codificador; y en el descodificador, medios para llevar a cabo el ocultamiento de borrado de cuadros en respuesta a los parámetros de ocultamiento/recuperación recibidos, en donde los medios para llevar a cabo el ocultamiento de borrado de cuadros comprenden medios para resincronizar, en respuesta a la información de fase recibido, los cuadro ocultados por borrado con los cuadros correspondientes de la señal del sonido codificada en el codificador. 40. Dispositivo para ocultar borrados de cuadros provocados por cuadros de una señal del sonido codificada, borrados durante la transmisión desde un codificador a un descodificador y para recuperación del descodificador después de los borrados de cuadros, el dispositivo está caracterizado porque comprende: en el codificador, un generador de parámetros de ocultamiento/recuperación que incluyen al menos la información de fase relacionada a los cuadros de la señal de sonido codificada; un enlace de comunicación para transmitir al descodificador los parámetros de ocultamiento/recuperación determinados en el codificador; y en el descodificador, un módulo de ocultamiento de borrado de cuadres suministrado con los parámetros de ocultamiento/recuperación recibidos y que comprende un sincronizador sensible a la información de fase recibido para resincronizar los cuadros ocultados por borrado con los cuadros co respondientes de la señal de sonido codificada en el codificador. 41. Dispositivo de conformidad con la reivindicación ¿0, caracterizado porque el generador de los parámetros de ocultamiento/recuperación genera como la información de ¿ase una posición de un impulso glotal en cada cuadro de la señal de sonido codificada. 42. Dispositivo de conformidad con la reivindicación 40, caracterizado porque el generador de los parámetros de ocultamiento/recuperación genera como la información de fase una posición y signo de un último impulso glotal en cada cuadro de la señal de sonido codificada . 43. Di positivo de conformidad con la reivindicación 41, ca -acte trizado porque además comprende un cuantificador para ruantificar la posición del impulso glotal antes do la transmisión de la posición del impulso glotal al descodi ticador, mediante el enlace de comunicación . 44. Dispositivo de conformidad con la reivindicación 42, caracterizado porque además comprende un cuantificador para cuantificar la posición y signo del último impuLso glotal antes de la transmisión de la posición y signo del ultimo impulso glotal al descodificador, mediante el enlace de comunicación. 45. Dispositivo ae conformidad con la reivindicación 43, caracterizado porque además comprende un codificador de posición cuantificada del impulso glotal en un cuadro futuro de la señal de sonido codificada. 46. Dispositivo de conformidad con la reivindicación L, caracterizado porque el generador determina como la posición del impulso glotal una posición de un ímpul so de amplitud máxima en cada cuadro de la señal de sonido codificada 4/. Dispositivo de conformidad con la reivindicación 42, caracterizado porque el generador determinar como lt posición y signo del último impulso glotal una posición y signo de un impulso de amplitud máxima en cada cuadro de l señal de sonido codificada. 48. Di positivo c'e conformidad con la reivindicación 46, caracterizado porque el generador determina como información de fase un signo del impulso glotal como un signo del impulso de amplitud máxima. 49. Dispositivo de conformidad con la reivindicación 46, caracterizado porque el sincronizador: determina en cada cuadro ocultado por borrado, una posición de un impulso de amplitud máxima más cercano a la posición del impulso glotal en un cuadro correspondiente de la señal de sonido codificada; determina un desplazamiento entre la posición del impulso de a pj itud máxima en cada cuadro ocultado por borrado y ia posición del impulso glotal en el cuadro correspondiente de la señal de sonido codificada; y inserta/remueve varias muestras que corresponden al desplazamiento determinado en cada cuadro ocultado por borrado para alinear la posición del impulso de amplitud máxima en el cuadro ocultado por borrado con la posición del impulso glotal en eL cuadro correspondiente de la señal de sonido codificada. 50. Dispositivo de conformidad con la reivindicación 42, caracterizado porque el sincronizador: determina cn cada cuadro ocultado por borrado, una posición de un impulso de amplitud máxima que tiene un signo similar al signo del último impulso glotal, más cerca de la posición del último impulso glotal en un cuadro correspondiente de la señal de sonido codificada; determina un desplazamiento entre la posición del impulso de amplitud máxima en cada cuadro ocultado por borrado y la posición del último impulso glotal en el cuadro correspondiente de la señal del sonido codificada; y inserta/remueve varias muestras que corresponden al desplazamiento determinado en cada cuadro ocultado por borrado para alinear la posición del impulso de amplitud máxima en el cuadro ocultado por borrado con la posición del último impulso glotal en el cuadro correspondiente de la señal de sonido codificada. 51. Dispositivo de conformidad con la reivindicación 49, caracterizado porque el sincronizador además : determina al menos una región de energía mínima en cada cuadro ocultado por borrado al usar una ventana deslizantes; y distribuye el número de muestras que se van a insertar/remover alrededor de al menos una región de energía mínima . 52. Dispositivo de conformidad con la reivindicación 51, caracterizado porque el sincronizador usa la siguiente relación para distribuir el número de muestras que se van a insertar/remover alrededor de al menos una región de energía mínima; R(i) para i=0,..., Nmin-1 y k=0, ¡-i y Nmln>? 2\T. / = -donde N •"2«" , Nm?n es el número de regiones de energía mínima, y Te es el desplazamiento entre la posición del impulso de amplitud máxima en el cuadro ocultado por borrado y la posición del impulso glotal en el cuadro correspondiente de la señal de sonido codificada. 53. Dispositivo de conformidad con la reivindicación 52, caracterizado porque R ( i ) está en orden creciente, de modo que se adicionan/remueven principalmente hacia un extremo del cuadro ocultado por borrado. 54. Dispositivo de conformidad con reivindicación 40, caracterizado porque el módulo de ocultamiento de borrado de cuadros suministrado con los parámetros de ocultamiento/recuperación recibidos, comprende, para cuadros borrados vocalizados: un generador de una parte periódica de una señal de excitación en cada cuadro ocultado por borrado en respuesta a los parámetros de ocultamiento/recuperación recibidos; y un generador aleatorio de una parte innovadora no periódica de la señal de excitación. 55. Dispositivo de conformidad con la reivindicación 40, caracterizado porque el módulo de ocultamiento de borrado de cuadros suministrado por los parámetros ocultamiento/recuperación recibidos comprende, para cuadros borrados no vocalizados, un generador aleatorio de una parte innovador no periódica de una señal de excitación. 56. Dispositivo para ocultar borrados de cuadros provocados por cuadros de una señal de sonido codificada borrada durante la transmisión desde un codificador a un descodificador y para recuperación del descodificador después de borrados de cuadros, el dispositivo está caracterizado porque comprende: medios para estimar, en el descodificador, una información de fase de cada cuadro de la señal de sonido codificada que se ha borrado durante la transmisión del codificador al descodificador; y medios para llevar a cabo oeultamiento de borrado de cuadros en respuesta a la información de fase estimada, los medios para llevar a cabo el ocultamiento del borrado de cuadros que comprende medios para resincronizar, en respuesta a la información de fase estimada, cada cuadro ocultado por borrado con un cuadro correspondiente de la señal de sonido codificada en el codificador. 57. Dispositivo para ocultar borrados de cuadros provocados por cuadros de una señal de sonido codificada, borrada durante la transmisión desde un codificador a un descodificador, y para la recuperación del descodificador después de borrados de cuadros, el dispositivo está caracterizado porque comprende: en el descodificador, un estimador de una información de fase de cada cuadro de la señal codificada que se ha borrado durante la transmisión del codificador al descodificador; y un módulo de ocultamiento de borrado suministrado con la información de fase estimada y que comprende un sincronizador que, en respuesta a la información de fase estimada, resincroniza cada cuadro ocultado por borrado con un cuadro correspondiente de la señal de sonido codificada en el codificador. 58. Dispositivo de conformidad con la reivindicación 57, caracterizado porque el estimador de la información de fase estima, de un valor de altura pasado, una posición y signo de un último impulso glotal en cada cuadro de la señal de sonido codificada, e interpola el impulso glotal estimado con el último valor de altura para determinar retrasos estimados de altura. 59. Dispositivo de conformidad con al reivindicación 58, caracterizado porque el sincronizador: determina un impulso de amplitud máxima y ciclos de altura en cada cuadro ocultado por borrado; determina un desplazamiento entre los ciclos de altura en cada cuadro ocultado por borrado y los retrasos estimados de altura en el cuadro correspondiente de la señal de sonido codificada; y inserta/remueve varias muestras que corresponden al desplazamiento determinado en cada cuadro ocultado por borrado para alinear el impulso de amplitud máxima en el cuadro ocultado por borrado con el último impulso glotal estimado . 60. Dispositivo de conformidad con la reivindicación 59, caracterizado porque el sincronizador además: determina al menos una región de energía mínima al usar una ventana deslizante; y distribuye número de muestras alrededor de al menos una región de energía mínima. 61. Dispositivo de conformidad con la reivindicación 60, caracterizado porque el sincronizador usa la siguiente relación para distribuir el número de muestras alrededor de al menos una región de energía mínima: R(i) = radondmi? f - ? R(k) para i-0,..., Nm?n-1 y k=0, .... i-1 y Nmip>1 donde , Nm?n es el número de regiones de energía mínima, y Te es el desplazamiento entre los ciclos de altura en cada cuadro ocultado por borrado y los retrasos estimados de altura en el cuadro correspondiente de la señal de sonido codificada. 62. Dispositivo de conformidad con la reivindicación 61, caracterizado porque R ( i ) está en orden creciente, de modo que las muestras se adicionan/remueven principalmente hacia un extremo o hacia el final del cuadro ocultado por borrado. 63. Dispositivo de conformidad con la reivindicación 58, caracterizado porque además comprende el atenuador para atenuar una ganancia de cada cuadro ocultado por borrado, de una manera lineal, desde un comienzo a un final del cuadro ocultado por borrado. 64. Dispositivo de conformidad con la reivindicación 63, caracterizado porque el atenuador atenúa la ganancia de cada cuadro ocultado por borrado hasta a, en donde a es un factor para controlar una velocidad convergente de la recuperación del descodificador después del borrado de cuadros. 65. Dispositivo de conformidad con la reivindicación 64, caracterizado porque el factor a es dependiente de la estabilidad de un filtro de LP para cuadros no vocalizados. 66. Dispositivo de conformidad con la reivindicación 65, caracterizado porque el factor a toma en consideración además una evolución de energía de segmentos localizados . 67. Método de conformidad con la reivindicación 1, caracterizado porque comprende, cuando la información de fase no está disponible en el momento del ocultamiento de un cuadro borrado, actualizar el contenido de un libro de códigos adaptativo del descodificador con la información de fase cuando está disponible antes de descodificar un siguiente cuadro no borrado, recibido. 68. Método de conformidad con la reivindicación 1, caracterizado porque: la determinación de los parámetros de ocultamiento/recuperación comprende determinar como la información de fase una posición de un impulso glotal en cada cuadro de la señal de sonido codificada; y la actualización del libro de códigos adaptativo comprende resincronizar el impulso glotal en el libro de códigos adaptativo. 69. Dispositivo de conformidad con la reivindicación 40, caracterizado porque el descodificador actualiza, cuando la información de fase no está disponible en el momento del ocultamiento de un cuadro borrado, el contenido de un libro de códigos adaptativo del descodificador con la información de fase cuando está disponible antes de descodificar un siguiente cuadro no borrado, recibido. 70. Dispositivo de conformidad con la reivindicación 69, caracterizado porque: el generador de los parámetros de ocultamiento/recuperación determina como la información de fase una posición del impulso glotal en cada cuadro de la señal de sonido codificada; y el descodificador, para actualizar el libro de códigos adaptativo, resincroniza el impulso glotal en el libro de códigos adaptativo. RESUMEN DE LA INVENCIÓN Un método y dispositivo para ocultar borrados de cuadros provocados por cuadros de una señal de sonido codificada, borrada durante la transmisión desde un codificador hacia un codificador y para la recuperación del descodificador después de borrados de cuadros, comprende, en el codificador, determinar parámetros de ocultamiento/recuperación que incluyen al menos la información de fase relacionado a los cuadros de la señal de sonido codificada. Los parámetros de ocultamiento/recuperación determinados en el codificador se transmiten al descodificador, y en el descodificador, el ocultamiento del borrado de cuadros se lleva a cabo en respuesta a los parámetros de ocultamiento/recuperación recibidos. El ocultamiento de borrado de cuadros comprende resincronizar, en respuesta a la información de fase recibida, los cuadros ocultados por borrado con los cuadros correspondientes de la señal de sonido codificada en el codificador. Cuando no se transmiten parámetros de ocultamiento/recuperación hacia el descodificador, una información de fase de cada cuadro de la señal de sonido codificada que se ha borrado durante la transmisión desde el codificador hacia el descodificador se estima en el descodificador. También, se lleva a cabo el ocultamiento de borrado de cuadro en el descodificador en respuesta a la información de fase estimada, en donde el ocultamiento del borrado de cuadros comprende resincronizar en respuesta a la información de fase estimada, cada cuadro ocultado por borrado con un cuadro correspondiente de la señal de sonido codificada en el codificador.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US60/754,187 | 2005-12-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
MX2008008477A true MX2008008477A (es) | 2008-09-26 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2628510C (en) | Method and device for efficient frame erasure concealment in speech codecs | |
AU2003233724B2 (en) | Method and device for efficient frame erasure concealment in linear predictive based speech codecs | |
JP6306177B2 (ja) | 時間ドメイン励振信号を修正するエラーコンシールメントを用いて、復号化されたオーディオ情報を提供する、オーディオデコーダおよび復号化されたオーディオ情報を提供する方法 | |
JP6306175B2 (ja) | 時間ドメイン励振信号に基づくエラーコンシールメントを用いて、復号化されたオーディオ情報を提供するオーディオデコーダおよび復号化されたオーディオ情報を提供する方法 | |
JP4931318B2 (ja) | スピーチ符号化における前方向誤り訂正 | |
CN109155133B (zh) | 音频帧丢失隐藏的错误隐藏单元、音频解码器及相关方法 | |
US7302385B2 (en) | Speech restoration system and method for concealing packet losses | |
Jelinek et al. | On the architecture of the cdma2000/spl reg/variable-rate multimode wideband (VMR-WB) speech coding standard | |
MX2008008477A (es) | Metodo y dispositivo para ocultamiento eficiente de borrado de cuadros en codec de voz | |
Chibani | Increasing the robustness of CELP speech codecs against packet losses. |