ES2321147T3 - Codificacion de habla de tasa de transmision variable. - Google Patents

Codificacion de habla de tasa de transmision variable. Download PDF

Info

Publication number
ES2321147T3
ES2321147T3 ES99967507T ES99967507T ES2321147T3 ES 2321147 T3 ES2321147 T3 ES 2321147T3 ES 99967507 T ES99967507 T ES 99967507T ES 99967507 T ES99967507 T ES 99967507T ES 2321147 T3 ES2321147 T3 ES 2321147T3
Authority
ES
Spain
Prior art keywords
speech
coding
active
mode
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES99967507T
Other languages
English (en)
Inventor
Sharath Manjunath
William Gardner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2321147T3 publication Critical patent/ES2321147T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/20Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L2025/783Detection of presence or absence of voice signals based on threshold decision
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/93Discriminating between voiced and unvoiced parts of speech signals
    • G10L2025/935Mixed voiced class; Transitions

Abstract

Un procedimiento de codificación de tasa de transmisión variable de una señal de habla, que comprende las etapas de (a) clasificar (304) la señal de habla como o bien activa o bien inactiva; y (b) clasificar (308) dicha habla activa en una de una pluralidad de tipos de habla activa, caracterizado por: (c) seleccionar (310) un modo de codificación de una pluralidad de modos de codificación basándose en si la señal de habla es activa o inactiva, y si es activa, basándose además en dicho tipo de habla activa, en la que dicha pluralidad de modos de codificación comprende un modo de codificación por predicción lineal excitada por código, CELP, un modo de codificación por periodo de altura de tono prototipo, PPP, y un modo de codificación por predicción lineal excitada por ruido, NELP; y (d) codificar (312) la señal de habla según dicho modo de codificación seleccionado, formando una señal de habla codificada.

Description

