Nothing Special   »   [go: up one dir, main page]

ES2645375T3 - Dispositivo y método de cuantificación y cuantificación inversa de filtro LPC de tasa de bits variable - Google Patents

Dispositivo y método de cuantificación y cuantificación inversa de filtro LPC de tasa de bits variable Download PDF

Info

Publication number
ES2645375T3
ES2645375T3 ES09793769.2T ES09793769T ES2645375T3 ES 2645375 T3 ES2645375 T3 ES 2645375T3 ES 09793769 T ES09793769 T ES 09793769T ES 2645375 T3 ES2645375 T3 ES 2645375T3
Authority
ES
Spain
Prior art keywords
vector
filter
quantified
lsf
lpc
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
Application number
ES09793769.2T
Other languages
English (en)
Inventor
Bruno Bessette
Philippe Gournay
Redwan Salami
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
VoiceAge Corp
Original Assignee
VoiceAge Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by VoiceAge Corp filed Critical VoiceAge Corp
Application granted granted Critical
Publication of ES2645375T3 publication Critical patent/ES2645375T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/04Speech 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/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/04Speech 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/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un dispositivo para cuantificar un filtro LPC en forma de un vector (607) de frecuencia espectral de línea (LSF) de entrada, que comprende: medios (601) para calcular una aproximación (608) de primera etapa del vector LSF de entrada; medios (602) para restar la aproximación de primera etapa del vector LSF de entrada para producir un vector (609) residual; medios (603) para calcular una función de ponderación (610) a partir de la aproximación de primera etapa; medios (604) para aplicar la función de ponderación (610) al vector (609) residual; un cuantificador vectorial algebraico (605) para cuantificar el vector residual ponderado para suministrar un vector (612) LSF residual ponderado cuantificado; y un multiplexor de la aproximación (608) de primera etapa y del vector (612) LSF residual ponderado cuantificado 10 en los índices (613) codificados multiplexados correspondientes.

Description

