ES2705223T3 - Un método y aparato para cuantificación de vector flexible - Google Patents
Un método y aparato para cuantificación de vector flexible Download PDFInfo
- Publication number
- ES2705223T3 ES2705223T3 ES12887405T ES12887405T ES2705223T3 ES 2705223 T3 ES2705223 T3 ES 2705223T3 ES 12887405 T ES12887405 T ES 12887405T ES 12887405 T ES12887405 T ES 12887405T ES 2705223 T3 ES2705223 T3 ES 2705223T3
- Authority
- ES
- Spain
- Prior art keywords
- vector
- frame
- mode
- spectral frequency
- line spectral
- 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
- 239000013598 vector Substances 0.000 title claims abstract description 562
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000011002 quantification Methods 0.000 title description 5
- 230000003595 spectral effect Effects 0.000 claims abstract description 72
- 230000008569 process Effects 0.000 claims abstract description 26
- 238000005259 measurement Methods 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 6
- 230000001419 dependent effect Effects 0.000 claims description 2
- 238000013139 quantization Methods 0.000 description 49
- 230000005236 sound signal Effects 0.000 description 34
- 230000015654 memory Effects 0.000 description 32
- 238000010606 normalization Methods 0.000 description 28
- 238000012545 processing Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000005070 sampling Methods 0.000 description 7
- 238000011084 recovery Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 3
- 230000003252 repetitive effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/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/005—Correction of errors induced by the transmission channel, if related to the coding algorithm
-
- 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/06—Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
- G10L19/07—Line spectrum pair [LSP] vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/22—Mode decision, i.e. based on audio signal content versus external parameters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3082—Vector coding
-
- 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L2019/0001—Codebooks
- G10L2019/0016—Codebook for LPC parameters
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Un método para cuantificar un vector de coeficientes de frecuencia espectral de línea para una trama de audio posterior a una primera trama de audio, que comprende: cuantificar un vector de coeficientes de frecuencia espectral de línea de la primera trama usando un modo de operación predictivo de un cuantificador de vector referenciándose a un vector cuantificado pasado de coeficientes de frecuencia espectral de línea, en donde el cuantificador de vector puede operar en un modo de operación predictivo o bien en un modo de operación no predictivo; determinar un vector de coeficientes de frecuencia espectral de línea recuperados que corresponden al vector de coeficientes de frecuencia espectral de línea de la primera trama cuando se somete a un evento de borrado de trama, en donde el vector de la pluralidad de coeficientes de frecuencia espectral de línea recuperados se genera mediante un proceso de ocultación de error de trama, en donde el proceso de ocultación de error de trama es equivalente a un proceso de ocultación de error de trama usado en un decodificador; determinar una medida de distorsión entre el vector de coeficientes de frecuencia espectral de línea de la primera trama y el vector de coeficientes de frecuencia espectral de línea recuperados; comparar la medida de distorsión determinada con un valor umbral predeterminado, en donde el método se caracteriza por: determinar el modo de operación del cuantificador de vector para un vector de coeficientes de frecuencia espectral de línea para una trama posterior de muestras de audio, en donde el modo de operación depende de la comparación de tal forma que cuando la medida de distorsión determinada es mayor que el valor umbral predeterminado se selecciona el modo de operación no predictivo, y cuantificar la trama de audio posterior de acuerdo con el modo de operación determinado.
Description
DESCRIPCIÓN
Un método y aparato para cuantificación de vector flexible
Campo de la aplicación
La presente solicitud se refiere a codificación y en particular, pero no exclusivamente, a codificación de voz o de audio.
Antecedentes de la aplicación
Señales de audio, como voz o música, se codifican por ejemplo para habilitar transmisión eficiente o almacenamiento de las señales de audio.
Codificadores y decodificadores de audio se usan para representar señales basadas en audio, tal como música y ruido de fondo. Estos tipos de codificadores habitualmente no utilizan un modelo de voz para el proceso de codificación, sino que usan procesos para representar todo tipo de señales de audio, incluyendo voz.
Codificadores y decodificadores de voz (códecs) se optimizan normalmente para señales de voz y pueden operar o bien en tasa de bits fija o bien variable.
Coeficientes de códecs de voz y audio pueden cuantificarse usando técnicas de cuantificación de vectores. En particular, algunos coeficientes pueden cuantificarse usando cuantificación predictiva con lo que se usan vectores cuantificados pasados para predecir el valor de un vector actual de coeficientes.
Sin embargo, el uso de predicción para cuantificar vectores puede resultar en artefactos molestos en la señal de audio o voz decodificada. Esto puede producirse particularmente durante un evento de borrado de trama, especialmente después de una larga ejecución de predicción en el cuantificador de vector.
Sumario de algunas realizaciones
Las siguientes realizaciones tienen por objetivo abordar el problema anterior.
De acuerdo con un aspecto de la aplicación se proporciona un método para cuantificar un vector de coeficientes de frecuencia espectral de línea para una trama de audio posterior a una primera trama de audio que comprende: cuantificar un vector de coeficientes de frecuencia espectral de línea de la primera trama usando un modo de operación predictivo de un cuantificador de vector referenciándose a un vector cuantificado pasado de coeficientes de frecuencia espectral de línea, en el que el cuantificador de vector puede operar en o bien un modo de operación predictivo o bien un modo de operación no predictivo; determinar un vector de coeficientes de frecuencia espectral de línea recuperados que corresponden al vector de frecuencia espectral de línea de la primera trama cuando se somete a un evento de borrado de trama, en el que el vector de la pluralidad de coeficientes de frecuencia espectral de línea recuperados se genera mediante un proceso de ocultación de error de trama, en el que el proceso de ocultación de error de trama es equivalente a un proceso de ocultación de error de trama usado en un decodificador; determinar una medida de distorsión entre el vector de coeficientes de frecuencia espectral de línea de la primera trama y el vector de coeficientes de frecuencia espectral de línea recuperados; comparar la medida de distorsión predeterminada a un valor umbral predeterminado determinando el modo de operación del cuantificador de vector para un vector de coeficientes de frecuencia espectral de línea para una trama posterior de muestras de audio, en el que el modo de operación depende de la comparación de tal forma que cuando la medida de distorsión predeterminada es mayor que el valor umbral predeterminado se selecciona el modo de operación no predictivo, y cuantificar la trama de audio posterior de acuerdo con el modo de operación determinado.
La trama de muestras de audio puede codificarse de acuerdo con uno seleccionado de una pluralidad de modos de codificación, y determinar el modo de operación del cuantificador de vector que depende de la comparación puede comprender determinar el modo de operación del cuantificador de vector que depende de la comparación y el seleccionado de la pluralidad de modos de codificación.
La medida de distorsión puede ser una distancia euclidiana entre el vector de coeficientes de frecuencia espectral de línea y el vector de los coeficientes de frecuencia espectral de línea recuperados.
Como alternativa, la medida de distorsión puede ser una distancia de norma L1 entre el vector de coeficientes de frecuencia espectral de línea y el vector de los coeficientes de frecuencia espectral de línea recuperados.
De acuerdo con un aspecto adicional de la aplicación se proporciona un aparato para cuantificar un vector de coeficientes de frecuencia espectral de línea para una trama de audio posterior a una primera trama de audio, estando el aparato configurado para: cuantificar un vector de coeficientes de frecuencia espectral de línea de la primera trama usando un modo de operación predictivo de un cuantificador de vector referenciándose a un vector
cuantificado pasado de coeficientes de frecuencia espectral de línea, en el que el cuantificador de vector puede operar en o bien un modo de operación predictivo o bien un modo de operación no predictivo; determinar un vector de coeficientes de frecuencia espectral de línea recuperados que corresponden al vector de coeficientes de frecuencia espectral de línea de la primera trama cuando el vector de coeficientes de frecuencia espectral de línea se somete a un evento de borrado de trama, en el que el vector de la pluralidad de coeficientes de frecuencia espectral de línea recuperados se genera mediante un proceso de ocultación de error de trama, en el que el proceso de ocultación de error de trama es equivalente a un proceso de ocultación de error de trama usado en un decodificador; determinar una medida de distorsión entre el vector de coeficientes de frecuencia espectral de línea de la primera trama y el vector de coeficientes de frecuencia espectral de línea recuperados; comparar la medida de distorsión predeterminada a un valor umbral predeterminado; y determinar el modo de operación del cuantificador de vector para un vector de coeficientes de frecuencia espectral de línea para una trama posterior de muestras de audio, en el que el modo de operación depende de la comparación, de tal forma que cuando la medida de distorsión predeterminada es mayor que el valor umbral predeterminado se selecciona el modo de operación no predictivo, y cuantificar la trama de audio posterior de acuerdo con el modo de operación determinado.
La trama de muestras de audio puede codificarse de acuerdo con uno seleccionado de una pluralidad de modos de codificación, y el aparato configurado para determinar el modo de operación del cuantificador de vector que depende de la comparación puede configurarse para determinar el modo de operación del cuantificador de vector que depende de la comparación y el seleccionado de la pluralidad de modos de codificación.
De acuerdo con aún otro aspecto de la aplicación se proporciona un código de programa informático configurado para realizar el método anterior cuando se ejecuta por un procesador
Breve descripción de los dibujos
Para un mejor entendimiento de la presente invención, se hará ahora referencia a modo de ejemplo a los dibujos adjuntos en los que:
La Figura 1 muestra esquemáticamente un aparato adecuado para emplear algunas realizaciones;
La Figura 2 muestra esquemáticamente un sistema de códec de audio adecuado para emplear algunas realizaciones;
La Figura 3 muestra esquemáticamente un diagrama de flujo que ilustra la operación del cuantificador 400 mostrado en la Figura 4 para una trama de audio posterior al procesamiento de una trama de audio mediante el cuantificador 400 de acuerdo con el diagrama de flujos de la Figura 5.
La Figura 4 muestra esquemáticamente una parte de cuantificador del sistema de códec de audio mostrado en la Figura 2 de acuerdo con algunas realizaciones;
La Figura 5 muestra esquemáticamente un diagrama de flujo que ilustra la operación del cuantificador 400 mostrado en la Figura 4 de acuerdo con algunas realizaciones;
La Figura 6 muestra esquemáticamente un diagrama de flujo que ilustra la operación del cuantificador de vector 406 mostrado en la Figura 4 de acuerdo con algunas realizaciones;
La Figura 7 muestra esquemáticamente un diagrama de flujo que ilustra la operación del cuantificador de vector 406 mostrado en la Figura 4 de acuerdo con algunas realizaciones adicionales;
La Figura 8a muestra esquemáticamente un diagrama de flujo que ilustra la operación del cuantificador de vector 406 mostrado en la Figura 4 de acuerdo con aún algunas realizaciones adicionales;
La Figura 8b un ejemplo de una pluralidad de conjuntos de vectores de códigos base; y
La Figura 8c un proceso de ejemplo de determinación de un vector de códigos.
Descripción de algunas realizaciones de la aplicación
La publicación de Estados Unidos US2008/249767 divulga un método de cuantificar vectores de frecuencia espectral de línea (LSF) usando codificación predictiva. En particular la publicación de Estados Unidos US2008/249767 divulga cuantificar inicialmente un vector de coeficientes de frecuencia espectral de línea para una trama de voz actual usando un cuantificador predictivo para proporcionar un subconjunto de un número de vectores de libro de códigos candidatos posibles para codificar la LSF residual. La publicación de Estados Unidos US2008/249767 a continuación continúa divulgando adicionalmente el recálculo del proceso de cuantificación predictiva para el vector LSF de trama actual con lo que se supone que el vector LFS de la trama previa se ha borrado y un proceso de ocultación de borrado de trama se ha realizado para "compensar" por la trama perdida. A continuación se selecciona una entrada de libro de códigos para la trama actual a partir del subconjunto de vectores de libro de código posibles minimizando un vector de diferencia ponderado que tiene en cuenta tanto el vector residual original como el vector residual producidos con el cuantificador predictivo que tiene una trama borrada pasada.
Lo siguiente describe en más detalle posibles mecanismos de códecs para la provisión de cuantificación de parámetro de vector en códecs de audio y voz. En este sentido se hace referencia a la Figura 1 que muestra un diagrama de bloques esquemático de un dispositivo electrónico o aparato 10 ilustrativo, que puede incorporar un códec de acuerdo con realizaciones de la aplicación.
El aparato 10 puede ser por ejemplo un terminal móvil o equipo de usuario de un sistema de comunicación inalámbrica. En otras realizaciones el aparato 10 puede ser un dispositivo de audio-video tal como cámara de video, un receptor de televisión (TV), grabador de audio o reproductor de audio tal como un grabador/reproductor de mp3, un grabador de medios (también conocidos como un grabador/reproductor de mp4) o cualquier ordenador adecuado para el procesamiento de señales de audio.
El aparato 10 en algunas realizaciones comprende un micrófono 11, que se vincula a través de un convertidor de analógico a digital (ADC) 14 a un procesador 21. El procesador 21 se vincula adicionalmente a través de un convertidor de digital a analógico (DAC) 32 a altavoces 33. El procesador 21 se vincula adicionalmente a un transceptor (RX/TX) 13, a una interfaz de usuario (UI) 15 y a una memoria 22.
El procesador 21 puede configurarse para ejecutar diversos códigos de programa. Los códigos de programa implementados en algunas realizaciones comprenden un código de codificación de audio para codificar una banda de frecuencia baja de una señal de audio y una banda de frecuencia más alta de una señal de audio. Los códigos de programa implementados 23 en algunas realizaciones comprenden además un código de decodificación de audio y voz. Los códigos de programa implementados 23 pueden almacenarse en algunas realizaciones por ejemplo en la memoria 22 para recuperación mediante el procesador 21 siempre que se necesite. La memoria 22 podría proporcionar adicionalmente una sección 24 para almacenar datos, por ejemplo datos que se han codificado de acuerdo con realizaciones de la aplicación.
El código de codificación y decodificación en las realizaciones puede implementarse en hardware o firmware.
La interfaz de usuario 15 habilita que un usuario introduzca órdenes al aparato 10, por ejemplo a través de un teclado numérico, y/o obtenga información acerca del aparato 10, por ejemplo a través de un visualizador. En algunas realizaciones una pantalla táctil puede proporcionar ambas funciones de entrada y salida para la interfaz de usuario. El aparato 10 en algunas realizaciones comprende un transceptor 13 adecuado para habilitar comunicación con otro aparato, por ejemplo a través de una red de comunicación inalámbrica.
Debe apreciarse de nuevo que la estructura del aparato 10 podría complementarse y variarse de muchas formas. Un usuario del aparato 10 por ejemplo puede usar el micrófono 11 para introducir señales de voz u otras señales de audio que tienen que transmitirse a algún otro aparato o que tienen que almacenarse en la sección de datos 24 de la memoria 22. Una aplicación correspondiente en algunas realizaciones puede activarse para este fin por el usuario a través de la interfaz de usuario 15. Esta aplicación en estas realizaciones puede realizarse mediante el procesador 21, provoca que el procesador 21 ejecute el código de codificación almacenado en la memoria 22.
El convertidor de analógico a digital (ADC) 14 en algunas realizaciones convierte la señal de audio analógica de entrada en una señal de audio digital y proporciona la señal de audio digital al procesador 21. En algunas realizaciones el micrófono 11 puede comprender un micrófono integrado y función de ADC y proporcionar señales de audio digitales directamente al procesador para procesamiento.
El procesador 21 en tales realizaciones puede procesar a continuación la señal de audio digital de la misma forma como se describe con referencia a las Figuras 3 a 5.
El flujo de bits resultante puede proporcionarse en algunas realizaciones al transceptor 13 para transmisión a otro aparato. Como alternativa, los datos de audio o voz codificados en algunas realizaciones pueden almacenarse en la sección de datos 24 de la memoria 22, por ejemplo para una transmisión posterior o para una presentación posterior mediante el mismo aparato 10.
El aparato 10 en algunas realizaciones también puede recibir un flujo de bits con datos correspondientemente codificados desde otro aparato a través del transceptor 13. En este ejemplo, el procesador 21 puede ejecutar el código de programa de decodificación almacenado en la memoria 22. El procesador 21 en tales realizaciones decodifica los datos recibidos, y proporciona los datos decodificados a un conversor de digital a analógico 32. El conversor de digital a analógico 32 convierte los datos decodificados digitales en datos de audio analógicos y en algunas realizaciones pueden emitir el audio analógico a través de los altavoces 33. Ejecución del código de programa de decodificación en algunas realizaciones puede desencadenarse también mediante una aplicación llamada por el usuario a través de la interfaz de usuario 15.
Los datos recibidos codificados en algunas realizaciones también pueden almacenarse en lugar de una presentación inmediata a través de los altavoces 33 en la sección de datos 24 de la memoria 22, por ejemplo para decodificación o presentación posterior y presentación de decodificación y reenvío a aún otro aparato.
Se apreciará que las estructuras esquemáticas descritas en las Figuras 4 a 8 representan únicamente una parte de la operación de un códec de audio como se muestra ilustrativamente implementado en el aparato mostrado en la Figura 1.
La operación general de códecs de audio como se emplean por realizaciones de la aplicación se muestra en la Figura 2. Codificación de voz y audio general comprenden un codificador, como se ilustra esquemáticamente en la Figura 2. Se ilustra mediante la Figura 2 un sistema 102 con un codificador 104 y un almacenamiento o canal de medios 106. Se entenderá que como se describe anteriormente algunas realizaciones del aparato 10 pueden comprender o implementar un codificador 104.
El codificador 104 comprime una señal de audio de entrada 110 que produce un flujo de bits 112, que en algunas realizaciones puede almacenarse o transmitirse a través de un canal de medios 106. El flujo de bits 112 puede recibirse dentro del decodificador 108. El decodificador 108 descomprime el flujo de bits 112 y produce una señal de audio de salida 114. La tasa de bits del flujo de bits 112 y la calidad de la señal de audio de salida 114 en relación con la señal de entrada 110 son las principales características que definen el rendimiento del sistema de codificación 102.
La Figura 4 muestra esquemáticamente algunos componentes del codificador 104 de acuerdo con algunas realizaciones. Componentes del codificador 104 puede comprender un cuantificador 400 dentro de una entrada 401 dispuesta para recibir un vector de entrada para cuantificación.
El cuantificador 400 puede correlacionar cada vector de entrada 401 con uno de una serie de valores cuantificados definidos finitos para producir un vector cuantificado. El valor de vector cuantificado puede referenciarse a continuación mediante un valor índice. El valor índice puede convertirse a continuación a un número binario para facilitar su almacenamiento y transmisión.
Como un ejemplo, una primera representación cuantificada puede comprender una cuantificación de un vector de valores de frecuencia espectral de línea (LSF) para una trama de audio. En otras palabras la primera representación cuantificada puede representar un vector LSF cuantificado del vector LSF de entrada. Siendo la primera representación cuantificada un índice cuantificado.
La primera representación de cuantificación puede determinarse por medio de una primera fase de cuantificación que se realiza basándose en una pluralidad de vectores de códigos, en el que el vector de códigos se elige para coincidir con el vector de entrada. Esta pluralidad de vectores de códigos de la fase de cuantificación puede ser en forma de un libro de códigos, y el índice del vector de códigos puede ser la representación de cuantificación del vector de entrada.
En una fase de cuantificación predictiva los vectores de entrada pasados cuantificados a partir de tramas de entrada previas pueden formarse cada uno basándose en un vector de códigos del al menos un libro de códigos. Estos vectores de entrada pasados cuantificados puede usarse por un predictor para predecir un vector de entrada actual. Por lo tanto, se ha de apreciar que un predictor de una fase de cuantificación predictiva puede tener una memoria que comprende vectores de entrada pasados cuantificados previos.
En algunas realizaciones los coeficientes de predicción usados para ponderar vectores LSF cuantificados pasados para predecir un valor LSF actual puede fijarse para todos vectores LSF de entrada.
La predicción del vector de entrada mediante el predictor de la fase de cuantificación predictiva puede usarse para formar un vector de entrada residual. Por ejemplo, el vector de entrada residual puede formarse determinando un vector de error entre el vector de entrada y el vector predicho. Como un ejemplo, el vector de entrada residual puede formarse determinando una diferencia entre el vector de entrada y el vector predicho.
El vector residual puede formar el vector de entrada a la primera fase de cuantificación.
En algunas realizaciones el predictor puede conmutarse dentro o fuera del bucle de cuantificación de vector. Por ejemplo, cuando el predictor se conmuta en el bucle de cuantificación de vector la primera fase de cuantificación puede disponerse para recibir el vector residual como entrada. En el caso cuando la etapa de predicción se conmuta fuera del bucle de cuantificación de vector la primera fase de cuantificación puede disponerse para recibir el propio vector de entrada.
La inclusión del predictor en el bucle de cuantificación de vector puede hacerse que dependa de las características del vector de entrada.
Como un ejemplo no limitante, el vector de entrada puede representar un vector que comprende frecuencias espectrales de línea (LSF) de una señal de entrada, en el que esta señal de entrada puede representar al menos parte de una señal de audio, por ejemplo una parte de una señal de voz o una parte de una señal no de voz, en el que esta señal de audio puede comprender partes con voz y/o sin voz y/o genéricas y/o de transición y/o generadas de ruido aceptable.
Por ejemplo cuando el vector de entrada representa un vector que comprende frecuencias espectrales de línea (LSF) de una señal de entrada, en el que la señal de entrada puede representar al menos parte de una señal de
audio. El modo de operación del cuantificador 400 puede conmutarse entre un modo de operación predictivo o un modo de operación no predictivo de acuerdo con las características de la señal de audio de la que representa las LSF al menos en parte.
Como un ejemplo, si la señal de audio es de una naturaleza periódica, entonces el cuantificador de vector puede querer explotar las similitudes que se ejecutan desde una trama a la siguiente disponiendo que el modo predictivo sea operacional dentro del bucle de cuantificación.
A la inversa cuando la señal de audio es de una naturaliza no periódica y no repetitiva el cuantificador de vector puede no funcionar de forma tan eficiente en un modo de operación predictivo y puede ser más beneficioso operacionalmente operar el cuantificador de vector sin el predictor.
Se ha de apreciar que mientras que el cuantificador de vector se usa en un modo de operación predictivo, en otras palabras en el que el predictor es operacional dentro del bucle de cuantificación, el proceso de cuantificación de vector puede ser más propenso a errores. Esto puede deberse en parte a la propagación de errores a través de las memorias del predictor, un efecto que se exacerba mediante el número de vectores de entrada consecutivos en los que el predictor es operacional.
Para mejorar la estabilidad del cuantificador de vector, especialmente durante periodos cuando el predictor se usa, el cuantificador de vector puede conmutarse periódicamente de vuelta a un modo de operación no predictivo para reiniciar las memorias del predictor.
Se ha de apreciar por lo tanto que el modo de operación no predictivo del cuantificador de vector también puede conocerse como un modo de red de seguridad.
En otras palabras el cuantificador de vector puede disponerse para operar en dos modos de operación que comprenden primero un modo predictivo puede ser más adecuado para señales de audio que comprenden contenido periódico o repetitivo, y un segundo modo (de red de seguridad) no predictivo que puede usarse para o bien reiniciar las memorias del predictor o bien para uso durante regiones de la señal de audio que no son repetitivas en naturaleza.
Con referencia a la Figura 4 en la que se muestra el diagrama de bloques del cuantificador 400. La línea de entrada 401 puede conectarse a la entrada del determinador de modo de predicción 402.
En las realizaciones el determinador de modo de predicción 402 puede disponerse para determinar si el vector de entrada debería cuantificarse usando o bien el modo predictivo o bien el modo (de red de seguridad) no predictivo. Para facilitar la decisión de si el determinador de modo de predicción 402 debería determinar que el cuantificador 400 debería usarse en un modo de operación predictivo o en un modo de operación (de red de seguridad) no predictivo el determinador de modo de predicción 402 puede disponerse para recibir una entrada adicional 403. La entrada adicional 403 puede transmitir al determinador de modo de predicción 402 el tipo de régimen de codificación (o modo de codificación) usado para codificar la señal de audio de entrada 110 al codificador 104. En otras palabras, se ha de apreciar que el codificador 104 puede operar en uno de un número de modos de operación, en los que cada modo de operación puede adaptarse para adecuarse a un tipo particular de trama de audio de entrada.
El modo de codificación del codificador 104 puede usarse al menos en parte para determinar si el cuantificador 400 puede usarse en o bien el modo de operación predictivo o bien en modo de operación (de red de seguridad) no predictivo.
Por medio de un ejemplo, la Tabla 1 a continuación esboza un grupo de posibles modos de codificación del codificador 104 y para cada uno de los posibles modos de operación se indica si el predictor debería usarse en el cuantificador 400.
Tabla 1.
A partir de la Tabla 1 anterior puede observarse que el predictor puede seleccionarse para ciertos tipos de codificador y no para otros. En este ejemplo, tipos de codificador puede significar una categoría particular de señal de audio de entrada 110. En otras palabras una categoría particular de señal de audio puede codificarse usando un tipo de codificación específico.
En las realizaciones el determinador de modo de predicción 402 también puede determinar que la decisión para cuantificar el vector de entrada usando o bien el modo predictivo o bien modo (de red de seguridad) no predictivo puede depender de otros factores.
Por ejemplo, la decisión para cuantificar el vector de entrada usando el modo de operación predictivo en el cuantificador 400 puede relacionarse con el rendimiento del correspondiente decuantificador en el decodificador durante un evento de borrado de trama.
Cuando una trama codificada se pierde durante transmisión el decodificador habitualmente entra en un modo de operación de borrado de trama con lo que vectores cuantificados perdidos o corrompidos pueden tenerse que recuperar a partir de vectores cuantificados anteriormente recibidos. Sin embargo, una consecuencia de usar vectores cuantificados recuperados es que el contenido de las memorias de predictor en el codificador y decodificador pueden que ya no tenga los mismos valores. En otras palabras las memorias de predictor del cuantificador de vector en el codificador y decodificador pueden que ya no estén en sincronización entre sí.
Se ha de apreciar por lo tanto que como resultado de un evento de borrado de trama la memoria de predictor del cuantificador de vector en el codificador y la memoria de predictor del cuantificador de vector en el decodificador permanecerán sin sincronización para todas las tramas de audio posteriores hasta que el cuantificador de vector conmute al modo de operación (de red de seguridad) no predictivo.
Realizaciones de la invención pueden describirse ahora en términos de un vector de entrada 401 que comprende una pluralidad de coeficientes LSF. Se ha de apreciar que realizaciones descritas en este documento pueden incluir vectores de entrada de otros tipos de coeficientes asociados con codificación de audio. Por ejemplo, otros tipos de coeficientes asociados con codificación de audio pueden incluir otras representaciones espectrales de la señal de audio tal como Relaciones de Área de Registro (LAR), Coeficientes de Reflexión o coeficientes de transformada de coseno discreta (DCT) y variantes de los mismos tal como coeficientes de transformada de coseno discreta modificada (MDCT) y coeficientes de transformada de Fourier discreta (DFT).
En algunas instancias de operación que tienen un desajuste de memoria entre la memoria de predictor de cuantificador de vector en el codificador y la memoria de predictor de cuantificador de vector en el decodificador pueden resultar en artefactos indeseables en la señal de audio decodificada general. Esto puede deberse en parte a la gran discrepancia entre los vectores cuantificados generados como resultado de predicción en el codificador y los vectores cuantificados generados como resultado de predicción en el decodificador cuando se ha producido un evento de borrado de trama.
En las realizaciones el determinador de modo de predicción 402 puede seleccionar de acuerdo con el efecto de un evento de borrado de trama si el vector LSF de entrada debería cuantificarse usando modo predictivo o modo (de red de seguridad) no predictivo.
Con referencia a la Figura 5 se muestra un diagrama de flujo que representa al menos en parte algunas de las operaciones del cuantificador 400 de acuerdo con realizaciones de la invención.
Inicialmente, para una trama de audio de entrada, el cuantificador 400 puede cuantificar el vector LSF de entrada transmitido a través de la entrada 401 usando el predictor 404. En otras palabras un vector LSF predicho puede generarse por el predictor 404 y pasarse al sumador 408. El sumador 408 puede determinar a continuación la diferencia entre el vector LSF de entrada 401 y el vector LSF predicho para proporcionar un vector LSF residual 405. Se ha de apreciar que el vector LSF residual 405 también puede conocerse en las realizaciones como el vector de error.
El vector LSF residual 405 puede cuantificarse por vector a continuación mediante el cuantificador de vector 406. La salida desde el cuantificador de vector 406 puede ser el índice cuantificado 408 que representa el vector LSF residual cuantificado 405. Además puede existir una salida 409 adicional desde el cuantificador de vector 406 que puede comprender el vector LSF cuantificado.
Con referencia a la Figura 4, el vector LSF cuantificado 409 puede pasarse al predictor 404 para llenar la memoria de predictor. La memoria de predictor puede usarse a continuación para generar el vector LSF predicho para vectores LSF de entrada posteriores.
Con referencia adicional a la Figura 4, el vector LSF cuantificado 409 también puede pasarse al determinador de modo de predicción 402 para ayudar en el proceso de determinación del modo de operación del cuantificador 400 para el vector LSF de entrada actual 401.
La fase de cuantificación del vector LSF de entrada 401 mediante el cuantificador 400 en un modo de operación predictivo para producir el vector LSF cuantificado y un índice cuantificado 408 que representa el vector LSF de entrada cuantificado para una trama de audio actual se muestra como la etapa de procesamiento 501 en la Figura 5. En otras palabras se proporciona un medio para cuantificar un vector de una pluralidad de coeficientes usando un modo de operación predictivo de un cuantificador de vector, en el que el cuantificador de vector puede operar en o bien un modo de operación predictivo o bien un modo de operación no predictivo, y en el que la pluralidad de coeficientes se asocian con una trama de muestras de audio.
El determinador de modo de predicción 402 puede determinar a continuación para la trama de audio actual el vector LSF recuperado que se generaría en el decodificador cuando se produce un evento de borrado de trama.
En otras palabras, para la trama de audio actual el determinador de modo de predicción 402 puede determinar a continuación un vector LSF recuperado generado localmente en el codificador usando el mismo algoritmo de recuperación de error de trama que el usado por el decodificador cuando se ha producido un evento de borrado de trama.
La etapa de generación de se muestra un vector LSF recuperado en el codificador usando un algoritmo de recuperación de error de trama usado en un evento de borrado de trama como la etapa de procesamiento 503 en la Figura 5.
En otras palabras se proporciona un medio para determinar un vector de una pluralidad de coeficientes recuperados que corresponden al vector de la pluralidad de coeficientes cuando el vector de la pluralidad de coeficientes se somete a un evento de borrado de trama.
El determinador de modo de predicción 402 puede comparar a continuación el vector LSF cuantificado como se produce durante el procesamiento de la etapa 501 con el vector LSF recuperado producido como resultado del algoritmo de recuperación de error de trama, ejecutándose el algoritmo de recuperación de error de trama dentro del codificador 104.
En otras palabras puede proporcionarse para realizaciones un medio para comparar un vector de pluralidad de coeficientes con un vector de pluralidad de coeficientes recuperados.
En las realizaciones la anterior comparación puede realizarse en el determinador de modo de predicción 402 determinando una medida de distorsión entre el vector LSF cuantificado y el vector LSF recuperado.
En las realizaciones la medida de distorsión puede basarse en cualquier clase de distancia adecuada entre el vector LSF cuantificado y el vector LSF recuperado. Como un ejemplo, puede usarse una distancia de norma L1 o una distancia euclidiana o cualquier otra distancia.
La etapa de generación de la medida de distorsión entre el vector LSF cuantificado y el vector LSF recuperado como parte de un algoritmo de recuperación de error de trama que opera en el evento de un proceso de borrado de trama se muestra como la etapa de procesamiento 505 en la Figura 5.
En las realizaciones puede proporcionarse un medio para determinar una distorsión entre un vector de una pluralidad de coeficientes y un vector de una pluralidad de coeficientes recuperados.
El determinador de modo de predicción 402 puede determinar a continuación que la medida de distorsión predeterminada cae dentro de los límites de un valor umbral predeterminado. El resultado de dicha determinación puede usarse por el determinador de modo de predicción 402 para determinar si el vector LSF para la siguiente trama de audio debería o bien cuantificarse usando el modo de operación predictivo o bien el modo de operación (de red de seguridad) no predictivo.
Por ejemplo, en algunas realizaciones si se determina que la medida de distorsión es menor que un valor umbral predeterminado entonces el determinador de modo de predicción 402 puede determinar que el siguiente vector LSF (posterior) pueden cuantificarse usando un modo de operación predictivo.
En algunas realizaciones el siguiente vector LSF puede ser el vector LSF asociado con la siguiente trama de audio.
En algunas realizaciones adicionales la determinación que la medida de distorsión es menor que el valor umbral predeterminado puede usarse como una indicación de que el siguiente vector LSF (posterior) puede cuantificarse usando el cuantificador de vector en un modo de operación predictivo. En estas realizaciones el siguiente vector LSF transmitido a lo largo de la entrada 401 puede cuantificarse a continuación usando el cuantificador de vector 400 en el modo de operación predictivo. Adicionalmente, el mismo siguiente vector LSF como se transmite en la entrada 401 también puede cuantificarse usando el cuantificador de vector 400 en el modo de operación (de red de seguridad) no predictivo.
Para estas realizaciones, en las que la medida de distorsión es menor que el valor umbral predeterminado, el siguiente vector LSF cuantificado puede seleccionarse para ser o bien el siguiente vector LSF que se cuantifica usando el cuantificador 400 en el modo de operación predictivo, o bien el siguiente vector LSF que se cuantifica usando el cuantificador 400 en el modo de operación (de red de seguridad) no predictivo.
La selección entre el siguiente vector LSF que se cuantifica usando el modo de operación predictivo y el siguiente vector LSF que se cuantifica usando el modo de operación no predictivo puede hacerse basándose en el error de cuantificación. En otras palabras el siguiente vector LSF que se cuantifica puede determinarse para ser el vector LSF cuantificado que tiene el error de cuantificación más pequeño.
En las realizaciones el error de cuantificación puede formularse como el error cuadrático medio entre el vector LSF y el vector LSF cuantificado.
A la inversa, en el caso de que el determinador de modo de predicción 402 determina que la medida de distorsión es igual a o mayor que el umbral predeterminado, el determinador de modo de predicción 402 puede determinar que el siguiente vector LSF pueden cuantificarse usando el modo de operación (de red de seguridad) no predictivo.
Con referencia a la Figura 4, la selección entre modo de operación predictivo y el modo de operación (de red de seguridad) no predictivo se muestra como la configuración de conmutador 4021 dentro del determinador de modo de predicción 402.
Por ejemplo, cuando el conmutador 4021 está en una primera posición 4021A entonces el vector LSF de entrada 401 se pasa directamente al cuantificador de vector 406 de este modo eludiendo el predictor 404. Cuando el conmutador 4021 está en una segunda posición 4021B entonces el vector LSF de entrada 402 se pasa a la entrada del sumador 408 con lo que la LSF cuantificada predicha se sustrae del vector de entrada 401 para proporcionar el vector LSF residual 405.
En algunas realizaciones el determinador de modo de predicción 402 puede proporcionar un vector LSF eliminado medio al cuantificador de vector 406. Por ejemplo, cuando que opera en un modo de operación (de red de seguridad) no predictivo el vector LSF transmitido al cuantificador de vector 406 puede ser un vector LSF eliminado medio.
Como un ejemplo en el modo de operación (de red de seguridad) no predictivo, un vector LSF medio precalculado puede sustraerse del vector LSF antes de que el vector LSF se pase al cuantificador de vector 406. En otras palabras, cada componente del vector LSF puede tener un valor medio de componente sustraído del mismo antes de cuantificarse por vector por el cuantificador de vector 406.
El vector LSF medio puede ser fijo para todos los vectores LSF y precalcularse usando una base de datos de aprendizaje.
Se ha de apreciar que el valor del umbral predeterminado puede elegirse de tal forma que cuando el vector LSF cuantificado y el vector LSF recuperado están lo suficientemente cerca entre sí, puede considerarse que un evento de borrado de trama en el decodificador puede no producir artefactos molestos en la señal de audio decodificada cuando el cuantificador LSF está operando en un modo de operación predictivo para la cuantificación del siguiente vector LSF
A la inversa, se ha de apreciar que el valor del umbral predeterminado puede elegirse de tal forma que cuando el vector LSF cuantificado y la LSF recuperada están lo suficientemente lejos entre sí, puede considerarse que un evento de borrado de trama en el decodificador puede producir artefactos molestos en la señal de audio decodificada cuando el cuantificador LSF está operando en un modo de operación predictivo. En esta instancia el cuantificador de vector en el codificador puede conmutar a un modo de operación (de red de seguridad) no predictivo para la cuantificación del siguiente vector LSF.
Adicionalmente, en algunas realizaciones la decisión de si usar un modo de operación predictivo o no predictivo de operación para el siguiente vector LSF también puede depender adicionalmente del modo de codificación elegido para codificar la siguiente trama de audio de entrada, y si dicho modo de codificación si de un tipo que permite que el modo de operación predictivo se use. Por ejemplo con referencia a la Tabla 1, únicamente los modos de codificación 2, 3, 4, 5, 8, 10, 11 y 12 permitirían que el modo de operación predictivo se seleccionara.
Se ha de apreciar por lo tanto en estas realizaciones que el cuantificador 400 puede seleccionarse para operar en un modo de operación predictivo para el siguiente vector LSF cuando se cumplen ambas condiciones anteriores. En otras palabras cuando la medición de distancia determinada está por debajo del valor umbral predeterminado y el modo de codificación seleccionado durante el procesamiento de la siguiente trama de audio permite que se use el predictor.
Adicionalmente aún, en algunas realizaciones el resultado de que la medida de distorsión está por debajo del valor umbral predeterminado para el vector LSF de una trama de audio puede usarse como un indicador de que el modo de operación predictivo puede usarse para cuantificar el vector LSF para la siguiente trama de audio. En tales realizaciones, la decisión final en cuanto a si usar el vector predicho LSF cuantificado o el vector LSF cuantificado no predicho para la siguiente trama de audio puede tomarse durante la cuantificación del vector LSF para la siguiente trama de audio. Para la siguiente trama de audio el cuantificador 400 puede cuantificar el vector LSF asociado con la siguiente trama de audio primeramente usando un modo de operación predictivo y a continuación cuantificando el vector LSF de entrada de nuevo usando el modo de operación (de red de seguridad) no predictivo. El vector LSF cuantificado de la siguiente trama de audio puede seleccionarse a continuación para ser el vector LSF cuantificado que produce el error de cuantificación más pequeño.
Se ha de apreciar por lo tanto en estas realizaciones la comparación de la medida de distorsión con el umbral predeterminado es meramente una indicación en cuanto a si el vector LSF de la siguiente trama de audio (el siguiente vector LSF) pueden cuantificarse usando un modo de operación predictivo. La decisión final real puede depender de si el modo de codificación para la siguiente trama de audio permite el modo de operación predictivo. Si el modo de codificación para la siguiente trama de audio permite el uso del modo predictivo, el cuantificador 400 puede cuantificar a continuación el vector LSF de la siguiente trama de audio tanto en un modo predictivo como un modo no predictivo. El vector LSF cuantificado para la siguiente trama de audio puede determinarse a continuación para ser o bien el vector LSF cuantificado obtenido a través del modo de operación no predictivo o el vector LSF cuantificado obtenido a través del modo de operación predictivo dependiendo de qué modo de operación produce el error de cuantificación más pequeño.
Con referencia a la Figura 5 la etapa de determinación de si la medida de distorsión está por debajo del umbral predeterminado se muestra como la etapa de decisión 507.
Con referencia adicional a la Figura 5, la etapa de decisión 507 tiene dos salidas. La primera ramificación de salida 507a indica que la medida de distorsión está por debajo del umbral predeterminado
La primera instancia de decisión puede resultar en la indicación mediante el determinador de modo de predicción 402 que el siguiente vector LSF de entrada puede cuantificarse usando el cuantificador 400 en un modo de operación predictivo
La etapa de determinación de una indicación que el vector LSF para la siguiente trama de audio (siguiente vector LSF) puede cuantificarse por vector usando el modo operacional predictivo se muestra como la etapa de procesamiento 509 en la Figura 5.
En las realizaciones la indicación anterior puede almacenarse en memoria para que puede recuperarse durante el procesamiento de la trama de audio.
La segunda ramificación de salida 507b indica que la medida de distorsión es o bien igual o bien mayor que el umbral predeterminado.
La segunda instancia de decisión puede resultar en la determinación que el siguiente vector LSF de entrada pueden cuantificarse usando el modo de operación (de red de seguridad) no predictivo. La etapa de determinación de que el siguiente vector LSF tiene que cuantificarse por vector usando el modo de operación (de red de seguridad) no predictivo se muestra como la etapa de procesamiento 511 en la Figura 5.
En otras palabras puede proporcionarse un medio para determinar un modo de operación de un cuantificador de vector para un vector de una pluralidad de coeficientes asociados con una trama posterior de muestras de audio, en el que el modo de operación depende de una comparación entre un vector de pluralidad de coeficientes y un vector de una pluralidad de coeficientes recuperados para una trama de muestras de audio.
Con referencia a la Figura 3 se muestra un diagrama de flujo que representa al menos en parte algunas de las operaciones del cuantificador 400 para la cuantificación del vector LSF para la siguiente trama de audio, en otras palabras el siguiente vector LSF.
Debe apreciarse en este documento que la descripción que acompaña a la Figura 3 se refiere a cuantificar el vector LSF de entrada posterior (o siguiente) al del vector de entrada procesado de acuerdo con el diagrama de flujo de la Figura 5. Por consiguiente, el vector de entrada de la Figura 3 puede verse como el siguiente vector LSF al del vector LSF de la Figura 5.
Debe entenderse adicionalmente que el vector LSF referidos en la descripción adjunta asociada con la Figura 3 puede ser el vector LSF de una trama de audio de entrada que es una siguiente trama de audio de entrada a la referida en la Figura 5.
Cuando se cuantifica el vector LSF para la siguiente trama de audio el determinador de modo de predicción 402 puede comprobar inicialmente el siguiente indicador de vector LSF como se determina durante las etapas de procesamiento 509 y 511. En la Figura 3 esta etapa de comprobación se muestra como la etapa de procesamiento 301.
Si se determina en la etapa de procesamiento 301 que el siguiente indicador de vector LSF indica que el siguiente vector LSF debería cuantificarse mediante el cuantificador 400 en un modo de operación (de red de seguridad) no predictivo entonces se toma la ramificación de decisión 301b.
La ramificación de decisión 301b conduce a la etapa de procesamiento 302 en la que el determinador de modo de predicción 402 asegura que el vector LSF de entrada (en otras palabras el siguiente vector LSF) se cuantifica en un modo de operación no predictivo.
Si se determina en la etapa de procesamiento 301 que el siguiente indicador LSF sí indica que el siguiente vector LSF puede cuantificarse mediante el cuantificador 400 en un modo de operación predictivo entonces se toma la ramificación de decisión 301a.
Como resultado de la instancia de decisión 301a se realiza la etapa de procesamiento 303 en la que el determinador de modo de predicción 402 puede comprobar el modo de codificación para la trama de audio actual.
El modo de codificación se transmite al cuantificador 400 a lo largo de la línea de entrada 403 de la Figura 4.
Si el determinador de modo de predicción 402 determina en la etapa de comprobación 303 que el modo de codificación de la trama de audio actual no permite que se use el cuantificador 400 en un modo de operación predictivo entonces se toma la ramificación de instancia de decisión 303b. El determinador de modo de predicción 402 puede garantizar a continuación que el vector LSF de entrada (en otras palabras el siguiente vector LSF) se cuantifica en un modo de operación no predictivo como se representa mediante la etapa de procesamiento 305. Si sin embargo el determinador de modo de predicción 402 determina en la etapa de comprobación 303 que el modo de codificación de la trama de audio actual permite que se use predicción en el cuantificador 400 entonces puede tomarse la ramificación de instancia de decisión 303a. En consecuencia como resultado de esta instancia de decisión 303a el vector LSF de entrada puede cuantificarse usando el cuantificador 400 en un modo de operación predictivo y adicionalmente el vector LSF de entrada también puede cuantificarse usando el cuantificador 400 en un modo de operación (de red de seguridad) no predictivo como se representa mediante la etapa de procesamiento 304.
El cuantificador 400 puede determinar a continuación tanto el error de cuantificación para el vector LSF cuantificado obtenido como resultado del cuantificador que opera en un modo predictivo como el cuantificador error para el vector LSF cuantificado obtenido como resultado del cuantificador que opera in a modo (de red de seguridad) no predictivo. El cuantificador 400 puede a continuación seleccionar el vector LSF cuantificado particular de acuerdo con qué modo de operación particular del cuantificador 400 produce el error de cuantificación más pequeño.
Debe apreciarse que al menos una salida del cuantificador 400 puede ser o bien el índice cuantificado asociado con el vector LSF cuantificado obtenido como resultado del cuantificador 400 que opera en un modo predictivo, o el índice cuantificado asociado con el vector LSF cuantificado obtenido como resultado del cuantificador 400 que opera en un modo de operación (de red de seguridad) no predictivo.
Debe apreciarse que en algunas realizaciones el cuantificador 400 puede operar de acuerdo con solo el diagrama de flujos de la Figura 5. En otras palabras el determinador de modo de predicción 402 puede determinar el modo de operación del cuantificador 400 para cuantificar el siguiente vector LSF basándose solamente la comparación de la medida de distancia contra el umbral predeterminado.
Debe entenderse adicionalmente que para otras realizaciones el cuantificador 400 puede operar de acuerdo con el diagrama de flujo combinado de ambas Figuras 5 y 3. En otras palabras el determinador de modo de predicción 402 puede determinar el modo de operación del cuantificador 400 para cuantificar el siguiente vector LSF basándose parcialmente en la comparación de la medida de distancia contra el umbral predeterminado. Además el modo de operación seleccionado del cuantificador 400 también dependerá del modo de codificación de la siguiente trama de audio y del error de cuantificación relativo producido por el cuantificador 400 que opera tanto en el modo predictivo como el no predictivo.
Con referencia a la Figura 6 se muestra un diagrama de flujo 600 de un método de cuantificación por vector del vector de entrada que puede usarse por el cuantificador de vector 406 en algunas realizaciones.
En una etapa 610, se determina una primera representación cuantificada de un vector de entrada. Por ejemplo, dicha primera representación cuantificada puede representar un vector cuantificado del vector de entrada. Como un ejemplo, este vector cuantificado puede comprender una pluralidad de bits, pero cualquier otra representación cuantificada adecuada del vector de entrada puede usarse para la primera representación cuantificada.
Como un ejemplo no limitante, el vector de entrada puede representar un vector que comprende frecuencias espectrales de línea (LSF) de una señal de entrada, en el que esta señal de entrada puede representar al menos una parte de señal de audio, por ejemplo una parte de una señal de voz o una parte de una señal no de voz, en el que esta señal de audio puede comprender partes con voz y/o sin voz y/o genéricas y/o de transición y/o de CNG. Por ejemplo, la señal de entrada a cuantificar puede representar datos residuales de una señal de audio a codificar, por ejemplo un residual de un vector de frecuencia espectral de línea (LSF).
Como un ejemplo, la primera representación cuantificada puede determinarse por medio de una primera fase de cuantificación que se realiza basándose en una pluralidad de vectores de códigos. Esta pluralidad de vectores de códigos de la primera fase de cuantificación puede representar un libro de códigos de primera fase.
Por ejemplo, la primera representación cuantificada puede representar el vector de códigos seleccionado de la pluralidad de vectores de códigos para cuantificar el vector de entrada. Como otro ejemplo, la primera representación cuantificada puede representar un identificador del vector de códigos seleccionado, en el que este identificador puede representar un índice de vector de códigos. Por lo tanto, por ejemplo, si la primera representación cuantificada puede comprender n bits, el libro de códigos de primera fase puede comprender un máximo de 2n vectores de códigos.
En una etapa 620, una segunda representación cuantificada del vector de entrada se determina basándose en un libro de códigos dependiendo de la primera representación cuantificada.
Por ejemplo, puede suponerse que esta segunda representación cuantificada se realiza por medio de una segunda fase de cuantificación. Esta segunda fase de cuantificación puede realizar una cuantificación basándose en una pluralidad de libros de códigos, en el que cada de esta pluralidad de libros de códigos comprende al menos un vector de códigos.
El libro de códigos usado para la cuantificación del vector de entrada en la segunda fase depende de la primera representación cuantificada. Por lo tanto, como un ejemplo, el libro de códigos usado en la segunda fase puede seleccionarse de la pluralidad de libros de códigos de la segunda fase basándose en la primera representación cuantificada del vector de entrada.
Por ejemplo, puede definirse una correlación entre un vector de códigos de la pluralidad de vectores de códigos de la primera fase y un libro de códigos de la pluralidad de libros de códigos de la segunda fase. Por consiguiente, una correlación de este tipo puede definirse por cada vector de códigos de la pluralidad de vectores de códigos de la primera fase y un respectivo libro de códigos de la pluralidad de libros de códigos de la segunda fase. Por lo tanto, basándose en la primera representación cuantificada del vector de entrada, en el que esta primera representación cuantificada puede representar el vector de códigos seleccionado en la primera fase o puede representar en indicador del vector de códigos seleccionado en la primera fase, el libro de códigos para realizar cuantificación en la segunda fase puede seleccionarse de la pluralidad de libros de códigos de la segunda fase.
Esto puede mostrar la ventaja de que libros de códigos específicos pueden definirse por la segunda fase, en el que cada libro de códigos específico se adapta a la cuantificación realizada en la primera fase. Por lo tanto, al menos un libro de códigos de la pluralidad de libros de códigos de la segunda fase puede representar un libro de códigos específico sintonizado para los datos residuales particular asociados con este libro de códigos a codificar que puede mejorar la eficacia de codificación.
Por ejemplo, los libros de códigos de la segunda fase pueden representar libros de códigos reticulares.
Como un ejemplo, la primera representación cuantificada del vector de entrada puede representar un índice de vector de códigos que es indicativo del vector de códigos seleccionado en la primera fase. A continuación, en la etapa 620, se selecciona un libro de códigos de la pluralidad de libros de códigos que se asocia con el índice de vector de códigos de la primera representación cuantificada. Por ejemplo, cada índice de vector de códigos de la primera fase puede asociarse con un correspondiente libro de códigos de la pluralidad de libros de códigos de la segunda fase.
A continuación, en la etapa 620, basándose en el libro de códigos seleccionado, un vector de códigos del libro de códigos seleccionado puede determinarse, por ejemplo basándose en una métrica de distorsión. Por ejemplo, el vector de códigos del libro de códigos seleccionado puede determinarse para cuantificar el vector de entrada que tiene la menor distorsión con respecto al vector de entrada, en el que la distorsión se determina basándose en la métrica de distorsión. Como un ejemplo, la métrica de distorsión puede representar una distancia entre el vector de códigos y el vector de entrada. Por ejemplo, puede usarse una distancia de norma L1 o una distancia euclidiana o
cualquier otra distancia.
En algunas realizaciones una representación cuantificada adicional del vector de entrada puede determinarse basándose en un libro de códigos dependiendo de una representación cuantificada previa. En otras palabras, esta adicionalmente representación cuantificada puede realizarse por medio de una fase de cuantificación adicional. La fase de cuantificación adicional puede realizar la cuantificación en una pluralidad de libros de códigos.
El número de fases de cuantificación del cuantificador de vector 406 también puede variar de acuerdo con el tipo de modo de codificación usado por el codificador 104 para codificar la señal de audio de entrada.
Con referencia a la Figura 7 se muestra un diagrama de flujo 700 de un método adicional de cuantificación por vector del vector de entrada de acuerdo con el cuantificador de vector 406.
Por ejemplo, Este método 700 puede usarse para determinar la segunda representación cuantificada del vector de entrada en la etapa 620 del método 600 representado en la Figura 6.
En una etapa 710, el vector de entrada se normaliza basándose en la primera representación cuantificada. Por ejemplo, dicha normalización puede comprender multiplicar los componentes de vector del vector de entrada con coeficientes de normalización para obtener una representación normalizada del vector de entrada, en el que los coeficientes de normalización dependen de la primera representación cuantificada del vector de entrada.
La normalización se realiza basándose en la primera representación cuantificada. Por ejemplo, puede definirse una pluralidad de conjuntos de coeficientes de normalización, comprendiendo cada conjunto de coeficientes de normalización al menos un coeficiente de normalización a usar para normalización del vector de entrada, en el que un conjunto de coeficientes de normalización se selecciona de la pluralidad de conjuntos de coeficientes de normalización basándose en la primera representación cuantificada del vector de entrada.
Por ejemplo, puede definirse una correlación entre un vector de códigos de la pluralidad de vectores de códigos de la primera fase y un conjunto de coeficientes de normalización de la pluralidad de conjuntos de coeficientes de normalización. Por consiguiente, una correlación de este tipo puede definirse por cada vector de códigos de la pluralidad de vectores de códigos de la primera fase y un respectivo conjunto de coeficientes de normalización de la pluralidad de coeficientes de normalización. Por lo tanto, basándose en la primera representación cuantificada del vector de entrada, en el que esta primera representación cuantificada puede representar el vector de códigos seleccionado en la primera fase o puede representar en indicador del vector de códigos seleccionado en la primera fase, el conjunto de coeficientes de normalización para realizar normalización del vector de entrada en la etapa 710 puede seleccionarse de la pluralidad de conjuntos de coeficientes de normalización.
Como un ejemplo, si el vector de entrada comprende n vector coeficientes, un conjunto de coeficientes de normalización puede comprender n coeficientes de normalización. A continuación, normalización del vector de entrada puede realizarse multiplicando un componente de vector de la pluralidad de componentes de vector del vector de entrada con un coeficiente de normalización asociado del conjunto seleccionado de coeficientes de normalización. Esto puede realizarse para cada componente de vector del vector de entrada, en el que un respectivo componente de vector se multiplica con los respectivos coeficientes de normalización del conjunto de coeficientes de normalización para obtener una representación normalizada del vector de entrada.
Como un ejemplo, la primera representación cuantificada del vector de entrada puede representar un índice de vector de códigos que es indicativo del vector de códigos seleccionado en la primera fase. A continuación, en la etapa 710, un conjunto de coeficientes de normalización de la pluralidad de conjuntos de coeficientes de normalización se selecciona que se asocia con el índice de vector de códigos de la primera representación cuantificada. Por ejemplo, cada índice de vector de códigos de la primera fase puede asociarse con un correspondiente conjunto de coeficientes de normalización de la pluralidad de conjuntos de coeficientes de normalización.
A continuación, en una etapa 720 se determina la segunda representación cuantificada del vector de entrada normalizado dependiendo de la primera representación cuantificada. Determinar la segunda representación cuantificada en la etapa 720 puede realizarse como se describe con respecto a etapa 620 en la Figura 6, en el que el vector de entrada usado en la etapa 620 se sustituye con el vector de entrada normalizado obtenido en la etapa 710.
La Figura 8a representa un diagrama de flujo 800 de un método adicional de cuantificación por vector del vector de entrada de acuerdo con el cuantificador de vector 406.
Por ejemplo, Este método 800 puede usarse para determinar la segunda representación cuantificada del vector de entrada en la etapa 620 del método 600 representado en la Figura 6 o para determinar la segunda representación cuantificada del vector de entrada normalizado en la etapa 720 en la Figura 7.
En una etapa 810, se selecciona un libro de códigos de una pluralidad de libros de códigos basándose en la primera representación cuantificada. Por ejemplo, esta selección puede realizarse como se explica con respecto al ejemplo de realización de un método 600.
Cada libro de códigos de la pluralidad de libros de códigos se define mediante un conjunto asociado de vectores de códigos base y una al menos un representante de escala asociada.
Cada conjunto de vectores de códigos base comprende al menos un vector de códigos base. Ya que cada conjunto de vectores de códigos base se asocia con al menos un representante de escala de una pluralidad de representantes de escala, un vector de códigos puede determinarse basándose en un vector de códigos base de un conjunto de potenciales vectores de códigos base y un representante de escala del al menos un representante de escala asociado con el conjunto de potenciales vectores de códigos base, es decir el vector de códigos puede representarse basándose en un vector de códigos base escalado mediante el respectivo representante de escala. Por ejemplo, el representante de escala puede representar un valor de escala, en el que un vector de códigos puede determinarse basándose en una multiplicación de un vector de códigos base y el respectivo valor de escala.
Por ejemplo, al menos un conjunto de vectores de códigos base se asocia con al menos dos representantes de escala.
Por consiguiente, como un ejemplo, un libro de códigos puede comprender un conjunto de vectores de códigos que comprende vectores de códigos basándose en la pluralidad de conjuntos de vectores de códigos base y basándose en el respectivo al menos un valor de escala asociado con un respectivo conjunto de vectores de códigos base de la pluralidad de vectores de códigos base. Este conjunto de vectores de códigos puede comprender, para cada vector de códigos base de cada conjunto de vectores de códigos base y para cada uno del al menos un representante de escala asociado con un respectivo conjunto de vectores de códigos base, un vector de códigos basándose en el respectivo vector de códigos base escalado mediante el respectivo representante de escala.
Por ejemplo, dichos conjuntos de vectores de códigos base pueden representar clases guía, en el que cada clase guía comprende un vector guía diferente y permutaciones de dicho vector guía. Por lo tanto, dicho vector guía y las permutaciones de dicho vector guía pueden representar los vectores de códigos base del respectivo conjunto de vectores de códigos base.
La pluralidad de conjuntos de vectores de códigos base puede representar un subconjunto de una segunda pluralidad de conjuntos de vectores de códigos base. Por ejemplo, bajo la suposición de que cada conjunto de vectores de códigos base representa una clase guía, la pluralidad de clases guía puede representar un subconjunto de una segunda pluralidad de clases guía. Por lo tanto, la pluralidad de clases guía pueden considerarse como una pluralidad truncada de clases guía con respecto a la segunda pluralidad de clases guía.
La Figura 8b representa un ejemplo de una pluralidad de conjunto de vectores de códigos base, en el que cada bx, con xe {0, 1, ... X-1}, representa un conjunto de vector de códigos base de la pluralidad de conjuntos de vectores de códigos base, en el que X representan el número de conjuntos de la pluralidad de conjuntos de vectores de códigos base. Cada conjunto de vectores de códigos base se asocia o comprende al menos un vector de códigos base bx,y, en el que Bx representa el número de vectores de códigos base de un respectivo conjunto de vectores de códigos base bx, es decir se cumple ye {0, 1, ... Bx-1}. Por ejemplo, el número Bx de vectores de códigos base de un conjunto de vectores de códigos base puede ser diferente para diferentes conjuntos de vectores de códigos base y/o puede ser el mismo para al menos dos conjuntos de vectores de códigos base.
La Figura 8c representa un proceso de ejemplo de determinación de un vector de códigos cx,z,y basándose en vector de códigos base bx,y y basándose en un representante de escala sz, en el que el índice z representa el índice del respectivo representante de escala de la pluralidad de representantes de escala s0... ss -1 , es decir se cumple ze {0, 1, ... S-1}.
Por ejemplo, en el caso de que los valores bx,y,t de los vectores de códigos base bx,y =[ bx,y,o, bx,y,1,..., bx,y,n-1] representan valores absolutos, en el que se cumple te{0, 1, ... n-1} y n representa la longitud del respectivo vector de códigos base bx,y, y si el vector de entrada valorado absoluto se usa para determinar los vectores de código potenciales de un respectivo conjunto de vectores de códigos base, el signo de cada valor bx,y,t en la (t+1)ésima posición del vector de códigos base más cercano determinado bx,y puede asignarse basándose en el signo del respectivo valor it en la (t+1)ésima posición del vector de entrada i, antes de que se realice la determinación de un vector de códigos cx,z,y basándose en vector de códigos base bx,y y basándose en un representante de escala sz, como se representa ilustrativamente en la Figura 8c. Como un ejemplo, si i=[¡0, i1 ,..., in-1] representa el vector de entrada, el vector de entrada valorado absoluto puede representarse mediante [|iü|, |h|,..., |in-11].
Por ejemplo, el signo de cada valor bx,y,t en la (t+1)ésima posición del vector de códigos base más cercano determinado bx,y puede asignarse al signo del respectivo valor it en la (t+1)ésima posición del vector de entrada, respectivamente, en el que esto puede mantenerse si la paridad de los vectores de códigos base bx,y del conjunto de vectores de códigos base bx es 0. Como otro ejemplo, si la paridad de los vectores de códigos base bx,y del conjunto
de vectores de códigos base bx es -1, los signos de los valores bx,y,t del vector de códigos base potencial pueden asignarse correspondiendo a los signos de los valores del vector de entrada en la misma posición en el vector, respectivamente, y si no existe un número impar de componentes negativos, el valor bx,y,t en el vector de códigos base potencial que tiene el valor absoluto no nulo más bajo puede cambiar su signo. O, como otro ejemplo, si la paridad de los vectores de códigos base bx,y del conjunto de vectores de códigos base bx es 1, los signos de los valores bx,y,t del vector de códigos base potencial pueden asignarse correspondiendo a los signos de los valores del vector de entrada en la misma posición en el vector, respectivamente, y si no existe un número par de componentes negativos, el valor bx,y,t en el vector de códigos base potencial que tiene el valor absoluto no nulo más bajo puede cambiar su signo.
Como un ejemplo no limitante, un vector de códigos cx,z,y puede determinarse basándose en un vector de códigos base mediante bx y basándose en un representante de escala sz mediante cx,z,y = [bx,y ,0sz , bx,y,rs z , ..., bx,y,n-r s zj.
Cada uno de los representantes de escala sz, en el que se cumple ze {0,1,... S-1}, se asocia con al menos un conjunto de vectores de códigos base. Por ejemplo, como un ejemplo no limitante este respectivo al menos un conjunto de vectores de códigos base puede representarse mediante el conjunto de vectores de códigos base bx, con xe {0, 1, ... nz-1}, en el que nz puede representar el número de conjuntos de vectores de códigos base asociados con el respectivo representante de escala sz , en el que se cumple 0<nz<X. Basándose en esta vinculación entre un respectivo representante de escala sz y el asociado al menos un conjunto de vectores de códigos base bx, con xe {0, 1, ... nz-1}, puede determinarse el asociado al menos un conjunto de vectores de códigos cx,z,y, con xe {0, 1, ... nz-1} y ye {0, 1, ... Bx-1} y ze {0, 1, ... S-1}.
Así pues, como un ejemplo, una estructura de libro de códigos del libro de códigos anteriormente mencionado puede definirse mediante la pluralidad de representantes de escala sz, la pluralidad de conjuntos de vectores de códigos base bx y la vinculación entre cada representante de escala con el asociado al menos un conjunto de vectores de códigos base.
Ya que al menos un conjunto de vectores de códigos base, por ejemplo al menos el conjunto de vectores de códigos base b0, se asocia con al menos dos representantes de escala, el mismo conjunto de vectores de códigos base puede usarse para construir vectores de códigos del al menos un conjunto de vectores de códigos asociado con un primer representante de escala y para construir vectores de códigos del al menos un conjunto de vectores de códigos asociado con al menos un representante de escala adicional.
Por ejemplo, los libros de códigos de la pluralidad de libros de códigos de la etapa 410 pueden definirse basándose en la segunda pluralidad anteriormente mencionada de clases guía, en el que cada clase guía de la segunda pluralidad de clases guía se asocia con un diferente vector guía, y en el que un conjunto de vector de códigos base asociado con un respectivo clase guía puede representarse mediante el respectivo vector guía y permutaciones de este vector guía. A continuación, como un ejemplo, cada libro de códigos de la pluralidad de libros de códigos puede definirse mediante al menos un truncamiento asociado con un respectivo libro de códigos, en el que cada truncamiento del al menos un truncamiento asociado con un respectivo libro de códigos se asocia con al menos una clase guía de la segunda pluralidad de clases guía y con un respectivo representante de escala de tal forma que la clase guía vector del respectivo clase guía escalado con respectivo representante de escala y permutaciones de este vector de clase guía escalado representan vectores de códigos del respectivo truncamiento del al menos un truncamiento del respectivo libro de códigos.
Como un ejemplo no limitante, un ejemplo de 16 clases guía ilustrativas puede definirse mediante:
float pl[]={1, 1, 0, 0, 0, 0, 0, 0,
0,5, 0,5, 0,5, 0,5, 0,5, 0,5, 0,5, 0,5,
1, 1, 1, 1, 0, 0, 0, 0,
2, 0, 0, 0, 0, 0, 0, 0,
1.5, 0,5, 0,5, 0,5, 0,5, 0,5, 0,5, 0,5, // 5
1, 1, 1, 1, 1, 1, 0, 0,
2, 1, 1, 0, 0, 0, 0, 0,
1.5, 1,5, 0,5, 0,5, 0,5, 0,5, 0,5, 0,5,
1, 1, 1, 1, 1, 1, 1, 1,
2, 1, 1, 1, 1, 0, 0, 0, //10
2, 2, 0, 0, 0, 0, 0, 0,
1.5, 1,5, 1,5, 0,5, 0,5, 0,5, 0,5, 0,5,
2.5, 0,5, 0,5, 0,5, 0,5, 0,5, 0,5, 0,5,
2, 1, 1, 1, 1, 1, 1, 0,
2, 2, 1, 1, 0, 0, 0, 0, //15
3, 1, 0, 0, 0, 0, 0, 0};
Por ejemplo, estas 16 clases guía pueden definir la segunda pluralidad anteriormente mencionada de conjuntos de vectores de códigos base, en el que una estructura de libro de códigos puede definirse mediante una pluralidad de conjunto de vectores de códigos base que representa un subconjunto de dicha segunda pluralidad de conjuntos de vectores de códigos base.
Como un ejemplo, una pluralidad de un ejemplo de 16 estructuras de libro de códigos ilustrativas pueden definirse como
int no_lead[ ][ ]={
{8, 9, 3, 2, 2, 1},
{10, 9, 3, 2, 2, 0},
{7, 6, 2, 2, 3, 0},
{2, 2, 1, 10, 9, 2},
{6, 2, 0, 5, 3, 0},
{13, 3, 0, 2, 2, 0},
{10, 9, 3, 2, 2, 0},
{10, 9, 3, 2, 2, 0},
{10, 9, 3, 2, 2, 0},
{5, 3, 0, 6, 2, 0},
{8, 5, 2, 4, 0, 0},
{10, 9, 3, 2, 2, 0},
{9, 9, 3, 2, 2, 2},
{10, 9, 3, 2, 2, 0},
{11, 9, 3, 2, 2, 0},
{8, 10, 7, 2, 2, 0}};
en el que cada vector no_lead[ ][l] (en el que se cumple Ie {0, 1, ... 16}) define una respectiva estructura de libro de códigos que comprende una pluralidad de truncamientos. Por ejemplo, con l=2 el vector no_lead[ ][2]=(10, 9, 3, 2, 2, 0) define una respectiva estructura de libro de códigos significando que el primer truncamiento, es decir, la primera unión de clases guía, puede componerse de las primeras 8 clases guía, la segunda mediante las primeras 9 clases guía, la tercera mediante las primeras 3 clases guía, y así sucesivamente.
A cada truncamiento de una respectiva estructura de libro de códigos puede asignarse una respectiva representación de escala (por ejemplo a través de entrenamiento), por ejemplo:
float scales[ ][16]={
{0,947f, 1,574f, 2,432f, 1,281f, 2,249f, 5,562f},
{0,887f, 1,635f, 2,626f, 1,263f, 2,736f, 0,0f},
{1,005f, 1,683f, 3,539f, 1,071f, 1,895f, 0,0f},
{1,055f, 2,491f, 6,473f, 0,959f, 1,930f, 2,455f,},
{1, 195f, 3,650f, 0,0f, 1,225f, 2,172f, 0,0f},
{1,070f, 2,998f, 0,0f, 1,296f, 2,389f, 0,0f},
{0,919f, 1,558f, 3,924f, 1,261f, 2,495f, 0,0f},
{0,918f, 1,557f, 2,240f, 1,256f, 2,439f, 0,0f},
{0,907f, 1,955f, 3,21 0f, 1,334f, 3,132f, 0,0f},
{1,098f, 1,960f, 0,0f, 1,222f, 3,658f, 0,0f},
{1,082f, 1,913f, 2,942f, 1,436f, 0,0f, 0,0f},
{0,940f, 1,620f, 2,512f, 1,336f, 3,017f, 0,0f},
{0,949f, 1,539f, 2,587f, 1, 148f, 2,125f, 5,231f},
{0,945f, 1,954f, 2,468f, 1,275f, 2,635f, 0,0f},
{0,916f, 1,660f, 2,852f, 1,242f, 2,432f, 0,0f},
{0,838f, 1,253f, 2,108f, 1,256f, 2,456f, 0,0f}};
Así pues, como un ejemplo, un Iésimo libro de códigos de la pluralidad de libros de códigos puede definirse mediante la pluralidad de truncamientos definidos mediante el respectivo vector no_lead[][l] y el respectivo vector de representación de escalas scales[][l], en el que cada truncamiento k no_lead[k][l] se escala con una respectiva representación de escala scales[k][l] asociada con este truncamiento. Por lo tanto, un primer conjunto de vectores de códigos de una pluralidad de vectores de códigos de un Iésimo libro de códigos se define mediante el primer truncamiento escalado mediante la respectiva primera representación de escala, es decir, bajo la suposición de l=2 la primera representación de escala sería 0,887 en el ejemplo anteriormente mencionado, un segundo conjunto de vectores de códigos de la pluralidad de vectores de códigos Iésimo libro de códigos se define mediante el segundo truncamiento escalado mediante la respectiva segunda representación de escala, es decir, bajo la suposición de l=2 la segunda representación de escala sería 1,635 en el ejemplo anteriormente mencionado, y así sucesivamente.
Por ejemplo, el número de libros de códigos de la pluralidad de libros de códigos puede corresponder al número de vectores de códigos de la primera fase, en el que cada vector de códigos de la primera fase se asocia con un
respectivo libro de códigos de la segunda fase. Como un ejemplo, la primera representación cuantificada del vector de entrada puede representar un índice de vector de códigos que es indicativo del vector de códigos seleccionado en la primera fase. A continuación, en la etapa 710, se selecciona un correspondiente libro de códigos de la pluralidad de libros de códigos basándose en el índice de vector de códigos. Por ejemplo, cada índice de vector de códigos de la primera fase puede asociarse con un correspondiente libro de códigos de la segunda fase.
Como un ejemplo no limitante, el índice de vector de códigos puede indicarse como I y el correspondiente libro de códigos puede definirse mediante el respectivo vector guía no_lead[ ][l[] y un respectivo vector de representación de escalas scales[][l].
A continuación, en una etapa 820 se determina una segunda representación cuantificada del vector de entrada basándose en el libro de códigos seleccionado.
Debe entenderse que este vector de entrada puede representar al vector de entrada normalizado o el vector de entrada no normalizado.
Por ejemplo, dicha determinación de una segunda representación cuantificada del vector de entrada puede comprender determinar un vector de códigos de la pluralidad de vectores de códigos del libro de códigos seleccionado que tiene una menor o mínima distorsión en comparación con el vector de entrada.
Como un ejemplo, una métrica de distorsión puede usarse para determinar la distorsión de un vector de códigos y el vector de entrada. Por ejemplo, dicha métrica de distorsión puede basarse en cualquier clase de distancia adecuada entre un vector de códigos y el vector de entrada. Como un ejemplo, puede usarse una distancia de Hamming o una distancia euclidiana o cualquier otra distancia. Como un ejemplo, el vector de códigos para el que tiene que calcularse la métrica de distorsión no debe determinarse necesariamente y la métrica de distorsión puede calcularse considerando inherentemente los respectivos vectores de códigos asociados con la representación de escala seleccionada y el conjunto de vectores de códigos base asociados con esta representación de escala seleccionada. Por ejemplo, si cx,z,y_[cx,z,y,0, cx ,z ,i, ..., cx,z,n-i] representa el vector de códigos y i—[i0, ii ,— in -i] representa el vector de entrada, una distancia d puede calcularse basándose en
Como un ejemplo, el respectivo vectores de códigos representa un vector de n dimensiones que comprende vectores de códigos valores C0...n-i y el vector de entrada representa un vector de n dimensiones que comprende valores de vector de entrada i0...in - i, en el que determinar la respectiva distancia d se realiza basándose en el cálculo de d'
Esta métrica de distorsión (2) puede considerarse para representar una métrica simplificada de la métrica (i) sin ninguna pérdida de calidad.
Adicionalmente, como un ejemplo, la métrica de distorsión puede determinarse basándose en una función ponderada.
Por ejemplo, el respectivo vector de códigos representa un vector de n dimensiones que comprende vectores de códigos valores C0...n-i y el vector de entrada representa un vector de n dimensiones que comprende valores de vector de entrada i0...in - i, en el que determinar la respectiva distancia dw' se realiza basándose en el cálculo de
, en la que wk representa factores de ponderación de la función de ponderación.
Por consiguiente, en la etapa 820 puede determinarse un vector de códigos de la pluralidad de vectores de códigos basándose en la métrica de distorsión aplicada, en la que esta determinación puede comprender por ejemplo calcular la distorsión para al menos un vector de códigos de la pluralidad de vectores de códigos, en la que el vector de códigos del al menos un vector de códigos se selecciona para cuantificación en la etapa 820 que tiene la menor
i7
distorsión de acuerdo con la métrica de distorsión determinada. Por ejemplo, dicho al menos un vector de códigos puede representar todos los vectores de códigos de la pluralidad de vectores de códigos del libro de códigos seleccionado o un subconjunto de vectores de códigos de la pluralidad de vectores de códigos del libro de códigos seleccionado.
Aunque los anteriores ejemplos describen realizaciones de la invención que operan dentro de un códec dentro de un aparato 10, se apreciará que la invención como se describe a continuación puede implementare como parte de cualquier códec de audio (o voz), incluyendo cualquier códec de audio (o voz) de tasa variable/tasa adaptativa. Por lo tanto, por ejemplo, realizaciones de la invención pueden implementare en un códec de audio que puede implementar codificación de audio en trayectorias de comunicación fijas o por cable.
Así pues equipo de usuario puede comprender un códec de audio tal como los descritos en las realizaciones de la invención anteriores.
Deberá apreciarse que la expresión equipo de usuario se concibe para cubrir cualquier tipo adecuado de equipo de usuario inalámbrico, tal como teléfonos móviles, dispositivos de procesamiento de datos portátiles o navegadores web portátiles.
Además elementos de una red móvil pública terrestre (PLMN) también pueden comprender códecs de audio como se describe anteriormente.
En general, las diversas realizaciones de la invención pueden implementare en hardware o circuitos de fin especial, software, lógica o cualquier combinación de los mismos. Por ejemplo, algunos aspectos pueden implementare en hardware, mientras otros aspectos pueden implementare en firmware o software que puede ejecutarse mediante un controlador, microprocesador u otro dispositivo informático, aunque la invención no se limita a los mismos. Mientras diversos aspectos de la invención pueden ilustrarse y describirse como diagramas de bloque, diagramas de flujo o usando alguna otra representación pictórica, se entiende bien que estos bloques, aparato, sistemas, técnicas o métodos descritos en este documento pueden implementare en, como ejemplos no limitantes, hardware, software, firmware, circuitos o lógica de fin especial, hardware de fin general o controlador u otros dispositivos informáticos o alguna combinación de los mismos.
Así pues al menos algunas realizaciones del codificador pueden ser un aparato que comprende al menos un procesador y al menos una memoria que incluye código de programa informático, el al menos una memoria y el código de programa informático configurados para, con el al menos un procesador, provocar que el aparato al menos realice: la determinación de al menos dos coeficientes de predicción lineal para una trama de audio digitalmente muestreada a una primera tasa de muestreo; la conversión de los al menos dos coeficientes de predicción lineal a al menos dos coeficientes de frecuencia espectral de línea; y la cuantificación de cada uno de los al menos dos coeficientes de frecuencia espectral de línea para producir al menos dos coeficientes de frecuencia espectral de línea cuantificados, en el que un coeficiente de frecuencia espectral de línea cuantificado de orden más alto de los al menos dos coeficientes de frecuencia espectral de línea cuantificados se encuentra dentro de un primer intervalo de frecuencia de al menos dos intervalos de frecuencia, en el que el primer intervalo de frecuencia se asocia con la primera tasa de muestreo, y en el que el primer intervalo de frecuencia es distinguible de un segundo intervalo de frecuencia de los al menos dos intervalos de frecuencia, en el que el segundo intervalo de frecuencia se asocia con una frecuencia espectral de línea cuantificada de orden más alto para una trama de audio digitalmente muestreada a una segunda tasa de muestreo.
En algunas realizaciones del decodificador pueden ser un aparato que comprende al menos un procesador y al menos una memoria que incluye código de programa informático, el al menos una memoria y el código de programa informático configurados para, con el al menos un procesador, provocar que el aparato al menos realice: la recepción de un conjunto de parámetros de audio codificados para una trama de audio, en el que el conjunto comprende índices que representan al menos dos coeficientes de frecuencia espectral de línea cuantificados, en el que la trama de audio cuando se decodifica comprende muestras de audio digitalmente muestreada a una frecuencia de muestreo, en el que la frecuencia de muestreo es una de una pluralidad de frecuencias de muestreo para un decodificador de audio; la conversión de los índices a los al menos dos coeficientes de frecuencia espectral de línea cuantificados; y la determinación de la frecuencia de muestreo para la trama de audio comprobando el valor de un coeficiente de frecuencia espectral de línea cuantificado de orden más alto de los al menos dos coeficientes de frecuencia espectral de línea cuantificados.
Las realizaciones de esta invención pueden implementare mediante software informático ejecutable mediante un procesador de datos del dispositivo móvil, tal como en la entidad de procesador, o mediante hardware o mediante una combinación de software y hardware. Adicionalmente en este sentido se ha de observar que cualquier bloque del flujo lógico como en las figuras puede representar etapas de programa, o circuitos lógicos interconectados, bloques y funciones, o una combinación de etapas de programa y circuitos lógicos, bloques y funciones.
Así pues al menos algunas realizaciones del codificador pueden ser un medio de almacenamiento legible por ordenador no transitorio que tiene almacenado en el mismo legible por ordenador, que, cuando se ejecuta por un
aparato informático, provoca que el aparato informático realice un método que comprende: cuantificar un vector de una pluralidad de coeficientes usando un modo de operación predictivo de un cuantificador de vector, en el que el cuantificador de vector puede operar en o bien un modo de operación predictivo o bien un modo de operación no predictivo, y en el que la pluralidad de coeficientes se asocian con una trama de muestras de audio; determinar un vector de una pluralidad de coeficientes recuperados que corresponden al vector de la pluralidad de coeficientes cuando el vector de la pluralidad de coeficientes se somete a un evento de borrado de trama; comparar el vector de la pluralidad de coeficientes con el vector de la pluralidad de coeficientes recuperados; y determinar el modo de operación del cuantificador de vector para un vector de una pluralidad de coeficientes asociados con una trama posterior de muestras de audio, en el que el modo de operación depende de la comparación.
La memoria puede ser de cualquier tipo adecuado al entorno técnico local y puede implementare usando cualquier tecnología de almacenamiento de datos adecuada, tal como memoria basada en dispositivos de semiconductores, dispositivos y sistemas de memoria magnéticos, dispositivos y sistemas de memoria ópticos, memoria fija y memoria extraíble, en otras palabras un medio de almacenamiento legible por ordenador no transitorio. Los procesadores de datos pueden ser de cualquier tipo adecuado al entorno técnico local, y pueden incluir uno o más de ordenadores de fin general, ordenadores de fin especial, microprocesadores, procesadores de señales digitales (DSP), Circuitos Integrados Específicos de la Aplicación (ASIC), circuitos a nivel de puerta y procesadores basándose en arquitectura de procesador de múltiples núcleos, como ejemplos no limitantes.
Realizaciones de las invenciones pueden practicarse en diversos componentes tal como módulos de circuito integrado. El diseño de circuitos integrados es en términos generales un proceso altamente automatizado. Complejas y potentes herramientas de software están disponible para convertir un diseño a nivel de lógica en un diseño de circuito de semiconductores listo para crearse y formarse en un sustrato semiconductor.
Programas, tales como aquellos proporcionados por Sypnopsys, Inc. de Mountain View, California y Cadence Design, de San José, California encaminan automáticamente conductores y localizan componentes en un chip de semiconductores usando reglas bien establecidas de diseño así como bibliotecas de módulos de diseño prealmacenados. Una vez que el diseño para un circuito de semiconductores se ha completado, el diseño resultante, en un formato electrónico normalizado (por ejemplo, Opus, GDSII o similar) puede transmitirse a una instalación de fabricación de semiconductores o “fab” para fabricación.
Como se usa en esta solicitud, el término 'circuitería' se refiere a todo lo siguiente:
(a) implementaciones de circuito únicamente de hardware (tal como implementaciones en únicamente circuitería analógica y/o digital) y
(b) a combinaciones de circuitos y software (y/o firmware), tal como: (i) a una combinación de procesadores o (ii) a porciones de procesador o procesadores/software (incluyendo procesador o procesadores de señales digitales), software y memoria o memorias que trabajan juntas para provocar que un aparato, tal como un teléfono móvil o servidor, realice diversas funciones y
(c) a circuitos, tal como un microprocesador o microprocesadores o una porción de un microprocesador o microprocesadores, que requieren software o firmware para operación, incluso si el software o firmware no está físicamente presente.
Esta definición de 'circuitería' se aplica a todos los usos de este término en esta solicitud, incluyendo cualquier reivindicación. Como un ejemplo adicional, como se usa en esta solicitud, el término 'circuitería' también cubriría una implementación de meramente un procesador (o múltiples procesadores) o porción de un procesador y su (o sus) software y/o firmware adjuntos. El término 'circuitería' también cubriría, por ejemplo y si es aplicable al elemento de reivindicación particular, un circuito integrado de banda base o circuito integrado de procesador de aplicaciones para un teléfono móvil o circuito integrado similar en servidor, un dispositivo de red celular u otro dispositivo de red celular.
La descripción anterior ha proporcionado por medio de ejemplos ilustrativos y no limitantes una descripción completa e informativa de la realización ilustrativa de esta invención. Sin embargo, diversas modificaciones y adaptaciones pueden hacerse evidentes para los expertos en la materia en vista de la descripción anterior, cuando se leen en conjunción con los dibujos adjuntos y las reivindicaciones adjuntas. Sin embargo, todas tales y similares modificaciones de los contenidos de esta invención aún pertenecerán al alcance de esta invención como se define en las reivindicaciones adjuntas.
Claims (7)
1. Un método para cuantificar un vector de coeficientes de frecuencia espectral de línea para una trama de audio posterior a una primera trama de audio, que comprende:
cuantificar un vector de coeficientes de frecuencia espectral de línea de la primera trama usando un modo de operación predictivo de un cuantificador de vector referenciándose a un vector cuantificado pasado de coeficientes de frecuencia espectral de línea, en donde el cuantificador de vector puede operar en un modo de operación predictivo o bien en un modo de operación no predictivo;
determinar un vector de coeficientes de frecuencia espectral de línea recuperados que corresponden al vector de coeficientes de frecuencia espectral de línea de la primera trama cuando se somete a un evento de borrado de trama, en donde el vector de la pluralidad de coeficientes de frecuencia espectral de línea recuperados se genera mediante un proceso de ocultación de error de trama, en donde el proceso de ocultación de error de trama es equivalente a un proceso de ocultación de error de trama usado en un decodificador;
determinar una medida de distorsión entre el vector de coeficientes de frecuencia espectral de línea de la primera trama y el vector de coeficientes de frecuencia espectral de línea recuperados;
comparar la medida de distorsión determinada con un valor umbral predeterminado, en donde el método se caracteriza por:
determinar el modo de operación del cuantificador de vector para un vector de coeficientes de frecuencia espectral de línea para una trama posterior de muestras de audio, en donde el modo de operación depende de la comparación de tal forma que cuando la medida de distorsión determinada es mayor que el valor umbral predeterminado se selecciona el modo de operación no predictivo, y
cuantificar la trama de audio posterior de acuerdo con el modo de operación determinado.
2. El método de acuerdo con la reivindicación 1, en el que la trama de muestras de audio está codificada de acuerdo con uno seleccionado de una pluralidad de modos de codificación, y en el que determinar el modo de operación del cuantificador de vector que depende de la comparación comprende:
determinar el modo de operación del cuantificador de vector que depende de la comparación y el seleccionado de la pluralidad de modos de codificación.
3. El método de acuerdo con las reivindicaciones 1 a 2, en el que la medida de distorsión es una distancia euclidiana entre el vector de coeficientes de frecuencia espectral de línea y el vector de los coeficientes de frecuencia espectral de línea recuperados.
4. El método de acuerdo con las reivindicaciones 1 a 2, en el que la medida de distorsión es una distancia de norma L1 entre el vector de coeficientes de frecuencia espectral de línea y el vector de los coeficientes de frecuencia espectral de línea recuperados.
5. Un aparato para cuantificar un vector de coeficientes de frecuencia espectral de línea para una trama de audio posterior a una primera trama de audio, estando el aparato configurado para:
cuantificar un vector de coeficientes de frecuencia espectral de línea de la primera trama usando un modo de operación predictivo de un cuantificador de vector referenciándose a un vector cuantificado pasado de coeficientes de frecuencia espectral de línea, en donde el cuantificador de vector puede operar en un modo de operación predictivo o bien en un modo de operación no predictivo;
determinar un vector de coeficientes de frecuencia espectral de línea recuperados que corresponden al vector de coeficientes de frecuencia espectral de línea de la primera trama cuando se somete a un evento de borrado de trama, en donde el vector de la pluralidad de coeficientes de frecuencia espectral de línea recuperados se genera mediante un proceso de ocultación de error de trama, en donde el proceso de ocultación de error de trama es equivalente a un proceso de ocultación de error de trama usado en un decodificador;
determinar una medida de distorsión entre el vector de coeficientes de frecuencia espectral de línea de la primera trama y el vector de coeficientes de frecuencia espectral de línea recuperados;
comparar la medida de distorsión determinada con un valor umbral predeterminado, en donde el aparato se caracteriza por estar configurado para:
determinar el modo de operación del cuantificador de vector para un vector de coeficientes de frecuencia espectral de línea para una trama posterior de muestras de audio, en donde el modo de operación depende de la comparación, de tal forma que cuando la medida de distorsión determinada es mayor que el valor umbral predeterminado se selecciona el modo de operación no predictivo, y
cuantificar la trama de audio posterior de acuerdo con el modo de operación determinado.
6. El aparato de acuerdo con la reivindicación 5, en el que la trama de muestras de audio está codificada de acuerdo con uno seleccionado de una pluralidad de modos de codificación, y en el que el aparato configurado para determinar el modo de operación del cuantificador de vector que depende de la comparación está configurado para:
determinar el modo de operación del cuantificador de vector que depende de la comparación y el seleccionado de la pluralidad de modos de codificación.
7. Un código de programa informático configurado para realizar el método de cualquiera de las reivindicaciones 1 a 4, cuando es ejecutado por un procesador.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/FI2012/051044 WO2014068167A1 (en) | 2012-10-30 | 2012-10-30 | A method and apparatus for resilient vector quantization |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2705223T3 true ES2705223T3 (es) | 2019-03-22 |
Family
ID=50626546
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES12887405T Active ES2705223T3 (es) | 2012-10-30 | 2012-10-30 | Un método y aparato para cuantificación de vector flexible |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US10109287B2 (es) |
| EP (1) | EP2915166B1 (es) |
| CN (1) | CN104756187B (es) |
| ES (1) | ES2705223T3 (es) |
| PL (1) | PL2915166T3 (es) |
| WO (1) | WO2014068167A1 (es) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI557727B (zh) * | 2013-04-05 | 2016-11-11 | 杜比國際公司 | 音訊處理系統、多媒體處理系統、處理音訊位元流的方法以及電腦程式產品 |
| BR112015029132B1 (pt) | 2013-05-24 | 2022-05-03 | Dolby International Ab | Método para codificar um mosaico de tempo/frequência de uma cena de áudio, codificador que codifica um mosaico de tempo/frequência de uma cena de áudio, método para decodificar um mosaico de tempo-frequência de uma cena de áudio, decodificador que decodifica um mosaico de tempo-frequência de uma cena de áudio e meio legível em computador. |
| US9495968B2 (en) | 2013-05-29 | 2016-11-15 | Qualcomm Incorporated | Identifying sources from which higher order ambisonic audio data is generated |
| US9466305B2 (en) | 2013-05-29 | 2016-10-11 | Qualcomm Incorporated | Performing positional analysis to code spherical harmonic coefficients |
| CN106030703B (zh) | 2013-12-17 | 2020-02-04 | 诺基亚技术有限公司 | 音频信号编码器 |
| US9922656B2 (en) | 2014-01-30 | 2018-03-20 | Qualcomm Incorporated | Transitioning of ambient higher-order ambisonic coefficients |
| US9502045B2 (en) | 2014-01-30 | 2016-11-22 | Qualcomm Incorporated | Coding independent frames of ambient higher-order ambisonic coefficients |
| US9852737B2 (en) | 2014-05-16 | 2017-12-26 | Qualcomm Incorporated | Coding vectors decomposed from higher-order ambisonics audio signals |
| US10770087B2 (en) | 2014-05-16 | 2020-09-08 | Qualcomm Incorporated | Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals |
| US9620137B2 (en) | 2014-05-16 | 2017-04-11 | Qualcomm Incorporated | Determining between scalar and vector quantization in higher order ambisonic coefficients |
| US9747910B2 (en) * | 2014-09-26 | 2017-08-29 | Qualcomm Incorporated | Switching between predictive and non-predictive quantization techniques in a higher order ambisonics (HOA) framework |
| GB2572761A (en) * | 2018-04-09 | 2019-10-16 | Nokia Technologies Oy | Quantization of spatial audio parameters |
| WO2023031498A1 (en) * | 2021-08-30 | 2023-03-09 | Nokia Technologies Oy | Silence descriptor using spatial parameters |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3849210B2 (ja) * | 1996-09-24 | 2006-11-22 | ヤマハ株式会社 | 音声符号化復号方式 |
| US6009387A (en) | 1997-03-20 | 1999-12-28 | International Business Machines Corporation | System and method of compression/decompressing a speech signal by using split vector quantization and scalar quantization |
| KR20020075592A (ko) * | 2001-03-26 | 2002-10-05 | 한국전자통신연구원 | 광대역 음성 부호화기용 lsf 양자화기 |
| CA2388358A1 (en) | 2002-05-31 | 2003-11-30 | Voiceage Corporation | A method and device for multi-rate lattice vector quantization |
| CN1420487A (zh) * | 2002-12-19 | 2003-05-28 | 北京工业大学 | 1kb/s线谱频率参数的一步插值预测矢量量化方法 |
| US20060080090A1 (en) * | 2004-10-07 | 2006-04-13 | Nokia Corporation | Reusing codebooks in parameter quantization |
| US20060188025A1 (en) * | 2005-02-18 | 2006-08-24 | Nokia Corporation | Error concealment |
| US7813922B2 (en) * | 2007-01-30 | 2010-10-12 | Nokia Corporation | Audio quantization |
| US8126707B2 (en) * | 2007-04-05 | 2012-02-28 | Texas Instruments Incorporated | Method and system for speech compression |
| US8160150B2 (en) * | 2007-04-10 | 2012-04-17 | Texas Instruments Incorporated | Method and system for rate distortion optimization |
| CN101419802B (zh) * | 2007-10-25 | 2011-07-06 | 华为技术有限公司 | 用于语音编码的矢量量化方法及矢量量化器 |
| KR101449434B1 (ko) | 2008-03-04 | 2014-10-13 | 삼성전자주식회사 | 복수의 가변장 부호 테이블을 이용한 멀티 채널 오디오를부호화/복호화하는 방법 및 장치 |
| WO2011044898A1 (en) | 2009-10-15 | 2011-04-21 | Widex A/S | Hearing aid with audio codec and method |
-
2012
- 2012-10-30 PL PL12887405T patent/PL2915166T3/pl unknown
- 2012-10-30 CN CN201280076737.0A patent/CN104756187B/zh active Active
- 2012-10-30 WO PCT/FI2012/051044 patent/WO2014068167A1/en not_active Ceased
- 2012-10-30 ES ES12887405T patent/ES2705223T3/es active Active
- 2012-10-30 US US14/439,132 patent/US10109287B2/en active Active
- 2012-10-30 EP EP12887405.4A patent/EP2915166B1/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| WO2014068167A1 (en) | 2014-05-08 |
| EP2915166A4 (en) | 2016-07-20 |
| CN104756187B (zh) | 2018-04-27 |
| PL2915166T3 (pl) | 2019-04-30 |
| EP2915166A1 (en) | 2015-09-09 |
| US20150287418A1 (en) | 2015-10-08 |
| US10109287B2 (en) | 2018-10-23 |
| CN104756187A (zh) | 2015-07-01 |
| EP2915166B1 (en) | 2018-10-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2705223T3 (es) | Un método y aparato para cuantificación de vector flexible | |
| ES2639747T3 (es) | Dispositivo y método para cuantificar filtros de LPC en una súper-trama | |
| US20160111100A1 (en) | Audio signal encoder | |
| ES2575693T3 (es) | Un método y un aparato para detectar tasa de muestreo de audio | |
| JP4903053B2 (ja) | 広帯域符号化装置、広帯域lsp予測装置、帯域スケーラブル符号化装置及び広帯域符号化方法 | |
| WO2008092719A1 (en) | Audio quantization | |
| KR20150032738A (ko) | 벡터 양자화 | |
| ES2786198T7 (en) | Audio signal encoder | |
| US20100292986A1 (en) | encoder | |
| ES2946235T3 (es) | Codificador de señal de audio estéreo | |
| US20100280830A1 (en) | Decoder | |
| JP2018526669A (ja) | オーディオ信号デコーダのためのビット・エラー検出器 | |
| US11176953B2 (en) | Efficient storage of multiple structured codebooks | |
| WO2008114078A1 (en) | En encoder |