Codificación de habla de tasa de transmisión variable.
Antecedentes de la invención I. Campo de la invención
La presente invención se refiere a la codificación de señales de habla. Específicamente, la presente invención se refiere a clasificar señales de habla y emplear uno de una pluralidad de modos de codificación basándose en la clasificación.
II. Descripción de la técnica relacionada
Muchos sistemas de comunicación hoy en día transmiten voz como una señal digital, particularmente en aplicaciones de larga distancia y radioteléfono digital. El rendimiento de estos sistemas depende, en parte, de representar de forma precisa la señal de voz con un mínimo número de bits. Transmitir habla simplemente muestreando y digitalizando requiere una tasa de transmisión de datos del orden de 64 kilobits por segundo (kbps) para lograr la calidad de habla de un teléfono analógico convencional. Sin embargo, están disponibles técnicas de codificación que reducen de forma significativa la tasa de transmisión de datos requerida para una reproducción de habla satisfactoria.
El término "vocodificador" normalmente se refiere a dispositivos que comprimen habla con voz extrayendo parámetros basándose en un modelo de generación de habla humana. Los vocodificadores incluyen un codificador y un descodificador. El codificador analiza el habla entrante y extrae los parámetros pertinentes. El descodificador sintetiza el habla usando los parámetros que recibe del codificador a través de un canal de transmisión. La señal de habla se divide a menudo en tramas de datos y bloque procesados por el vocodificador.
Los vocodificadores construidos alrededor de esquemas de codificación en el dominio del tiempo basados en predicción lineal exceden de lejos en número a todos los otros tipos de codificadores. Estas técnicas extraen elementos correlacionados de la señal de habla y codifican sólo los elementos no correlacionados. El filtro predictivo lineal básico predice la muestra actual como una combinación lineal de muestras pasadas. Un ejemplo de un algoritmo de codificación de esta clase particular se describe en el artículo "A 4.8 kbps Code Excited Linear Predictive Coder", por Thomas E. Tremain et al., Proceedings of the Mobile Satellite Conference, 1988.
Estos esquemas de codificación comprimen la señal de habla digitalizada en una señal de baja tasa de transmisión de bits eliminando todas las redundancias naturales (es decir, elementos correlacionados) inherentes al habla. El habla presenta normalmente redundancias a corto plazo resultado de la acción mecánica de los labios y la lengua, y redundancias a largo plazo resultado de la vibración de las cuerdas vocales. Los esquemas predictivos lineales modelan estas operaciones como filtros, eliminan las redundancias, y entonces modelan la señal de residuo resultante como ruido gaussiano blanco. Los codificadores predictivos lineales logran por tanto una tasa de transmisión de bits reducida transmitiendo coeficientes de filtro y ruido cuantificado en vez de una señal de habla de ancho de banda completo.
"Variable Rate Speech Coding For Multiple Access Wireless Networks" por Erdal Paksoy y Allen Gersho, publicada en abril de 1994, describe un mecanismo de codificación que utiliza una serie de codificadores que operan en el mismo modo de codificador, es decir el modo de codificador de CELP, pero con diferentes estructuras y tasas de transmisión para codificar tramas de longitud fija.
Sin embargo, incluso estas tasas de transmisión de bits reducidas exceden a menudo el ancho de banda disponible donde la señal de habla debe o bien propagarse una larga distancia (por ejemplo, de la tierra a un satélite) o coexistir con muchas otras señales en un canal congestionado. Por tanto, existe una necesidad de un esquema de codificación mejorado que logre una tasa de transmisión de bits más baja que los esquemas predictivos lineales.
Sumario de la invención
Según un aspecto de la invención, se proporciona un procedimiento de codificación de tasa de transmisión variable de una señal de habla según se expone en la reivindicación 1.
Según otro aspecto de la invención, se proporciona un sistema de codificación de tasa de transmisión variable para codificar una señal de habla según se expone en la reivindicación 18.
La presente invención es un procedimiento y aparato novedoso y mejorado para la codificación de tasa de transmisión variable de una señal de habla. La presente invención clasifica la señal de habla de entrada y selecciona un modo de codificación apropiado basándose en esta clasificación. Para cada clasificación, la presente invención selecciona el modo de codificación que logra la tasa de transmisión de bits más baja con una calidad de reproducción de habla aceptable. La presente invención logra tasas de transmisión de bits promedio bajas empleando sólo modos de alta fidelidad (es decir, alta tasa de transmisión de bits, ampliamente aplicable a tipos de habla diferentes) durante partes del habla donde se requiere esta fidelidad para una salida aceptable. La presente invención conmuta modos de tasa de transmisión de bits más baja durante partes de habla donde estos modos producen una salida aceptable.
Una ventaja de la presente invención es que el habla se codifica a una baja tasa de transmisión de bits. Bajas tasas de transmisión de bits se traducen en capacidad más alta, mayor alcance, y requisitos de potencia más bajos.
Una característica de la presente invención es que la señal de habla de entrada se clasifica en zonas activa e inactiva. Las zonas activas se clasifican además en zonas con voz, sin voz, y transitorias. La presente invención puede por tanto aplicar diversos modos de codificación a tipos de habla activa diferentes, dependiendo del nivel de fidelidad requerido.
Otra característica de la presente invención es que pueden utilizarse modos de codificación según las fuerzas y debilidades de cada modo particular. La presente invención conmuta dinámicamente entre estos modos a medida que varían con el tiempo las propiedades de la señal de habla.
Una característica adicional de la presente invención es que, donde es apropiado, las zonas de habla se modelan como ruido pseudo-aleatorio, dando como resultado una tasa de transmisión de bits significativamente más baja. La presente invención usa esta codificación de una manera dinámica siempre que se detecte habla sin voz o ruido de fondo.
Las características, objetivos, y ventajas de la presente invención se harán más evidentes a partir de la descripción detallada expuesta a continuación cuando se toma junto con los dibujos en los que números de referencia iguales indican elementos idénticos o funcionalmente similares. Además, el dígito más a la izquierda de un número de referencia identifica el dibujo en el que el número de referencia aparece primero.
Breve descripción de los dibujos
La figura 1 es un diagrama que ilustra un entorno de transmisión de señal;
la figura 2 es un diagrama que ilustra un codificador 102 y un descodificador 104 con mayor detalle;
la figura 3 es un diagrama de flujo que ilustra la codificación de habla de tasa de transmisión variable según la presente invención;
la figura 4A es un diagrama que ilustra una trama de habla con voz dividida en subtramas;
la figura 4B es un diagrama que ilustra una trama de habla sin voz dividida en subtramas;
la figura 4C es un diagrama que ilustra una trama de habla transitoria dividida en subtramas;
la figura 5 es un diagrama de flujo que describe el cálculo de parámetros iniciales;
la figura 6 es un diagrama de flujo que describe la clasificación de habla como o bien activa o bien inactiva;
la figura 7A representa un codificador de CELP;
la figura 7B representa un descodificador de CELP;
la figura 8 representa un módulo de filtro de altura de tono;
la figura 9A representa un codificador de PPP;
la figura 9B representa un descodificador de PPP;
la figura 10 es un diagrama de flujo que representa las etapas de codificación por PPP, incluyendo codificación y descodificación;
la figura 11 es un diagrama de flujo que describe la extracción de un periodo de residuo prototipo;
la figura 12 representa un periodo de residuo prototipo extraído de la trama de una señal de residuo actual, y el periodo de residuo prototipo de la trama previa;
la figura 13 es un diagrama de flujo que representa el cálculo de parámetros de rotación;
la figura 14 es un diagrama de flujo que representa la operación del libro de códigos de codificación;
la figura 15A representa una primera realización de módulo de actualización de filtro;
la figura 15B representa una primera realización de módulo interpolador de periodo;
la figura 16A representa una segunda realización de módulo de actualización de filtro;
la figura 16B representa una segunda realización de módulo interpolador de periodo;
la figura 17 es un diagrama de flujo que describe la operación de la primera realización de módulo de actualización de filtro;
la figura 18 es un diagrama de flujo que describe la operación de la segunda realización de módulo de actualización de filtro;
la figura 19 es un diagrama de flujo que describe la alineación e interpolación de periodos de residuo prototipo;
la figura 20 es un diagrama de flujo que describe la reconstrucción de una señal de habla basándose en periodos de residuo prototipo según una primera realización;
la figura 21 es un diagrama de flujo que describe la reconstrucción de una señal de habla basándose en periodos de residuo prototipo según una segunda realización;
la figura 22A representa un codificador de NELP;
la figura 22B representa un descodificador de NELP; y
la figura 23 es un diagrama de flujo que describe la codificación por NELP.
Descripción detallada de las realizaciones preferidas
I.
Perspectiva general del entorno
II.
Perspectiva general de la invención
III.
Determinación de parámetro inicial
A.
Cálculo de coeficientes de LPC
B.
Cálculo de LSI
C.
Cálculo de NACF
D.
Cálculo de seguimiento y desfase de altura de tono
E.
Cálculo de energía de banda y tasa de transmisión de paso por cero
F.
Cálculo del residuo de formante
IV.
Clasificación del habla activa/inactiva
A.
Tramas de retención
V.
Clasificación de tramas de habla activa
VI.
Selección de modo de codificador/descodificador
VII.
Modo de codificación por predicción lineal excitada por código (CELP)
A.
Módulo de codificación por altura de tono
B.
Libro de códigos de codificación
C.
Descodificador por CELP
D.
Módulo de actualización de filtro
VIII.
Modo de codificación por periodo de altura de tono prototipo (PPP)
A.
Módulo de extracción
B.
Correlator de rotación
C.
Libro de códigos de codificación
D.
Módulo de actualización de filtro
E.
Descodificador por PPP
F.
Interpolador de periodo
IX.
Modo de codificación por predicción lineal excitada por ruido (NELP)
X.
Conclusión
I. Perspectiva general del entorno
La presente invención está dirigida a procedimientos y aparatos novedosos y mejorados para codificación de habla de tasa de transmisión variable. La figura 1 representa un entorno 100 de transmisión de señal que incluye un codificador 102, un descodificador 104, y un medio 106 de transmisión. El codificador 102 codifica una señal de habla s(n), formando la señal de habla codificada s_{enc}(n), para transmisión a través del medio 106 de transmisión al descodificador 104. El descodificador 104 descodifica s_{enc}(n), generando así la señal de habla sintetizada \hat{s}(n).
El término "codificación" como se usa en el presente documento se refiere en general a procedimientos que engloban tanto codificación como descodificación. En general, procedimientos y aparatos de codificación pretenden minimizar el número de bits transmitidos a través del medio 106 de transmisión (es decir, minimizar el ancho de banda de s_{enc}(n)) mientras se mantiene reproducción de habla aceptable (es decir, \hat{s}(n) \approx s(n)). La composición de la señal de habla codificada variará según el procedimiento de codificación de habla particular. Diversos codificadores 102, descodificadores 104, y los procedimientos de codificación según los cuales operan se describen a continuación.
Los componentes del codificador 102 y descodificador 104 descritos a continuación pueden implementarse como hardware electrónico, como software informático, o combinaciones de ambos. Estos componentes se describen a continuación en términos de su funcionalidad. Si la funcionalidad se implementa como hardware o software dependerá de la aplicación y restricciones de diseño particulares impuestas sobre el sistema global. Los expertos en la técnica reconocerán la intercambiabilidad de hardware y software en estas circunstancias, y la mejor manera de implementar la funcionalidad descrita para cada aplicación particular.
Los expertos en la técnica reconocerán que el medio 106 de transmisión puede representar muchos medios de transmisión diferentes, incluyendo, pero no limitándose a, una línea de comunicación terrestre, un enlace entre una estación base y un satélite, comunicación inalámbrica entre un teléfono celular y una estación base, o entre un teléfono celular y un satélite.
Los expertos en la técnica reconocerán también que a menudo cada miembro en una comunicación transmite así como recibe. Cada miembro requeriría por tanto un codificador 102 y un descodificador 104. Sin embargo, el entorno 100 de transmisión de señal se describirá a continuación como que incluye un codificador 102 en un extremo del medio 106 de transmisión y un descodificador 104 en el otro. Los expertos en la técnica reconocerán fácilmente cómo ampliar estas ideas a la comunicación bidireccional.
Con fines de esta descripción, supóngase que s(n) es una señal digital de habla obtenida durante una conversación típica que incluye diferentes sonidos vocálicos y periodos de silencio. La señal de habla s(n) está preferentemente repartida en tramas, y cada trama está además repartida en subtramas (preferentemente 4). Estos límites de trama/subtrama elegidos de manera arbitraria se usan comúnmente donde se realiza algún procesamiento en bloque, como es el caso aquí. Las operaciones descritas como que se realizan sobre tramas podrían también realizarse sobre subtramas (en este sentido, trama y subtrama se usan en el presente documento de forma intercambiable). Sin embargo, s(n) no necesita repartirse en tramas/subtramas en absoluto si se implementa procesamiento continuo en vez de procesamiento en bloque. Los expertos en la técnica reconocerán fácilmente cómo las técnicas de bloque descritas a continuación podrían ampliarse al procesamiento continuo.
En una realización preferida, s(n) se muestrea digitalmente a 8 kHz. Cada trama contiene preferentemente 20ms de datos, o 160 muestras a la tasa de transmisión de 8 kHz preferida. Cada subtrama contiene por tanto 40 muestras de datos. Es importante observar que muchas de las ecuaciones presentadas a continuación adoptan estos valores. Sin embargo, los expertos en la técnica reconocerán que mientras estos parámetros son apropiados para codificación de habla, son meramente un modo de ejemplo y podrían usarse otros parámetros alternativos adecuados.
II. Perspectiva general de la invención
Los procedimientos y aparatos de la presente invención implican codificar la señal de habla s(n). La figura 2 representa un codificador 102 y descodificador 104 con mayor detalle. Según la presente invención, el codificador 102 incluye un módulo 202 de cálculo de parámetro inicial, un módulo 208 de clasificación, y uno o más modos 204 de codificador. El descodificador 104 incluye uno o más modos 206 de descodificador. El número de modos de descodificador, N_{d}, en general es igual al número de modos de codificador, N_{c}. Como sería evidente para un experto en la técnica, el modo I de codificador se comunica con el modo 1 de descodificador, y así sucesivamente. Según se muestra, la señal de habla codificada, s_{enc}(n), se transmite a través del medio 106 de transmisión.
En una realización preferida, el codificador 102 conmuta dinámicamente entre múltiples modos de codificador de trama a trama, dependiendo de qué modo es más apropiado dadas las propiedades de s(n) para la trama actual. El descodificador 104 también conmuta dinámicamente entre los modos de descodificador correspondientes de trama a trama. Se elige un modo particular para cada trama para lograr la más baja tasa de transmisión de bits disponible mientras se mantiene reproducción de señal aceptable en el descodificador. Se hace referencia a este proceso como codificación de habla de tasa de transmisión variable, puesto que la tasa de transmisión de bits del codificador cambia con el tiempo (a medida que las propiedades de la señal cambian).
La figura 3 es un diagrama de flujo 300 que describe la codificación de habla de tasa de transmisión variable según la presente invención. En la etapa 302, el módulo 202 de cálculo de parámetro inicial calcula diversos parámetros basándose en la trama actual de datos. En una realización preferida, estos parámetros incluyen uno o más de lo siguiente: coeficientes de filtro de codificación predictiva lineal (LPC), coeficientes de información de espectro de rayas (LSI), las funciones de autocorrelación normalizadas (NACF), el desfase de lazo abierto, energías de banda, la tasa de transmisión de paso por cero, y la señal de residuo de formante.
En la etapa 304, el módulo 208 de clasificación clasifica la trama actual como que contiene o bien habla "activa" o bien "inactiva". Según se describió anteriormente, se supone que s(n) incluye tanto periodos de habla como periodos de silencio, comunes a una conversación ordinaria. El habla activa incluye palabras habladas, mientras que el habla inactiva incluye todo lo demás, por ejemplo, ruido de fondo, silencio, pausas. Los procedimientos usados para clasificar el habla como activa/inactiva según la presente invención se describen en detalle a continuación.
Según se muestra en la figura 3, la etapa 306 considera si la trama actual se clasificó como activa o inactiva en la etapa 304. Si es activa, el flujo de control prosigue hacia la etapa 308. Si es inactiva, el flujo de control prosigue hacia la etapa 310.
Dichas tramas que se clasifican como activas se clasifican además en la etapa 308 como o bien con voz, sin voz, o bien tramas transitorias. Los expertos en la técnica reconocerán que el habla humana puede clasificarse de muchas formas diferentes. Dos clasificaciones de habla convencionales son sonidos con voz y sin voz. Según la presente invención, cualquier habla que no es con voz o sin voz se clasifica como habla transitoria.
La figura 4A representa una parte de ejemplo de s(n) que incluye habla 402 con voz. Los sonidos con voz se producen forzando aire a través de la glotis con la tensión de las cuerdas vocales ajustada de modo que vibran en una oscilación relajada, produciendo de este modo impulsos de aire cuasiperiódicos que excitan el tracto vocal. Una propiedad común medida en habla con voz es el periodo de altura de tono, según se muestra en la figura
4A.
La figura 4B representa una parte de ejemplo de s(n) que incluye habla 404 sin voz. Los sonidos sin voz se generan formando un estrechamiento en algún punto en el tracto vocal (normalmente hacia el extremo de la boca), y forzando aire a través del estrechamiento a una velocidad lo bastante alta para producir turbulencia. La señal de habla sin voz resultante se parece a ruido de color.
La figura 4C representa una parte de ejemplo de s(n) que incluye habla 406 transitoria (es decir, habla que no es con voz ni sin voz). El habla 406 transitoria de ejemplo mostrada en la figura 4C podría representar s(n) realizando la transición entre habla sin voz y habla con voz. Los expertos en la técnica reconocerán que podrían emplearse muchas clasificaciones diferentes de habla según las técnicas descritas en el presente documento para lograr resultados comparables.
En la etapa 310, se selecciona un modo de codificador/descodificador basándose en la clasificación de trama hecha en la etapas 306 y 308. Los diversos modos de codificador/descodificador están conectados en paralelo, según se muestra en la figura 2. Uno o más de estos modos puede estar operativo en cualquier momento dado. Sin embargo, según se describe en detalle a continuación, sólo un modo preferentemente opera en cualquier momento dado, y se selecciona según la clasificación de la trama actual.
Varios modos de codificador/descodificador se describen en las siguientes secciones. Los modos de codificador/descodificador diferentes operan según esquemas de codificación diferentes. Ciertos modos son más eficaces al codificar partes de la señal de habla s(n) que presentan ciertas propiedades.
En una realización preferida, un modo de "Código Excitado Lineal Predictivo" (CELP) se elige para codificar tramas clasificadas como habla transitoria. El modo de CELP excita un modelo de tracto vocal predictivo lineal con una versión cuantificada de la señal de residuo de predicción lineal. De todos los modos de codificador/descodificador descritos en el presente documento, CELP en general produce la reproducción de habla más precisa pero requiere la más alta tasa de transmisión de bits. En una realización, el modo de CELP realiza la codificación a 8500 bits por segundo.
Un modo de "periodo de altura de tono prototipo" (PPP) se elige preferentemente para codificar tramas clasificadas como habla con voz. El habla con voz contiene componentes periódicas que varían lentamente en el tiempo que se explotan por el modo de PPP. El modo de PPP codifica sólo un subconjunto del periodo de altura de tonos dentro de cada trama. Los periodos de la señal de habla restantes se reconstruyen por interpolación entre estos periodos prototipo. Explotando la periodicidad del habla con voz, el PPP puede lograr una tasa de transmisión de bits más baja que el CELP, y aún reproducir la señal de habla de manera perceptiblemente precisa. En una realización, el modo de PPP realiza la codificación a 3900 bits por segundo.
Un modo de "ruido excitado lineal predictivo" (NELP) se elige para codificar tramas clasificadas como habla sin voz. El NELP usa una señal de ruido pseudo-aleatorio filtrado para modelar el habla sin voz. El NELP usa el modelo más sencillo para el habla codificada, y por tanto logra la más baja tasa de transmisión de bits. En una realización, el modo de NELP realiza la codificación a 1500 bits por segundo.
Los expertos en la técnica reconocerán que aumentar el número de modos de codificador/descodificador permitirá mayor flexibilidad cuando se elige un modo, lo que puede dar como resultado una tasa de transmisión de bits promedio más baja, pero aumentará la complejidad dentro del sistema global. La combinación particular usada en cualquier sistema dado estará regida por los recursos disponibles del sistema y el entorno de señal específico.
En la etapa 312, el modo 204 de codificador seleccionado codifica la trama actual y preferentemente empaqueta los datos codificados en paquetes de datos para transmisión. Y en la etapa 314, el modo 206 de descodificador correspondiente desempaqueta los paquetes de datos, descodifica los datos recibidos y reconstruye la señal de habla. Estas operaciones se describen en detalle a continuación con respecto a los modos de codificador/descodificador
apropiados.
III. Determinación de parámetro inicial
La figura 5 es un diagrama de flujo que describe la etapa 302 en más detalle. Se calculan diversos parámetros iniciales según la presente invención. Los parámetros incluyen preferentemente, por ejemplo, coeficientes de LPC, coeficientes de información de espectro de rayas (LSI), funciones de autocorrelación normalizadas (NACF), desfase de lazo abierto, energías de banda, tasa de transmisión de paso por cero, y la señal de residuo de formante. Estos parámetros se usan de diversas formas dentro del sistema global, según se describe a continuación.
En una realización preferida, el módulo 202 de cálculo de parámetro inicial usa una "indagación" de 160 + 40 muestras. Ésta sirve para varios fines. En primer lugar, la indagación de 160 muestras permite que se calcule un seguimiento de frecuencia de altura de tono usando información en la trama siguiente, lo que mejora de forma significativa la robustez de la codificación de voz y las técnicas de estimación de periodo de altura de tono, descritas a continuación. En segundo lugar, la indagación de 160 muestras también permite que se calculen los coeficientes de LPC, la energía de trama, y la actividad de voz para una trama en el futuro. Esto permite una cuantificación eficaz y multitrama de la energía de trama y los coeficientes de LPC. En tercer lugar, la indagación de 40 muestras adicional es para cálculo de los coeficientes de LPC en habla de ventana de Hamming según se describe a continuación. Por tanto el número de muestras almacenadas en memoria intermedia antes de procesar la trama actual es 160 + 160 + 40 incluyendo la trama actual y la indagación de 160 + 40 muestras.
A. Cálculo de coeficientes de LPC
La presente invención utiliza un filtro de error de predicción de LPC para eliminar las redundancias a corto plazo en la señal de habla. La función de transferencia para el filtro de LPC es:
\vskip1.000000\baselineskip
1
\vskip1.000000\baselineskip
La presente invención implementa preferentemente un filtro de décimo orden, tal como se muestra en la ecuación anterior. Un filtro de síntesis de LPC en el descodificador reinserta las redundancias, y viene dado por la inversa de A(z):
\vskip1.000000\baselineskip
2
\vskip1.000000\baselineskip
En la etapa 502, los coeficientes de LPC, \alpha_{i}, se calculan a partir de s(n) según sigue. Los parámetros de LPC se calculan preferentemente para la trama siguiente durante el procedimiento de codificación para la trama actual.
\newpage
Una ventana de Hamming se aplica a la trama actual centrada entre las muestras 119-ésima y 120-ésima (suponiendo la trama de 160 muestras preferida con una "indagación"). La señal de habla de ventana, s_{w}(n) viene dada por:
\vskip1.000000\baselineskip
3
\vskip1.000000\baselineskip
El desplazamiento de 40 muestras da como resultado que la ventana de habla está centrada entre las muestras 119-ésima y 120-ésima de la trama de 160 muestras preferida de habla.
Se calculan preferentemente once valores de autocorrelación como
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
4
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
Se aplica una ventana a los valores de autocorrelación para reducir la probabilidad de raíces perdidas pares de línea espectral (LSP) obtenidos a partir de los coeficientes de LPC, según viene dado por:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
5
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
dando como resultado una ligera expansión de ancho de banda, por ejemplo, 25 Hz. Los valores h(k) se toman preferentemente del centro de una ventana de Hamming de 255 puntos.
Los coeficientes de LPC se obtienen entonces a partir de los valores de autocorrelación a los que se ha aplicado la ventana usando la recursión de Durbin. La recursión de Durbin, un procedimiento de cálculo eficaz muy conocido, se explica en el texto Digital Processing of Speech Signals por Rabiner y Schafer.
B. Cálculo de LSI
En la etapa 504, los coeficientes de LPC se transforman en coeficientes de información de espectro de rayas (LSI) para cuantificación e interpolación. Los coeficientes de LSI se calculan según la presente invención de la siguiente manera.
Como antes, A(z) viene dada por
\vskip1.000000\baselineskip
6
\vskip1.000000\baselineskip
donde a_{i} son los coeficientes de LPC, y 1 \leq i \leq 10. P_{A}(z) y Q_{A}(z) se definen según sigue
\vskip1.000000\baselineskip
7
\newpage
donde
\vskip1.000000\baselineskip
8
\vskip1.000000\baselineskip
y
\vskip1.000000\baselineskip
9
\vskip1.000000\baselineskip
Los cosenos de línea espectral (LSC) son las diez raíces en -1,0 < x < 1,0 de las dos funciones siguientes:
\vskip1.000000\baselineskip
10
\vskip1.000000\baselineskip
donde
\vskip1.000000\baselineskip
11
\vskip1.000000\baselineskip
Los coeficientes de LSI se calculan entonces como:
\vskip1.000000\baselineskip
12
\newpage
Los LSC pueden obtenerse de nuevo a partir de los coeficientes de LSI según:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
13
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
La estabilidad del filtro de LPC garantiza que las raíces de las dos funciones se alternan, es decir, la raíz más pequeña, lsc_{1}, es la raíz más pequeña de P'(x), la siguiente raíz más pequeña, lsc_{2}, es la raíz más pequeña de Q'(x), etc. Por tanto, lsc_{1}, lsc_{3}, lsc_{5}, lsc_{7}, y lsc_{9} son las raíces de P'(x), y lsc_{2}, lsc_{4}, lsc_{6}, lsc_{8}, y lsc_{10} son las raíces de Q'
(x).
Los expertos en la técnica reconocerán que es preferible emplear algún procedimiento de cálculo de la sensitividad de los coeficientes de LSI para la cuantificación. Las "ponderaciones de sensitividad" pueden usarse en el proceso de cuantificación para ponderar apropiadamente el error de cuantificación en cada LSI.
Los coeficientes de LSI se cuantifican usando un cuantificador vectorial (VQ) multifase. El número de fases depende preferentemente de la tasa de transmisión de bits y libros de códigos particulares empleados. Los libros de códigos se eligen basándose en si la trama actual es con voz o no.
La cuantificación vectorial minimiza un error cuadrático medio ponderado (WMSE) que se define como
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
14
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
donde \vec{x} es el vector que va a cuantificarse, \vec{w} el peso asociado a él, e \vec{y} es el vector de códigos. En una realización preferida, \vec{w} son ponderaciones de sensitividad y P = 10.
El vector de LSI se reconstruye a partir de los códigos de LSI obtenidos por medio de cuantificación como
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
15
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
donde CBi es el libro de códigos de VQ de la fase i-ésima para tramas o bien con voz o bien sin voz (esto se basa en el código que indica la elección del libro de códigos) y codei es el código de LSI para la fase i-ésima.
Antes de que los coeficientes de LSI se transformen en coeficientes de LPC, se realiza una comprobación de estabilidad para asegurar que los filtros de LPC resultantes no se han hecho inestables debido a que el ruido de cuantificación o errores de canal introducen ruido en los coeficientes de LSI. La estabilidad se garantiza si los coeficientes de LSI permanecen ordenados.
Al calcular los coeficientes de LPC originales, se usó una ventana de habla centrada entre las muestras 119-ésima y 120-ésima de la trama. Los coeficientes de LPC para otros puntos en la trama se aproximaron por interpolación entre las LSC de trama previa y las LSC de trama actual. Las LSC interpoladas resultantes se convierten entonces de nuevo en coeficientes de LPC. La interpolación exacta usada para cada subtrama viene dada por:
\vskip1.000000\baselineskip
16
\vskip1.000000\baselineskip
donde \alpha_{i} son los factores de interpolación 0,375, 0,625, 0,875, 1,000 para las cuatro subtramas de 40 muestras cada y lsc son los LSC interpolados. \hat{P}_{A} (z) y \hat{Q}_{A}(z) se calculan mediante los LSC interpolados como
\vskip1.000000\baselineskip
17
\vskip1.000000\baselineskip
Los coeficientes interpolados de LPC para las cuatro subtramas se calculan como coeficientes de
\vskip1.000000\baselineskip
18
\vskip1.000000\baselineskip
Por tanto,
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
19
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
C. Cálculo de NACF
En la etapa 506, las funciones de autocorrelación normalizadas (NACF) se calculan según la presente invención.
El residuo de formante para la trama siguiente se calcula durante cuatro subtramas de 40 muestras como
\vskip1.000000\baselineskip
20
\newpage
donde \tilde{a}_{i} es el coeficiente de LPC interpolado i-ésimo de la subtrama correspondiente, donde la interpolación se hace entre los LSC no cuantificados de trama actual y los LSC de trama siguiente. La energía de trama siguiente se calcula también como
\vskip1.000000\baselineskip
21
\vskip1.000000\baselineskip
El residuo calculado anteriormente se filtra mediante pasobajo y se diezma, preferentemente usando un filtro FIR de fase cero de longitud 15, los coeficientes del cual df_{i}, -7 \leq i \leq 7, son {0,0800, 0,1256, 0,2532, 0,4376, 0,6424, 0,8268, 0,9544, 1,000, 0,9544, 0,8268, 0,6424, 0,4376, 0,2532, 0,1256, 0,0800}. El residuo filtrado mediante pasobajo y diezmado se calcula como
\vskip1.000000\baselineskip
22
\vskip1.000000\baselineskip
donde F = 2 es el factor de diezmado, y r(Fn + i), -7 \leq Fn + i \leq 6 se obtiene a partir de los últimos 14 valores del residuo de trama actual basándose en coeficientes de LPC no cuantificados. Según se mencionó anteriormente, estos coeficientes de LPC se calculan y almacenan durante la trama previa.
Las NACF para dos subtramas (40 muestras diezmadas) de la trama siguiente se calculan según sigue:
\vskip1.000000\baselineskip
23
\vskip1.000000\baselineskip
Para r_{d}(n) con n negativo, se usa el residuo diezmado y filtrado pasobajo de trama actual (almacenado durante la trama previa). Las NACF para la subtrama actual c_corr se calcularon y almacenaron también durante la trama previa.
D. Cálculo de seguimiento y desfase de altura de tono
En la etapa 508, el seguimiento de altura de tono y desfase de altura de tono se calculan según la presente invención. El desfase de altura de tono se calcula preferentemente usando una búsqueda de tipo Viterbi con un seguimiento hacia atrás según sigue.
\vskip1.000000\baselineskip
24
\vskip1.000000\baselineskip
donde FAN_{ij} es la matriz 2 \times 58, {{0,2}, {0,3}, {2,2}, {2,3}, {2,4}, {3,4}, {4,4}, {5,4}, {5,5}, {6,5}, (7,5}, {8,6}, {9,6}, {10,6}, {11,6}, {11,7}, {12,7}, {13,7}, {14,8}, {15,8}, {16,8}, {16,9}, {17,9}, {18,9}, {19,9}, {20,10}, {21,10}, {22,10}, {22,11}, {23,11}, {24,11}, {25,12}, {26,12}, {27,12}, {28,12}, {28,13}, {29,13}, {30,13}, {31,
14}, {32,14}, {33,14}, {33,15}, {34,15}, {35,15}, {36,15}, {37,16}, {38,16}, {39,16}, {39,17}, {40,17}, {41,16}, {42,16}, {43,15}, {44,14}, {45,13}, {45,13}, {46,12}, {47,11}}. El vector RM_{2i} se interpola para obtener valores para R2_{i+1} según
\vskip1.000000\baselineskip
25
\vskip1.000000\baselineskip
donde cf_{j} es el filtro de interpolación cuyos coeficientes son {-0,0625, 0,5625, 0,5625, -0,0625}. El desfase L_{C} se elige entonces de modo que RL_{c-12} = max {R_{i}}, 4 \leq i < 116 y la NACF de trama actual se ajusta igual a RL_{c-12}/4. Los múltiplos del desfase se eliminan entonces buscando el desfase correspondiente a la máxima correlación mayor que 0,9 RL_{c-12} entre:
\vskip1.000000\baselineskip
26
E. Cálculo de Energía de banda y Tasa de transmisión de paso por cero
En la etapa 510, las energías en la banda de 0-2 kHz y en la banda de 2 kHz-4 kHz se calculan según la presente invención como
27
donde,
28
siendo S(z), S_{L}(z) y S_{H}(z) las transformadas en z de la señal de habla de entrada s(n), la señal pasobajo s_{L}(n) y la señal pasoalto s_{H}(n), respectivamente, bl={0,0003, 0,0048, 0,0333, 0,1443, 0,4329, 0,9524, 1,5873, 2,0409, 2,0409, 1,5873, 0,9524, 0,4329, 0,1443, 0,0333, 0,0048, 0,0003}, \alphal={1,0, 0,9155, 2,4074, 1,6511, 2,0597, 1,0584, 0,7976, 0,3020, 0,1465, 0,0394, 0,0122, 0,0021, 0,0004, 0,0, 0,0, 0,0}, bh={0,0013, -0,0189, 0,1324, -0,5737, 1,7212, -3,7867, 6,3112,-8,1144, 8,1144, -6,3112,3,7867, -1,7212,0,5737, -0,1324, 0,0189, -0,0013) y ah={1,0, -2,8818, 5,7550, -7,7730, 8,2419, -6,8372, 4,6171, -2,5257, 1,1296, -0,4084, 0,1183, -0,0268, 0,0046, -0,0006, 0,0, 0,0}.
La energía de señal de habla en sí es
29
La tasa de transmisión de paso por cero ZCR se calcula según
30
F. Cálculo del residuo de formante
En la etapa 512, el residuo de formante para la trama actual se calcula durante cuatro subtramas según
31
donde \hat{a}_{i} es el coeficiente de LPC i-ésimo de la subtrama correspondiente.
IV. Clasificación de habla activa/inactiva
Haciendo referencia de nuevo a la figura 3, en la etapa 304, la trama actual se clasifica como o bien habla activa (por ejemplo, palabras habladas) o habla inactiva (por ejemplo, ruido de fondo, silencio). La figura 6 es un diagrama de flujo 600 que representa la etapa 304 con mayor detalle. En una realización preferida, un esquema de fijación de umbral basado en dos bandas de energía se usa para determinar si hay habla activa presente. La banda más baja (banda 0) abarca frecuencias desde 0,1-2,0 kHz y la banda más alta (banda 1) desde 2,0-4,0 kHz. La detección de actividad de voz se determina preferentemente para la trama siguiente durante el procedimiento de codificación para la trama actual, de la siguiente manera.
En la etapa 602, se calculan las energías de banda Eb[i] para las bandas i = 0, 1. La secuencia de autocorrelación, según se describió anteriormente en la sección III.A., se extiende hasta 19 usando la siguiente ecuación recursiva:
32
Usando esta ecuación, R(11) se calcula desde R(1) hasta R(10), R(12) se calcula desde R(2) hasta R(11), y así sucesivamente. Las energías de banda se calculan entonces a partir de la secuencia de autocorrelación extendida usando la siguiente ecuación:
33
donde R(k) es la secuencia de autocorrelación extendida para la trama actual y R_{h}(i)(k) es la secuencia de autocorrelación de filtro de banda para la banda i dada en la tabla 1.
\vskip1.000000\baselineskip
TABLA 1 Secuencias de autocorrelación de filtro para cálculos de energía de banda
34
En la etapa 604, las estimaciones de energía de banda se suavizan. Las estimaciones de energía de banda suavizadas, E_{sm}(i), se actualizan para cada trama usando la siguiente ecuación.
35
En la etapa 606, se actualizan las estimaciones de energía de señal y de energía de ruido. Las estimaciones de energía de señal, E_{s}(i), se actualizan preferentemente usando la siguiente ecuación:
36
Las estimaciones de energía de ruido, E_{n}(i), se actualizan preferentemente usando la siguiente ecuación:
37
En la etapa 608, las proporciones señal/ruido a largo plazo para las dos bandas, SNR(i), se calculan como
38
En la etapa 610, estos valores de SNR se dividen preferentemente en ocho zonas Reg_{SNR}(i) definidas como
39
En la etapa 612, la decisión de actividad de voz se hace de la siguiente manera según la presente invención. Si o bien E_{b}(0)-E_{n}(O) > THRESH(Reg_{SNR}(0)), o bien E_{b}(1)-E_{n}(1) > THRESH(Reg_{SNR}(1)), entonces la trama de habla se declara activa. De otro modo, la trama de habla se declara inactiva. Los valores de THRESH se definen en la tabla 2.
\vskip1.000000\baselineskip
TABLA 2 Factores de umbral como una función de la zona SNR
40
Las estimaciones de energía de señal, E_{s}(i), se actualizan preferentemente usando la siguiente ecuación:
\vskip1.000000\baselineskip
41
\vskip1.000000\baselineskip
Las estimaciones de energía de ruido, E_{n}(i), se actualizan preferentemente usando la siguiente ecuación:
\vskip1.000000\baselineskip
42
\vskip1.000000\baselineskip
A. Tramas de retención
Cuando las proporciones señal/ruido son bajas, las tramas de "retención" se añaden preferentemente para mejorar la calidad del habla reconstruida. Si las tres tramas previas se clasificaron como activas, y la trama actual se clasifica inactiva, entonces las siguientes M tramas incluyendo la trama actual se clasifican como habla activa. El número de tramas de retención, M, se determina preferentemente como una función de SNR(0) según se define en la tabla 3.
\vskip1.000000\baselineskip
TABLA 3 Tramas de retención como una función de SNR(0)
43
\vskip1.000000\baselineskip
V. Clasificación de tramas de habla activa
Haciendo referencia de nuevo a la figura 3, en la etapa 308, las tramas actuales que se clasificaron como siendo activas en la etapa 304 se clasifican además según propiedades presentadas por la señal de habla s(n). En una realización preferida, el habla activa se clasifica como o bien con voz, sin voz, o transitoria. El grado de periodicidad presentado por la señal de habla activa determina cómo se clasifica ésta. El habla con voz presenta el más alto grado de periodicidad (cuasiperiódico por naturaleza). El habla sin voz presenta poca o ninguna periodicidad. El habla transitoria presenta grados de periodicidad entre con voz y sin voz.
Sin embargo, el marco general descrito en el presente documento no se limita al esquema de clasificación preferido y los modos de codificador/descodificador específicos descritos a continuación. El habla activa puede clasificarse de formas alternativas, y están disponibles para codificar modos de codificador/descodificador alternativos. Los expertos en la técnica reconocerán que son posibles muchas combinaciones de clasificaciones y modos de codificador/descodificador. Muchas combinaciones de este tipo pueden dar como resultado una tasa de transmisión de bits promedio reducida según el marco general descrito en el presente documento, es decir, clasificar el habla como inactiva o activa, además clasificar el habla activa, y entonces codificar la señal de habla usando modos de codificador/descodificador particularmente adecuados para el habla que se encuentra dentro de cada clasificación.
Aunque las clasificaciones de habla activa se basan en el grado de periodicidad, la decisión de clasificación preferentemente no se basa en alguna medición directa de periodicidad. En su lugar, la decisión de clasificación se basa en diversos parámetros calculados en la etapa 302, por ejemplo, proporciones señal/ruido en las bandas más alta y más baja y las NACF. La clasificación preferida puede describirse mediante el siguiente pseudocódigo:
\vskip1.000000\baselineskip
440
\vskip1.000000\baselineskip
donde
\vskip1.000000\baselineskip
44
\vskip1.000000\baselineskip
y N _{ruido} es una estimación del ruido de fondo. E_{prev} es la energía de entrada de la trama previa.
El procedimiento descrito por este pseudocódigo puede refinarse según el entorno específico en el que se implementa. Los expertos en la técnica reconocerán que los diversos umbrales dados anteriormente son meramente ejemplares, y podrían requerir ajuste en la práctica dependiendo de la implementación. El procedimiento puede también refinarse añadiendo categorías de clasificación adicionales, de modo que dividen TRANSITORIA en dos categorías: una para señales que realizan la transición desde alta a baja energía, y la otra para señales que realizan la transición desde baja hasta alta energía.
Los expertos en la técnica reconocerán que están disponibles otros procedimientos para distinguir habla activa con voz, sin voz, y transitoria. De forma similar, los expertos en la técnica reconocerán que otros esquemas de clasificación para habla activa son también posibles.
VI. Selección de modo de codificador/descodificador
En la etapa 310, se selecciona un modo de codificador/descodificador basándose en la clasificación de la trama actual en las etapas 304 y 308. Según una realización preferida, los modos se seleccionan como sigue: las tramas inactivas y las tramas activas sin voz se codifican usando un modo de NELP, las tramas activas con voz se codifican usando un modo de PPP, y las tramas transitorias activas se codifican usando un modo de CELP. Cada uno de estos modos de codificador/descodificador se describe en detalle en las siguientes secciones.
En una realización alternativa, las tramas inactivas se codifican usando un modo de tasa de transmisión cero. Los expertos en la técnica reconocerán que están disponibles muchos modos de tasa de transmisión cero alternativos que requieren muy bajas tasas de transmisión de bits. La selección de un modo de tasa de transmisión cero puede refinarse además considerando selecciones de modo pasadas. Por ejemplo, si la trama previa se clasificó como activa, ésta puede excluir la selección de un modo de tasa de transmisión cero para la trama actual. De forma similar, si la trama siguiente es activa, un modo de tasa de transmisión cero puede excluirse para la trama actual. Otra alternativa es excluir la selección de un modo de tasa de transmisión cero para demasiadas tramas consecutivas (por ejemplo, 9 tramas consecutivas). Los expertos en la técnica reconocerán que otras muchas modificaciones podrían hacerse a la decisión de selección de modo básico para refinar su operación en ciertos entornos.
\newpage
Según se describió anteriormente, otras muchas combinaciones de clasificaciones y modos de codificador/descodi-
ficador podrían usarse alternativamente dentro de este mismo marco. Las siguientes secciones proporcionan descripciones detalladas de varios modos de codificador/descodificador según la presente invención. El modo de CELP se describe en primer lugar, seguido por el modo de PPP y el modo de NELP.
VII. Modo de codificación por predicción lineal excitada por código (CELP)
Según se describió anteriormente, el modo de codificador/descodificador de CELP se emplea cuando la trama actual se clasifica como habla transitoria activa. El modo de CELP proporciona la más precisa reproducción de señal (al compararla con los otros modos descritos en el presente documento) pero a la más alta tasa de transmisión de
bits.
La figura 7 representa un modo 204 de codificador de CELP y un modo 206 de descodificador de CELP con mayor detalle. Según se muestra en la figura 7A, el modo 204 de codificador de CELP incluye un módulo 702 de codificación por altura de tono, un libro 704 de códigos de codificación, y un módulo 706 de actualización de filtro. El modo 204 de codificador de CELP emite una señal de habla codificada, s_{enc}(n), que preferentemente incluye parámetros de libro de códigos y parámetros de filtro de altura de tono, para transmisión al modo 206 de descodificador de CELP. Según se muestra en la figura 7B, el modo 206 de descodificador de CELP incluye un módulo 708 de libro de códigos de descodificación, un filtro 710 de altura de tono, y un filtro 712 de síntesis de LPC. El modo 206 de descodificador de CELP recibe la señal de habla codificada y emite señal de habla sintetizada \hat{s}(n).
A. Módulo de codificación por altura de tono
El módulo 702 de codificación por altura de tono recibe la señal de habla \hat{s}(n) y el residuo cuantificado de la trama previa, p_{c}(n) (descrito a continuación). Basándose en esta entrada, el módulo 702 de codificación por altura de tono genera una señal objetivo x(n) y un conjunto de parámetros de filtro de altura de tono. En una realización preferida, estos parámetros de filtro de altura de tono incluyen un desfase de altura de tono óptimo L* y una ganancia de altura de tono óptima b*. Estos parámetros se seleccionan según un procedimiento de "análisis por síntesis" en el que el proceso de codificación selecciona los parámetros de filtro de altura de tono que minimizan el error ponderado entre el habla de entrada y el habla sintetizada usando esos parámetros.
La figura 8 representa el módulo 702 de codificación por altura de tono con mayor detalle. El módulo 702 de codificación por altura de tono incluye un filtro 802 de ponderación perceptivo, sumadores 804 y 816, filtros 806 y 808 de síntesis de LPC ponderada, un retardo y ganancia 810, y una minimización de suma 812 de cuadrados.
El filtro 802 de ponderación perceptivo se usa para ponderar el error entre el habla original y el habla sintetizada de forma perceptiblemente significativa. El filtro de ponderación perceptivo es de la forma
\vskip1.000000\baselineskip
45
\vskip1.000000\baselineskip
donde A(z) es el filtro de error de predicción de LPC, e y preferentemente es igual a 0,8. El filtro 806 de análisis de LPC ponderado recibe los coeficientes de LPC calculados por el módulo 202 de cálculo de parámetro inicial. El filtro 806 emite a_{zir}(n), que es la respuesta de entrada cero dados los coeficientes de LPC. El sumador 804 suma una entrada negativa a_{zir}(n) y la señal de entrada filtrada para formar la señal objetivo x(n).
El retardo y ganancia 810 emite una salida de filtro de altura de tono estimada bp_{L}(n) para un desfase de altura de tono L y ganancia de altura de tono b dados. El retardo y ganancia 810 recibe las muestras de residuo cuantificado de las tramas previas, y una estimación de salida futura del filtro de altura de tono, dado por p_{o}(n), y forma p(n)
según:
\vskip1.000000\baselineskip
46
\vskip1.000000\baselineskip
que se retarda entonces por L muestras y se pone a escala mediante b para formar bp_{L}(n). Lp es la longitud de subtrama (preferentemente 40 muestras). En una realización preferida, el desfase de altura de tono, L, se representa por 8 bits y puede tomar los valores 20,0, 20,5, 21,0, 21,5, 126,0, 126,5, 127,0, 127,5.
\newpage
El filtro 808 de análisis de LPC ponderado filtra b_{pL}(n) usando los coeficientes de LPC actuales dando como resultado by_{L}(n). El sumador 816 suma una entrada negativa by_{L}(n) con x(n), cuya salida se recibe al minimizar la suma 812 de cuadrados. Minimizar la suma 812 de cuadrados selecciona el L óptimo, indicado por L* y el b óptimo, indicado por b*, como los valores de L y b que minimizan E_{altura\ de\ tono}(L) según:
47
Si
48
entonces el valor de b que minimiza Ealtura de tono(L) para un valor dado de L es
49
para el que
50
donde K es una constante que puede omitirse.
Los valores óptimos de L y b (L* y b*) se encuentran determinando primero el valor de L que minimiza E_{altura\ de\ tono} (L) y calculando entonces b*.
Estos parámetros de filtro de altura de tono se calculan preferentemente para cada subtrama y entonces se cuantifican para transmisión eficaz. En una realización preferida, los códigos de transmisión PDESFASEj y PGANANCIAj para la subtrama j-ésima se calculan como
\vskip1.000000\baselineskip
51
\vskip1.000000\baselineskip
PGANANCIAj se ajusta entonces a -1 si PDESFASEj se ajusta a 0. Estos códigos de transmisión se transmiten al modo 206 de descodificador de CELP como los parámetros de filtro de altura de tono, parte de la señal de habla codificada S_{enc}(n).
B. Libro de códigos de codificación
El libro 704 de códigos de codificación recibe la señal objetivo x(n) y determina un conjunto de parámetros de excitación de libro de códigos que se usan por el modo 206 de descodificador de CELP, junto con los parámetros de filtro de altura de tono, para reconstruir la señal de residuo cuantificada.
El libro 704 de códigos de codificación en primer lugar actualiza x(n) como sigue.
52
donde y_{pzir}(n) es la salida del filtro de síntesis de LPC ponderado (con memorias conservadas desde el final de la subtrama previa) a una entrada que es la respuesta de entrada cero del filtro de altura de tono con parámetros \hat{L}* y \hat{b}* (y memorias resultado del procesamiento de la subtrama previa).
Un objetivo refiltrado \vec{d} = {d_{n}}, 0 \leq n < 40 se crea como \vec{d} = H' \vec{x} donde
53
es la matriz de respuesta a impulso formada a partir de la respuesta a impulso {h_{n}} y \vec{x} = {x(n)}, 0 \leq n < 40. Dos vectores más \hat{\phi} = {\phi_{n}} y \vec{s} se crean también.
54
donde
55
El libro 704 de códigos de codificación inicializa los valores Exy* y Eyy* a cero y busca los parámetros de excitación óptimos, preferentemente con cuatro valores de N (0, 1, 2, 3), según:
56
57
58
El libro 704 de códigos de codificación calcula la ganancia de libro de códigos G* como \frac{Exy^{*}}{Eyy^{*}},
y entonces cuantifica el conjunto de parámetros de excitación como los siguientes códigos de transmisión para la subtrama j-ésima:
59
Las realizaciones de tasa de transmisión de bits más baja del modo de codificador/descodificador de CELP pueden realizarse eliminando el módulo 702 de codificación por altura de tono y sólo realizando una búsqueda de libro de códigos para determinar un índice I y ganancia G para cada una de las cuatro subtramas. Los expertos en la técnica reconocerán cómo las ideas descritas anteriormente podrían ampliarse para lograr esta realización de tasa de transmisión de bits más baja.
C. El descodificador por CELP
El modo 206 de descodificador de CELP recibe la señal de habla codificada, que incluye preferentemente parámetros de excitación de libro de códigos y parámetros de filtro de altura de tono, a partir del modo 204 de codificador de CELP, y basándose en estos datos emite habla sintetizada \hat{s}(n). El módulo 708 de libro de códigos de descodificación recibe los parámetros de excitación de libro de códigos y genera la señal de excitación cb(n) con una ganancia de G. La señal de excitación cb(n) para la subtrama j-ésima contiene mayoritariamente ceros excepto para las cinco ubicaciones:
60
que correspondientemente tienen impulsos de valor
61
los cuales se ponen a escala por la ganancia G que se calcula para ser 2^{CBGj\frac{11.2636}{31}}, para proporcionar Gcb(n).
El filtro 710 de altura de tono descodifica los parámetros de filtro de altura de tono a partir de los códigos de transmisión recibidos según:
62
El filtro 710 de altura de tono filtra entonces Gcb(n), donde el filtro tiene una función de transferencia dada por
63
En una realización preferida, el modo 206 de descodificador de CELP también añade una operación de filtrado de altura de tono extra, un prefiltro de altura de tono (no mostrado), después del filtro 710 de altura de tono. El desfase para el prefiltro de altura de tono es el mismo que el del filtro 710 de altura de tono, mientras que su ganancia es preferentemente la mitad de la ganancia de altura de tono hasta un máximo de 0,5.
El filtro 712 de síntesis de LPC recibe la señal de residuo cuantificada reconstruida \hat{r}(n) y emite la señal de habla sintetizada \hat{s}(n).
D. Módulo de actualización de filtro
El módulo 706 de actualización de filtro sintetiza habla según se describió en la sección previa para actualizar las memorias de filtro. El módulo 706 de actualización de filtro recibe los parámetros de excitación de libro de códigos y los parámetros de filtro de altura de tono, genera una señal de excitación cb(n), filtra mediante filtro de altura de tonos Gcb(n), y entonces sintetiza \hat{s}(n). Realizando esta síntesis en el codificador, las memorias en el filtro de altura de tono y en el filtro de síntesis de LPC se actualizan para su uso cuando procesan la siguiente subtrama.
VIII. Modo de codificación por periodo de altura de tono prototipo (PPP)
La codificación por periodo de altura de tono prototipo (PPP) explota la periodicidad de una señal de habla para lograr tasas de transmisión de bits más bajas que las que pueden obtenerse usando codificación por CELP. En general, la codificación por PPP implica extraer un periodo representativo de la señal de residuo, al que se hace referencia en el presente documento como el residuo prototipo, y usando entonces ese prototipo para construir periodos de altura de tono anteriores en la trama por interpolación entre el residuo prototipo de la trama actual y un periodo de altura de tono similar de la trama previa (es decir, el residuo prototipo si la última trama fue PPP). La eficacia (en términos de tasa de transmisión de bits reducida) de codificación por PPP depende, en parte, de cuánto se parecen los residuos prototipo actual y previo a los periodos de altura de tono intervinientes. Por este motivo, la codificación por PPP se aplica preferentemente a señales de habla que presentan relativamente altos grados de periodicidad (por ejemplo, habla con voz), a los que se hace referencia en el presente documento como señales de habla cuasiperiódicas.
La figura 9 representa un modo 204 de codificador de PPP y un modo 206 de descodificador de PPP con mayor detalle. El modo 204 de codificador de PPP incluye un módulo 904 de extracción, un correlator 906 de giro, un libro 908 de códigos de codificación, y un módulo 910 de actualización de filtro. El modo 204 de codificador de PPP recibe la señal de residuo r(n) y emite una señal de habla codificada S_{enc}(n), que preferentemente incluye parámetros de libro de códigos y parámetros de giro. El modo 206 de descodificador de PPP incluye un descodificador 912 de libro de códigos, un girador 914, un sumador 916, un interpolador 920 de periodo, y un filtro 918 de deformación.
La figura 10 es un diagrama de flujo 1000 que representa las etapas de codificación por PPP, incluyendo codificación y descodificación. Estas etapas se explican junto con los diversos componentes de modo 204 de codificador de PPP y modo 206 de descodificador de PPP.
A. Módulo de extracción
En la etapa 1002, el módulo 904 de extracción extrae un residuo prototipo rp(n) de la señal de residuo r(n). Según se describió anteriormente en la sección III.F, el módulo 202 de cálculo de parámetro inicial emplea un filtro de análisis de LPC para calcular r(n) para cada trama. En una realización preferida, los coeficientes de LPC en este filtro se ponderan perceptiblemente según se describió en la sección VII.A. La longitud de r_{p}(n) es igual al desfase de altura de tono L calculado por el módulo 202 de cálculo de parámetro inicial durante la última subtrama en la trama actual.
La figura 11 es un diagrama de flujo que representa la etapa 1002 con mayor detalle. El módulo 904 de extracción de PPP preferentemente selecciona un periodo de altura de tono tan cerca al fin de la trama como es posible, sujeto a ciertas restricciones explicadas a continuación. La figura 12 representa un ejemplo de una señal de residuo calculada basándose en habla cuasiperiódica, incluyendo la trama actual y la última subtrama de la trama previa.
En la etapa 1102, se determina una "zona libre". La zona libre define un conjunto de muestras en el residuo que no pueden ser puntos finales del residuo prototipo. La zona libre asegura que zonas de alta energía del residuo no se producen al inicio o fin del prototipo (que podrían provocar que se permitiera que discontinuidades en la salida ocurrieran). Se calcula el valor absoluto de cada una de las L muestras finales de r(n). La variable P_{s} se ajusta igual al índice de tiempo de la muestra con el mayor valor absoluto, al que se hace referencia en el presente documento como el "pico de altura de tono". Por ejemplo, si el pico de altura de tono se produjo en la última muestra de las L muestras finales, P_{s} = L-1. En una realización preferida, la muestra mínima de la zona libre, CF_{min}, se ajusta para ser P_{s} - 6 o P_{s} - 0,25 L, lo que sea menor. La máxima de la zona libre, CF_{max}, se ajusta para ser P_{s} + 6 o P_{s} + 0,25 L, lo que sea mayor.
En la etapa 1104, el residuo prototipo se selecciona separando L muestras del residuo. La zona se elige tan cerca como sea posible del fin de la trama, bajo la restricción de que los puntos finales de la zona no pueden estar dentro de la zona libre. Las L muestras del residuo prototipo se determinan usando el algoritmo descrito en el siguiente pseudocódigo:
\vskip1.000000\baselineskip
64
B. Correlator de giro
Haciendo referencia de nuevo a la figura 10, en la etapa 1004, el correlator 906 de giro calcula un conjunto de parámetros de giro basándose en el residuo prototipo actual, r_{p}(n), y el residuo prototipo de la trama previa, r_{prev}(n). Estos parámetros describen cómo puede girarse y ponerse a escala mejor r_{prev}(n) para su uso como un indicador de r_{p}(n). En una realización preferida, el conjunto de parámetros de giro incluye un giro óptimo R* y una ganancia óptima b*. La figura 13 es un diagrama de flujo que representa la etapa 1004 con mayor detalle.
En la etapa 1302, la señal objetivo ponderada perceptiblemente x(n), se calcula filtrando de manera circular el periodo de residuo de altura de tono prototipo r_{p}(n). Esto se logra como sigue. Una señal provisional tmp1(n) se crea a partir de r_{p}(n) como
65
que se filtra por el filtro de síntesis de LPC ponderado con cero memorias para proporcionar una salida tmp2(n). En una realización preferida, los coeficientes de LPC usados son los coeficientes ponderados perceptiblemente correspondientes a la última subtrama en la trama actual. La señal objetivo x(n) se da entonces por
66
En la etapa 1304, el residuo prototipo de la trama previa, r_{prev}(n), se extrae del residuo de formante cuantificado de la trama previa (que está también en las memorias de filtro de altura de tono). El residuo prototipo previo se define preferentemente como los últimos L_{p} valores residuo de formante de la trama previa, donde L_{p} es igual a L si la trama previa no fue una trama de PPP, y se ajusta al desfase de altura de tono previo en caso contrario.
En la etapa 1306, la longitud de r_{prev}(n) se modifica para ser de la misma longitud que x(n) de modo que las correlaciones pueden calcularse correctamente. Se hace referencia a esta técnica para modificar la longitud de una señal muestreada en el presente documento como deformación. La señal de excitación de altura de tono deformada, rw_{prev}(n), puede describirse según
67
donde TWF es el factor de deformación de tiempo
\frac{L_{p}}{L}.
Los valores de muestra en puntos no enteros n * TWF se calculan preferentemente usando un conjunto de tablas de función sinc. La secuencia sinc elegida es sinc(-3 - F : 4 - F) donde F es la parte fraccionaria de n * TWF redondeada al múltiplo más próximo de 1/8. El inicio de esta secuencia se alinea con rprev((N-3)%Lp) donde N es la parte integral de n*TWF después de ser redondeada al octavo más cercano.
En la etapa 1308, la señal de excitación de altura de tono deformada nw_{prev}(n) se filtra de manera circular, dando como resultado y(n). Esta operación es la misma que la descrita anteriormente con respecto a la etapa 1302, aunque aplicada a rw_{prev} (n).
En la etapa 1310, el intervalo de búsqueda de giro de altura de tono se calcula calculando primero un giro estimado E_{ron}
\vskip1.000000\baselineskip
68
\vskip1.000000\baselineskip
donde frac(x) proporciona la parte fraccionaria de x. Si L < 80, el intervalo de búsqueda de giro de altura de tono se define para ser {E_{rot} - 8, E_{rot} - 7,5,... E_{rot}, + 7,5}, y {E_{rot} -16, E_{rot} - 15,... E_{rot}, + 15} donde L\geq80.
En la etapa 1312, se calculan los parámetros de giro, giro óptimo R* y ganancia óptima b*. El giro de altura de tono que da como resultado la mejor predicción entre x(n) e y(n) se elige junto con la correspondiente ganancia b. Estos parámetros preferentemente se eligen para minimizar la señal de error e(n) = x(n) -y(n). El giro óptimo R* y la ganancia óptima b* son los valores de giro R y ganancia b que dan como resultado el máximo valor de
69
donde
70
y
71
para los que la ganancia óptima b* es
72
para giro R*. Para valores fraccionarios de giro, el valor de Exv_{R} se aproxima interpolando los valores de Exy_{R} calculados para valores enteros de giro. Se usa un filtro de interpolación four tap simple. Por ejemplo,
73
donde R es un giro no entero (con precisión de 0,5) y R' = [R].
En una realización preferida, los parámetros de giro se cuantifican para transmisión eficaz. La ganancia óptima b* se cuantifica preferentemente de manera uniforme entre 0,0625 y 4,0 según
\vskip1.000000\baselineskip
74
\vskip1.000000\baselineskip
donde PGANANCIA es el código de transmisión y la ganancia cuantificada b^* viene dada por
\vskip1.000000\baselineskip
75
\vskip1.000000\baselineskip
El giro óptimo R* se cuantifica como el código de transmisión PROT, que se ajusta a 2(R* - E_{rot} + 8) si L < 80, y R* - E_{rot} + 16 donde L\geq 80. C.
C. Libro de códigos de codificación
Haciendo referencia de nuevo a la figura 10, en la etapa 1006, el libro 908 de códigos de codificación genera un conjunto de parámetros de libro de códigos basándose en la señal objetivo recibida x(n). El libro 908 de códigos de codificación busca encontrar uno o más vectores de códigos que, cuando se ponen a escala, se suman, y se filtran suman una señal que se aproxima a x(n). En una realización preferida, el libro 908 de códigos de codificación se implementa como un libro de códigos multifase, preferentemente tres fases, donde cada fase produce un vector de códigos a escala. El conjunto de parámetros de libro de códigos por tanto incluye los índices y ganancias correspondientes a tres vectores de códigos. La figura 14 es un diagrama de flujo que representa la etapa 1006 en más detalle.
En la etapa 1402, antes de realizar la búsqueda de libro de códigos, la señal objetivo x(n) se actualiza como
76
Si en la sustracción anterior el giro R* es no entero (es decir, tiene una fracción de 0,5), entonces
\vskip1.000000\baselineskip
77
\vskip1.000000\baselineskip
donde i = n- [R*].
En la etapa 1404, los valores del libro de códigos se reparten en múltiples zonas. Según una realización preferida, el libro de códigos se determina según
78
donde CBP son los valores de un libro de códigos estocástico o entrenado. Los expertos en la técnica reconocerán cómo se generan estos valores de libro de códigos. El libro de códigos se reparte en múltiples zonas, cada una de longitud L. La primera zona es un único impulso, y las restantes zonas están constituidas por valores del libro de códigos estocástico o entrenado. El número de zonas N será [128/L].
En la etapa 1406, las múltiples zonas del libro de códigos se filtran cada una de manera circular para producir los libros de códigos filtrados, y_{reg}(n), cuya concatenación es la señal y(n). Para cada zona, el filtrado circular se realiza según se describió anteriormente con respecto a la etapa 1302.
En la etapa 1408, la energía del libro de códigos filtrado, Eyy(zon), se calcula para cada zona y se almacena:
79
En la etapa 1410, se calculan los parámetros de libro de códigos (es decir, índice y ganancia de vector de códigos) para cada fase del libro de códigos multifase. Según una realización preferida, sea Zona(I) = zon, definida como la zona en que la muestra I reside, o
80
y sea Exy(I) definida como
\vskip1.000000\baselineskip
81
\vskip1.000000\baselineskip
Los parámetros de libro de códigos, I* y G*, para la fase de libro de códigos j-ésima se calculan usando el siguiente pseudocódigo.
\vskip1.000000\baselineskip
82
\vskip1.000000\baselineskip
y
83
Según una realización preferida, los parámetros de libro de códigos se cuantifican para transmisión eficaz. El código de transmisión CBIj (j= número de fase - 0, 1 ó 2) se ajusta preferentemente a I* y los códigos de transmisión CBGj y SIGNj se ajustan cuantificando la ganancia G*.
84
y la ganancia cuantificada \hat{G}* es
85
La señal objetivo x(n) se actualiza entonces sustrayendo la contribución del vector de libro de códigos de la fase actual
86
Los procedimientos anteriores empezando desde el pseudocódigo se repiten para calcular I*, G*, y los códigos de transmisión correspondientes, para las fases segunda y tercera.
D. Módulo de actualización de filtro
Haciendo referencia de nuevo a la figura 10, en la etapa 1008, el módulo 910 de actualización de filtro actualiza los filtros usados por el modo 204 de codificador de PPP. Dos realizaciones alternativas se presentan para el módulo 910 de actualización de filtro, según se muestra en la figuras 15A y 16A. Según se muestra en la primera realización alternativa en la figura 15A, el módulo 910 de actualización de filtro incluye un libro 1502 de códigos de descodificación, un girador 1504, un filtro 1506 de deformación, un sumador 1510, un módulo 1508 de alineación e interpolación, un módulo 1512 de actualización de filtro de altura de tono, y un filtro 1514 de síntesis de LPC. La segunda realización, según se muestra en la figura 16A, incluye un libro 1602 de códigos de descodificación, un girador 1604, un filtro 1606 de deformación, un sumador 1608, un módulo 1610 de actualización de filtro de altura de tono, un filtro 1612 de síntesis de LPC circular, y un módulo 1614de actualización de filtro de LPC. Las figuras 17 y 18 son diagramas de flujos que representan la etapa 1008 en más detalle, según las dos realizaciones.
En la etapa 1702 (y 1802, la primera etapa de ambas realizaciones), el residuo prototipo reconstruido actual, r_{act} (n), con L muestras de longitud, se reconstruye a partir de los parámetros de libro de códigos y parámetros de giro. En una realización preferida, el girador 1504 (y 1604) gira una versión deformada del residuo prototipo previo según lo siguiente:
87
donde r_{act} es el prototipo actual que va a crearse, rw_{prev} es la versión deformada (según se describió anteriormente en la sección VIII.A., con
88
del periodo previo obtenida a partir de las L muestras más recientes de las memorias del filtro de altura de tono, b la ganancia de altura de tono y R el giro obtenido a partir de códigos de transmisión de paquetes según
89
donde E_{rot} es el giro esperado calculado según se describió anteriormente en la sección VIII.B.
El libro 1502 de códigos de descodificación (y 1602) suma las contribuciones para cada una de las tres fases de libro de códigos a r_{act}(n) según
90
donde I=CBIj y G se obtiene a partir de CBGj y SIGNj según se describió en la sección previa, siendo j el número de fase.
En este punto, las dos realizaciones alternativas para el módulo 910 de actualización de filtro difieren. Haciendo referencia en primer lugar a la realización de la figura 15A, en la etapa 1704, el módulo 1508 de alineación e interpolación rellena en el resto de las muestras de residuo desde el principio de la trama actual hasta el principio del residuo prototipo actual (según se muestra en la figura 12). Aquí, la alineación y la interpolación se realizan sobre la señal de residuo. Sin embargo, estas mismas operaciones pueden realizarse también sobre señales de habla, según se describe a continuación. La figura 19 es un diagrama de flujo que describe la etapa 1704 en más detalle.
En la etapa 1902, se determina si el desfase previo L_{p} es el doble o la mitad respecto al desfase actual L. En una realización preferida, otros múltiplos se consideran demasiado improbables, y por tanto no se consideran. Si L_{p} > 1,85 L, L_{p} se divide por dos y sólo se usa la primera mitad del periodo previo r_{prev}(n). Si L_{p} < 0,54 L, es probable que el desfase actual L sea el doble y por consiguiente L_{p} también se dobla y el periodo previo r_{prev}(n) se extiende por repetición.
En la etapa 1904, r_{prev}(n) se deforma para formar rw_{prev}(n) según se describió anteriormente con respecto a la etapa 1306, con
\vskip1.000000\baselineskip
91
\vskip1.000000\baselineskip
de modo que las longitudes de ambos residuos prototipo son ahora las mismas. Obsérvese que esta operación se realizó en la etapa 1702, según se describió anteriormente, mediante el filtro 1506 de deformación. Los expertos en la técnica reconocerán que la etapa 1904 sería innecesaria si la salida del filtro 1506 de deformación se pusiera a disposición del módulo 1508 de alineación e interpolación.
En la etapa 1906, se calcula el intervalo admisible de giros de alineación. El giro de alineación esperada, E_{A}, se calcula para que sea la misma que E_{rot} según se describió anteriormente en la sección VIII.B. El intervalo de búsqueda de giro de alineación se define para ser {E_{A} - \deltaA, E_{A} - \deltaA + 0,5, E_{A} - \deltaA + 1,.., E_{A} + \deltaA - 1,5, E_{A} + \deltaA - 1}, donde \deltaA = max{6, 0,15 L}.
En la etapa 1908, las correlaciones cruzadas entre los periodos prototipo previo y actual para giros de alineación para enteros, R, se calculan como
\vskip1.000000\baselineskip
92
\vskip1.000000\baselineskip
y las correlaciones cruzadas para giros A no enteros se aproximan interpolando los valores de las correlaciones para giro entero:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
93
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
donde A' = A-0,5.
En la etapa 1910, el valor de A (sobre el intervalo de giros admisibles) que da como resultado el máximo valor de C(A) se elige como la alineación óptima, A*.
En la etapa 1912, el desfase o periodo de altura de tono promedio para las muestras intermedias, L_{\alpha v}, se calcula de la siguiente manera. Una estimación de número de periodo, N_{prev}, se calcula como
\vskip1.000000\baselineskip
94
\vskip1.000000\baselineskip
con el desfase promedio para las muestras intermedias dado por
\vskip1.000000\baselineskip
95
\newpage
En la etapa 1914, las muestras de residuo restantes en la trama actual se calculan según la siguiente interpolación entre los residuos prototipo previo y actual:
96
donde
97
Los valores de muestra en puntos no enteros ñ (igual a o bien n\alpha o n\alpha +A*) se calculan usando un conjunto de tablas de función sinc. La secuencia sinc elegida es sinc(-3 -F: 4 - F) donde F es la parte fraccionaria de ñ redondeada al múltiplo más cercano de 1/8. El principio de esta secuencia se alinea con r_{prev}((N-3)%Lp) donde N es la parte entera de ñ después de haberse redondeado al octavo más cercano.
Obsérvese que esta operación es esencialmente la misma que la deformación, según se describió anteriormente con respecto a la etapa 1306. Por tanto, en una realización alternativa, la interpolación de la etapa 1914 se calcula usando un filtro de deformación. Los expertos en la técnica reconocerán que pueden realizarse ahorros reutilizando un filtro de deformación único para los diversos fines descritos en el presente documento.
Volviendo a la figura 17, en la etapa 1706, el módulo 1512 de actualización de filtro de altura de tono copia valores del residuo reconstruido \hat{r}(n), a las memorias de filtro de altura de tono. Asimismo, las memorias del prefiltro de altura de tono también se actualizan.
En la etapa 1708, el filtro 1514 de síntesis de LPC filtra el residuo reconstruido \hat{r}(n), lo que tiene el efecto de actualizar las memorias del filtro de síntesis de LPC.
A continuación se describe la segunda realización del módulo 910 de actualización de filtro, según se muestra en la figura 16A. Según se describió anteriormente con respecto a la etapa 1702, en la etapa 1802, el residuo prototipo se reconstruye a partir del libro de códigos y los parámetros de giro, dando como resultado r_{act}(n).
En la etapa 1804, el módulo 1610 de actualización de filtro de altura de tono actualiza las memorias de filtro de altura de tono copiando réplicas de las L muestras a partir de r_{act}(n), según
98
o alternativamente,
99
donde 131 es preferentemente la orden de filtro de altura de tono para un desfase máximo de 127,5. En una realización preferida, las memorias del prefiltro de altura de tono se sustituyen de manera idéntica mediante replicas del periodo actual r_{act}(n):
100
En la etapa 1806, r_{act}(n) se filtra de manera circular según se describió en la sección VIII.B., dando como resultado s_{c}(n), usando preferentemente coeficientes de LPC ponderados perceptiblemente.
En la etapa 1808, valores de s_{c}(n), preferentemente los últimos diez valores (para un filtro de LPC de orden diez), se usan para actualizar las memorias del filtro de síntesis de LPC.
E. Descodificador de PPP
Volviendo a las figuras. 9 y 10, en la etapa 1010, el modo 206 de descodificador de PPP reconstruye el residuo prototipo r_{act}(n) basándose en el libro de códigos y los parámetros de giro recibidos. El libro 912 de códigos de descodificación, el girador 914, y filtro 918 de deformación operan en la manera descrita en la sección previa. El interpolador 920 de periodo recibe el residuo prototipo reconstruido r_{act}(n) y el prototipo residuo reconstruido previo r_{prev}(n), interpola las muestras entre los dos prototipos, y emite la señal de habla sintetizada \hat{s}(n). El interpolador 920 de periodo se describe en la siguiente sección.
F. Interpolador de periodo
En la etapa 1012, el interpolador 920 de periodo recibe r_{act}(n) y emite la señal de habla sintetizada \hat{s}(n). Dos realizaciones alternativas para el interpolador 920 de periodo se presentan en el presente documento, según se muestra en las figuras 15B y 16B. En la primera realización alternativa, la figura 15B, el interpolador 920 de periodo incluye un módulo 1516 de alineación e interpolación, un filtro 1518 de síntesis de LPC, y un módulo 1520 de actualización de filtro de altura de tono. La segunda realización alternativa, según se muestra en la figura 16B, incluye un filtro 1616 circular de síntesis de LPC, un módulo 1618 de alineación e interpolación, un módulo 1622 de actualización de filtro de altura de tono, y un módulo 1620 de actualización de filtro de LPC. Las figuras 20 y 21 son diagramas de flujo que representan la etapa 1012 en más detalle, según las dos realizaciones.
Haciendo referencia a la figura 15B, en la etapa 2002, el módulo 1516 de alineación e interpolación reconstruye la señal de residuo para las muestras entre el residuo prototipo actual r_{act}(n) y el residuo prototipo previo r_{prev}(n), formando \hat{r}(n). El módulo 1516 de alineación e interpolación opera en la manera descrita anteriormente con respecto a la etapa 1704 (según se muestra en la figura 19).
En la etapa 2004, el módulo 1520 de actualización de filtro de altura de tono actualiza las memorias de filtro de altura de tono basándose en la señal de residuo reconstruida \hat{r}(n), según se describió anteriormente con respecto a la etapa 1706.
En la etapa 2006, el filtro 1518 de síntesis de LPC sintetiza la señal de habla de salida \hat{s}(n) basándose en la señal de residuo reconstruida \hat{r}(n). Las memorias de filtro de LPC se actualizan automáticamente cuando se realiza esta operación.
Haciendo referencia ahora a las figuras 16B y 21, en la etapa 2102, el módulo 1622 de actualización de filtro de altura de tono actualiza las memorias de filtro de altura de tono basándose en el residuo prototipo actual reconstruido, r_{act}(n), según se describió anteriormente con respecto a la etapa 1804.
En la etapa 2104, el filtro 1616 circular de síntesis de LPC recibe r_{act}(n) y sintetiza un prototipo de habla actual, s_{c}(n) (con L muestras de longitud), según se describió anteriormente en la sección VIII.B.
En la etapa 2106, el módulo 1620 de actualización de filtro de LPC actualiza las memorias de filtro de LPC según se describió anteriormente con respecto a la etapa 1808.
En la etapa 2108, el módulo 1618 de alineación e interpolación reconstruye las muestras de habla entre el periodo prototipo previo y el periodo prototipo actual. El residuo prototipo previo, r_{prev}(n), se filtra de manera circular (en una configuración de síntesis de LPC) de modo que la interpolación puede continuar en el dominio del habla. El módulo 1618 de alineación e interpolación opera en la manera descrita anteriormente con respecto a la etapa 1704 (véase la figura 19), excepto que las operaciones se realizan sobre prototipos de habla en vez de prototipos residuo. El resultado de la alineación e interpolación es la señal de habla sintetizada \hat{s}(n).
IX. Modo de codificación de predicción lineal excitada por ruido (NELP)
La codificación de predicción lineal excitada por ruido (NELP) modela la señal de habla como una secuencia de ruido pseudoaleatorio y así logra tasas de transmisión de bits más bajas de las que pueden obtenerse usando codificación o bien por CELP o bien por PPP. La codificación por NELP opera de manera más eficaz, en términos de reproducción de señal, donde la señal de habla tiene poca o ninguna estructura de altura de tono, tal como habla sin voz o ruido de fondo.
La figura 22 representa un modo 204 de codificador de NELP y un modo 206 de descodificador de NELP en más detalle. El modo 204 de codificador de NELP incluye un estimador 2202 de energía y un libro 2204 de códigos de codificación. El modo 206 de descodificador de NELP incluye un libro 2206 de códigos de descodificación, un generador 2210 de números aleatorios, un multiplicador 2212, y un filtro 2208 de síntesis de LPC.
La figura 23 es un diagrama de flujo 2300 que representa las etapas de codificación por NELP, incluyendo codificación y descodificación. Estas etapas se analizan junto con los diversos componentes del modo 204 de codificador de NELP y modo 206de descodificador de NELP.
\newpage
En la etapa 2302, el estimador 2202 de energía calcula la energía de la señal de residuo para cada una de las cuatro subtramas como
101
En la etapa 2304, el libro 2204 de códigos de codificación calcula un conjunto de parámetros de libro de códigos, formando la señal de habla codificada s_{enc}(n). En una realización preferida, el conjunto de parámetros de libro de códigos incluye un parámetro único, el índice /0. El índice /0 se ajusta igual al valor de j que minimiza
102
Los vectores de libro de códigos, SFEQ, se usan para cuantificar la subtramas de energía Esf_{i} e incluyen una serie de elementos igual al número de subtramas dentro de una trama (es decir, 4 en una realización preferida). Estos vectores de libro de códigos se crean preferentemente según técnicas estándar conocidas por los expertos en la técnica para crear libros de códigos estocásticos o entrenados.
En la etapa 2306, el libro 2206 de códigos de descodificación descodifica los parámetros de libro de códigos recibidos. En una realización preferida, el conjunto de ganancias de subtrama G_{i} se descodifica según:
103
o
104
(donde lo anterior se codificó usando un esquema de codificación de tasa de transmisión cero) donde 0 \leq i < 4 y G_{prev} es la ganancia de excitación libro de códigos correspondiente a la última subtrama de la trama previa.
En la etapa 2308, el generador 2210 de números aleatorios genera un vector aleatorio de varianza unidad nz(n). Este vector aleatorio se pone a escala mediante la ganancia apropiada Gi dentro de cada subtrama en la etapa 2310, creando la señal de excitación Gnz(n).
En la etapa 2312, el filtro 2208 de síntesis de LPC filtra la señal de excitación Gnz(n) para formar la señal de habla de salida, \hat{s}(n).
En una realización preferida, un modo de tasa de transmisión cero también se emplea donde la ganancia G_{i} y los parámetros de LPC obtenidos a partir de la subtrama de NELP distinta de cero más reciente se usan para cada subtrama en la trama actual. Los expertos en la técnica reconocerán que este modo de tasa de transmisión cero puede usarse de manera eficaz donde se producen múltiples tramas de NELP sucesivamente.
X. Conclusión
Aunque diversas realizaciones de la presente invención se han descrito anteriormente, debe entenderse que se han presentado únicamente a modo de ejemplo, y no de limitación, Por tanto, la amplitud y alcance de la presente invención no debe limitarse por ninguna de las realizaciones ejemplares anteriormente descritas, sino que debe definirse sólo según las siguientes reivindicaciones.
La descripción previa de las realizaciones preferidas se proporciona para permitir a cualquier experto en la técnica realizar o usar la presente invención. Aunque la invención se ha mostrado y descrito en particular con referencia a las realizaciones preferidas de la misma, los expertos en la técnica entenderán que pueden realizarse diversos cambios en forma y detalles en la misma sin apartarse del alcance de la invención.

Claims (33)

  1. \global\parskip0.960000\baselineskip
    1. Un procedimiento de codificación de tasa de transmisión variable de una señal de habla, que comprende las etapas de
    (a)
    clasificar (304) la señal de habla como o bien activa o bien inactiva; y
    (b)
    clasificar (308) dicha habla activa en una de una pluralidad de tipos de habla activa, caracterizado por:
    (c)
    seleccionar (310) un modo de codificación de una pluralidad de modos de codificación basándose en si la señal de habla es activa o inactiva, y si es activa, basándose además en dicho tipo de habla activa, en la que dicha pluralidad de modos de codificación comprende un modo de codificación por predicción lineal excitada por código, CELP, un modo de codificación por periodo de altura de tono prototipo, PPP, y un modo de codificación por predicción lineal excitada por ruido, NELP; y
    (d)
    codificar (312) la señal de habla según dicho modo de codificación seleccionado, formando una señal de habla codificada.
  2. 2. El procedimiento según la reivindicación 1, que comprende además la etapa de descodificar (314) dicha señal de habla codificada según dicho modo de codificación, formando una señal de habla sintetizada.
  3. 3. El procedimiento según la reivindicación 1, en el que dicha etapa de codificar (312) codifica según dicho modo de codificación a una tasa de transmisión de bits predeterminada asociada a dicho modo de codificación.
  4. 4. El procedimiento según la reivindicación 3, en el que dicho modo de codificación por CELP está asociado a una tasa de transmisión de bits de 8500 bits por segundo, dicho modo de codificación por PPP está asociado a una tasa de transmisión de bits de 3900 bits por segundo, y dicho modo de codificación por NELP está asociado a una tasa de transmisión de bits de 1550 bits por segundo.
  5. 5. El procedimiento según la reivindicación 1, en el que dicho modo de codificación comprende además un modo de tasa de transmisión cero.
  6. 6. El procedimiento según la reivindicación 1, en el que dicha pluralidad de tipos de habla activa incluye habla activa con voz, sin voz, y transitoria.
  7. 7. El procedimiento según la reivindicación 6, en el que dicha etapa de seleccionar un modo de codificación comprende las etapas de:
    (a)
    seleccionar un modo de CELP si dicha habla se clasifica como habla transitoria activa;
    (b)
    seleccionar un modo de PPP si dicha habla se clasifica como habla con voz activa; y
    (c)
    seleccionar un modo de NELP si dicha habla se clasifica como habla inactiva o habla activa sin voz.
  8. 8. El procedimiento según la reivindicación 7, en el que dicha señal de habla codificada comprende parámetros de libro de códigos y parámetros de filtro de altura de tono si se selecciona dicho modo de CELP, parámetros de libro de códigos y parámetros de rotación si se selecciona dicho modo de PPP, o parámetros de libro de códigos si se selecciona dicho modo de NELP.
  9. 9. El procedimiento según la reivindicación 1, en el que dicha etapa de clasificar (304) habla como activa o inactiva comprende un esquema de fijación de umbral basado en dos bandas de energía.
  10. 10. El procedimiento según la reivindicación 1, en el que dicha etapa de clasificar (304) habla como activa o inactiva comprende la etapa de clasificar las siguientes M tramas como activas si las N_{ho} tramas previas se clasificaron como activas.
  11. 11. El procedimiento según la reivindicación 1, que comprende además la etapa de calcular (302) parámetros iniciales usando una "indagación".
  12. 12. El procedimiento según la reivindicación 11, en el que dichos parámetros iniciales comprenden coeficientes de LPC.
  13. 13. El procedimiento según la reivindicación 2, en el que dicho modo de codificación comprende un modo de codificación por NELP, en el que la señal de habla se representa por una señal de residuo generada filtrando la señal de habla con un filtro de análisis de codificación predictiva lineal, LPC, y en el que dicha etapa de codificar (312) comprende las etapas de:
    (i)
    estimar (2302) la energía de la señal de residuo, y
    \global\parskip1.000000\baselineskip
    (ii)
    seleccionar un vector de códigos de un primer libro de códigos, en el que dicho vector de códigos se aproxima a dicha energía estimada;
    y en el que dicha etapa de descodificar (314) comprende las etapas de:
    (i)
    generar (2308) un vector aleatorio,
    (ii)
    recuperar dicho vector de códigos de un segundo libro de códigos,
    (iii)
    poner a escala (2310) dicho vector aleatorio basándose en dicho vector de códigos, de modo que la energía de dicho vector aleatorio a escala se aproxima a dicha energía estimada, y
    (iv)
    filtrar (2312) dicho vector aleatorio a escala con un filtro de síntesis de LPC, en el que dicho vector aleatorio a escala filtrado forma dicha señal de habla sintetizada.
  14. 14. El procedimiento según la reivindicación 13, en el que la señal de habla está dividida en tramas, en el que cada una de dichas tramas comprende dos o más subtramas, en el que dicha etapa de estimar la energía comprende la etapa de estimar la energía de la señal de residuo para cada una de dichas subtramas, y en el que dicho vector de códigos comprende un valor que se aproxima a dicha energía estimada para cada una de dichas subtramas.
  15. 15. El procedimiento según la reivindicación 13, en el que dicho primer libro de códigos y dicho segundo libro de códigos son libros de códigos estocásticos.
  16. 16. El procedimiento según la reivindicación 13, en el que dicho primer libro de códigos y dicho segundo libro de códigos son libros de códigos entrenados.
  17. 17. El procedimiento según la reivindicación 13, en el que dicho vector aleatorio comprende un vector aleatorio de varianza unidad.
  18. 18. Un sistema (200) de codificación de tasa de transmisión variable para codificar una señal de habla, que comprende:
    medios (208) de clasificación para clasificar la señal de habla como activa o inactiva, y si es activa, para clasificar el habla activa como una de una pluralidad de tipos de habla activa, caracterizado por:
    una pluralidad de medios (204) de codificación conectados en paralelo para codificar la señal de habla como una señal de habla codificada, en el que dichos medios de codificación se seleccionan dinámicamente de una pluralidad de medios de codificación para codificar la señal de habla basándose en si la señal de habla es activa o inactiva, y si es activa, basándose además en dicho tipo de habla activa, en el que dicha pluralidad de medios de codificación comprende unos medios de codificación por predicción lineal excitada por código, CELP, unos medios de codificación por periodo de altura de tono prototipo, PPP, y unos medios de codificación por predicción lineal excitada por ruido, NELP.
  19. 19. El sistema según la reivindicación 18, que comprende además una pluralidad de medios (206) de descodificación para descodificar dicha señal de habla codificada.
  20. 20. El sistema según la reivindicación 19, en el que dicha pluralidad de medios (206) de descodificación incluye unos medios de descodificación por CELP, unos medios de descodificación por PPP, y unos medios de descodificación por NELP.
  21. 21. El sistema según la reivindicación 18, en el que cada uno de dichos medios (204) de codificación puede operar para codificar a una tasa de transmisión de bits predeterminada.
  22. 22. El sistema según la reivindicación 21, en el que dichos medios de codificación por CELP pueden operar para codificar a una tasa de transmisión de 8500 bits por segundo, dichos medios de codificación por PPP pueden operar para codificar a una tasa de transmisión de 3900 bits por segundo, y dichos medios de codificación por NELP pueden operar para codificar a una tasa de transmisión de 1550 bits por segundo.
  23. 23. El sistema según la reivindicación 18, en el que dicha pluralidad de medios (204) de codificación incluye además unos medios de codificación de tasa de transmisión cero, y en el que dicha pluralidad de medios (206) de descodificación incluye además unos medios de descodificación de tasa de transmisión cero.
  24. 24. El sistema según la reivindicación 18, en el que dicha pluralidad de tipos de habla activa incluye habla activa con voz, sin voz, y transitoria.
  25. 25. El sistema según la reivindicación 24, en el que dicho codificador de CELP se selecciona si dicha habla se clasifica como habla transitoria activa, en el que dicho codificador de PPP se selecciona si dicha habla se clasifica como habla con voz activa, y en el que dicho codificador de NELP se selecciona si dicha habla se clasifica como habla inactiva o habla activa sin voz.
  26. 26. El sistema según la reivindicación 25, en el que dicha señal de habla codificada comprende parámetros de libro de códigos y parámetros de filtro de altura de tono si se selecciona dicho codificador de CELP, parámetros de libro de códigos y parámetros de rotación si se selecciona dicho codificador de PPP, o parámetros de libro de códigos si se selecciona dicho codificador de NELP.
  27. 27. El sistema según la reivindicación 18, en el que dichos medios (208) de clasificación se configuran para clasificar el habla como activa o inactiva basándose en un esquema de fijación de umbral de dos bandas de energía.
  28. 28. El sistema según la reivindicación 18, en el que dichos medios (208) de clasificación se configuran para clasificar las siguientes M tramas como activas si las N_{ho} tramas previas se clasificaron como activas.
  29. 29. El sistema según la reivindicación 19, en el que la señal de habla se representa por una señal de residuo generada filtrando la señal de habla con un filtro de análisis de codificación predictiva lineal, LPC, y en el que dicha pluralidad de medios (204) de codificación incluye unos medios de codificación por NELP que comprenden:
    medios de estimador de energía para calcular una estimación de la energía de la señal de residuo, y
    medios de libro de códigos de codificación para seleccionar un vector de códigos de un primer libro de códigos, en el que dicho vector de códigos se aproxima a dicha
    energía estimada;
    y en el que dicha pluralidad de medios (206) de descodificación incluye unos medios de descodificación por NELP que comprenden:
    medios de generador de números aleatorios para generar un vector aleatorio,
    medios de libro de códigos de descodificación para recuperar dicho vector de códigos de un segundo libro de códigos,
    medios de multiplicación para poner a escala dicho vector aleatorio basándose en dicho vector de códigos, de modo que la energía de dicho vector aleatorio a escala se aproxima a dicha estimación, y
    medios para filtrar dicho vector aleatorio a escala con un filtro de síntesis de LPC, en el que dicho vector aleatorio a escala filtrado forma dicha señal de habla sintetizada.
  30. 30. El sistema según la reivindicación 18, en el que la señal de habla está dividida en tramas, en el que cada una de dichas tramas comprende dos o más subtramas, en el que dichos medios de estimador de energía calculan una estimación de la energía de la señal de residuo para cada una de dichas subtramas, y en el que dicho vector de códigos comprende un valor que se aproxima a dicha estimación de subtrama para cada una de dichas subtramas.
  31. 31. El sistema según la reivindicación 18, en el que dicho primer libro de códigos y dicho segundo libro de códigos son libros de códigos estocásticos.
  32. 32. El sistema según la reivindicación 18, en el que dicho primer libro de códigos y dicho segundo libro de códigos son libros de códigos entrenados.
  33. 33. El sistema según la reivindicación 18, en el que dicho vector aleatorio comprende un vector aleatorio de varianza unidad.
ES99967507T 1998-12-21 1999-12-21 Codificacion de habla de tasa de transmision variable. Expired - Lifetime ES2321147T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US217341 1994-03-23
US09/217,341 US6691084B2 (en) 1998-12-21 1998-12-21 Multiple mode variable rate speech coding

Publications (1)

Publication Number Publication Date
ES2321147T3 true ES2321147T3 (es) 2009-06-02

Family

ID=22810659

Family Applications (1)

Application Number Title Priority Date Filing Date
ES99967507T Expired - Lifetime ES2321147T3 (es) 1998-12-21 1999-12-21 Codificacion de habla de tasa de transmision variable.

Country Status (11)

Country Link
US (3) US6691084B2 (es)
EP (2) EP1141947B1 (es)
JP (3) JP4927257B2 (es)
KR (1) KR100679382B1 (es)
CN (3) CN100369112C (es)
AT (1) ATE424023T1 (es)
AU (1) AU2377500A (es)
DE (1) DE69940477D1 (es)
ES (1) ES2321147T3 (es)
HK (1) HK1040807B (es)
WO (1) WO2000038179A2 (es)

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3273599B2 (ja) * 1998-06-19 2002-04-08 沖電気工業株式会社 音声符号化レート選択器と音声符号化装置
JP4438127B2 (ja) * 1999-06-18 2010-03-24 ソニー株式会社 音声符号化装置及び方法、音声復号装置及び方法、並びに記録媒体
FI116992B (fi) * 1999-07-05 2006-04-28 Nokia Corp Menetelmät, järjestelmä ja laitteet audiosignaalin koodauksen ja siirron tehostamiseksi
US6782360B1 (en) * 1999-09-22 2004-08-24 Mindspeed Technologies, Inc. Gain quantization for a CELP speech coder
US6959274B1 (en) * 1999-09-22 2005-10-25 Mindspeed Technologies, Inc. Fixed rate speech compression system and method
US7054809B1 (en) * 1999-09-22 2006-05-30 Mindspeed Technologies, Inc. Rate selection method for selectable mode vocoder
JP2001102970A (ja) * 1999-09-29 2001-04-13 Matsushita Electric Ind Co Ltd 通信端末装置及び無線通信方法
US6715125B1 (en) * 1999-10-18 2004-03-30 Agere Systems Inc. Source coding and transmission with time diversity
US7263074B2 (en) * 1999-12-09 2007-08-28 Broadcom Corporation Voice activity detection based on far-end and near-end statistics
US7260523B2 (en) * 1999-12-21 2007-08-21 Texas Instruments Incorporated Sub-band speech coding system
CN1187735C (zh) * 2000-01-11 2005-02-02 松下电器产业株式会社 多模式话音编码装置和解码装置
EP1279167B1 (en) * 2000-04-24 2007-05-30 QUALCOMM Incorporated Method and apparatus for predictively quantizing voiced speech
US6584438B1 (en) 2000-04-24 2003-06-24 Qualcomm Incorporated Frame erasure compensation method in a variable rate speech coder
US6954745B2 (en) 2000-06-02 2005-10-11 Canon Kabushiki Kaisha Signal processing system
US7010483B2 (en) 2000-06-02 2006-03-07 Canon Kabushiki Kaisha Speech processing system
US7072833B2 (en) 2000-06-02 2006-07-04 Canon Kabushiki Kaisha Speech processing system
US7035790B2 (en) 2000-06-02 2006-04-25 Canon Kabushiki Kaisha Speech processing system
US6937979B2 (en) * 2000-09-15 2005-08-30 Mindspeed Technologies, Inc. Coding based on spectral content of a speech signal
CN1212605C (zh) * 2001-01-22 2005-07-27 卡纳斯数据株式会社 用于数字音频数据的编码方法和解码方法
FR2825826B1 (fr) * 2001-06-11 2003-09-12 Cit Alcatel Procede pour detecter l'activite vocale dans un signal, et codeur de signal vocal comportant un dispositif pour la mise en oeuvre de ce procede
US20030120484A1 (en) * 2001-06-12 2003-06-26 David Wong Method and system for generating colored comfort noise in the absence of silence insertion description packets
US20040199383A1 (en) * 2001-11-16 2004-10-07 Yumiko Kato Speech encoder, speech decoder, speech endoding method, and speech decoding method
US7546238B2 (en) 2002-02-04 2009-06-09 Mitsubishi Denki Kabushiki Kaisha Digital circuit transmission device
KR20030066883A (ko) * 2002-02-05 2003-08-14 (주)아이소테크 음성 재생 속도를 이용한 인터넷상에서의 학습 능력 향상장치 및 방법
US7096180B2 (en) * 2002-05-15 2006-08-22 Intel Corporation Method and apparatuses for improving quality of digitally encoded speech in the presence of interference
US7657427B2 (en) * 2002-10-11 2010-02-02 Nokia Corporation Methods and devices for source controlled variable bit-rate wideband speech coding
US7406096B2 (en) * 2002-12-06 2008-07-29 Qualcomm Incorporated Tandem-free intersystem voice communication
WO2004084467A2 (en) * 2003-03-15 2004-09-30 Mindspeed Technologies, Inc. Recovering an erased voice frame with time warping
US20050004793A1 (en) * 2003-07-03 2005-01-06 Pasi Ojala Signal adaptation for higher band coding in a codec utilizing band split coding
US20050096898A1 (en) * 2003-10-29 2005-05-05 Manoj Singhal Classification of speech and music using sub-band energy
JP4089596B2 (ja) * 2003-11-17 2008-05-28 沖電気工業株式会社 電話交換装置
FR2867649A1 (fr) * 2003-12-10 2005-09-16 France Telecom Procede de codage multiple optimise
US20050216260A1 (en) * 2004-03-26 2005-09-29 Intel Corporation Method and apparatus for evaluating speech quality
KR101407429B1 (ko) * 2004-09-17 2014-06-17 코닌클리케 필립스 엔.브이. 지각적 왜곡을 최소화하는 복합 오디오 코딩
EP1815463A1 (en) * 2004-11-05 2007-08-08 Koninklijke Philips Electronics N.V. Efficient audio coding using signal properties
KR20070109982A (ko) * 2004-11-09 2007-11-15 코닌클리케 필립스 일렉트로닉스 엔.브이. 오디오 코딩 및 디코딩
US7567903B1 (en) 2005-01-12 2009-07-28 At&T Intellectual Property Ii, L.P. Low latency real-time vocal tract length normalization
CN100592389C (zh) * 2008-01-18 2010-02-24 华为技术有限公司 合成滤波器状态更新方法及装置
US20090210219A1 (en) * 2005-05-30 2009-08-20 Jong-Mo Sung Apparatus and method for coding and decoding residual signal
US7599833B2 (en) * 2005-05-30 2009-10-06 Electronics And Telecommunications Research Institute Apparatus and method for coding residual signals of audio signals into a frequency domain and apparatus and method for decoding the same
US7184937B1 (en) * 2005-07-14 2007-02-27 The United States Of America As Represented By The Secretary Of The Army Signal repetition-rate and frequency-drift estimator using proportional-delayed zero-crossing techniques
US8483704B2 (en) * 2005-07-25 2013-07-09 Qualcomm Incorporated Method and apparatus for maintaining a fingerprint for a wireless network
US8477731B2 (en) * 2005-07-25 2013-07-02 Qualcomm Incorporated Method and apparatus for locating a wireless local area network in a wide area network
CN100369489C (zh) * 2005-07-28 2008-02-13 上海大学 动态接入编码策略的嵌入式无线编码装置
US8259840B2 (en) * 2005-10-24 2012-09-04 General Motors Llc Data communication via a voice channel of a wireless communication network using discontinuities
EP1955320A2 (en) * 2005-12-02 2008-08-13 QUALCOMM Incorporated Systems, methods, and apparatus for frequency-domain waveform alignment
ATE475171T1 (de) * 2005-12-05 2010-08-15 Qualcomm Inc Verfahren und vorrichtung zur erkennung tonaler komponenten von audiosignalen
US8032369B2 (en) * 2006-01-20 2011-10-04 Qualcomm Incorporated Arbitrary average data rates for variable rate coders
US8346544B2 (en) * 2006-01-20 2013-01-01 Qualcomm Incorporated Selection of encoding modes and/or encoding rates for speech compression with closed loop re-decision
US8090573B2 (en) * 2006-01-20 2012-01-03 Qualcomm Incorporated Selection of encoding modes and/or encoding rates for speech compression with open loop re-decision
US20100161323A1 (en) * 2006-04-27 2010-06-24 Panasonic Corporation Audio encoding device, audio decoding device, and their method
US8682652B2 (en) * 2006-06-30 2014-03-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder and audio processor having a dynamically variable warping characteristic
US7873511B2 (en) * 2006-06-30 2011-01-18 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder and audio processor having a dynamically variable warping characteristic
US8532984B2 (en) 2006-07-31 2013-09-10 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of active frames
US8725499B2 (en) * 2006-07-31 2014-05-13 Qualcomm Incorporated Systems, methods, and apparatus for signal change detection
US8260609B2 (en) 2006-07-31 2012-09-04 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of inactive frames
US8239190B2 (en) * 2006-08-22 2012-08-07 Qualcomm Incorporated Time-warping frames of wideband vocoder
CN101145343B (zh) * 2006-09-15 2011-07-20 展讯通信(上海)有限公司 一种用于音频处理框架中的编码和解码方法
US8489392B2 (en) * 2006-11-06 2013-07-16 Nokia Corporation System and method for modeling speech spectra
CN100483509C (zh) * 2006-12-05 2009-04-29 华为技术有限公司 声音信号分类方法和装置
US8200483B2 (en) * 2006-12-15 2012-06-12 Panasonic Corporation Adaptive sound source vector quantization device, adaptive sound source vector inverse quantization device, and method thereof
US8279889B2 (en) 2007-01-04 2012-10-02 Qualcomm Incorporated Systems and methods for dimming a first packet associated with a first bit rate to a second packet associated with a second bit rate
CN101246688B (zh) * 2007-02-14 2011-01-12 华为技术有限公司 一种对背景噪声信号进行编解码的方法、系统和装置
CN101320563B (zh) * 2007-06-05 2012-06-27 华为技术有限公司 一种背景噪声编码/解码装置、方法和通信设备
US9653088B2 (en) * 2007-06-13 2017-05-16 Qualcomm Incorporated Systems, methods, and apparatus for signal encoding using pitch-regularizing and non-pitch-regularizing coding
CN101325059B (zh) * 2007-06-15 2011-12-21 华为技术有限公司 语音编解码收发方法及装置
EP2198426A4 (en) * 2007-10-15 2012-01-18 Lg Electronics Inc METHOD AND DEVICE FOR PROCESSING A SIGNAL
US8600740B2 (en) * 2008-01-28 2013-12-03 Qualcomm Incorporated Systems, methods and apparatus for context descriptor transmission
KR101441896B1 (ko) * 2008-01-29 2014-09-23 삼성전자주식회사 적응적 lpc 계수 보간을 이용한 오디오 신호의 부호화,복호화 방법 및 장치
DE102008009720A1 (de) * 2008-02-19 2009-08-20 Siemens Enterprise Communications Gmbh & Co. Kg Verfahren und Mittel zur Dekodierung von Hintergrundrauschinformationen
US20090319263A1 (en) * 2008-06-20 2009-12-24 Qualcomm Incorporated Coding of transitional speech frames for low-bit-rate applications
US20090319261A1 (en) * 2008-06-20 2009-12-24 Qualcomm Incorporated Coding of transitional speech frames for low-bit-rate applications
US8768690B2 (en) * 2008-06-20 2014-07-01 Qualcomm Incorporated Coding scheme selection for low-bit-rate applications
US9327193B2 (en) 2008-06-27 2016-05-03 Microsoft Technology Licensing, Llc Dynamic selection of voice quality over a wireless system
KR20100006492A (ko) * 2008-07-09 2010-01-19 삼성전자주식회사 부호화 방식 결정 방법 및 장치
CN103000186B (zh) 2008-07-11 2015-01-14 弗劳恩霍夫应用研究促进协会 提供时间扭曲激活信号以及使用该时间扭曲激活信号对音频信号编码
MY154452A (en) 2008-07-11 2015-06-15 Fraunhofer Ges Forschung An apparatus and a method for decoding an encoded audio signal
KR101230183B1 (ko) * 2008-07-14 2013-02-15 광운대학교 산학협력단 오디오 신호의 상태결정 장치
GB2466670B (en) * 2009-01-06 2012-11-14 Skype Speech encoding
GB2466669B (en) * 2009-01-06 2013-03-06 Skype Speech coding
GB2466671B (en) * 2009-01-06 2013-03-27 Skype Speech encoding
GB2466675B (en) 2009-01-06 2013-03-06 Skype Speech coding
GB2466673B (en) 2009-01-06 2012-11-07 Skype Quantization
GB2466672B (en) * 2009-01-06 2013-03-13 Skype Speech coding
GB2466674B (en) * 2009-01-06 2013-11-13 Skype Speech coding
US8462681B2 (en) * 2009-01-15 2013-06-11 The Trustees Of Stevens Institute Of Technology Method and apparatus for adaptive transmission of sensor data with latency controls
KR101622950B1 (ko) * 2009-01-28 2016-05-23 삼성전자주식회사 오디오 신호의 부호화 및 복호화 방법 및 그 장치
CN101615910B (zh) 2009-05-31 2010-12-22 华为技术有限公司 压缩编码的方法、装置和设备以及压缩解码方法
CN101930426B (zh) * 2009-06-24 2015-08-05 华为技术有限公司 信号处理方法、数据处理方法及装置
KR20110001130A (ko) * 2009-06-29 2011-01-06 삼성전자주식회사 가중 선형 예측 변환을 이용한 오디오 신호 부호화 및 복호화 장치 및 그 방법
US8452606B2 (en) * 2009-09-29 2013-05-28 Skype Speech encoding using multiple bit rates
US20110153337A1 (en) * 2009-12-17 2011-06-23 Electronics And Telecommunications Research Institute Encoding apparatus and method and decoding apparatus and method of audio/voice signal processing apparatus
US20130268265A1 (en) * 2010-07-01 2013-10-10 Gyuhyeok Jeong Method and device for processing audio signal
CN102971789B (zh) 2010-12-24 2015-04-15 华为技术有限公司 用于执行话音活动检测的方法和设备
EP2671323B1 (en) * 2011-02-01 2016-10-05 Huawei Technologies Co., Ltd. Method and apparatus for providing signal processing coefficients
DK2975611T3 (en) * 2011-03-10 2018-04-03 Ericsson Telefon Ab L M FILLING OF UNCODED SUBVECTORS IN TRANSFORM CODED AUDIO SIGNALS
US8990074B2 (en) 2011-05-24 2015-03-24 Qualcomm Incorporated Noise-robust speech coding mode classification
WO2012177067A2 (ko) * 2011-06-21 2012-12-27 삼성전자 주식회사 오디오 신호 처리방법 및 장치와 이를 채용하는 단말기
US20130110522A1 (en) 2011-10-21 2013-05-02 Samsung Electronics Co., Ltd. Energy lossless-encoding method and apparatus, audio encoding method and apparatus, energy lossless-decoding method and apparatus, and audio decoding method and apparatus
KR20130093783A (ko) * 2011-12-30 2013-08-23 한국전자통신연구원 오디오 객체 전송 장치 및 방법
US9111531B2 (en) * 2012-01-13 2015-08-18 Qualcomm Incorporated Multiple coding mode signal classification
PL2922052T3 (pl) * 2012-11-13 2021-12-20 Samsung Electronics Co., Ltd. Sposób ustalania trybu kodowania
CN103915097B (zh) * 2013-01-04 2017-03-22 中国移动通信集团公司 一种语音信号处理方法、装置和系统
CN104517612B (zh) * 2013-09-30 2018-10-12 上海爱聊信息科技有限公司 基于amr-nb语音信号的可变码率编码器和解码器及其编码和解码方法
CN105096958B (zh) 2014-04-29 2017-04-12 华为技术有限公司 音频编码方法及相关装置
GB2526128A (en) * 2014-05-15 2015-11-18 Nokia Technologies Oy Audio codec mode selector
EP2980795A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoding and decoding using a frequency domain processor, a time domain processor and a cross processor for initialization of the time domain processor
US10186276B2 (en) * 2015-09-25 2019-01-22 Qualcomm Incorporated Adaptive noise suppression for super wideband music
CN106160944B (zh) * 2016-07-07 2019-04-23 广州市恒力安全检测技术有限公司 一种超声波局部放电信号的变速率编码压缩方法
CN108932944B (zh) * 2017-10-23 2021-07-30 北京猎户星空科技有限公司 解码方法及装置
CN110390939B (zh) * 2019-07-15 2021-08-20 珠海市杰理科技股份有限公司 音频压缩方法和装置
US11715477B1 (en) * 2022-04-08 2023-08-01 Digital Voice Systems, Inc. Speech model parameter estimation and quantization

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3633107A (en) 1970-06-04 1972-01-04 Bell Telephone Labor Inc Adaptive signal processor for diversity radio receivers
JPS5017711A (es) 1973-06-15 1975-02-25
US4076958A (en) 1976-09-13 1978-02-28 E-Systems, Inc. Signal synthesizer spectrum contour scaler
US4214125A (en) 1977-01-21 1980-07-22 Forrest S. Mozer Method and apparatus for speech synthesizing
CA1123955A (en) 1978-03-30 1982-05-18 Tetsu Taguchi Speech analysis and synthesis apparatus
DE3023375C1 (es) 1980-06-23 1987-12-03 Siemens Ag, 1000 Berlin Und 8000 Muenchen, De
USRE32580E (en) 1981-12-01 1988-01-19 American Telephone And Telegraph Company, At&T Bell Laboratories Digital speech coder
JPS6011360B2 (ja) 1981-12-15 1985-03-25 ケイディディ株式会社 音声符号化方式
US4535472A (en) 1982-11-05 1985-08-13 At&T Bell Laboratories Adaptive bit allocator
EP0111612B1 (fr) 1982-11-26 1987-06-24 International Business Machines Corporation Procédé et dispositif de codage d'un signal vocal
US4764963A (en) * 1983-04-12 1988-08-16 American Telephone And Telegraph Company, At&T Bell Laboratories Speech pattern compression arrangement utilizing speech event identification
EP0127718B1 (fr) 1983-06-07 1987-03-18 International Business Machines Corporation Procédé de détection d'activité dans un système de transmission de la voix
US4672670A (en) 1983-07-26 1987-06-09 Advanced Micro Devices, Inc. Apparatus and methods for coding, decoding, analyzing and synthesizing a signal
US4937873A (en) 1985-03-18 1990-06-26 Massachusetts Institute Of Technology Computationally efficient sine wave synthesis for acoustic waveform processing
US4885790A (en) 1985-03-18 1989-12-05 Massachusetts Institute Of Technology Processing of acoustic waveforms
US4856068A (en) 1985-03-18 1989-08-08 Massachusetts Institute Of Technology Audio pre-processing methods and apparatus
US4827517A (en) 1985-12-26 1989-05-02 American Telephone And Telegraph Company, At&T Bell Laboratories Digital speech processor using arbitrary excitation coding
US4797929A (en) 1986-01-03 1989-01-10 Motorola, Inc. Word recognition in a speech recognition system using data reduced word templates
JPH0748695B2 (ja) 1986-05-23 1995-05-24 株式会社日立製作所 音声符号化方式
US4899384A (en) 1986-08-25 1990-02-06 Ibm Corporation Table controlled dynamic bit allocation in a variable rate sub-band speech coder
US4771465A (en) 1986-09-11 1988-09-13 American Telephone And Telegraph Company, At&T Bell Laboratories Digital speech sinusoidal vocoder with transmission of only subset of harmonics
US4797925A (en) 1986-09-26 1989-01-10 Bell Communications Research, Inc. Method for coding speech at low bit rates
US5054072A (en) 1987-04-02 1991-10-01 Massachusetts Institute Of Technology Coding of acoustic waveforms
US4890327A (en) 1987-06-03 1989-12-26 Itt Corporation Multi-rate digital voice coder apparatus
US4899385A (en) 1987-06-26 1990-02-06 American Telephone And Telegraph Company Code excited linear predictive vocoder
US4852179A (en) 1987-10-05 1989-07-25 Motorola, Inc. Variable frame rate, fixed bit rate vocoding method
US4896361A (en) 1988-01-07 1990-01-23 Motorola, Inc. Digital speech coder having improved vector excitation source
EP0331858B1 (en) 1988-03-08 1993-08-25 International Business Machines Corporation Multi-rate voice encoding method and device
EP0331857B1 (en) 1988-03-08 1992-05-20 International Business Machines Corporation Improved low bit rate voice coding method and system
US5023910A (en) 1988-04-08 1991-06-11 At&T Bell Laboratories Vector quantization in a harmonic speech coding arrangement
US4864561A (en) 1988-06-20 1989-09-05 American Telephone And Telegraph Company Technique for improved subjective performance in a communication system using attenuated noise-fill
US5222189A (en) 1989-01-27 1993-06-22 Dolby Laboratories Licensing Corporation Low time-delay transform coder, decoder, and encoder/decoder for high-quality audio
GB2235354A (en) 1989-08-16 1991-02-27 Philips Electronic Associated Speech coding/encoding using celp
JPH0398318A (ja) * 1989-09-11 1991-04-23 Fujitsu Ltd 音声符号化方式
US5226108A (en) * 1990-09-20 1993-07-06 Digital Voice Systems, Inc. Processing a speech signal with estimated pitch
BR9206143A (pt) 1991-06-11 1995-01-03 Qualcomm Inc Processos de compressão de final vocal e para codificação de taxa variável de quadros de entrada, aparelho para comprimir im sinal acústico em dados de taxa variável, codificador de prognóstico exitado por córdigo de taxa variável (CELP) e descodificador para descodificar quadros codificados
US5657418A (en) * 1991-09-05 1997-08-12 Motorola, Inc. Provision of speech coder gain information using multiple coding modes
JPH05130067A (ja) * 1991-10-31 1993-05-25 Nec Corp 可変閾値型音声検出器
US5884253A (en) * 1992-04-09 1999-03-16 Lucent Technologies, Inc. Prototype waveform speech coding with interpolation of pitch, pitch-period waveforms, and synthesis filter
US5734789A (en) * 1992-06-01 1998-03-31 Hughes Electronics Voiced, unvoiced or noise modes in a CELP vocoder
US5495555A (en) * 1992-06-01 1996-02-27 Hughes Aircraft Company High quality low bit rate celp-based speech codec
US5341456A (en) * 1992-12-02 1994-08-23 Qualcomm Incorporated Method for determining speech encoding rate in a variable rate vocoder
US5459814A (en) * 1993-03-26 1995-10-17 Hughes Aircraft Company Voice activity detector for speech signals in variable background noise
IT1270438B (it) * 1993-06-10 1997-05-05 Sip Procedimento e dispositivo per la determinazione del periodo del tono fondamentale e la classificazione del segnale vocale in codificatori numerici della voce
JP3353852B2 (ja) * 1994-02-15 2002-12-03 日本電信電話株式会社 音声の符号化方法
US5602961A (en) * 1994-05-31 1997-02-11 Alaris, Inc. Method and apparatus for speech compression using multi-mode code excited linear predictive coding
TW271524B (es) 1994-08-05 1996-03-01 Qualcomm Inc
JP3328080B2 (ja) * 1994-11-22 2002-09-24 沖電気工業株式会社 コード励振線形予測復号器
US5751903A (en) * 1994-12-19 1998-05-12 Hughes Electronics Low rate multi-mode CELP codec that encodes line SPECTRAL frequencies utilizing an offset
US5956673A (en) * 1995-01-25 1999-09-21 Weaver, Jr.; Lindsay A. Detection and bypass of tandem vocoding using detection codes
JPH08254998A (ja) * 1995-03-17 1996-10-01 Ido Tsushin Syst Kaihatsu Kk 音声符号化/復号化装置
JP3308764B2 (ja) * 1995-05-31 2002-07-29 日本電気株式会社 音声符号化装置
JPH0955665A (ja) * 1995-08-14 1997-02-25 Toshiba Corp 音声符号化装置
US5774837A (en) * 1995-09-13 1998-06-30 Voxware, Inc. Speech coding system and method using voicing probability determination
FR2739995B1 (fr) * 1995-10-13 1997-12-12 Massaloux Dominique Procede et dispositif de creation d'un bruit de confort dans un systeme de transmission numerique de parole
FI100840B (fi) * 1995-12-12 1998-02-27 Nokia Mobile Phones Ltd Kohinanvaimennin ja menetelmä taustakohinan vaimentamiseksi kohinaises ta puheesta sekä matkaviestin
JP3092652B2 (ja) * 1996-06-10 2000-09-25 日本電気株式会社 音声再生装置
JPH1091194A (ja) * 1996-09-18 1998-04-10 Sony Corp 音声復号化方法及び装置
JP3531780B2 (ja) * 1996-11-15 2004-05-31 日本電信電話株式会社 音声符号化方法および復号化方法
US5960389A (en) * 1996-11-15 1999-09-28 Nokia Mobile Phones Limited Methods for generating comfort noise during discontinuous transmission
JP3331297B2 (ja) * 1997-01-23 2002-10-07 株式会社東芝 背景音/音声分類方法及び装置並びに音声符号化方法及び装置
JP3296411B2 (ja) * 1997-02-21 2002-07-02 日本電信電話株式会社 音声符号化方法および復号化方法
US5995923A (en) * 1997-06-26 1999-11-30 Nortel Networks Corporation Method and apparatus for improving the voice quality of tandemed vocoders
US6104994A (en) * 1998-01-13 2000-08-15 Conexant Systems, Inc. Method for speech coding under background noise conditions
US6240386B1 (en) * 1998-08-24 2001-05-29 Conexant Systems, Inc. Speech codec employing noise classification for noise compensation
EP1279167B1 (en) * 2000-04-24 2007-05-30 QUALCOMM Incorporated Method and apparatus for predictively quantizing voiced speech
US6477502B1 (en) * 2000-08-22 2002-11-05 Qualcomm Incorporated Method and apparatus for using non-symmetric speech coders to produce non-symmetric links in a wireless communication system
US6804218B2 (en) * 2000-12-04 2004-10-12 Qualcomm Incorporated Method and apparatus for improved detection of rate errors in variable rate receivers
US7472059B2 (en) * 2000-12-08 2008-12-30 Qualcomm Incorporated Method and apparatus for robust speech classification
US8355907B2 (en) * 2005-03-11 2013-01-15 Qualcomm Incorporated Method and apparatus for phase matching frames in vocoders
US8155965B2 (en) * 2005-03-11 2012-04-10 Qualcomm Incorporated Time warping frames inside the vocoder by modifying the residual
US20070026028A1 (en) 2005-07-26 2007-02-01 Close Kenneth B Appliance for delivering a composition

Also Published As

Publication number Publication date
EP1141947A2 (en) 2001-10-10
US6691084B2 (en) 2004-02-10
HK1040807B (zh) 2008-08-01
AU2377500A (en) 2000-07-12
JP2013178545A (ja) 2013-09-09
US20040102969A1 (en) 2004-05-27
CN102623015B (zh) 2015-05-06
JP5373217B2 (ja) 2013-12-18
KR20010093210A (ko) 2001-10-27
ATE424023T1 (de) 2009-03-15
EP1141947B1 (en) 2009-02-25
EP2085965A1 (en) 2009-08-05
CN100369112C (zh) 2008-02-13
JP4927257B2 (ja) 2012-05-09
CN1331826A (zh) 2002-01-16
DE69940477D1 (de) 2009-04-09
JP2002533772A (ja) 2002-10-08
US7496505B2 (en) 2009-02-24
CN101178899A (zh) 2008-05-14
KR100679382B1 (ko) 2007-02-28
CN101178899B (zh) 2012-07-04
US20020099548A1 (en) 2002-07-25
WO2000038179A2 (en) 2000-06-29
CN102623015A (zh) 2012-08-01
WO2000038179A3 (en) 2000-11-09
JP2011123506A (ja) 2011-06-23
US20070179783A1 (en) 2007-08-02
US7136812B2 (en) 2006-11-14
HK1040807A1 (en) 2002-06-21

Similar Documents

Publication Publication Date Title
ES2321147T3 (es) Codificacion de habla de tasa de transmision variable.
ES2257098T3 (es) Codificacion periodica de vocales.
EP1224662B1 (en) Variable bit-rate celp coding of speech with phonetic classification
EP2038883B1 (en) Vocoder and associated method that transcodes between mixed excitation linear prediction (melp) vocoders with different speech frame rates
ES2302754T3 (es) Procedimiento y aparato para codificacion de habla sorda.
US20010016817A1 (en) CELP-based to CELP-based vocoder packet translation
JP2004514182A (ja) 広帯域信号コーディング用の代数コードブック中のパルス位置と符号の索引付け方法
EP1222659A1 (en) Lpc-harmonic vocoder with superframe structure
JP2004310088A (ja) 半レート・ボコーダ
ES2256022T3 (es) Metodos y aparators para submuestreo de la informacion.
ES2253226T3 (es) Codigo interpolativo multipulso de tramas de voz.
Drygajilo Speech Coding Techniques and Standards