ES2302530T3 - Procedimiento de codificacion y descodificacion de audio con flujo variable. - Google Patents
Procedimiento de codificacion y descodificacion de audio con flujo variable. Download PDFInfo
- Publication number
- ES2302530T3 ES2302530T3 ES03799688T ES03799688T ES2302530T3 ES 2302530 T3 ES2302530 T3 ES 2302530T3 ES 03799688 T ES03799688 T ES 03799688T ES 03799688 T ES03799688 T ES 03799688T ES 2302530 T3 ES2302530 T3 ES 2302530T3
- Authority
- ES
- Spain
- Prior art keywords
- parameters
- subset
- bits
- coding
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000004044 response Effects 0.000 claims abstract description 3
- 230000003595 spectral effect Effects 0.000 claims description 39
- 238000001228 spectrum Methods 0.000 claims description 18
- 230000000873 masking effect Effects 0.000 claims description 17
- 230000009466 transformation Effects 0.000 claims description 10
- 230000005236 sound signal Effects 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 230000003247 decreasing effect Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 5
- 230000008447 perception Effects 0.000 claims description 5
- 230000015572 biosynthetic process Effects 0.000 claims description 4
- 238000012937 correction Methods 0.000 claims description 4
- 238000003786 synthesis reaction Methods 0.000 claims description 4
- 230000002123 temporal effect Effects 0.000 claims description 2
- 238000013016 damping Methods 0.000 abstract 4
- 230000002787 reinforcement Effects 0.000 abstract 3
- 239000007788 liquid Substances 0.000 abstract 2
- 238000006073 displacement reaction Methods 0.000 abstract 1
- 230000011664 signaling Effects 0.000 abstract 1
- 238000011002 quantification Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 6
- 230000000295 complement effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000003179 granulation Effects 0.000 description 2
- 238000005469 granulation Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 101150012579 ADSL gene Proteins 0.000 description 1
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 1
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/002—Dynamic bit allocation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/24—Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
Abstract
Una articulación hidroelástica destinada a ensamblProcedimiento de codificación de una trama de señaar dos piezas amortiguando vibraciones transmitidal de audio digital (S) en una secuencia binaria des entre una y otra, comprendiendo dicha articulaci salida (F), en el cual un número máximo Nmax de bón una armadura exterior (1, 101, 201) y una armadits de codificación es definido por un conjunto deura interior (2, 102, 202) dispuestas una alrededo parámetros calculables según la trama de señal, cr de la otra y un elemento elásticamente deformablompuesto por un primer y un segundo subconjunto, de (6, 106) dispuesto entre dichas armaduras de manonde el procedimiento comprende las etapas siguienera que permita un desplazamiento relativo entre dtes: - calcular los parámetros del primer subconjuichas armaduras, estando dicho elemento elástico dnto, y codificar esos parámetros en un número N0 deformable conformado de manera que defina, entre de bits de codificación tal que N0 < Nmax; -determiichas armaduras, un volumen (9, 109, 209) que contnar una asignación de Nmax - N0 bits de codificaciiene un líquido de amortiguación y que comprende aón para los parámetros del segundo subconjunto; y l menos dos cámaras (17a, 17b; 117a, 117b; 217a, 2- clasificar los Nmax - N0 bits de codificación as17b) opuestas según una dirección de amortiguaciónignados en los parámetros del segundo subconjunto previamente definida (B), siendo aptas dichas cámen un orden determinado, en el cual la asignación aras para comunicar a través de al menos un canal y/o el orden de clasificación de los Nmax - N0 bitde sobrepresión (25a, 25b; 125a, 125b; 225a, 225b)s de codificación es determinado en función de los que presenta al menos una parte de sección variab parámetros codificados del primer subconjunto, elle, caracterizada por el hecho de que comprende un procedimiento comprendiendo además las etapas sig medio de reenvío de esfuerzo (24, 4a-c, 46) para uientes en respuesta a la indicación de un número engendrar, a partir de un esfuerzo (F) que tiende N de bits de la secuencia binaria de salida dispona desplazar dichas armaduras una con relación a laibles para la codificación de dicho conjunto de pa otra según dicha dirección de amortiguación, un erámetros, con N0 < N = Nmax: - seleccionar los parsfuerzo de aprieto (P, S) al nivel de dicha parte ámetros del segundo subconjunto a los cuales son ade sección variable de dicho canal de sobrepresiónsignados los N - N0 bits de codificación clasifica, para oponerse a la circulación de líquido de amodos como los primeros en dicho orden; - calcular lrtiguación a través de dicho canal de sobrepresiónos parámetros seleccionados del segundo subconjunt. o, y codificar estos parámetros para producir los N - N0 bits de codificación clasificados como los primeros; e - insertar en la secuencia de salida los N0 bits de codificación del primer subconjunto así como los N - N0 bits de codificación de los parámetros seleccionados del segundo subconjunto.
Description
Procedimiento de codificación y descodificación
de audio con flujo variable.
La presente invención se refiere a los
dispositivos de codificación y descodificación de las señales de
audio, destinados en particular a ser utilizados en aplicaciones de
transmisión o de almacenamiento de las señales de audio (palabra
y/o sonido) digitales y comprimidas.
Más específicamente, esta invención se refiere a
los sistemas de codificación de audio que tienen la capacidad de
proporcionar flujos variados, también llamados sistemas de
codificación multiflujo. Tales sistemas se distinguen de los
codificadores con flujo fijo por su capacidad de modificar el flujo
de la codificación, eventualmente durante el procesamiento, lo que
se adapta particularmente a la transmisión por redes con accesos
heterogéneos: ya sea una red de tipo IP que mezcla accesos fijos y
móviles, flujos altos (ADSL), flujos bajos (módems RTC, GPRS) o que
hacen intervenir terminales con capacidades variables (móviles,
PC...).
Se distinguen esencialmente dos categorías de
codificadores multiflujo: la de los codificadores multiflujo
"conmutables" y la de los codificadores "jerárquicos".
Los codificadores multiflujo "conmutables"
se basan en una estructura de codificación perteneciente a una
familia tecnológica (codificación temporal, o de frecuencia, por
ejemplo: CELP, sinusoidal, o por transformada), en la cual se
suministra simultáneamente una indicación de flujo al codificador y
al descodificador. El codificador utiliza esta información para
seleccionar las partes del algoritmo y las tablas pertinentes para
el flujo escogido. El descodificador opera de forma simétrica. Se
han propuesto numerosas estructuras de codificación multiflujo
conmutables para la codificación de audio. Este es el caso por
ejemplo de los codificadores móviles normalizados por la
organización 3GPP ("3rd Generation Partnership Project"), el
NB-AMR ("Narrow Band Adaptive
Multi-Rate", Especificación Técnica 3GPP TS
26.090, versión 5.0.0, junio de 2002) en banda telefónica, o el
WB-AMR ("Wide Band Adaptive
Multi-Rate", Especificación Técnica 3GPP TS
26.190, versión 5.1.0, diciembre de 2001) en banda ampliada. Estos
codificadores operan en bandas de flujos suficientemente anchas (de
4,75 a 12,2 kbit/s para el NB-AMR, y de 6,60 a
23,85 kbit/s para el WB-AMR), con una granulación
suficientemente significativa (8 flujos para el
NB-AMR y 9 para el WB-AMR). Sin
embargo, el precio a pagar por esta flexibilidad constituye una
complejidad de estructura bastante consecuente: para llegar a
albergar todos estos flujos, esos codificadores deben soportar
numerosas opciones diferentes, tablas de cuantificación variadas,
etc. La curva de los desempeños aumenta progresivamente con el
flujo, pero la progresión no es lineal y algunos flujos son por
naturaleza mejor optimizados que otros.
En los sistemas de codificación llamados
"jerárquicos", también denominados "escalables", los datos
binarios resultantes de la operación de codificación se reparten en
capas sucesivas. Una capa de base, también denominada
"núcleo", está formada por elementos binarios absolutamente
necesarios para la descodificación del tren binario, y determina
una calidad mínima de descodificación.
Las capas siguientes permiten mejorar
progresivamente la calidad de la señal resultante de la operación de
descodificación, cada nueva capa lleva nuevas informaciones, que,
explotadas por el descodificador, proporcionan a la salida una señal
con calidad creciente.
Una de las particularidades de la codificación
jerárquica es que ofrece la posibilidad de intervenir en cualquier
nivel de la cadena de transmisión o de almacenamiento para suprimir
una parte del tren binario sin tener que proporcionar una
indicación particular al codificador ni al descodificador. El
descodificador utiliza las informaciones binarias que recibe y
produce una señal de calidad correspondiente.
El dominio de las estructuras de codificación
jerárquicas ha dado lugar igualmente a numerosos trabajos. Algunas
estructuras de codificación jerárquicas funcionan a partir de un
único tipo de codificador, concebido para entregar informaciones
codificadas jerarquizadas. Cuando las capas complementarias mejoran
la calidad de la señal de salida sin modificar la banda pasante, se
habla ante todo de "codificadores imbricados" (ver por ejemplo
R.D. Iacovo y otros, "Embedded CELP Coding for Variable
Bit-Rate Between 6.4 and 9.6 kbit/s", Proc.
ICASSP 1991, pp. 681-686). Este tipo de
codificadores no permite sin embargo grandes intervalos entre el
flujo más bajo y el más alto propuestos.
La jerarquía es frecuentemente utilizada para
aumentar progresivamente la banda pasante de la señal: el núcleo
proporciona una señal en banda de base, por ejemplo telefónica
(300-3400 Hz), y las capas siguientes permiten la
codificación de bandas de frecuencias complementarias (por ejemplo,
banda ampliada hasta 7 kHz, banda HiFi hasta 20 kHz o
intermedias,...). Los codificadores de sub-bandas o
los codificadores que utilizan una transformación
tiempo-frecuencia tales como se describen en los
documentos "Subband/transform coding using filter banks designs
based on time domain aliasing cancellation" de J.P. Princen y
otros (Proc. IEEE ICASSP-87, pp.
2161-2164) y "High Quality Audio Transform Coding
at 64 kbit/s", de Y. Mahieux y otros (IEEE Trans. Commun, Vol.
42, No.11, noviembre de 1994, pp. 3010-3019), se
prestan particularmente a tales operaciones.
Por otra parte es frecuente utilizar una técnica
de codificación diferente para el núcleo y para el o los módulos
que codifican las capas complementarias, se habla entonces de
diferentes estratos de codificación, cada estrato está constituido
por un sub-codificador. El
sub-codificador del estrato de un nivel dado podrá
ya sea codificar partes de la señal no codificadas por los estratos
precedentes, o codificar el residuo de codificación del estrato
precedente, el residuo se obtiene sustrayendo la señal descodificada
de la señal original.
La ventaja de tales estructuras es que permiten
descender a flujos relativamente bajos con suficiente calidad,
produciendo a la vez una buena calidad a flujo alto. En realidad,
las técnicas utilizadas para los flujos bajos generalmente no son
eficaces para los flujos altos y viceversa.
Tales estructuras que permiten utilizar dos
tecnologías diferentes (por ejemplo CELP y transformada
tiempo-frecuencia,...) son particularmente eficaces
para barrer grandes bandas de flujos.
Sin embargo, las estructuras de codificación
jerárquicas propuestas en el arte anterior definen precisamente el
flujo asignado a cada una de las capas intermedias. Cada capa
corresponde a la codificación de algunos parámetros, y la
granulación del tren binario jerárquico depende del flujo asignado a
esos parámetros (típicamente una capa puede contener algunas
decenas de bits por trama, una trama de señal está constituida por
un cierto número de muestras de la señal en una duración dada, el
ejemplo descrito más adelante considera una trama de 960 muestras
correspondientes a 60 ms de señal).
Además, cuando la banda pasante de las señales
descodificadas puede variar según el nivel de las capas de
elementos binarios, la modificación del flujo en línea puede
producir distorsiones durante la escucha.
La presente invención tiene como objetivo en
particular proponer una solución de codificación multiflujo que
palie los inconvenientes citados en el caso de la utilización de las
codificaciones conmutables y jerárquicas existentes.
La invención propone así un procedimiento de
codificación de una trama de señal de audio digital en una secuencia
binaria de salida, en el cual un número máximo Nmax de bits de
codificación es definido para un conjunto de parámetros calculables
según la trama de señal, compuesto por un primer y un segundo
subconjuntos. El procedimiento propuesto comprende las siguientes
etapas:
- -
- calcular los parámetros del primer subconjunto, y codificar esos parámetros en un número N0 de bits de codificación tal que N0 < Nmax;
- -
- determinar una asignación de Nmax - N0 bits de codificación para los parámetros del segundo subconjunto; y
- -
- clasificar los Nmax - N0 bits de codificación asignados a los parámetros del segundo subconjunto en un orden determinado.
La asignación y/o el orden de clasificación de
los Nmax - N0 bits de codificación son determinados en función de
los parámetros codificados del primer subconjunto. El procedimiento
de codificación comprende además las etapas siguientes en respuesta
a la indicación de un número N de bits de la secuencia binaria de
salida disponibles para la codificación de dicho conjunto de
parámetros, con N0 < N \leq Nmax:
- -
- seleccionar los parámetros del segundo subconjunto a los cuales son asignados los N - N0 bits de codificación clasificados como los primeros en dicho orden;
- -
- calcular los parámetros seleccionados del segundo subconjunto, y codificar estos parámetros para producir los N - N0 bits de codificación clasificados como los primeros; e
- -
- insertar en la secuencia de salida los N0 bits de codificación del primer subconjunto así como los N - N0 bits de codificación de los parámetros seleccionados del segundo subconjunto.
El procedimiento de acuerdo con la invención
permite definir una codificación multiflujo, que funcionará al
menos en una banda correspondiente para cada trama en un número de
bits que oscila entre N0 y Nmax.
Así se puede considerar que la noción de flujos
preestablecidos que está unida a las codificaciones conmutables y
jerárquicas existentes es reemplazada por una noción de
"cursor", que permite hacer variar libremente el flujo entre
un valor mínimo (que puede corresponder eventualmente a un número de
bits N inferior a N0) y un valor máximo (correspondiente a Nmax).
Estos valores extremos están potencialmente distantes. El
procedimiento ofrece buenos desempeños en término de eficacia de
codificación cualquiera que sea el flujo escogido.
Ventajosamente, el número N de bits de la
secuencia binaria de salida es estrictamente inferior a Nmax. En
este el codificador se destaca entonces porque la asignación de los
bits empleada no hace referencia al flujo de salida efectiva del
codificador, sino a otro número Nmax convenido con el
descodificador.
Sin embargo, es posible fijar Nmax = N en
función del flujo instantáneo disponible en un canal de transmisión.
La secuencia de salida de tal codificador multiflujo conmutable
podrá ser procesada por un descodificador que no recibirá la
totalidad de la secuencia, ya que es capaz de encontrar la
estructura de los bits de codificación del segundo subconjunto
gracias al conocimiento de Nmax.
Otro caso en el que se puede tener N = Nmax es
el del almacenamiento de datos de audio en el flujo de codificación
máximo. Durante una lectura de N' bits de ese contenido almacenado
con flujo más débil, el descodificador será capaz de encontrar la
estructura de los bits de codificación del segundo subconjunto ya
que N' \geq N0.
El orden de clasificación de los bits de
codificación asignados a los parámetros del segundo subconjunto
puede ser un orden preestablecido.
En un modo de realización preferido, el orden de
clasificación de los bits de codificación asignados a los
parámetros del segundo subconjunto es variable. En particular puede
ser un orden de importancia decreciente determinado en función de
al menos los parámetros codificados del primer subconjunto. Así el
descodificador que recibirá una secuencia binaria de N' bits para
la trama, con N0 \leq N' \leq N \leq Nmax, podrá deducir este
orden de los N0 bits recibidos para la codificación del primer
subconjunto.
La asignación de los Nmax - N0 bits en la
codificación de los parámetros del segundo subconjunto puede ser
realizada de forma fija (en este caso, el orden de clasificación de
estos bits será función al menos de los parámetros codificados del
primer subconjunto).
En un modo de realización preferido, la
asignación de los Nmax - N0 bits en la codificación de los
parámetros del segundo subconjunto es una función de los parámetros
codificados del primer subconjunto.
Ventajosamente, este orden de clasificación de
los bits de codificación asignados a los parámetros del segundo
subconjunto es determinado con la ayuda de al menos un criterio
psico-acústico en función de los parámetros
codificados del primer subconjunto.
Los parámetros del segundo subconjunto pueden
referirse a bandas espectrales de la señal. En este caso, el
procedimiento comprende ventajosamente una etapa de estimación de
una envoltura espectral de la señal codificada a partir de los
parámetros codificados del primer subconjunto y una etapa de cálculo
de una curva de enmascaramiento de frecuencia aplicando un modelo
de percepción auditiva a la envoltura espectral estimada, y el
criterio psico-acústico hace referencia al nivel de
la envoltura espectral estimada con respecto a la curva de
enmascaramiento en cada banda espectral.
En un modo de realización, se ordenan los bits
de codificación en la secuencia de salida de manera que los N0 bits
de codificación del primer subconjunto preceden a los N - N0 bits de
codificación de los parámetros seleccionados del segundo
subconjunto y que los bits de codificación respectivos de los
parámetros seleccionados del segundo subconjunto aparecen allí en
el orden determinado para dichos bits de codificación. Esto permite,
en el caso en que la secuencia binaria fuera truncada, recibir la
parte más importante.
El número N puede variar de una trama a otra, en
particular en función por ejemplo de la capacidad disponible del
recurso de transmisión.
La codificación de audio en multiflujos de
acuerdo con la presente invención podrá ser utilizada según un modo
conmutable o jerárquico muy flexible, puesto que un número
cualquiera de bits a transmitir escogido libremente entre N0 y Nmax
puede ser seleccionado en todo momento, es decir trama por
trama.
La codificación de los parámetros del primer
subconjunto puede ser con flujo variable, lo que hace variar el
número de N0 de una trama a otra. Esto permite ajustar mejor la
distribución de los bits en función de las tramas a codificar.
En un modo de realización, el primer subconjunto
comprende parámetros calculados por un núcleo codificador.
Ventajosamente el núcleo codificador tiene una banda de frecuencias
de funcionamiento inferior a la banda pasante de la señal a
codificar, y el primer subconjunto comprende además niveles
energéticos de la señal de audio asociados a bandas de frecuencias
superiores a la banda de funcionamiento del núcleo codificador.
Este tipo de estructura es la de un codificador jerárquico con dos
niveles, que entrega por ejemplo a través del núcleo codificador
una señal codificada con una calidad considerada como suficiente y
que en función del flujo disponible, completa la codificación
efectuada por el núcleo codificador mediante informaciones
complementarias resultantes del procedimiento de codificación de
acuerdo con la invención.
Preferentemente, los bits de codificación del
primer subconjunto se ordenan entonces en la secuencia de salida de
manera que los bits de codificación de los parámetros calculados por
el núcleo codificador estén inmediatamente seguidos por los bits de
codificación de los niveles energéticos asociados a las bandas de
frecuencias superiores. Esto garantiza una misma banda pasante a
las tramas sucesivamente codificadas ya que el descodificador recibe
suficientes bits para disponer de las informaciones del núcleo
codificador y de los niveles energéticos codificados asociados a las
bandas de frecuencias superiores.
En un modo de realización, se estima una señal
de diferencia entre la señal a codificar y una señal de síntesis
derivada de los parámetros codificados producidos por el núcleo
codificador, y el primer subconjunto comprende además niveles
energéticos de la señal de diferencia asociados a bandas de
frecuencias incluidas en la banda de funcionamiento del núcleo
codificador.
Un segundo aspecto de la invención se refiere a
un procedimiento de descodificación de una secuencia binaria de
entrada para sintetizar una señal de audio digital correspondiente a
la descodificación de una trama codificada de acuerdo con el
procedimiento de codificación de la invención. Según este
procedimiento, un número máximo Nmax de bits de codificación es
definido para un conjunto de parámetros de descripción de una trama
de señal, compuesto por un primer y un segundo subconjuntos. La
secuencia de entrada comprende, para una trama de señal, un número
N' de bits de codificación del conjunto de parámetros, con N' \leq
Nmax. El procedimiento de descodificación de acuerdo con la
invención comprende las siguientes etapas:
- -
- extraer, de dichos N' bits de la secuencia de entrada, un número N0 de bits de codificación de los parámetros del primer subconjunto, si N0 < N';
- -
- recuperar los parámetros del primer subconjunto sobre la base de dichos N0 bits de codificación extraídos;
- -
- determinar una asignación de Nmax - N0 bits de codificación para los parámetros del segundo subconjunto; y
- -
- clasificar los Nmax - N0 bits de codificación asignados a los parámetros del segundo subconjunto en un orden determinado.
La asignación y/o el orden de clasificación de
los Nmax - N0 bits de codificación son determinados en función de
los parámetros recuperados del primer subconjunto. El procedimiento
de descodificación comprende además las etapas siguientes:
- -
- seleccionar los parámetros del segundo subconjunto a los cuales son asignados los N' - N0 bits de codificación clasificados como los primeros en dicho orden;
- -
- extraer, de dichos N' bits de la secuencia de entrada, N' - N0 bits de codificación de los parámetros seleccionados del segundo subconjunto;
- -
- recuperar los parámetros seleccionados del segundo subconjunto sobre la base de dichos N' - N0 bits de codificación extraídos; y
- -
- sintetizar la trama de señal utilizando los parámetros recuperados de los primer y segundo subconjuntos.
Este procedimiento de descodificación está
ventajosamente asociado a métodos de regeneración de los parámetros
faltantes a causa del truncamiento de la secuencia de Nmax bits
producida, virtualmente o no, por el codificador.
Un tercer aspecto de la invención se refiere a
un codificador de audio, que comprende medios de procesamiento de
la señal digital dispuestos para poner en práctica un procedimiento
de codificación de acuerdo con la invención.
Otro aspecto de la invención se refiere a un
descodificador de audio, que comprende medios de procesamiento de
la señal digital dispuestos para poner en práctica un procedimiento
de descodificación de acuerdo con la invención.
Otras particularidades y ventajas de la presente
invención aparecerán más adelante en la descripción de ejemplos de
realización no limitativos, con referencia a los dibujos anexados,
en los cuales:
- la figura 1 es un esquema sinóptico de un
ejemplo de codificador de audio de acuerdo con la invención;
- la figura 2 representa una secuencia binaria
de salida de N bits en un modo de realización de la invención;
y
- la figura 3 es un esquema sinóptico de un
descodificador de audio de acuerdo con la invención.
El codificador representado en la figura 1 tiene
una estructura jerárquica con dos estratos de codificación. Un
primer estrato de codificación 1 consiste por ejemplo en un núcleo
codificador en banda telefónica (300-3400 Hz) de
tipo CELP. En el ejemplo este codificador es considerado un
codificador G.723.1 normalizado por la UIT-T
("International Telecommunication Union") en modo fijo a 6,4
kbit/s. El mismo calcula parámetros G.723.1 conforme a la norma y
los cuantifica por medio de 192 bits de codificación P1 por trama de
30 ms.
El segundo estrato de codificación 2, que
permite aumentar la banda pasante hacia la banda ampliada
(50-7000 Hz), opera sobre el residuo de
codificación E del primer estrato, proporcionado por un sustractor 3
en el esquema de la figura 1. Un módulo de sincronización de
señales 4 retrasa la trama de señal de audio S del tiempo empleado
para el procesamiento del núcleo codificador 1. Esta salida es
dirigida al sustractor 3 que le sustrae la señal sintética S' igual
a la salida del núcleo descodificador que opera sobre la base de los
parámetros cuantificados tales como los representados por los bits
de salida P1 del núcleo codificador. Como es usual, el codificador
1 incorpora un descodificador local que proporciona S'.
La señal de audio a codificar S tiene por
ejemplo una banda pasante de 7 kHz, que es muestreada a 16 kHz. Una
trama consiste por ejemplo en 960 muestras, ya sean 60 ms de señal o
dos tramas elementales del núcleo codificador G.723.1. Como este
último opera sobre señales muestreadas a 8 kHz, la señal S es
sub-muestreada en un factor 2 a la entrada del
núcleo codificador 1. Del mismo modo, la señal sintética S' es
sobre-muestreada a 16 kHz a la salida del núcleo
codificador 1.
El flujo del primer estrato 1 es de 6,4 kbit/s
(2 x N1 = 2 x 192 = 384 bits por trama). Si el codificador tiene un
flujo máximo de 32 kbit/s (Nmax = 1920 bits por trama), el flujo
máximo del segundo estrato es de 25,6 kbit/s (1920 - 384 =
1536 bits por trama). El segundo estrato 2 funciona por ejemplo sobre tramas elementales, o subtramas, de 20 ms (320 muestras a 16 kHz).
1536 bits por trama). El segundo estrato 2 funciona por ejemplo sobre tramas elementales, o subtramas, de 20 ms (320 muestras a 16 kHz).
El segundo estrato 2 comprende un módulo 5 de
transformación tiempo-frecuencia, por ejemplo de
tipo MDCT ("Modified Discrete Cosine Transform") al cual está
dirigido el residuo E obtenido por el sustractor 3. En la práctica,
el funcionamiento de los módulos 3 y 5 representados en la figura 1
puede ser realizado efectuando las operaciones siguientes para cada
subtrama de 20 ms:
- -
- transformación MDCT de la señal de entrada S retrasada por el módulo 4, que proporciona 320 coeficientes MDCT. El espectro se limita a 7225 Hz, solo los 289 primeros coeficientes MDCT son diferentes a 0;
- -
- transformación MDCT de la señal sintética S'. Como se trata del espectro de una señal de banda telefónica, solo los 139 primeros coeficientes MDCT son diferentes a 0 (hasta 3450 Hz); y
- -
- cálculo del espectro de diferencia entre los espectros precedentes.
El espectro resultante es distribuido en varias
bandas de anchos diferentes por un módulo 6. A modo de ejemplo, la
banda pasante del código G.723.1 puede ser subdividida en 21 bandas
mientras que las frecuencias más elevadas son distribuidas en 11
bandas complementarias. En estas 11 bandas complementarias, el
residuo E es idéntico a la señal de entrada S.
Un módulo 7 efectúa la codificación de la
envoltura espectral del residuo E. Éste comienza por calcular la
energía de los coeficientes MDCT de cada banda del espectro de
diferencia. Estas energías son llamadas en lo adelante "factores
de escala". Los 32 factores de escala constituyen la envoltura
espectral de la señal de diferencia. El módulo 7 procede entonces a
su cuantificación en dos partes. La primera parte corresponde a la
banda telefónica (21 primeras bandas, de 0 a 3450 Hz), la segunda a
las bandas altas (11 últimas bandas, de 3450 a 7225 Hz). En cada
parte, el primer factor de escala es cuantificado en absoluto, y los
siguientes en diferencial, utilizando una codificación clásica de
Huffman con flujo variable. Estos 32 factores de escala son
cuantificados en un número variable N2(i) de bits P2 para
cada subtrama de rango i (i = 1, 2, 3).
Los factores de escala cuantificados son
marcados FQ en la figura 1. Los bits de cuantificación P1, P2 del
primer subconjunto constituido por parámetros cuantificados del
núcleo codificador 1 y los factores de escala cuantificados FQ
están en un número variable N0 = (2 x N1) + N2(1) +
N2(2) + N2(3). La diferencia Nmax - N0 = 1536 -
N2(1) - N2(2) - N2(3) está disponible para
cuantificar con más exactitud los espectros de las bandas.
Un módulo 8 normaliza los coeficientes MDCT
distribuidos en bandas por el módulo 6, dividiéndolos por los
factores de escala cuantificados FQ respectivamente determinados
para esas bandas. Los espectros así normalizados son proporcionados
al módulo de cuantificación 9 que utiliza un esquema de
cuantificación vectorial de tipo conocido. Los bits de
cuantificación resultantes del módulo 9 son señalados como P3 en la
figura 1.
Un multiplexor de salida 10 reúne los bits P1,
P2 y P3 resultantes de los módulos 1, 7 y 9 para formar la
secuencia binaria \Phi con salida del codificador.
De acuerdo con la invención, el número total de
bits N de la secuencia de salida que representa una trama corriente
no es necesariamente igual a Nmax. Puede ser inferior. Sin embargo,
la asignación de los bits de cuantificación a las bandas es
efectuada basándose en el número Nmax.
En el esquema de la figura 1, esta asignación es
efectuada para cada subtrama por el módulo 12 a partir del número
Nmax - N0, de los factores de escala cuantificados FQ y de una curva
de enmascaramiento espectral calculada por un módulo 11.
El funcionamiento de este último módulo 11 es el
siguiente. Inicialmente éste determina un valor cercano a la
envoltura espectral original de la señal S a partir del valor de la
señal de diferencia, tal como es cuantificado por el módulo 7, y
del que este determine con la misma resolución para la señal
sintética S' resultante del núcleo codificador. Estas dos últimas
envolturas son igualmente determinables por un descodificador que
solo dispondría de los parámetros del primer subconjunto citado
anteriormente. Así la envoltura espectral estimada de la señal S
estará también disponible en el descodificador. Luego, el módulo 11
calcula una capa de enmascaramiento espectral aplicando, de forma
conocida de por sí, un modelo de percepción auditiva banda por banda
en la envoltura espectral original estimada. Esta curva 11 ofrece
un nivel de enmascaramiento para cada banda considerada.
\newpage
El módulo 12 realiza una asignación dinámica de
los Nmax - N0 bits restantes de la secuencia \Phi entre las 3 x
32 bandas de las tres transformaciones MDCT de la señal de
diferencia. En la realización de la invención aquí expuesta, en
función de un criterio de importancia perceptiva
psico-acústica que hace referencia al nivel de la
envoltura espectral estimada en relación con la curva de
enmascaramiento en cada banda, se asigna a cada banda un flujo
proporcional a ese nivel. Se podrían utilizar otros criterios de
clasificación.
Después de esta asignación de bits, el módulo 9
sabe cuántos bits deben ser considerados para la cuantificación de
cada banda en cada subtrama.
Sin embargo, si N < Nmax, estos bits
asignados no serán necesariamente utilizados en su totalidad. Un
ordenamiento de los bits que representan las bandas es efectuado
por un módulo 13 en función de un criterio de importancia
perceptiva. El módulo 13 clasifica las 3 x 32 bandas en un orden de
importancia decreciente que puede ser el orden decreciente de las
relaciones señal-a-máscara (relación
entre la envoltura espectral estimada y la curva de enmascaramiento
en cada banda). Este orden es utilizado para la construcción de la
secuencia binaria \Phi de acuerdo con la invención.
En función del número N de bits deseado en la
secuencia \Phi para la codificación de la trama corriente, se
determinan las bandas que deben ser cuantificadas por el módulo 9
seleccionando las bandas clasificadas como primeras por el módulo
13 y reteniendo para cada banda seleccionada un número de bits tal
como es determinado por el módulo 12.
Luego los coeficientes MDCT de cada banda
seleccionada son cuantificados por el módulo 9, por ejemplo con la
ayuda de un cuantificador vectorial, conforme al número de bits
asignado, para producir un número de bits total igual a N - N0.
El multiplexor de salida 10 constituye la
secuencia binaria \Phi constituida por los N primeros bits de la
secuencia ordenada siguiente representada en la figura 2 (caso N =
Nmax):
- a/
- inicialmente los trenes binarios correspondientes a las dos tramas G.723.1 (384 bits);
- b/
- luego los bits F^{(i)}_{22}, ....., F^{(i)}_{32} de cuantificación de los factores de escala, para las tres subtramas (i = 1, 2, 3), de la 22^{ma} banda espectral (primera banda más allá de la banda telefónica) a la 32^{ma} banda (codificación de Huffman con flujo variable);
- c/
- luego los bits F^{(i)}_{1}, ....., F^{(i)}_{21} de cuantificación de los factores de escala, para las tres subtramas (i = 1, 2, 3) de la 1^{ra} banda espectral a la 21^{ma} banda (codificación de Huffman con flujo variable);
- d/
- y finalmente los índices M_{c1}, M_{c2}, ..., M_{c96} de cuantificación vectorial de las 96 bandas por orden de importancia perceptiva, de la banda más importante a la banda menos importante, respetando el orden determinado por el módulo 13.
El hecho de ubicar en primer lugar (a y b) los
parámetros G.723.1 y los factores de escala de las bandas altas
permite conservar la misma banda pasante para la señal que puede ser
restituida por el descodificador cualquiera que sea el flujo
efectivo más allá de un valor mínimo correspondiente a la recepción
de estos grupos a y b. Este valor mínimo, suficiente para la
codificación de Huffman de los 3 x 11 = 33 factores de escala de las
bandas altas además de la codificación G.723.1, es por ejemplo de 8
kbit/s.
El procedimiento de codificación precedente
permite una descodificación de la trama si el descodificador recibe
N' bits con N0 \leq N' \leq N. Este número N' será generalmente
variable de una trama a otra.
Un descodificador de acuerdo con la invención,
correspondiente a este ejemplo, es ilustrado por la figura 3. Un
demultiplexor 20 separa la secuencia de bits recibidos \Phi' para
extraerle los bits de codificación P1 y P2. Los 384 bits P1 son
proporcionados al núcleo descodificador 21 de tipo G.723.1 para que
éste sintetice dos tramas de la señal de base S' en banda
telefónica. Los bits P2 son descodificados según el algoritmo de
Huffman por un módulo 22 que recupera así los factores de escalas
cuantificados FQ para cada una de las 3 subtramas.
Un módulo 23 de cálculo de la curva de
enmascaramiento, idéntico a aquel 11 del codificador de la figura 1,
recibe la señal de base S' y los factores de escalas cuantificados
FQ y produce los niveles de enmascaramiento espectral para cada una
de las 96 bandas. A partir de estos niveles de enmascaramiento, de
los factores de escalas cuantificados FQ y del conocimiento del
número Nmax (así como del número N0 que se deduce de la
descodificación de Huffman de los bits P2 por el módulo 22), un
módulo 24 determina una asignación de bits de la misma manera que
el módulo 12 de la figura 1. Además, un módulo 25 procede al
ordenamiento de las bandas de acuerdo con el mismo criterio de
clasificación que el módulo 13 descrito con referencia a la figura
1.
De acuerdo con las informaciones proporcionadas
por los módulos 24 y 25, el módulo 26 extrae los bits P3 de la
secuencia de entrada \Phi' y sintetiza los coeficientes MDCT
normalizados relativos a las bandas representadas en la secuencia
\Phi'. Llegado el caso (N' < Nmax), los coeficientes MDCT
normalizados relativos a las bandas faltantes pueden además ser
sintetizados por interpolación o extrapolación como es descrito más
adelante (módulo 27). Estas bandas faltantes pueden haber sido
eliminadas por el codificador a causa de un truncamiento a N <
Nmax, o pueden haber sido eliminadas durante la transmisión (N' <
N).
Los coeficientes MDCT normalizados, sintetizados
por el módulo 26 y/o el módulo 27, son multiplicados por sus
respectivos factores de escala cuantificados (multiplicador 28)
antes de ser presentados al módulo 29 que efectúa la transformación
frecuencia-tiempo inversa de la transformación MDCT
operada por el módulo 5 del codificador. La señal temporal de
corrección que resulta de esto es adicionada a la señal sintética S'
entregada por el núcleo descodificador 21 (adicionador 30) para
producir la señal de audio de salida \hat{S} del
descodificador.
Se debe señalar que el descodificador podrá
sintetizar una señal \hat{S} incluso en casos en que no reciba los
N0 primeros bits de la secuencia.
Le basta con recibir los 2 x N1 bits
correspondientes a la parte a de la enumeración precedente, estando
entonces la descodificación en un modo "degradado". Este modo
degradado no solo utiliza la síntesis MDCT para obtener la señal
descodificada. Para asegurar la conmutación sin ruptura entre este
modo y los otros modos, el descodificador efectúa tres análisis
MDCT seguidos por tres síntesis MDCT, lo que permite la
actualización de las memorias de la transformación MDCT. La señal
de salida contiene una señal de calidad de banda telefónica. Incluso
si los 2 x N1 primeros bits no son recibidos, el descodificador
considera la trama correspondiente como borrada y puede utilizar un
algoritmo conocido de encubrimiento de las tramas borradas.
Si el descodificador recibe los 2 x N1 bits
correspondientes a la parte a más bits de la parte b (bandas altas
de las tres envolturas espectrales), puede comenzar a sintetizar una
señal en banda ampliada. En particular puede proceder de la
siguiente manera.
- 1/
- El módulo 22 recupera las partes de las tres envolturas espectrales recibidas.
- 2/
- Las bandas no recibidas tienen sus factores de escala temporalmente colocados en cero.
- 3/
- Las partes bajas de las envolturas espectrales son calculadas a partir de los análisis MDCT efectuados en la señal obtenida después de la descodificación G.723.1, y el módulo 23 calcula las tres curvas de enmascaramiento en las envolturas así obtenidas.
- 4/
- La envoltura espectral es corregida para regularizarla evitando las lagunas producto de las bandas no recibidas: los valores nulos en la parte alta de las envolturas espectrales FQ son por ejemplo reemplazados por la centésima parte del valor de la curva de enmascaramiento calculado anteriormente, de manera que estos permanezcan inaudibles. El espectro completo de las bandas bajas y la envoltura espectral de las bandas altas son conocidos en esta fase.
- 5/
- El módulo 27 genera entonces el espectro alto. La estructura precisa de estas bandas es generada por reflexión de la estructura precisa de su proximidad conocida antes de la ponderación por los factores de escala (multiplicadores 28). En el caso en que ninguno de los bits P3 sea recibido, la "proximidad conocida" corresponde al espectro de la señal S' producida por el núcleo descodificador G.723.1. Su "reflexión" puede consistir en volver a copiar el valor del espectro MDCT normalizado, con eventualmente una atenuación de sus variaciones proporcional al alejamiento de esa "proximidad conocida".
- 6/
- Después de la transformación MDCT inversa (29) y de la adición (30) de la señal de corrección resultante en la señal de salida del núcleo descodificador, se obtiene la señal sintetizada en banda ampliada.
En el caso en que el descodificador reciba
igualmente al menos una parte de la envoltura espectral baja de la
señal de diferencia (parte c), puede o no tener en cuenta esta
información para refinar la envoltura espectral en la etapa 3.
Si el descodificador 10 recibe suficientes bits
P3 para descodificar al menos los coeficientes MDCT de la banda más
importante, clasificada como la primera en la parte d de la
secuencia, entonces el módulo 26 recupera algunos de los
coeficientes MDCT normalizados según la asignación y el ordenamiento
indicados por los módulos 24 y 25. Por consiguiente estos
coeficientes MDCT no tienen que ser interpolados como en la etapa 5
precedente. Para las otras bandas, el proceso de las etapas 1 a la
6 es aplicable por el módulo 27 de la misma manera que
anteriormente, permitiendo el conocimiento de los coeficientes MDCT
recibidos para algunas bandas una interpolación más confiable en la
etapa 5.
Las bandas no recibidas pueden variar de una
subtrama MDCT a la siguiente. La "proximidad conocida" de una
banda que falta puede corresponder a la misma banda en otra subtrama
en la que no falte, y/o a una o varias bandas más cercanas en el
dominio de frecuencia durante la misma subtrama. Igualmente es
posible regenerar un espectro MDCT que falte en una banda para una
subtrama haciendo una suma ponderada de contribuciones evaluadas a
partir de varias bandas/subtramas de "proximidad conocida".
En la medida en que el flujo efectivo de N' bits
por trama sitúe arbitrariamente el último bit de una trama dada, el
último parámetro codificado transmitido puede, según los casos, ser
transmitido completa o parcialmente. Entonces pueden presentarse
dos casos:
- -
- o bien la estructura de codificación adoptada permite explotar la información parcial recibida (caso de cuantificadores por escala, o de cuantificación vectorial con diccionarios compartimentados),
- -
- o bien la misma no lo permite y el parámetro no recibido completamente se procesa como los otros parámetros no recibidos. Hay que señalar que, para este último caso, si el orden de los bits varía en cada trama, el número de bits así perdidos es variable y la selección de N' bits producirá como promedio, en el conjunto de las tramas descodificadas, una mejor calidad que la que se obtendría con un número más pequeño de bits.
Claims (36)
1. Procedimiento de codificación de una trama
de señal de audio digital (S) en una secuencia binaria de salida
(\Phi), en el cual un número máximo Nmax de bits de codificación
es definido por un conjunto de parámetros calculables según la
trama de señal, compuesto por un primer y un segundo subconjunto,
donde el procedimiento comprende las etapas siguientes:
- -
- calcular los parámetros del primer subconjunto, y codificar esos parámetros en un número N0 de bits de codificación tal que N0 < Nmax;
- -
- determinar una asignación de Nmax - N0 bits de codificación para los parámetros del segundo subconjunto; y
- -
- clasificar los Nmax - N0 bits de codificación asignados en los parámetros del segundo subconjunto en un orden determinado,
en el cual la asignación y/o el orden de
clasificación de los Nmax - N0 bits de codificación es determinado
en función de los parámetros codificados del primer subconjunto, el
procedimiento comprendiendo además las etapas siguientes en
respuesta a la indicación de un número N de bits de la secuencia
binaria de salida disponibles para la codificación de dicho
conjunto de parámetros, con N0 < N \leq Nmax:
- -
- seleccionar los parámetros del segundo subconjunto a los cuales son asignados los N - N0 bits de codificación clasificados como los primeros en dicho orden;
- -
- calcular los parámetros seleccionados del segundo subconjunto, y codificar estos parámetros para producir los N - N0 bits de codificación clasificados como los primeros; e
- -
- insertar en la secuencia de salida los N0 bits de codificación del primer subconjunto así como los N - N0 bits de codificación de los parámetros seleccionados del segundo subconjunto.
2. Procedimiento de acuerdo con la
reivindicación 1, en el cual el orden de clasificación de los bits
de codificación asignados a los parámetros del segundo subconjunto
es variable de una trama a otra.
3. Procedimiento de acuerdo con la
reivindicación 1 o 2, en el cual N < Nmax.
4. Procedimiento de acuerdo con cualquiera de
las reivindicaciones precedentes, en el cual el orden de
clasificación de los bits de codificación asignados a los
parámetros del segundo subconjunto es un orden de importancia
decreciente determinado en función de al menos los parámetros
codificados del primer subconjunto.
5. Procedimiento de acuerdo con la
reivindicación 4, en el cual el orden de clasificación de los bits
de codificación asignados a los parámetros del segundo subconjunto
es determinado con la ayuda de al menos un criterio
psico-acústico en función de los parámetros
codificados del primer subconjunto.
6. Procedimiento de acuerdo con la
reivindicación 5, en el cual los parámetros del segundo subconjunto
se refieren a bandas espectrales de la señal, en el cual se estima
una envoltura espectral de la señal codificada a partir de los
parámetros codificados del primer subconjunto, en el cual se calcula
una curva de enmascaramiento de frecuencia aplicando un modelo de
percepción auditiva en la envoltura espectral estimada, y en el cual
el criterio psico-acústico hace referencia al nivel
de la envoltura espectral estimada con respecto a la curva de
enmascaramiento en cada banda espectral.
7. Procedimiento de acuerdo con cualquiera de
las reivindicaciones 4 a 6, en el cual Nmax = N.
8. Procedimiento de acuerdo con cualquiera de
las reivindicaciones precedentes, en el cual se ordenan los bits de
codificación en la secuencia de salida de manera tal que los N0 bits
de codificación del primer subconjunto preceden a los N - N0 bits
de codificación de los parámetros seleccionados del segundo
subconjunto y que los bits de codificación respectivos de los
parámetros seleccionados del segundo subconjunto aparecen en el
orden determinado para dichos bits de codificación.
9. Procedimiento de acuerdo con cualquiera de
las reivindicaciones precedentes, en el cual el número N varía de
una trama a otra.
10. Procedimiento de acuerdo con cualquiera de
las reivindicaciones precedentes, en el cual la codificación de los
parámetros del primer subconjunto es con flujo variable, lo que hace
variar el número N0 de una trama a otra.
11. Procedimiento de acuerdo con cualquiera de
las reivindicaciones precedentes, en el cual el primer subconjunto
comprende parámetros calculados por un núcleo codificador (1).
12. Procedimiento de acuerdo con la
reivindicación 11, en el cual el núcleo codificador (1) tiene una
banda de frecuencias con funcionamiento inferior a la banda pasante
de la señal a codificar, y en el cual el primer subconjunto
comprende además niveles energéticos de la señal de audio asociados
a bandas de frecuencias superiores a la banda de funcionamiento del
núcleo codificador.
13. Procedimiento de acuerdo con cada una de
las reivindicaciones 8 y 12, en el cual se ordenan los bits de
codificación del primer subconjunto en la secuencia de salida de
manera que los bits de codificación de los parámetros calculados
por el núcleo codificador estén inmediatamente seguidos por los bits
de codificación de los niveles energéticos asociados a las bandas
de frecuencias superiores.
14. Procedimiento de acuerdo con cualquiera de
las reivindicaciones 11 a 13, en el cual se estima una señal de
diferencia entre la señal a codificar y una señal de síntesis
derivada de los parámetros codificados producidos por el núcleo
codificador, y en el cual el primer subconjunto comprende además
niveles energéticos de la señal de diferencia asociados a bandas de
frecuencias incluidas en la banda de funcionamiento del núcleo
codificador.
15. Procedimiento de acuerdo con la
reivindicación 8 y cualquiera de las reivindicaciones 12 a 14, en el
cual se ordenan los bits de codificación del primer subconjunto en
la secuencia de salida de manera que los bits de codificación de
los parámetros calculados por el núcleo codificador (1) estén
seguidos por los bits de codificación de los niveles energéticos
asociados a las bandas de frecuencias.
16. Procedimiento de descodificación de una
secuencia binaria de entrada (\Phi') para sintetizar una señal de
audio digital (\hat{S}), en el cual un número máximo Nmax de bits
de codificación es definido para un conjunto de parámetros de
descripción de una trama de señal, compuesto por un primer y un
segundo subconjuntos, donde la secuencia de entrada comprende, para
una trama de señal, un número N' de bits de codificación de dicho
conjunto de parámetros, con N' \leq Nmax, donde el procedimiento
comprende las etapas siguientes:
- -
- extraer, de dichos N' bits de la secuencia de entrada, un número N0 de bits de codificación de los parámetros del primer subconjunto, si N0 < N';
- -
- recuperar los parámetros del primer subconjunto sobre la base de dichos N0 bits de codificación extraídos;
- -
- determinar una asignación de Nmax - N0 bits de codificación para los parámetros del segundo subconjunto; y
- -
- clasificar los Nmax - N0 bits de codificación asignados a los parámetros del segundo subconjunto en un orden determinado,
\vskip1.000000\baselineskip
en el cual la asignación y/o el orden de
clasificación de los Nmax - N0 bits de codificación son determinados
en función de los parámetros recuperados del primer subconjunto,
donde el procedimiento comprende además las etapas siguientes:
- -
- seleccionar los parámetros del segundo subconjunto a los cuales son asignados los N' - N0 bits de codificación clasificados como los primeros en dicho orden;
- -
- extraer, de dichos N' bits de la secuencia de entrada, N' - N0 bits de codificación de los parámetros seleccionados del segundo subconjunto;
- -
- recuperar los parámetros seleccionados del segundo subconjunto sobre la base de dichos N' - N0 bits de codificación extraídos; y
- -
- sintetizar la trama de señal utilizando los parámetros recuperados de los primer y segundo subconjuntos.
17. Procedimiento de acuerdo con la
reivindicación 16, en el cual el orden de clasificación de los bits
de codificación asignados a los parámetros del segundo subconjunto
es variable de una trama a otra.
18. Procedimiento de acuerdo con la
reivindicación 16 o 17, en el cual N' < Nmax.
19. Procedimiento de acuerdo con cualquiera de
las reivindicaciones 16 a 18, en el cual el orden de clasificación
de los bits de codificación asignados a los parámetros del segundo
subconjunto es un orden de importancia decreciente determinado en
función de al menos los parámetros recuperados del primer
subconjunto.
20. Procedimiento de acuerdo con la
reivindicación 19, en el cual el orden de clasificación de los bits
de codificación asignados a los parámetros del segundo subconjunto
es determinado con la ayuda de al menos un criterio
psico-acústico en función de los parámetros
recuperados del primer subconjunto.
\newpage
21. Procedimiento de acuerdo con la
reivindicación 20, en el cual los parámetros del segundo subconjunto
se refieren a bandas espectrales de la señal, en el cual se estima
una envoltura espectral de la señal a partir de los parámetros
recuperados del primer subconjunto, en el cual se calcula una curva
de enmascaramiento de frecuencia aplicando un modelo de percepción
auditiva a la envoltura espectral estimada, en el cual el criterio
psico-acústico hace referencia al nivel de la
envoltura espectral estimada en relación con la curva de
enmascaramiento en cada banda espectral.
22. Procedimiento de acuerdo con cualquiera de
las reivindicaciones 16 a 21, en el cual los N0 bits de codificación
de los parámetros del primer subconjunto son extraídos de los N'
bits recibidos de las posiciones de la secuencia que preceden a las
posiciones de donde son extraídos los N' - N0 bits de codificación
de los parámetros seleccionados del segundo subconjunto.
23. Procedimiento de acuerdo con cualquiera de
las reivindicaciones 16 a 22, en el cual, para sintetizar la trama
de señal, se estiman parámetros no seleccionados del segundo
subconjunto por interpolación a partir de al menos parámetros
seleccionados recuperados sobre la base de dichos N' - N0 bits de
codificación extraídos.
24. Procedimiento de acuerdo con cualquiera de
las reivindicaciones 16 a 23, en el cual el primer subconjunto
comprende parámetros de entrada de un núcleo descodificador
(21).
25. Procedimiento de acuerdo con la
reivindicación 24, en el cual el núcleo descodificador (21) tiene
una banda de frecuencias de funcionamiento inferior a la banda
pasante de la señal a sintetizar, y en el cual el primer
subconjunto comprende además niveles energéticos de la señal de
audio asociados a bandas de frecuencias superiores a la banda de
funcionamiento del núcleo descodificador.
26. Procedimiento de acuerdo con cada una de
las reivindicaciones 22 y 25, en el cual los bits de codificación
del primer subconjunto en la secuencia de entrada son ordenados de
tal manera que los bits de codificación de los parámetros de
entrada del núcleo descodificador (21) estén inmediatamente seguidos
por bits de codificación de los niveles energéticos asociados a las
bandas de frecuencias superiores.
27. Procedimiento de acuerdo con la
reivindicación 26, que comprende las etapas siguientes si los N'
bits de la secuencia de entrada (\Phi') se limitan a los bits de
codificación de los parámetros de entrada del núcleo descodificador
(21) y a una parte al menos de los bits de codificación de los
niveles energéticos asociados a las bandas de frecuencias
superiores:
- -
- extraer de la secuencia de entrada los bits de codificación de los parámetros de entrada del núcleo descodificador y dicha parte de los bits de codificación de los niveles energéticos;
- -
- sintetizar una señal de base (S') en el núcleo descodificador y recuperar niveles energéticos asociados a las bandas de frecuencias superiores sobre la base de los bits de codificación extraídos;
- -
- calcular un espectro de la señal de base;
- -
- destinar un nivel energético a cada banda superior a la cual está asociado un nivel energético no codificado en la secuencia de entrada;
- -
- sintetizar componentes espectrales para cada banda de frecuencias superior a partir del nivel energético correspondiente y del espectro de la señal de base en al menos una banda de dicho espectro;
- -
- aplicar una transformación hacia el dominio temporal a los componentes espectrales sintetizados para obtener una señal de corrección de la señal de base; y
- -
- adicionar la señal de base y la señal de corrección para sintetizar la trama de señal.
28. Procedimiento de acuerdo con la
reivindicación 27, en el cual el nivel energético destinado a una
banda superior a la cual está asociado un nivel energético no
codificado en la secuencia de entrada es una fracción de un nivel
de enmascaramiento de percepción calculado según el espectro de la
señal de base y los niveles energéticos recuperados sobre la base de
los bits de codificación extraídos.
29. Procedimiento de acuerdo con cualquiera de
las reivindicaciones 24 a 28, en el cual se sintetiza una señal de
base (S') en el núcleo descodificador, y en el cual el primer
subconjunto comprende además niveles energéticos de una señal de
diferencia entre la señal a sintetizar y la señal de base asociados
a bandas de frecuencias incluidas en la banda de funcionamiento del
núcleo codificador.
30. Procedimiento de acuerdo con cualquiera de
las reivindicaciones 25, 26 y 29, en el cual, para N0 < N' <
Nmax, se estiman parámetros no seleccionados del segundo subconjunto
relativos a componentes espectrales en bandas de frecuencias con la
ayuda de un espectro calculado de la señal de base y/o de los
parámetros seleccionados recuperados sobre la base de dichos N' -
N0 bits de codificación extraídos.
31. Procedimiento de acuerdo con la
reivindicación 30, en el cual los parámetros no seleccionados del
segundo subconjunto en una banda de frecuencias son estimados con
la ayuda de una proximidad espectral de dicha banda, determinada
sobre la base de N' bits de codificación de la secuencia de
entrada.
32. Procedimiento de acuerdo con la
reivindicación 22 y cualquiera de las reivindicaciones 25 a 31, en
el cual los bits de codificación de los parámetros de entrada del
núcleo descodificador (21) son extraídos de los N' bits recibidos
en las posiciones de la secuencia que preceden a las posiciones de
donde son extraídos los bits de codificación de los niveles
energéticos asociados a las bandas de frecuencias.
33. Procedimiento de acuerdo con cualquiera de
las reivindicaciones 16 a 32, en el cual el número N' varía de una
trama a otra.
34. Procedimiento de acuerdo con cualquiera de
las reivindicaciones 16 a 33, en el cual el número N0 varía de una
trama a otra.
35. Codificador de audio, que comprende medios
de procesamiento de señal digital dispuestos para poner en práctica
un procedimiento de codificación de acuerdo con cualquiera de las
reivindicaciones 1 a 15.
36. Descodificador de audio, que comprende
medios de procesamiento de señal digital dispuestos para poner en
práctica un procedimiento de descodificación de acuerdo con
cualquiera de las reivindicaciones de la 16 a 34.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0300164A FR2849727B1 (fr) | 2003-01-08 | 2003-01-08 | Procede de codage et de decodage audio a debit variable |
FR0300164 | 2003-01-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2302530T3 true ES2302530T3 (es) | 2008-07-16 |
Family
ID=32524763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES03799688T Expired - Lifetime ES2302530T3 (es) | 2003-01-08 | 2003-12-22 | Procedimiento de codificacion y descodificacion de audio con flujo variable. |
Country Status (15)
Country | Link |
---|---|
US (1) | US7457742B2 (es) |
EP (1) | EP1581930B1 (es) |
JP (1) | JP4390208B2 (es) |
KR (1) | KR101061404B1 (es) |
CN (1) | CN1735928B (es) |
AT (1) | ATE388466T1 (es) |
AU (1) | AU2003299395B2 (es) |
BR (1) | BR0317954A (es) |
CA (1) | CA2512179C (es) |
DE (1) | DE60319590T2 (es) |
ES (1) | ES2302530T3 (es) |
FR (1) | FR2849727B1 (es) |
MX (1) | MXPA05007356A (es) |
WO (1) | WO2004070706A1 (es) |
ZA (1) | ZA200505257B (es) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1782419A1 (en) * | 2004-08-17 | 2007-05-09 | Koninklijke Philips Electronics N.V. | Scalable audio coding |
EP1806737A4 (en) * | 2004-10-27 | 2010-08-04 | Panasonic Corp | TONE CODIER AND TONE CODING METHOD |
KR100647336B1 (ko) | 2005-11-08 | 2006-11-23 | 삼성전자주식회사 | 적응적 시간/주파수 기반 오디오 부호화/복호화 장치 및방법 |
WO2007119368A1 (ja) | 2006-03-17 | 2007-10-25 | Matsushita Electric Industrial Co., Ltd. | スケーラブル符号化装置およびスケーラブル符号化方法 |
US7930173B2 (en) | 2006-06-19 | 2011-04-19 | Sharp Kabushiki Kaisha | Signal processing method, signal processing apparatus and recording medium |
JP4827661B2 (ja) * | 2006-08-30 | 2011-11-30 | 富士通株式会社 | 信号処理方法及び装置 |
US20080243518A1 (en) * | 2006-11-16 | 2008-10-02 | Alexey Oraevsky | System And Method For Compressing And Reconstructing Audio Files |
EP1927981B1 (en) * | 2006-12-01 | 2013-02-20 | Nuance Communications, Inc. | Spectral refinement of audio signals |
JP4871894B2 (ja) * | 2007-03-02 | 2012-02-08 | パナソニック株式会社 | 符号化装置、復号装置、符号化方法および復号方法 |
JP4708446B2 (ja) | 2007-03-02 | 2011-06-22 | パナソニック株式会社 | 符号化装置、復号装置およびそれらの方法 |
US7925783B2 (en) * | 2007-05-23 | 2011-04-12 | Microsoft Corporation | Transparent envelope for XML messages |
JP5547081B2 (ja) * | 2007-11-02 | 2014-07-09 | 華為技術有限公司 | 音声復号化方法及び装置 |
EP2398017B1 (en) * | 2009-02-16 | 2014-04-23 | Electronics and Telecommunications Research Institute | Encoding/decoding method for audio signals using adaptive sinusoidal coding and apparatus thereof |
EP2249333B1 (en) * | 2009-05-06 | 2014-08-27 | Nuance Communications, Inc. | Method and apparatus for estimating a fundamental frequency of a speech signal |
FR2947945A1 (fr) * | 2009-07-07 | 2011-01-14 | France Telecom | Allocation de bits dans un codage/decodage d'amelioration d'un codage/decodage hierarchique de signaux audionumeriques |
FR2947944A1 (fr) * | 2009-07-07 | 2011-01-14 | France Telecom | Codage/decodage perfectionne de signaux audionumeriques |
EP2490216B1 (en) * | 2009-10-14 | 2019-04-24 | III Holdings 12, LLC | Layered speech coding |
US9236063B2 (en) | 2010-07-30 | 2016-01-12 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for dynamic bit allocation |
US9208792B2 (en) | 2010-08-17 | 2015-12-08 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for noise injection |
CN101950562A (zh) * | 2010-11-03 | 2011-01-19 | 武汉大学 | 基于音频关注度的分级编码方法及系统 |
NO2669468T3 (es) * | 2011-05-11 | 2018-06-02 | ||
KR102053900B1 (ko) | 2011-05-13 | 2019-12-09 | 삼성전자주식회사 | 노이즈 필링방법, 오디오 복호화방법 및 장치, 그 기록매체 및 이를 채용하는 멀티미디어 기기 |
US9905236B2 (en) | 2012-03-23 | 2018-02-27 | Dolby Laboratories Licensing Corporation | Enabling sampling rate diversity in a voice communication system |
KR102222838B1 (ko) | 2014-04-17 | 2021-03-04 | 보이세지 코포레이션 | 다른 샘플링 레이트들을 가진 프레임들간의 전환시 사운드 신호의 선형 예측 인코딩 및 디코딩을 위한 방법, 인코더 및 디코더 |
CN106992786B (zh) * | 2017-03-21 | 2020-07-07 | 深圳三星通信技术研究有限公司 | 一种基带数据压缩方法、装置和系统 |
KR102258814B1 (ko) * | 2018-10-04 | 2021-07-14 | 주식회사 엘지에너지솔루션 | Bms 간 통신 시스템 및 방법 |
KR102352240B1 (ko) * | 2020-02-14 | 2022-01-17 | 국방과학연구소 | Amr 음성데이터의 압축포맷정보를 추정하는 방법 및 그 장치 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8421498D0 (en) * | 1984-08-24 | 1984-09-26 | British Telecomm | Frequency domain speech coding |
DE19706516C1 (de) * | 1997-02-19 | 1998-01-15 | Fraunhofer Ges Forschung | Verfahren und Vorricntungen zum Codieren von diskreten Signalen bzw. zum Decodieren von codierten diskreten Signalen |
US6016111A (en) * | 1997-07-31 | 2000-01-18 | Samsung Electronics Co., Ltd. | Digital data coding/decoding method and apparatus |
FR2813722B1 (fr) * | 2000-09-05 | 2003-01-24 | France Telecom | Procede et dispositif de dissimulation d'erreurs et systeme de transmission comportant un tel dispositif |
US7620545B2 (en) * | 2003-07-08 | 2009-11-17 | Industrial Technology Research Institute | Scale factor based bit shifting in fine granularity scalability audio coding |
-
2003
- 2003-01-08 FR FR0300164A patent/FR2849727B1/fr not_active Expired - Fee Related
- 2003-12-22 CA CA2512179A patent/CA2512179C/fr not_active Expired - Lifetime
- 2003-12-22 ES ES03799688T patent/ES2302530T3/es not_active Expired - Lifetime
- 2003-12-22 ZA ZA200505257A patent/ZA200505257B/en unknown
- 2003-12-22 JP JP2004567790A patent/JP4390208B2/ja not_active Expired - Lifetime
- 2003-12-22 EP EP03799688A patent/EP1581930B1/fr not_active Expired - Lifetime
- 2003-12-22 US US10/541,340 patent/US7457742B2/en active Active
- 2003-12-22 AU AU2003299395A patent/AU2003299395B2/en not_active Expired
- 2003-12-22 MX MXPA05007356A patent/MXPA05007356A/es active IP Right Grant
- 2003-12-22 AT AT03799688T patent/ATE388466T1/de not_active IP Right Cessation
- 2003-12-22 CN CN2003801084396A patent/CN1735928B/zh not_active Expired - Lifetime
- 2003-12-22 DE DE60319590T patent/DE60319590T2/de not_active Expired - Lifetime
- 2003-12-22 KR KR1020057012791A patent/KR101061404B1/ko active IP Right Grant
- 2003-12-22 WO PCT/FR2003/003870 patent/WO2004070706A1/fr active IP Right Grant
- 2003-12-22 BR BR0317954-0A patent/BR0317954A/pt not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JP4390208B2 (ja) | 2009-12-24 |
MXPA05007356A (es) | 2005-09-30 |
WO2004070706A1 (fr) | 2004-08-19 |
US7457742B2 (en) | 2008-11-25 |
JP2006513457A (ja) | 2006-04-20 |
FR2849727A1 (fr) | 2004-07-09 |
ATE388466T1 (de) | 2008-03-15 |
EP1581930B1 (fr) | 2008-03-05 |
AU2003299395B2 (en) | 2010-03-04 |
CA2512179C (fr) | 2013-04-16 |
DE60319590T2 (de) | 2009-03-26 |
US20060036435A1 (en) | 2006-02-16 |
AU2003299395A1 (en) | 2004-08-30 |
CA2512179A1 (fr) | 2004-08-19 |
KR20050092107A (ko) | 2005-09-20 |
DE60319590D1 (de) | 2008-04-17 |
FR2849727B1 (fr) | 2005-03-18 |
CN1735928A (zh) | 2006-02-15 |
ZA200505257B (en) | 2006-09-27 |
CN1735928B (zh) | 2010-05-12 |
BR0317954A (pt) | 2005-11-29 |
EP1581930A1 (fr) | 2005-10-05 |
KR101061404B1 (ko) | 2011-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2302530T3 (es) | Procedimiento de codificacion y descodificacion de audio con flujo variable. | |
KR101238583B1 (ko) | 비트 스트림 처리 방법 | |
RU2522020C1 (ru) | Способ и система иерархического кодирования и декодирования звуковой частоты, способ иерархического кодирования и декодирования частоты для переходного сигнала | |
JP5474088B2 (ja) | スケーラブルエンコーダでのノイズ変換を伴う音声デジタル信号の符号化 | |
KR100732659B1 (ko) | 가변 비트 레이트 광대역 스피치 음성 코딩시의 이득양자화를 위한 방법 및 장치 | |
US8457952B2 (en) | Packet loss concealment for a sub-band predictive coder based on extrapolation of excitation waveform | |
ES2266003T3 (es) | Suavizador de la ganancia en un descodificador de señal de habla y audio de banda ancha. | |
KR101180202B1 (ko) | 다중채널 오디오 코딩 시스템 내에 인핸스먼트 레이어를 생성하기 위한 방법 및 장치 | |
ES2628127T3 (es) | Cuantificador avanzado | |
NO20171179A1 (no) | System og metode for etterbehandling av spektrale verdier, koder og dekoder for lydsignaler | |
CN103368682B (zh) | 信号编码和解码的方法和设备 | |
JPH06511320A (ja) | 可変速度ボコーダ | |
JP2017223987A (ja) | 高周波帯域信号を予測するための方法、符号化デバイス、および復号デバイス | |
US20200227061A1 (en) | Signal codec device and method in communication system | |
Geiser et al. | Backwards compatible wideband telephony in mobile networks: CELP watermarking and bandwidth extension | |
EP2490216B1 (en) | Layered speech coding | |
ES2898281T3 (es) | Control de ancho de banda en codificadores y/o decodificadores | |
KR100467326B1 (ko) | 추가 비트 할당 기법을 이용한 음성 부호화 및 복호화를위한 송수신기 | |
US20100145712A1 (en) | Coding of digital audio signals | |
WO2005045808A1 (en) | Harmonic noise weighting in digital speech coders | |
Bernard | Source-channel coding of speech | |
BRPI0317954B1 (pt) | Variable rate audio coding and decoding process |