ES2302530T3 - Procedimiento de codificacion y descodificacion de audio con flujo variable. - Google Patents

Procedimiento de codificacion y descodificacion de audio con flujo variable. Download PDF

Info

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
Application number
ES03799688T
Other languages
English (en)
Inventor
Balazs Kovesi
Dominique Massaloux
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.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Application granted granted Critical
Publication of ES2302530T3 publication Critical patent/ES2302530T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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

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).
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.
ES03799688T 2003-01-08 2003-12-22 Procedimiento de codificacion y descodificacion de audio con flujo variable. Expired - Lifetime ES2302530T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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