Codificador de audio, decodificador de audio, método para codificar e información de audio, método para decodificar una información de audio y programa de computación utilizando una modificación de una representación de un numero de un valor de contexto numérico previo.

Un decodificador de audio (200;800) para la provisión de una información de audio decodificada

(212;812) sobre la base de una información de audio codificada (210;810), en donde el decodificador de audio comprende:

un decodificador aritmético (230;820) para la provisión de una pluralidad de valores espectrales decodificados (232;822) sobre la base de una representación aritméticamente codificada (222;821) de los valores espectrales comprendidos en la información de audio codificada; y

un convertidor del dominio de la frecuencia al dominio del tiempo (260;830) para la provisión de una representación de audio en el dominio del tiempo (262;812) utilizando los valores espectrales (232;822), para obtener la información de audio decodificada (212;812);

en donde el decodificador aritmético (230;820) está configurado para seleccionar una regla de mapeo (297;cum_freq[]) que describe un mapeo de un valor de código (value) de la representación aritméticamente codificada (222;821) de los valores espectrales sobre un código de símbolo (symbol) representando uno o más de los valores espectrales decodificados o por lo menos una porción de uno o más de los valores espectrales decodificados dependiendo de un estado del contexto descripto por un valor numérico de contexto actual (c); y

en donde el decodificador aritmético (230;820) está configurado para determinar el valor numérico de contexto actual (c) dependiendo de un valor numérico de contexto previo y dependiendo de una pluralidad de valores espectrales previamente decodificados,

en donde el decodificador aritmético está configurado para modificar una representación numérica del valor numérico de contexto previo, que describe un estado del contexto para la decodificación de uno o más valores espectrales previamente decodificados, dependiendo de un valor de subregión de contexto que describe una subregión de un contexto, para obtener una representación numérica de un valor numérico de contexto actual que describe un estado del contexto para la decodificación de uno o más valores espectrales a decodificar.

Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/EP2011/050273.

Solicitante: FRAUNHOFER-GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG E.V..

Nacionalidad solicitante: Alemania.

Dirección: HANSASTRASSE 27C 80686 MUNCHEN ALEMANIA.

Inventor/es: WEISS, OLIVER, GAYER,MARC, RETTELBACH,NIKOLAUS, MULTRUS,MARKUS, FUCHS,Guillaume, WARMBOLD,PATRICK, SUBBARAMAN,VIGNESH, GRIEBEL,CHRISTIAN.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • SECCION G — FISICA > INSTRUMENTOS DE MUSICA; ACUSTICA > ANALISIS O SINTESIS DE LA VOZ; RECONOCIMIENTO DE... > Técnicas de análisis-síntesis de la voz o de señales... > G10L19/02 (utilizando análisis espectrales, p. ej. codificadores vocales de transformación o codificadores vocales subbanda)
  • SECCION G — FISICA > INSTRUMENTOS DE MUSICA; ACUSTICA > ANALISIS O SINTESIS DE LA VOZ; RECONOCIMIENTO DE... > G10L19/00 (Técnicas de análisis-síntesis de la voz o de señales de audio para la reducción de la redundancia, p.ej. en codificadores vocales; Codificación o decodificación de la voz o de señales de audio, utilizando modelos filtro-fuente o el análisis psicoacústico (en instrumentos musicales G10H))

PDF original: ES-2536957_T3.pdf

 

google+ twitter facebook

Fragmento de la descripción:

Codificador de audio, decodificador de audio, método para codificar e información de audio, método para decodificar una información de audio y programa de computación utilizando una modificación de una representación de un numero de un valor de contexto numérico previo Campo Técnico [0001] Las realizaciones de acuerdo con la invención se relacionan con un decodificador de audio para producir información de audio decodificada sobre la base de una información de audio codificada, un codificador de audio para producir una información de audio codificada sobre la base de una información de audio de entrada, un método para producir una información de audio decodificada sobre la base de una información de audio codificada, un método para producir una información de audio codificada sobre la base de una información de audio de entrada y un programa de computación.

Las realizaciones de acuerdo con la invención se relacionan con una codificación espectral sin ruido mejorada, que se puede utilizar en un codificador o decodificador de audio o similar, un denominado codificador unificado de voz y audio (USAC) .

