ES2948895T3 - Aparato para codificar una señal de voz empleando ACELP en el dominio de autocorrelación - Google Patents
Aparato para codificar una señal de voz empleando ACELP en el dominio de autocorrelación Download PDFInfo
- Publication number
- ES2948895T3 ES2948895T3 ES18184592T ES18184592T ES2948895T3 ES 2948895 T3 ES2948895 T3 ES 2948895T3 ES 18184592 T ES18184592 T ES 18184592T ES 18184592 T ES18184592 T ES 18184592T ES 2948895 T3 ES2948895 T3 ES 2948895T3
- Authority
- ES
- Spain
- Prior art keywords
- matrix
- vector
- autocorrelation matrix
- codebook vector
- codebook
- 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
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/02—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 spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
- G10L19/038—Vector quantisation, e.g. TwinVQ audio
-
- 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/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
- G10L19/107—Sparse pulse excitation, e.g. by using algebraic codebook
-
- 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
-
- 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/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Mathematical Analysis (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Se proporciona un aparato para codificar una señal de voz determinando un vector de libro de códigos de un algoritmo de codificación de voz. El aparato comprende un determinante de matriz (110) para determinar una matriz de autocorrelación R, y un determinador de vector de libro de códigos (120) para determinar el vector de libro de códigos dependiendo de la matriz de autocorrelación R. El determinante de matriz (110) está configurado para determinar la matriz de autocorrelación R determinando coeficientes vectoriales de un vector r, en donde la matriz de autocorrelación R comprende una pluralidad de filas y una pluralidad de columnas, en donde el vector r indica una de las columnas o una de las filas de la matriz de autocorrelación R, en donde R (i, j) = r (| i - j |), en donde R (i, j) indica los coeficientes de la matriz de autocorrelación R, en donde i es un primer índice que indica uno de una pluralidad de filas de la matriz de autocorrelación R, y en donde j es un segundo índice que indica una de la pluralidad de columnas de la matriz de autocorrelación R. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Aparato para codificar una señal de voz empleando ACELP en el dominio de autocorrelación
La presente invención se refiere a la codificación de señales de audio, y, en particular, a un aparato para codificar una señal de voz empleando ACELP en el dominio de autocorrelación.
En la codificación de voz mediante predicción lineal con excitación por código (CELP), la envolvente espectral (o de manera equivalente, estructura de tiempo a corto plazo) de la señal de voz se describe mediante un modelo predictivo lineal (LP) y el residuo de predicción se modela mediante un predictor a largo plazo (LTP, también conocido como libro de códigos adaptativo) y una señal residual representada por un libro de códigos (también conocido como libro de códigos fijo). Este último, el libro de códigos fijo, se aplica generalmente como libro de códigos algebraicos, en el que el libro de códigos se representa por una fórmula o algoritmo algebraico, mediante lo cual no hay necesidad de almacenar todo el libro de códigos, sino sólo el algoritmo, al tiempo que simultáneamente se permite un algoritmo de búsqueda rápida. Los códecs de CELP que aplican un libro de códigos algebraicos para el residuo se conocen como códecs de predicción lineal con excitación por código algebraico (ACELP) (véanse [1], [2], [3], [4]).
En la codificación de voz, emplear un libro de códigos de residuos algebraicos es el enfoque de elección en códecs principales tales como [17], [13], [18]. ACELP se basa en modelar la envolvente espectral mediante un filtro predictivo lineal (LP), la frecuencia fundamental de sonidos de voz mediante un predictor a largo plazo (LTP) y el residuo de predicción mediante un libro de códigos algebraicos. Los parámetros LTP y libro de códigos algebraicos se optimizan mediante un algoritmo de mínimos cuadrados en un dominio perceptual, en el que el dominio perceptual se especifica por un filtro.
La parte computacionalmente más compleja de algoritmos de tipo ACELP, el cuello de botella, es la optimización del libro de códigos de residuos. El único algoritmo óptimo actualmente conocido es una búsqueda exhaustiva de un espacio de tamaño Np para cada subtrama, en la que en cada punto se requiere una evaluación de complejidad & (N2). Dado que valores típicos son una longitud de subtrama N = 64 (es decir 5 ms) con p = 8 pulsos, esto implica más de 1020 operaciones por segundo. Resulta evidente que esto no es una opción viable. Para permanecer dentro de los límites de complejidad establecidos por requisitos de hardware, los enfoques de optimización de libro de códigos tienen que funcionar con algoritmos iterativos no óptimos. En el pasado se han presentado muchos algoritmos y mejoras del proceso de optimización de este tipo, por ejemplo [17], [19], [20], [21], [22].
De manera explícita, la optimización de ACELP se basa en describir la señal de voz x(n) como la salida de un modelo predictivo lineal de tal manera que la señal de voz estimada es
donde a(k) son los coeficientes de LP y é(k) es la señal residual. En forma de vector, esta ecuación puede expresarse como
donde la matriz H se define como la matriz de convolución de Toeplitz triangular inferior con diagonal h(0) y diagonales inferiores h(l), ..., h(39) y el vector h(k) es la respuesta a impulso del modelo LP. Debe observarse que en esta notación se omite el modelo perceptual (que corresponde habitualmente a un modelo LP ponderado), pero se supone que el modelo perceptual está incluido en la respuesta a impulso h(k). Esta omisión no tiene ningún impacto sobre la generalidad de los resultados, pero simplifica la notación. La inclusión del modelo perceptual se aplica como en [1].
El ajuste del modelo se mide mediante el error cuadrático. Es decir,
Este error cuadrático se usa para encontrar los parámetros de modelo óptimos. En este caso, se supone que se usan tanto el LTP como el libro de códigos de pulso para modelar el vector e. La aplicación práctica puede encontrarse en las publicaciones relevantes (véase [1-4]).
En la práctica, la medición anterior del ajuste puede simplificarse de la siguiente manera. Comprendiendo la matriz B = HTH las correlaciones de h(n), siendo ck el k-ésimo vector de libro de códigos fijo y estableciendo é = g ck, donde g es un factor de ganancia. Suponiendo que g se elige de manera óptima, entonces se busca en el libro de códigos maximizando el criterio de búsqueda
donde d = HTx es un vector que comprende la correlación entre el vector objetivo y la respuesta a impulso h(n) y el superíndice T indica la transpuesta. El vector d y la matriz B se calculan antes la búsqueda en el libro de códigos. Esta fórmula se usa habitualmente en la optimización tanto del LTP como del libro de códigos de pulso.
Se ha invertido mucha investigación en optimizar el uso de la fórmula anterior. Por ejemplo,
1) Solo se calculan los elementos de la matriz B a los que accede realmente el algoritmo de búsqueda. O:
2) Se reduce el algoritmo de ensayo y error de la búsqueda de pulso para intentar solo aquellos vectores de libro de códigos que tienen una alta probabilidad de éxito, basándose en una selección previa (véase por ejemplo [1,5]).
Un detalle práctico del algoritmo de ACELP se refiere al concepto de respuesta a impulso nulo (ZIR). El concepto aparece cuando se considera la señal de síntesis de dominio original en comparación con el residuo sintetizado. El residuo se codifica en bloques que corresponden al tamaño de trama o subtrama. Sin embargo, cuando se sintetiza la señal de dominio original con el modelo LP de la ecuación 1, el residuo de longitud fija tendrá una “cola” de longitud infinita, correspondiente a la respuesta a impulso del filtro LP. Es decir, aunque el vector de libro de códigos de residuo tiene una longitud finita, tendrá un efecto sobre la señal de síntesis mucho más allá de la trama o subtrama actual. El efecto de una trama en el futuro puede calcularse extendiendo el vector de libro de códigos con ceros y calculando la salida de síntesis de la ecuación 1 para esta señal extendida. Esta extensión de la señal sintetizada se conoce como la respuesta a impulso nulo. Después, para tener en cuenta el efecto de tramas anteriores en la codificación de la trama actual, se resta la ZIR de la trama anterior a partir del objetivo de la trama actual. Por tanto, en la codificación de la trama actual solo se considera la parte de la señal que no se modeló ya por la trama anterior.
En la práctica, la ZIR se tiene en cuenta de la siguiente manera: cuando se ha codificado una (sub)trama N-1, se extiende el residuo cuantificado con ceros hasta la longitud de la siguiente (sub)trama N. Se filtra el residuo cuantificado extendido mediante LP para obtener la ZIR de la señal cuantificada. Después se resta la ZIR de la señal cuantificada a partir de la señal original (no cuantificada) y esta señal modificada forma la señal objetivo cuando se codifica la (sub)trama N. De esta manera, todos los errores de cuantificación realizados en la (sub)trama N-1 se tendrán en cuenta al cuantificar la (sub)trama N. Esta práctica mejora considerablemente la calidad perceptual de la señal de salida.
El documento US5265167 A da a conocer una señal de señal de voz que se introduce en una sección de generación de señales de excitación, un filtro de predicción y un calculador de parámetros de predicción. El calculador de parámetros de predicción calcula un número predeterminado de parámetros de predicción (parámetro de LPC o coeficiente de reflexión) mediante un método de autocorrelación o un método de covarianza, y suministra los parámetros de predicción adquiridos a un codificador de parámetros de predicción. Los códigos de los parámetros de predicción se envían a un decodificador y a un multiplexor. El decodificador envía valores decodificados de los códigos de los parámetros de predicción al filtro de predicción y a la sección de generación de señales de excitación. El filtro de predicción calcula una señal residual de predicción, que es la diferencia entre la señal de voz de entrada y el parámetro de predicción decodificado, y la envía a la sección de generación de señales de excitación. La sección de generación de señales de excitación calcula el intervalo de pulso y la amplitud para cada una de un número predeterminado de subtramas basándose en la señal de voz de entrada, la señal residual de predicción y el valor cuantificado del parámetro de predicción, y los envía al multiplexor. El multiplexor combina estos códigos y los códigos de los parámetros de predicción, y envía los resultados como señal de salida de un aparato de codificación a una trayectoria de transmisión o similar.
Sin embargo, se apreciaría sumamente si pudieran proporcionarse conceptos adicionalmente mejorados para la codificación de audio.
El objetivo de la presente invención es proporcionar tales conceptos mejorados para la codificación de objetos de audio. El objetivo de la presente invención se resuelve mediante un aparato según la reivindicación 1, mediante un método para codificar según la reivindicación 14 y mediante un programa informático según la reivindicación 16.
Se proporciona un aparato para codificar una señal de voz determinando un vector de libro de códigos de un algoritmo de codificación de voz. El aparato comprende un determinador de matriz para determinar una matriz de autocorrelación R, y un determinador de vector de libro de códigos para determinar el vector de libro de códigos dependiendo de la matriz de autocorrelación R. El aparato está configurado para determinar una pluralidad de coeficientes predictivos lineales dependiendo de la señal de voz. Además, el aparato está configurado para determinar una señal residual dependiendo de la pluralidad de coeficientes predictivos lineales. El determinador de matriz está configurado para determinar la matriz de autocorrelación R dependiendo de la señal residual. El determinador de matriz está configurado para determinar la matriz de autocorrelación R determinando coeficientes de vector de un vector r, en el que la matriz de autocorrelación R comprende una pluralidad de filas y una pluralidad de columnas, en el que el vector r indica una de las columnas o una de las filas de la matriz de autocorrelación R, en el que R(i, j) = r(|i- j|), en el que R(i, j) indica los coeficientes de la matriz de autocorrelación R, en el que i es un primer índice que indica una de una pluralidad de filas de la matriz de autocorrelación R, y en el que j es un segundo índice que indica una de una pluralidad de columnas de la matriz de autocorrelación R.
El determinador (120) de vector de libro de códigos está configurado para determinar el vector de libro de códigos é del algoritmo de codificación de voz que maximiza la correlación normalizada
en el que R es la matriz de autocorrelación, y en el que é es uno de los vectores de libro de códigos del algoritmo de codificación de voz, y en el que e es una señal residual original sin cuantificar.
El aparato está configurado para usar el vector de libro de códigos para codificar la señal de voz. Por ejemplo, el aparato puede generar la señal de voz codificada de tal manera que la señal de voz codificada comprende una pluralidad de coeficientes de predicción lineal, una indicación de la frecuencia fundamental de sonidos de voz (por ejemplo, parámetros de altura) y una indicación del vector de libro de códigos, por ejemplo, un índice del vector de libro de códigos.
Además, como ejemplo, se describe un decodificador para decodificar una señal de voz codificada que está codificándose mediante un aparato según la realización descrita anteriormente para obtener una señal de voz decodificada.
Además, se proporciona un sistema. El sistema comprende un aparato según la realización descrita anteriormente para codificar una señal de voz de entrada para obtener una señal de voz codificada. Además, el sistema comprende un decodificador según la realización descrita anteriormente para decodificar la señal de voz codificada para obtener una señal de voz decodificada.
Se proporcionan conceptos mejorados para la función objetivo del algoritmo de codificación de voz ACELP, que tienen en cuenta no solo el efecto de la respuesta a impulso de la trama anterior para la trama actual, sino también el efecto de la respuesta a impulso de la trama actual en la siguiente trama, cuando se optimizan parámetros de la trama actual. Algunas realizaciones implementan estas mejoras cambiando la matriz de correlación, lo cual es fundamental para la optimización de ACELP convencional por una matriz de autocorrelación, que tiene una estructura de Toeplitz hermitiana. Empleando esta estructura, es posible realizar la optimización de ACELP de manera más eficiente tanto en cuanto a complejidad computacional como en cuanto a requisitos de memoria. Simultáneamente, el modelo perceptual aplicado también se vuelve más sistemático y pueden evitarse dependencias entre tramas para mejorar el rendimiento bajo la influencia de pérdida de paquetes.
La codificación de voz con el paradigma ACELP se basa en un algoritmo de mínimos cuadrados en un dominio perceptual, en el que el dominio perceptual se especifica por un filtro. Según realizaciones, la complejidad computacional de la definición convencional del problema de los mínimos cuadrados puede reducirse teniendo en cuenta el impacto de la respuesta a impulso nulo en la siguiente trama. Las modificaciones proporcionadas introducen una estructura de Toeplitz en una matriz de correlación que aparece en la función objetivo, lo que simplifica la estructura y reduce los cálculos. Los conceptos propuestos reducen la complejidad computacional hasta un 17% sin reducir la calidad perceptual.
Realizaciones se basan en el hallazgo de que mediante una ligera modificación de la función objetivo, puede reducirse adicionalmente la complejidad en la optimización del libro de códigos de residuos. Esta reducción de la complejidad se produce sin reducción de la calidad perceptual. Como alternativa, dado que la optimización de residuos de ACELP se basa en algoritmos de búsqueda iterativos, con la modificación presentada es posible aumentar el número de iteraciones sin un aumento de la complejidad, y de esta manera obtener una calidad perceptual mejorada.
Tanto la función objetivo convencional como la modificada modelan la percepción e intentan minimizar la distorsión perceptual. Sin embargo, la solución óptima al enfoque convencional no es necesariamente óptima con respecto a la función objetivo modificada y viceversa. Esto por sí solo no significa que un enfoque sea mejor que el otro, pero argumentos analíticos sí que muestran que la función objetivo modificada es más sistemática. Específicamente, a diferencia de la función objetivo convencional, los conceptos proporcionados tratan todas las muestras dentro de una subtrama por igual, con modelos de señal y perceptuales sistemáticos y bien definidos.
En realizaciones, las modificaciones propuestas pueden aplicarse de tal manera que solo cambian la optimización del libro de códigos de residuos. Por tanto, no cambia la estructura de flujo de bits y puede aplicarse de una manera retrocompatible con códecs de ACELP existentes.
Además, se proporciona un método para codificar una señal de voz determinando un vector de libro de códigos de un algoritmo de codificación de voz. El método comprende:
- determinar una pluralidad de coeficientes predictivos lineales dependiendo de la señal de voz
- determinar una señal residual dependiendo de la pluralidad de coeficientes predictivos lineales
- determinar una matriz de autocorrelación R dependiendo de la residual señal
- determinar el vector de libro de códigos dependiendo de la matriz de autocorrelación R.
Determinar una matriz de autocorrelación R comprende determinar coeficientes de vector de un vector r. La matriz de autocorrelación R comprende una pluralidad de filas y una pluralidad de columnas. El vector r indica una de las columnas o una de las filas de la matriz de autocorrelación R, en el que
R(i, j) indica los coeficientes de la matriz de autocorrelación R, en el que i es un primer índice que indica una de una pluralidad de filas de la matriz de autocorrelación R, y en el que j es un segundo índice que indica una de una pluralidad de columnas de la matriz de autocorrelación R. El método comprende determinar el vector de libro de códigos é del algoritmo de codificación de voz que maximiza la correlación normalizada
en el que R es la matriz de autocorrelación, y en el que é es uno de los vectores de libro de códigos del algoritmo de codificación de voz, y en el que e es una señal residual original sin cuantificar.
Además, como ejemplo, se describe un método para decodificar una señal de voz codificada que está codificándose según el método para codificar una señal de voz según la realización descrita anteriormente para obtener una señal de voz decodificada.
Además, se proporciona un método. El método comprende:
- codificar una señal de voz de entrada según el método descrito anteriormente para codificar una señal de voz para obtener una señal de voz codificada. Y:
- decodificar la señal de voz codificada para obtener una señal de voz decodificada según el método descrito anteriormente para decodificar una señal de voz.
Además, se proporcionan programas informáticos para implementar los métodos descritos anteriormente cuando se ejecutan en un ordenador o procesador de señales.
En las reivindicaciones dependientes se proporcionarán realizaciones preferidas.
A continuación, se describen en más detalle realizaciones de la presente invención con referencia a las figuras, en las que:
la figura 1 ilustra un aparato para codificar una señal de voz determinando un vector de libro de códigos de un algoritmo de codificación de voz según una realización
la figura 2 ilustra un decodificador según una realización y un decodificador, y
la figura 3 ilustra un sistema que comprende un aparato para codificar una señal de voz según una realización y un decodificador.
La figura 1 ilustra un aparato para codificar una señal de voz determinando un vector de libro de códigos de un algoritmo de codificación de voz según una realización.
El aparato comprende un determinador (110) de matriz para determinar una matriz de autocorrelación R, y un determinador (120) de vector de libro de códigos para determinar el vector de libro de códigos dependiendo de la matriz de autocorrelación R.
El determinador (110) de matriz está configurado para determinar la matriz de autocorrelación R determinando coeficientes de vector de un vector r.
La matriz de autocorrelación R comprende una pluralidad de filas y una pluralidad de columnas, en la que el vector r indica una de las columnas o una de las filas de la matriz de autocorrelación R, en la que R(i , j) = r(|i-j|).
R(i, j) indica los coeficientes de la matriz de autocorrelación R, en la que i es un primer índice que indica una de una pluralidad de filas de la matriz de autocorrelación R, y en la que j es un segundo índice que indica una de una pluralidad de columnas de la matriz de autocorrelación R.
El aparato está configurado para usar el vector de libro de códigos para codificar la señal de voz. Por ejemplo, el aparato puede generar la señal de voz codificada de tal manera que la señal de voz codificada comprende una pluralidad de coeficientes de predicción lineal, una indicación de la frecuencia fundamental de sonidos de voz (por ejemplo, parámetros de altura) y una indicación del vector de libro de códigos.
Según una realización particular para codificar una señal de voz, el aparato está configurado para determinar una pluralidad de coeficientes predictivos lineales (a(k)) dependiendo de la señal de voz. Además, el aparato está configurado para determinar una señal residual dependiendo de la pluralidad de coeficientes predictivos lineales (a(k)). Además, el determinador 110 de matriz puede estar configurado para determinar la matriz de autocorrelación R dependiendo de la señal residual.
A continuación, se describen algunas realizaciones adicionales de la presente invención.
Volviendo a las ecuaciones 3 y 4, en las que la ecuación 3 define un error cuadrático que indica un ajuste del modelo perceptual como:
y en las que la ecuación 4
indica el criterio de búsqueda, que debe maximizarse.
El algoritmo de ACELP se centra en la ecuación 4, que a su vez se basa en la ecuación 3.
Realizaciones se basan en el hallazgo de que el análisis de estas ecuaciones revela que los valores residuales cuantificados e(k) tienen un efecto muy diferente sobre la energía de error e2 dependiendo del índice k. Por ejemplo, cuando se consideran los índices k=1 y k=N, si el único valor distinto de cero del libro de códigos de residuos aparece a k=1, entonces la energía de error e2 da como resultado:
mientras que para k=N, la energía de error g2 da como resultado:
Dicho de otro modo, e(1) se pondera con la respuesta a impulso h(k) en el intervalo de 1 a N, mientras que e(N) solo se pondera con h(1). En cuanto a la ponderación espectral, esto significa que cada e(k) se pondera con una función de ponderación espectral diferente, de manera que, en el extremo, e(N) se pondera de manera lineal. Desde un punto de vista de modelado perceptual, tendría sentido aplicar la misma ponderación perceptual para todas las muestras dentro de una trama. Por tanto, la ecuación 3 deberá extenderse de tal manera que tenga en cuenta la ZIR en la siguiente trama. Debe constatarse en este caso que, entre otras cosas, la diferencia con respecto a la técnica anterior es que se tienen en cuenta tanto la ZIR de la trama anterior como también la ZIR en la siguiente trama. Siendo e(k) el residuo original sin cuantificar y é(k) el residuo cuantificado. Además, siendo ambos residuos distintos de cero en el intervalo de 1 a N y cero en los demás casos. Entonces
De manera equivalente, las mismas relaciones en forma de matriz pueden expresarse como:
en la que H es la matriz de convolución dimensional infinita correspondiente a la respuesta a impulso h(k). Insertando en la ecuación 3 se proporciona
en la que R ~ HTH es \a matriz de Toeplitz hermitiana de tamaño finito correspondiente a la autocorrelación de h(n). Mediante una derivación similar a la de la ecuación 4, se obtiene la función objetivo:
Esta función objetivo es muy similar a la ecuación 4. La principal diferencia es que en lugar de la matriz de correlación B, en este caso hay una matriz de Toeplitz hermitiana R en el denominador.
Tal como se explicó anteriormente, esta formulación novedosa tiene el beneficio de que todas las muestras del residuo e dentro de una trama recibirán la misma ponderación perceptual. Sin embargo, de manera importante, esta formulación también introduce beneficios considerables en la complejidad computacional y requisitos de memoria. Dado que R es una matriz de Toeplitz hermitiana, la primera columna r(0)..r(N- 1) define completamente la matriz. Dicho de otro modo, en lugar de almacenar la matriz NxN completa, es suficiente con almacenar solo el vector Nx1 r(k), proporcionando por tanto un ahorro considerable de asignación de memoria. Además, también se reduce la complejidad computacional ya que no es necesario determinar la totalidad de los NxN elementos, sino tan solo la primera columna Nx1. Además, la indexación dentro de la matriz es sencilla, ya que el elemento (i,j) puede encontrarse mediante R(i, j) = r(|i-j|).
Como la función objetivo en (10) es tan similar a la ecuación 4, puede conservarse la estructura de la ACELP general. Específicamente, puede realizarse cualquiera de las siguientes operaciones con cualquier función objetivo, con tan solo modificaciones secundarias en el algoritmo:
1. Optimización del retardo de LTP (libro de códigos adaptativo)
2. Optimización del libro de códigos de pulso para modelar el residuo (libro de códigos fijo)
3. Optimización de las ganancias de LTP y pulsos, o bien por separado o bien de manera conjunta 4. Optimización de cualquier otro parámetro cuyo rendimiento pueda medirse mediante el error cuadrático de la ecuación 3.
La única parte que tiene que modificarse en aplicaciones de ACELP convencional es la gestión de la matriz de correlación B, que se sustituye por la matriz R, así como el objetivo, que debe incluir la ZIR en la siguiente trama. Algunas realizaciones emplean los conceptos de la presente invención sustituyendo, en cualquier parte en el algoritmo de ACELP, donde aparezca la matriz de correlación B, por la matriz de autocorrelación R. Si se omiten todas las instancias de la matriz B, entonces puede evitarse calcular su valor.
Por ejemplo, la matriz de autocorrelación R se determina determinando los coeficientes de la primera columna r(0), .., r(N-1) de la matriz de autocorrelación R.
La matriz R se define en la ecuación 9 mediante R=HTH, mediante lo cual sus elementos Rij=r(i-j) pueden calcularse mediante
Es decir, la secuencia r(k) es la autocorrelación de h(k).
Sin embargo, con frecuencia r(k) puede obtenerse mediante medios incluso más eficaces. Específicamente, en normas de codificación de voz tales como AMR y G.718, la secuencia h(k) es la respuesta a impulso de un filtro predictivo lineal A(z) filtrado mediante una función de ponderación perceptual W(z), que se interpreta que incluye el preénfasis. Dicho de otro modo, h(k) indica una respuesta a impulso perceptualmente ponderada de un modelo predictivo lineal.
El filtro A(z) se estima habitualmente a partir de la autocorrelación de la señal de voz rx(k), es decir, rx(k) ya se conoce. Dado que H(z) = A-1(u)W(z), se desprende que la secuencia de autocorrelación r(k) puede determinarse calculando la autocorrelación de w(k) mediante
mediante lo cual la autocorrelación de h(k) es
Dependiendo del diseño del sistema global, estas ecuaciones pueden modificarse en consecuencia en algunas realizaciones.
Entonces puede determinarse, por ejemplo, un vector de libro de códigos de un libro de códigos basándose en la matriz de autocorrelación R. En particular, (10) puede usarse, según algunas realizaciones, para determinar un vector de libro de códigos del libro de códigos.
En este contexto, (10) define la función objetivo en la forma que por lo demás es la misma forma que en las normas de codificación de voz AMR y G.718 pero de tal manera que la matriz R tiene ahora una estructura de Toeplitz simétrica. La función objetivo es básicamente una correlación normalizada entre el vector objetivo d y el vector de libro de códigos é y el mejor vector de libro de códigos posible es el que proporciona el valor más alto para la correlación normalizada f(é), por ejemplo, que maximiza la correlación normalizada f(é).
Por tanto, pueden optimizarse vectores de libro de códigos con los mismos enfoques que en las normas mencionadas. Específicamente, por ejemplo, puede aplicarse el algoritmo muy sencillo para hallar el mejor vector de libro de códigos algebraicos (es decir, el libro de códigos fijo) é para el residuo, tal como se describe a continuación.
Sin embargo, debe observarse que se ha invertido un esfuerzo significativo en el diseño de algoritmos de búsqueda eficientes (véase AMR y G.718), y este algoritmo de búsqueda solo es un ejemplo de aplicación ilustrativo.
1. Definir un vector de libro de códigos inicial §0 = [0,0...0]T y establecer el número de pulsos a p = 0
2. Establecer la medida de calidad de libro de códigos inicial a f0 = 0.
4. Para cada posición k en el vector de libro de códigos
(i) Aumentar p en uno.
(ii) Si la posición k ya contiene un pulso negativo, continuar a la etapa vii.
(v) Si el vector de libro de códigos temporal es mejor que cualquiera de los anteriores, entonces guardar este vector de libro de códigos, establecer f, = / « )
(vi) Si la posición k ya contiene un pulso positivo, continuar a la siguiente iteración.
(viii) Evaluar la calidad del vector de libro de códigos temporal mediantef y ( v s p )
5. Definir el vector de libro de códigos ép para que sea el último (es decir, el mejor) de los vectores de libro de códigos guardados.
6. Si el número de pulsos p ha alcanzado el número de pulsos deseado, entonces definir el vector de salida como é = ép, y parar. De lo contrario, continuar con la etapa 4.
Tal como ya se indicó, en comparación con aplicaciones de ACELP convencionales, en algunas realizaciones, el objetivo se modifica de tal manera que incluye la ZIR en la siguiente trama.
La ecuación 1 describe el modelo predictivo lineal usado en códecs de tipo ACELP. La respuesta a impulso nulo (ZIR, también conocida algunas veces como respuesta a entrada nula), se refiere a la salida del modelo predictivo lineal cuando el residuo de la trama actual (y todas las tramas futuras) se establece a cero. La ZIR puede calcularse fácilmente definiendo el residuo que es cero desde la posición N en adelante como
mediante lo cual la ZIR puede definirse como
Restando esta ZIR de la señal de entrada, se obtiene una señal que depende del residuo únicamente de la trama actual en adelante.
De manera equivalente, la ZIR puede determinarse filtrando la señal de entrada pasada como
La señal de entrada en la que se ha eliminado ZIR se conoce con frecuencia como el objetivo y puede definirse para la trama que comienza en la posición K como d(n) = x(n) - ZIRi<(n). Este objetivo es en principio exactamente igual al objetivo en las normas AMR y G.718. Cuando se cuantifica la señal, la señal cuantificada d(n){ Se compara con d(n) para la duración de una trama K ≤ n < K N.
A la inversa, el residuo de la trama actual tiene una influencia sobre las siguientes tramas, mediante lo cual es A útil considerar su influencia cuando se cuantifica la señal, es decir, por tanto puede desearse evaluar la diferencia d(n)i - d(n) también más allá de la trama actual, n > K N. Sin embargo, para hacer esto, puede desearse considerar la influencia del residuo de la trama actual únicamente estableciendo residuos de las siguientes tramas a cero. Por tanto, puede compararse la ZIR de d(n)\ en la siguiente trama. Dicho de otro modo, se obtiene el objetivo modificado:
De manera equivalente, usando la respuesta a impulso h(n) de A(z), entonces
Esta fórmula puede escribirse en una forma de matriz conveniente mediante d' = Hc donde H y e se definen como en la ecuación 2. Puede observarse que el objetivo modificado es exactamente x de la ecuación 2.
En el cálculo de la matriz R, obsérvese que, en teoría, la respuesta a impulso h(k) es una secuencia infinita, lo cual no es realizable en un sistema práctico.
Sin embargo, es posible o bien
1) truncar o acotar en intervalo la respuesta a impulso a una longitud finita y determinar la autocorrelación de la respuesta a impulso truncada, o
2) calcular el espectro de potencia de la respuesta a impulso usando los espectros de Fourier de los filtros perceptuales y LP asociados, y obtener la autocorrelación mediante una transformada inversa de Fourier.
Ahora se describe una extensión empleando LTP.
El predictor a largo plazo (LTP) también es en realidad un predictor lineal.
Según una realización, el determinador 110 de matriz puede estar configurado para determinar la matriz de
autocorrelación R dependiendo de un predictor lineal perceptualmente ponderado, por ejemplo, dependiendo del predictor a largo plazo.
El LP y LTP pueden convolucionarse para dar un predictor conjunto, que incluye tanto la forma de envolvente espectral como la estructura de armónicos. La respuesta a impulso de un predictor de este tipo será muy larga, mediante lo cual es incluso más difícil de gestionar con la técnica anterior. Sin embargo, si ya se conoce la autocorrelación del predictor lineal, entonces la autocorrelación del predictor conjunto puede calcularse filtrando simplemente la autocorrelación con el LTP hacia delante y hacia atrás, o con un proceso similar en el dominio de frecuencia.
Obsérvese que los métodos anteriores que emplean LTP tienen un problema cuando el retardo de LTP es más corto que la longitud de trama, ya que el LTP provocará un bucle de retroalimentación dentro de la trama. El beneficio de incluir el LTP en la función objetivo es que cuando el retardo del LTP es más corto que la longitud de trama, entonces esta retroalimentación se tiene en cuenta de manera explícita en la optimización.
A continuación, se describe una extensión para optimización rápida en un dominio sin correlacionar.
Un desafío fundamental en el diseño de sistemas de ACELP ha sido la reducción de la complejidad computacional. Los sistemas de ACELP son complejos porque el filtrado mediante LP provoca correlaciones complicadas entre las muestras residuales, que se describen mediante la matriz B o en el contexto actual mediante la matriz R. Dado que las muestras de e(n) están correlacionadas, no es posible cuantificar simplemente e(n) con la precisión deseada, sino que tienen que intentarse muchas combinaciones de diferentes cuantificaciones con un enfoque de ensayo y error para encontrar la mejor cuantificación con respecto a la función objetivo de (3) o (10), respectivamente.
Mediante la introducción de la matriz R, se obtiene una nueva perspectiva con respecto a estas correlaciones. Concretamente, dado que R tiene una estructura de Toeplitz hermitiana, pueden aplicarse varias descomposiciones de matriz eficientes, tales como la descomposición de valor individual, descomposición de Cholesky o descomposición de Vandermonde de matrices de Hankel (las matrices de Hankel son matrices de Toeplitz dadas la vuelta, mediante lo cual pueden aplicarse las mismas descomposiciones a las matrices de Toeplitz y de Hankel) (véanse [6] y [7]). Siendo R = E D EH una descomposición de R de tal manera que D es una matriz diagonal del mismo tamaño y rango que R. Entonces la ecuación 9 puede modificarse de la siguiente manera:
donde f = EHe. Dado que D es diagonal, el error para cada muestra de f(k) es independiente de otras muestras f(¡). En (10), se supone que el vector de libro de códigos se ajusta a escala mediante la ganancia óptima, mediante lo cual la nueva función objetivo es
En este caso, las muestras están correlacionadas de nuevo (dado que cambiar la cuantificación de una línea cambia la ganancia óptima para todas las líneas), pero en comparación con (10), el efecto de la correlación en este caso es limitado. Sin embargo, aunque se tenga en cuenta la correlación, la optimización de esta función objetivo es mucho más sencilla que la optimización de (3) o (10).
Usando este enfoque de descomposición, es posible
1. aplicar cualquier técnica de cuantificación escalar o vectorial convencional con la precisión deseada, o
2. usar la ecuación 12 como función objetivo con cualquier algoritmo de búsqueda de pulsos de ACELP convencional.
Ambos enfoques proporcionan una cuantificación casi óptima con respecto a la ecuación 12. Dado que las técnicas de cuantificación convencionales generalmente no requieren ningún método de fuerza bruta (con la excepción de un posible bucle de velocidad), y dado que la matriz D es más sencilla que cualquiera de B o R, ambos métodos de cuantificación son menos complejos que los algoritmos de búsqueda de pulsos de ACELP convencionales. La principal fuente de complejidad computacional en este enfoque es, por tanto, el cálculo de la descomposición de matriz.
Algunas realizaciones emplean la ecuación 12 para determinar un vector de libro de códigos del libro de códigos. Por ejemplo, existen varias factorizaciones de matriz para R de la forma R = EHDE. Por ejemplo,
(a) Puede calcularse la descomposición de valores propios, por ejemplo, usando la GNU Scientific Library (http://www.gnu.org/software/gsl/manual/htmLnode/Real-Symmetric-Matrices.html). La matriz R es real y simétrica (así como la de Toeplitz), mediante lo cual puede usarse la función “gsLeigen_symm()” para determinar las matrices E y D. Otras implementaciones de la misma descomposición de valores propios están fácilmente disponibles en la bibliografía [6].
(b) Puede usarse la factorización de Vandermonde de matrices de Toeplitz [7] usando el algoritmo descrito en [8]. Este algoritmo devuelve las matrices E y D de tal manera que E es una matriz de Vandermonde, que es equivalente a una transformada discreta de Fourier con una distribución de frecuencia no uniforme.
Usando tales factorizaciones, el vector residual e puede transformarse en el dominio de transformada mediante f = EHe o f' = D1/2EHe. Puede aplicarse cualquier método de cuantificación común en estos dominios, por ejemplo, 1. El vector f puede cuantificarse mediante un libro de códigos algebraicos exactamente como en implementaciones habituales de ACELP. Sin embargo, dado que los elementos de f no están correlacionados, no se necesita una función de búsqueda complicada como en ACELP, sino que puede aplicarse un algoritmo sencillo, tal como
(a) Establecer la ganancia inicial a g=1
A
(b) Cuantificar f mediante f~ round(g f).
(c) Si el número de pulsos en f' es mayor que una cantidad predefinida p, entonces aumentar la ganancia g y volver a la etapa b.
(d) De lo contrario, si el número de pulsos en f es menor que una cantidad predefinida p, entonces reducir la ganancia g y volver a la etapa b.
(e) De lo contrario, el número de pulsos en f es igual a la cantidad predefinida p, uede detenerse el procesamiento.
2. Puede usarse un codificador aritmético similar al usado en la cuantificación de líneas espectrales en TCX en las normas AMR-WB+ o MPEG USAC.
Debe observarse que, dado que los elementos de f' son ortogonales (tal como puede observarse a partir de la ecuación 12) y tienen el mismo peso en la función objetivo de la ecuación 12, pueden cuantificarse por separado, y con el mismo tamaño de etapa de cuantificación. Esta cuantificación encontrará automáticamente el valor óptimo (el más grande) de la función objetivo en la ecuación 12, lo cual es posible con esa precisión de cuantificación. Dicho de otro modo, los algoritmos de cuantificación presentados anteriormente devolverán, ambos, la cuantificación óptima con respecto a la ecuación 12.
Esta ventaja de optimalidad está vinculada al hecho de que los elementos de f' pueden tratarse por separado. Si se usa un enfoque de libro de códigos, en el que los vectores de libro de códigos ck no son triviales (tienen más de un elemento distinto de cero), entonces estos vectores de libro de códigos ya no tendrán elementos independientes y se pierde la ventaja de la factorización de matriz.
Obsérvese que la factorización de Vandermonde de una matriz de Toeplitz puede elegirse de tal manera que la matriz de Vandermonde es una matriz de transformada de Fourier pero con frecuencias uniformemente distribuidas. Dicho de otro modo, la matriz de Vandermonde corresponde a una transformada de Fourier con alteración de frecuencia. En este caso se desprende que el vector f corresponde a una representación en el dominio de frecuencia de la señal residual en una escala de frecuencia alterada (véase la “propiedad de intercambio de raíz” en [8]).
Resulta importante observar que esta consecuencia no se conoce bien. En la práctica, este resultado establece que si se filtra una señal x con una matriz de convolución C, entonces
donde V es una transformada de Fourier (por ejemplo, alterada) (que es una matriz de Vandermonde con elementos
en el círculo unitario) y D una matriz diagonal. Es decir, si se desea medir la energía de una señal filtrada, puede medirse de manera equivalente la energía de la señal con alteración de frecuencia. A la inversa, cualquier evaluación que se realice en un dominio de Fourier alterado puede realizarse de manera equivalente en un dominio de tiempo filtrado. Debido a la dualidad del tiempo y la frecuencia, también existe una equivalencia entre acotamiento de intervalos en el dominio de tiempo y la alteración de tiempo. Sin embargo, una cuestión práctica es que hallar una matriz de convolución C que satisfaga la relación anterior supone un problema numéricamente sensible, mediante lo cual con frecuencia resulta más fácil hallar en su lugar soluciones aproximadas C.
Puede emplearse la relación ||C x||2 = ||D V x||2 para determinar un vector de libro de códigos de un libro de códigos. Para ello, en primer lugar, debe observarse que, en este caso, mediante H se indicará una matriz de convolución tal como en la ecuación 2 en lugar de C. Entonces, si se desea minimizar el ruido de cuantificación 8 - Hx - Hxi puede medirse su energía:
Ahora, se describe una extensión para la independencia de tramas.
Cuando la señal de voz codificada se transmite por líneas de transmisión imperfectas tales como ondas de radio, de manera invariable algunas veces se pierden paquetes de datos. Si las tramas dependen unas de otras, de tal manera que se necesita el paquete N para decodificar N-1 de manera perfecta, entonces la pérdida del paquete N-1 corromperá la síntesis de ambos paquetes N-1 y N. Por otro lado, si las tramas son independientes, entonces la pérdida del paquete N-1 solo corromperá la síntesis del paquete N-1. Por tanto, resulta importante diseñar métodos que estén libres de dependencias entre tramas.
En sistemas de ACELP convencionales, la fuente principal de dependencia entre tramas es el LTP y en cierta medida también el LP. Específicamente, dado que ambos son filtros de respuesta a impulso infinita (IIR), una trama corrompida provocará una cola “infinita” de muestras corrompidas. En la práctica, esa cola puede tener una longitud de varias tramas, lo cual es perceptualmente molesto.
Usando el entramado de la presente invención, la trayectoria a través de la cual se genera dependencia entre tramas puede cuantificarse mediante la ZIR desde la trama actual a la siguiente que se realiza. Para evitar esta dependencia entre tramas, necesitan realizarse tres modificaciones a la ACELP convencional.
1. Cuando se calcula la ZIR desde la trama anterior a la (sub)trama actual, debe calcularse a partir del residuo original (no cuantificado) extendido con ceros, no a partir del residuo cuantificado. De esta manera, los errores de cuantificación procedentes de la (sub)trama anterior no se propagarán a la (sub)trama actual.
2. Cuando se cuantifica la trama actual, debe tenerse en cuenta el error en la ZIR en la siguiente trama entre las señales original y cuantificada. Esto pude realizarse sustituyendo la matriz de correlación B por la matriz de autocorrelación R, tal como se explicó anteriormente. Esto garantiza que el error en la ZIR en la siguiente trama se minimiza junto con el error dentro de la trama actual.
3. Dado que la propagación de error se debe tanto al LP como al LTP, deben incluirse ambos componentes en la ZIR. Esto difiere del enfoque convencional en el que la ZIR se calcula únicamente para el LP.
Si no se tienen en cuenta los errores de cuantificación de la trama anterior cuando se cuantifica la trama actual, se pierde eficiencia de la calidad perceptual de la salida. Por tanto, es posible elegir tener en cuenta los errores anteriores cuando no existe riesgo de propagación de error. Por ejemplo, un sistema de ACELP convencional aplica una delimitación de tramas en la que cada trama de 20 ms se subdivide en 4 ó 5 subtramas. El LTP y el residuo se cuantifican y codifican por separado para cada subtrama, pero la trama completa se transmite como un bloque de datos. Por tanto, no pueden perderse subtramas individuales, sino solo tramas completas. Se desprende que solo se requiere usar ZIR independientes de trama en los límites de trama, pero pueden usarse ZIR con dependencias entre tramas entre las subtramas restantes.
Realizaciones modifican los algoritmos de ACELP convencionales mediante inclusión del efecto de la respuesta a impulso de la trama actual en la siguiente trama, en la función objetivo de la trama actual. En la función objetivo del problema de optimización, esta modificación corresponde a sustituir una matriz de correlación por una matriz de autocorrelación que tiene una estructura de Toeplitz hermitiana. Esta modificación tiene los siguientes beneficios:
1. Se reducen la complejidad computacional y los requisitos de memoria debido a la estructura de Toeplitz hermitiana añadida de la matriz de autocorrelación.
2. Se aplicará el mismo modelo perceptual a todas las muestras, haciendo que el diseño y ajuste del modelo perceptual sean más sencillos, y su aplicación más eficiente y sistemática.
3. Pueden evitarse completamente correlaciones entre tramas en la cuantificación de la trama actual, teniendo en cuenta únicamente la respuesta a impulso sin cuantificar desde la trama anterior y la respuesta a impulso cuantificada en la siguiente trama. Esto mejora la robustez de sistemas en los que se espera pérdida de paquetes. La figura 2 ilustra un decodificador 220 para decodificar una señal de voz codificada que está codificándose por un aparato según la realización descrita anteriormente para obtener una señal de voz decodificada. El decodificador 220 está configurado para recibir la señal de voz codificada, en el que la señal de voz codificada comprende una indicación del vector de libro de códigos, que se determina por un aparato para codificar una señal de voz según una de las realizaciones descritas anteriormente, por ejemplo, un índice del vector de libro de códigos determinado. Además, el decodificador 220 está configurado para decodificar la señal de voz codificada para obtener una señal de voz decodificada dependiendo del vector de libro de códigos.
La figura 3 ilustra un sistema según una realización. El sistema comprende un aparato 210 según una de las realizaciones descritas anteriormente para codificar una señal de voz de entrada para obtener una señal de voz codificada. La señal de voz codificada comprende una indicación del vector de libro de códigos determinado, determinado por el aparato 210 para codificar una señal de voz, por ejemplo, comprende un índice del vector de libro de códigos. Además, el sistema comprende un decodificador 220 según la realización descrita anteriormente para decodificar la señal de voz codificada para obtener una señal de voz decodificada. El decodificador 220 está configurado para recibir la señal de voz codificada. Además, el decodificador 220 está configurado para decodificar la señal de voz codificada para obtener una señal de voz decodificada dependiendo del vector de libro de códigos determinado.
Aunque algunos aspectos se han descrito en el contexto de un aparato, estos aspectos también representan una descripción del método correspondiente, en el que un bloque o dispositivo corresponde a una etapa de método o a una característica de una etapa de método. De manera análoga, aspectos descritos en el contexto de una etapa de método también representan una descripción de un bloque o elemento o característica correspondiente de un aparato correspondiente.
La señal descompuesta de la invención puede almacenarse en un medio de almacenamiento digital o puede transmitirse por un medio de transmisión tal como un medio de transmisión inalámbrico o un medio de transmisión cableado tal como Internet.
Dependiendo de determinados requisitos de implementación, pueden implementarse realizaciones de la invención en hardware o en software. La implementación puede realizarse usando un medio de almacenamiento digital, por ejemplo, un disco flexible, un DVD, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tiene señales de control electrónicamente legibles almacenadas en el mismo, que actúan conjuntamente (o que pueden actuar conjuntamente) con un sistema informático programable de tal manera que se realiza el método respectivo.
Algunas realizaciones según la invención comprenden un soporte de datos no transitorio que tiene señales de control electrónicamente legibles, que pueden actuar conjuntamente con un sistema informático programable, de tal manera que se realiza uno de los métodos descritos en el presente documento.
Generalmente, realizaciones de la presente invención pueden implementarse como un producto de programa informático con un código de programa, pudiendo funcionar el código de programa para realizar uno de los métodos cuando se ejecuta el producto de programa informático en un ordenador. El código de programa puede estar almacenado, por ejemplo, en un soporte legible por máquina.
Otras realizaciones comprenden el programa informático para realizar uno de los métodos descritos en el presente documento, almacenado en un soporte legible por máquina.
Dicho de otro modo, una realización del método de la invención es, por tanto, un programa informático que tiene un código de programa para realizar uno de los métodos descritos en el presente documento, cuando se ejecuta el programa informático en un ordenador.
Una realización adicional de los métodos de la invención es, por tanto, un soporte de datos (o un medio de almacenamiento digital o un medio legible por ordenador) que comprende, grabado en el mismo, el programa
informático para realizar uno de los métodos descritos en el presente documento.
Una realización adicional del método de la invención es, por tanto, un flujo de datos o una secuencia de señales que representa el programa informático para realizar uno de los métodos descritos en el presente documento. El flujo de datos o la secuencia de señales pueden estar configurados, por ejemplo, para transferirse a través de una conexión de comunicación de datos, por ejemplo a través de Internet.
Una realización adicional comprende unos medios de procesamiento, por ejemplo, un ordenador, o un dispositivo lógico programable, configurados o adaptados para realizar uno de los métodos descritos en el presente documento. Una realización adicional comprende un ordenador que tiene instalado en el mismo el programa informático para realizar uno de los métodos descritos en el presente documento.
En algunas realizaciones, puede usarse un dispositivo lógico programable (por ejemplo, una matriz de puertas programable en campo) para realizar algunas o todas de las funcionalidades de los métodos descritos en el presente documento. En algunas realizaciones, una matriz de puertas programable en campo puede actuar conjuntamente con un microprocesador con el fin de realizar uno de los métodos descritos en el presente documento. Generalmente, los métodos se realizan preferiblemente mediante cualquier aparato de hardware.
Las realizaciones descritas anteriormente son simplemente ilustrativas de los principios de la presente invención. Se entiende que modificaciones y variaciones de las disposiciones y los detalles descritos en el presente documento resultarán evidentes para otros expertos en la técnica. Por tanto, la intención es limitarse únicamente por el alcance de las reivindicaciones de patente a continuación y no por los detalles específicos presentados a modo de descripción y explicación de las realizaciones en el presente documento.
Bibliografía
[1] Salaml, R. y Laflamme, C. y Bessette, B. y Adoul, J.P., “ ITU-T G. 729 Annex A: reduced complexity 8 kbis CS-ACELP codec for digital simultaneous voice and data”, Communications Magazine, IEEE, vol. 35, n.° 9, págs. 56-63, 1997.
[2] 3GPP TS 26.190 V7.0.0, “Adaptive Multi-Rate (AMR-WB) speech codec”, 2007.
[3] ITU-T G.718, “Frame error robust narrow-band and wideband embedded variable bit-rate coding of speech and audio from 8-32 kbit/s”, 2008.
[4] Schroeder, M. y Atal, B., “Code-excited linear prediction (CELP): High-quality speech at very low bit rates”, Acoustics, Speech, and Signal Processing, IEEE Int Conf, págs. 937-940, 1985.
[5] Byun, K.J. y Jung, H.B. y Hahn, M. y Kim, K.S., “A fast ACELP codebook search method”, Signal Processing, 20026th International Conference on, vol. 1, págs. 422-425, 2002.
[6] G. H. Golub y C. F. van Loan, “Matrix Computations”, 3rd Edition, John Hopkins University Press, 1996.
[7] Boley, D.L. y Luk, F.T. y Vandevoorde, D., “Vandermonde factorization of a Hankel matrix”, Scientific computing, págs. 27-39, 1997.
[8] Backstram, T. y Magi, C., “Properties of line spectrum pair polynomials - A review”, Signal processing, vol. 86, n.° 11, págs. 3286-3298, 2006.
[9] A. Harma, M. Karjalainen, L. Savioja, V. Valimaki, U. Laine, y J. Huopanieml, “Frequencywarped signal processing for audio applications,” J. Audio Eng. Soc, vol. 48, n.° 11, págs. 1011-1031, 2000.
[10] T. Laakso, V. Valimaki, M. Karjalainen, y U. Laine, “Splitting the unit delay [FIR/all pass filters design],” IEEE Signal Process. Mag., vol. 13, n.° 1, págs. 30-60, 1996.
[11] J. Smith III y J. Abel, “Bark and ERB bilinear transforms,” IEEE Trans. Speech Audio Process., vol. 7, n.° 6, págs. 697-708, 1999.
[12] R. Schappelle, “The inverse of the confluent Vandermonde matrix,” IEEE Trans. Autom. Control, vol. 17, n.° 5, págs. 724-725, 1972.
[13] B. Bessette, R. Salaml, R. Lefebvre, M. Jelinek, J. Rotola-Pukkila, J. Vainio, H. Mikkola, y K. Jarvinen, “The adaptive multirate wideband speech codec (AMR-WB),” Speech and Audio Processing, IEEE Transactions on, vol.
10, n.° 8, págs. 620-636, 2002.
[14] M. Bosi y R. E. Goldberg, Introduction to Digital Audio Coding and Standards. Dordrecht, The Netherlands: Kluwer Academic Publishers, 2003.
[15] B. Edler, S. Disch, S. Bayer, G. Fuchs, y R. Geiger, “A time-warped MDCT approach to speech transform coding,” in Proc 126th AES Convention, Múnich, Alemania, mayo de 2009.
[16] J. Makhoul, “Linear prediction: A tutorial review,” Proc. IEEE, vol. 63, n.° 4, págs. 561-580, abril de 1975.
[17] J.-P. Adoul, P. Mabilleau, M. Delprat, y S. Morissette, “Fast CELP coding based on algebraic codes,” en Acoustics, Speech, and Signal Processing, Ie Ee Int Conf (ICASSP'87), abril de 1987, págs. 1957-1960.
[18] ISO/IEC 23003-3:2012, “MPEG-D (MPEG audio technologies), Part 3: Unified speech and audio coding,” 2012.
[19] F.-K. Chen y J.-F. Yang, “Maximum-take-precedence ACELP: a low complexity search method,” en Acoustics, Speech, and Signal Processing, 2001. Proceedings.(ICASSP'01). 2001 IEEE International Conference on, vol. 2. IEEE, 2001, págs. 693-696.
[20] R. P. Kumar, “High computational performance in code exited linear prediction speech model using faster codebook search techniques,” in Proceedings of the International Conference on Computing: Theory and Applications. IEEE Computer Society, 2007, págs. 458-462.
[21] N. K. Ha, “A fast search method of algebraic codebook by reordering search sequence,” en Acoustics, Speech, and Signal Processing, 1999. Proceedings., 1999 IEEE International Conference on, vol. 1. IEEE, 1999, págs. 21-24.
[22] M. A. Ramirez y M. Gerken, “Efficient algebraic multipulse search,” in Telecommunications Symposium, 1998. ITS'98 Proceedings. SBT/IEEE International. IEEE, 1998, págs. 231-236.
[23] ITU-T Recommendation G.191, “Software tool library 2009 user's manual,” 2009.
[24] ITU-T Recommendation P.863, “Perceptual objective listening quality assessment,” 2011.
[25] T. Thiede, W. Treurniet, R. Bitto, C. Schmidmer, T. Sporer, J. Beerends, C. Colomes, M. Keyhl, G. Stoll, K. Brandeburg et al., “PEAQ - the ITU standard for objective measurement of perceived audio quality,” Journal of the Audio Engineering Society, vol. 48, 2012.
[26] ITU-R Recommendation BS.1534-1, “Method for the subjective assessment of intermediate quality level of coding systems,” 2003.
Claims (13)
- REIVINDICACIONESi. Aparato para codificar una señal de voz determinando un vector de libro de códigos de un algoritmo de codificación de voz, en el que el aparato comprende:un determinador (110) de matriz para determinar una matriz de autocorrelación R, yun determinador (120) de vector de libro de códigos para determinar el vector de libro de códigos dependiendo de la matriz de autocorrelación R,en el que el aparato está configurado para determinar una pluralidad de coeficientes predictivos lineales dependiendo de la señal de voz,en el que el aparato está configurado para determinar una señal residual dependiendo de la pluralidad de coeficientes predictivos lineales,en el que el determinador (110) de matriz está configurado para determinar la matriz de autocorrelación R dependiendo de la señal residual,en el que el determinador (110) de matriz está configurado para determinar la matriz de autocorrelación R determinando coeficientes de vector de un vector r, en el que la matriz de autocorrelación R comprende una pluralidad de filas y una pluralidad de columnas, en el que el vector r indica una de las columnas o una de las filas de la matriz de autocorrelación R, en el queen el que R(i, j) indica los coeficientes de la matriz de autocorrelación R, en el que i es un primer índice que indica una de una pluralidad de filas de la matriz de autocorrelación R, y en el que j es un segundo índice que indica una de una pluralidad de columnas de la matriz de autocorrelación R,caracterizado porque el determinador (120) de vector de libro de códigos está configurado para determinar el vector de libro de códigos é del algoritmo de codificación de voz que maximiza la correlación normalizadaen el que R es la matriz de autocorrelación, y en el que é es uno de los vectores de libro de códigos del algoritmo de codificación de voz, y en el e es una señal residual original sin cuantificar.
- 2. Aparato según la reivindicación 1,en el que el determinador (110) de matriz está configurado para determinar los coeficientes de vector del vector r aplicando la fórmula:en el que h(k) indica una respuesta a impulso perceptualmente ponderada de un modelo predictivo lineal, y en el que k es un índice que es un número entero, y en el que l es un índice que es un número entero.
- 3. Aparato según una de las reivindicaciones anteriores,en el que el determinador (110) de matriz está configurado para determinar la matriz de autocorrelación R dependiendo de un predictor lineal perceptualmente ponderado.
- 4. Aparato según una de las reivindicaciones anteriores, en el que el determinador (120) de vector de libro de códigos está configurado para descomponer la matriz de autocorrelación R realizando una descomposición de matriz.
- 5. Aparato según la reivindicación 4, en el que el determinador (120) de vector de libro de códigos está configurado para realizar la descomposición de matriz para determinar una matriz diagonal D para determinar el vector de libro de códigos.
- 7. Aparato según la reivindicación 5 ó 6, en el que el determinador (120) de vector de libro de códigos está configurado para realizar una factorización de Vandermonde en la matriz de autocorrelación R para descomponer la matriz de autocorrelación R para realizar la descomposición de matriz para determinar la matriz diagonal D para determinar el vector de libro de códigos.
- 8. Aparato según una de las reivindicaciones 5 a 7, en el que el determinador (120) de vector de libro de códigos está configurado para emplear la ecuaciónpara determinar el vector de libro de códigos, en el que C indica una matriz de convolución, en el que V indica una transformada de Fourier, y en el que x indica la señal de voz.
- 9. Aparato según una de las reivindicaciones 5 a 8, en el que el determinador (120) de vector de libro de códigos está configurado para realizar una descomposición de valor individual en la matriz de autocorrelación R para descomponer la matriz de autocorrelación R para realizar la descomposición de matriz para determinar la matriz diagonal D para determinar el vector de libro de códigos.
- 10. Aparato según una de las reivindicaciones 5 a 9, en el que el determinador (120) de vector de libro de códigos está configurado para realizar una descomposición de Cholesky en la matriz de autocorrelación R para descomponer la matriz de autocorrelación R para realizar la descomposición de matriz para determinar la matriz diagonal D para determinar el vector de libro de códigos.
- 11. Aparato según una de las reivindicaciones anteriores, en el que el determinador (120) de vector de libro de códigos está configurado para determinar el vector de libro de códigos dependiendo de una respuesta a impulso nulo de la señal de voz.
- 12. Aparato según una de las reivindicaciones anteriores,en el que el aparato es un codificador para codificar la señal de voz empleando codificación de voz mediante predicción lineal con excitación por código algebraico, yen el que el determinador (120) de vector de libro de códigos está configurado para determinar el vector de libro de códigos basándose en la matriz de autocorrelación R como vector de libro de códigos de un libro de códigos algebraicos.
- 13. Sistema, que comprende:un aparato (210) según una de las reivindicaciones 1 a 12 para codificar una señal de voz de entrada para obtener una señal de voz codificada, yun decodificador (220) para decodificar la señal de voz codificada para obtener una señal de voz decodificada,en el que el decodificador (220) está configurado para recibir la señal de voz codificada, en el que la señal de voz codificada comprende una indicación de un vector de libro de códigos, que se determina por el aparato según una de las reivindicaciones 1 a 12,en el que el decodificador (220) está configurado para decodificar la señal de voz codificada para obtener la señal de voz decodificada dependiendo del vector de libro de códigos.Método para codificar una señal de voz determinando un vector de libro de códigos de un algoritmo de codificación de voz, en el que el método comprende:determinar una pluralidad de coeficientes predictivos lineales dependiendo de la señal de voz determinar una señal residual dependiendo de la pluralidad de coeficientes predictivos lineales determinar una matriz de autocorrelación R dependiendo de la señal residual,determinar el vector de libro de códigos dependiendo de la matriz de autocorrelación R,en el que determinar una matriz de autocorrelación R comprende determinar coeficientes de vector de un vector r, en el que la matriz de autocorrelación R comprende una pluralidad de filas y una pluralidad de columnas, en el que el vector r indica una de las columnas o una de las filas de la matriz de autocorrelación R, en el queen el que R(i, j) indica los coeficientes de la matriz de autocorrelación R, en el que i es un primer índice que indica una de una pluralidad de filas de la matriz de autocorrelación R, y en el que j es un segundo índice que indica una de una pluralidad de columnas de la matriz de autocorrelación R,caracterizado porque el método comprende determinar el vector de libro de códigos é del algoritmo de codificación de voz que maximiza la correlación normalizadaen el que R es la matriz de autocorrelación, y en el que é es uno de los vectores de libro de códigos del algoritmo de codificación de voz, y en el que e es una señal residual original sin cuantificar.Método que comprende:codificar una señal de voz de entrada según el método según la reivindicación 14 para obtener una señal de voz codificada, en el que la señal de voz codificada comprende una indicación de un vector de libro de códigos, ydecodificar la señal de voz codificada para obtener la señal de voz decodificada dependiendo del vector de libro de códigos.Programa informático configurado para implementar el método según la reivindicación 14 ó 15, cuando se ejecuta en un ordenador o procesador de señales.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201261710137P | 2012-10-05 | 2012-10-05 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2948895T3 true ES2948895T3 (es) | 2023-09-21 |
Family
ID=48906260
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES13742646T Active ES2701402T3 (es) | 2012-10-05 | 2013-07-31 | Aparato para codificar una señal de voz empleando ACELP en el dominio de autocorrelación |
| ES18184592T Active ES2948895T3 (es) | 2012-10-05 | 2013-07-31 | Aparato para codificar una señal de voz empleando ACELP en el dominio de autocorrelación |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES13742646T Active ES2701402T3 (es) | 2012-10-05 | 2013-07-31 | Aparato para codificar una señal de voz empleando ACELP en el dominio de autocorrelación |
Country Status (21)
| Country | Link |
|---|---|
| US (4) | US10170129B2 (es) |
| EP (3) | EP4213146A1 (es) |
| JP (1) | JP6122961B2 (es) |
| KR (1) | KR101691549B1 (es) |
| CN (1) | CN104854656B (es) |
| AR (1) | AR092875A1 (es) |
| AU (1) | AU2013327192B2 (es) |
| BR (1) | BR112015007137B1 (es) |
| CA (3) | CA2979948C (es) |
| ES (2) | ES2701402T3 (es) |
| FI (1) | FI3444818T3 (es) |
| MX (1) | MX347921B (es) |
| MY (1) | MY194208A (es) |
| PL (2) | PL2904612T3 (es) |
| PT (2) | PT3444818T (es) |
| RU (1) | RU2636126C2 (es) |
| SG (1) | SG11201502613XA (es) |
| TR (1) | TR201818834T4 (es) |
| TW (1) | TWI529702B (es) |
| WO (1) | WO2014053261A1 (es) |
| ZA (1) | ZA201503025B (es) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3080621B1 (ja) | 1999-10-13 | 2000-08-28 | 大和紡績株式会社 | コイルフアスナー継手形成用スライダー |
| CA2979948C (en) | 2012-10-05 | 2019-10-22 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | An apparatus for encoding a speech signal employing acelp in the autocorrelation domain |
| EP2919232A1 (en) * | 2014-03-14 | 2015-09-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoder, decoder and method for encoding and decoding |
| MX362490B (es) | 2014-04-17 | 2019-01-18 | Voiceage Corp | Metodos codificador y decodificador para la codificacion y decodificacion predictiva lineal de señales de sonido en la transicion entre cuadros teniendo diferentes tasas de muestreo. |
| TR201910806T4 (tr) | 2014-05-01 | 2019-08-21 | Nippon Telegraph & Telephone | Periyodik birleşik zarf dizisi üretme cihazı, periyodik birleşik zarf dizisi üretme metodu, periyodik birleşik zarf dizisi üretme programı ve kayıt ortamı. |
| JP6797187B2 (ja) * | 2015-08-25 | 2020-12-09 | ドルビー ラボラトリーズ ライセンシング コーポレイション | オーディオ・デコーダおよびデコード方法 |
Family Cites Families (47)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA1242279A (en) * | 1984-07-10 | 1988-09-20 | Tetsu Taguchi | Speech signal processor |
| US4868867A (en) * | 1987-04-06 | 1989-09-19 | Voicecraft Inc. | Vector excitation speech or audio coder for transmission or storage |
| US4910781A (en) * | 1987-06-26 | 1990-03-20 | At&T Bell Laboratories | Code excited linear predictive vocoder using virtual searching |
| EP0422232B1 (en) * | 1989-04-25 | 1996-11-13 | Kabushiki Kaisha Toshiba | Voice encoder |
| CA2010830C (en) * | 1990-02-23 | 1996-06-25 | Jean-Pierre Adoul | Dynamic codebook for efficient speech coding based on algebraic codes |
| US5495555A (en) * | 1992-06-01 | 1996-02-27 | Hughes Aircraft Company | High quality low bit rate celp-based speech codec |
| FR2700632B1 (fr) * | 1993-01-21 | 1995-03-24 | France Telecom | Système de codage-décodage prédictif d'un signal numérique de parole par transformée adaptative à codes imbriqués. |
| JP3209248B2 (ja) * | 1993-07-05 | 2001-09-17 | 日本電信電話株式会社 | 音声の励振信号符号化法 |
| US5854998A (en) * | 1994-04-29 | 1998-12-29 | Audiocodes Ltd. | Speech processing system quantizer of single-gain pulse excitation in speech coder |
| FR2729245B1 (fr) * | 1995-01-06 | 1997-04-11 | Lamblin Claude | Procede de codage de parole a prediction lineaire et excitation par codes algebriques |
| FR2729247A1 (fr) * | 1995-01-06 | 1996-07-12 | Matra Communication | Procede de codage de parole a analyse par synthese |
| US5751901A (en) * | 1996-07-31 | 1998-05-12 | Qualcomm Incorporated | Method for searching an excitation codebook in a code excited linear prediction (CELP) coder |
| EP1553564A3 (en) * | 1996-08-02 | 2005-10-19 | Matsushita Electric Industrial Co., Ltd. | Voice encoding device, voice decoding device, recording medium for recording program for realizing voice encoding /decoding and mobile communication device |
| US5794182A (en) * | 1996-09-30 | 1998-08-11 | Apple Computer, Inc. | Linear predictive speech encoding systems with efficient combination pitch coefficients computation |
| CN1188833C (zh) * | 1996-11-07 | 2005-02-09 | 松下电器产业株式会社 | 声源矢量生成装置及方法 |
| US6055496A (en) * | 1997-03-19 | 2000-04-25 | Nokia Mobile Phones, Ltd. | Vector quantization in celp speech coder |
| US5924062A (en) * | 1997-07-01 | 1999-07-13 | Nokia Mobile Phones | ACLEP codec with modified autocorrelation matrix storage and search |
| KR100319924B1 (ko) * | 1999-05-20 | 2002-01-09 | 윤종용 | 음성 부호화시에 대수코드북에서의 대수코드 탐색방법 |
| GB9915842D0 (en) * | 1999-07-06 | 1999-09-08 | Btg Int Ltd | Methods and apparatus for analysing a signal |
| US6704703B2 (en) * | 2000-02-04 | 2004-03-09 | Scansoft, Inc. | Recursively excited linear prediction speech coder |
| AU2002211881A1 (en) * | 2000-10-13 | 2002-04-22 | Science Applications International Corporation | System and method for linear prediction |
| CA2327041A1 (en) * | 2000-11-22 | 2002-05-22 | Voiceage Corporation | A method for indexing pulse positions and signs in algebraic codebooks for efficient coding of wideband signals |
| KR100464369B1 (ko) * | 2001-05-23 | 2005-01-03 | 삼성전자주식회사 | 음성 부호화 시스템의 여기 코드북 탐색 방법 |
| US6766289B2 (en) * | 2001-06-04 | 2004-07-20 | Qualcomm Incorporated | Fast code-vector searching |
| DE10140507A1 (de) * | 2001-08-17 | 2003-02-27 | Philips Corp Intellectual Pty | Verfahren für die algebraische Codebook-Suche eines Sprachsignalkodierers |
| US7003461B2 (en) * | 2002-07-09 | 2006-02-21 | Renesas Technology Corporation | Method and apparatus for an adaptive codebook search in a speech processing system |
| US7363218B2 (en) * | 2002-10-25 | 2008-04-22 | Dilithium Networks Pty. Ltd. | Method and apparatus for fast CELP parameter mapping |
| US7243064B2 (en) * | 2002-11-14 | 2007-07-10 | Verizon Business Global Llc | Signal processing of multi-channel data |
| KR100656788B1 (ko) * | 2004-11-26 | 2006-12-12 | 한국전자통신연구원 | 비트율 신축성을 갖는 코드벡터 생성 방법 및 그를 이용한 광대역 보코더 |
| SG123639A1 (en) * | 2004-12-31 | 2006-07-26 | St Microelectronics Asia | A system and method for supporting dual speech codecs |
| EP1854095A1 (en) * | 2005-02-15 | 2007-11-14 | BBN Technologies Corp. | Speech analyzing system with adaptive noise codebook |
| MX2007014570A (es) * | 2005-05-25 | 2008-02-11 | Koninkl Philips Electronics Nv | Codificacion predictiva de una senal de canales multiples. |
| JP3981399B1 (ja) * | 2006-03-10 | 2007-09-26 | 松下電器産業株式会社 | 固定符号帳探索装置および固定符号帳探索方法 |
| EP1994531B1 (fr) * | 2006-02-22 | 2011-08-10 | France Telecom | Codage ou decodage perfectionnes d'un signal audionumerique, en technique celp |
| CN101842833B (zh) * | 2007-09-11 | 2012-07-18 | 沃伊斯亚吉公司 | 语音和音频编码中快速代数码本搜索的方法和设备 |
| RU2486609C2 (ru) * | 2008-06-19 | 2013-06-27 | Панасоник Корпорейшн | Квантователь, кодер и их способы |
| US20100011041A1 (en) * | 2008-07-11 | 2010-01-14 | James Vannucci | Device and method for determining signals |
| US8315396B2 (en) * | 2008-07-17 | 2012-11-20 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for generating audio output signals using object based metadata |
| US20100153100A1 (en) * | 2008-12-11 | 2010-06-17 | Electronics And Telecommunications Research Institute | Address generator for searching algebraic codebook |
| EP2211335A1 (en) * | 2009-01-21 | 2010-07-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus, method and computer program for obtaining a parameter describing a variation of a signal characteristic of a signal |
| US8315204B2 (en) * | 2009-07-06 | 2012-11-20 | Intel Corporation | Beamforming using base and differential codebooks |
| RU2533439C2 (ru) * | 2009-09-02 | 2014-11-20 | Эппл Инк | Устройство и способ кодирования с использованием сокращенной кодовой книги с адаптивной установкой в исходное положение |
| US9112591B2 (en) | 2010-04-16 | 2015-08-18 | Samsung Electronics Co., Ltd. | Apparatus for encoding/decoding multichannel signal and method thereof |
| CA2979948C (en) * | 2012-10-05 | 2019-10-22 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | An apparatus for encoding a speech signal employing acelp in the autocorrelation domain |
| EP3039675B1 (en) * | 2013-08-28 | 2018-10-03 | Dolby Laboratories Licensing Corporation | Parametric speech enhancement |
| EP2916319A1 (en) * | 2014-03-07 | 2015-09-09 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Concept for encoding of information |
| EP2919232A1 (en) * | 2014-03-14 | 2015-09-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoder, decoder and method for encoding and decoding |
-
2013
- 2013-07-31 CA CA2979948A patent/CA2979948C/en active Active
- 2013-07-31 PL PL13742646T patent/PL2904612T3/pl unknown
- 2013-07-31 SG SG11201502613XA patent/SG11201502613XA/en unknown
- 2013-07-31 CA CA2979857A patent/CA2979857C/en active Active
- 2013-07-31 AU AU2013327192A patent/AU2013327192B2/en active Active
- 2013-07-31 KR KR1020157011110A patent/KR101691549B1/ko active Active
- 2013-07-31 ES ES13742646T patent/ES2701402T3/es active Active
- 2013-07-31 CA CA2887009A patent/CA2887009C/en active Active
- 2013-07-31 PT PT181845926T patent/PT3444818T/pt unknown
- 2013-07-31 MY MYPI2015000805A patent/MY194208A/en unknown
- 2013-07-31 TR TR2018/18834T patent/TR201818834T4/tr unknown
- 2013-07-31 MX MX2015003927A patent/MX347921B/es active IP Right Grant
- 2013-07-31 ES ES18184592T patent/ES2948895T3/es active Active
- 2013-07-31 WO PCT/EP2013/066074 patent/WO2014053261A1/en not_active Ceased
- 2013-07-31 EP EP23160479.4A patent/EP4213146A1/en active Pending
- 2013-07-31 BR BR112015007137-6A patent/BR112015007137B1/pt active IP Right Grant
- 2013-07-31 RU RU2015116458A patent/RU2636126C2/ru active
- 2013-07-31 EP EP18184592.6A patent/EP3444818B1/en active Active
- 2013-07-31 PL PL18184592.6T patent/PL3444818T3/pl unknown
- 2013-07-31 CN CN201380063912.7A patent/CN104854656B/zh active Active
- 2013-07-31 FI FIEP18184592.6T patent/FI3444818T3/fi active
- 2013-07-31 EP EP13742646.6A patent/EP2904612B1/en active Active
- 2013-07-31 PT PT13742646T patent/PT2904612T/pt unknown
- 2013-07-31 JP JP2015534940A patent/JP6122961B2/ja active Active
- 2013-08-08 TW TW102128480A patent/TWI529702B/zh active
- 2013-10-02 AR ARP130103567A patent/AR092875A1/es active IP Right Grant
-
2015
- 2015-04-03 US US14/678,610 patent/US10170129B2/en active Active
- 2015-05-04 ZA ZA2015/03025A patent/ZA201503025B/en unknown
-
2018
- 2018-12-04 US US16/209,610 patent/US11264043B2/en active Active
-
2022
- 2022-01-14 US US17/576,797 patent/US12002481B2/en active Active
-
2024
- 2024-05-31 US US18/680,606 patent/US20240321284A1/en active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12002481B2 (en) | Apparatus for encoding a speech signal employing ACELP in the autocorrelation domain | |
| CN106415716B (zh) | 编码器、解码器以及用于编码和解码的方法 | |
| HK40003828B (en) | An apparatus for encoding a speech signal employing acelp in the autocorrelation domain | |
| HK40003828A (en) | An apparatus for encoding a speech signal employing acelp in the autocorrelation domain | |
| HK1213359B (en) | An apparatus for encoding a speech signal employing acelp in the autocorrelation domain |













