DESCRIPCIÓN
Dispositivo y método de cuantificación y cuantificación inversa de filtro LPC de tasa de bits variable
Campo de la invención
La presente invención se refiere a la codificación y decodificación de una señal de sonido, por ejemplo una señal de audio. Más específicamente, la presente invención se refiere al dispositivo y método de cuantificación y 5 cuantificación inversa de filtro LPC (Coeficientes de Predicción Lineal) de tasa de bits variable.
Antecedentes de la invención
La demanda de técnicas de codificación de voz y audio digital eficientes con un buen compromiso entre calidad subjetiva y tasa de bits está aumentando en diversas áreas de aplicación tales como teleconferencia, multimedia, y comunicación inalámbrica. 10
Un codificador de voz convierte una señal de voz en un flujo de bits digital que se transmite sobre un canal de comunicación o se almacena en un medio de almacenamiento. La señal de voz a codificar se digitaliza, esto es se muestrea y cuantifica utilizando por ejemplo 16 bits por muestra. Un desafío del codificador de voz es representar las muestras digitales con un número más pequeño de bits manteniendo una buena calidad de voz subjetiva. Un decodificador o sintetizador de voz convierte el flujo de bits transmitido o almacenado de vuelta a una señal de 15 sonido.
El documento US 2008/052068 A1 describe un cuantificador vectorial de múltiples etapas que realiza operaciones de rotación y escalado.
La codificación de predicción lineal con excitación por código (CELP) es una de las mejores técnicas para lograr un buen compromiso entre calidad subjetiva y tasa de bits. La técnica de codificación CELP es una base para varios 20 estándares de codificación de voz tanto en aplicaciones inalámbricas como cableadas. En la codificación CELP, la señal de voz se muestrea y se procesa en bloques sucesivos de L muestras llamadas normalmente tramas, donde L es un número predeterminado de muestras que corresponden normalmente a 10-30 ms de voz. Un filtro de predicción lineal (LP) se calcula y se transmite por cada trama; el filtro LP también se conoce como filtro LPC (Coeficientes de Predicción Lineal). El cálculo del filtro LPC utiliza normalmente una búsqueda hacia adelante, por 25 ejemplo un segmento de voz de 5-15 ms de la trama posterior. La trama de L muestras se divide en bloques más pequeños llamados subtramas. En cada subtrama, se obtiene normalmente una señal de excitación a partir de dos componentes, una excitación pasada y una excitación de libro de códigos fijo innovativa. La excitación pasada se denomina a menudo como la excitación de libro de códigos adaptativo o de libro de códigos de paso. Los parámetros que caracterizan la señal de excitación se codifican y se transmiten al decodificador, donde la señal de 30 excitación se reconstruye y se utiliza como la entrada del filtro LPC.
En aplicaciones tales como transmisión y difusión multimedia, puede ser necesario codificar la voz, música, y contenido mixto a una baja tasa de bits. Para este propósito, se han desarrollado modelos de codificación que combinan una codificación CELP optimizada para señales de voz con codificación por transformada optimizada para señales de audio. Un ejemplo de tales modelos es el AMR-WB+ [1], que conmuta entre CELP y TCX (excitación 35 codificada por transformada). Para mejorar la calidad de la música y el contenido mixto, se utiliza un retardo largo para permitir una resolución de frecuencia más fina en el dominio de la transformada. En AMR-WB+, se utiliza una así denominada supertrama que consiste en cuatro tramas CELP (normalmente 80 ms).
Aunque los parámetros de codificación CELP se transmiten una vez cada cuatro tramas en AMR-WB+, la cuantificación del filtro LPC se realiza separadamente en cada trama. También, el filtro LPC se cuantifica con un 40 número fijo de bits por trama en el caso de tramas CELP.
Para superar el inconveniente expuesto anteriormente, existe la necesidad de una técnica que utilice cuantificación de tasa de bits variable de los filtros LPC para reducir el número de bits implicados en la cuantificación de los filtros LPC. También, tal técnica será relevante para los modelos de codificación de voz o audio que utilizan una estructura tanto de supertrama como multimodo tal como el AMR-WB+ [1] y USAC que se está desarrollando en MPEG. 45
Compendio de la invención
Según un primer aspecto de la presente invención, se proporciona un dispositivo tal como se expone en la reivindicación 1.
Según un segundo aspecto de la presente invención, se proporciona un dispositivo tal como se expone en la reivindicación 2. 50
Según un tercer aspecto de la presente invención, se proporciona un método tal como se expone en la reivindicación 3.
Según un cuarto aspecto de la presente invención, se proporciona un método tal como se expone en la reivindicación 4.
Los siguientes y otros objetivos, ventajas y características de la presente invención se harán más evidentes tras la lectura de la siguiente descripción no restrictiva de realizaciones ilustrativas de la misma, dadas a modo de ejemplo solamente con referencia a los dibujos adjuntos. 5
Breve descripción de los dibujos
En los dibujos adjuntos:
La Figura 1 es un diagrama de bloques que ilustra un cuantificador de filtro LPC diferencial absoluto y de múltiples referencias y el método de cuantificación;
La Figura 2 es un diagrama esquemático que ilustra un esquema de cuantificación de bucle abierto; 10
La Figura 3 es un diagrama de flujo que ilustra un dispositivo y método para determinar los filtros LPC a transmitir en una configuración en la que se utilizan y se transmiten cuatro (4) filtros LPC en una supertrama;
La Figura 4a es una ventana de análisis LPC típica y la posición central de análisis LPC típica cuando se estima un filtro LPC por trama (o supertrama) en un códec basado en LPC, en donde LPC0 corresponde a un último filtro LPC calculado durante la trama (o supertrama) previa; 15
La Figura 4b es una ventana de análisis LPC típica cuando se estiman cuatro (4) filtros LPC por trama (o supertrama) en un códec basado en LPC, en donde la ventana de análisis LPC se centra en el final de la trama;
La Figura 5 es un diagrama de flujo que ilustra un ejemplo de un esquema de cuantificación fuera del bucle;
La Figura 6 es un diagrama de bloques esquemático de un cuantificador LPC algebraico ponderado y el método de cuantificación; 20
La Figura 7 es un diagrama de bloques esquemático de un cuantificador inverso LPC algebraico ponderado y el método de cuantificación inversa;
La Figura 8 es un diagrama de bloques esquemático de un cuantificador y el método de cuantificación; y
La Figura 9 es un diagrama de bloques esquemático de un decodificador y el método de codificación.
Descripción detallada 25
Cuantificación diferencial con una elección de referencias posibles
Se utiliza cuantificación diferencial con una elección entre varias referencias posibles. Más específicamente, se cuantifica diferencialmente un filtro LPC con relación a varias referencias posibles.
Se sabe que los filtros LPC consecutivos muestran un cierto grado de correlación. Para aprovechar esta correlación, los cuantificadores LPC generalmente hacen uso de la predicción. En lugar de cuantificar el vector de Coeficientes 30 de Predicción Lineal (vector LPC) que representa el filtro LPC directamente, un cuantificador diferencial (o predictivo) calcula primero un valor predicho de este vector LPC y, entonces, cuantifica la diferencia (a menudo llamada residuo de predicción) entre el vector LPC original y el vector LPC predicho.
La predicción se basa normalmente en valores previos del filtro LPC. Se utilizan comúnmente dos tipos de predictores: predictores de promedio móvil (MA) y auto-regresivos (AR). Aunque los predictores AR son a menudo 35 más eficientes en la reducción de la norma L2 (media cuadrática) de los datos a cuantificar que los predictores MA, estos últimos son algunas veces útiles porque son menos propensos a propagación de errores en caso de errores de transmisión [2].
Dado que la norma L2 del residuo de predicción es en promedio más baja que la norma L2 del vector LPC original (la relación entre los dos dependiendo del grado de predictibilidad del filtro LPC), un cuantificador diferencial (o 40 predictivo) puede lograr el mismo grado de desempeño que un cuantificador absoluto pero a una tasa de bits más baja.
En promedio, la predicción es verdaderamente eficiente en la reducción de la norma L2 de los datos a cuantificar. Este comportamiento no es constante, sin embargo; la predicción es mucho más eficiente durante los segmentos estables de señal que durante los segmentos de transición. La predicción puede incluso conducir a un aumento de 45 los valores de la norma L2 cuando los filtros LPC cambian rápidamente. Se puede lograr alguna mejora del desempeño considerando dos predictores diferentes, uno para segmentos altamente predictivos, el otro para segmentos menos predictivos [3, 4]. Como se ha mencionado en la descripción anterior, esta técnica utiliza solamente valores pasados del filtro LPC.
Para superar este problema, se propone cuantificar diferencialmente un filtro LPC con relación a una referencia, por ejemplo un filtro de referencia, elegido entre una serie de referencias posibles. Los filtros de referencia posibles son filtros LPC pasados o futuros ya cuantificados (por lo tanto disponibles en el decodificador como en el codificador), o los resultados de diversas operaciones de extrapolación o interpolación aplicadas a filtros LPC pasados o futuros ya cuantificados. Se selecciona el filtro de referencia que proporciona la menor distorsión a una tasa dada, o la tasa de 5 bits más baja para un nivel de distorsión objetivo dado.
La Figura 1 es un diagrama de bloques que ilustra un dispositivo y método de cuantificación de filtro LPC de múltiples referencias. Un filtro 101 LPC dado representado por un vector de Coeficientes de Predicción Lineal se introduce al dispositivo y método de cuantificación de filtro LPC de múltiples referencias. El filtro 101 LPC de entrada se cuantifica diferencialmente con respecto a una referencia elegida entre una serie de referencias 1,2…n posibles. 10 Las referencias posibles comprenden:
- filtros LPC cuantificados pasados o futuros.
- el resultado de las operaciones de extrapolación o interpolación aplicadas a filtros LPC cuantificados pasados o futuros; o
- cualquier valor cuantificado disponible tanto en el codificador como el decodificador. 15
Como un ejemplo no limitativo, el filtro 101 LPC de entrada se puede cuantificar diferencialmente con respecto al filtro LPC cuantificado previo, el filtro LPC cuantificado siguiente, o un valor medio de esos dos filtros LPC cuantificados previo y siguiente. Una referencia puede ser también un filtro LPC cuantificado utilizando un cuantificador absoluto, o el resultado de cualquier tipo de interpolación, extrapolación o predicción (AR o MA) aplicada a filtros LPC ya cuantificados. 20
Operaciones 102 y 1031, 1032, …, 103n: todavía en referencia a la Figura 1, el filtro 101 LPC de entrada se suministra a un cuantificador absoluto (Operación 102) y a cuantificadores diferenciales (Operaciones 1031, 1032, …, 103n). El cuantificador absoluto (Operación 102) cuantifica el valor absoluto (no una diferencia) del filtro 101 LPC de entrada. Los cuantificadores diferenciales (Operaciones 1031, 1032, …, 103n) se diseñan para cuantificar diferencialmente el filtro 101 LPC de entrada con respecto a las referencias 1, 2,…, n respectivas. 25
Operación 104: el dispositivo y método de cuantificación de filtro LPC de múltiples referencias de la Figura 1 comprende un selector para seleccionar una referencia entre las referencias 1, 2, …, n que proporcione el nivel de distorsión más bajo a una tasa de bits dada, o la tasa de bits más baja para un nivel de distorsión objetivo dado. Más específicamente, el selector (Operación 104) utiliza un criterio de selección que minimiza la tasa de bits para lograr un cierto nivel de distorsión objetivo, o que minimiza el nivel de distorsión producido a una tasa de bits dada. 30
En la Operación 104, la selección de una referencia entre las referencias 1, 2, …, n a utilizar realmente en el proceso de cuantificación diferencial se puede realizar en bucle cerrado o en bucle abierto.
En bucle cerrado, se prueban todas las referencias posibles y se elige la referencia que optimiza un cierto criterio de distorsión o tasa de bits. Por ejemplo, la selección de bucle cerrado se puede basar en minimizar un error cuadrático medio ponderado entre el vector LPC de entrada y el vector LPC cuantificado correspondiente a cada referencia. 35 También, se puede utilizar la distorsión espectral entre el vector LPC de entrada y el vector LPC cuantificado. Alternativamente, la cuantificación utilizando las referencias posibles se puede realizar manteniendo una distorsión bajo un cierto umbral, y se elige la referencia que cumple este criterio y utiliza el número más pequeño de bits. Como se explicará en la siguiente descripción, se puede utilizar un cuantificador vectorial algebraico de tasa de bits variable para cuantificar el vector residual escalado (diferencia entre el vector LPC de entrada y la referencia) que 40 utiliza un cierto presupuesto de bits en base a la energía del vector residual escalado. En este caso, se elige la referencia que produce el número más pequeño de bits.
En bucle abierto, el selector de la Operación 104 predetermina la referencia en base al valor de los Coeficientes de Predicción Lineal del filtro LPC de entrada a cuantificar y de los Coeficientes de Predicción Lineal de los filtros LPC de referencia disponibles. Por ejemplo, la norma L2 del vector residual se calcula para todas las referencias y se 45 elige la referencia que produce el valor más pequeño.
Operación 105: después de la selección de una de las referencias 1, 2, …, n mediante la Operación 104, un transmisor (Operación 105) comunica o señala al decodificador (no mostrado) el filtro LPC cuantificado (no mostrado) y un índice indicativo del modo de cuantificación (suboperación 1051), por ejemplo cuantificación absoluta o diferencial. También, cuando se utiliza cuantificación diferencial, el transmisor (Operación 105) comunica o señala 50 al decodificador índices representativos de la referencia seleccionada y el cuantificador diferencial asociado de las Operaciones 1031, 1032, …, 103n (suboperación 1052). Se transmiten algunos bits específicos al decodificador para tal señalización.
La utilización de una serie de diferentes referencias posibles hace la cuantificación diferencial más eficiente en términos de reducción de la norma L2 de residuo de predicción en comparación con la restricción a valores pasados 55
solamente como en la predicción convencional. También, para un nivel de distorsión objetivo dado, esta técnica es más eficiente en términos de tasa de bits promedio.
Cuantificación absoluta o diferencial conmutada
Según un segundo aspecto, se utiliza cuantificación absoluta /diferencial (o predictiva) conmutada. La Figura 1 ilustra un ejemplo de un esquema absoluto/diferencial que selecciona entre un cuantificador absoluto (Operación 5 102) y n cuantificadores diferenciales (Operaciones 1031, 1032, …, 103n) que utilizan diferentes referencias 1, 2, …, n respectivas. De nuevo, la selección de un cuantificador puede ser hecha por el selector de la Operación 104 entre los cuantificadores absolutos y diferenciales (Operaciones 102 y 1031, 1032, …, 103n), en donde el cuantificador seleccionado, según el criterio de selección, minimizará el nivel de distorsión producido a una tasa de bits dada o minimizará la tasa de bits para lograr un nivel de distorsión objetivo. 10
Algunos filtros LPC se pueden codificar utilizando el cuantificador absoluto (Operación 102). Los otros filtros LPC se codifican diferencialmente con respecto a uno o varios filtros LPC de referencia en los cuantificadores diferenciales (Operaciones 1031, 1032, …, 103n).
El cuantificador absoluto (Operación 102) se puede utilizar como una solución de red de seguridad para los filtros LPC de otro modo cuantificados diferencialmente, por ejemplo en el caso de grandes desviaciones LPC o cuando el 15 cuantificador absoluto (Operación 102) es más eficiente que los cuantificadores diferenciales (Operaciones 1031, 1032, …, 103n) en términos de tasa de bits. El/los filtro(s) LPC de referencia pueden estar todos dentro de la misma supertrama para evitar introducir dependencias entre supertramas que normalmente plantean problemas en caso de errores de transmisión (pérdidas de paquetes o borrado de tramas).
Como se ha explicado en la descripción anterior, el uso de predicción en cuantificación LPC conduce a una norma 20 L2 reducida de los datos a cuantificar y consecuentemente a una reducción en la tasa de bits promedio para lograr un cierto nivel de desempeño. La predicción no es siempre igual de eficiente, sin embargo. En LPC conmutado [3, 4], se realiza una clasificación previa del filtro LPC y se utilizan diferentes predictores dependiendo de la predictibilidad del filtro LPC a cuantificar. Sin embargo, esta técnica se ha desarrollado en el contexto de una tasa de bits fija, requiriendo los dos cuantificadores diferenciales un mismo número de bits para codificar un filtro LPC. 25
También, pueden proporcionarse uno o varios cuantificadores absolutos (Operación 102). Además, pueden proporcionarse uno o varios cuantificadores (predictivos) diferenciales (Operaciones 1031, 1032, …, 103n). Varios cuantificadores diferenciales (Operaciones 1031, 1032, …, 103n) implican varias referencias posibles tales como 1, 2, …, n y/o varios tamaños y/o estructuras del cuantificador diferencial.
Como se ha descrito en la descripción anterior, cuando se utilizan varios cuantificadores diferenciales (Operaciones 30 1031, 1032, …, 103n), la selección del cuantificador diferencial actual a utilizar se puede realizar en un proceso de selección de bucle abierto o de bucle cerrado.
Cuando la cuantificación diferencial no consigue lograr un nivel de distorsión objetivo, o cuando la cuantificación absoluta requiere un número más pequeño de bits que la cuantificación diferencial para lograr ese nivel de distorsión, se utiliza la cuantificación absoluta como una solución de red de seguridad. Uno o varios bits, 35 dependiendo del número de posibles cuantificadores absolutos y diferenciales, se transmite(n) a través del transmisor (Operación 105) para indicar al decodificador (no mostrado) el cuantificador actual que se está utilizando.
La cuantificación absoluta/diferencial combina las ventajas de la cuantificación predictiva (reducción en la tasa de bits asociada con la reducción de la norma L2 de los datos a cuantificar) con la generalidad de la cuantificación absoluta (que se utiliza como una red de seguridad en caso de que la cuantificación diferencial (o predictiva) no 40 logre un objetivo, por ejemplo nivel imperceptible, de distorsión.
Cuando se incluyen varios cuantificadores diferenciales (Operaciones 1031, 1032, …, 103n), estos cuantificadores diferenciales pueden hacer uso de un mismo predictor o de diferentes predictores. En particular, pero no exclusivamente, estos varios cuantificadores diferenciales pueden utilizar los mismos coeficientes de predicción o diferentes coeficientes de predicción. 45
El decodificador comprende medios para recibir y extraer del flujo de bits, por ejemplo un demultiplexor, (a) el filtro LPC cuantificado y (b) el índice (índices) o información:
- acerca del modo de cuantificación para determinar si el filtro LPC se ha cuantificado utilizando cuantificación absoluta o cuantificación diferencial; y
- acerca de la referencia entre la pluralidad de referencias posibles que se ha utilizado para cuantificar el filtro LPC. 50
Si la información acerca del modo de cuantificación indica que el filtro LPC se ha cuantificado utilizando cuantificación absoluta, se proporciona un cuantificador inverso absoluto (no mostrado) para la cuantificación inversa del filtro LPC cuantificado. Si la información acerca del modo de cuantificación indica que el filtro LPC se ha cuantificado utilizando cuantificación diferencial, un cuantificador inverso diferencial (no mostrado) cuantifica
entonces inversamente diferencialmente el filtro LPC cuantificado diferencialmente de múltiples referencias utilizando la referencia correspondiente a la información de referencia extraída.
Esquema de cuantificación fuera del bucle
El códec AMR-WB+ es un códec híbrido que conmuta entre un modelo de codificación en el dominio del tiempo en base al esquema de codificación ACELP, y un modelo de codificación en el dominio de la transformada llamado 5 TCX. El AMR-WB+ procede como sigue [1]:
- La señal de entrada se segmenta en supertramas de cuatro (4) tramas;
- Cada supertrama se codifica utilizando una combinación de cuatro (4) posibles modos de codificación, cubriendo cada modo de codificación una duración diferente:
- ACELP (que cubre una duración de una (1) trama); 10
- TCX256 (que cubre una duración de una (1) trama);
- TCX512 (que cubre una duración de dos (2) tramas); y
- TCX1024 (que cubre una duración de cuatro (4) tramas).
Hay por lo tanto 26 posibles combinaciones de modo para codificar cada supertrama.
Para una supertrama dada, la combinación de modos que minimiza un error ponderado total es determinada por un 15 procedimiento de selección de modo de “bucle cerrado”. Más específicamente, en lugar de probar las 26 combinaciones, la selección del modo se realiza a través de once (11) pruebas diferentes (búsqueda en árbol, véase la Tabla 1). En el códec AMR-WB+, la selección de bucle cerrado se basa en minimizar el error cuadrático medio entre la señal de entrada y de códec en un dominio ponderado (o maximizar la relación señal a ruido de cuantificación). 20
Prueba
Trama 1 Trama 2 Trama 3 Trama 4
1
ACELP
2
TCX256
3
ACELP
4
TCX256
5
TCX512
6
ACELP
7
TCX256
8
ACELP
9
TCX256
10
TCX512
11
TCX1024
Tabla1 – Las 11 pruebas para selección de modo de bucle cerrado en AMR-WB+
Los filtros LPC son uno de los diversos parámetros transmitidos por el códec AMR-WB+. A continuación se dan algunos elementos clave con respecto a la cuantificación y transmisión de esos filtros LPC. 25
Aunque los diferentes modos de codificación no cubren el mismo número de tramas, el número de filtros LPC transmitido al decodificador es el mismo para todos los modos de codificación e igual a 1. Solamente se transmite el filtro LPC correspondiente al final del segmento cubierto. Más específicamente, en el caso de TCX1024, se calcula y se transmite un (1) filtro LPC para una duración de cuatro (4) tramas. En el caso de TCX512, se calcula y se transmite un (1) filtro LPC para una duración de dos (2) tramas. En el caso de TCX256 o ACELP, se calcula y se 30 transmite un (1) filtro LPC para la duración de una (1) trama.
El códec AMR-WB+ utiliza un cuantificador LPC predictivo (de promedio móvil de primer orden). El funcionamiento de este último cuantificador depende del filtro LPC previamente transmitido, y consecuentemente del modo de codificación previamente seleccionado. Por lo tanto, puesto que la combinación exacta de modos no se conoce hasta que se codifica toda la supertrama, algunos filtros LPC se codifican varias veces antes de que se determine la combinación final de modos. 5
Por ejemplo, el filtro LPC situado en el final de la trama 3 se transmite al decodificador solamente cuando se codifica la tercera trama como ACELP o TCX256. No se transmite cuando las tramas 3 y 4 se codifican conjuntamente utilizando TCX512. Con respecto al filtro LPC situado en el final de la trama 2, se transmite en todas las combinaciones de modos excepto en TCX1024. Por lo tanto, la predicción realizada al cuantificar el último filtro LPC de la supertrama depende de la combinación de modos para la supertrama completa. 10
El principio de la técnica descrita es que el orden el que se cuantifican los filtros LPC se elige de modo que, una vez que se finaliza la decisión de bucle cerrado, la información de cuantificación correspondiente a los filtros LCP innecesarios se puede omitir de la transmisión sin efecto en la manera en la que otros filtros serán transmitidos y decodificados en el decodificador. Para cada filtro LPC a cuantificar utilizando la estrategia de cuantificación diferencial descrita anteriormente, esto impone algunas restricciones en los filtros LPC de referencia posibles. 15
El siguiente ejemplo se da con referencia a la Figura 2.
Operación 1 de la Figura 2: para evitar cualquier dependencia entre supertramas, al menos un filtro LPC se cuantifica utilizando un cuantificador LPC absoluto. Dado que el filtro LPC4 de la trama 4 de la supertrama se transmite siempre cualquiera que sea la combinación de modo de codificación determinada por el procedimiento de selección de bucle cerrado, es conveniente cuantificar ese filtro LPC4 utilizando un cuantificador absoluto. 20
Operación 2 de la Figura 2: el siguiente filtro LPC a cuantificar es el filtro LPC2 de la trama 2 de la supertrama que se transmite para todas las combinaciones de modos excepto para TCX1024. Se puede utilizar un cuantificador diferencial, por ejemplo para codificar la diferencia entre el filtro LPC2 y la versión cuantificada absoluta del filtro LPC4. El mismo cuantificador absoluto que el utilizado para codificar el filtro LPC4 se puede utilizar también como una solución de red de seguridad, por ejemplo en el caso de grandes desviaciones LPC o cuando el cuantificador 25 LPC absoluto es más eficiente que el cuantificador diferencial en términos de tasa de bits y/o nivel de distorsión.
Operación 3 de la Figura 2: los dos filtros LPC (filtro LPC1 de la trama 1 de la supertrama y filtro LPC3 de la trama 3 de la supertrama) restantes se cuantifican también utilizando la misma estrategia de cuantificación diferencial/absoluta. Ambos filtros LPC se pueden cuantificar con relación a la versión cuantificada del filtro LPC2. Algunas estrategias alternativas se dan a continuación en la presente memoria. 30
La Figura 5 es un diagrama de flujo que ilustra en más detalle un ejemplo de un esquema de cuantificación fuera del bucle.
Operación 501: un cuantificador absoluto cuantifica el filtro LPC4.
Operación 502: la operación 512 es opcional y se utiliza en una primera trama de codificación basada en LPC después de una trama de codificación no basada en LPC. Un cuantificador absoluto cuantifica el filtro LPC0 o un 35 cuantificador diferencial cuantifica diferencialmente el filtro LPC0 con relación al filtro LPC4 cuantificado. El filtro LPC0 es el último filtro LPC (LPC4) de la supertrama previa y se puede utilizar como una referencia posible para cuantificar los filtros LPC1 a LPC4.
Operación 503: un cuantificador absoluto cuantifica el filtro LPC2 o un cuantificador diferencial cuantifica diferencialmente el filtro LPC2 con relación al filtro LPC4 cuantificado utilizado como referencia. 40
Operación 504: un cuantificador absoluto cuantifica el filtro LPC1, un cuantificador diferencial cuantifica diferencialmente el filtro LPC1 con relación al filtro LPC2 cuantificado utilizado como referencia, o un cuantificador diferencial cuantifica diferencialmente el filtro LPC1 con relación al (filtro LPC2 cuantificado + filtro LPC0 cuantificado)/2) utilizado como referencia.
Operación 505: un cuantificador absoluto cuantifica el filtro LPC3, un cuantificador diferencial cuantifica 45 diferencialmente el filtro LPC3 con relación al filtro LPC2 cuantificado utilizado como referencia, un cuantificador diferencial cuantifica diferencialmente el filtro LPC3 con relación al filtro LPC4 cuantificado utilizado como referencia, o un cuantificador diferencial cuantifica diferencialmente el filtro LPC3 con relación al (filtro LPC2 cuantificado + filtro LPC4 cuantificado)/2) utilizado como referencia.
La Figura 3 es un diagrama de flujo que ilustra la determinación de los filtros LPC a transmitir en una configuración 50 donde cuatro (4) filtros LPC se pueden calcular y transmitir en una supertrama.
En primer lugar debe tenerse en cuenta que el filtro LPC1 cuantificado se transmite solamente cuando se selecciona ACELP y/o TCX256 para la primera mitad de la supertrama. Similarmente, el filtro LPC3 se transmite solamente cuando se utiliza ACELP y/o TCX256 para la segunda mitad de esa supertrama.
Operación 301: el filtro LPC1 de la trama 1 de la supertrama, el filtro LPC2 de la trama 2 de la supertrama, el filtro LPC3 de la trama 3 de la supertrama, y el filtro LPC4 de la trama 4 de la supertrama se cuantifican utilizando por ejemplo la estrategia de cuantificación ilustrada y descrita con relación a las Figuras 2 y 5. Por supuesto, son posibles otras estrategias de cuantificación.
Operación 302: se realiza la selección de bucle cerrado de los modos de codificación como se ha descrito 5 anteriormente en la presente memoria.
Operación 303: el filtro LPC4 cuantificado se transmite al decodificador por ejemplo a través del transmisor 105 de la Figura 1. El decodificador comprende:
- medios para recibir y extraer del flujo de bits recibido, por ejemplo un demultiplexor, el filtro LPC4 cuantificado; y
- un cuantificador inverso absoluto suministrado con el filtro LPC4 cuantificado para la cuantificación inversa del filtro 10 LPC4 cuantificado.
Operación 304: si la supertrama se codifica utilizando el modo TCX1024, no se requiere ninguna transmisión adicional.
Operación 305: si la primera, segunda, tercera y cuarta tramas de la supertrama no se codifican utilizando el modo TCX1024, el filtro LPC2 cuantificado y un índice indicativo de uno del modo de cuantificación absoluta y el modo de 15 cuantificación diferencial se transmiten al decodificador por ejemplo a través del transmisor 105 de la Figura 1. El decodificador comprende:
- medios para recibir y extraer del flujo de bits recibido, por ejemplo un demultiplexor, el filtro LPC2 cuantificado y el índice indicativo de uno del modo de cuantificación absoluta y el modo de cuantificación diferencial; y
- un cuantificador inverso absoluto suministrado con el filtro LPC2 cuantificado y el índice indicativo del modo de 20 cuantificación absoluta para la cuantificación inversa del filtro LPC2 cuantificado, o un cuantificador inverso diferencial suministrado con el filtro LPC2 cuantificado y el índice indicativo del modo de cuantificación diferencial para la cuantificación inversa del filtro LPC2 cuantificado.
Operación 306: si las tramas 1 y 2 de la supertrama se codifican utilizando el modo TCX512, el filtro LPC1 cuantificado no se transmite al decodificador. 25
Operación 307: si las tramas 1 y 2 de la supertrama no se codifican utilizando el modo TCX512, i.e., si las tramas 1 y 2 de la supertrama se codifican utilizando ACELP o TCX256, el filtro LPC1 cuantificado, y un índice indicativo de uno del modo de cuantificación absoluta, el modo de cuantificación diferencial con relación al filtro LPC2 cuantificado utilizado como referencia, y el modo de cuantificación diferencial con relación al (filtro LPC2 cuantificado + filtro LPC0 cuantificado)/2 utilizado como referencia se transmiten al decodificador por ejemplo a través del transmisor 30 105 de la Figura 1. El decodificador comprende:
- medios para recibir y extraer del flujo de bits recibido, por ejemplo un demultiplexor, el filtro LPC1 cuantificado, y el índice indicativo de uno del modo de cuantificación absoluta, el modo de cuantificación diferencial con relación al filtro LPC2 cuantificado utilizado como referencia, y el modo de cuantificación diferencial con relación al (filtro LPC2 cuantificado + filtro LPC0 cuantificado)/2 utilizado como referencia; y 35
- un cuantificador inverso absoluto suministrado con el filtro LPC1 cuantificado y el índice indicativo de uno del modo de cuantificación absoluta, el modo de cuantificación diferencial con relación al filtro LPC2 cuantificado utilizado como referencia, y el modo de cuantificación diferencial con relación al (filtro LPC2 cuantificado + filtro LPC0 cuantificado)/2) utilizado como referencia para la cuantificación inversa del filtro LPC1 cuantificado.
Operación 308: si las tramas 3 y 4 de la supertrama se codifican utilizando el modo TCX512, el filtro LPC3 40 cuantificado no se transmite al decodificador.
Operación 309: si las ramas 3 y 4 de la supertrama no se codifican utilizando el modo TCX512, i.e., si las tramas 3 y 4 de la supertrama se codifican utilizando ACELP o TCX256, el filtro LPC3 cuantificado y el índice indicativo de uno del modo de cuantificación absoluta, el modo de cuantificación diferencial con relación al filtro LPC2 cuantificado utilizado como referencia, el modo de cuantificación diferencial con relación al filtro LPC4 cuantificado utilizado como 45 referencia, y el modo de cuantificación diferencial con relación al (filtro LPC2 cuantificado + filtro LPC4 cuantificado)/2 utilizado como referencia se transmiten al decodificador por ejemplo a través del transmisor 105 de la Figura 1. El decodificador comprende:
- medios para recibir y extraer del flujo de bits recibido, por ejemplo un demultiplexor, el filtro LPC3 cuantificado, y el índice indicativo de uno del modo de cuantificación absoluta, el modo de cuantificación diferencial con relación al 50 filtro LPC2 cuantificado utilizado como referencia, el modo de cuantificación diferencial con relación al filtro LPC4 cuantificado utilizado como referencia, y el modo de cuantificación diferencial con relación al (filtro LPC2 cuantificado + filtro LPC4 cuantificado)/2 utilizado como referencia; y
- un cuantificador inverso absoluto suministrado con el filtro LPC3 cuantificado y el índice indicativo de uno del modo de cuantificación absoluta, el modo de cuantificación diferencial con relación al filtro LPC2 cuantificado utilizado como referencia, el modo de cuantificación diferencial con relación al filtro LPC4 cuantificado utilizado como referencia, y el modo de cuantificación diferencial con relación al (filtro LPC2 cuantificado + filtro LPC4 cuantificado)/2 utilizado como referencia para la cuantificación inversa del filtro LPC3 cuantificado. 5
Algunos beneficios de la solución descrita anteriormente comprenden:
- Cuantificar el conjunto completo de filtros LPC antes de la selección de bucle cerrado de los modos de codificación ahorra complejidad;
- Utilizar un cuantificador diferencial en el esquema de cuantificación global preserva algo del ahorro de tasa de bits que fue obtenido por, por ejemplo, el cuantificador predictivo en el esquema de cuantificación de AMR-WB+ original. 10
Las siguientes variantes se pueden utilizar para construir los filtros LPC de referencia que se utilizan en los cuantificadores diferenciales (Operaciones tales como 1031, 1032, …, 103n);
- Si la dependencia entre supertramas no es un problema, el último filtro LPC (LPC4) de la supertrama previa (LPC0) se puede utilizar como una posible referencia para codificar los filtros LPC1 a LPC4;
- Cuando hay disponibles diferentes filtros LPC de referencia, por ejemplo el filtro LPC0 y LPC4 al codificar el filtro 15 LPC2, se puede transmitir un patrón de bits específico al decodificador para indicar cuál de las referencias se utiliza realmente. Por ejemplo, la selección de la referencia se puede realizar como se ha descrito anteriormente en la presente memoria con referencia a la Figura 1, por ejemplo sobre la base de una distancia o una medición de tasa de bits.
- Cuando hay disponibles diferentes filtros LPC de referencia, se pueden obtener filtros LPC de referencia 20 secundarios adicionales aplicando diversos esquemas de extrapolaciones o interpolaciones a los filtros LPC de referencia ya disponibles. Se puede transmitir un patrón de bits específico para indicar la estrategia de interpolación o extrapolación actual seleccionada por el codificador. Por ejemplo, el filtro LPC3 se puede cuantificar diferencialmente con respecto a las versiones cuantificadas de cualquiera de los filtros LPC2 o LPC4, o incluso con respecto a un valor interpolado (p.ej., promedio) entre estos dos filtros LPC2 y LPC4 cuantificados (véase Operación 25 505 de la Figura 5).
El esquema de cuantificación “fuera del bucle” descrito anteriormente se puede extender a la codificación de más de cuatro (4) filtros LPC: por ejemplo para cuantificar y transmitir el filtro LPC0 junto con la supertrama. En ese caso, el filtro LPC0 correspondiente al último filtro LPC (LPC4) calculado durante la supertrama previa se podría, como un ejemplo no limitativo, cuantificar con relación al filtro LPC4 dado que este filtro LPC4 está siempre disponible como 30 una referencia. El filtro LPC0 cuantificado se transmite al decodificador junto con un índice indicativo de uno del modo de cuantificación absoluta y el modo de cuantificación diferencial. El decodificador comprende:
- medios para recibir y extraer del flujo de bits recibido, por ejemplo un demultiplexor, el filtro LPC0 cuantificado, y el índice indicativo de uno del modo de cuantificación absoluta y el modo de cuantificación diferencial; y
- un cuantificador inverso absoluto suministrado con el filtro LPC0 cuantificado y el índice indicativo del modo de 35 cuantificación absoluta para la cuantificación inversa del filtro LPC0 cuantificado, o un cuantificador inverso diferencial suministrado con el filtro LPC0 cuantificado, y el índice indicativo del modo de cuantificación diferencial para la cuantificación inversa del filtro LPC0 cuantificado.
Transmitir el filtro LPC0 al decodificador es útil para inicializar un códec basado en LPC en el caso de conmutar de un modo de codificación no basado en LPC a un modo de codificación basado en LPC. Ejemplos de modos de 40 codificación no basados en LPC son: modulación por impulsos codificados (PCM), y codificación por transformada utilizada por ejemplo por el MP3 y por el códec de audio avanzado AAC. Ejemplos de modos de codificación basados en LPC son: predicción lineal con excitación por código (CELP) y CELP algebraica (ACELP) utilizada por el códec AMR-WB+ [1].
En códecs basados en LPC, se estiman y se transmiten al codificador uno o varios filtros LPC por trama (o por 45 supertrama). Cuando se estima y se transmite un único filtro LPC por trama, este filtro LPC se estima más frecuentemente utilizando una ventana de análisis LPC centrada en el final de la trama como se representa en la Figura 4a. Cuando se transmiten varios filtros LPC por trama (o por supertrama como en el códec AMR-WB+), se estiman más frecuentemente en posiciones espaciadas regularmente a lo largo de la longitud de la trama como se representa en la Figura 4b. El filtro LPC0 en las Figuras 4a y 4b es de hecho el último filtro LPC de la trama (o 50 supertrama) previa que se cuantifica y se transmite al decodificador.
Los códecs basados en LPC típicos generalmente utilizan valores interpolados para los filtros LPC. En el ejemplo de la Figura 4a, por ejemplo, el códec basado en LPC normalmente divide la trama en cuatro (4) subtramas y utiliza un filtro LPC interpolado diferente para cada subtrama, estando el filtro LPC de la primera subtrama más cerca del filtro LPC0 y estando el filtro LPC de la 4ª subtrama más cerca del filtro LPC1. 55
En un códec que conmuta de un modo de codificación no basado en LPC a un modo de codificación basado en LPC, el filtro LPC0 utilizado para operar el códec basado en LPC normalmente no está disponible en la primera trama que sigue a la conmutación del modo de codificación no basado en LPC al modo de codificación basado en LPC.
En ese contexto, se propone proporcionar un valor para el filtro LPC0 que está disponible tanto en el codificador 5 como en el decodificador al codificar y decodificar la primera trama después de la conmutación del modo de codificación no basado en LPC al modo de codificación basado en LPC. Más específicamente, el valor del filtro LPC0 se obtiene en el decodificador a partir los parámetros transmitidos desde el codificador.
Según una primera solución, el filtro LPC0 se determina en el codificador (utilizando análisis LPC bien conocido para los expertos en la técnica), se cuantifica y se transmite al decodificador después de que se haya decidido la 10 conmutación del modo de codificación no basado en LPC al modo de codificación basado en LPC. El decodificador utiliza el valor cuantificado transmitido y el filtro LPC0. Para cuantificar el filtro LPC0 eficientemente, se puede utilizar el esquema de cuantificación fuera del bucle como se ha descrito anteriormente, extendido a más de cuatro (4) filtros LPC.
Lo siguiente describe las segunda y tercera soluciones para estimar el filtro LPC0 en el decodificador a partir de los 15 parámetros transmitidos:
- Estimación del filtro LPC0 a partir de los otros filtros LPC transmitidos utilizando, por ejemplo, extrapolación; y
- Estimación del filtro LPC0 a partir de los otros parámetros transmitidos. Por ejemplo el filtro LPC0 se puede estimar aplicando el procedimiento de análisis LPC convencional a la señal decodificada pasada, más específicamente la salida del decodificador conmutado antes de la conmutación del modo de codificación no basado en LPC al modo de 20 codificación basado en LPC.
Cuantificación con un cuantificador vectorial algebraico uniforme
El principio de cuantificación vectorial estocástica es buscar un libro de códigos de vectores para el vecino más cercano (generalmente en términos de distancia Euclídea o distancia Euclídea ponderada) del vector a cuantificar. Al cuantificar los filtros LPC en los dominios LSF (Frecuencia Espectral de Línea) o ISF (Frecuencia Espectral de 25 Inmitancia), se utiliza generalmente una distancia Euclídea ponderada, siendo cada componente del vector ponderado de manera diferente dependiendo de su valor y el valor de los otros componentes [5]. El propósito de esa ponderación es hacer que la minimización de la distancia Euclídea se comporte tan cercanamente como sea posible a una minimización de la distorsión espectral. A diferencia de un cuantificador estocástico, un cuantificador vectorial algebraico uniforme no realiza una búsqueda exhaustiva de un libro de códigos. Es por lo tanto difícil introducir una 30 función de ponderación en el cálculo de la distancia.
En la solución propuesta en la presente memoria, los filtros LPC se cuantifican, como un ejemplo no limitativo, en el dominio LSF. Se proporcionan por lo tanto los medios apropiados para convertir el filtro LPC en el dominio de cuantificación LSF para formar el vector LSF de entrada. Más específicamente, el vector residual LSF, i.e. la diferencia entre el vector LSF de entrada y una aproximación de primera etapa de este vector LSF de entrada, se 35 deforma utilizando una función de ponderación calculada a partir de la aproximación de primera etapa, en donde la aproximación de primera etapa utiliza un cuantificador absoluto estocástico del vector LSF de entrada, un cuantificador diferencial del vector LSF de entrada, un interpolador del vector LSF de entrada, u otro elemento que dé una estimación del vector LSF de entrada a cuantificar. Deformar significa que se aplican diferentes pesos a los componentes del vector residual LSF. Puesto que la aproximación de primera etapa también está disponible en el 40 decodificador, los pesos inversos se pueden calcular también en el decodificador y la deformación inversa se puede aplicar al vector residual LSF cuantificado. Deformar el vector residual LSF según un modelo que minimiza la distorsión espectral es útil cuando el cuantificador es uniforme. Los LSF cuantificados recibidos en el decodificador son una combinación de la aproximación de primera etapa con una cuantificación de tasa de bits variable, por ejemplo AVQ (Cuantificación Vectorial Algebraica), refinamiento que se deforma inversamente en el decodificador. 45
Algunos beneficios de la solución propuesta son los siguientes:
- Con una buena función de ponderación, un cuantificador uniforme puede proporcionar una distorsión espectral relativamente uniforme.
- Las ventajas de la cuantificación vectorial de tasa de bits variable, por ejemplo AVQ (Cuantificación Vectorial Algebraica), sobre SVQ (Cuantificación Vectorial Estocástica) son un número más pequeño de tablas (memoria), 50 menor complejidad y mayor granularidad de tasa de bits.
- Otra ventaja a favor de la cuantificación vectorial de tasa de bits variable, por ejemplo AVQ (Cuantificación Vectorial Algebraica), es su tamaño de libro de códigos ilimitado; esto garantiza la misma distorsión espectral para cualquier tipo de señal.
El principio general para la cuantificación de un filtro LPC dado se da en la Figura 6. En este ejemplo no limitativo, el filtro LPC se cuantifica en el dominio LSF.
Operación 601: una calculadora calcula una aproximación 608 de primera etapa del vector 607 LSF de entrada.
Operación 602: un restador resta la aproximación 608 de primera etapa de la Operación 601 del vector 607 LSF de entrada para producir un vector 609 LSF residual. 5
Operación 603: una calculadora deriva una función de ponderación LSF 610 de la aproximación 608 de primera etapa de la Operación 601.
Operación 604: un multiplicador, o deformador, aplica la función de ponderación LSF 610 de la Operación 603 al vector 609 LSF residual de la Operación 602.
Operación 605: un cuantificador de tasa de bits variable, por ejemplo un cuantificador vectorial algebraico (AVQ) 10 cuantifica el vector 611 LSF residual ponderado resultante para suministrar un vector 612 LSF residual ponderado cuantificado.
Operación 606: un multiplexor responde a la aproximación 608 de primera etapa de la Operación 601 y el vector 612 LSF residual ponderado cuantificado de la Operación 605 para multiplexar y transmitir los índices 613 codificados correspondientes. 15
La aproximación de primera etapa (Operación 601) se puede calcular de diferentes maneras. Como un ejemplo no limitativo, la calculadora de la aproximación 608 de primera etapa puede ser un cuantificador vectorial estocástico absoluto del vector 607 LSF de entrada con un número pequeño de bits, un cuantificador diferencial del vector 607 LSF de entrada que utiliza una referencia como se ha explicado anteriormente donde la aproximación de primera etapa es la propia referencia. Por ejemplo, al cuantificar el vector LPC1 como en la Figura 5, Operación 504, la 20 calculadora de la aproximación 608 de primera etapa puede ser un cuantificador absoluto con 8 bits, o el filtro LPC2 cuantificado o el (filtro LPC2 cuantificado + filtro LPC0 cuantificado)/2.
El cálculo y propósito de la función de ponderación (Operación 603) se describe a continuación en la presente memoria.
El cuantificador inverso correspondiente se ilustra en la Figura 7. 25
Operación 701: los índices 707 codificados del codificador son demultiplexados por un demultiplexor.
Operación 702: los índices codificados demultiplexados incluyen la aproximación 708 de primera etapa.
Operación 703: dado que la aproximación de primera etapa está disponible en el decodificador como en el codificador (Operación 702), se puede utilizar una calculadora para calcular la función 709 de ponderación LSF inversa. 30
Operación 704: los índices 710 decodificados representativos del vector LSF residual ponderado cuantificado se suministran a un cuantificador vectorial inverso de tasa de bits variable, por ejemplo un cuantificador vectorial inverso algebraico (AVQ inverso) para recuperar el vector 711 LSF residual ponderado.
Operación 705: un multiplicador multiplica el vector 711 LSF residual ponderado de la Operación 704 por la función 709 de ponderación LSF inversa de la Operación 703 para recuperar el vector 712 LSF residual. 35
Operación 706: un sumador suma la aproximación 708 de primera etapa de la Operación 702 con el vector 712 LSF residual de la Operación 705 para formar el vector 713 LSF decodificado. El vector 713 LSF decodificado es una combinación de la aproximación de primera etapa de la Operación 702 con el refinamiento de cuantificación inversa de tasa de bits variable (Operación 704) que se pondera inversamente (Operación 705) en el decodificador.
Aproximación de primera etapa. 40
Como se ha explicado anteriormente un filtro LPC dado se puede cuantificar utilizando varios modos de cuantificación que incluyen cuantificación absoluta y cuantificación diferencial utilizando varias referencias. La aproximación de primera etapa depende del modo de cuantificación. En el caso de cuantificación absoluta, la aproximación de primera etapa puede utilizar un cuantificador vectorial con un número pequeño de bits (p.ej., 8 bits). En el caso de cuantificación diferencial, la aproximación de primera etapa constituye la propia referencia. Por 45 ejemplo, al cuantificar el vector LPC3 según se ilustra en la Figura 5 (Operación 505), la aproximación de primera etapa puede ser una de las siguientes:
- VQ de 8 bits (cuantificación absoluta);
- Filtro LPC2 cuantificado (cuantificación diferencial utilizando el filtro LPC2 cuantificado como referencia);
- Filtro LPC4 cuantificado (cuantificación diferencial utilizando el filtro LPC4 cuantificado como referencia); o
- Promedio de los filtros LPC2 y LPC4 cuantificados (cuantificación diferencial utilizando el (filtro LPC2 cuantificado + filtro LPC4 cuantificado)/2 como referencia).
Como un ejemplo no limitativo, en el caso de un filtro LPC de orden p expresado con parámetros LSF, en el modo de cuantificación absoluta, la aproximación de primera etapa se calcula utilizando un cuantificador vectorial estocástico 5 de 8 bits de p dimensiones aplicado al vector LSF de entrada. Una búsqueda de libro de códigos utiliza una distancia Euclídea ponderada en la que cada componente de la diferencia cuadrática entre el vector LSF de entrada y la entrada del libro de códigos se multiplica por el peso wt(i). Por ejemplo, el peso wt(i) puede ser dado por la siguiente expresión:
10
con:
d0 = f(0)
dp = SF/2 – f(p-1)
di = f(i) – f(i-1), i=1, …, p – 1
donde f(i), i=0, … p-1 es el vector LSF de entrada a cuantificar, p es el orden del análisis LP, y SF es la frecuencia 15 de muestreo interna del códec basado en LPC (en Hz).
En los modos de cuantificación diferencial, la aproximación de primera etapa se basa en filtros LPC ya cuantificados.
Como se ha explicado con referencia a la Figura 5, el conjunto de filtros LPC se cuantifica en el siguiente orden: LPC4, LPC2, LPC1 y luego LPC3. Cuando se requiere, el filtro LPC0 opcional se cuantifica después del filtro LPC4. Por lo tanto la cuantificación diferencial del filtro LPC2 solamente puede hacerse con respecto a LPC4, mientras que 20 la cuantificación diferencial del filtro LPC3 puede hacerse con respecto a LPC2, LPC4 o una combinación de LPC2 y LPC4; LPC1 no se considera una buena elección porque no es adyacente a LPC3.
Para cada aproximación de primera etapa f1ª (i), el vector LSF residual se calcula como:
r(i) = f(i) – f1ª(i), i=0, …, p-1
Como se muestra en la Figura 6, el vector 609 LSF residual de la Operación 602 se pondera (Operación 604) con la 25 función de ponderación 610 de la Operación 603 calculada en base a la aproximación de primera etapa f1ª(i) para obtener un vector 611 LSF residual deformado (Operación 604). El vector 611 LSF residual deformado se cuantifica entonces utilizando un cuantificador de tasa de bits variable, por ejemplo un cuantificador vectorial algebraico (Operación 605).
Por ejemplo, los pesos aplicados a los componentes del vector LSF residual p-ésimo pueden ser dados por la 30 siguiente relación:
con:
d0 = f1ª(0)
dp = SF/2 – f1ª(p-1) 35
di = f1ª(i) – f1ª(i-1), i=1, …, p – 1
donde f1ª(i) es la aproximación de primera etapa, SF es la frecuencia de muestreo interna en Hz del códec basado en LPC, y W es un factor de escalado que depende del modo de cuantificación. El valor de W se elige para obtener una cierta distorsión espectral objetivo y/o una cierta tasa de bits promedio objetivo una vez que el vector LSF residual deformado se cuantifica con el cuantificador de tasa de bits variable. Como un ejemplo no limitativo, el 40 cuantificador vectorial de tasa de bits variable elige la tasa de bits para un cierto vector en base a su energía promedio.
En un ejemplo ilustrativo, los cuatro (4) filtros LPC en una supertrama, así como el filtro LPC0 opcional se cuantifican según la Figura 5. La Tabla 2 muestra el factor de escalado utilizado para cada modo de cuantificación, y la codificación del índice del modo utilizado en este ejemplo. Obsérvese que el modo de cuantificación especifica cuál 45
de la cuantificación absoluta o diferencial se utiliza, y en caso de cuantificación diferencial especifica el filtro de referencia utilizado. Como se ha explicado anteriormente el filtro de referencia utilizado en la cuantificación diferencial es la aproximación de primera etapa actual para la cuantificación de tasa de bits variable.
Filtro
Modo de cuantificación Aproximación de primera etapa Modo codificado W
LPC4
Absoluta VQ de 8 bits (ninguno) 60
LPC0
Absoluta VQ de 8 bits 0 60
LPC4 relativa
LPC4 cuantificado 1 63
LPC2
Absoluta VQ de 8 bits 0 60
LPC4 relativa
LPC4 cuantificado 1 63
LPC1
Absoluta VQ de 8 bits 00 60
(LPC0+LPC2)/2 relativa (Nota 1)
(LPC0+LPC2)/2 cuantificado 01 65
LPC2 Relativa
LPC2 cuantificado 10 64
LPC3
Absoluta VQ de 8 bits 10 60
(LPC2+LPC4)/2 relativa
(LPC2+LPC4)/2 cuantificado 0 65
LPC2 relativa
LPC2 cuantificado 110 64
LPC4 relativa
LPC4 cuantificado 111 64
Nota 1: en este modo, no hay cuantificador AVQ de segunda etapa
5
Tabla 2 – Posibles modos de cuantificación absoluta y relativa y señalización de flujo de bits correspondiente, y el factor de escalado y la función de ponderación.
La Figura 8 es un diagrama de bloques esquemático que explica el procedimiento de cuantificación como se ha descrito anteriormente en la presente memoria.
Operaciones 801, 8011, 8012, … 801n: el vector 800 LSF de entrada se suministra a un cuantificador absoluto 10 (Operación 801) para realizar, por ejemplo, una cuantificación vectorial absoluta de 8 bits del vector 800 LSF de entrada. El vector LSF de entrada se suministra también a cuantificadores diferenciales (Operaciones 8011, 8012, …, 801n) para realizar cuantificación diferencial del vector 800 LSF de entrada. Los cuantificadores diferenciales utilizan referencias diferentes respectivas como se ha explicado en la descripción anterior con referencia a la Figura 1. El VQ de 8 bits en la Operación 801 y las referencias en las Operaciones 8011, 8012, …, 801n representan la aproximación 15 de primera etapa.
En las Operaciones 802, 8021, 8022, … 802n una calculadora calcula un vector LSF residual a partir del vector de la aproximación de primera etapa de las Operaciones 801, 8011, 8012, … 801n, respectivamente. El vector residual se calcula como la diferencia entre el vector de entrada y la aproximación de primera etapa. Esto corresponde a las Operaciones 601 y 602 de la Figura 6. 20
En las Operaciones 803, 8031, 8032, … 803n, una calculadora calcula una función de ponderación para deformar el vector LSF residual de las Operaciones 802, 8021, 8022, … 802n, respectivamente. Esto corresponde a las Operaciones 601 y 603 de la Figura 6.
En las Operaciones 804, 8041, 8042, … 804n, un deformador multiplica el vector LSF residual de las Operaciones 802, 8021, 8022, … 802n, respectivamente, por la función de ponderación de las operaciones 803, 8031, 8032, … 25 803n, respectivamente.
En las Operaciones 805, 8051, 8052, … 805n, un cuantificador de tasa de bits variable, por ejemplo un cuantificador vectorial algebraico (AVQ) cuantifica el vector LSF residual ponderado resultante de las Operaciones 804, 8041, 8042, … 804n, respectivamente, para suministrar un vector LSF residual ponderado cuantificado.
En la Operación 806, la selección de un modo de cuantificación es realizada por un selector entre cuantificación absoluta (Operación 801) y cuantificación diferencial que utiliza una de las referencias 1, 2, … n (Operaciones 8011, 5 8012, … 801n). Por ejemplo, la Operación 806 podría seleccionar el modo de cuantificación (Operaciones 801, 8011, 8012, … 801n) que produce una menor distorsión para una tasa de bits dada o la tasa de bits más baja para un nivel de distorsión objetivo. Con respecto a la selección entre el VQ de 8 bits y las referencias 1, 2, …, n, la selección se puede realizar en bucle cerrado o en bucle abierto. En bucle cerrado, se prueban todas las referencias posibles y se elige la referencia que optimiza un cierto criterio de distorsión o tasa de bits, por ejemplo la menor distorsión para 10 una tasa de bits dada o la tasa de bits más baja para un nivel de distorsión objetivo. En bucle abierto, la Operación 806 predetermina la referencia en base al valor de los Coeficientes de Predicción Lineal del filtro LPC a cuantificar y de los Coeficientes de Predicción Lineal de los filtros LPC de referencia disponibles.
Operación 807: después de la selección en la Operación 806, un transmisor (Operación 807) comunica o señala al decodificador (no mostrado) un índice indicativo de: 15
- el modo de cuantificación (suboperación 8071), por ejemplo cuantificación absoluta o diferencial; y
- en el caso de cuantificación diferencial, de la referencia seleccionada y el cuantificador diferencial asociado de las Operaciones 8011, 8012, … 801n (suboperación 8072).
Algunos bits específicos se transmiten al decodificador para tal señalización.
Cuantificador vectorial algebraico 20
Un posible cuantificador vectorial algebraico (AVQ) utilizado por ejemplo en la Operación 605 de la Figura 6 y las Operaciones 805, 8051, 8052, … 805n de la Figura 8 se basa en el cuantificador vectorial de retícula RE8 de 8 dimensiones utilizado para cuantificar el espectro en los modos TCX de AMR-WB+ [1].
Para un LPC de orden 16, cada vector LSF residual ponderado se divide en dos sub-vectores B1 y B2 de 8 dimensiones. Cada uno de estos dos sub-vectores se cuantifica utilizando el enfoque de tres operaciones descrito 25 anteriormente.
Los vectores LSF no tienen todos la misma sensibilidad al error de cuantificación, por lo cual un cierto error de cuantificación aplicado a un vector LSF puede tener más impacto sobre la distorsión espectral que el mismo error de cuantificación aplicado a otro vector LSF. La operación de ponderación da la misma sensibilidad relativa a todos los vectores LSF ponderados. El AVQ tiene la particularidad de introducir el mismo nivel de error de cuantificación a los 30 vectores LSF ponderados (error de cuantificación uniforme). Al realizar la cuantificación inversa, la ponderación inversa que se aplica a los vectores LSF ponderados cuantificados inversamente también se aplica obviamente al error de cuantificación. Por tanto, el error de cuantificación originalmente uniforme se distribuye entre los vectores LSF cuantificados, adquiriendo los vectores LSF más sensibles un error de cuantificación más pequeño y adquiriendo los vectores LSF menos sensibles un error de cuantificación más grande. Como consecuencia, se 35 minimiza el impacto del error de cuantificación sobre la distorsión espectral.
Como se explica en la Referencia [1], el cuantificador RE8 utiliza una cuantificación fija y predeterminada. Como consecuencia, la tasa de bits requerida para codificar un subvector aumenta con la amplitud de este subvector.
El vector de escalado W controla la amplitud de los vectores LSF ponderados. Por lo tanto, el factor de escalado W también controla tanto la tasa de bits necesaria para cuantificar el vector LSF como la distorsión espectral promedio. 40
Primera operación: encontrar el vecino más cercano en la retícula RE8.
En esta primera operación, un sub-vector Bk de 8 dimensiones se redondea como un punto en la retícula RE8, para producir su versión cuantificada, k. Antes de observar el procedimiento de cuantificación, vale la pena observar las propiedades de esta retícula. La retícula RE8 se define como sigue:
RE8=2D8{2D8+(1,…,1)} 45
que es como la unión de una retícula 2D8 y una versión de la retícula 2D8 desplazada por el vector (1,1,1,1,1,1,1,1). Por lo tanto, buscar el vecino más cercano en la retícula RE8 es equivalente a buscar el vecino más cercano en la retícula 2D8, buscar luego el vecino más cercano en la retícula 2D8 + (1,1,1,1,1,1,1,1), y finalmente seleccionar el mejor de esos dos puntos de la retícula. La retícula 2D8 es la retícula D8 escalada por un factor de 2, con la retícula D8 definida como: 50
D8 = {(x1, …, x8) Z8 | x1 + … + x8 es par }
Esto es, los puntos en la retícula D8 son todos enteros, con la restricción de que la suma de todos los componentes es par. Esto también implica que la suma de los componentes de un punto en la retícula 2D8 es un entero múltiplo de 4.
A partir de esta definición de retícula RE8, es sencillo desarrollar un algoritmo rápido para buscar el vecino más cercano de un sub-vector Bk de 8 dimensiones entre todos los puntos de la retícula en la retícula RE8. Esto puede 5 hacerse aplicando las siguientes operaciones. Los componentes del sub-vector Bk son valores de coma flotante, y el resultado de la cuantificación, k, será un vector de enteros.
1. zk = 0,5 * Bk
2. Redondear cada componente de zk al entero más cercano, para generar k.
3. y1k = 2 k. 10
4. Calcular S como la suma de los componentes de y1k.
5. Si S no es un entero múltiplo de 4 (los valores negativos son posibles), entonces modificar uno de sus componentes como sigue:
- encontrar la posición I donde abs(zk(i) – y1k(i)) es el más alto
- si zk(l) – y1k(l) < 0, entonces y1k(l) = y1k(l) -2 15
- si zk(l) – y1k(l) > 0, entonces y1k(l) = y1k(l) +2
6. zk = 0,5 * (Bk – 1,0) donde 1,0 denota un vector en el que todos los componentes son 1.
7. Redondear cada componente de zk al entero más cercano, para generar k.
8. y2k = 2 k
9. Calcular S como la suma de los componentes de y2k 20
10. Si S no es un entero múltiplo de 4 (los valores negativos son posibles), entonces modificar uno de sus componentes como sigue:
- encontrar la posición I donde abs(zk(l) – y2k(l)) es el más alto
- si zk(l) – y2k(l) < 0, entonces y2k(l) = y2k(l) -2
- si zk(l) – y2k(l) > 0, entonces y2k(l) =y2k(l) +2 25
11. y2k = y2k +1,0
12. Calcular e1k = (Bk – y1k)2 y e2k = (Bk – y2k)2
13. Si e1k > e2k, entonces el mejor punto de la retícula (el vecino más cercano en la retícula) es y1k
de lo contrario el mejor punto de la retícula es y2k.
k = ck donde ck es el mejor punto de la retícula según se ha seleccionado anteriormente. 30
Segunda operación: cálculo de los índices
En la primera operación, cada sub-vector Bk de 8 dimensiones se redondeaba como un punto en la retícula RE8. El resultado es k =ck, la versión cuantificada de Bk. En la presente segunda operación se calcula un índice para cada ck para transmisión al decodificador. El cálculo de este índice se realiza como sigue.
El cálculo de un índice para un punto dado en la retícula RE8 se basa en dos principios básicos: 35
1. Todos los puntos en la retícula RE8 se encuentran en esferas concéntricas de radio con m=0, 1, 2, 3, etc., y cada punto de la retícula en una esfera dada se puede generar permutando las coordenadas de los puntos de referencia llamados líderes. Hay muy pocos líderes en una esfera, en comparación con el número total de puntos de la retícula que se encuentran en la esfera. Los libros de códigos de diferentes tasas de bits se pueden construir incluyendo esferas solo hasta un número dado m. Véase la Referencia [6] para más detalles, donde los libros de 40 códigos Q0, Q1, Q2, Q3, Q4 y Q5 se construyen con respectivamente 0, 4, 8, 12, 16 y 20 bits. Por tanto, el libro de códigos Qn requiere 4n bits para indexar cualquier punto en ese libro de códigos.
2. A partir de un libro de códigos base C (i.e., un libro de códigos que contiene todos los puntos de la retícula de un conjunto dado de esferas hasta un número m), se puede generar un libro de códigos extendido multiplicando los elementos del libro de códigos base C por un factor M, y añadiendo un libro de códigos de segunda etapa llamado extensión de Voronoi. Esta construcción es dada por y= Mz + , donde M es el factor de escalado, z es un punto en el libro de códigos base y es la extensión de Voronoi. La extensión se calcula de tal manera que cualquier punto 5 y=Mz + es también un punto en la retícula RE8. El libro de códigos extendido incluye puntos de la retícula que se extienden más lejos del origen que el libro de códigos base.
En el presente caso, el libro de códigos base C en el cuantificador LPC puede ser cualquiera de los libros de códigos Q0, Q2, Q3, o Q4 de la Referencia [6]. Cuando un punto ck de la retícula dado no se incluye en estos libros de códigos base, se aplica la extensión de Voronoi, utilizando esta vez solamente el libro de códigos Q3 o Q4. Obsérvese que 10 aquí, Q2 Q3 pero Q3 Q4.
Entonces, el cálculo del índice para cada punto ck de la retícula, obtenido en la primera operación, se realiza según las siguientes operaciones.
Verificar si ck está el libro de códigos base C. Esto implica verificar si ck es un elemento de los libros de códigos Q0, Q2, Q3, o Q4 de la Referencia [6]. 15
- Si ck es un elemento del libro de códigos base C, el índice utilizado para codificar ck es por tanto el número nk del libro de códigos más el índice Ik del vector de códigos ck en el libro de códigos Qnk. El número nk del libro de códigos se codifica como se describe en una tercera operación. El índice Ik indica el rango del vector de códigos ck, i.e., la permutación a aplicar a un líder específico para obtener ck (véase la Referencia [7]). Si nk =0, entonces Ik no utiliza bits. De lo contrario, el índice Ik utiliza 4nk bits. 20
- Si ck no está en el libro de códigos base, entonces aplicar la extensión de Voronoi mediante las siguientes suboperaciones, utilizando esta vez solamente el libro de códigos Q3 o Q4 como el libro de códigos base.
V0 Establecer el orden de la extensión r=1 y el factor de escalado M=2’= 2.
V1 Calcular el índice de Voronoi k del punto ck de la retícula. El índice de Voronoi k depende del orden de la extensión r y el factor de escalado M. El índice de Voronoi se calcula mediante operaciones de módulo de tal 25 manera que k depende solamente de la posición relativa de ck en una región de Voronoi escalada y trasladada.
k = modM(ckG-1)
donde G es la matriz generadora y modM(·) es la operación de módulo M de componente racional. Por tanto, el índice de Voronoi k es un vector de enteros con cada componente comprendido en el intervalo 0 a M-1.
V2 Calcular el vector de códigos de Voronoi del índice de Voronoi k. Esto se puede implementar utilizando un 30 algoritmo como se describe en la referencia [8].
V3 Calcular el vector de diferencia w = ck – v. Este vector de diferencia w siempre pertenece a la retícula m escalada, donde es la retícula RE8. Calcular z = w/M, i.e., aplicar el escalado inverso al vector de diferencia w. El vector de códigos z pertenece a la retícula dado que w pertenece a M.
V4 Verificar si z está en el libro de códigos base C (i.e., en Q3 o Q4). 35
Si z no está en el libro de códigos base C, incrementar el orden de la extensión r por 1, multiplicar el factor de escala M por 2, y volver a la suboperación V1. De lo contrario, si z está en el libro de códigos base C, entonces se ha encontrado un orden de la extensión r y un factor de escalado M=2’ suficientemente grande para codificar el índice de ck. El índice está formado por tres partes: 1) el número nk del libro de códigos como un código unario definido a continuación; 2) el rango Ik de z en el libro de códigos base correspondiente (bien Q3 o bien Q4); y 3) los 8 índices 40 del vector de índice de Vornoi k calculado en la suboperación V1, donde cada índice requiere exactamente r bits (r es el orden de la extensión de Voronoi establecido en la suboperación V0). El número nk del libro de códigos se codifica como se describe en la tercera operación.
El punto ck de la retícula se describe entonces como:
ck = Mz +v 45
Tercera Operación: codificación de longitud variable de los números del libro de códigos.
Los números nk del libro de códigos se codifican utilizando un código de longitud variable que depende de la posición del filtro LPC y del modo de cuantificación, como se indica en la Tabla 3.
Filtro
Modo de cuantificación modo nk
LPC4
Absoluta 0
LPC0
Absoluta 0
LPC4 relativa
3
LPC2
Absoluta 0
LPC4 relativa
3
LPC1
Absoluta 0
(LPC0+LPC2)/2 relativa
1
LPC2 relativa
2
LPC3
Absoluta 0
(LPC2+LPC4)/2 relativa
1
LPC2 relativa
2
LPC4 relativa
2
Tabla 3 – Modos de codificación para los números nk del libro de códigos
modos nk 0 y 3:
El número nk del libro de códigos se codifica como un código de longitud variable, como sigue:
Q2 → el código para nk es 00 5
Q3 → el código para nk es 01
Q4 → el código para nk es 10
Otros: el código para nk es 11 seguido de:
Q5 → 0
Q6 → 10 10
Q0 → 110
Q7 → 1110
Q8 → 11110
etc.
modo nk 1: 15
El número nk del libro de códigos se codifica como un código unario, como sigue:
Q0 → el código unario para nk es 0
Q2 → el código unario para nk es 10
Q3 → el código unario para nk es 110
Q4 → el código unario para nk es 1110 20
etc.
modo nk 2:
El número nk del libro de códigos se codifica como un código de longitud variable, como sigue:
Q2 → el código para nk es 00
Q3 -→ el código para nk es 01
Q4 → el código para nk es 10
Otros: el código para nk es 11 seguido de:
Q0 → 0 5
Q5 → 10
Q6 → 110
etc.
Decisión del modo de cuantificación
Para cada vector LSF, todos los posibles modos de cuantificación absoluta y diferencial como se ha descrito en la 10 Tabla 2 son probados cada uno y, por ejemplo, se selecciona el modo de cuantificación que requiere el mínimo número de bits. El modo de cuantificación codificado y el conjunto correspondiente de índices de cuantificación se transmiten al decodificador.
Como se ha mencionado en la descripción anterior, el número actual de filtros LPC cuantificados transmitidos desde el codificador al decodificador no es fijo sino que depende de la decisión de ACELP/TCX tomada en el codificador. 15 Por ejemplo, el TCX largo (TCX1024) requiere solamente la transmisión del filtro LPC4 cuantificado mientras que cualquier combinación que implique ACELP o TCX corto (TCX256) requiere la transmisión de todos los cuatro (4) filtros LPC cuantificados LPC1 a LPC4. Solamente los filtros LPC cuantificados que son requeridos por la configuración del modo ACELP/TCX se transmiten realmente.
Proceso de decodificación de cuantificador vectorial algebraico 20
Como se ha mencionado anteriormente en la presente memoria, el número actual de filtros LC cuantificados codificados dentro del flujo de bits depende de la combinación de modo ACELP/TCX de la supertrama. La combinación de modo ACELP/TCX se extrae del flujo de bits y determina los modos de codificación, mod[k] para k=0 a 3, de cada una de las cuatro (4) tramas que componen la supertrama. El valor del modo es 0 para ACELP, 1 para TCX256, 2 para TCX512, 3 para TCX1024. 25
Además del uno (1) a cuatro (4) filtros LPC cuantificados de la supertrama, el filtro LPC0 cuantificado opcional, anteriormente descrito, se transmite para la primera supertrama de cada segmento codificado utilizando el códec basado en predicción lineal.
El orden en el que los filtros LPC cuantificados se encuentran normalmente en el flujo de bits es: LPC4, el LPC0 opcional, LPC2, LPC1, y LPC3. 30
La condición para la presencia de un filtro LPC dado dentro del flujo de bits se resume en la tabla 4.
Filtro LPC
Presente si
LPC0
1ª supertrama codificada utilizando LP
LPC1
mod[0] < 2
LPC2
mod[2] < 3
LPC3
mod[2] < 2
LPC4
Siempre
Tabla 4- Condición para la presencia de un filtro LPC dado en el flujo de bits
La Figura 9 es un diagrama de bloques esquemático que resume el proceso de decodificación.
Operaciones 901 y 902: el decodificador comprende medios para recibir y extraer, por ejemplo un demultiplexor, del 35 flujo de bits recibido los índices de cuantificación correspondientes a cada uno de los filtros LPC cuantificados requeridos por la combinación de modo ACELP/TCX. Para un filtro LPC cuantificado dado, un determinador del modo de cuantificación extrae del flujo de bits recibido del codificador el índice o la información relativa al modo de
cuantificación, y determina si el modo de cuantificación es el modo de cuantificación absoluta o diferencial como se indica en la Tabla 2.
Operaciones 903 y 905: cuando las operaciones 901 y 902 determinan que el modo de cuantificación es el modo de cuantificación absoluta, un extractor extrae del flujo de bits el índice o índices correspondientes a la aproximación de primera etapa cuantificada por VQ estocástica (Operación 903). Una calculadora calcula entonces la aproximación 5 de primera etapa mediante cuantificación inversa (Operación 905).
Operaciones 904 y 905: cuando las Operaciones 901 y 902 determinan que el modo de cuantificación es el modo de cuantificación diferencial (no el modo de cuantificación absoluta), un extractor extrae del flujo de bits los índices o la información representativa de la referencia entre la pluralidad de referencias posibles, por ejemplo el vector LPC de referencia (Operación 904). La calculadora calcula entonces a partir de esta información la aproximación de primera 10 etapa como se ha descrito con referencia a la Tabla 2 (Operación 905).
En la Operación 906, un extractor de información de VQ extrae del flujo de bits recibido del codificador información de VQ de tasa de bits variable, por ejemplo información de AVQ. Más específicamente, como un ejemplo no limitativo, la información de AVQ para los dos sub-vectores k LSF residuales se extraen del flujo de bits. La información de AVQ normalmente comprende dos números del libro de códigos codificados y los índices de AVQ 15 correspondientes. La única excepción es cuando el filtro LPC1 se cuantifica diferencialmente con relación al (filtro LPC0 cuantificado + filtro LPC2 cuantificado)/2, dado que en este caso no hay información de AVQ presente en el flujo de bits. En el caso de ésta última excepción, el vector 909 LSF cuantificado se emite como la aproximación de primera etapa de la Operación 905.
Operación 907: un cuantificador vectorial algebraico inverso recibe la información de AVQ extraída de la Operación 20 906 para cuantificar inversamente, o ponderar inversamente y recuperar la contribución de AVQ.
Decodificación de los índices de AVQ
Decodificar los filtros LPC implica decodificar la información de AVQ extraída, por ejemplo los parámetros de AVQ que describen cada sub-vector k cuantificado del vector LSF residual ponderado. En el ejemplo anterior, cada sub-vector Bk tiene una dimensión 8. Los parámetros de AVQ para cada sub-vector Bk se describen en la segunda 25 operación de la cuantificación vectorial algebraica descrita anteriormente. Para cada sub-vector k cuantificado, tres conjuntos de índices binarios son enviados por el codificador al decodificador:
a) el número nk del libro de códigos, transmitido utilizando un código de entropía como se ha descrito en la tercera operación de la cuantificación vectorial algebraica descrita anteriormente;
b) el rango Ik de un punto z de la retícula seleccionado en un libro de códigos base, que indica qué 30 permutación debe aplicarse a un líder específico (véase la segunda operación de la cuantificación vectorial algebraica descrita anteriormente) para obtener un punto z de la retícula; y
c) si el sub-vector k cuantificado (un punto de la retícula en la retícula RE8) no estaba en el libro de códigos base, los 8 índices del vector k de índice de la extensión de Voronoi calculado en la sub-operación V1 de la segunda operación de la cuantificación vectorial algebraica descrita anteriormente; a partir de los índices de 35 la extensión de Voronoi, un vector v de la extensión se puede calcular como se enseña en la Referencia [8]. El número de bits en cada componente del vector k de índice es dado por el orden r de la extensión, que se puede obtener a partir del valor de código del índice nk. El factor de escalado M de la extensión de Voronoi es dado por M=2’.
Entonces, a partir del factor M de escalado, el vector v de la extensión de Voronoi (un punto de la retícula en la 40 retícula RE8) y el punto z de la retícula en el libro de códigos base (también un punto de la retícula en la retícula RE8), cada sub-vector k escalado cuantificado se puede calcular utilizando la siguiente relación:
k = Mz + v
Cuando no hay extensión de Voronoi (i.e., nk < 5, M=1 y z=0), el libro de códigos base es cualquiera de los libros de códigos Q0, Q2, Q3 o Q4 de la referencia [6]. No se requieren entonces bits para transmitir el vector k. De lo contrario, 45 cuando la extensión de Voronoi se utiliza porque k es lo suficientemente grande, entonces solamente se utiliza Q3 o Q4 de la Referencia [6] como un libro de códigos base. La selección de Q3 o Q4 está implícita en el valor de número nk del libro de códigos como se ha descrito en la segunda operación de la cuantificación vectorial algebraica descrita anteriormente.
Operación 908: un sumador suma la aproximación de primera etapa de la Operación 905 a la contribución de AVQ 50 ponderada inversamente de la Operación 907 para reconstruir y recuperar el vector 909 LSF cuantificado.
Aunque la presente invención se ha definido en la descripción anterior por medio de realizaciones ilustrativas de la misma, estas realizaciones se pueden modificar a voluntad, dentro del alcance de las reivindicaciones adjuntas.
Referencias 5
imagen1
10
15
20
25
imagen2
30