Antecedentes de la invención [0003] A continuación se explican brevemente los antecedentes de la invención a fin de facilitar la comprensión de la invención y las ventajas de la misma. Durante la última década, se invirtieron grandes esfuerzos en la creación de la posibilidad de guardar digitalmente y distribuir contenidos de audio con buena eficiencia de velocidad de transmisión de bits. Un logro importante en este sentido es la definición de la Norma Internacional ISO/IEC 14496-3. La parte 3 de esta Norma se relaciona con una codificación y decodificación de contenidos de audio, y la subparte 4 de la parte se relaciona con la codificación general de audio. ISO/IEC 14496 parte 3, subparte 4, define un concepto para la codificación y decodificación del contenido general de audio. Además, se han propuesto otras mejoras para mejorar la calidad y/o reducir la velocidad de transmisión de bits necesaria.

De acuerdo con el concepto descripto en dicha Norma, se convierte una señal de audio en el dominio del tiempo a una representación en el dominio de la frecuencia. La transformación del dominio del tiempo al dominio de la frecuencia se realiza por lo general empleando bloques de transformadas, que también se denominan "cuadros" de muestras en el dominio del tiempo. Se ha encontrado que es ventajoso utilizar cuadros traslapados, que están desplazados, por ejemplo, en medio cuadro, puesto que el traslapo permite evitar con eficiencia (o por lo menos reducir) las aberraciones. Además, se ha encontrado que se debería realizar una generación de ventanas a fin de evitar las aberraciones que se originan en este procesamiento de cuadros limitados temporalmente.

Al transformar una porción en ventana de la señal de audio de entrada del dominio del tiempo al dominio de la frecuencia, se obtiene una compactación de la energía en muchos casos, de tal manera que parte de los valores espectrales comprenden una magnitud significativamente mayor que una pluralidad de otros valores espectrales. En consecuencia, en muchos casos hay un número relativamente pequeño de valores espectrales que tienen una magnitud significativamente superior a una magnitud promedio de los valores espectrales. Un ejemplo típico de transformación del dominio del tiempo al dominio del tiempo-frecuencia que da lugar a una compactación de la energía es la llamada transformada de coseno discreta modificada (MDCT) .

Los valores espectrales con frecuencia son escalados y cuantizados de acuerdo con un modelo psicoacústico, razón por la cual los errores de cuantización son comparativamente menores en lo que respecta a los valores espectrales más importantes y son comparativamente mayores en el caso de los valores espectrales menos importantes. Los valores espectrales escalados y cuantizados son codificados a fin de obtener una representación de los mismos más eficiente con respecto a la velocidad de transmisión de bits.

Por ejemplo, el uso de la denominada codificación de Huffman de coeficientes espectrales cuantizados ha sido descripto en la Norma Internacional ISO/IEC 14496-3:2005 (E) , parte 3, subparte 4.

Sin embargo, se ha encontrado que la calidad de la codificación de los valores espectrales tiene un impacto significativo sobre la velocidad de transmisión de bits requerida. Asimismo, se ha encontrado que la complejidad de un decodificador de audio, que con frecuencia está implementado en un dispositivo portátil del consumidor, y que, por lo tanto debería ser económico y de bajo consumo de energía, depende de la codificación utilizada para codificar los valores espectrales.

En vista de esta situación, existe la necesidad de un concepto de codificación y decodificación un contenido de audio, que da lugar a una compensación mejorada entre eficiencia de velocidad de transmisión de bits y eficiencia de recursos.

Descripción de la invención

