ES2321147T3 - Codificacion de habla de tasa de transmision variable. - Google Patents
Codificacion de habla de tasa de transmision variable. Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/24—Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/20—Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
- G10L2025/783—Detection of presence or absence of voice signals based on threshold decision
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/93—Discriminating between voiced and unvoiced parts of speech signals
- G10L2025/935—Mixed 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.
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.
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.
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.
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.
- 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
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.
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.
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.
apropiados.
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.
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
\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
\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
\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
\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
\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.
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
\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
\newpage
donde
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
y
\vskip1.000000\baselineskip
\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
\vskip1.000000\baselineskip
donde
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
Los coeficientes de LSI se calculan entonces
como:
\vskip1.000000\baselineskip
\newpage
Los LSC pueden obtenerse de nuevo a partir de
los coeficientes de LSI según:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\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).
(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
\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
\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
\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
\vskip1.000000\baselineskip
Los coeficientes interpolados de LPC para las
cuatro subtramas se calculan como coeficientes de
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
Por tanto,
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
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
\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
\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
\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
\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.
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
\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
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
\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
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
donde,
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
La tasa de transmisión de paso por cero ZCR se
calcula según
En la etapa 512, el residuo de formante para la
trama actual se calcula durante cuatro subtramas según
donde \hat{a}_{i} es el
coeficiente de LPC i-ésimo de la subtrama
correspondiente.
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:
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:
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
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.
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:
Las estimaciones de energía de ruido,
E_{n}(i), se actualizan preferentemente usando la
siguiente ecuación:
En la etapa 608, las proporciones señal/ruido a
largo plazo para las dos bandas, SNR(i), se calculan
como
En la etapa 610, estos valores de SNR se dividen
preferentemente en ocho zonas Reg_{SNR}(i) definidas
como
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
Las estimaciones de energía de señal,
E_{s}(i), se actualizan preferentemente usando la
siguiente ecuación:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
Las estimaciones de energía de ruido,
E_{n}(i), se actualizan preferentemente usando la
siguiente ecuación:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
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
\vskip1.000000\baselineskip
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
\vskip1.000000\baselineskip
donde
\vskip1.000000\baselineskip
\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.
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.
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.
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.
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).
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
\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:
según:
\vskip1.000000\baselineskip
\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:
Si
entonces el valor de b que minimiza
Ealtura de tono(L) para un valor dado de L
es
para el
que
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
\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).
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.
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
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.
donde
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:
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:
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.
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:
que correspondientemente tienen
impulsos de
valor
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:
El filtro 710 de altura de tono filtra entonces
Gcb(n), donde el filtro tiene una función de
transferencia dada por
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).
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.
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.
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
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
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
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
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
\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
donde
y
para los que la ganancia óptima b*
es
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,
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
\vskip1.000000\baselineskip
donde PGANANCIA es el código de
transmisión y la ganancia cuantificada b^* viene dada
por
\vskip1.000000\baselineskip
\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.
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
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
\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
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:
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
y sea Exy(I) definida
como
\vskip1.000000\baselineskip
\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
\vskip1.000000\baselineskip
y
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*.
y la ganancia cuantificada
\hat{G}*
es
La señal objetivo x(n) se
actualiza entonces sustrayendo la contribución del vector de libro
de códigos de la fase actual
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.
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:
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
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
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
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
\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
\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
\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
\vskip1.000000\baselineskip
con el desfase promedio para las
muestras intermedias dado
por
\vskip1.000000\baselineskip
\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:
donde
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
o
alternativamente,
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):
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.
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.
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).
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
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
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:
o
(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.
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)
-
\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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. El procedimiento según la reivindicación 11, en el que dichos parámetros iniciales comprenden coeficientes de LPC.
- 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. 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. 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. 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. El procedimiento según la reivindicación 13, en el que dicho vector aleatorio comprende un vector aleatorio de varianza unidad.
- 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. El sistema según la reivindicación 18, en el que dicho vector aleatorio comprende un vector aleatorio de varianza unidad.
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)
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)
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 |
-
1998
- 1998-12-21 US US09/217,341 patent/US6691084B2/en not_active Expired - Lifetime
-
1999
- 1999-12-21 CN CNB998148199A patent/CN100369112C/zh not_active Expired - Lifetime
- 1999-12-21 EP EP99967507A patent/EP1141947B1/en not_active Expired - Lifetime
- 1999-12-21 CN CN201210082801.8A patent/CN102623015B/zh not_active Expired - Lifetime
- 1999-12-21 AT AT99967507T patent/ATE424023T1/de not_active IP Right Cessation
- 1999-12-21 CN CN2007101621095A patent/CN101178899B/zh not_active Expired - Lifetime
- 1999-12-21 ES ES99967507T patent/ES2321147T3/es not_active Expired - Lifetime
- 1999-12-21 WO PCT/US1999/030587 patent/WO2000038179A2/en active IP Right Grant
- 1999-12-21 AU AU23775/00A patent/AU2377500A/en not_active Abandoned
- 1999-12-21 KR KR1020017007895A patent/KR100679382B1/ko active IP Right Grant
- 1999-12-21 EP EP09002600A patent/EP2085965A1/en not_active Withdrawn
- 1999-12-21 DE DE69940477T patent/DE69940477D1/de not_active Expired - Lifetime
- 1999-12-21 JP JP2000590164A patent/JP4927257B2/ja not_active Expired - Lifetime
-
2002
- 2002-03-22 HK HK02102211.7A patent/HK1040807B/zh not_active IP Right Cessation
-
2003
- 2003-11-14 US US10/713,758 patent/US7136812B2/en not_active Expired - Lifetime
-
2006
- 2006-11-13 US US11/559,274 patent/US7496505B2/en not_active Expired - Fee Related
-
2011
- 2011-01-07 JP JP2011002269A patent/JP2011123506A/ja not_active Withdrawn
-
2013
- 2013-04-18 JP JP2013087419A patent/JP5373217B2/ja not_active Expired - Lifetime
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 |