Claims (4)

1. Un dispositivo para cuantificar un filtro LPC en forma de un vector (607) de frecuencia espectral de línea (LSF) de entrada, que comprende:
medios (601) para calcular una aproximación (608) de primera etapa del vector LSF de entrada;
medios (602) para restar la aproximación de primera etapa del vector LSF de entrada para producir un vector (609) residual; 5
medios (603) para calcular una función de ponderación (610) a partir de la aproximación de primera etapa;
medios (604) para aplicar la función de ponderación (610) al vector (609) residual;
un cuantificador vectorial algebraico (605) para cuantificar el vector residual ponderado para suministrar un vector (612) LSF residual ponderado cuantificado; y
un multiplexor de la aproximación (608) de primera etapa y del vector (612) LSF residual ponderado cuantificado 10 en los índices (613) codificados multiplexados correspondientes.
2. Un dispositivo para la cuantificación inversa de un filtro LPC, que comprende:
un demultiplexor (701) para recibir índices (707) codificados representativos de una aproximación (708) de primera etapa de un vector de frecuencia espectral de línea (LSF) representativo del filtro LPC, y una versión (710) residual ponderada cuantificada del vector LSF; 15
medios (703) para calcular una función (709) de ponderación inversa a partir de la aproximación de primera etapa;
un cuantificador (704) vectorial algebraico inverso para la cuantificación inversa de la versión residual ponderada cuantificada del vector LSF para producir un vector (711) residual ponderado;
medios (705) para aplicar la función de ponderación inversa al vector residual ponderado para producir un vector 20 (712) residual; y
medios (706) para sumar la aproximación de primera etapa con el vector residual para producir el vector LSF.
3. Un método para cuantificar un filtro LPC en forma de un vector (607) de frecuencia espectral de línea (LSF) de entrada, que comprende:
calcular una aproximación (608) de primera etapa del vector LSF de entrada; 25
restar la aproximación de primera etapa del vector LSF de entrada para producir un vector (609) residual;
calcular una función de ponderación (610) a partir de la aproximación de primera etapa;
aplicar la función de ponderación (610) al vector (609) residual;
cuantificar, utilizando un cuantificador vectorial algebraico (605), el vector residual ponderado para suministrar un vector (612) LSF residual ponderado cuantificado); y 30
multiplexar la aproximación (608) de primera etapa y el vector (612) LSF residual ponderado cuantificado en los índices (613) codificados multiplexados correspondientes.
4. Un método para la cuantificación inversa de un filtro LPC, que comprende:
demultiplexar (701) los índices (707) codificados representativos de una aproximación (708) de primera etapa de un vector de frecuencia espectral de línea (LSF) representativo del filtro LPC; y una versión (710) residual 35 ponderada cuantificada del vector LSF;
calcular una función (709) de ponderación inversa a partir de la aproximación (708) de primera etapa;
cuantificar inversamente, utilizando un cuantificador (704) vectorial algebraico inverso, la versión (710) residual ponderada cuantificada del vector LSF para producir un vector (711) residual ponderado;
aplicar la función de ponderación inversa al vector residual ponderado para producir un vector (712) residual; y 40
sumar la aproximación (708) de primera etapa con el vector (712) residual para producir el vector LSF.
ES09793769.2T 2008-07-10 2009-07-10 Dispositivo y método de cuantificación y cuantificación inversa de filtro LPC de tasa de bits variable Active ES2645375T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202075P 2000-05-05
US12966908P 2008-07-10 2008-07-10
US129669P 2008-07-10
US20207509P 2009-01-27 2009-01-27
PCT/CA2009/000980 WO2010003253A1 (en) 2008-07-10 2009-07-10 Variable bit rate lpc filter quantizing and inverse quantizing device and method