[00010] Una realización de acuerdo con la invención, tal como se expone en la reivindicación independiente 1, da origen a un decodificador de audio para producir una información de audio decodificada sobre la base de una información de audio codificada. El decodificador de audio comprende un decodificador aritmético para producir una pluralidad de valores espectrales decodificados sobre la base de una representación aritméticamente codificada de los valores espectrales comprendidos en la información de audio codificada. El decodificador de audio comprende además un convertidor del dominio de la frecuencia al dominio del tiempo para producir una representación de audio en el dominio del tiempo utilizando los valores espectrales decodificados, a fin de obtener la información de audio decodificada. El decodificador aritmético está configurado para seleccionar una regla de mapeo que describe el mapeo de un valor de código de la representación codificada aritméticamente de los valores espectrales sobre un código de símbolo (código de símbolo que describe uno o más de los valores espectrales decodificados o por lo menos una porción de uno o más de los valores espectrales) dependiendo del estado del contexto descripto por un valor numérico actual del contexto. El decodificador aritmético está configurado para determinar el valor numérico del contexto actual dependiendo de un valor numérico de contexto previo y dependiendo de una pluralidad de valores espectrales previamente decodificados. El decodificador aritmético también está configurado para modificar una representación numérica del valor numérico de contexto previo, que describe un estado del contexto para la decodificación de dichos uno o más valores espectrales previamente decodificados, dependiendo de un valor de subregión de contexto describiendo una subregión de un contexto, para obtener una representación numérica de un valor actual del contexto que describe un estado del contexto para la decodificación de dichos uno o más valores espectrales previamente decodificados.

[00011] Esta realización de acuerdo con la invención se basa en el hallazgo de que es muy eficiente desde el punto de vista informático la modificación de una representación numérica de un valor del contexto previo dependiendo de un valor de subregión de contexto, papra obtener una representación numérica de un valor numérico de contexto actual, puesto que se puede evitar la repetición del cómputo total del valor de contexto actual. Por el contrario, se pueden aprovechar las correlaciones entre el valor numérico de contexto previo y el valor numérico del contexto actual para mantener suficientemente bajo el esfuerzo informático. Se ha descubierto que existe una gran variedad de posibilidades para la modificación... [Seguir leyendo]

 


Reivindicaciones:

1. Un decodificador de audio (200;800) para la provisión de una información de audio decodificada (212;812) sobre la base de una información de audio codificada (210;810) , en donde el decodificador de audio 5 comprende:

un decodificador aritmético (230;820) para la provisión de una pluralidad de valores espectrales decodificados (232;822) sobre la base de una representación aritméticamente codificada (222;821) de los valores espectrales comprendidos en la información de audio codificada; y un convertidor del dominio de la frecuencia al dominio del tiempo (260;830) para la provisión de una representación de audio en el dominio del tiempo (262;812) utilizando los valores espectrales (232;822) , para obtener la información de audio decodificada (212;812) ;

en donde el decodificador aritmético (230;820) está configurado para seleccionar una regla de mapeo (297;cum_freq[]) que describe un mapeo de un valor de código (value) de la representación aritméticamente codificada (222;821) de los valores espectrales sobre un código de símbolo (symbol) representando uno o más de los valores espectrales decodificados o por lo menos una porción de uno o más de los valores espectrales decodificados dependiendo de un estado del contexto descripto por un valor numérico de contexto actual (c) ; y en donde el decodificador aritmético (230;820) está configurado para determinar el valor numérico de contexto actual (c) dependiendo de un valor numérico de contexto previo y dependiendo de una pluralidad de valores espectrales previamente decodificados, en donde el decodificador aritmético está configurado para modificar una representación numérica del valor numérico de contexto previo, que describe un estado del contexto para la decodificación de uno o más valores espectrales previamente decodificados, dependiendo de un valor de subregión de contexto que describe una subregión de un contexto, para obtener una representación numérica de un valor numérico de contexto actual que describe un estado del contexto para la decodificación de uno o más valores espectrales a decodificar.

2. El decodificador de audio de acuerdo con la reivindicación 1, en donde el decodificador aritmético está configurado para proporcionar la representación numérica del valor numérico de contexto actual de tal manera que porciones de la representación numérica que tiene diferentes ponderaciones numéricas estén determinadas por diferentes valores de subregión de contexto (q[][]) .

3. El decodificador de audio de acuerdo con la reivindicación 1 o 2, en donde la representación numérica es una representación de números binarios de un único valor numérico de contexto actual (c) ; y en donde una primera subserie de bits de la representación de números binarios está determinada 40 por un primer valor de subregión de contexto asociado a uno o más valores espectrales previamente decodificados; y en donde una segunda subserie de bits de la representación de números binarios está determinada por un segundo valor de subregión de contexto asociado a uno o más valores espectrales previamente 45 decodificados, en donde los bits de la primera subserie de bits comprenden una ponderación numérica diferente de la que tienen los bits de la segunda subserie de bits.

