ES2351935T3 - Procedimiento y aparato para la cuantificación vectorial de una representación de envolvente espectral. - Google Patents
Procedimiento y aparato para la cuantificación vectorial de una representación de envolvente espectral. Download PDFInfo
- Publication number
- ES2351935T3 ES2351935T3 ES06740351T ES06740351T ES2351935T3 ES 2351935 T3 ES2351935 T3 ES 2351935T3 ES 06740351 T ES06740351 T ES 06740351T ES 06740351 T ES06740351 T ES 06740351T ES 2351935 T3 ES2351935 T3 ES 2351935T3
- Authority
- ES
- Spain
- Prior art keywords
- vector
- voice signal
- frame
- spectral envelope
- band voice
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
- Analogue/Digital Conversion (AREA)
- Transmitters (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
Abstract
Un procedimiento para un procesamiento de señales, comprendiendo dicho procedimiento: codificar una primera trama y una segunda trama de una señal de voz para producir vectores correspondientes primero y segundo, en el que el primer vector representa una envolvente espectral de la señal de voz durante la primera trama y el segundo vector representa una envolvente espectral de la señal de voz durante la segunda trama; generar un primer vector cuantificado, incluyendo dicha generación cuantificar un tercer vector que está basado en el primer vector, calcular un error de cuantificación del primer vector cuantificado; calcular un cuarto vector, incluyendo dicho cálculo añadir una versión a escala del error de cuantificación al segundo vector; y cuantificar el cuarto vector.
Description
La presente invención versa acerca un procesamiento de señales.
Un codificador de voz envía una caracterización de la envolvente espectral de una señal de voz a un decodificador en forma de un vector de frecuencias espectrales de línea (LSF) o una representación similar. Para una transmisión eficaz, se cuantifican estas LSF.
“Error Spectrum Shaping and Vector Quantization”, de Jon Dattorro y Christine Law, publicado en octubre de 1997, demuestra en forma de informe experimental que la información de retorno del error de truncamiento no tiene éxito en la cuantificación de imágenes fijas.
En un aspecto de la invención, se proporciona un procedimiento para un procesamiento de señales como se expone en la reivindicación 1.
En un aspecto adicional de la invención, se proporciona un aparato para un procesamiento de señales como se expone en la reivindicación 8. También se proporciona un medio legible por ordenador como se expone en la reivindicación 18.
Un cuantificador, según una realización, está configurado para cuantificar un valor aplanado de un valor de entrada (tal como un vector de frecuencias espectrales de línea o una porción de las mismas) para producir un valor correspondiente de salida, basándose el valor aplanado en un factor de escala y en un error de cuantificación de un valor de salida anterior.
La FIGURA 1a muestra un diagrama de bloques de un codificador E100 de voz según una realización.
La FIGURA 1b muestra un diagrama de bloques de un codificador E200 de voz.
La FIGURA 2 muestra un ejemplo de una correspondencia unidimensional llevada a cabo normalmente por medio de un cuantificador escalar.
La FIGURA 3 muestra un ejemplo sencillo de una correspondencia multidimensional según se lleva a cabo por medio de un cuantificador vectorial.
La FIGURA 4a muestra un ejemplo de una señal unidimensional, y la FIGURA 4b muestra un ejemplo de una versión de esta señal después de ser cuantificada.
La FIGURA 4c muestra un ejemplo de la señal de la FIGURA 4a según es cuantificada por un cuantificador 230b, como se muestra en la FIGURA 6.
La FIGURA 4d muestra un ejemplo de la señal de la FIGURA 4a según es cuantificada por un cuantificador 230a, como se muestra en la FIGURA 5.
La FIGURA 5 muestra un diagrama de bloques de una implementación 230a de un cuantificador 230 según una realización.
La FIGURA 6 muestra un diagrama de bloques de una implementación 230b de un cuantificador 230 según una realización.
La FIGURA 7a muestra un ejemplo de un gráfico de amplitud logarítmica en función de la frecuencia para una señal de voz.
La FIGURA 7b muestra un diagrama de bloques de un sistema de codificación de predicción lineal básica.
La FIGURA 8 muestra un diagrama de bloques de una implementación A122 de un codificador A 120 de banda estrecha.
La FIGURA 9 muestra un diagrama de bloques de una implementación B112 de un decodificador B110 de banda estrecha.
La FIGURA 10a es un diagrama de bloques de un codificador A100 de voz de banda ancha.
La FIGURA 10b es un diagrama de bloques de una implementación A102 de un codificador A 100 de voz de banda ancha.
La FIGURA 11a es un diagrama de bloques de un decodificador B100 de voz de banda ancha correspondiente al codificador A100 de voz de banda ancha.
La FIGURA 11b es un ejemplo de un decodificador B102 de voz de banda ancha correspondiente al codificador A102 de voz de banda ancha.
Debido al error de cuantificación, la envolvente espectral reconstruida en el decodificador puede exhibir fluctuaciones excesivas. Estas fluctuaciones pueden producir una calidad “vibrada” inaceptable en la señal decodificada. Las realizaciones incluyen sistemas, procedimientos, y aparatos configurados para llevar a cabo una codificación de alta calidad de voz de banda ancha utilizando una cuantificación de formación de ruido temporal de parámetros de envolvente espectral. Las características incluyen un aplanamiento fijo o adaptable de representaciones de coeficientes, tales como LSF de banda alta. Las aplicaciones particulares descritas en el presente documento incluyen un codificador de voz de banda ancha que combina una señal de banda estrecha con una señal de banda alta.
A no ser que se limite expresamente por su contexto, el término “calcular” se utiliza en el presente documento para indicar cualquiera de sus significados normales, tal como calcular, generar, y seleccionar de una lista de valores. Cuando se utiliza el término “comprender” en la presente invención y en las reivindicaciones, no excluye otros elementos u operaciones. Se utiliza la expresión “A está basado en B” para indicar cualquiera de sus significados normales, incluyendo los casos (i) “A es igual a B” y (ii) “A está basado al menos en B”. La expresión “Protocolo de Internet” incluye la versión 4, según se describe en el IETF (Internet Engineering Task Force) RFC (Request for Comments) 791, y versiones subsiguientes como la versión 6.
Se puede implementar un codificador de voz según un modelo de fuente-filtro que codifica la señal de voz de entrada como un conjunto de parámetros que describen un filtro. Por ejemplo, una envolvente espectral de una señal de voz se caracteriza por un número de picos que representan resonancias del aparato vocal y son denominados formantes. La FIGURA 7a muestra un ejemplo de tal envolvente espectral. La mayoría de los codificadores de voz codifican al menos esta estructura espectral grosera como un conjunto de parámetros, tal como coeficientes del filtro.
La FIGURA 1a muestra un diagrama de bloques de un codificador E100 de voz según una realización. Como se muestra en este ejemplo, se puede implementar el módulo de análisis como un módulo 210 de análisis de codificación de predicción lineal (LPC) que codifica la envolvente espectral de la señal S1 de voz como un conjunto de coeficientes de predicción lineal (LP) (por ejemplo, coeficientes de un filtro todo polos 1/A(z)). Normalmente, el módulo de análisis procesa la señal de entrada como una serie de tramas no solapantes, calculándose un nuevo conjunto de coeficientes para cada trama. En general, el periodo de la trama es un periodo durante el cual se puede esperar que la señal sea estacionaria localmente; un ejemplo común es de 20 milisegundos (equivalente a 160 muestras a una tasa de muestreo de 8 kHz). Un ejemplo de un módulo de análisis de la LPC de banda baja (como se muestra, por ejemplo, en la FIGURA 8 como el módulo 210 de análisis de la LPC) está configurado para calcular un conjunto de diez coeficientes de filtro de LP para caracterizar la estructura formante de cada trama de 20 milisegundos de la señal S20 de banda estrecha, y un ejemplo de un módulo de análisis de la LPC de banda alta (como se muestra, por ejemplo, en la FIGURA 10a como el codificador A200 de banda alta) está configurado para calcular un conjunto de seis (de forma alternativa, ocho) coeficientes de filtro de LP para caracterizar la estructura formante de cada trama de 20 milisegundos de la señal S30 de banda alta. También es posible implementar el módulo de análisis para procesar la señal de entrada como una serie de tramas solapantes.
El módulo de análisis puede estar configurado para analizar las muestras de cada trama directamente, o se pueden ponderar las muestras en primer lugar según una función de ventanas (por ejemplo, una ventana de Hamming). También se puede llevar a cabo el análisis en una ventana que es mayor que la trama, tal como una ventana de 30 mseg. Esta ventana puede ser simétrica (por ejemplo, 5-20-5, de forma que incluya los 5 milisegundos inmediatamente antes y después de la trama de 20 milisegundos) o ser asimétrica (por ejemplo, 10-20, de forma que incluya los últimos 10 milisegundos de la trama precedente). Normalmente, hay un módulo de análisis de LPC configurado para calcular los coeficientes de filtro de LP utilizando una recursión de Levinson-Durbin o el algoritmo de Leroux-Gueguen. En otra implementación, el módulo de análisis puede estar configurado para calcular un conjunto de coeficientes cepstrales para cada trama en vez de un conjunto de coeficientes de filtro de LP.
Se puede reducir de forma significativa la tasa de transmisión de bits de salida de un codificador de voz, con un efecto relativamente pequeño sobre la calidad de reproducción, al cuantificar los parámetros del filtro. Los coeficientes del filtro de predicción lineal son difíciles de cuantificar de forma eficaz y normalmente el codificador de voz establece una correspondencia entre ellos y otra representación, tal como pares espectrales de línea (LSP) o frecuencias espectrales de línea (LSF), para la cuantificación y/o la codificación entrópica. El codificador E100 de voz, según se muestra en la FIGURA 1a incluye una transformada 220 del coeficiente del filtro de LP a LSF configurado para transformar el conjunto de coeficientes de filtro de LP en un vector correspondiente de LSF S3. Otras representaciones de uno a uno de coeficientes de filtro de LP incluyen coeficientes parcor; valores de la relación logaritmo-área; pares espectrales de inmitancia (ISP); y frecuencias espectrales de inmitancia (ISF), que son utilizadas en el códec GSM (Sistema global para comunicaciones móviles) AMR-WB (Ancho de banda multitasa adaptable). Normalmente, se puede invertir una transformada entre un conjunto de coeficientes de filtro de LP y un conjunto correspondiente de LSF, pero las realizaciones también incluyen implementaciones de un codificador de voz en las que la transformada no es reversible sin error.
Normalmente, un codificador de voz incluye un cuantificador configurado para cuantificar el conjunto de LSF de banda estrecha (u otra representación de coeficientes) y para dar salida al resultado de esta cuantificación como los parámetros del filtro. Normalmente, la cuantificación se lleva a cabo utilizando un cuantificador vectorial que codifica el vector de entrada como un índice a una entrada de vector correspondiente en una tabla o en una lista de claves. También se puede configurar dicho cuantificador para llevar a cabo una cuantificación vectorial clasificada. Por ejemplo, se puede configurar tal cuantificador para seleccionar uno de un conjunto de códigos en base a la información que ya ha sido codificada dentro de la misma trama (por ejemplo, en el canal de banda baja y/o en el canal de banda alta). Normalmente, tal técnica proporciona una mayor eficacia de codificación a expensas de un almacenamiento adicional de códigos.
La FIGURA 1b muestra un diagrama de bloques de un decodificador correspondiente E200 de voz que incluye un cuantificador inverso 310 configurado para descuantificar las LSF cuantificadas S3, y una transformada 320 del coeficiente de filtro de LSF a LP configurada para transformar el vector LSF descuantificado en un conjunto de coeficientes de filtro de LP. Normalmente, se activa un filtro 330 de síntesis, configurado según los coeficientes de filtro de LP, por medio de una señal de excitación para producir una reproducción sintetizada, es decir, una señal decodificada S5 de voz, de la señal de entrada de voz. La señal de excitación puede estar basada en una señal aleatoria de ruido y/o en una representación cuantificada de la señal residual según es enviada por el codificador. En algunos codificadores multibanda, tal como un codificador A100 de voz de banda ancha y un decodificador B 100 (según se describe en el presente documento con referencia, por ejemplo, a las FIGURAS 10a, b y 11a, b), la señal de excitación para una banda está derivada de la señal de excitación para otra banda.
La cuantificación de las LSF introduce un error aleatorio que no está correlacionado normalmente de una trama a la siguiente. Este error puede provocar que las LSF cuantificadas sean menos planas que las LSF no cuantificadas y puede reducir la calidad perceptual de la señal decodificada. La cuantificación independiente de los vectores LSF aumenta en general la cantidad de fluctuación espectral de trama a trama en comparación con los vectores LSF no cuantificados, y estas fluctuaciones espectrales pueden provocar que la señal decodificada suene antinatural.
Knagenhjelm y Kleijn propusieron una solución complicada, en la que se lleva a cabo un aplanamiento de los parámetros LSF descuantificados en el decodificador. Esto reduce las fluctuaciones espectrales, pero a expensas de un retraso adicional. La presente solicitud describe procedimientos que utilizan una formación de ruido temporal en el lado del codificador, de forma que se pueden reducir las fluctuaciones espectrales sin un retraso adicional.
Típicamente, un cuantificador está configurado para establecer una correspondencia entre un valor de entrada y uno de un conjunto de valores diferenciados de salida. Hay disponible un número de valores de salida, de forma que se establece una correspondencia entre un intervalo de valores de entrada y un único valor de salida. La cuantificación aumenta la eficacia de codificación porque se puede transmitir un índice que indica el valor correspondiente de salida en menos bits que el valor original de entrada. La FIGURA 2 muestra un ejemplo de una correspondencia unidimensional realizada típicamente por un cuantificador escalar.
El cuantificador podría ser igualmente bien un cuantificador vectorial, y las LSF están cuantificadas normalmente utilizando un cuantificador vectorial. La FIGURA 3 muestra un ejemplo sencillo de una correspondencia multidimensional según se lleva a cabo por un cuantificador vectorial. En este ejemplo, se divide el espacio de entrada en un número de regiones de Voronoi (por ejemplo, según un criterio del vecino más cercano). La cuantificación establece una correspondencia entre cada valor de entrada y un valor que representa la región de Voronoi correspondiente (normalmente, el centroide), mostrado aquí como un punto. En este ejemplo, se divide el espacio de entrada en seis regiones, de forma que se puede representar cualquier valor de entrada por medio de un índice que únicamente tiene seis estados distintos.
Si la señal de entrada es muy plana, a veces puede producirse que la salida cuantificada es mucho menos plana, según un paso mínimo entre valores en el espacio de salida de la cuantificación. La FIGURA 4a muestra un ejemplo de una señal unidimensional plana que varía únicamente dentro de un nivel de cuantificación (solamente se muestra aquí un nivel tal), y la FIGURA 4b muestra un ejemplo de esta señal después de la cuantificación. Aunque la entrada de la FIGURA 4a varía únicamente en un pequeño intervalo, la salida resultante en la FIGURA 4b contiene más transiciones bruscas y es mucho menos plana. Tal efecto puede dar lugar a desperfectos audibles, y puede ser deseable reducir este efecto para las LSF (u otras representaciones de la envolvente espectral que va a ser cuantificada). Por ejemplo, se puede mejorar el rendimiento de cuantificación de las LSF al incorporar una formación de ruido temporal.
En un procedimiento según una realización, se estima un vector de parámetros de envolvente espectral una vez para cada trama (u otro bloque) de voz en el codificador. Se cuantifica el vector de parámetros para una transmisión eficaz al decodificador. Después de la cuantificación, se almacena el error de cuantificación (definido como la diferencia entre un vector de parámetros cuantificado y descuantificado). Se reduce el error de cuantificación de la trama N-1 por medio de un factor de escala y se añade al vector de parámetros de la trama N, antes de cuantificar el vector de parámetros de la trama N. Puede ser deseable para el valor del factor de escala ser menor cuando la diferencia entre las envolventes espectrales estimadas actuales y las anteriores es relativamente grande.
En un procedimiento según una realización, se calcula el vector de errores de cuantificación de LSF para cada trama y se multiplica por un factor de escala b que tiene un valor inferior a 1,0. Antes de la cuantificación, se añade el error de cuantificación a escala para la anterior trama al vector LSF (valor de entrada V10). Se puede describir una operación de cuantificación
5
10
15
20
25
30
7
de tal procedimiento por medio de una expresión, tal como la siguiente:
() = Q(() n + by n −1) − s(n −1)]),
yn s [(
en la que s(n) es el vector LSF aplanado que pertenece a la trama n, y(n) es el vector LSF cuantificado que pertenece a la trama n, Q (⋅) es una operación de cuantificación de vecino más cercano, y b es el factor de escala.
Un cuantificador 230 según una realización está configurado para producir un valor cuantificado de salida V30 de un valor aplanado V20 de un valor de entrada V10 (por ejemplo, un vector LSF), basándose el valor aplanado V20 en un factor de escala V40 y un error de cuantificación de un valor anterior de salida V30. Se puede aplicar tal cuantificador para reducir las fluctuaciones espectrales sin un retraso adicional. La FIGURA 5 muestra un diagrama de bloques de una implementación 230a del cuantificador 230, en el cual los valores que pueden ser particulares a esta implementación están indicados por el índice a. En este ejemplo, se calcula un error de cuantificación al restar el valor actual de entrada V10 del valor actual de salida V30a según es descuantificado por el cuantificador inverso Q20. Se almacena el error en un elemento DE10 de retraso. El valor aplanado V20a es una suma del valor actual de entrada V10 y del error de cuantificación de la trama anterior según cambia su escala (por ejemplo, multiplicado) por medio del factor de escala V40. También se puede implementar el cuantificador 230a de forma que se aplica el factor de escala V40 antes del almacenamiento del error de cuantificación en el elemento DE10 de retraso en su lugar.
La FIGURA 4d muestra un ejemplo de una secuencia (descuantificada) de valores de salida V30a según son producidos por el cuantificador 230a en respuesta a la señal de entrada de la FIGURA 4a. En este ejemplo, el valor del factor de escala V40 está fijado en 0,5. Se puede ver que la señal de la FIGURA 4d es más plana que la señal fluctuante de la FIGURA 4a.
Puede ser deseable utilizar una función recursiva para calcular la cantidad reintroducida. Por ejemplo, se puede calcular el error de cuantificación con respecto al valor actual de entrada en vez de con respecto al valor actual aplanado. Se puede describir dicho procedimiento por medio de una expresión tal como la siguiente:
n Qs () n [
y() = [ ( )], n sn = x() + by (n −1) − s(n −1)],
en la que x(n) es el vector LSF de entrada que pertenece a la trama n.
La FIGURA 6 muestra un diagrama de bloques de una implementación 230b del cuantificador 230, en la que los valores que pueden ser particulares a esta implementación están indicados por el índice b. En este ejemplo, se calcula un error de cuantificación al restar el valor actual del valor aplanado V20b del valor actual de salida V30b según es descuantificado por el cuantificador inverso Q20. Se almacena el error en el elemento DE10 de retraso. El valor aplanado V20b es una suma del valor actual de entrada V10 y del error de cuantificación de la trama anterior según cambia su escala (por ejemplo, multiplicado) por medio del factor de escala V40. También se puede implementar el cuantificador 230b de forma que se aplique el factor de escala V40 antes del almacenamiento del error de cuantificación en el elemento DE10 de retraso en su lugar. También es posible utilizar distintos valores de factor de escala V40 en la implementación 230a a diferencia de la implementación 230b.
La FIGURA 4c muestra un ejemplo de una secuencia (descuantificada) de valores de salida V30b tal como es producida por el cuantificador 230b en respuesta a la señal de entrada de la FIGURA 4a. En este ejemplo, el valor del factor de escala V40 está fijado en 0,5. Puede verse que la señal de la FIGURA 4c es más plana que la señal fluctuante de la FIGURA 4a.
Se hace notar que se pueden implementar las realizaciones según son mostradas en el presente documento al sustituir o aumentar un cuantificador existente Q10 según una disposición como se muestra en la FIGURA 5 o 6. Por ejemplo, se puede implementar el cuantificador Q10 como un cuantificador vectorial predictivo, un cuantificador de múltiples etapas, un cuantificador del vector de separadores, o según cualquier otro modelo de cuantificación LSF.
En un ejemplo, el valor del factor de escala está fijado en un valor deseado entre 0 y 1. De forma alternativa, puede ser deseable ajustar el valor del factor de escala de forma dinámica. Por ejemplo, puede ser deseable ajustar el valor del factor de escala dependiendo del grado de fluctuación ya presente en los vectores LSF no cuantificados. Cuando la diferencia entre los vectores LSF actual y previo es grande, el factor de escala es cercano a cero y, como resultado, casi no se forma ruido. Cuando el vector LSF actual difiere poco del anterior, el factor de escala es cercano a 1,0. De tal forma, se pueden retener las transiciones en la envolvente espectral en el tiempo, minimizando la distorsión espectral cuando la señal de voz cambia, mientras que se pueden reducir las fluctuaciones espectrales cuando la señal de voz es relativamente constante de una trama a la siguiente.
Se puede hacer que el valor del factor de escala sea proporcional a la distancia entre LSF consecutivas, y se puede utilizar cualquiera de diversas distancias entre vectores para determinar el cambio entre LSF. Normalmente, se utiliza la norma euclídea, pero otras que pueden utilizarse incluyen la distancia de Manhattan (norma 1), la distancia de Chebyshev (norma infinita), la distancia de Mahalanobis, la distancia de Hamming.
Puede ser deseable utilizar una medición ponderada de distancia para determinar un cambio entre vectores LSF consecutivos. Por ejemplo, se puede calcular la distancia d según una expresión tal como la siguiente:
P )
2
d = ∑ci (li − li ),
i=1
)
en la que l indica el vector LSF actual, l indica el vector LSF anterior, P indica el número de
5 elementos en cada vector LSF, el índice i indica el elemento vectorial LSF, y c indica un vector de factores de ponderación. Se pueden seleccionar los valores de c para resaltar los componentes de menor frecuencia que son más significativos perceptualmente. En un ejemplo, ci tiene el valor de 1,0 para i entre 1 y 8, de 0,8 para i = 9, y de 0,4 para i = 10. En otro ejemplo, se puede calcular la distancia d entre vectores LSF consecutivos según una
10 expresión tal como la siguiente:
P )
2
d = cw (l − l ),
∑ iii i i=1
En la que w indica un vector de factores variables de ponderación. En un ejemplo tal, wi tiene el valor P(fi)r , en la que P denota la LPC espectro de potencia evaluada en la frecuencia correspondiente f,y r es una constante que tiene un valor típico, por ejemplo, de 0,15 o 0,3. En
15 otro ejemplo, los valores de w están seleccionados según una función ponderada utilizada en el estándar ITU-T G.729:
⎧ π
i+1 i−1
w = ,
i ⎨ π 2
⎩ i+1 i−1
Estando seleccionados los valores límite cercanos a 0 y 0,5 en lugar de li-1 y li+1 para los elementos más bajo y más alto de w, respectivamente. En tales casos, ci puede tener los 20 valores indicados anteriormente. En otro ejemplo, ci tiene el valor de 1,0, salvo para c4 y c5 que
tienen el valor de 1,2.
Se puede apreciar en las FIGURAS 4a-d que, trama a trama, un procedimiento de formación de ruido temporal, según se describe en el presente documento, puede aumentar el error de cuantificación. Sin embargo, aunque el error absoluto cuadrado de la operación de
25 cuantificación puede aumentar, una ventaja potencial es que se puede mover el error de cuantificación a una parte distinta del espectro. Por ejemplo, se puede mover el error de cuantificación a las frecuencias más bajas, volviéndose de esta manera más plano. Dado que la señal de entrada también es plana, se puede obtener una señal de salida más plana como una suma de la señal de entrada y del error aplanado de cuantificación.
La FIGURA 7b muestra un ejemplo de una disposición básica de fuente-filtro según es aplicada a la codificación de la envolvente espectral de una señal S20 de banda estrecha. Un módulo de análisis calcula un conjunto de parámetros que caracterizan un filtro correspondiente al sonido de voz en un periodo de tiempo (normalmente 20 mseg). Un filtro de blanqueo (también denominado un filtro de error de análisis o predicción) configurado según aquellos parámetros del filtro que eliminan la envolvente espectral para aplanar espectralmente la señal. La señal blanqueada resultante (también denominada residual) tiene menos energía y, por lo tanto, menos variación y es más sencilla de codificar que la señal original de voz. También se pueden difundir de manera más uniforme los errores resultantes de la codificación de la señal residual por el espectro. Normalmente, se cuantifican los parámetros del filtro y residuales para una transmisión eficaz por el canal. En el decodificador, se excita un filtro de síntesis configurado según los parámetros del filtro por medio de una señal en base a la señal residual para producir una versión sintetizada del sonido original de voz. Normalmente, el filtro de síntesis está configurado para tener una función de transferencia que es el inverso de la función de transferencia del filtro de blanqueo. La FIGURA 8 muestra un diagrama de bloques de una implementación básica A122 de un codificador A120 de banda estrecha como se muestra en la FIGURA 10a.
Como se muestra en la FIGURA 8, un codificador A122 de banda estrecha también genera una señal residual al pasar la señal S20 de banda estrecha a través de un filtro 260 de blanqueo (también denominado un filtro de error de análisis o predicción) que está configurado según el conjunto de coeficientes del filtro. En este ejemplo particular, el filtro 260 de blanqueo está implementado como un filtro FIR, aunque también se pueden utilizar las implementaciones IIR. Normalmente, esta señal residual contendrá información importante perceptualmente de la trama de voz, tal como una estructura de gran duración relacionada con la frecuencia fundamental, que no está representada en los parámetros S40 del filtro de banda estrecha. El cuantificador 270 está configurado para calcular una representación cuantificada de esta señal residual para darle salida como la señal codificada S50 de excitación de banda estrecha. Normalmente, tal cuantificador incluye un cuantificador vectorial que codifica el vector de entrada como un índice a una entrada de vector correspondiente en una tabla o una lista de códigos. De forma alternativa, tal cuantificador puede estar configurado para enviar uno o más parámetros a partir de los cuales se puede generar el vector de forma dinámica en el decodificador, en vez de ser recuperado del almacenamiento, como en un procedimiento de códigos pobres. Se utiliza dicho procedimiento en modelos de codificación tal como CELP algebraico (predicción lineal con excitación por código) y en códecs tales como el 3GPP2 (2º Proyecto de Tercera Generación) EVRC (Códec mejorado de tasa variable de transmisión).
Es deseable que un codificador A120 de banda estrecha genere la señal codificada de excitación de banda estrecha según los mismos valores de los parámetros del filtro que estarán disponibles para el decodificador correspondiente de banda estrecha. De esta forma, la señal codificada resultante de la excitación de banda estrecha puede explicar ya en cierta medida la falta de correspondencia con el ideal en aquellos valores de los parámetros, tal como un error de cuantificación. En consecuencia, es deseable configurar el filtro de blanqueo utilizando los mismos valores de coeficientes que estarán disponibles en el decodificador. En el ejemplo básico del codificador A122, como se muestra en la FIGURA 8, el cuantificador inverso 240 descuantifica los parámetros S40 del filtro de banda estrecha, la transformada 250 del coeficiente del filtro de LSF a LP vuelve a establecer una correspondencia entre los valores resultantes y un conjunto correspondiente de coeficientes de filtro de LP, y se utiliza este conjunto de coeficientes para configurar el filtro 260 de blanqueo para generar la señal residual que es cuantificada por el cuantificador 270.
Algunas implementaciones de codificador A120 de banda estrecha están configuradas para calcular la señal codificada S50 de excitación de banda estrecha para identificar uno entre un conjunto de vectores de códigos que se corresponda mejor con la señal residual. Sin embargo, se debe hacer notar que también se puede implementar el codificador A120 de banda estrecha para calcular una representación cuantificada de la señal residual sin generar realmente la señal residual. Por ejemplo, el codificador A120 de banda estrecha puede estar configurado para utilizar un número de vectores de códigos para generar señales sintetizadas correspondientes (por ejemplo, según un conjunto actual de parámetros del filtro), y para seleccionar el vector de códigos asociado con la señal generada que se corresponda mejor con la señal original S20 de banda estrecha en un dominio ponderado perceptualmente.
La FIGURA 9 muestra un diagrama de bloques de una implementación B 112 del decodificador B110 de banda estrecha. Un cuantificador inverso 310 descuantifica los parámetros S40 del filtro de banda estrecha (en este caso, a un conjunto de LSF), y una transformada 320 del coeficiente del filtro de LSF a LP transforma las LSF en un conjunto de coeficientes del filtro (por ejemplo, como se ha descrito anteriormente con referencia al cuantificador inverso 240 y a la transformada 250 del codificador A122 de banda estrecha). El cuantificador inverso 340 descuantifica la señal codificada S50 de excitación de banda estrecha para producir una señal S80 de excitación de banda estrecha. En base a los coeficientes del filtro y a la señal S80 de excitación de la banda estrecha, el filtro 330 de síntesis de banda estrecha sintetiza la señal S90 de banda estrecha. En otras palabras, el filtro 330 de síntesis de banda estrecha está configurado para dar forma espectralmente a la señal S80 de excitación de banda estrecha según los coeficientes descuantificados del filtro para producir la señal S90 de banda estrecha. Como se muestra en la FIGURA 11a, el decodificador B112 de banda estrecha (en forma del decodificador B110 de banda estrecha) también proporciona una señal S80 de excitación de banda estrecha al decodificador B200 de banda alta, que la utiliza para derivar una señal de excitación de banda alta. En algunas implementaciones, el decodificador B110 de banda estrecha puede estar configurado para proporcionar información adicional al decodificador B200 de banda alta que se relaciona con la señal de banda estrecha, tal como la división espectral, la ganancia y el retraso de la frecuencia fundamental, y el modo de voz. El sistema de codificador A122 de banda estrecha y de decodificador B112 de banda estrecha es un ejemplo básico de un códec de voz de análisis por síntesis.
Tradicionalmente, las comunicaciones de voz por la red pública conmutada de teléfonos (PSTN) han estado limitadas en ancho de banda al intervalo de frecuencias de 300-400 kHz. Las redes nuevas para las comunicaciones de voz, tal como la telefonía celular y voz sobre IP (VoIP), pueden no tener los mismos límites de ancho de banda, y puede ser deseable transmitir y recibir comunicaciones de voz que incluyen un intervalo de frecuencias de banda ancha en tales redes. Por ejemplo, puede ser deseable soportar un intervalo de frecuencias de audio que se extiende hasta 50 Hz y/o hasta 7 u 8 kHz. También puede ser deseable soportar otras aplicaciones, tal como audio de alta calidad o el establecimiento de conferencias de audio/vídeo, que pueden tener un contenido de voz de audio en intervalos fuera de los límites tradicionales de la PSTN.
Un enfoque a la codificación de voz de banda ancha implica ajustar a escala una técnica de codificación de voz de banda estrecha (por ejemplo, una configurada para codificar el intervalo de 0-4 kHz) para cubrir el espectro de banda ancha. Por ejemplo, se puede muestrear una señal de voz a una tasa de transmisión más alta para incluir componentes a frecuencias más elevadas, y un se puede reconfigurar una técnica de codificación de banda estrecha para utilizar más coeficientes del filtro para representar esta señal de banda ancha. Sin embargo, las técnicas de codificación de banda estrecha, tal como CELP (predicción lineal con excitación de código), son intensivas en cuanto a cálculo, y un codificador CELP de banda ancha puede consumir demasiados ciclos de procedimientos como para ser práctico para muchas aplicaciones móviles y otras aplicaciones incorporadas. La codificación de todo el espectro de una señal de banda ancha con una calidad deseada utilizando dicha técnica también puede dar lugar a un aumento inaceptablemente grande del ancho de banda. Además, se necesitaría una transcodificación de dicha señal codificada antes de que se pudiese transmitir incluso su porción de banda estrecha en un sistema, o que fuese decodificada por el mismo, que solo soporte una codificación de banda estrecha.
La FIGURA 10a muestra un diagrama de bloques de un codificador A100 de voz de banda ancha que incluye codificadores separados A120 y A200 de voz de banda estrecha y de banda alta, respectivamente. Se pueden configurar cualquiera de los dos o ambos para llevar a cabo la cuantificación de LSF (u otra representación de coeficientes) utilizando una implementación del cuantificador 230, según se da a conocer en el presente documento. La FIGURA 11a muestra un diagrama de bloques de un decodificador correspondiente B100 de voz de banda ancha. En la FIGURA 10a, se puede implementar el banco A110 de filtros para producir la señal S20 de banda estrecha y la señal S30 de banda alta de una señal S10 de voz de banda ancha según las implementaciones y a los principios dados a conocer en la solicitud de patente
U.S. “SYSTEMS, METHODS, AND APPARATUS FOR SPEECH SIGNAL FILTERING”, presentada con la presente, que es ahora la publicación U.S. nº 2007/0088558.
Puede ser deseable implementar una codificación de voz de banda ancha, de forma que se pueda enviar al menos la porción de banda estrecha de la señal codificada a través de un canal de banda estrecha (tal como un canal de la PSTN) sin una transcodificación u otra modificación significativa. También puede ser deseable la eficacia de la extensión de codificación de banda ancha, por ejemplo, para evitar una reducción significativa en el número de usuarios que pueden ser atendidos en aplicaciones tales como la telefonía celular inalámbrica y la difusión por canales alámbricos e inalámbricos.
Un enfoque a la codificación de voz de banda ancha implica extrapolar la envolvente espectral de banda alta de la envolvente espectral codificada de banda estrecha. Sin embargo, aunque se puede implementar tal enfoque sin ningún aumento en el ancho de banda y sin una necesidad de transcodificar, en general no se puede predecir de forma precisa la envolvente espectral grosera ni la estructura formante de la porción de banda alta de una señal de voz a partir de la envolvente espectral de la porción de banda estrecha.
Un ejemplo particular del codificador A100 de voz de banda ancha está configurado para codificar la señal S 10 de voz de banda ancha a un tasa de transmisión de aproximadamente 8,55 kbps (kilobits por segundo), utilizándose aproximadamente 7,55 kbps para parámetros S40 del filtro de banda estrecha y la señal codificada S50 de excitación de banda estrecha, y utilizándose aproximadamente 1 kbps para los parámetros S60 de codificación de banda alta (por ejemplo, los parámetros del filtro y/o los parámetros de ganancia).
Puede ser deseable combinar las señales codificadas de banda baja y de banda alta en una única corriente de bits. Por ejemplo, puede ser deseable multiplexar las señales codificadas juntas para ser transmitidas (por ejemplo, por un canal alámbrico, óptico o inalámbrico de transmisión), o para ser almacenadas, como una señal codificada de voz de banda ancha. La FIGURA 10b muestra un diagrama de bloques de un codificador A102 de voz de banda ancha que incluye un multiplexor A130 configurado para combinar parámetros S40 del filtro de banda estrecha, una señal codificada S50 de excitación de banda estrecha, y parámetros S60 de codificación de banda alta en una señal multiplexada S70. La FIGURA 11b muestra un diagrama de bloques de una implementación correspondiente B 102 del decodificador B100 de voz de banda ancha.
Puede ser deseable que el multiplexor A130 esté configurado para incrustar la señal codificada de banda baja (incluyendo los parámetros S40 del filtro de banda estrecha y la señal codificada S50 de excitación de banda estrecha) como una subcorriente separable de la señal multiplexada S70, de forma que se pueda recuperar la señal codificada de banda baja y decodificar de forma independiente de otra porción de la señal multiplexada S70, tal como una señal de banda alta y/o de banda muy baja. Por ejemplo, la señal multiplexada S70 puede estar dispuesta de forma que se pueda recuperar la señal codificada de banda baja al eliminar los parámetros S60 de codificación de banda alta. Una ventaja potencial de tal característica es que se evita la necesidad de transcodificar la señal codificada de banda ancha antes de pasarla a un sistema que soporta la decodificación de la señal de banda baja pero no soporta la decodificación de la porción de banda alta.
Un aparato que incluye un cuantificador de formación de ruido y/o un codificador de voz de banda baja, de banda alta y/o de banda ancha según se describe en el presente documento también puede incluir circuitería configurada para transmitir la señal codificada en un canal de transmisión tal como un canal alámbrico, óptico o inalámbrico. Tal aparato también puede estar configurado para llevar a cabo una o más operaciones de codificación del canal en la señal, tal como una codificación de corrección de errores (por ejemplo, una codificación convolucional de tasa compatible) y/o una codificación de detección de errores (por ejemplo, una codificación de redundancia cíclica), y/o una o más capas de codificación del protocolo de la red (por ejemplo, Ethernet, TCP/IP, cdma2000).
Puede ser deseable implementar un codificador A120 de voz de banda baja como un codificador de voz de análisis por síntesis. La codificación de Predicción lineal con excitación por código (CELP) es una familia popular de codificación de análisis por síntesis, y las implementaciones de tales codificadores pueden llevar a cabo una codificación de la forma de onda de la señal residual, incluyendo tales operaciones como la selección de las entradas de códigos fijos y adaptables, operaciones de minimización de errores, y/u operaciones perceptuales ponderadas. Otras implementaciones de la codificación de análisis por síntesis incluyen la codificación de predicción lineal de la excitación mezclada (MELP), de CELP algebraico (ACELP), de CELP de relajación (RCELP), de excitación por impulsos regulares (RPE), de CELP de impulsos múltiples (MPE), y de predicción lineal con excitación por suma vectorial (VSELP). Los procedimientos de codificación relacionados incluyen la codificación de excitación multibanda (MBE) y de interpolación del prototipo de forma de onda (PWI). Los ejemplos de códecs normalizados de voz de análisis por síntesis incluyen el códec de tasa completa ETSI (Instituto Europeo de Estándares de Telecomunicaciones)-GSM (GSM 06.10), que utiliza una predicción lineal excitada por señal residual (RELP); el códec mejorado de GSM de tasa completa (ETSI-GSM 06.60); el codificador ITU (Unión Internacional de Telecomunicaciones) estándar de 11,8 kb/s G.729 Annex E; los códecs IS (Estándar Interino)641 para IS-136 (un sistema de acceso múltiple por división de tiempo); los códecs GSM de multitasa adaptable (GSM-AMR); y el códec 4GV ™ (Vocoder ™ de Cuarta Generación) (QUALCOMM Incorporated, San Diego, California, EE. UU.). Las implementaciones existentes de los codificadores de RCELP incluyen el Códec mejorado de tasa variable de transmisión (EVRC), según se describe en la Asociación de la Industria de Telecomunicaciones (TIA) IS127, y el Segundo Proyecto Conjunto de Tercera Generación (3GPP2) Vocodificador de modo seleccionable (SMV). Se pueden implementar los diversos codificadores de banda baja, de banda alta, y de banda ancha descritos en el presente documento según cualquiera de estas tecnologías, o cualquier otra tecnología de codificación de voz (ya sea conocida o esté aún sin desarrollar) que representa una señal de voz como (A) un conjunto de parámetros que describen un filtro y (B) una representación cuantificada de una señal residual que proporciona al menos parte de una excitación utilizada para activar el filtro descrito para reproducir la señal de voz.
Como se ha mencionado anteriormente, las realizaciones según están descritas en el presente documento incluyen implementaciones que pueden ser utilizadas para llevar a cabo una codificación incrustada, soportando la compatibilidad con sistemas de banda estrecha y evitando la necesidad de transcodificar. El soporte para una codificación de banda alta también puede servir para diferenciar en base al coste entre chips, conjuntos de chips, dispositivos, y/o redes que tienen un soporte de banda ancha con una retrocompatibilidad, y los que tienen únicamente un soporte de banda estrecha. También se puede utilizar un soporte para una codificación según se describe en el presente documento junto con una técnica para soportar una codificación de banda baja, y un sistema, procedimiento o aparato según tal realización puede soportar una codificación de componentes de frecuencia desde, por ejemplo, aproximadamente 50 o 100 Hz hasta aproximadamente 7 u 8 kHz.
Como se ha mencionado anteriormente, añadir un soporte de banda alta a un codificador de voz puede mejorar la inteligibilidad, especialmente con respecto a la diferenciación de las fricativas. Aunque un oyente humano normalmente puede derivar dicha diferenciación del contexto particular, un soporte de banda alta puede servir como una característica habilitante en el reconocimiento de voz y otras aplicaciones de interpretación por máquinas, tal como los sistemas para la navegación automatizada de menús por voz y/o un procesamiento automático de llamadas.
Un aparato según una realización puede estar incorporado en un dispositivo portátil para comunicaciones inalámbricas, tal como un teléfono celular o una agenda personal (PDA). De forma alternativa, se puede incluir tal aparato en otro dispositivo de comunicaciones, tal como en un microteléfono de VoIP, en un ordenador personal configurado para soportar comunicaciones VoIP, o en un dispositivo de red configurado para encaminar comunicaciones telefónicas o de VoIP. Por ejemplo, se puede implementar un aparato según una realización en un chip o conjunto de chips para un dispositivo de comunicaciones. Dependiendo de la aplicación particular, dicho dispositivo también puede incluir tales características como una conversión de analógico a digital y/o de digital a analógico de una señal de voz, circuitería para llevar a cabo la amplificación y/u otras operaciones de procesamiento de señales en una señal de voz, y/o circuitería de radiofrecuencia para la transmisión y/o recepción de la señal codificada de voz.
Se contempla y se da a conocer explícitamente que las realizaciones pueden incluir y/o ser utilizadas con una cualquiera o más de las otras características dadas a conocer en la solicitud provisional de patente U.S. nº 60/667.901, ahora la publicación U.S. nº 2007/0088542. Tales características incluyen el desplazamiento de la señal S30 de banda alta y/o de la señal S120 de excitación de banda alta según una regularización u otro desplazamiento de la señal S80 de excitación de banda estrecha o de la señal residual S50 de banda estrecha. Tales características incluyen un aplanamiento adaptable de las LSF, que puede llevarse a cabo antes de una cuantificación como se describe en el presente documento. Tales características también incluyen un aplanamiento fijo o adaptable de una ganancia de la envolvente, y una atenuación adaptable de una ganancia de la envolvente.
Se proporciona la anterior presentación de las realizaciones descritas para permitir a cualquier experto en la técnica realizar o utilizar la presente invención. Son posibles diversas modificaciones a estas realizaciones, y también se pueden aplicar los principios genéricos presentados en el presente documento a otras realizaciones. Por ejemplo, se puede implementar una realización en parte o en todo como un circuito cableado, como una configuración de circuito fabricada en un circuito integrado de aplicación específica, o como un programa de soporte lógico inalterable cargado en un almacenamiento no volátil o un programa de software cargado de o en un medio de almacenamiento de datos como código legible por máquina, siendo dicho código instrucciones que pueden ser ejecutadas por un conjunto de elementos lógicos tales como un microprocesador u otra unidad de procesamiento de señales digitales. El medio de almacenamiento de datos puede ser un conjunto de elementos de almacenamiento tal como una memoria de semiconductores (que puede incluir sin limitación RAM dinámica o estática (memoria de acceso aleatorio), ROM (memoria de solo lectura), y/o RAM flash), o memoria ferroeléctrica, magnetorresistiva, ovónica, polimérica, o de cambio de fase; o un medio de disco tal como un disco magnético u óptico. Se debería comprender que el término “software” incluye código fuente, código de lenguaje ensamblador, código máquina, código binario, soporte lógico inalterable, macrocódigo, microcódigo, uno cualquiera o más de conjuntos o secuencias de instrucciones que pueden ser ejecutados por un conjunto de elementos lógicos, y cualquier combinación de tales ejemplos.
Se pueden implementar los diversos elementos de implementaciones de un cuantificador de formación de ruido; de un codificador A200 de voz de banda alta; de un codificador A100 y A102 de voz de banda ancha; y disposiciones que incluyen uno o más aparatos tales, como dispositivos electrónicos y/u ópticos que residen, por ejemplo, en el mismo chip o entre dos o más chips en un conjunto de chips, aunque también se contemplan otras disposiciones sin dicha limitación. Se pueden implementar uno o más elementos de tal aparato en todo o en parte como uno o más conjuntos de instrucciones dispuestos para ejecutar en uno o más conjuntos fijos o programables de elementos lógicos (por ejemplo, transistores, puertas) tales como microprocesadores, procesadores incorporados, núcleos IP, procesadores de señales digitales, FPGA (matrices de puertas de campo programable), ASSP (productos estándar de aplicación específica) y ASIC (circuitos integrados de aplicación específica). También es posible que uno o más elementos tales tengan una estructura en común (por ejemplo, un procesador utilizado para ejecutar porciones de código correspondientes a distintos elementos en distintos momentos, un conjunto de instrucciones ejecutadas para llevar a cabo tareas correspondientes a distintos elementos en distintos momentos, o una disposición de dispositivos electrónicos y/u ópticos que llevan a cabo operaciones para distintos elementos en distintos momentos). Además, es posible que se utilicen uno o más de tales elementos para llevar a cabo tareas o ejecutar otros conjuntos de instrucciones que no están relacionados directamente con una operación del aparato, tal como una tarea relacionada con otra operación de un dispositivo o sistema en el que está incorporado el aparato.
Las realizaciones también incluyen procedimientos adicionales de procesamiento de voz, de codificación de voz, y de supresión de ráfagas de banda alta como se da a conocer expresamente en el presente documento, por ejemplo, por medio de las descripciones de las realizaciones estructurales configuradas para llevar a cabo tales procedimientos. Cada uno de estos procedimientos también puede estar implementado tangiblemente (por ejemplo, en uno o más medios de almacenamiento de datos como se ha enumerado anteriormente) como uno o más conjuntos de instrucciones legibles y/o ejecutables por una máquina, incluyendo un conjunto de elementos lógicos (por ejemplo, un procesador, un microprocesador, un microcontrolador, u otra máquina de estado finito). Por lo tanto, no se pretende que la presente invención esté limitada a las realizaciones mostradas anteriormente sino, más bien, se le debe conceder el alcance más amplio definido por las reivindicaciones adjuntas.
Claims (32)
- 1.
- Un procedimiento para un procesamiento de señales, comprendiendo dicho procedimiento:
codificar una primera trama y una segunda trama de una señal de voz para producir vectores correspondientes primero y segundo, en el que el primer vector representa una envolvente espectral de la señal de voz durante la primera trama y el segundo vector representa una envolvente espectral de la señal de voz durante la segunda trama; generar un primer vector cuantificado, incluyendo dicha generación cuantificar un tercer vector que está basado en el primer vector, calcular un error de cuantificación del primer vector cuantificado; calcular un cuarto vector, incluyendo dicho cálculo añadir una versión a escala del error de cuantificación al segundo vector; y cuantificar el cuarto vector.
- 2.
- El procedimiento según la reivindicación 1, en el que dicho cálculo de un error de cuantificación incluye calcular una diferencia entre el primer vector cuantificado y el tercer vector.
- 3.
- El procedimiento según la reivindicación 1, en el que dicho cálculo de un error de cuantificación incluye calcular una diferencia entre el primer vector cuantificado y al menos una porción del primer vector.
- 4.
- El procedimiento según la reivindicación 1, incluyendo dicho procedimiento calcular el error de cuantificación a escala, comprendiendo dicho cálculo multiplicar el error de cuantificación por un factor de escala, en el que el factor de escala está basado en una distancia entre al menos una porción del primer vector y una porción correspondiente del segundo vector.
- 5.
- El procedimiento según la reivindicación 4, en el que cada uno de entre los vectores primero y segundo incluye una pluralidad de frecuencias espectrales de línea.
- 6.
- El procedimiento según la reivindicación 1, en el que cada uno de entre los vectores
primero y segundo incluye una representación de una pluralidad de coeficientes de filtro de predicción lineal.
- 7.
- El procedimiento según la reivindicación 1, en el que cada uno de entre los vectores primero y segundo incluye una pluralidad de frecuencias espectrales de línea.
- 8.
- Un aparato que comprende:
un medio para codificar una primera trama y una segunda trama de una señal de voz para producir vectores primero y segundo correspondientes, en el que el primer vector representa una envolvente espectral de la señal de voz durante la primera trama y el segundo vector representa una envolvente espectral de la señal de voz durante la segunda trama; un medio para generar un primer vector cuantificado, incluyendo dicha generación cuantificar un tercer vector que está basado en el primer vector; un medio para calcular un error de cuantificación del primer vector cuantificado; y un medio para calcular un cuarto vector, incluyendo dicho cálculo añadir una versión a escala del error de cuantificación al segundo vector, en el que dicho medio para generar un primer vector cuantificado está configurado para cuantificar el cuarto vector.
- 9.
- El aparato según la reivindicación 8, en el que:
dicho medio para codificar comprende un codificador de voz;
dicho medio para generar comprende un cuantificador;
dicho medio para calcular un error de cuantificación del primer vector cuantificado
comprende un primer sumador; y
dicho medio para calcular un cuarto vector comprende un segundo sumador.
- 10.
- El aparato según la reivindicación 9, en el que dicho primer sumador está configurado para calcular el error de cuantificación en base a la diferencia entre el primer vector cuantificado y el tercer vector.
- 11.
- El aparato según la reivindicación 9, en el que dicho primer sumador está configurado para calcular el error de cuantificación en base a una diferencia entre el primer vector
cuantificado y al menos una porción del primer vector.
- 12.
- El aparato según la reivindicación 9, incluyendo dicho aparato un multiplicador configurado para calcular el error de cuantificación a escala en base a un producto del error de cuantificación y a un factor de escala, en el que dicho aparato incluye lógica configurada para calcular el factor de escala en base a una distancia entre al menos una porción del primer vector y una porción correspondiente del segundo vector.
- 13.
- El aparato según la reivindicación 12, en el que cada uno de entre los vectores primero y segundo incluye una pluralidad de frecuencias espectrales de línea.
- 14.
- El aparato según la reivindicación 9, en el que cada uno de entre los vectores primero y segundo incluye una representación de una pluralidad de coeficientes de filtro de predicción lineal.
- 15.
- El aparato según la reivindicación 9, en el que cada uno de entre los vectores primero y segundo incluye una pluralidad de frecuencias espectrales de línea.
- 16.
- El aparato según la reivindicación 9, comprendiendo dicho aparato un dispositivo para comunicaciones inalámbricas.
- 17.
- El aparato según la reivindicación 9, comprendiendo dicho aparato un dispositivo configurado para transmitir una pluralidad de paquetes compatibles con una versión del Protocolo de Internet, en el que la pluralidad de paquetes describe el primer vector cuantificado.
- 18.
- Un medio legible por ordenador que comprende instrucciones que, tras ser ejecutadas en un procesador, hacen que el procesador lleve a cabo las etapas del procedimiento de una cualquiera de las reivindicaciones 1 a 6.
- 19.
- El procedimiento según la reivindicación 1, en el que la segunda trama sigue inmediatamente a la primera trama en la señal de voz.
- 20.
- El procedimiento según la reivindicación 1, en el que cada uno de los vectores primero y
segundo representa una envolvente espectral aplanada de forma adaptable.
- 21.
- El procedimiento según la reivindicación 1, en el que dicho procedimiento comprende:
descuantificar el cuarto vector; y
calcular una señal de excitación en base al cuarto vector descuantificado.
- 22.
- El procedimiento según la reivindicación 1, en el que dicho procedimiento comprende filtrar una señal de voz de banda ancha para obtener una señal de voz de banda estrecha y una señal de voz de banda alta, y en el que el primer vector representa una envolvente espectral de la señal de voz de banda estrecha durante la primera trama, y en el que el segundo vector representa una envolvente espectral de la señal de voz de banda estrecha durante la segunda trama.
- 23.
- El procedimiento según la reivindicación 1, en el que dicho procedimientos comprende filtrar una señal de voz de banda ancha para obtener una señal de voz de banda estrecha y una señal de voz de banda alta, y en el que el primer vector representa una envolvente espectral de la señal de voz de banda alta durante la primera trama, y en el que el segundo vector representa una envolvente espectral de la señal de voz de banda alta durante la segunda trama.
- 24.
- El procedimiento según la reivindicación 1, en el que dicho procedimiento comprende:
filtrar una señal de voz de banda ancha para obtener una señal de voz de banda estrecha y una señal de voz de banda alta, en el que (A) el primer vector representa una envolvente espectral de la señal de voz de banda estrecha durante la primera trama y (B) el segundo vector representa una envolvente espectral de la señal de voz de banda estrecha durante la segunda trama; descuantificar el cuarto vector; en base al cuarto vector descuantificado, calcular una señal de excitación para la señal de voz de banda estrecha; y, en base a la señal de excitación para la señal de voz de banda estrecha, derivar una señal de excitación para la señal de voz de banda alta.
- 25.
- El procedimiento según la reivindicación 1, en el que dicha cuantificación del cuarto
vector comprende llevar a cabo una cuantificación del vector de separadores del cuarto vector.
- 26.
- El aparato según la reivindicación 8 o 9, en el que la segunda trama sigue inmediatamente a la primera trama en la señal de voz.
- 27.
- El aparato según la reivindicación 8 o 9, en el que cada uno de entre los vectores primero y segundo representa una envolvente espectral aplanada de forma adaptable.
- 28.
- El aparato según la reivindicación 8 o 9, en el que dicho aparato comprende:
un medio para descuantificar el cuarto vector; y un medio para calcular una señal de excitación en base al cuarto vector descuantificado.
- 29.
- El aparato según la reivindicación 8 o 9, en el que dicho aparato comprende un medio para filtrar una señal de voz de banda ancha para obtener una señal de voz de banda estrecha y una señal de voz de banda alta, y en el que el primer vector representa una envolvente espectral de la señal de voz de banda estrecha durante la primera trama, y en el que el segundo vector representa una envolvente espectral de la señal de voz de banda estrecha durante la segunda trama.
- 30.
- El aparato según la reivindicación 8 o 9, en el que dicho aparato comprende un medio para filtrar una señal de voz de banda ancha para obtener una señal de voz de banda estrecha y una señal de voz de banda alta, y en el que el primer vector representa una envolvente espectral de la señal de voz de banda alta durante la primera trama, y en el que el segundo vector representa una envolvente espectral de la señal de voz de banda alta durante la segunda trama.
- 31.
- El aparato según la reivindicación 8 o 9, en el que dicho aparato comprende:
un medio para filtrar una señal de voz de banda ancha para obtener una señal de voz de banda estrecha y una señal de voz de banda alta, en el que (A) el primer vector representa una envolvente espectral de la señal de voz de banda estrecha durante la primera trama y (B) el segundo vector representa una envolvente
espectral de la señal de voz de banda estrecha durante la segunda trama;
un medio para descuantificar el cuarto vector;
un medio para calcular una señal de excitación para la señal de voz de banda
estrecha en base al cuarto vector descuantificado; y
5 un medio para derivar una señal de excitación para la señal de voz de banda alta en base a la señal de excitación parra la señal de voz de banda estrecha.
32. El aparato según la reivindicación 8 o 9, en el que dicho medio para generar un primer
vector cuantificado está configurado para cuantificar el cuarto vector al llevar a cabo una 10 cuantificación del vector de separadores del cuarto vector.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US66790105P | 2005-04-01 | 2005-04-01 | |
US667901P | 2005-04-01 | ||
US673965P | 2005-04-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2351935T3 true ES2351935T3 (es) | 2011-02-14 |
Family
ID=39406063
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES06740355T Active ES2350494T3 (es) | 2005-04-01 | 2006-04-03 | Procedimiento y aparatos para codificar y decodificar una parte de banda alta de una señal de habla. |
ES06740357T Active ES2358125T3 (es) | 2005-04-01 | 2006-04-03 | Procedimiento y aparato para un filtrado de antidispersión de una señal ensanchada de excitación de predicción de velocidad de ancho de banda. |
ES06740351T Active ES2351935T3 (es) | 2005-04-01 | 2006-04-03 | Procedimiento y aparato para la cuantificación vectorial de una representación de envolvente espectral. |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES06740355T Active ES2350494T3 (es) | 2005-04-01 | 2006-04-03 | Procedimiento y aparatos para codificar y decodificar una parte de banda alta de una señal de habla. |
ES06740357T Active ES2358125T3 (es) | 2005-04-01 | 2006-04-03 | Procedimiento y aparato para un filtrado de antidispersión de una señal ensanchada de excitación de predicción de velocidad de ancho de banda. |
Country Status (3)
Country | Link |
---|---|
CN (8) | CN101185126B (es) |
ES (3) | ES2350494T3 (es) |
UA (6) | UA95776C2 (es) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2603246C (en) | 2005-04-01 | 2012-07-17 | Qualcomm Incorporated | Systems, methods, and apparatus for anti-sparseness filtering |
CN101620854B (zh) * | 2008-06-30 | 2012-04-04 | 华为技术有限公司 | 频带扩展的方法、***和设备 |
CN101964690B (zh) * | 2009-07-22 | 2012-07-04 | 联芯科技有限公司 | 一种harq合并译码方法、装置及*** |
CN102044250B (zh) * | 2009-10-23 | 2012-06-27 | 华为技术有限公司 | 频带扩展方法及装置 |
CN102812512B (zh) * | 2010-03-23 | 2014-06-25 | Lg电子株式会社 | 处理音频信号的方法和装置 |
CN102610231B (zh) | 2011-01-24 | 2013-10-09 | 华为技术有限公司 | 一种带宽扩展方法及装置 |
DK3407352T3 (da) * | 2011-02-18 | 2022-06-07 | Ntt Docomo Inc | Taleafkoder, talekoder, taleafkodningsfremgangsmåde, talekodningsfremgangsmåde, taleafkodningsprogram og talekodningsprogram |
US9070361B2 (en) * | 2011-06-10 | 2015-06-30 | Google Technology Holdings LLC | Method and apparatus for encoding a wideband speech signal utilizing downmixing of a highband component |
ES2805308T3 (es) * | 2011-11-03 | 2021-02-11 | Voiceage Evs Llc | Mejora del contenido insonoro para decodificador CELP de tasa baja |
CN102543091B (zh) * | 2011-12-29 | 2014-12-24 | 深圳万兴信息科技股份有限公司 | 一种模拟音效的生成***及方法 |
RU2601188C2 (ru) * | 2012-02-23 | 2016-10-27 | Долби Интернэшнл Аб | Способы и системы для эффективного восстановления высокочастотного аудиоконтента |
PL2830057T3 (pl) * | 2012-05-23 | 2019-01-31 | Nippon Telegraph And Telephone Corporation | Kodowanie sygnału audio |
CN103928031B (zh) | 2013-01-15 | 2016-03-30 | 华为技术有限公司 | 编码方法、解码方法、编码装置和解码装置 |
US9728200B2 (en) * | 2013-01-29 | 2017-08-08 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for adaptive formant sharpening in linear prediction coding |
CN103971693B (zh) | 2013-01-29 | 2017-02-22 | 华为技术有限公司 | 高频带信号的预测方法、编/解码设备 |
US9601125B2 (en) * | 2013-02-08 | 2017-03-21 | Qualcomm Incorporated | Systems and methods of performing noise modulation and gain adjustment |
US9711156B2 (en) * | 2013-02-08 | 2017-07-18 | Qualcomm Incorporated | Systems and methods of performing filtering for gain determination |
EP2830064A1 (en) * | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for decoding and encoding an audio signal using adaptive spectral tile selection |
EP2830055A1 (en) * | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Context-based entropy coding of sample values of a spectral envelope |
US9620134B2 (en) * | 2013-10-10 | 2017-04-11 | Qualcomm Incorporated | Gain shape estimation for improved tracking of high-band temporal characteristics |
US10083708B2 (en) * | 2013-10-11 | 2018-09-25 | Qualcomm Incorporated | Estimation of mixing factors to generate high-band excitation signal |
US9384746B2 (en) * | 2013-10-14 | 2016-07-05 | Qualcomm Incorporated | Systems and methods of energy-scaled signal processing |
US9293143B2 (en) * | 2013-12-11 | 2016-03-22 | Qualcomm Incorporated | Bandwidth extension mode selection |
US20150170655A1 (en) * | 2013-12-15 | 2015-06-18 | Qualcomm Incorporated | Systems and methods of blind bandwidth extension |
US10163447B2 (en) * | 2013-12-16 | 2018-12-25 | Qualcomm Incorporated | High-band signal modeling |
CN103714822B (zh) * | 2013-12-27 | 2017-01-11 | 广州华多网络科技有限公司 | 基于silk编解码器的子带编解码方法及装置 |
US9984699B2 (en) * | 2014-06-26 | 2018-05-29 | Qualcomm Incorporated | High-band signal coding using mismatched frequency ranges |
EP2980798A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Harmonicity-dependent controlling of a harmonic filter tool |
CN106448688B (zh) | 2014-07-28 | 2019-11-05 | 华为技术有限公司 | 音频编码方法及相关装置 |
US9595269B2 (en) * | 2015-01-19 | 2017-03-14 | Qualcomm Incorporated | Scaling for gain shape circuitry |
US10847170B2 (en) * | 2015-06-18 | 2020-11-24 | Qualcomm Incorporated | Device and method for generating a high-band signal from non-linearly processed sub-ranges |
FI3696813T3 (fi) | 2016-04-12 | 2023-01-31 | Audiokooderi audiosignaalin koodaamiseksi, menetelmä audiosignaalin koodaamiseksi ja tietokoneohjelma havaitulla huippuspektrialeella tarkastettuna ylemmällä taajuuskaistalla | |
PL3555885T3 (pl) * | 2016-12-16 | 2021-01-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Sposób i koder do obsługi współczynników reprezentacji obwiedni |
US10825467B2 (en) * | 2017-04-21 | 2020-11-03 | Qualcomm Incorporated | Non-harmonic speech detection and bandwidth extension in a multi-source environment |
US10431231B2 (en) * | 2017-06-29 | 2019-10-01 | Qualcomm Incorporated | High-band residual prediction with time-domain inter-channel bandwidth extension |
TWI723545B (zh) | 2019-09-17 | 2021-04-01 | 宏碁股份有限公司 | 語音處理方法及其裝置 |
US11956111B2 (en) * | 2020-02-14 | 2024-04-09 | Huawei Technologies Co., Ltd. | Multi-rate crest factor reduction |
CN111402907B (zh) * | 2020-03-13 | 2023-04-18 | 大连理工大学 | 一种基于g.722.1的多描述语音编码方法 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4805193A (en) * | 1987-06-04 | 1989-02-14 | Motorola, Inc. | Protection of energy information in sub-band coding |
US5455888A (en) * | 1992-12-04 | 1995-10-03 | Northern Telecom Limited | Speech bandwidth extension method and apparatus |
EP0732687B2 (en) * | 1995-03-13 | 2005-10-12 | Matsushita Electric Industrial Co., Ltd. | Apparatus for expanding speech bandwidth |
US6097824A (en) * | 1997-06-06 | 2000-08-01 | Audiologic, Incorporated | Continuous frequency dynamic range audio compressor |
FI113571B (fi) * | 1998-03-09 | 2004-05-14 | Nokia Corp | Puheenkoodaus |
JP3696091B2 (ja) * | 1999-05-14 | 2005-09-14 | 松下電器産業株式会社 | オーディオ信号の帯域を拡張するための方法及び装置 |
US6393394B1 (en) * | 1999-07-19 | 2002-05-21 | Qualcomm Incorporated | Method and apparatus for interleaving line spectral information quantization methods in a speech coder |
JP4792613B2 (ja) * | 1999-09-29 | 2011-10-12 | ソニー株式会社 | 情報処理装置および方法、並びに記録媒体 |
EP1147514B1 (en) * | 1999-11-16 | 2005-04-06 | Koninklijke Philips Electronics N.V. | Wideband audio transmission system |
WO2001052241A1 (en) * | 2000-01-11 | 2001-07-19 | Matsushita Electric Industrial Co., Ltd. | Multi-mode voice encoding device and decoding device |
US6704711B2 (en) * | 2000-01-28 | 2004-03-09 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for modifying speech signals |
US6732070B1 (en) * | 2000-02-16 | 2004-05-04 | Nokia Mobile Phones, Ltd. | Wideband speech codec using a higher sampling rate in analysis and synthesis filtering than in excitation searching |
US6947888B1 (en) * | 2000-10-17 | 2005-09-20 | Qualcomm Incorporated | Method and apparatus for high performance low bit-rate coding of unvoiced speech |
US6615169B1 (en) * | 2000-10-18 | 2003-09-02 | Nokia Corporation | High frequency enhancement layer coding in wideband speech codec |
CN1272911C (zh) * | 2001-07-13 | 2006-08-30 | 松下电器产业株式会社 | 音频信号解码装置及音频信号编码装置 |
US6988066B2 (en) * | 2001-10-04 | 2006-01-17 | At&T Corp. | Method of bandwidth extension for narrow-band speech |
WO2003038812A1 (en) * | 2001-11-02 | 2003-05-08 | Matsushita Electric Industrial Co., Ltd. | Audio encoding and decoding device |
DE60214027T2 (de) * | 2001-11-14 | 2007-02-15 | Matsushita Electric Industrial Co., Ltd., Kadoma | Kodiervorrichtung und dekodiervorrichtung |
MXPA03005133A (es) * | 2001-11-14 | 2004-04-02 | Matsushita Electric Ind Co Ltd | Dispositivo de codificacion, dispositivo de decodificacion y sistema de los mismos. |
WO2003065353A1 (en) * | 2002-01-30 | 2003-08-07 | Matsushita Electric Industrial Co., Ltd. | Audio encoding and decoding device and methods thereof |
KR100446242B1 (ko) * | 2002-04-30 | 2004-08-30 | 엘지전자 주식회사 | 음성 부호화기에서 하모닉 추정 방법 및 장치 |
BRPI0305710B1 (pt) * | 2002-08-01 | 2017-11-07 | Panasonic Corporation | "apparatus and method of decoding of audio" |
CN1186765C (zh) * | 2002-12-19 | 2005-01-26 | 北京工业大学 | 2.3kb/s谐波激励线性预测语音编码方法 |
FI118550B (fi) * | 2003-07-14 | 2007-12-14 | Nokia Corp | Parannettu eksitaatio ylemmän kaistan koodaukselle koodekissa, joka käyttää kaistojen jakoon perustuvia koodausmenetelmiä |
CN1598926A (zh) * | 2003-09-16 | 2005-03-23 | 株式会社东芝 | 具有噪声抑制的音频编码方法和设备 |
-
2006
- 2006-04-03 UA UAA200712057A patent/UA95776C2/ru unknown
- 2006-04-03 CN CN200680018212.6A patent/CN101185126B/zh active Active
- 2006-04-03 ES ES06740355T patent/ES2350494T3/es active Active
- 2006-04-03 CN CN2006800181405A patent/CN101180676B/zh active Active
- 2006-04-03 ES ES06740357T patent/ES2358125T3/es active Active
- 2006-04-03 CN CN2006800181496A patent/CN101180677B/zh active Active
- 2006-04-03 UA UAA200712011A patent/UA92341C2/ru unknown
- 2006-04-03 CN CN2006800183538A patent/CN101185125B/zh active Active
- 2006-04-03 CN CN2006800182696A patent/CN101185120B/zh active Active
- 2006-04-03 UA UAA200712061A patent/UA93677C2/ru unknown
- 2006-04-03 ES ES06740351T patent/ES2351935T3/es active Active
- 2006-04-03 CN CN200680018213.0A patent/CN101185127B/zh active Active
- 2006-04-03 UA UAA200712008A patent/UA91853C2/ru unknown
- 2006-04-03 UA UAA200712062A patent/UA94041C2/ru unknown
- 2006-04-03 CN CN2006800183519A patent/CN101184979B/zh active Active
- 2006-04-03 UA UAA200712012A patent/UA92742C2/ru unknown
- 2006-04-03 CN CN2006800182709A patent/CN101185124B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101180677A (zh) | 2008-05-14 |
CN101185125A (zh) | 2008-05-21 |
CN101180677B (zh) | 2011-02-09 |
UA92341C2 (ru) | 2010-10-25 |
CN101185124A (zh) | 2008-05-21 |
CN101185127A (zh) | 2008-05-21 |
CN101180676A (zh) | 2008-05-14 |
UA91853C2 (ru) | 2010-09-10 |
CN101184979B (zh) | 2012-04-25 |
UA92742C2 (ru) | 2010-12-10 |
UA93677C2 (ru) | 2011-03-10 |
CN101185120B (zh) | 2012-05-30 |
CN101185126A (zh) | 2008-05-21 |
UA94041C2 (ru) | 2011-04-11 |
CN101185126B (zh) | 2014-08-06 |
UA95776C2 (ru) | 2011-09-12 |
CN101185125B (zh) | 2012-01-11 |
CN101185120A (zh) | 2008-05-21 |
CN101180676B (zh) | 2011-12-14 |
CN101185127B (zh) | 2014-04-23 |
CN101184979A (zh) | 2008-05-21 |
ES2358125T3 (es) | 2011-05-05 |
CN101185124B (zh) | 2012-01-11 |
ES2350494T3 (es) | 2011-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2351935T3 (es) | Procedimiento y aparato para la cuantificación vectorial de una representación de envolvente espectral. | |
CA2603219C (en) | Method and apparatus for vector quantizing of a spectral envelope representation | |
ES2460893T3 (es) | Sistemas, procedimientos y aparato para limitar el factor de ganancia | |
JP5437067B2 (ja) | 音声信号に関連するパケットに識別子を含めるためのシステムおよび方法 | |
WO2003102921A1 (en) | Method and device for efficient frame erasure concealment in linear predictive based speech codecs | |
US9293143B2 (en) | Bandwidth extension mode selection | |
ES2687249T3 (es) | Decisión no sonora/sonora para el procesamiento de la voz | |
JP2004310088A (ja) | 半レート・ボコーダ | |
ES2778076T3 (es) | Método y disposición para suavizar ruido estacionario de fondo |