Publications (1)

Publication Number Publication Date
ES2645375T3 true ES2645375T3 (es) 2017-12-05

Family

ID=41506638

Family Applications (3)

Application Number Title Priority Date Filing Date
ES09793769.2T Active ES2645375T3 (es) 2008-07-10 2009-07-10 Dispositivo y método de cuantificación y cuantificación inversa de filtro LPC de tasa de bits variable
ES09793768.4T Active ES2639747T3 (es) 2008-07-10 2009-07-10 Dispositivo y método para cuantificar filtros de LPC en una súper-trama
ES09793770.0T Active ES2650492T3 (es) 2008-07-10 2009-07-10 Dispositivo y método de cuantificación de filtro LPC de múltiples referencias

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES09793768.4T Active ES2639747T3 (es) 2008-07-10 2009-07-10 Dispositivo y método para cuantificar filtros de LPC en una súper-trama
ES09793770.0T Active ES2650492T3 (es) 2008-07-10 2009-07-10 Dispositivo y método de cuantificación de filtro LPC de múltiples referencias

Country Status (17)

Country Link
US (4) US8332213B2 (es)
EP (3) EP2301021B1 (es)
JP (2) JP2011527442A (es)
KR (2) KR101604774B1 (es)
CN (2) CN102119414B (es)
BR (1) BRPI0915450B1 (es)
CA (5) CA2729751C (es)
CY (3) CY1119501T1 (es)
DK (3) DK2313887T3 (es)
ES (3) ES2645375T3 (es)
HK (2) HK1153840A1 (es)
MX (1) MX2011000363A (es)
NO (1) NO2313887T3 (es)
PL (1) PL2313887T3 (es)
PT (3) PT2301021T (es)
RU (2) RU2509379C2 (es)
WO (3) WO2010003252A1 (es)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008107027A1 (en) 2007-03-02 2008-09-12 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements in a telecommunications network
CN101308655B (zh) * 2007-05-16 2011-07-06 展讯通信(上海)有限公司 一种音频编解码方法与装置
EP2077550B8 (en) * 2008-01-04 2012-03-14 Dolby International AB Audio encoder and decoder
US20110158189A1 (en) * 2009-12-29 2011-06-30 Industrial Technology Research Institute Methods and Apparatus for Multi-Transmitter Collaborative Communications Systems
KR101660843B1 (ko) 2010-05-27 2016-09-29 삼성전자주식회사 Lpc 계수 양자화를 위한 가중치 함수 결정 장치 및 방법
CN102934161B (zh) * 2010-06-14 2015-08-26 松下电器产业株式会社 音频混合编码装置以及音频混合解码装置
EP3422346B1 (en) * 2010-07-02 2020-04-22 Dolby International AB Audio encoding with decision about the application of postfiltering when decoding
KR101747917B1 (ko) * 2010-10-18 2017-06-15 삼성전자주식회사 선형 예측 계수를 양자화하기 위한 저복잡도를 가지는 가중치 함수 결정 장치 및 방법
CN104025191A (zh) * 2011-10-18 2014-09-03 爱立信(中国)通信有限公司 用于自适应多速率编解码器的改进方法和设备
US9842598B2 (en) * 2013-02-21 2017-12-12 Qualcomm Incorporated Systems and methods for mitigating potential frame instability
US9208775B2 (en) * 2013-02-21 2015-12-08 Qualcomm Incorporated Systems and methods for determining pitch pulse period signal boundaries
BR112015025009B1 (pt) * 2013-04-05 2021-12-21 Dolby International Ab Unidades de quantização e quantização inversa, codificador e decodificador, métodos para quantizar e dequantizar
EP3961622B1 (en) 2013-05-24 2023-11-01 Dolby International AB Audio encoder
FR3008533A1 (fr) * 2013-07-12 2015-01-16 Orange Facteur d'echelle optimise pour l'extension de bande de frequence dans un decodeur de signaux audiofrequences
CN104299614B (zh) * 2013-07-16 2017-12-29 华为技术有限公司 解码方法和解码装置
US10970967B2 (en) * 2014-09-24 2021-04-06 Jcm American Corporation Electronic voucher ticket system
US9407989B1 (en) 2015-06-30 2016-08-02 Arthur Woodrow Closed audio circuit
WO2017162260A1 (en) * 2016-03-21 2017-09-28 Huawei Technologies Co., Ltd. Adaptive quantization of weighted matrix coefficients
US10366698B2 (en) 2016-08-30 2019-07-30 Dts, Inc. Variable length coding of indices and bit scheduling in a pyramid vector quantizer
WO2019121980A1 (en) * 2017-12-19 2019-06-27 Dolby International Ab Methods and apparatus systems for unified speech and audio decoding improvements
TWI812658B (zh) 2017-12-19 2023-08-21 瑞典商都比國際公司 用於統一語音及音訊之解碼及編碼去關聯濾波器之改良之方法、裝置及系統
KR102697685B1 (ko) 2017-12-19 2024-08-23 돌비 인터네셔널 에이비 통합 음성 및 오디오 디코딩 및 인코딩 qmf 기반 고조파 트랜스포저 개선을 위한 방법, 장치 및 시스템
US10950251B2 (en) * 2018-03-05 2021-03-16 Dts, Inc. Coding of harmonic signals in transform-based audio codecs