4. El decodificador de audio de acuerdo con una de las reivindicaciones 1 a 3, en donde el decodificador aritmético está configurado para modificar una subserie con bits enmascarados de los bits de 50 información de la representación numérica de los valores numéricos de contexto previo o de una versión desplazada en bits de la representación numérica del valor numérico de contexto previo, dependiendo de un valor de subregión de contexto que no ha sido tenido en cuenta para la derivación del valor numérico de contexto previo, para obtener la representación numérica del valor numérico de contexto actual.

5. El decodificador de audio de acuerdo con una de las reivindicaciones 1 a 4, en donde el decodificador aritmético está configurado para el desplazamiento en bits de la representación numérica del valor numérico de contexto previo, de tal manera que se modifiquen las ponderaciones numéricas de las subseries de bits asociadas a diferentes valores de subregión de contexto, para obtener la representación numérica del valor numérico de contexto actual.

6. El decodificador de audio de acuerdo con la reivindicación 5, en donde el decodificador aritmético está configurado para el desplazamiento en bits de la representación numérica del valor numérico de contexto previo, de tal manera que una subserie de bits que están asociados a un valor de subregión de contexto, se suprima de la representación numérica, para obtener la representación numérica del valor numérico de contexto actual.

7. El decodificador de audio de acuerdo con una de las reivindicaciones 1 a 6, en donde el decodificador aritmético está configurado para modificar una primera subserie de bits de una representación de números binarios de un valor numérico de contexto previo, o de una versión desplazada en bits de una representación de números binarios de un valor numérico de contexto previo, dependiendo de un valor de subregión de contexto, y para dejar inalterada una segunda subserie de bits de la representación de números binarios del valor numérico de contexto previo, o de la versión desplazada en bits de la representación de números binarios del valor numérico de contexto previo, para derivar la representación de números binarios del valor numérico de contexto actual de la representación de números binarios del valor numérico de contexto previo mediante la modificación selectiva de una o más subseries de bits asociadas a subregiones del contexto consideradas para la decodificación de los valores espectrales previamente decodificados y no consideradas para la decodificación de valores espectrales a decodificar usando el valor numérico de contexto actual.

8. El decodificador de audio de acuerdo con una de las reivindicaciones 1 a 7, en donde el decodificador aritmético está configurado para proporcionar la representación numérica del valor numérico de contexto actual de tal manera que una subserie de bits menos significativos de la representación numérica del valor numérico de contexto actual describa un valor de subregión de contexto, valor de subregión de contexto que se utiliza para una decodificación de valores espectrales para la cual un estado del contexto está definido por el valor numérico de contexto actual, pero donde dicho valor de subregión de contexto no es utilizado para una decodificación de valores espectrales para la cual el estado del contexto está definido por un valor numérico de contexto subsiguiente.

9. El decodificador de audio de acuerdo con una de las reivindicaciones 1 a 8, en donde el decodificador aritmético está configurado para evaluar por lo menos una tabla, a fin de determinar si el valor numérico de contexto actual es idéntico a un valor de contexto de la tabla descripto por un elemento de la tabla o se halla dentro de un intervalo descripto por elementos de la tabla, y para derivar un valor índice de regla de mapeo que describe una regla de mapeo seleccionada dependiendo de un resultado de una evaluación de dicha por lo menos una tabla.

10. El decodificador de audio de acuerdo con una de las reivindicaciones 1 a 9, en donde el decodificador aritmético está configurado para verificar si la suma de una pluralidad de valores de subregiones de contexto es menor o igual a un valor umbral predeterminado de la suma, y para modificar selectivamente el valor numérico de contexto actual dependiendo de un resultado de la verificación.

11. El decodificador de audio de acuerdo con la reivindicación 10, en donde el decodificador aritmético está configurado para verificar si la suma de una pluralidad de valores de subregión de contexto, valores de subregión de contexto que están asociados a una misma porción temporal del contenido de audio que el uno o más valores espectrales a decodificar usando un estado del contexto definido por el valor numérico de contexto actual, y donde dichos valores de subregiones de contexto están asociados a frecuencias más bajas que el uno o más valores espectrales a decodificar usando el estado del contexto definido por el valor numérico de contexto actual, es menor o igual a un valor umbral predeterminado de la suma, y para modificar selectivamente el valor numérico de contexto actual dependiendo de un resultado de la verificación.

