ES2145737T5 - Codificador digital de voz con predictor a largo plazo mejorado por resolucion de submuestreos. - Google Patents
Codificador digital de voz con predictor a largo plazo mejorado por resolucion de submuestreos. Download PDFInfo
- Publication number
- ES2145737T5 ES2145737T5 ES91905041T ES91905041T ES2145737T5 ES 2145737 T5 ES2145737 T5 ES 2145737T5 ES 91905041 T ES91905041 T ES 91905041T ES 91905041 T ES91905041 T ES 91905041T ES 2145737 T5 ES2145737 T5 ES 2145737T5
- Authority
- ES
- Spain
- Prior art keywords
- filter
- voice
- vector
- samples
- excitation
- 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
- 230000007774 longterm Effects 0.000 title abstract description 121
- 239000013598 vector Substances 0.000 claims abstract description 165
- 230000004044 response Effects 0.000 claims abstract description 34
- 230000003111 delayed effect Effects 0.000 claims abstract description 21
- 230000005284 excitation Effects 0.000 claims description 75
- 238000000034 method Methods 0.000 claims description 35
- 238000004891 communication Methods 0.000 claims description 13
- 238000001914 filtration Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 claims 6
- 230000005540 biological transmission Effects 0.000 claims 3
- 238000006243 chemical reaction Methods 0.000 claims 2
- SSCSSDNTQJGTJT-UHFFFAOYSA-N (3,6-dihydroxy-1-methyl-2,3-dihydroindol-5-yl)iminourea Chemical compound CN1CC(O)C2=CC(N=NC(N)=O)=C(O)C=C12 SSCSSDNTQJGTJT-UHFFFAOYSA-N 0.000 claims 1
- 230000002463 transducing effect Effects 0.000 claims 1
- 239000000523 sample Substances 0.000 description 48
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000005457 optimization Methods 0.000 description 7
- 230000001934 delay Effects 0.000 description 6
- 238000006073 displacement reaction Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003595 spectral effect Effects 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101001096074 Homo sapiens Regenerating islet-derived protein 4 Proteins 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 102100037889 Regenerating islet-derived protein 4 Human genes 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
- G10L2019/0001—Codebooks
- G10L2019/0011—Long term prediction filters, i.e. pitch estimation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
- G10L2019/0001—Codebooks
- G10L2019/0012—Smoothing of parameters of the decoder interpolation
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Analogue/Digital Conversion (AREA)
- Complex Calculations (AREA)
- Near-Field Transmission Systems (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
UN CODIFICADOR DIGITAL DE HABLA INCLUYE UN FILTRO DE LARGO PLAZO (124) CON UN PRONOSTICADOR A LARGO PLAZO DE RESOLUCION DE SUBMUESTRA MEJORADA QUE PERMITE LA RESOLUCION DE SUBMUESTRA PARA EL PARAMETRO DE RETRASO L. SE APLICA UN MARCO DE MUESTRAS N DE VECTOR DE ENTRADA DE HABLA S(N) A UN CIRCUITO DE ADICION (510). LA SALIDA DEL CIRCUITO DE ADICION (510) PRODUCE LA SALIDA DEL VECTOR B(N) PARA EL FILTRO A LARGO PLAZO (124). EL VECTOR DE SALIDA B(N) ES RETROALIMENTADO A UN BLOQUE GENERADOR (530) DE VECTOR DE RETARDO DEL PRONOSTICADOR A LARGO PLAZO. EL PARAMETRO DE RETRASO L DEL PRONOSTICADOR NOMINAL A LARGO PLAZO TAMBIEN ES INTRODUCIDO AL BLOQUE GENERADOR DEL VECTOR DE RETARDO (530). EL PARAMETRO L DE RETRASO DEL PRONOSTICADOR A LARGO PLAZO PUEDE TOMAR VALORES NO ENTEROS, QUE PUEDEN SER MULTIPLOS DE UN MEDIO, UN TERCIO, UN CUARTO O CUALQUIER OTRA FRACCION RACIONAL. EL GENERADOR DE VECTOR DE RETARDO (530) INCLUYE UNA MEMORIA QUE SOSTIENE LAS MUESTRAS ANTERIORES DE B(N). ADEMAS, TAMBIEN SE CALCULAN LAS MUESTRAS DE B(N) INTERPOLADAS POR EL GENERADOR DE VECTOR RETARDADO (530) Y SE ALMACENAN EN SU MEMORIA, POR LO MENOS UNA MUESTRA INTERPOLADA ES CALCULADA Y ALMACENADA ENTRE CADA MUESTRA ANTERIOR DE B(N). EL GENERADOR DE VECTOR RETARDADO (530) FACILITA UN VECTOR DE SALIDA Q(N) AL BLOQUE MULTIPLICADOR A LARGO PLAZO (520), QUE ESCALA LA RESPUESTA DEL PRONOSTICADOR A LARGO PLAZO POR EL COEFICIENTE BETA DEL PRONOSTICADOR A LARGO PLAZO. LA SALIDA ESCALADA BETAQ(N) SE APLICA ENTONCES AL CIRCUITO DE ADICION (510) PARA COMPLETAR LA CURVA DE RETROALIMENTACION DEL FILTRO RECURSIVO (124).
Description
Codificador digital de voz con predictor a largo
plazo mejorado por resolución de submuestreos.
La presente invención se refiere en general a la
codificación digital de voz a bajas velocidades de tráfico binario
y, de un modo más particular, se refiere a un método mejorado para
determinar las respuestas de salida del predictor a largo plazo para
codificadores de voz de predicción lineal excitados por código.
La predicción lineal excitada por código (CELP)
es una técnica de codificación de voz que tiene el potencial de
producir voz sintetizada de alta calidad a bajas velocidades de
tráfico binario, por ejemplo, 4,8 a 9,6 kilobits por segundo (kbps).
Esta clase de codificación de voz, conocida también como
codificación de predicción lineal excitada por vector o codificación
estocástica, lo más probable es que se utilice en numerosas
comunicaciones de voz y en aplicaciones de síntesis de voz. La CELP
puede demostrar tener aplicación en particular a sistemas de
encriptación digital de voz y de comunicación por radioteléfono
digital en los cuales la calidad de la voz, la velocidad de flujo de
datos, el tamaño y el coste son cuestiones importantes.
El término "excitado por código" o
"excitado por vector" se deriva del hecho de que la secuencia
de excitación para el codificador de voz se cuantifica por vectores,
o sea, se utiliza una sola palabra de código para representar una
secuencia, o vector, de muestras de excitación. De esta manera, se
pueden emplear velocidades de flujo de datos de menos de un bit por
muestra para codificar la secuencia de excitación. Los vectores de
código de excitación almacenados consisten generalmente en
secuencias gausianas blancas, aleatorias, independientes. Un vector
de código del libro de código se elige para representar cada bloque
de N muestras de excitación. Cada vector de código almacenado está
representado por una palabra de código, es decir, la dirección de la
posición en la memoria de vectores de código. Esta palabra de código
es la que se envía ulteriormente por un canal de comunicaciones al
sintetizador de voz para reconstruir la trama de voz en el receptor.
Véase M. R. Schroeder y B. S. Atal, "Predicción Lineal Excitada
por Código (CELP): Voz de Alta Calidad a Velocidades de Tráfico
Binario muy Bajas" acta de la Conferencia Internacional de IEEE
sobre Acústica, Procesamiento de Voz y Señales (ICASSP), Vol. 3, pp.
937-40, Marzo 1985, para una explicación más
detallada de CELP.
En un codificador de voz de CELP, el vector del
código de excitación procedente del libro de código se aplica a dos
filtros lineales variables en función del tiempo que modelan las
características de la señal de voz de entrada. El primer filtro
incluye un predictor de largo plazo en su bucle de realimentación,
que tiene un largo retardo, por ejemplo de 2 a 15 milisegundos,
empleado para introducir la periodicidad de tono o altura de la voz
emitida. El segundo filtro incluye un predictor de corto plazo en su
bucle de realimentación, que tiene un retardo corto, por ejemplo de
menos de 2 milisegundos, utilizado para introducir una estructura de
envolvente espectral o formato. Por cada trama o bloque de voz, el
codificador de voz aplica cada vector de código individual a los
filtros para generar una señal de voz reconstruida y compara la
señal de voz de entrada original con la señal reconstruida para
crear una señal de error. La señal de error se pondera entonces
haciéndola pasar a través de un filtro de ponderación que tiene una
respuesta basada en la percepción auditiva humana. La señal óptima
de excitación se determina eligiendo el vector de código que produce
la señal de error ponderada que tiene la energía mínima
correspondiente a la trama o bloque actual. La palabra de código
para el vector de código óptimo se transmite entonces por un canal
de comunicaciones.
En un sintetizador de voz de CELP, la palabra de
código recibida del canal se utiliza para direccionar el libro de
código de vectores de excitación. El vector de código individual se
multiplica entonces por un factor de ganancia y se filtra por medio
de los filtros de largo plazo y corto plazo para obtener un vector
de voz reconstruida. El factor de ganancia y los parámetros de
predicción se obtienen también del canal. Se ha averiguado que se
puede generar una señal sintetizada de mejor calidad si el parámetro
real utilizado por el sintetizador se emplea en la etapa de
análisis, minimizando así los errores de cuantificación. Por lo
tanto, el uso de estos parámetros de síntesis en la etapa de
análisis de voz de CELP para producir voz de calidad más alta se
conoce como codificación de voz de análisis por síntesis.
El predictor a corto plazo intenta predecir la
muestra de salida actual s(n) mediante una combinación lineal
de las muestras de salida s(n-i),
inmediatamente precedentes, con arreglo a la ecuación:
s(n) =
\alpha _{1} s(n-1) + \alpha _{2}
s(n-2) + . . . + \alpha _{p}
s(n-p) +
e(n)
donde p es el orden del predictor a
corto plazo y e(n) es la residual de predicción, o sea,
aquella parte de s(n) que no puede estar representada por la
suma ponderada de p muestras previas. El orden de predictores p es
característicamente de 8 a 12, suponiendo una velocidad de muestro
de 9 kilohercios (kHz). Las ponderaciones \alpha_{1}
\alpha_{2}, \alpha_{p}, en esta ecuación se llaman
coeficientes predictores. Los coeficientes predictores a corto
plazo se determinan a partir de la señal de voz utilizando técnicas
de codificación predictiva lineal (LPC) tradicionales. La respuesta
de salida del filtro de corto plazo se puede expresar en la notación
de transformada Z
como:
Consúltese el artículo titulado "Codificación
Predictiva de Voz a Velocidades Bajas de Tráfico Binario", IEEE
Trans. Commun., Vol. COM-30 pp-
600-14, Abril 1982, por B. S. Atal, para mayor
explicación de los parámetros del filtro de corto plazo.
El filtro de largo plazo, por otro lado, debe
predecir la muestra de salida próxima a partir de muestras
precedentes que abarcan un periodo de tiempo mucho más largo. Si se
utiliza una sola muestra basada en el predictor, entonces el
predictor es un predictor de una sola toma. Característicamente se
emplean de una a tres tomas. La respuesta de salida para un filtro
de largo plazo que incorpora un predictor de largo plazo de una sola
toma viene dada por la notación de transformada z como:
B(z) =
\frac{1}{1\beta z -
^{L}}
\vskip1.000000\baselineskip
Obsérvese que esta respuesta de salida está en
función de exclusivamente el retardo L del filtro y el coeficiente
del filtro \beta. Con respecto a voz emitida, el retardo L sería
característicamente el periodo de tono o altura de la voz, o un
múltiplo del mismo. A un régimen de muestreo de 8 kHz, una gama
apropiada para el retardo L estaría entre 16 y 143, que corresponde
a una gama de tono o altura entre 56 y 500 Hz.
El retardo L del predictor a largo plazo y el
coeficiente \beta del predictor a largo plazo se pueden determinar
a partir de una configuración de bucle abierto o de bucle cerrado.
Utilizando la configuración de bucle abierto, el retardo L y el
coeficiente \beta se calculan a partir de la señal de entrada (o
su residual) directamente. En la configuración de bucle cerrado, el
retardo L y el coeficiente \beta se calculan a la velocidad de
bloques a partir de datos codificados que representan la salida
pasada del filtro de largo plazo y la señal de voz de entrada.
Utilizando los datos codificados, la determinación del retardo del
predictor a largo plazo se basa en el estado real del filtro de
largo plazo que exista en el sintetizador. Por lo tanto, la
configuración de bucle cerrado da mejor rendimiento que el método de
bucle abierto, puesto que el propio filtro de tono o altura
contribuiría a la optimización de la señal de error. Además, un
predictor de una sola toma funciona muy bien en la configuración de
bucle cerrado.
Utilizando la configuración de bucle cerrado, la
respuesta de salida b(n) del filtro de largo plazo se
determina a partir de muestras de salida pasadas solamente
procedentes del filtro de largo plazo y a partir de las muestras
actuales de voz de entrada s(n) con arreglo a la
ecuación:
b(n) =
s(n) + \beta
b(n-L)
Esta técnica es sencilla para retardos de tono o
altura L que sean mayores que la longitud del bloque N, o sea,
cuando L \geq N, puesto que el término
b(n-L) representará siempre una muestra
pasada para todos los números de muestras n, 0 \leq n \leq
N-1. Además, en el caso de L > N, el factor de
ganancia de excitación \gamma y el coeficiente del predictor a
largo plazo \beta se pueden optimizar simultáneamente para valores
dados de retardo L y palabra de código i. Se ha podido comprobar que
esta técnica de optimización conjunta produce una mejora
considerable en la calidad de la voz.
No obstante, si se deben acomodar retardos L de
predictores a largo plazo menores que la longitud de bloque N,
fallará el sistema de bucle cerrado. Este problema se puede
presentar fácilmente cuando se trata de voz femenina de tono agudo.
Por ejemplo, una voz femenina, correspondiente a una frecuencia de
tono de 250 Hz, puede exigir un retardo L de predictor a largo plazo
equivalente a 4 milisegundos (ms). Un tono de 250 Hz a una velocidad
de muestreo de 8 kHz corresponde a un retardo L de predictor a largo
plazo de 32 muestras. No obstante, no es deseable emplear una
longitud de bloque N de menos de 4 ms, puesto que el vector de
excitación de CELP se puede codificar más eficientemente cuando se
emplean mayores longitudes de bloques (tramas). En consecuencia,
utilizando un tiempo de longitud (duración) de bloque de 7,5 ms a
una velocidad de muestreo de 8 kHz, la longitud de bloque N sería
igual a 60 muestras. Esto significa que solamente existirían
disponibles 32 muestras pasadas para predecir las 60 muestras
siguientes del bloque. Puesto que, si el retardo L del predictor a
largo plazo es menor que la longitud de bloque N, solamente se
definen L muestras pasadas de las N muestras requeridas.
Varios enfoques alternativos se han dado en el
estado actual de la técnica para abordar el problema de retardos de
tono L menores que la longitud de bloque N. Para intentar optimizar
conjuntamente el retardo L del predictor a largo plazo y el
coeficiente \beta, el primer enfoque consistiría en intentar
resolver las ecuaciones directamente, suponiendo que no estuviera
presente señal de excitación alguna. Este enfoque se explica en el
artículo titulado "Excitación de Impulsos Regulares - Un Nuevo
Enfoque a la Codificación de Voz por Impulsos Múltiples Eficaz y
Eficiente" de Kroon y otros, IEEE Transactions on Acoustic,
Speech, y Signal Processing, Vol. ASSP - 34, Nº 5, Octubre 1986, pp
1054-1063. No obstante, para seguir este sistema, se
debe resolver una ecuación alineal en el parámetro único \beta. Se
debe resolver la cuadrática o la cúbica en \beta. La solución de
la cuadrática o la cúbica en \beta no puede ponerse en práctica
desde un punto de vista de cálculo. Además, todavía no es posible la
optimización conjunta del coeficiente \beta con el factor de
ganancia \gamma con este sistema.
Una segunda solución, la de limitar el retardo L
del predictor a largo plazo para que sea mayor que la longitud de
bloque N, la propuso Singhal y Atal en el artículo "Mejora de
Prestaciones de Codificadores de LPC de Impulsos Múltiples a Bajas
Velocidades de Tráfico Binario", acta de la Conferencia
Internacional de IEEE sobre Acústica, Voz y Procesamiento de
Señales, Vol. 1, 19-21 Marzo 1984, pp.
1.3.1-1.3.4. Esta constricción artificial en el
retardo de tono L no representa frecuentemente con exactitud la
información de tono. En consecuencia, utilizando este sistema, se
degrada la calidad de la voz de tono agudo.
Una tercera solución es reducir el tamaño de la
longitud de bloque N. Con una longitud de bloque más corta, el
retardo L del predictor a largo plazo se puede determinar siempre a
partir de muestras pasadas. No obstante, este sistema tiene una
grave desventaja referente a velocidad de tráfico binario. Con una
longitud de bloque más corta se debe codificar un número mayor de
parámetros predictores a largo plazo y vectores de excitación y, en
consecuencia, la velocidad de tráfico binario del canal debe ser
mayor para acomodar la codificación extra.
Existe un segundo problema en lo que se refiere
a altavoces de alta frecuencia. La velocidad de muestreo empleada en
el codificador impone un límite superior sobre el rendimiento de un
predictor de tono de una sola toma. Por ejemplo, si la frecuencia de
tono o frecuencia audible es realmente de 485 Hz, el valor de
retardo más próximo sería 16 que corresponde a 500 Hz. Esto da por
resultado un error de 15 Hz correspondiente a la frecuencia del tono
fundamental que degrada la calidad de la voz. Este error se
multiplica por los armónicos de la frecuencia audible que produce
una mayor degradación.
Por lo tanto, existe la necesidad de
proporcionar un método mejorado para determinar el retardo L del
predictor a largo plazo. La solución óptima debe abordar los
problemas de complejidad de cálculo y de calidad de la voz para la
codificación de voz de tono agudo.
La publicación IEEE Journal on Selected Areas
In Communications, Febrero 1988, Volumen 6, páginas
353-363, "Una Clase de Codificadores Predictivos
de Análisis por Síntesis para Codificación de Voz de Alta Calidad a
Velocidades entre 4,8 y 16 Kbits/s" describe métodos para
codificar y reconstruir voz utilizando valores de retardo enteros.
La Patente de los EE.UU. Nº. 4.569.030, concedida el 4 de Febrero de
1986, describe un filtro recursivo que tiene un bucle que utiliza un
elemento de retardo con retardo T y un elemento de retardo con
retardo 2T.
En consecuencia, un objeto general de la
presente invención es proporcionar una técnica de codificación
digital de voz mejorada que produce voz de alta calidad a bajas
velocidades de tráfico binario.
Un objeto más específico de la presente
invención es proporcionar un método para determinar parámetros de
predictores a largo plazo utilizando el sistema de bucle
cerrado.
Otro objeto de la presente invención es
proporcionar un método mejorado para determinar la respuesta de
salida de un predictor a largo plazo en el caso de que el parámetro
de retardo L del predictor a largo plazo no sea un número
entero.
Otro objeto de la presente invención es
proporcionar un codificador de voz CELP mejorado que permite la
optimización conjunta del factor de ganancia \gamma y el
coeficiente del predictor a largo plazo \beta durante la búsqueda
en el libro de código para hallar el vector óptimo del código de
excitación.
Según algunos aspectos de la invención, se
proporcionan métodos de reconstrucción de voz tal como se expone en
las reivindicaciones 1 y 9 y aparatos para reconstruir voz tal como
se expone en la reivindicación 11. Según otros aspectos de la
invención, se proporciona un método para codificar voz tal como se
expone en la reivindicación 13 y un aparato para codificar voz tal
como se expone en la reivindicación 16.
Las características de la presente invención que
se cree que son de novedad se exponen de un modo particular en las
reivindicaciones adjuntas. La invención, junto con otros objetos y
ventajas de la misma, se podrá comprender mejor tomando como
referencia la descripción que sigue conjuntamente con los dibujos
adjuntos, en cuyas diversas figuras los números de referencia
iguales identifican elementos iguales o semejantes, y en los
que:
La figura 1 es un diagrama de bloques general de
un codificador de voz predictivo, lineal, excitado por código, que
ilustra la ubicación de un filtro de largo plazo para uso con la
presente invención.
La figura 2A es un diagrama de bloques detallado
de una realización del filtro de largo plazo de la figura 1, e
ilustra la respuesta del predictor a largo plazo donde el retardo L
del filtro es un entero.
La figura 2B es un esquema simplificado de un
registro de desplazamiento que se puede utilizar para ilustrar el
funcionamiento del predictor a largo plazo de la figura 2A.
La figura 2C es un diagrama de bloques detallado
de otra realización del filtro de largo plazo de la figura 1, que
ilustra la respuesta del predictor a largo plazo cuando el retardo L
del filtro es un entero.
La figura 3 es un diagrama de flujo detallado
que ilustra las operaciones realizadas por el filtro de largo plazo
de la figura 2A.
La figura 4 es un diagrama de bloques general de
un sintetizador de voz para uso de conformidad con la presente
invención.
La figura 5 es un diagrama de bloques detallado
del filtro de largo plazo de la figura 1 e ilustra la respuesta del
predictor a largo plazo con resolución de submuestreo de conformidad
con la presente invención.
Las figuras 6A y 6B son diagramas de flujo
detallados que ilustran las operaciones realizadas por el filtro de
largo plazo de la figura 5; y
La figura 7 es un diagrama de bloques detallado
de un postfiltro de tono para interacoplar el filtro de corto plazo
y el conversor D/A del sintetizador de voz de la figura 4.
Refiriéndonos ahora a la figura 1, se ilustra un
diagrama de bloques general del codificador de voz 100, predictivo,
lineal, excitado por código, que utiliza el filtro de largo plazo de
conformidad con la presente invención. Una señal de entrada acústica
que se va a analizar se alimenta al codificador de voz 100 en el
micrófono 102. La señal de entrada, característicamente una señal de
voz. Se alimenta entonces al filtro 104. El filtro 104 presentará
generalmente características de filtro de paso de banda. No
obstante, si la anchura de banda de frecuencia vocal ya es adecuada,
el filtro 104 puede comprender una conexión alámbrica directa.
La señal analógica de voz procedente del filtro
104 se convierte entonces en una secuencia de N muestras de impulsos
y la amplitud de cada muestra de impulsos está entonces representada
por un código digital en el conversor analógico a digital (A/D) 108,
según se sabe en la técnica. La velocidad de muestreo se determina
por señal de reloj de muestreo SC, que representa una velocidad de
8,0 kHz en la realización preferida. La señal de reloj de muestreo
SC se genera junto con la señal de reloj de bloques FC por medio del
reloj 112.
La salida digital de A/D 108, que puede estar
representada como el vector de voz de entrada s(n), se
alimenta entonces al analizador de coeficientes 110. Este vector de
voz de entrada s(n) se obtiene repetitivamente en bloques
separados, o sea, bloques de tiempo, cuya duración o longitud está
determinada por la señal de reloj de bloques FC. En la realización
preferida, el vector de voz de entrada s(n), 0 \leq n
\leq N-1, representa un bloque de 7,5 ms que
contiene N = 60 muestras, en el cual cada muestra está representada
por 12 a 16 bits de código digital da. En esta realización, por
cada bloque de voz, un conjunto de parámetros de codificación
predictiva lineal (LPC) son producidos por el analizador de
coeficientes 110 en una configuración de bucle abierto. Los
parámetros de predictores a corto plazo \alpha_{i}, el
coeficiente del predictor a largo plazo \beta, el parámetro del
retardo del predictor a largo plano nominal L, los parámetros de
filtro de ponderación WFP, y el factor de ganancia de
excitación \gamma (junto con la mejor palabra de código de
excitación I, según se describirá más adelante) se aplican al
multiplexor 150 y se envían por el canal para uso por el
sintetizador de voz. Consúltese el artículo titulado "Codificación
Predictiva de Voz a Bajas Velocidades de Tráfico Binario",
IEEE Trans. Commun., Vol. COM-30, pp.
600-14, Abril 1982, por B. S. Atal, donde exponen
método representativos para generar estos parámetros
correspondientes a esta realización. El vector de voz de entrada
s(n) se aplica también al substractor 130 cuya función se
describirá más adelante.
La ROM 120 del libro de código contiene un
conjunto de M vectores de excitación u_{i}(n), donde 1
\leq i \leq M, cada uno constituido por N muestras, donde 0
\leq n \leq N-1. La ROM 120 del libro de código
genera estos vectores de excitación pseudoaleatorios en respuesta a
una palabra particular de un conjunto de palabras de código de
excitación i. Cada uno de los M vectores de excitación está
constituido por una serie de muestras gausianas, blancas,
aleatorias, aún cuando se pueden emplear otros tipos de vectores de
excitación con la presente invención. Si la señal de excitación se
codificara a una velocidad de 0,2 bits por muestra con relación a
cada una de las 60 muestras, entonces existirían 4096 palabras de
código i correspondientes a los vectores de excitación posibles.
Por cada vector de excitación individual
u_{i}(n), se genera un vector de voz s'_{i}(n)
para comparación el vector de voz de entrada s(n). El bloque
de ganancia 122 gradúa el vector de excitación u_{i}(n) por
el factor de ganancia de excitación \gamma, que es constante para
el bloque. El factor de ganancia de excitación \gamma puede ser
precalculado por el analizador de coeficientes 110 y utilizado para
analizar todos los vectores de excitación como se indica en la
figura 1, o se puede optimizar conjuntamente con la búsqueda de la
mejor palabra de código de excitación I y ser generado por el
controlador de búsqueda en el libro de códigos 140.
La señal de excitación graduada a escala
\gamma u_{i}(n) se filtra entonces por medio del filtro
de largo plazo 124 y el filtro de corto plazo 126 para generar el
vector de voz reconstruida s'_{i}(n). El filtro 124 utiliza
los parámetros de los predictores a largo plazo \beta y L para
introducir periodicidad de voz y el filtro 126 utiliza los
parámetros de los predictores a corto plazo \alpha_{i} para
introducir la envolvente espectral, como se ha descrito
anteriormente. El filtro de largo plazo 124 se describirá con
detalle con relación a las figuras siguientes. Obsérvese que los
bloques 124 y 126 son realmente filtros recursivos que contienen el
predictor a largo plazo y el predictor a corto plazo en sus caminos
de realimentación respectivos.
El vector de voz reconstruida
s'_{i}(n), correspondiente al iésimo vector de código de
excitación, se compara con el mismo bloque del vector de voz de
entrada s(n) restando estas dos señales en el substractor
130. El vector de diferencia e_{i}(n) representa la
diferencia entre los bloques de voz originales y reconstruidos. El
filtro de ponderación 132 pondera perceptualmente el vector de
diferencia utilizando los parámetros WTP del filtro de ponderación
generados por el analizador de coeficientes 110. Consúltese la
referencia precedente con respecto a una función de transferencia
representativa del filtro de ponderación. La ponderación perceptual
acentúa aquellas frecuencias en las cuales el error es
perceptualmente más importante al oído humano, y atenúa otras
frecuencias.
El calculador de energía 134 calcula la energía
del vector de diferencia ponderado e'_{i}(n) y aplica esta
señal de error E_{i} al controlador de búsqueda en el libro de
códigos 140. El controlador de búsqueda compara la iésima señal de
error para el vector de excitación presente u_{i}(n) contra
señales de error previas para determinar el vector de excitación que
produce el error mínimo. El código del iésimo vector de excitación
que presenta un error mínimo se emite entonces por el canal como el
mejor código de excitación I. Como alternativa, el controlador de
búsqueda 140 puede determinar una palabra de código particular que
proporcione una señal de error que tenga un criterio predeterminado,
por ejemplo que cumpla con un umbral de error predefinido.
La figura 1 ilustra una realización de la
invención para un codificador de voz predictivo lineal excitado por
código. En esta realización, los parámetros del filtro de largo
plazo L y \beta se determinan en una configuración de bucle
abierto por medio del analizador de coeficientes 110. Como variante,
los parámetros del filtro de largo plazo se pueden determinar en una
configuración de bucle cerrado como se describe en la referencia
anteriormente mencionada de Singhal y Atal. Generalmente, el
rendimiento del codificador de voz mejora utilizando parámetros del
filtro de largo plazo determinados en la configuración de bucle
cerrado. La estructura de novedad del predictor a largo plazo, con
arreglo a la presente invención, facilita considerablemente el
empleo de la determinación en bucle cerrado de estos parámetros para
retardos L menores que la longitud de bloque N.
La figura 2A ilustra una realización del filtro
de largo plazo 124 de la figura 1, donde L se constriñe para que sea
un entero. Aunque la figura 1 muestra el vector de excitación
\gamma u_{i}(n) graduado a escala a partir del bloque de
ganancia 122 según se introduce en el filtro de largo plazo 124, en
la figura 2A se ha utilizado un vector de voz de entrada s(n)
representativo para fines de explicación. Por lo tanto, un bloque de
N muestras de vector de voz de entrada s(n) se aplica al
sumador 210. La salida del sumador 210 produce el vector de salida
b(n) para el filtro de largo plazo 124. El vector de salida
b(n) se realimenta al bloque de retardo 230 del predictor a
largo plazo. El parámetro nominal de retardo L del predictor a largo
plazo se introduce también en el bloque de retardo 230. El bloque de
retardo del predictor a largo plazo proporciona el vector de salida
q(n) al bloque multiplicador 220 del predictor a largo plazo,
que gradúa a escala la respuesta del predictor a largo plazo por el
coeficiente \beta del predictor a largo plazo. La salida
\betaq(n) puesta a escala se aplica entonces al sumador 210
para completar el bucle de realimentación en el filtro
recursivo.
recursivo.
La respuesta de salida H_{n}(z) del
filtro de largo plazo 124 se define en la notación de la
transformada Z como:
donde n representa un número de
muestras de un bloque que contiene N muestras, 0 \leq n \leq
N-1, donde \beta representa un coeficiente de
filtro, donde L representa el retardo nominal del predictor a largo
plazo, y donde \lfloor(n+L)/L\rfloor representa el
entero más próximo igual o menor que (n+L)/L. El retardo del
predictor a largo plazo \lfloor(n+L)/L\rfloor L varía en
función del número de muestras n. Por lo tanto, con arreglo a la
presente invención, el retardo real del predictor a largo plazo se
convierte en kL, donde L es el retardo nominal del predictor a largo
plazo y donde k es un entero elegido del conjunto {1, 2, 3, 4, . .
.} en función del número de muestras n. En consecuencia, la
respuesta de salida del filtro de largo plazo b(n) está en
función del parámetro de retardo nominal L del predictor a largo
plazo y el estado del filtro FS que existe al comienzo del bloque.
Esta afirmación corresponde a todos los valores de L - - aún
en el caso problemático de la circunstancia en la cual el retardo de
tono L es menor que la longitud del bloque
N.
La función del bloque de retardo 230 del
predictor a largo plazo es almacenar las muestras de entrada
actuales con el fin de predecir las muestras futuras. La figura 2B
representa un diagrama simplificado de un registro de
desplazamiento, que puede ser útil para comprender el funcionamiento
del bloque de retardo 230 del predictor a largo plazo de la figura
2A. Con respecto al número de muestras \tau, de modo que n =
\tau, la muestra actual de salida b(n) se aplica a la
entrada del registro de desplazamiento, que se muestra a la derecha
en la figura 2B. Con respecto a la muestra siguiente n = \tau+1,
la muestra previa b(n) se desplaza a la izquierda en el
registro de desplazamiento. Esta muestra constituye ahora la primera
muestra pasada b(n-1). Con respecto a la
muestra siguiente n = \tau+2, otra muestra de b(n) se
desplaza en el registro, y la muestra original se desplaza de nuevo
a la izquierda para constituir la segunda muestra pasada
b(n-2). Después de haberse desplazado L
muestras, la muestra original se habrá desplazado a la izquierda L
número de veces, de tal manera que se puede representar como
b(n-L).
Según se ha mencionado anteriormente, el retardo
L será característicamente el periodo de tono de voz emitida o un
múltiplo de la misma. Si el retardo L es por lo menos tan largo como
la longitud del bloque N, un número suficiente de muestras pasadas
se habrá desplazado y almacenado para predecir el bloque siguiente
de voz. Aún en el caso extremo de que L = N y de que n =
N-1, b(n-L) será b(-1), que
es de hecho una muestra pasada. Por lo tanto, la muestra
b(n-L) se emitirá desde el registro de
desplazamiento como la muestra de salida q(n).
No obstante, si el parámetro de retardo L del
predictor a largo plazo es más corto que la longitud de bloque N,
entonces se habrá desplazado un número insuficiente de muestras en
el registro de desplazamiento al comienzo del bloque siguiente.
Utilizando el ejemplo anterior, con un periodo de tono de 250 Hz, el
retardo de tono L sería igual a 32. Por lo tanto, cuando L=32 y
N=60, y cuando n=N-1=59,
b(n-L) sería normalmente b(27), que
representa una muestra futura con respecto al comienzo del bloque de
60 muestras. En otras palabras, no se han almacenado suficientes
muestras pasadas para proporcionar una respuesta completa de
previsión a largo plazo. La respuesta completa de previsión a largo
plazo es necesaria al comienzo del bloque de tal manera que se pueda
realizar el análisis en bucle cerrado de los parámetros de
predicción. De conformidad con la invención en ese caso, las mismas
muestras almacenadas b(n-L), 0 \leq n
\leq L, se repiten de tal manera que la respuesta de salida del
predictor a largo plazo esté siempre en función de las muestras que
se han introducido en el bloque de retardo del predictor a largo
plazo antes del comienzo del bloque (trama) actual. En lo que se
refiere a la figura 2B, el registro de desplazamiento se ha
ampliado, por lo tanto, para almacenar otras kL muestras, lo cual
representa modificar la estructura del bloque de retardo 230 del
predictor a largo plazo. Por lo tanto, según se llena el registro de
desplazamiento con nuevas muestras b(n), se debe elegir k de
manera que b(n-kL) represente una muestra que
existía en el registro de desplazamiento antes del comienzo del
bloque. Utilizando el ejemplo previo de L=32 y N=60, la muestra de
salida q(32) sería una repetición de la muestra q(0),
que es b(0-L)=b(32-2L)
ó b(-32).
Por lo tanto, la respuesta de salida q(n)
del bloque de retardo 230 del predictor a largo plazo
correspondería:
q(n) =
b(n -
kL)
donde 0 \leq n \leq
N-1 y donde k se elige como el entero mínimo de
manera que (n-kL) sea negativo. De un modo más
específico, si un bloque de N muestras de s(n) se introduce
en el filtro 124 del predictor a largo plazo, cada número de
muestras n es j \leq n \leq N+j-l donde j es el
índice correspondiente a la primera muestra de un bloque de N
muestras. Por lo tanto, la variable k variaría de manera que
(n-kL) sea siempre menor que j. De este modo se
asegura que el predictor a largo plazo utilice exclusivamente
muestras disponibles anteriores al comienzo del bloque para predecir
la respuesta de
salida.
El funcionamiento del filtro de largo plazo 124
de la figura 2A se describirá ahora de conformidad con el diagrama
de flujo de la figura 3. Comenzando en el paso 350, el número de
muestras n se inicializa a cero en el paso 351. El parámetro nominal
de retardo L del predictor a largo plazo y el coeficiente \beta
del predictor a largo plazo se introducen en el paso 352 procedentes
del analizador de coeficientes 110. En el paso 353, el número de
muestras n se comprueba para ver si se ha dado salida a un bloque
completo. Si n \geq N, la operación finaliza en el paso 361. Si no
se han calculado todas las muestras, una muestra de señal
s(n) se introduce en el paso 354. En el paso 355, la
respuesta de salida del bloque de retardo 230 del predictor a largo
plazo se calcula con arreglo a la ecuación:
q(n) =
b(n - \lfloor (n+L)/L \rfloor
L)
donde
\lfloor(n+L)/L\rfloor representa el entero más próximo
igual o menor que (n+L)/L. Por ejemplo, si n=56 y L=32, entonces
\lfloor(n+L)/L\rfloor L) se convierte en
\lfloor(56+32/32\rfloor L, que es
\lfloor(2,75)\rfloor L ó 2L. En el paso 356, la
respuesta de salida b(n) del filtro de largo plazo se calcula
con arreglo a la
ecuación:
b(n) =
\beta \ q(n) +
s(n)
Esto representa la función del multiplicador 220
y el sumador 210. En el paso 357, la muestra en el registro de
desplazamiento se desplaza una posición a la izquierda con respecto
a todas las posiciones en el registro entre
b(n-2) y
b(n-L_{MAX}), donde L_{MAX} representa el
retardo máximo del predictor a largo plazo que se puede asignar. En
la realización preferida, L_{MAX} sería igual a 143. En el paso
358, la muestra de salida b(n) se introduce en la primera
posición b(n-1) del registro de
desplazamiento. En el paso 359 se da salida a la muestra filtrada
b(n). El número de muestras n se incrementa entonces en el
paso 360 y después se comprueba en el paso 353. Cuando se han
calculado todas las N muestras, el proceso finaliza en el paso
361.
La figura 2C es una realización alternativa de
un filtro de largo plazo que incorpora la presente invención. El
filtro 124' es la versión inversa de alimentación directa de la
configuración de filtro recursivo de la figura 2A. El vector de
entrada s(n) se aplica al substractor 240 y al bloque de
retardo 260 del predictor a largo plazo. El vector retardado
q(n) se emite al multiplicador 250, que pone a escala el
vector para el coeficiente \beta del predictor a largo plazo. La
respuesta de salida H_{n}(z) del filtro digital 124' viene
dada en la notación de la transformada z como:
- \quad
- \lfloor(n+L)/L\rfloor L)
- \quad
- H_{n}(z) = 1-\betaz-
donde n representa el número de
muestras de un bloque (trama) que contiene N muestras, 0 \leq n
\leq N-1, donde \beta representa el coeficiente
del filtro de largo plazo, donde L representa el retardo nominal del
predictor a largo plazo, y donde \lfloor(n+L)/L\rfloor
representa el entero más próximo igual o menor que (n+L)/L. La señal
de salida b(n) del filtro 124' se puede definir en términos
de la señal de entrada s(n)
como:
b(n) =
s(n) - \beta s(n- \lfloor (n+L)/L \rfloor
L)
para 0 \leq n \leq
N-1. Según apreciarán los expertos en la
materia, la estructura del predictor a largo plazo se ha modificado
de nuevo para emitir de una forma repetida las mismas muestras
almacenadas del predictor a largo plazo en el caso de que el retardo
L del predictor a largo plazo sea menor que la longitud de bloque
N.
Refiriéndonos ahora a la figura 5, se ilustra la
realización preferida del filtro de largo plazo 124 de la figura 1
que permite la resolución de submuestras para el parámetro de
retardo L. Un bloque de N muestras de vector de voz de entradas
s(n) se aplica al sumador 510. La salida del sumador 510
produce el vector de salida b(n) para el filtro de largo
plazo 124. El vector de salida b(n) se realimenta al bloque
generador de vectores retardados 530 del predictor a largo plazo. El
parámetro de retardo nominal L del predictor a largo plazo se emite
también al bloque generador de vectores retardados 530. El parámetro
de retardo L del predictor a largo plazo puede admitir valores que
no sean enteros. La realización preferida permite que L admita
valores que sean múltiplos de una mitad. Otras modalidades
alternativas del predictor a largo plazo con resolución de
submuestras de la presente invención podría permitir valores que
fueran múltiplos de un tercio o un cuarto o de cualquier otra
fracción racional.
En la realización preferida, el generador de
vectores retardados 530 incluye una memoria que mantiene muestras
pasadas de b(n). Además, el generador de vectores retardados
530 calcula también muestras interpoladas de b(n) que se
almacenan en su memoria. En la realización preferida, el estado del
predictor a largo plazo, que está contenido en el generador de
vectores retardados 530, tiene dos muestras por cada muestra
almacenada de b(n). Una muestra corresponde a b(n) y
la otra muestra representa una muestra interpolada entre dos
muestras b(n) consecutivas. De esta manera, se pueden obtener
muestras de b(n) del generador de vectores retardados 530 que
corresponden a retardos enteros o múltiplos de mitades de retardos
de muestras. La interpolación se realiza utilizando filtros de
respuesta de impulsos finitos de interpolación tal como se describe
en el manual de R, Crochiere y L. Rabiner titulado Multirate
Digital Signal Processing, publicado por Prentice Hall en 1983.
El funcionamiento del generador de retardo de vectores 530 se
describirá con más detalle más adelante conjuntamente con los
diagramas de flujo de las figuras 6A y 6B.
El generador de vectores retardados 530
proporcionar el vector de salida q(n) al bloque multiplicador
a largo plazo 520, que pone a escala la respuesta del predictor a
largo plazo para el coeficiente \beta del predictor a largo plazo.
La salida \betaq(n) puesta a escala se aplica entonces al
sumador 510 para completar el bucle de realimentación del filtro
recursivo 124 en la figura 5.
Refiriéndonos a las figuras 6A y 6B, se ilustran
diagramas de flujo detallados que detallan las operaciones
realizadas por el filtro de largo plazo de la figura 5. Con arreglo
a la realización preferida de la presente invención, la resolución
de la memoria del predictor a largo plazo se amplía mapeando una
secuencia b(n) de N puntos en un vector ex(i) de 2N
puntos. Las muestras indexadas negativas de ex(i) contienen
los valores pasados de resolución ampliada de la salida b(n)
del filtro de largo plazo, o la historia a largo plazo de resolución
ampliada. El proceso de mapeo duplica la resolución temporal de la
memoria del predictor a largo plazo cada vez que se aplica. En este
caso, para simplificar, se describe mapeo de una sola etapa, aún
cuando se pueden ejecutar etapas adicionales en otras realizaciones
de la presente invención.
Comenzando con el paso de ARRANQUE 602 en la
figura 6A, el diagrama de flujo prosigue hasta el paso 604 donde se
introducen L, \beta y s(n). En el paso 608, el vector
q(n) se construye con arreglo a la ecuación:
- \quad
- q(n) = ex(2n-2L \lfloor(n+L)/L\rfloor)
- \quad
- para 0 \leq n \leq N-1
donde
\lfloor(n+L)/L\rfloor representa el entero más próximo
igual o menor que (n+L)/L y donde L es el retardo del predictor a
largo plazo. Con relación a voz emitida, el retardo L del predictor
a largo plazo puede ser el periodo de tono o un múltiplo del periodo
de tono. L puede ser un entero o un número real cuya parte
fraccional sea 0,5 en la realización preferida. Cuando la parte
fraccional de L es 0,5, L tiene una resolución efectiva de la mitad
de una
muestra.
En el paso 610, el vector b(n) del filtro
de largo plazo se calcula con arreglo a la ecuación:
- \quad
- b(n) = \beta q(n) + s(n)
- \quad
- para 0 \leq n \leq N-1
En el paso 612 se da salida al vector
b(n) del filtro de largo plazo. En el paso 614, el estado de
resolución ampliado ex(n) se actualiza para generar y
almacenar los valores interpolados de b(n) en la memoria del
generador de vectores retardados 530. El paso 614 se ilustra con más
detalle en la figura 6B. Después, en el paso 616, el proceso se
habrá completado y se detiene.
Entrando en el paso de ARRANQUE 622 en la figura
6B, el diagrama de flujo prosigue hasta el paso 524, donde las
muestras en ex(i) que se tienen que calcular en este
subbloque se ponen a cero, ex(i) = 0 para i =-M, -M+2,. . .,
2N-1, donde M se elige de modo que sea impar para
filtro de interpolación de orden 2M+1. Por ejemplo, si el orden de
filtro es 39, M es 19. Aunque M se haya elegido como impar para
simplificar, M puede ser también par. En el paso 626, una muestra si
y otra no de ex(i) para i = 0,2,. . .,
2(N-1) se inicializa con muestras de
b(n) como arreglo a la ecuación:
- \quad
- ex(2i) = b(i)
- \quad
- para i = 0, 1, . . . , N-1.
Por lo tanto ex(i) para i = 0, 2,. . .,
2(N-1) mantiene ahora el vector de salida
b(n), correspondiente al bloque actual, mapeado en sus
índices pares, mientras que los índices impares de ex(i) para
i = 1, 3,. . ., 2(N-1)+1 se inicializan con
ceros.
En el paso 628, las muestras interpoladas de
ex(i), inicializadas a cero, se reconstruyen por
interpolación de FIR, utilizando un filtro de desplazamiento
simétrico de fase cero, suponiendo que el orden de tal filtro FIR
sea 2M+1 como se ha explicado anteriormente. Los coeficientes del
filtro FIR son a(j), donde j = -M, -M+2,. . .,
M-1, M y donde a(j) = a(-j). Solamente
muestras pares asignadas para que sean las tomas de filtro FIR se
utilizan en la reconstrucción de muestras, puestos que las muestras
impares se han puesto a cero. En consecuencia, M+1 muestras en lugar
de 2M+1 muestras se ponderan realmente y se suman por cada muestra
reconstruida. La interpolación FIR se realiza con arreglo a la
ecuación:
Obsérvese que la primera muestra que se tiene
que reconstruir es ex(-M), no ex(1) como cabría esperar. Se
debe a que las muestras interpoladas en índices -M,-M+2,. . .,-1 se
reconstruyeron en el bloque (trama) previo utilizando una estimación
de la excitación del bloque actual, puesto que las muestras reales
de excitación eran entonces indefinidas. En el bloque actual esas
muestras se conocen (tenemos b(n)) y, por lo tanto, las
muestras de ex(i), para i=-M,-M+2,. . .,-1 se reconstruyen
ahora de nuevo, con las tomas del filtro apuntando a los valores
reales y no a los estimados de b(n).
El valor mayor de i en la ecuación anterior, es
2(N+1)-M. Esto significa que (M+1)/2 muestras
impares de ex(i), para
i=2N-M,2N-M+2,. . .,
2(N-1)+1, se tienen que reconstruir todavía.
No obstante, con respecto a aquellos valores de índice i, las tomas
superiores del filtro de interpolación apuntan a muestras futuras de
la excitación que todavía están sin definir. Para calcular los
valores de ex(i) correspondientes a esos índices, el estado
futuro de ex(i) para i=2N,2N+2,. . .,2N+M-1
se amplía evaluando en el paso 630:
- \quad
- ex(i) = \lambda ex(i-2L),
- \quad
- para i = 2N,2N+2,. . ., 2N+M-1
El valor mínimo de 2L que se tiene que utilizar
en este esquema es 2M+1. Esta limitación se puede suprimir si
definimos;
- \quad
- ex(i) = \lambda ex (F(i-2L)),
- \quad
- para i=2N,2N+2,. . ., 2N+M-1;
\newpage
donde
F(i-2L) para i-2L igual a
números impares viene dada
por:
y donde
F(i-2L) para i-2L igual a
números pares viene dada
por:
El parámetro \lambda, el factor de puesta a
escala de ampliación histórica, se puede poner igual a \beta, que
es el coeficiente del predictor de tono, o ponerse a la unidad.
En el paso 632, con la historia de excitación
así ampliada, las últimas muestras (M+1)/2 puestas a cero del bloque
actual de resolución ampliada se calculan empleando:
Estas muestras se volverán a calcular en el
subbloque siguiente, una vez que se tengan disponibles las muestras
reales de excitación correspondientes a ex(i), i=2N,2N+2,. .
. , 2N+M-1.
Por lo tanto b(n), para n=0,
N-1 se ha mapeado en el vector ex(i), i=0,2,
. . ., 2(N-1). Las muestras faltantes puestas
a cero se han reconstruido utilizando un filtro de interpolación de
FIR. Obsérvese que la interpolación de FIR se aplica solamente a las
muestras que faltan. De este modo se tiene la seguridad de que no se
introduzca distorsión innecesariamente en las muestras conocidas,
que se almacenan en índices pares de ex(i). Un beneficio
adicional de procesar solamente las muestras que faltan es que se
reduce a la mitad el cálculo relacionado con la interpolación.
En el paso 634, la historia del predictor a
largo plazo se actualiza finalmente desplazando hacia abajo el
contenido del vector de excitación de resolución ampliada
ex(i) por 2N puntos:
- \quad
- ex(i) = ex(i+2N),
- \quad
- para i = -2Max_L,-1
donde Max_L es el retardo máximo
del predictor a largo plazo utilizado. Después, en el paso 636, el
proceso habrá finalizado y se
detiene.
Refiriéndonos ahora a la figura 4, se ilustra un
diagrama de bloques del sintetizador de voz utilizando el filtro de
largo plazo de la presente invención. El sintetizador 400 obtiene
los parámetros \alpha_{i} del predictor de corto plazo, los
parámetros \beta y L del predictor de largo plazo, el factor de
ganancia de excitación \gamma y la palabra de código I, recibidos
del canal por vía del desmultiplexor 450. La palabra de código I se
aplica a la ROM 420 del libro de código para direccionar el libro
de código de vectores de excitación. El vector de excitación único
u_{I}(n) se multiplica entonces por el factor de ganancia
\gamma en el bloque 422, se filtra por medio del filtro 424 del
predictor a largo plazo y el filtro 426 del predictor a corto plazo
para obtener el vector de voz reconstruida s'_{I}(n). Este
vector, que representa un bloque (trama) de voz reconstruida, se
aplica entonces al conversor analógico a digital (A/D) 408 para
producir una señal analógica reconstruida, que se filtra en paso
bajo para reducir falsedad por el filtro 404, y se aplica a un
transductor de salida, por ejemplo el altavoz 402. Por lo tanto, el
sintetizador de CELP utiliza el mismo libro de código, bloque de
ganancia, filtro de largo plazo y filtro de corto plazo que el
analizador de CELP de la figura 1.
La figura 7 es un diagrama de bloques detallado
de un postfiltro de tono para interacoplar el filtro de corto plazo
426 y el conversor D/A 408 del sintetizador de voz de la figura 4.
Un postfiltro de tono mejora la calidad de la voz suprimiendo el
ruido introducido por los filtros 424 y 426. Un bloque de N muestras
del vector de voz reconstruida s'_{I}(n) se aplica al
sumador 710. La salida del sumador 710 produce el vector de salida
s''_{I}(n) para el postfiltro de tono. El vector de salida
s''_{I}(n) se realimenta al bloque generador de muestras
recargadas 730 del postfiltro de tono. El parámetro nominal de
retardo L del predictor a largo plazo se introduce también en el
bloque generador de muestras retardadas 730. L puede admitir valores
que no sean enteros para la presente invención. Si L no es entero,
se utiliza un filtro de FIR de interpolación para generar el retardo
de muestra fraccional necesario. El generador de muestras retardadas
730 proporcionar el vector de salida q(n) al bloque
multiplicador 720, que pone a escala la respuesta del postfiltro de
tono por el coeficiente R que está en función del coeficiente
\beta del predictor a largo plazo. La salida Rq(n) a escala
se aplica entonces al sumador 710 para completar el bucle de
realimentación del postfiltro de tono de la figura 7.
Al utilizar la respuesta del predictor a largo
plazo con arreglo a la presente invención, el factor de ganancia de
excitación \gamma y el coeficiente \beta del predictor a largo
plazo se pueden optimizar simultáneamente para todos lo valores de L
en una configuración de bucle cerrado. Esta técnica de optimización
conjunta fue impracticable para valores de L<N con anterioridad a
esta invención, puesto que las ecuaciones de optimización conjuntas
se volverían alineales en el parámetro \beta único. La presente
invención modifica la estructura del predictor a largo plazo para
permitir una ecuación de optimización conjunta lineal. Además, la
presente invención permite que el retardo del predictor a largo
plazo tenga mejor resolución que una muestra, mejorando así su
rendimiento.
Además, el procedimiento de búsqueda en el libro
de código se ha simplificado aún más, puesto que la respuesta de
estado cero del filtro de largo plazo se convierte en cero con
relación a retardos menores que la longitud de bloque. Esta
característica adicional permite que los expertos en la materia
supriman el efecto del filtro de largo plazo del procedimiento de
búsqueda en el libro de código. Por lo tanto, se ha descrito un
codificador de voz de CELP que puede proporcionar voz de más alta
calidad para todas las cadencias de tono conservando, al mismo
tiempo, las ventajas de realización práctica y baja velocidad de
tráfico binario.
Si bien se han ilustrado y descrito en esta
memoria realizaciones específicas de la presente invención, se
pueden introducir otras modificaciones y mejoras. Por ejemplo, se
puede emplear cualquier tipo de codificación de voz (por ejemplo,
RELP, impulsos múltiples, RPE, LPC, etc.) con la técnica de filtrado
con predictores a largo plazo con resolución de submuestreo descrita
en esta memoria. Además, se pueden elaborar configuraciones
equivalentes adicionales de la estructura de predictores a largo
plazo con resolución de submuestreo que realicen los mismos cálculos
que los anteriormente ilustrados.
Claims (16)
1. Método para reconstruir voz que comprende los
pasos de:
recibir, de un canal de comunicaciones, un
conjunto de parámetros de voz que incluyen una palabra de código I y
un parámetro de retardo L, donde el parámetro de retardo L puede
tener un valor en una gama predeterminada que incluye valores
enteros y no enteros relacionados con un periodo de tono de voz;
generar un vector de excitación que tiene N
muestras en respuesta a la palabra de código I;
filtrar el vector de excitación tomando como
base por lo menos el parámetro de retardo L y las muestras de estado
de filtro almacenada, comprendiendo la operación de filtrar los
pasos de:
- calcular las muestras de estado de filtro interpoladas a partir de las muestras de estado filtradas, almacenadas, utilizando un valor L no entero, y
- combinar linealmente el vector de excitación con las muestras de estado de filtro interpoladas, formando de este modo un vector de salida de filtro que tiene una pluralidad de muestras de salida de filtro,
y procesar el vector de salida de filtro para
producir voz reconstruida,
en el que, en el caso del parámetro de retardo L
< N y siendo el parámetro de retardo L un entero, la etapa de
filtrado comprende el uso repetido de al menos algunas de las mismas
muestras de estado del filtro memorizadas en la producción de un
vector retardado para combinación lineal con el vector de
excitación para formar el vector de salida del filtro.
2. Método para reconstruir voz según la
reivindicación 1, caracterizado además porque la operación de
filtrar comprende combinar, en respuesta a que L sea un entero, el
vector de excitación con las muestras de estado de filtro
almacenadas, formando así muestras de salida de estado de
filtro.
3. Método para reconstruir voz según la
reivindicación 1, caracterizado además porque la operación de
filtrar comprende actualizar las muestras de estado de filtro
almacenadas utilizando las muestras de salida de filtro.
4. Método para reconstruir voz según la
reivindicación 1, caracterizado porque comprende además los
pasos de: convertir la voz reconstruida en una señal de voz
analógica; y transducir la señal de voz analógica en una salida de
audio perceptible, de tal manera que los periodos de tono de voz se
predicen con más precisión.
5. Aparato para reconstruir voz que comprende:
una circuitería receptora (450) para recibir, de un canal de
comunicaciones, un conjunto de parámetros de voz que incluyen una
palabra de código I y un parámetro de retardo L;
una circuitería generadora (420) para generar un
vector de excitación que tiene N muestras en respuesta a la palabra
de código I;
una circuitería de filtro (124, 429) para
filtrar el vector de excitación tomando como base por lo menos el
parámetro de retardo L y las muestras de estado de filtro
almacenadas, caracterizado porque L tiene un valor en una
gama predeterminada que incluye valores enteros y no enteros
relacionados con un periodo de tono de voz, y porque la circuitería
de filtro comprende:
- una circuitería de cálculo (530) para calcular las muestras de estado de filtro interpoladas a partir de muestras de estado filtradas almacenadas utilizando un valor L no entero, y
- una circuitería de combinación (510, 520) para combinar linealmente el vector de excitación con las muestras de estado de filtro interpoladas, formando de este modo un vector de salida de filtro que tiene una pluralidad de muestras de salida de filtro; y
una circuitería de procesamiento para procesar
el vector de salida de filtro para producir voz reconstruida,
en el que, en el caso del parámetro de retardo L
< N y siendo el parámetro de retardo L un entero, la etapa de
filtrado comprende el uso repetido de al menos algunas de las mismas
muestras de estado del filtro memorizadas en la producción de un
vector retardado para combinación lineal con el vector de
excitación para formar el vector de salida del filtro.
6. Aparato para reconstruir voz según la
reivindicación 5, caracterizado porque la circuitería de
combinación comprende además combinar, en respuesta a que L sea un
entero, el vector de excitación con las muestras de estado de filtro
almacenadas, formando de este modo muestras de salida de estado de
filtro.
7. Aparato para reconstruir voz según la
reivindicación 5, caracterizado porque la circuitería de
filtro comprende además una circuitería de actualización para
actualizar las muestras de estado de filtro almacenadas utilizando
las muestras de salida de filtro.
8. Aparato para reconstruir voz según la
reivindicación 5, caracterizado porque comprende además:
una circuitería de conversión para convertir la
voz reconstruida en una señal de voz analógica; y
una circuitería transductora para transducir la
señal de voz analógica en una salida de audio perceptible, de tal
manera que los periodos de tono de voz se predicen con más
precisión.
9. Método para reconstruir voz que comprende los
pasos de:
recibir, de un canal de comunicaciones, un
conjunto de parámetros de voz que incluyen una palabra de código I y
un parámetro de retardo L;
generar un vector de excitación que tiene N
muestras en respuesta a la palabra de código I;
filtrar el vector de excitación tomando como
base por lo menos el parámetro de retardo L, un conjunto de muestras
de estado de filtro almacenadas, y por lo menos un conjunto de
muestras de estado de filtro interpoladas, en el que L tiene un
valor en un intervalo predeterminado que incluye valores enteros y
no enteros relacionados con el periodo de tonos de la voz, y la
operación de filtrar comprende los pasos de:
elegir un conjunto de muestras de estado de
filtro del grupo consistente en el conjunto de muestras de estado de
filtro almacenadas y el conjunto o conjuntos de muestras de estado
de filtro, interpoladas, almacenadas, utilizando el paso de elección
el parámetro de retardo L, y
combinar linealmente el vector de excitación con
las muestras de estado de filtro elegidas, formando de este modo un
vector de salida de filtro que tiene una pluralidad de muestras de
salida de filtro; y
procesar el vector de salida de filtro para
producir voz reconstruida,
en el que, en el caso del parámetro de retardo L
< N y siendo el parámetro de retardo L un entero, la etapa de
filtrado comprende el uso repetido de al menos algunas de las mismas
muestras de estado del filtro memorizadas en la producción de un
vector retardado para combinación lineal con el vector de
excitación para formar el vector de salida del filtro.
10. Método para reconstruir voz según la
reivindicación 9, caracterizado porque comprende además los
pasos
de:
de:
convertir la voz reconstruida en una señal de
voz analógica; y transducir la señal de voz analógica en una salida
de audio perceptible, de tal manera que los periodos de tono de voz
se predicen con más precisión.
11. Apara para reconstruir voz que
comprende:
una circuitería receptora (450) para recibir, de
un canal de comunicaciones, un conjunto de parámetros de voz que
incluyen una palabra de código I y un parámetro de retardo L, donde
L puede tener un valor en una gama predeterminada que incluye
valores enteros y no enteros relacionados con un periodo de tono de
voz;
una circuitería de generación (420) para generar
un vector de excitación que tiene N muestras en respuesta a la
palabra de código I;
una circuitería de filtro (104, 424) para
filtrar el vector de excitación tomando como base por lo menos el
parámetro de retardo L, un conjunto de muestras del estado de filtro
almacenadas y por lo menos un conjunto de muestras de estado de
filtro, interpoladas, almacenadas, comprendiendo la circuitería de
filtro:
- una circuitería de elección para elegir un conjunto de muestras de estado de filtro del grupo consistente en el conjunto de muestras de estado de filtro almacenadas y el conjunto o conjuntos de muestras de estado de filtro, interpoladas, almacenadas, empleando el paso de elección el parámetro de retardo L, y
- una circuitería de combinación para combinar linealmente el vector de excitación con las muestras de estado de filtro elegidas, formando de este modo un vector de salida de filtro que tiene una pluralidad de muestras de salida de filtro; y
una circuitería de procesamiento (426) para
procesar el vector de salida de filtro para producir voz
reconstruida,
en el que, en el caso del parámetro de retardo L
< N y siendo el parámetro de retardo L un entero, la etapa de
filtrado comprende el uso repetido de al menos algunas de las mismas
muestras de estado del filtro memorizadas en la producción de un
vector retardado para combinación lineal con el vector de
excitación para formar el vector de salida del filtro.
12. Aparato para reconstruir voz según la
reivindicación 11, caracterizado porque comprende,
además:
una circuitería de conversión para convertir la
voz reconstruida en una señal de voz analógica; y
una circuitería transductora para transducir la
señal de voz analógica en una salida de audio perceptible, de tal
manera que los periodos de tono de voz se predicen con más
precisión.
13. Método para codificar voz en conjuntos de
parámetros de voz para transmisión por un canal de comunicaciones,
comprendiendo el método los pasos de:
muestrear una señal de voz una pluralidad de
veces para proporcionar una pluralidad de muestras que constituyen
un vector de voz presente;
generar un parámetro de retardo L que tiene un
valor en una gama predeterminada que incluye valores enteros y no
enteros relacionados con un periodo de tono de voz del vector de voz
presente;
buscar vectores de excitación para determinar
una palabra de código I que sea la que mejor coincida con el vector
de voz presente, comprendiendo el paso de búsqueda los pasos de:
generar vectores de excitación en respuestas a
palabras de código correspondientes, teniendo cada vector de
excitación N muestras,
filtrar cada vector de excitación tomando como
base por lo menos el parámetro de retardo L, un conjunto de muestras
de estado de filtro almacenadas, y por lo menos un conjunto de
muestras de estado de filtro interpoladas, en el que L tiene un
valor en un intervalo predeterminado que incluye valores enteros y
no enteros relacionados con el periodo de tonos de la voz, y el paso
de filtrar comprende los pasos de:
- calcular las muestras de estado de filtro interpoladas a partir de las muestras de estado de filtro almacenadas utilizando un valor L no entero, y
- combinar linealmente el vector de excitación con las muestras de estado de filtro interpoladas, formando de este modo un vector de salida de filtro que tiene una pluralidad de muestras de salida de filtro;
elegir la palabra de código I del vector de
excitación con respecto a la cual la voz sintetizada que utiliza el
valor L no entero difiera mínimamente de la señal de voz; y
transmitir el parámetro L elegido junto con los
parámetros de voz preseleccionados para el vector de voz presente en
el canal de comunicaciones, de tal manera que los periodos de tono
de voz se predicen con más precisión,
en el que, en el caso del parámetro de retardo L
< N y siendo el parámetro de retardo L un entero, la etapa de
filtrado comprende el uso repetido de al menos algunas de las mismas
muestras de estado del filtro memorizadas en la producción de un
vector retardado para combinación lineal con el vector de
excitación para formar el vector de salida del filtro.
14. Método para codificar voz según la
reivindicación 13, caracterizado además porque el paso de
buscar los vectores de excitación comprende:
procesar el vector de salida de filtro para
producir un vector de voz reconstruida; y
comparar el vector de voz reconstruida con el
vector de voz presente para determinar la diferencia entre los
mismos.
15. Método para codificar voz según la
reivindicación 13, caracterizado además porque el paso de
elegir la palabra de código I comprende elegir la palabra de código
I del vector de excitación con respecto al cual el vector de voz
reconstruido difiere mínimamente del vector de voz presente.
16. Aparato para codificar voz en conjuntos de
parámetros de voz para transmisión por un canal de comunicaciones,
comprendiendo el aparato:
una circuitería de muestreo para muestrear una
señal de voz una pluralidad de veces para proporcionar una
pluralidad de muestras que constituyen un vector de voz
presente;
una circuitería de generación para generar un
parámetro de retardo L que tiene un valor en una gama predeterminada
que incluye valores enteros y no enteros relativos a un periodo de
tono de voz del vector de voz presente;
\vskip1.000000\baselineskip
una circuitería de búsqueda para buscar vectores
de excitación con el fin de determinar una palabra de código I que
sea la que mejor coincide con el vector de voz presente,
comprendiendo la circuitería de búsqueda:
una circuitería de generación para generar
vectores de excitación en respuesta a palabras de código
correspondientes, teniendo cada vector de excitación N muestras;
una circuitería de filtro para filtrar cada
vector de excitación tomando como base por lo menos el parámetro de
retardo L, un conjunto de muestras de estado de filtro almacenadas y
por lo menos un conjunto de muestras de estado de filtro,
interpoladas, almacenadas, comprendiendo la circuitería de
filtro:
- una circuitería de elección para elegir un conjunto de muestras de estado de filtro del grupo consistente en el conjunto de muestras de estado de filtro almacenadas y el conjunto o conjuntos de muestras de estado de filtro, interpoladas, almacenadas, utilizando la circuitería de elección el parámetro de retardo L, y
- una circuitería de combinación para combinar linealmente el vector de excitación con muestras de estado de filtro elegidas, formando de este modo un vector de salida de filtro que tiene una pluralidad de muestras de salida de filtro;
una circuitería de procesamiento para procesar
el vector de salida de filtro con el fin de producir un vector de
voz reconstruida;
una circuitería de comparación para comparar el
vector de voz reconstruida con el vector de voz presente con el fin
de determinar la diferencia entre los mismos;
una circuitería de selección para seleccionar la
palabra de código I del vector de excitación con respecto al cual el
vector de voz reconstruida difiere mínimamente del vector de voz
presente; y
una circuitería de transmisión para transmitir
la palabra de código elegida I y el parámetro de retardo L junto con
parámetros de voz preseleccionados para el vector de voz presente en
el canal de comunicaciones, de tal manera que los periodos de tono
de voz se predicen con más precisión,
en el que, en el caso del parámetro de retardo L
< N y siendo el parámetro de retardo L un entero, la etapa de
filtrado comprende el uso repetido de al menos algunas de las mismas
muestras de estado del filtro memorizadas en la producción de un
vector retardado para combinación lineal con el vector de
excitación para formar el vector de salida del filtro.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US40220689A | 1989-09-01 | 1989-09-01 | |
US402206 | 1989-09-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
ES2145737T3 ES2145737T3 (es) | 2000-07-16 |
ES2145737T5 true ES2145737T5 (es) | 2007-03-01 |
Family
ID=23590969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES91905041T Expired - Lifetime ES2145737T5 (es) | 1989-09-01 | 1990-06-25 | Codificador digital de voz con predictor a largo plazo mejorado por resolucion de submuestreos. |
Country Status (12)
Country | Link |
---|---|
EP (1) | EP0450064B2 (es) |
JP (1) | JP3268360B2 (es) |
CN (1) | CN1026274C (es) |
AT (1) | ATE191987T1 (es) |
AU (1) | AU634795B2 (es) |
CA (1) | CA2037899C (es) |
DE (1) | DE69033510T3 (es) |
DK (1) | DK0450064T4 (es) |
ES (1) | ES2145737T5 (es) |
MX (1) | MX167644B (es) |
SG (1) | SG47028A1 (es) |
WO (1) | WO1991003790A1 (es) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5327520A (en) * | 1992-06-04 | 1994-07-05 | At&T Bell Laboratories | Method of use of voice message coder/decoder |
FR2702590B1 (fr) * | 1993-03-12 | 1995-04-28 | Dominique Massaloux | Dispositif de codage et de décodage numériques de la parole, procédé d'exploration d'un dictionnaire pseudo-logarithmique de délais LTP, et procédé d'analyse LTP. |
FI96248C (fi) | 1993-05-06 | 1996-05-27 | Nokia Mobile Phones Ltd | Menetelmä pitkän aikavälin synteesisuodattimen toteuttamiseksi sekä synteesisuodatin puhekoodereihin |
DE4421853A1 (de) * | 1994-06-22 | 1996-01-04 | Philips Patentverwaltung | Mobilfunkendgerät |
GB9408037D0 (en) * | 1994-04-22 | 1994-06-15 | Philips Electronics Uk Ltd | Analogue signal coder |
JP2970407B2 (ja) * | 1994-06-21 | 1999-11-02 | 日本電気株式会社 | 音声の励振信号符号化装置 |
FR2729246A1 (fr) * | 1995-01-06 | 1996-07-12 | Matra Communication | Procede de codage de parole a analyse par synthese |
FR2729244B1 (fr) * | 1995-01-06 | 1997-03-28 | Matra Communication | Procede de codage de parole a analyse par synthese |
FR2729247A1 (fr) * | 1995-01-06 | 1996-07-12 | Matra Communication | Procede de codage de parole a analyse par synthese |
US5708757A (en) * | 1996-04-22 | 1998-01-13 | France Telecom | Method of determining parameters of a pitch synthesis filter in a speech coder, and speech coder implementing such method |
JP4857468B2 (ja) | 2001-01-25 | 2012-01-18 | ソニー株式会社 | データ処理装置およびデータ処理方法、並びにプログラムおよび記録媒体 |
JP4857467B2 (ja) * | 2001-01-25 | 2012-01-18 | ソニー株式会社 | データ処理装置およびデータ処理方法、並びにプログラムおよび記録媒体 |
GB2466674B (en) | 2009-01-06 | 2013-11-13 | Skype | Speech coding |
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 |
GB2466671B (en) | 2009-01-06 | 2013-03-27 | Skype | Speech encoding |
CN104025191A (zh) * | 2011-10-18 | 2014-09-03 | 爱立信(中国)通信有限公司 | 用于自适应多速率编解码器的改进方法和设备 |
FR3015754A1 (fr) * | 2013-12-20 | 2015-06-26 | Orange | Re-echantillonnage d'un signal audio cadence a une frequence d'echantillonnage variable selon la trame |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL168669C (nl) * | 1974-09-16 | 1982-04-16 | Philips Nv | Interpolerend digitaal filter met ingangsbuffer. |
US4080660A (en) * | 1975-07-11 | 1978-03-21 | James Nickolas Constant | Digital signal time scale inversion |
US4020332A (en) * | 1975-09-24 | 1977-04-26 | Bell Telephone Laboratories, Incorporated | Interpolation-decimation circuit for increasing or decreasing digital sampling frequency |
NL8105801A (nl) * | 1981-12-23 | 1983-07-18 | Philips Nv | Recursief digitaal filter. |
US4573135A (en) * | 1983-04-25 | 1986-02-25 | Rca Corporation | Digital lowpass filter having controllable gain |
JPS60116000A (ja) * | 1983-11-28 | 1985-06-22 | ケイディディ株式会社 | 音声符号化装置 |
JPS63214032A (ja) * | 1987-03-02 | 1988-09-06 | Fujitsu Ltd | 符号化伝送装置 |
JPS63249200A (ja) * | 1987-04-06 | 1988-10-17 | 日本電信電話株式会社 | ベクトル量子化方式 |
JPH01177227A (ja) * | 1988-01-05 | 1989-07-13 | Toshiba Corp | 音声コーデック |
-
1990
- 1990-06-25 JP JP50964190A patent/JP3268360B2/ja not_active Expired - Lifetime
- 1990-06-25 AT AT91905041T patent/ATE191987T1/de not_active IP Right Cessation
- 1990-06-25 ES ES91905041T patent/ES2145737T5/es not_active Expired - Lifetime
- 1990-06-25 CA CA002037899A patent/CA2037899C/en not_active Expired - Lifetime
- 1990-06-25 DE DE69033510T patent/DE69033510T3/de not_active Expired - Lifetime
- 1990-06-25 AU AU59525/90A patent/AU634795B2/en not_active Expired
- 1990-06-25 DK DK91905041T patent/DK0450064T4/da active
- 1990-06-25 SG SG1996002783A patent/SG47028A1/en unknown
- 1990-06-25 EP EP91905041A patent/EP0450064B2/en not_active Expired - Lifetime
- 1990-06-25 WO PCT/US1990/003625 patent/WO1991003790A1/en active IP Right Grant
- 1990-08-15 MX MX021980A patent/MX167644B/es unknown
- 1990-08-31 CN CN90109233A patent/CN1026274C/zh not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
ATE191987T1 (de) | 2000-05-15 |
AU5952590A (en) | 1991-04-08 |
EP0450064B1 (en) | 2000-04-19 |
DK0450064T4 (da) | 2006-09-04 |
DK0450064T3 (da) | 2000-10-02 |
JP3268360B2 (ja) | 2002-03-25 |
MX167644B (es) | 1993-03-31 |
EP0450064A4 (en) | 1995-04-05 |
AU634795B2 (en) | 1993-03-04 |
EP0450064B2 (en) | 2006-08-09 |
CN1026274C (zh) | 1994-10-19 |
DE69033510D1 (de) | 2000-05-25 |
JPH04502675A (ja) | 1992-05-14 |
DE69033510T2 (de) | 2000-11-23 |
CA2037899A1 (en) | 1991-03-02 |
CA2037899C (en) | 1996-09-17 |
SG47028A1 (en) | 1998-03-20 |
DE69033510T3 (de) | 2007-06-06 |
ES2145737T3 (es) | 2000-07-16 |
EP0450064A1 (en) | 1991-10-09 |
CN1050633A (zh) | 1991-04-10 |
WO1991003790A1 (en) | 1991-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2145737T5 (es) | Codificador digital de voz con predictor a largo plazo mejorado por resolucion de submuestreos. | |
JP4064236B2 (ja) | 広帯域信号コーディング用の代数コードブック中のパルス位置と符号の索引付け方法 | |
ES2257098T3 (es) | Codificacion periodica de vocales. | |
ES2321147T3 (es) | Codificacion de habla de tasa de transmision variable. | |
JP5519334B2 (ja) | 音声符号化用開ループピッチ処理 | |
US5359696A (en) | Digital speech coder having improved sub-sample resolution long-term predictor | |
EP0516621B1 (en) | Dynamic codebook for efficient speech coding based on algebraic codes | |
ES2250197T3 (es) | Codificador de voz armonico-lpc con estructura de supertrama. | |
US9972325B2 (en) | System and method for mixed codebook excitation for speech coding | |
KR20060131782A (ko) | 최적의 다중 부호화 방법 | |
JPH0563000B2 (es) | ||
KR100465316B1 (ko) | 음성 부호화기 및 이를 이용한 음성 부호화 방법 | |
JP4460165B2 (ja) | 情報信号を符号化する方法および装置 | |
JP3071800B2 (ja) | 適応ポストフィルタ | |
JP2003015699A (ja) | 固定音源符号帳並びにそれを用いた音声符号化装置及び音声復号化装置 | |
JP3984021B2 (ja) | 音声/音響信号の符号化方法及び電子装置 | |
JP3284874B2 (ja) | 音声符号化装置 | |
RECOMMENDATION | ITU-Tg. 722.2 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG2A | Definitive protection |
Ref document number: 450064 Country of ref document: ES |