Family Cites Families (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0443548B1 (en) 1990-02-22 2003-07-23 Nec Corporation Speech coder
US6006174A (en) * 1990-10-03 1999-12-21 Interdigital Technology Coporation Multiple impulse excitation speech encoder and decoder
US5255339A (en) * 1991-07-19 1993-10-19 Motorola, Inc. Low bit rate vocoder means and method
US5233660A (en) * 1991-09-10 1993-08-03 At&T Bell Laboratories Method and apparatus for low-delay celp speech coding and decoding
FI90477C (fi) * 1992-03-23 1994-02-10 Nokia Mobile Phones Ltd Puhesignaalin laadun parannusmenetelmä lineaarista ennustusta käyttävään koodausjärjestelmään
EP0751496B1 (en) 1992-06-29 2000-04-19 Nippon Telegraph And Telephone Corporation Speech coding method and apparatus for the same
JP3255189B2 (ja) * 1992-12-01 2002-02-12 日本電信電話株式会社 音声パラメータの符号化方法および復号方法
BR9404725A (pt) * 1993-03-26 1999-06-15 Motorola Inc Processo de quantificação por vetor de um vetor de coeficiente de reflexão ótimo processo de codificação de fala sistema de comunicação de rádio e processo de armazenagem de vetores de coeficiente de reflexão
WO1995010760A2 (en) 1993-10-08 1995-04-20 Comsat Corporation Improved low bit rate vocoders and methods of operation therefor
FI98163C (fi) * 1994-02-08 1997-04-25 Nokia Mobile Phones Ltd Koodausjärjestelmä parametriseen puheenkoodaukseen
JP3013698B2 (ja) * 1994-04-20 2000-02-28 松下電器産業株式会社 ベクトル量子化符号化装置と復号化装置
CA2154911C (en) * 1994-08-02 2001-01-02 Kazunori Ozawa Speech coding device
JP3235703B2 (ja) * 1995-03-10 2001-12-04 日本電信電話株式会社 ディジタルフィルタのフィルタ係数決定方法
US6263307B1 (en) * 1995-04-19 2001-07-17 Texas Instruments Incorporated Adaptive weiner filtering using line spectral frequencies
US5649051A (en) * 1995-06-01 1997-07-15 Rothweiler; Joseph Harvey Constant data rate speech encoder for limited bandwidth path
JP3537008B2 (ja) * 1995-07-17 2004-06-14 株式会社日立国際電気 音声符号化通信方式とその送受信装置
TW321810B (es) * 1995-10-26 1997-12-01 Sony Co Ltd
US5956674A (en) 1995-12-01 1999-09-21 Digital Theater Systems, Inc. Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels
JP3094908B2 (ja) * 1996-04-17 2000-10-03 日本電気株式会社 音声符号化装置
US6904404B1 (en) * 1996-07-01 2005-06-07 Matsushita Electric Industrial Co., Ltd. Multistage inverse quantization having the plurality of frequency bands
JP3357795B2 (ja) * 1996-08-16 2002-12-16 株式会社東芝 音声符号化方法および装置
JP3707153B2 (ja) 1996-09-24 2005-10-19 ソニー株式会社 ベクトル量子化方法、音声符号化方法及び装置
JP3707154B2 (ja) * 1996-09-24 2005-10-19 ソニー株式会社 音声符号化方法及び装置
US6154499A (en) 1996-10-21 2000-11-28 Comsat Corporation Communication systems using nested coder and compatible channel coding
US6167375A (en) 1997-03-17 2000-12-26 Kabushiki Kaisha Toshiba Method for encoding and decoding a speech signal including background noise
DE19730130C2 (de) 1997-07-14 2002-02-28 Fraunhofer Ges Forschung Verfahren zum Codieren eines Audiosignals
US6889185B1 (en) * 1997-08-28 2005-05-03 Texas Instruments Incorporated Quantization of linear prediction coefficients using perceptual weighting
TW408298B (en) * 1997-08-28 2000-10-11 Texas Instruments Inc Improved method for switched-predictive quantization
WO1999010719A1 (en) * 1997-08-29 1999-03-04 The Regents Of The University Of California Method and apparatus for hybrid coding of speech at 4kbps
DE69836785T2 (de) * 1997-10-03 2007-04-26 Matsushita Electric Industrial Co., Ltd., Kadoma Audiosignalkompression, Sprachsignalkompression und Spracherkennung
JP3842432B2 (ja) 1998-04-20 2006-11-08 株式会社東芝 ベクトル量子化方法
US6823303B1 (en) * 1998-08-24 2004-11-23 Conexant Systems, Inc. Speech encoder using voice activity detection in coding noise
US7072832B1 (en) * 1998-08-24 2006-07-04 Mindspeed Technologies, Inc. System for speech encoding having an adaptive encoding arrangement
US6507814B1 (en) * 1998-08-24 2003-01-14 Conexant Systems, Inc. Pitch determination using speech classification and prior pitch estimation
US7272556B1 (en) 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
FR2784218B1 (fr) * 1998-10-06 2000-12-08 Thomson Csf Procede de codage de la parole a bas debit
JP3343082B2 (ja) * 1998-10-27 2002-11-11 松下電器産業株式会社 Celp型音声符号化装置
US6691082B1 (en) 1999-08-03 2004-02-10 Lucent Technologies Inc Method and system for sub-band hybrid coding
US7315815B1 (en) 1999-09-22 2008-01-01 Microsoft Corporation LPC-harmonic vocoder with superframe structure
US6782360B1 (en) * 1999-09-22 2004-08-24 Mindspeed Technologies, Inc. Gain quantization for a CELP speech coder
AU7486200A (en) 1999-09-22 2001-04-24 Conexant Systems, Inc. Multimode speech encoder
US6792405B2 (en) * 1999-12-10 2004-09-14 At&T Corp. Bitstream-based feature extraction method for a front-end speech recognizer
JP2002055699A (ja) * 2000-08-10 2002-02-20 Mitsubishi Electric Corp 音声符号化装置および音声符号化方法
JP2002055700A (ja) 2000-08-11 2002-02-20 Hitachi Kokusai Electric Inc 音声信号符号復号化システム
KR100872538B1 (ko) * 2000-11-30 2008-12-08 파나소닉 주식회사 Lpc 파라미터의 벡터 양자화 장치, lpc 파라미터복호화 장치, lpc 계수의 복호화 장치, 기록 매체,음성 부호화 장치, 음성 복호화 장치, 음성 신호 송신장치, 및 음성 신호 수신 장치
US6996523B1 (en) * 2001-02-13 2006-02-07 Hughes Electronics Corporation Prototype waveform magnitude quantization for a frequency domain interpolative speech codec system
KR20020075592A (ko) 2001-03-26 2002-10-05 한국전자통신연구원 광대역 음성 부호화기용 lsf 양자화기
US7003454B2 (en) * 2001-05-16 2006-02-21 Nokia Corporation Method and system for line spectral frequency vector quantization in speech codec
US6584437B2 (en) * 2001-06-11 2003-06-24 Nokia Mobile Phones Ltd. Method and apparatus for coding successive pitch periods in speech signal
US6658383B2 (en) * 2001-06-26 2003-12-02 Microsoft Corporation Method for coding speech and music signals
US6711027B2 (en) 2001-07-23 2004-03-23 Intel Corporation Modules having paths of different impedances
US7647223B2 (en) * 2001-08-16 2010-01-12 Broadcom Corporation Robust composite quantization with sub-quantizers and inverse sub-quantizers using illegal space
US7386447B2 (en) * 2001-11-02 2008-06-10 Texas Instruments Incorporated Speech coder and method
SE521600C2 (sv) * 2001-12-04 2003-11-18 Global Ip Sound Ab Lågbittaktskodek
JP4263412B2 (ja) 2002-01-29 2009-05-13 富士通株式会社 音声符号変換方法
US20040002856A1 (en) * 2002-03-08 2004-01-01 Udaya Bhaskar Multi-rate frequency domain interpolative speech CODEC system
JP4649208B2 (ja) 2002-07-16 2011-03-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ オーディオコーディング
US7536305B2 (en) * 2002-09-04 2009-05-19 Microsoft Corporation Mixed lossless audio compression
CA2511516C (en) 2002-12-24 2009-03-03 Nokia Corporation Method and device for robust predictive vector quantization of linear prediction parameters in variable bit rate speech coding
KR100486732B1 (ko) 2003-02-19 2005-05-03 삼성전자주식회사 블럭제한된 트렐리스 부호화 양자화방법과 음성부호화시스템에있어서 이를 채용한 라인스펙트럼주파수 계수양자화방법 및 장치
WO2004090864A2 (en) 2003-03-12 2004-10-21 The Indian Institute Of Technology, Bombay Method and apparatus for the encoding and decoding of speech
BRPI0409970B1 (pt) * 2003-05-01 2018-07-24 Nokia Technologies Oy “Método para codificar um sinal de som amostrado, método para decodificar um fluxo de bit representativo de um sinal de som amostrado, codificador, decodificador e fluxo de bit”
FR2867649A1 (fr) * 2003-12-10 2005-09-16 France Telecom Procede de codage multiple optimise
CA2457988A1 (en) * 2004-02-18 2005-08-18 Voiceage Corporation Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization
FR2869151B1 (fr) 2004-04-19 2007-01-26 Thales Sa Procede de quantification d'un codeur de parole a tres bas debit
RU2006137841A (ru) * 2004-04-27 2008-05-10 Мацусита Электрик Индастриал Ко., Лтд. (Jp) Устройство масштабируемого кодирования, устройство масштабируемого декодирования и способ для этого
US7739120B2 (en) * 2004-05-17 2010-06-15 Nokia Corporation Selection of coding models for encoding an audio signal
US7596486B2 (en) * 2004-05-19 2009-09-29 Nokia Corporation Encoding an audio signal using different audio coder modes
JP4871501B2 (ja) * 2004-11-04 2012-02-08 パナソニック株式会社 ベクトル変換装置及びベクトル変換方法
BRPI0608306A2 (pt) 2005-04-01 2009-12-08 Qualcomm Inc sistemas, métodos e equipamentos para supressão de rajada em banda alta
JP2009511948A (ja) 2005-10-05 2009-03-19 エルジー エレクトロニクス インコーポレイティド 信号処理方法及び装置、エンコーディング及びデコーディング方法並びにそのための装置
JP2007142547A (ja) 2005-11-15 2007-06-07 Oki Electric Ind Co Ltd 符号化方法及び復号化方法とその符号器及び復号器
RU2462770C2 (ru) * 2007-03-02 2012-09-27 Панасоник Корпорэйшн Устройство кодирования и способ кодирования
CN101110214B (zh) * 2007-08-10 2011-08-17 北京理工大学 一种基于多描述格型矢量量化技术的语音编码方法
US8515767B2 (en) * 2007-11-04 2013-08-20 Qualcomm Incorporated Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs
EP2077550B8 (en) 2008-01-04 2012-03-14 Dolby International AB Audio encoder and decoder
WO2009090876A1 (ja) * 2008-01-16 2009-07-23 Panasonic Corporation ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
US8386271B2 (en) * 2008-03-25 2013-02-26 Microsoft Corporation Lossless and near lossless scalable audio codec
GB2466670B (en) * 2009-01-06 2012-11-14 Skype Speech encoding

Also Published As

Publication number Publication date
JP2011527441A (ja) 2011-10-27
DK2301022T3 (en) 2017-12-04
PT2301022T (pt) 2017-12-12
RU2011104784A (ru) 2012-08-20
KR101592968B1 (ko) 2016-02-11
CY1119659T1 (el) 2018-04-04
PL2313887T3 (pl) 2018-01-31
KR101604774B1 (ko) 2016-03-18
US20100023323A1 (en) 2010-01-28
WO2010003254A1 (en) 2010-01-14
EP2313887B1 (en) 2017-09-13
MX2011000363A (es) 2011-06-16
PT2301021T (pt) 2017-09-22
HK1153840A1 (en) 2012-04-05
US9245532B2 (en) 2016-01-26
BRPI0915450A2 (pt) 2017-06-27
EP2313887A4 (en) 2013-11-27
USRE49363E1 (en) 2023-01-10
US20100023325A1 (en) 2010-01-28
JP5710476B2 (ja) 2015-04-30
CA2972808A1 (en) 2010-01-14
KR20110042303A (ko) 2011-04-26
CY1119494T1 (el) 2018-03-07
JP2011527442A (ja) 2011-10-27
CA2729752C (en) 2018-06-05
HK1154109A1 (en) 2012-04-13
ES2639747T3 (es) 2017-10-30
CN102089810B (zh) 2013-05-08
CA2972812A1 (en) 2010-01-14
ES2650492T3 (es) 2018-01-18
DK2301021T3 (en) 2017-09-18
PT2313887T (pt) 2017-11-14
CA2729751A1 (en) 2010-01-14
NO2313887T3 (es) 2018-02-10
EP2301022B1 (en) 2017-09-06
CA2729665A1 (en) 2010-01-14
EP2313887A1 (en) 2011-04-27
WO2010003253A1 (en) 2010-01-14
WO2010003253A8 (en) 2010-04-01
EP2301021A4 (en) 2012-08-15
BRPI0915450B1 (pt) 2020-03-10
EP2301022A1 (en) 2011-03-30
CN102089810A (zh) 2011-06-08
EP2301021B1 (en) 2017-06-21
EP2301022A4 (en) 2012-08-15
CA2729752A1 (en) 2010-01-14
US8712764B2 (en) 2014-04-29
US20100023324A1 (en) 2010-01-28
EP2301021A1 (en) 2011-03-30
CA2729751C (en) 2017-10-24
CN102119414A (zh) 2011-07-06
CA2729665E (en) 2010-01-14
CA2729665C (en) 2016-11-22
CA2972812C (en) 2018-07-24
CA2972808C (en) 2018-12-18
DK2313887T3 (da) 2017-11-13
CY1119501T1 (el) 2018-03-07
US8332213B2 (en) 2012-12-11
CN102119414B (zh) 2013-04-24
WO2010003252A1 (en) 2010-01-14
RU2509379C2 (ru) 2014-03-10
KR20110044222A (ko) 2011-04-28
RU2011104813A (ru) 2012-08-20

Similar Documents

Publication Publication Date Title
ES2645375T3 (es) Dispositivo y método de cuantificación y cuantificación inversa de filtro LPC de tasa de bits variable
US10249313B2 (en) Adaptive bandwidth extension and apparatus for the same
RU2459282C2 (ru) Масштабируемое кодирование речи и аудио с использованием комбинаторного кодирования mdct-спектра
Ragot et al. Itu-t g. 729.1: An 8-32 kbit/s scalable coder interoperable with g. 729 for wideband telephony and voice over ip
CN104126201B (zh) 用于语音编码的混合码本激励的系统和方法
Ragot et al. Low-complexity multi-rate lattice vector quantization with application to wideband TCX speech coding at 32 kbit/s
KR100647290B1 (ko) 합성된 음성의 특성을 이용하여 양자화/역양자화를선택하는 음성 부호화/복호화 장치 및 그 방법
US20100280830A1 (en) Decoder