12. El decodificador de audio de acuerdo con una de las reivindicaciones 1 a 11, en donde el decodificador aritmético está configurado para sumar los valores absolutos de una primera pluralidad de valores espectrales previamente decodificados para obtener un primer valor de subregión de contexto asociado a la primera pluralidad de valores espectrales previamente decodificados, y para sumar los valores absolutos de una segunda pluralidad de valores espectrales previamente decodificados para obtener un segundo valor de subregión de contexto asociado a la segunda pluralidad de valores espectrales previamente decodificados.

13. El decodificador de audio de acuerdo con una de las reivindicaciones 1 a 12, en donde el decodificador aritmético está configurado para limitar los valores de subregión de contexto, de manera que los valores de subregión de contexto se puedan representar empleando una verdadera subserie de bits de información de la representación numérica del valor numérico de contexto previo.

14. El decodificador de audio de acuerdo con una de las reivindicaciones 1 a 13, en donde el decodificador aritmético está configurado para actualizar la representación de números binarios c del valor numérico de contexto previo, para derivar el valor numérico de contexto actual c del valor numérico de contexto previo, utilizando el siguiente algoritmo:

c = c>>4; if (i<i_max-1)

c = c + (q[0][i+1]<<12) ; c = (c&0xFFF0) ; if (i>0)

c = c + (q[1][i-1]) ;

en donde c es una variable que representa, en una representación binaria, el valor numérico de contexto previo antes de la ejecución del algoritmo y que representa, en una representación binaria, el valor numérico de contexto actual después de la ejecución del algoritmo;

en donde " >>4" designa una operación de "desplazamiento 4 bits a la derecha";

en donde i es un índice de frecuencia de dicho uno o más valores espectrales a decodificar usando el valor numérico de contexto actual;

en donde i_max designa un número total de índices de frecuencia;

en donde q [0] [i+1] designa un valor de subregión de contexto asociado a uno o más valores espectrales previamente decodificados para frecuencias más elevadas que las frecuencias de uno o más valores espectrales a decodificar usando el valor numérico de contexto actual y correspondientes a una porción temporal anterior del contenido de audio;

en donde "<<12" designa una operación de "desplazamiento 12 bits a la izquierda";

en donde "&0xFFF0" designa una operación Y Booleana con un valor hexadecimal de "0xFFF0"; y en donde q[1] [i-1] designa un valor de subregión de contexto asociado a uno o más valores espectrales previamente decodificados correspondientes a frecuencias más bajas que las frecuencias de uno o más valores espectrales a decodificar usando el valor numérico de contexto actual y correspondientes a una porción temporal actual del contenido de audio.

15. El decodificador de audio de acuerdo con la reivindicación 14, en donde el decodificador aritmético está configurado para modificar selectivamente la representación de números binarios c del valor numérico de contexto actual mediante el aumento de c en un valor hexadecimal de 0x10000, si (q[1][i-3]+q[1][i-2]+q[1][i-1]) <5;

en donde q[1][i-3], q[1][i-2] y q[1][i-1] son valores de subregión de contexto, cada uno de los cuales está asociado a uno o más valores espectrales previamente decodificados para frecuencias más bajas que las frecuencias de uno o más valores espectrales a decodificar usando el valor numérico de contexto actual y correspondiente a la porción temporal actual del contenido de audio.

16. Un codificador de audio (100;700) para la provisión de una información de audio codificada sobre la base de una información de audio de entrada (110;710) , en donde el codificador de audio comprende:

un convertidor compactador de energía del dominio del tiempo al dominio de la frecuencia (130;720) para la provisión de una representación de audio en el dominio de la frecuencia (132;722) sobre la base de una representación en el dominio del tiempo (110;710) de la información de audio de entrada, de manera que la representación de audio en el dominio de la frecuencia (132;722) comprende una serie de valores espectrales; y un codificador aritmético (170;730) configurado para codificar un valor espectral (a) o una versión previamente procesada de los mismos, mediante el uso de una palabra código de longitud variable (acod_m, acod_r) , en donde el codificador aritmético (170) está configurado para mapear uno o más valores espectrales (a, b) , o un valor (m) de un plano de bits más significativos de uno o más valores espectrales (a, b) , sobre un valor de código (acod_m) , en donde la información de audio codificada comprende una pluralidad de palabras código de longitud variable;

en donde el codificador aritmético está configurado para seleccionar una regla de mapeo que describe un mapeo de uno o más valores espectrales, o de un valor de un plano de bits más significativos de uno o más valores espectrales, sobre un valor de código dependiendo de un estado del contexto (s) descripto por un valor numérico de contexto actual (c) ; y en donde el codificador aritmético está configurado para determinar el valor numérico de contexto actual (c) dependiendo de un valor numérico de contexto previo y dependiendo de una pluralidad de valores espectrales previamente codificados, en donde el codificador aritmético está configurado para modificar una representación numérica (c) de un valor numérico de contexto previo, que describe un estado del contexto asociado a uno o más valores

espectrales previamente codificados, dependiendo de un valor de subregión de contexto que describe una subregión de un contexto, para obtener una representación numérica de un valor numérico de contexto actual que describe un estado para la codificación de uno o más valores espectrales a codificar.

17. Un método para proporcionar una información de audio decodificada sobre la base de una información de audio codificada, en donde el método comprende:

suministrar una pluralidad de valores espectrales decodificados sobre la base de una representación aritméticamente codificada de los valores espectrales comprendidos en la información de audio 10 codificada; y suministrar una representación de audio en el dominio del tiempo utilizando los valores espectrales, para obtener la información de audio decodificada;

en donde suministrar la pluralidad de valores espectrales decodificados comprende la selección de una regla de mapeo que describe un mapeo de un valor de código (acod_m; value) de la representación aritméticamente codificada (222; 821) de valores espectrales a un código de símbolo (symbol) que representa uno o más de los valores espectrales decodificados, o por lo menos una porción de uno o más de los valores espectrales decodificados, dependiendo de un estado del contexto descripto por un valor numérico de contexto actual (c) ; y en donde el valor numérico de contexto actual (c) se determina dependiendo de un valor numérico de contexto previo y dependiendo de una pluralidad de valores espectrales previamente decodificados, en donde una representación numérica de un valor numérico de contexto previo, que describe un estado del contexto para la decodificación de uno o más valores espectrales previamente decodificados, se modifica dependiendo de un valor de subregión de contexto que describe una subregión de un contexto, para obtener una representación numérica de a valor numérico de contexto actual, que describe un estado del contexto para la decodificación de uno o más valores espectrales a decodificar.

18. Un método para proporcionar una información de audio codificada sobre la base de una información de audio de entrada, en donde el método comprende:

suministrar una representación de audio en el dominio de la frecuencia sobre la base de una representación en el dominio del tiempo de la información de audio de entrada usando una conversión 35 compactadora de energía del dominio del tiempo al dominio de la frecuencia, de modo que la representación de audio en el dominio de la frecuencia comprende una serie de valores espectrales; y codificar aritméticamente un valor espectral, o una versión previamente procesada del mismo, usando una palabra clave de longitud variable, en donde se mapea un valor espectral o un valor de un plano de bits 40 más significativos de un valor espectral sobre un valor de código;

en donde una regla de mapeo que describe un mapeo de uno o más valores espectrales, o de un plano de bits más significativos de uno o más valores espectrales, sobre un valor de código es seleccionada según un estado del contexto descripto por un valor numérico de contexto actual (c) ; y 45 en donde el valor numérico de contexto actual (c) se determina dependiendo de un valor numérico de contexto previo y dependiendo de una pluralidad de valores espectrales previamente codificados;

en donde una representación numérica de un valor numérico de contexto previo, que describe un 50 estado del contexto para la codificación de uno o más valores espectrales previamente codificados, se modifica dependiendo de un valor de subregión de contexto que describe una subregión de un contexto, para obtener una representación numérica de un valor numérico de contexto actual que describe un estado del contexto para la codificación de uno o más valores espectrales a codificar;

en donde la información de audio codificada comprende una pluralidad de palabras código de longitud variable.

19. Un programa de computación para poner en práctica el método de acuerdo con la reivindicación 17

o la reivindicación 18 al ejecutarse el programa de computación en una computadora. 60