ES2651437T3 - Codificador de audio y decodificador de audio - Google Patents

Codificador de audio y decodificador de audio Download PDF

Info

Publication number
ES2651437T3
ES2651437T3 ES09776624.0T ES09776624T ES2651437T3 ES 2651437 T3 ES2651437 T3 ES 2651437T3 ES 09776624 T ES09776624 T ES 09776624T ES 2651437 T3 ES2651437 T3 ES 2651437T3
Authority
ES
Spain
Prior art keywords
context
coefficient
group
segment
spectral
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES09776624.0T
Other languages
English (en)
Inventor
Markus Multrus
Bernhard Grill
Guillaume Fuchs
Stefan Geyersberger
Nikolaus Rettelbach
Virgilio Bacigalupo
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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Application granted granted Critical
Publication of ES2651437T3 publication Critical patent/ES2651437T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • H03M7/4012Binary arithmetic codes
    • H03M7/4018Context adapative binary arithmetic codes [CABAC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

Un decodificador de audio (200) para decodificar un flujo de audio codificado que representa una señal de audio muestreada para obtener una secuencia de segmentos de coeficientes que son posteriores entre sí en tiempo y que representan la señal de audio muestreada usando diferentes longitudes de transformada de manera que los segmentos de coeficientes para los que se usan diferentes longitudes de transformada, representan de manera espectral la señal de audio muestreada a diferentes resoluciones de frecuencia, que comprende un procesador (210) para derivar un contexto de codificación para un coeficiente decodificado actualmente de un segmento actual basándose en un coeficiente previamente decodificado de un segmento anterior, correspondiendo los segmentos anterior y actual a diferentes resoluciones de frecuencia y diferentes longitudes de transformada, respectivamente; y un decodificador por entropía (220) para decodificar por entropía el coeficiente actual basándose en el contexto de codificación y el flujo de audio codificado, en el que el procesador está adaptado para derivar el contexto de codificación por banda espectral para el coeficiente actual, basándose en coeficientes espectrales vecinos previamente decodificados en el segmento anterior y opcionalmente en el segmento actual, en el que el decodificador por entropía (220) está adaptado para decodificar un índice de grupo desde el flujo de audio codificado basándose en una distribución de probabilidad derivada a partir del contexto de codificación, en el que el índice de grupo representa un grupo de una o más palabras de código, y para decodificar, basándose en una distribución de probabilidad uniforme, un índice de elemento desde el flujo de audio codificado si el índice de grupo indica un grupo que comprende más de una palabra de código, y para derivar una tupla de coeficientes espectrales del segmento actual basándose en el índice de grupo y el índice de elemento, obteniendo de esta manera la representación de dominio espectral en tuplas de coeficientes espectrales.

Description

5
10
15
20
25
30
35
40
45
50
55
60
Codificador de audio y decodificador de audio DESCRIPCION
La presente invencion se encuentra en el campo de la codificacion de audio, especialmente en el campo de la codificacion por entropfa basada en contexto.
Los conceptos de codificacion de audio tradicionales incluyen un esquema de codificacion por entropfa para reduccion de redundancia. Tfpicamente, la codificacion por entropfa se aplica a coeficientes espectrales cuantificados para esquemas de codificacion basados en el dominio de frecuencia o muestras del dominio del tiempo cuantificadas para esquemas de codificacion basados en el dominio del tiempo. Estos esquemas de codificacion por entropfa tfpicamente hacen uso de la transmision de una palabra de codigo en combinacion con un mdice de libro de codigos acorde, que posibilita que un decodificador busque una cierta pagina de libro de codigos para decodificar una palabra de informacion codificada que corresponde a la palabra de codigo transmitida en dicha pagina. En algunos conceptos de codificacion, sin embargo, la transmision del mdice de libro de codigos puede no ser aleatoria, por ejemplo, para casos en los que el mdice de libro de codigos puede determinarse a partir del contexto de un sfmbolo, que esta, por ejemplo, codificado por entropfa como se describe en Meine, Edler, “Improved Quantization and Lossless Coding for Subband Audio Coding” y Meine, “Vektorquantisierung und kontextabhangige arithmetische Codierung fur MPEG-4 AAC”, Dissertation, Gottfried Wilhelm Leibnitz Universitat Hannover, Hanover 2007.
Para codificacion de audio basada en el dominio de la frecuencia o espectral, un contexto puede describir sfmbolos o propiedades estadfsticas, como por ejemplo, coeficientes espectrales cuantificados, que son anteriores en tiempo y/o frecuencia. En algunos de los conceptos convencionales, estos sfmbolos pueden estar disponibles tanto en el lado del codificador como del decodificador, y basandose en estos sfmbolos, puede determinarse un libro de codigos o contexto de manera smcrona tanto en el lado del codificador como del decodificador.
La Figura 9 ilustrara un ejemplo de un contexto y sus dependencias. La Figura 9 muestra un plano de frecuencia de tiempo, en el que se indica un numero de sfmbolos. El sfmbolo Sn,m indica un sfmbolo en el tiempo n y frecuencia m. La Figura 9 ilustra que para codificar un cierto sfmbolo, se usa su contexto para determinar el libro de codigos asociado. Por ejemplo, para un sfmbolo Sno,mo esto sena todos los sfmbolos con n < nO y cualquier m, o con n = nO y m < mO.
En implementaciones practicas, un contexto no es infinito, pero esta limitado. En el ejemplo representado en la Figura 9, el contexto para el sfmbolo So,3 podna ser, por ejemplo,
So,2, So,1, S-1,5, S-1,4, S-1,3, S-1,2, S-1,1, S-2,5, S-2,4, S-2,3, S-2,2, S-2,1.
Para codificacion de audio basada en frecuencia, pueden usarse bancos de filtros adaptativos de senal variable en el tiempo o las denominadas transformaciones de bloque, como se describe, por ejemplo, en Edler, B., “Codierung von Audiosignalen mit uberlappender Transformation und adaptiven Fensterfunktionen”, Frequenz, Edicion 43, septiembre de 1989.
En otras palabras, los cambios de resolucion de frecuencia/tiempo pueden tener lugar con el tiempo dentro de estos conceptos de codificacion de audio. Un concepto de audio conocido es la denominada AAC (AAC = Codificacion de Audio Avanzada), caso en el que se usan longitudes de dos bloques, para los que se codifican por ejemplo o 128 o 1o24 coeficientes transformados que representan los componentes de frecuencia de 256 o 2o48 muestras del dominio de tiempo en ventanas respectivamente.
Estos conceptos permiten la conmutacion entre diferentes resoluciones, dependiendo de ciertas caracteristicas de senal, como por ejemplo aparicion de transitorios o tonalidad o si la senal es similar a musica o similar a voz, etc. En el caso de la conmutacion entre diferentes resoluciones de tiempo/frecuencia, como por ejemplo, entre diferentes tipos de bloque de AAC, el contexto no es consistente. Los conceptos convencionales o implementaciones del estado de la tecnica pueden utilizar el reseteo del contexto, es decir, se conmuta basicamente a un estado, en el que no hay contexto disponible, en el que se crea un contexto desde cero. Este enfoque puede funcionar suficientemente bien, por ejemplo, en AAC, puesto que garantiza al menos dos bloques largos u ocho bloques cortos en una fila, donde puede suponerse que la conmutacion tiene lugar unicamente raras veces. Sin embargo, los conceptos convencionales que resetean el contexto son en general suboptimos en terminos de eficacia de codificacion, puesto que cada vez que se resetea el contexto, la siguiente seleccion de libro de codigos esta basada en valores, que estan disenados como soluciones de repliegue para contexto desconocido. En general, se seleccionan entonces libros de codigos suboptimos. La desventaja en la eficacia de codificacion puede ser despreciable para casos en los que tiene lugar la conmutacion unicamente raras veces. Sin embargo, para un escenario con conmutacion mas frecuente, esto conduce a una perdida significativa en eficacia de codificacion. Por una parte, se desea de manera mas intensa una conmutacion mas frecuente para tasas de datos/tasas de muestreo inferiores, puesto que
5
10
15
20
25
30
35
40
45
50
55
60
especialmente en este punto, se desea una adaptacion optima de la longitud de transformada a la caractenstica de la senal. Por otra parte, la eficacia de codificacion se reduce significativamente cuando se conmuta con frecuencia. Es el objeto de la presente invencion proporcionar un concepto para conmutar entre diferentes longitudes de transformada en codificacion de audio que proporcione una eficacia de codificacion mejorada.
El objeto se consigue mediante un decodificador de audio de acuerdo con la reivindicacion 1, un metodo para decodificacion de audio de acuerdo con la reivindicacion 5 y un programa informatico de acuerdo con la reivindicacion 6. La presente invencion esta basada en el hallazgo de que en codificacion basada en contexto tal como, por ejemplo, codificacion por entropfa basada en contexto, que puede aplicarse a diferentes resoluciones de tiempo/frecuencia, puede usarse un mecanismo de mapeo de contexto, en el caso de que la resolucion de tiempo/frecuencia cambie con el tiempo, consiguiendo de esta manera una eficacia de codificacion mejorada. Es un hallazgo de la presente invencion que cuando se conmuta entre diferentes resoluciones de tiempo o frecuencia, los contextos para los coeficientes que tienen las nuevas resoluciones pueden derivarse de coeficientes que tienen las resoluciones antiguas. Es un hallazgo de la presente invencion que puede usarse, por ejemplo, interpolacion, extrapolacion, sub-muestreo, muestreo descendente, muestreo ascendente, etc., para adaptacion y/o derivacion de contexto cuando se conmutan resoluciones de tiempo/frecuencia en codificacion de audio.
Las realizaciones de la presente invencion proporcionan un metodo de mapeo, que mapea los coeficientes de frecuencia o espectrales de un contexto almacenado, que hace referencia a una resolucion antigua, a la resolucion de frecuencia de un contexto actual o una trama actual. En otras palabras, la informacion de contexto anterior puede usarse para la determinacion del libro de codigos, es decir para derivar nueva informacion de contexto. Las realizaciones pueden posibilitar con ello una conmutacion mas frecuente de longitud de bloque y por lo tanto una mejor adaptacion a caractensticas de senal sin perder eficacia de codificacion.
Las realizaciones de la presente invencion se detallaran usando las figuras adjuntas, en las que
muestra una realizacion de un codificador de audio; muestra una realizacion de un decodificador de audio; muestra una realizacion para un muestreo ascendente de contexto; muestra una realizacion para un muestreo descendente de contexto; ilustra resoluciones de tiempo y frecuencia de conmutacion de audio; ilustra una implementacion de una realizacion;
muestra un diagrama de flujo de una realizacion de un metodo para codificacion; ilustra el procedimiento de actualizacion de contexto general de una realizacion; ilustra el procedimiento de actualizacion de contexto de una realizacion para cambios de resolucion; muestra un diagrama de flujo de una realizacion de un metodo para decodificacion; y muestra un esquema de codificacion de tiempo frecuencia del estado de la tecnica.
muestra una realizacion de un codificador de audio 100 para codificar segmentos de coeficientes, representando los segmentos de coeficientes diferentes resoluciones de tiempo o frecuencia de una senal de audio muestreada. El codificador de audio 100 comprende un procesador 110 para derivar un contexto de codificacion para un coeficiente actualmente codificado de un segmento actual basandose en un coeficiente previamente codificado de un segmento anterior, representando el coeficiente previamente codificado una resolucion de tiempo o frecuencia diferente de la del coeficiente codificado actualmente. La realizacion del codificador de audio comprende adicionalmente un codificador por entropfa 120 para codificacion por entropfa del coeficiente actual basandose en el contexto de codificacion para obtener un flujo de audio codificado.
La
Figura 1
La
Figura 2
La
Figura 3
La
Figura 4
La
Figura 5
La
Figura 6
La
Figura 7a
La
Figura 7b
La
Figura 7c
La
Figura 8
La
Figura 9
La
Figura 1
En las realizaciones los coeficientes pueden corresponder a muestras de audio, muestras de audio cuantificadas, coeficientes espectrales o de frecuencia, coeficientes escalados, coeficientes transformados o filtrados, etc., o cualquier combinacion de los mismos.
En las realizaciones el codificador de audio 100 puede comprender adicionalmente un medio para proporcionar los segmentos de coeficientes de un flujo de audio, formando los coeficientes una representacion espectral de una senal de audio a una resolucion espectral que vana entre los coeficientes. Los medios para proporcionar los segmentos pueden adaptarse para determinar los segmentos basandose en diferentes longitudes de ventana de dominio de tiempo o diferentes tramas de audio, es decir, tramas de audio que tienen diferentes longitudes o diferentes numeros de coeficientes por ancho de banda, es decir una resolucion espectral o de frecuencia diferente. Los medios para proporcionar pueden adaptarse para determinar segmentos de 1024 y 128 coeficientes de tiempo, frecuencia o espectrales.
El procesador 110 puede adaptarse en las realizaciones para derivar el contexto de codificacion basandose en las representaciones de dominio de la frecuencia o espectral de los coeficientes o segmentos actuales y anteriores. En otras palabras, en las realizaciones los segmentos sucesivos pueden representarse en diferentes dominios de tiempo y/o frecuencia o espectrales. El procesador 110 puede adaptarse para derivar el contexto de codificacion por banda de frecuencia o espectral del segmento actual, por ejemplo basandose en coeficientes espectrales vecinos de
5
10
15
20
25
30
35
40
45
50
55
60
segmentos anteriores y/o el segmento actual. En las realizaciones, los segmentos pueden determinarse inicialmente en el dominio del tiempo, por ejemplo, poniendo en ventanas un flujo de audio de entrada. Basandose en estos segmentos o coeficientes de dominio de tiempo, pueden determinarse segmentos o coeficientes del dominio de la frecuencia o espectral por medio de transformacion. Los segmentos pueden representarse en el dominio de la frecuencia o espectral en terminos de energfa, una amplitud y fase, una amplitud y signo, etc., por banda de frecuencia o espectral, es decir, los segmentos pueden subdividirse en diferentes bandas de frecuencia o espectrales. El procesador 110 puede a continuacion derivar contextos de codificacion por banda de frecuencia o espectral en algunas realizaciones.
El procesador 110 y el codificador por entropfa 120 pueden configurarse para operar basandose en un muestreo descendente de coeficientes de frecuencia o espectrales de un segmento anterior cuando un segmento anterior que pertenece al contexto comprende una resolucion espectral o de frecuencia mas precisa que la del segmento actual. En las realizaciones el procesador 110 y el codificador por entropfa 120 pueden configurarse para operar basandose en un muestreo ascendente de los coeficientes de frecuencia o espectrales de un segmento anterior, cuando un segmento anterior del contexto comprende una resolucion espectral o de frecuencia mas basta que la del segmento actual.
Las realizaciones pueden proporcionar un metodo para codificar segmentos de coeficientes que representan diferentes resoluciones de tiempo o frecuencia de una senal de audio muestreada. El metodo puede comprender una etapa de derivacion de un contexto de codificacion para un coeficiente codificado actualmente o actual de un segmento actual basandose en un coeficiente codificado previamente o anterior de un segmento anterior y opcionalmente tambien basandose en el coeficiente actualmente codificado o actual, en el que el coeficiente codificado previamente o anterior representa una resolucion de tiempo o frecuencia diferente de la del coeficiente actualmente codificado o actual. El metodo puede comprender adicionalmente una etapa de codificacion por entropfa del coeficiente actual basandose en el contexto de codificacion para obtener un flujo de audio codificado.
En correspondencia, las realizaciones pueden comprender un decodificador de audio 200 del cual se representa una realizacion en la Figura 2. El decodificador de audio 200 esta adaptado para decodificar un flujo de audio codificado para obtener segmentos de coeficientes que representan diferentes resoluciones de tiempo o frecuencia de una senal de audio muestreada, el decodificador de audio 200 comprende un procesador 210 para derivar un contexto de codificacion para un coeficiente decodificado actualmente o actual basandose en un coeficiente decodificado previamente o anterior, representando el coeficiente decodificado previamente o anterior una resolucion de tiempo o frecuencia diferente que la del coeficiente actualmente decodificado. Adicionalmente, el decodificador de audio 200 comprende un decodificador por entropfa 220 para la decodificacion por entropfa del coeficiente actual basandose en el contexto de codificacion y el flujo de audio codificado.
En las realizaciones, el decodificador de audio 200 puede comprender un decodificador por entropfa 220, que esta adaptado para determinar los segmentos de coeficientes decodificados basandose en diferentes longitudes de ventana de dominio de tiempo o diferentes longitudes de trama de audio. El decodificador por entropfa 220 puede adaptarse para determinar segmentos de, por ejemplo, 1024 y 128, muestras de domino de tiempo o frecuencia o coeficientes espectrales. En correspondencia, el procesador 210 puede adaptarse para derivar el contexto de codificacion basandose en una representacion del domino de la frecuencia o espectral de coeficientes de segmentos anteriores y/o el segmento actual.
En las realizaciones, el procesador 210 puede adaptarse para derivar el contexto de codificacion por banda de frecuencia o espectral del segmento actual, por ejemplo basandose en coeficientes espectrales vecinos del segmento anterior o segmentos y opcionalmente a partir del segmento actual. En otras palabras, los segmentos pueden procesarse en el dominio de la frecuencia o espectral, que puede llevarse a cabo por banda de frecuencia o espectral. En correspondencia, el procesador 210 puede a continuacion adaptarse para derivar un contexto espedfico de banda de frecuencia o espectral.
El decodificador por entropfa 200 puede adaptarse para decodificacion por entropfa del coeficiente actual basandose en una regla de codificacion por entropfa o de longitud variable.
El procesador 210 puede adaptarse para derivar el contexto de codificacion basandose en un muestreo descendente de coeficientes de frecuencia o espectrales de un segmento anterior cuando el segmento anterior comprende mas coeficientes por ancho de banda (es decir una resolucion espectral o de frecuencia mas precisa) que la del segmento actual. En realizaciones adicionales, el procesador 210 y el codificador por entropfa 220 pueden configurarse para operar basandose en un muestreo ascendente de coeficientes espectrales de un segmento anterior, cuando el segmento anterior comprende menos coeficientes por ancho de banda (es decir una resolucion espectral o de frecuencia mas basta) que la del segmento actual.
En consecuencia, las realizaciones pueden proporcionar un metodo para decodificar un flujo de audio codificado para obtener segmentos de coeficientes que representan muestras de audio decodificadas. El metodo para
5
10
15
20
25
30
35
40
45
50
55
60
decodificar puede comprender una etapa de derivacion de un contexto de codificacion para un coeficiente decodificado actualmente o actual de un segmento actual basandose en un coeficiente decodificado previamente o anterior de un segmento anterior, representando el coeficiente decodificado previamente o anterior una resolucion de tiempo o frecuencia diferente que la del coeficiente actualmente decodificado. Adicionalmente, el metodo puede comprender una etapa de decodificacion por entropfa el coeficiente actual basandose en el contexto de codificacion y el flujo de audio codificado. Opcionalmente, el metodo puede comprender una etapa de determinacion de los segmentos de coeficientes de audio codificados desde el flujo de audio codificado, representando los segmentos diferentes numeros de coeficientes de audio.
La Figura 3 ilustra como un procesador 110; 210 puede derivar un contexto de codificacion para un segmento actual de Mc,nuevo coeficientes basandose en un segmento anterior de Mc,antiguo coeficientes, en el que el segmento anterior comprende un numero diferente de coeficientes de audio que el del segmento actual. En la realizacion representada en la Figura 3, el numero de coeficientes del segmento M determina la resolucion de frecuencia o espectral del segmento. La realizacion puede comprender un metodo de mapeo, que mapea los Mc,antiguo coeficientes de un segmento anterior a Mc,nuevo coeficientes que tienen la misma resolucion de frecuencia o espectral del contexto que el segmento actual. La Figura 3 muestra dos conjuntos de coeficientes en dos segmentos, es decir el segmento anterior original 310 que representa Mc,antiguo coeficientes, Sn,o, Sn,i, Sn,2, etc., y en correspondencia, el segmento anterior mapeado 320, que tiene una resolucion superior, es decir, Mc,nuevo es mayor que Mc,antiguo, que representa Mc,nuevo coeficientes, Sn,0, Sn,1, Sn,2, Sn,3, etc.
En general, pueden distinguirse dos realizaciones, dependiendo de si la resolucion del contexto del segmento actual es superior o inferior que la resolucion del contexto del segmento anterior. La Figura 3 ilustra una realizacion, en la que la resolucion del segmento anterior de Mc,antiguo coeficientes es inferior que la resolucion del segmento actual de Mc,nuevo coeficientes. La Figura 3 muestra los coeficientes del segmento anterior 310 y los sfmbolos para el segmento anterior mapeado 320. A partir de la Figura 3 puede observarse que la resolucion del segmento actual de Mc,nuevo coeficientes es superior que la resolucion del segmento anterior 310 que tiene unicamente Mc,antiguo coeficientes. En una realizacion el segmento anterior 310 se muestrea ascendentemente a un segmento 320 de Mc,nuevo coeficientes para hacer coincidir la resolucion de frecuencia o espectral del segmento actual. Esto puede incluir puro muestreo ascendente con mecanismos de duplicacion de sfmbolo y decimacion por ejemplo, repetir cada valor Mc,nuevo veces antes de decimar el segmento muestreado ascendentemente resultante manteniendo unicamente 1 coeficiente cada Mc,antiguo. Otros mecanismos de interpolacion o extrapolacion pueden usarse tambien.
En las realizaciones, el mapeo puede llevarse a cabo para todos los segmentos anteriores 310, que son necesarios para determinar los contextos para el segmento actual, por ejemplo en el tiempo n, en otras palabras, puede tenerse en cuenta multiples segmentos anteriores, es decir, segmentos anteriores en los tiempos n-1, n-2, etc. En general, las realizaciones pueden tener en cuenta multiples intervalos de tiempo o segmentos anteriores, el numero de intervalos de tiempo necesarios para definir un contexto completo puede ser diferente para diferentes implementaciones o realizaciones.
La Figura 4 ilustra otra realizacion, en la que los coeficientes de un segmento anterior 410 se muestrean descendentemente a un segmento 420 usado para calcular los contextos del segmento actual, es decir, en el que el numero de coeficientes Mc,antiguo del segmento anterior 410 es superior al numero de coeficientes Mc,nuevo del segmento actual. La Figura 4 usa una ilustracion similar que la Figura 3, por consiguiente se muestran multiples coeficientes en cada segmento 410 y 420. Como se ilustra en la Figura 4, Mc,antiguo es mayor que Mc,nuevo. Por lo tanto, los Mc,antiguo coeficientes se sub-muestrean, para adaptar la resolucion de frecuencia o espectral del segmento actual de Mc,nuevo coeficientes, es decir en las realizaciones los segmentos anteriores que tienen una resolucion superior pueden sub-muestrearse para adaptar la resolucion del segmento actual que tiene una resolucion inferior. En las realizaciones esto puede incluir muestreo descendente puro con mecanismos de duplicacion y decimacion de coeficientes como por ejemplo, repetir cada valor Mc,nuevo veces antes de decimar el segmento muestreado ascendentemente resultante manteniendo unicamente 1 coeficiente cada Mc,antiguo. En otras realizaciones, pueden tenerse en cuenta operaciones de filtro, como por ejemplo promedio de dos o multiples valores adyacentes.
La Figura 5 ilustra otra realizacion, en la que se lleva a cabo conmutacion entre diferentes resoluciones. La Figura 5 muestra un plano de tiempo/frecuencia, en el que se muestran tres segmentos posteriores de coeficientes de audio, en concreto 510, 520 y 530. Cada uno de los segmentos 510, 520 y 530 corresponde a un unico conjunto de coeficientes. En la realizacion ilustrada en la Figura 5, se supone que el segundo segmento 520 es el doble de largo que el primer y tercer segmentos 510 y 530. Esto puede conseguirse usando diferentes ventanas cuando se segmenta en el dominio del tiempo, como se hace por ejemplo en AAC. En la realizacion ilustrada en la Figura 5, se supone que la tasa de muestreo permanece constante, en otras palabras, el segundo segmento mas largo 520 comprende el doble de coeficientes de audio por ancho de banda que el primer o tercer segmento 510 o 530.
La Figura 5 muestra que en este caso la resolucion en el dominio de la frecuencia o espectral escala con la extension del segmento en el dominio del tiempo. En otras palabras, cuanto mas corta es la ventana en el dominio del tiempo, menor es la resolucion en el dominio de la frecuencia o espectral. Cuando se evaluan contextos para
5
10
15
20
25
30
35
40
45
50
55
60
codificar las muestras en el dominio de la frecuencia o espectral, la Figura 5 muestra que la codificacion necesita tener una version de resolucion superior del segmento 510 cuando se codifica el segundo segmento 520 como en el ejemplo considerado, tiene que derivarse una resolucion doble del segmento 510. En otras realizaciones, especialmente cuando se usan otras transformaciones de tiempo-frecuencia o bancos de filtros, pueden resultar otras relaciones entre las resoluciones del dominio del tiempo y dominio de frecuencia.
De acuerdo con una realizacion, los coeficientes codificados durante el primer segmento 510 proporcionan una base para determinar el contexto para el segundo segmento 520, por ejemplo, por medio de un muestreo ascendente intermedio. En otras palabras, el contenido de contexto que proviene desde el primer segmento 510 puede obtenerse mediante un muestreo ascendente del primer segmento 510, por ejemplo, en terminos de interpolacion o extrapolacion, para derivar el contexto para el segundo segmento 520, que tiene una resolucion superior.
Como se muestra en la Figura 5, cuando se conmuta desde el segundo segmento 520 al tercer segmento 530, el elemento constituyente de contexto tiene que cambiar tambien, a medida que la resolucion se ha reducido ahora. De acuerdo con una realizacion, los coeficientes codificados durante el segundo segmento 520 pueden usarse para derivar el contexto para el tercer segmento, por medio de un muestreo descendente intermedio. Esto puede llevarse a cabo, por ejemplo, en terminos de promedio o simplemente usando unicamente cada segundo valor y otras medidas para muestreo descendente.
Las realizaciones consiguen la ventaja de una eficacia de codificacion aumentada, teniendo en cuenta el contexto pasado derivado de segmentos anteriores incluso cuando tienen lugar cambios en la resolucion o longitud de ventana. Los elementos de contexto constituyentes pueden adaptarse a nuevas resoluciones, en terminos de muestreo ascendente o descendente, por ejemplo, con inter- o extrapolacion, filtracion o promedio, etc.
A continuacion se presentara una realizacion mas espedfica en terminos de codificacion sin ruido espectral. La codificacion sin ruido espectral puede usarse para reducir adicionalmente la redundancia de un espectro cuantificado en codificacion de audio. La codificacion sin ruido espectral puede estar basada en una codificacion aritmetica en conjunto con adaptacion de contexto de manera dinamica.
La codificacion sin ruido puede estar basada en valores espectrales cuantificados y puede usar las tablas de frecuencia acumulativas dependientes del contexto derivadas desde, por ejemplo, cuatro tuplas vecinas previamente decodificadas. La Figura 6 ilustra otra realizacion. La Figura 6 muestra un plano de tiempo frecuencia, en el que a lo largo del eje del tiempo se indexan tres intervalos de tiempo, n, n-1 y n-2. Adicionalmente, la Figura 6 ilustra cuatro bandas de frecuencia o espectrales que se etiquetan por m-2, m-1, m y m+1. La Figura 6 muestra dentro de cada intervalo de tiempo-frecuencia recuadros, que representan tuplas de muestras a codificarse o decodificarse. Se ilustran tres diferentes tipos de tuplas en la Figura 6, en la que los recuadros que tienen un borde discontinuo de lmeas o de puntos indican tuplas restantes a codificarse o decodificarse, recuadros blancos que tienen un borde continuo indican tuplas previamente codificadas o decodificadas y recuadros grises con un borde continuo indican tuplas previamente codificadas/decodificadas, que se usan para determinar el contexto para la tupla actual a codificarse o decodificarse.
Observese que los segmentos anteriores y actuales referenciados en las realizaciones anteriormente descritas pueden corresponder a una tupla en la presente realizacion, en otras palabras, los segmentos pueden procesarse a nivel de bandas en el dominio de la frecuencia o espectral. Como se ilustra en la Figura 6, las tuplas o segmentos en las cercamas de una tupla actual (es decir en el dominio de tiempo y de la frecuencia o espectral) pueden tenerse en cuenta para derivar un contexto. Las tablas de frecuencia acumulativa pueden a continuacion usarse por el codificador aritmetico para generar un codigo binario de longitud variable. El codificador aritmetico puede producir un codigo binario para un conjunto dado de sfmbolos y sus respectivas probabilidades. El codigo binario puede generare mapeando un intervalo de probabilidad, donde radica el conjunto de sfmbolos, a una palabra de codigo. El codificador aritmetico puede corresponder al codificador por entropfa 120, respectivamente el decodificador por entropfa 220 en las realizaciones anteriormente descritas.
En la presente realizacion la codificacion aritmetica basada en contexto puede llevarse a cabo basandose en 4- tuplas (es decir en cuatro indices de coeficientes espectrales), que tambien se etiquetan q(n,m), que representan los coeficientes espectrales despues de la cuantificacion, que son vecinos en el dominio de la frecuencia o espectral y que se codifican por entropfa en una etapa. De acuerdo con la descripcion anterior, la codificacion puede llevarse a cabo basandose en el contexto de codificacion. Como se indica en la Figura 6, adicionalmente a la 4-tupla, que se codifica (es decir el segmento actual) se tienen en cuenta 4-tuplas previamente codificadas para derivar el contexto. Estas cuatro 4-tuplas determinan el contexto y son anteriores en el dominio de la frecuencia y/o anteriores en el del tiempo.
La Figura 7a muestra un diagrama de flujo de un codificador aritmetico dependiente del contexto de USAC (USAC = Codificador de Voz y Audio Universal) para el esquema de codificacion de coeficientes espectrales. El proceso de codificacion depende de la 4-tupla actual mas el contexto, donde el contexto se usa para seleccionar la distribucion
5
10
15
20
25
30
35
40
45
50
55
60
de probabilidad del codificador aritmetico y para predecir la amplitud de los coeficientes espectrales. En la Figura 7a el recuadro 705 representa determinacion de contexto, que es basandose en t0, t1, t2 y t3 que corresponde a q(n-1, m), q(n,m-1), q (n-1,m-1) y q (n-1,m+1), que son los recuadros grises con bordes continuos en la Figura 6.
En general, en las realizaciones el codificador por entropfa puede adaptarse para codificar el segmento actual en unidades de una 4-tupla de coeficientes espectrales y para predecir un intervalo de amplitud de la 4-tupla basandose en el contexto de codificacion.
En la presente realizacion el esquema de codificacion comprende varias etapas. En primer lugar, la palabra de codigo literal se codifica usando un codificador aritmetico y una distribucion de probabilidad espedfica. La palabra de codigo representa cuatro coeficientes espectrales vecinos (a,b,c,d), sin embargo, cada uno de a, b, c, d esta limitado en el intervalo:
-5 < a,b,c,d < 4.
En general, en las realizaciones el codificador por entropfa 120 puede adaptarse para dividir la 4-tupla en un factor predeterminado tan a menudo como sea necesario para adaptarse a un resultado de la division en el intervalo previsto o en un intervalo predeterminado y para codificar un numero de divisiones necesarias, un resto de division y el resultado de la division cuando la 4-tupla no radica en el intervalo predeterminado, y para codificar un resto de division y el resultado de la division de otra manera.
A continuacion, si el termino (a,b,c,d), es decir cualquier coeficiente a, b, c, d, supera el intervalo dado en esta realizacion, esto puede considerarse en general dividiendo (a,b,c,d) tan a menudo por un factor (por ejemplo 2 o 4) como sea necesario, para ajustar la palabra de codigo resultante en el intervalo dado. La division por un factor de 2 corresponde a un desplazamiento binario al lado a la derecha, es decir (a,b,c,d)>> 1. Esta disminucion se hace por una representacion de numero entero, es decir la informacion puede perderse. Los bits menos significativos, que pueden perderse por el desplazamiento a la derecha, se almacenan y mas tarde se codifican usando el codificador aritmetico y una distribucion de probabilidad uniforme. El proceso de desplazamiento a la derecha se lleva a cabo por todos los cuatro coeficientes espectrales (a,b,c,d).
En realizaciones generales, el codificador por entropfa 120 puede adaptarse para codificar el resultado de la division o la 4-tupla usando un mdice de grupo ng, el mdice de grupo ng que hace referencia a un grupo de una o mas palabras de codigo para las que una distribucion de probabilidad esta basada en el contexto de codificacion, y un mdice de elemento ne en el caso de que el grupo comprenda mas de una palabra de codigo, el mdice de elemento ne hace referencia a una palabra de codigo dentro del grupo y el mdice de elemento puede suponerse que esta distribuido uniformemente, y para codificar el numero de divisiones por un numero de sfmbolos de escape, siendo un sfmbolo de escape un mdice de grupo espedfico ng unicamente usado para indicar una division y para codificar los restos de las divisiones basandose en una distribucion uniforme usando una regla de codificacion aritmetica. El codificador por entropfa 120 puede adaptarse para codificar una secuencia de sfmbolos en el flujo de audio codificado usando un alfabeto de sfmbolos que comprende el sfmbolo de escape, y sfmbolos de grupo que corresponden a un conjunto de indices de grupo disponibles, un alfabeto de sfmbolos que comprende los correspondientes indices de elemento, y un alfabeto de sfmbolos que comprende los diferentes valores de los restos.
En la realizacion de la Figura 7a, la distribucion de probabilidad para codificar la palabra de codigo literal y tambien una estimacion del numero de etapas de intervalo-reduccion puede derivarse a partir del contexto. Por ejemplo, todas las palabras de codigo, en un total 84 = 4096, abarcan en total 544 grupos, que consisten en uno o mas elementos. La palabra de codigo puede representarse en el flujo de bits como el mdice de grupo ng y el elemento de grupo ne. Ambos valores pueden codificarse usando el codificador aritmetico, usando ciertas distribuciones de probabilidad. En una realizacion la distribucion de probabilidad para ng puede derivarse a partir del contexto, mientras que la distribucion de probabilidad para ne puede suponerse que es uniforme. Una combinacion de ng y ne puede identificar de manera ineqrnvoca una palabra de codigo. El resto de la division, es decir los planos de bits desplazados, puede suponerse que estan distribuidos uniformemente tambien.
En la Figura 7a, en la etapa 710, se proporciona la 4-tupla q(n,m), que es (a,b,c,d) o el segmento actual y se inicia un parametro lev estableciendolo a 0.
En la etapa 715 desde el contexto, se estima el intervalo de (a,b,c,d). De acuerdo con esta estimacion, (a,b,c,d) puede reducirse por lev0 niveles, es decir dividirse por un factor de 2lev0. Los lev0 planos de bits menos significativos se almacenan para uso posterior en la etapa 750.
En la etapa 720 se comprueba si (a,b,c,d) supera el intervalo dado y en caso afirmativo, el intervalo de (a,b,c,d) se reduce en un factor de 4 en la etapa 725. En otras palabras, en la etapa 725 (a,b,c,d) se desplazan en 2 a la derecha y los planos de bits eliminados se almacenan para uso posterior en la etapa 750.
5
10
15
20
25
30
35
40
45
50
55
60
Para indicar esta etapa de reduccion, ng se establece a 544 en la etapa 730, es decir ng = 544 sirve como una palabra de codigo de escape. Esta palabra de codigo se escribe a continuacion en el flujo de bits en la etapa 755, donde para derivar la palabra de codigo en la etapa 730 se usa un codificador aritmetico con una distribucion de probabilidad derivada del contexto. En caso de que esta etapa de reduccion se aplicara la primera vez, es decir si lev==lev0, el contexto se adapta ligeramente. En caso de que la etapa de reduccion se aplique mas de una vez, el contexto se descarta y se usa una distribucion por defecto mas adelante. El proceso a continuacion continua con la etapa 720.
Si en la etapa 720 se detecta una coincidencia para el intervalo, mas espedficamente si (a,b,c,d) coincide con la condicion de intervalo, (a,b,c,d) se mapea a un grupo ng, y, si es aplicable, el mdice de elemento de grupo ne. Este mapeo es de manera ineqdvoca, es decir (a,b,c,d) puede derivarse a partir de ng y ne. El mdice de grupo ng se codifica a continuacion por el codificador aritmetico, usando una distribucion de probabilidad llegada para el contexto adaptado/descartado en la etapa 735. El mdice de grupo ng se inserta a continuacion en el flujo de bits en la etapa 755. En una siguiente etapa 740, se comprueba si el numero de elementos en el grupo es mayor que 1. Si es necesario, es decir si el grupo indexado por ng consiste en mas de un elemento, el mdice de elemento de grupo ne se codifica por el codificador aritmetico en la etapa 745, suponiendo una distribucion de probabilidad uniforme en la presente realizacion.
Siguiendo la etapa 745, el mdice de grupo de elemento ne se inserta en el flujo de bits en la etapa 755. Finalmente, en la etapa 750, todos los planos de bits almacenados se codifican usando el codificador aritmetico, suponiendo una distribucion de probabilidad uniforme. Los planos de bits almacenados codificados se insertan a continuacion en el flujo de bits en la etapa 755.
En las realizaciones el decodificador por entropfa 220 puede adaptarse para decodificar un mdice de grupo ng a partir del flujo de audio codificado basandose en una distribucion de probabilidad derivada del contexto de codificacion, en la que el mdice de grupo ng representa un grupo de una o mas palabras de codigo, y para, basandose en una distribucion de probabilidad uniforme, decodificar un mdice de elemento ne a partir del flujo de audio codificado si el mdice de grupo ng indica un grupo que comprende mas de una palabra de codigo, y para derivar una 4-tupla de coeficientes espectrales del segmento actual basandose en el mdice de grupo ng y el mdice de elemento ne, obteniendo de esta manera la representacion de dominio espectral en tuplas de coeficientes espectrales.
En las realizaciones el decodificador por entropfa 220 puede adaptarse para decodificar una secuencia de sfmbolos desde el flujo de audio codificado basandose en la distribucion de probabilidad derivada desde el contexto de codificacion usando un alfabeto de sfmbolo que comprende un sfmbolo de escape y sfmbolos de grupo que corresponden a un conjunto de indices de grupo disponibles ng, para derivar una 4-tupla preliminar de coeficientes espectrales basandose en un mdice de grupo disponible ng al que corresponde un sfmbolo de grupo de la secuencia de sfmbolos, y basandose en el mdice de elemento ne, y para multiplicar la 4-tupla preliminar con un factor que depende de un numero de sfmbolos de escape en la secuencia de sfmbolos para obtener la tupla de coeficientes espectrales.
El decodificador por entropfa 220 puede adaptarse adicionalmente para decodificar un resto del flujo de audio codificado basandose en una distribucion de probabilidad uniforme usando una regla de codificacion aritmetica y para anadir el resto a la 4-tupla preliminar multiplicada para obtener la 4-tupla de coeficientes espectrales.
El decodificador por entropfa 220 puede adaptarse para multiplicar la 4-tupla por un factor predeterminado tan a menudo como un sfmbolo de escape se decodifica desde el flujo de audio codificado, siendo un sfmbolo de escape un mdice de grupo espedfico ng unicamente usado para indicar una multiplicacion, y para decodificar un resto del flujo de audio codificado basandose en una distribucion de probabilidad uniforme usando una regla de codificacion aritmetica, el decodificador por entropfa 220 puede adaptarse adicionalmente para anadir el resto a la 4-tupla multiplicada para obtener el segmento actual.
A continuacion se describira una realizacion de un esquema de decodificacion de codificador aritmetico dependiente del contexto USAC. Correspondiente a la realizacion anterior del esquema de codificacion, se consideran 4-tuplas que corresponden a coeficientes espectrales cuantificados, que se codifican de manera sin ruido. Adicionalmente, se supone que las 4-tuplas se transmiten empezando desde la frecuencia o coeficiente espectral mas inferior y progresando a la frecuencia o coeficiente espectral mas superior. Los coeficientes pueden corresponder, por ejemplo, a coeficientes de AAC, que se almacenan en una serie, y el orden de transmision de las palabras de codificacion sin ruido se supone que es de manera que cuando se decodifican en el orden recibido y se almacenan en la serie, bin es el mdice de incremento mas rapido y g es el mdice de incremento mas lento. En una palabra de codigo, el orden de decodificacion es a,b,c,d.
La Figura 7b ilustra el procedimiento de actualizacion de contexto general de una realizacion. Los detalles sobre la
5
10
15
20
25
30
35
40
45
50
55
60
adaptacion de contexto de acuerdo con un mecanismo de prediccion de profundidad de bit se consideraran en la presente realizacion. La Figura 7b muestra un plano 760 que presenta el posible intervalo de una 4-tupla (a,b,c,d) en terminos de planos de bits. La profundidad de bits, es decir el numero de planos de bits necesarios para representar una 4-tupla, puede predecirse por el contexto de la 4-tupla actual por medio del calculo de la variable denominada lev0, que tambien se indica en la Figura 7b. La 4-tupla se divide a continuacion por 2lev0, es decir se eliminan lev=lev0 bit planos y se almacenan para uso posterior de acuerdo con la etapa anteriormente descrita 715.
Si la 4-tupla esta en el intervalo -5<a,b,c,d<4, la profundidad de bits prevista lev0 se predijo correctamente o se sobreestimo. La 4-tupla puede a continuacion decodificarse por el mdice de grupo ng, el mdice de elemento ne y los lev planos de bits restantes, en relacion con la descripcion anterior. La codificacion de la 4-tupla actual se finaliza a continuacion. La codificacion del mdice de elemento ne se indica en la Figura 7b por la distribucion de probabilidad uniforme 762, que se usara a continuacion siempre para codificar indices de elemento, donde en la Figura 7b el parametro r representa el resto de la 4-tupla despues de la division y p(r) representa la funcion de densidad de probabilidad uniforme correspondiente.
Si la 4-tupla no esta en el intervalo -5<a,b,c,d<4 la prediccion basada en el contexto de codificacion 764 es demasiado baja, se codifica 766 un sfmbolo de escape (ng=544) y la 4-tupla se divide por 4 y lev se incrementa por 2, de acuerdo con la etapa 730 en la Figura 7a. El contexto esta adaptado como sigue. Si lev==lev0+2 el contexto esta ligeramente adaptado, que corresponde a 768 en la Figura 7b. Puede establecerse una bandera en la representacion de contexto, t, y se usara a continuacion un nuevo modelo de distribucion de probabilidad para codificar los sfmbolos futuros ng.
Si lev>lev0+2 se codifica otro sfmbolo de escape de acuerdo con la etapa 770 en la Figura 7b el contexto se resetea completamente, consultese 772, descartado como en la etapa 730 en la Figura 7a, respectivamente. No se usa adaptacion de contexto adicional puesto que se considera que no es relevante para la codificacion de 4-tupla actual. El modelo de probabilidad por defecto, el usado cuando no hay disponible contexto, se usa a continuacion para los futuros ng sfmbolos, que se indica por las etapas 774 y 776 en la Figura 7b. El proceso se repite a continuacion para las otras tuplas.
Para resumir, la adaptacion de contexto es un mecanismo para reducir el significado de contexto en la codificacion adaptativa de contexto. La adaptacion de contexto puede activarse cuando el lev0 previsto y el lev real no coinciden. Se detecta facilmente por el numero de sfmbolos de escape codificados (ng=544), consultese 766 y 770 en la Figura 7b, y puede llevarse a cabo por lo tanto en el decodificador de una manera similar tambien.
La adaptacion de contexto puede realizarse activando una bandera en la representacion de estado de contexto t. El valor t se calcula por la funcion get_state(), como lev0, usando el contexto derivado de la trama o segmento anterior y/o actual de la 4-tupla actual, que se almacena en una tabla q[][]. El estado del contexto puede representarse, por ejemplo, por 24 bits. Existen 1905800 posibles estados en una realizacion. Estos estados pueden representarse por unicamente 21 bits. Los bits de orden 23 y 24 de t se reservan para adaptar el estado de contexto. De acuerdo con los valores de los bits de orden 23 y 24, get_pk() emitira diferentes modelos de distribucion de probabilidad. En una realizacion, el bit de orden 23 de t puede establecerse a uno cuando la 4-tupla se divide por 4 despues de dividirse previamente por lev0, es decir lev==lev0+2.
En consecuencia, el mapeo entre el estado de contexto t y el modelo de distribucion de probabilidad pki, es diferente para lev==lev0+2 que para lev==lev0. El mapeo entre el estado de contexto t y el modelo pki se pre-define durante una fase de entrenamiento realizando optimizaciones en las estadfsticas globales de la secuencia de entrenamiento. Cuando lev>lev0+2, el contexto y t pueden establecerse a cero. Get_pk() emite a continuacion el modelo de distribucion de probabilidad por defecto pki, que corresponde a t=0.
A continuacion se describiran los detalles de un mapeo de contexto en una realizacion. El mapeo de contexto es la primera operacion realizada en codificacion adaptativa de contexto despues del reseteo eventual del contexto en la presente realizacion. Se hace en dos etapas.
En primer lugar, antes de la codificacion, la tabla de contexto qs[] de tamano previous_lg/4, grabada en la trama anterior, se mapea en una tabla de contexto q[0][] de tamano lg/4 que corresponde al tamano de la trama actual. El mapeo se realiza en la funcion arith_map_context, que se ejemplifica por el siguiente pseudo-codigo:
/*variable de entrada*/ lg/4 /*numero de 4-tuplas*/ arith_map_context()
{
v=w=0
if(core_mode==1){
q[0] [v++]=qs[w++] ;
5
10
15
20
25
30
35
40
45
50
55
60
65
}
ratio= ((float)previous_lg)/((float)lg); for(j=0; j<lg/4; j++){
k = (int) ((float)) ((j)*ratio); q[0][v++] = qs[w+k];
}
if(core_mode==0) {
q[0][lg/4]=qs[previous_lg/4];
}
q[0][lg/4+1]=qs[previous_lg/4+1]; previous_lg=lg;
}
Como puede observarse a partir del pseudo-codigo, el mapeo puede no ser exactamente el mismo para todas las estrategias de codificacion. En la presente realizacion, el mapeo se diferencia cuando se usa (core_mode==0) AAC (Codificacion de Audio Avanzada) para un coeficiente de cuando se usa (core_mode==1) TCX (Codificacion basada en Transformada). Una de las diferencias proviene de como se manejan los lfmites de las tablas. En AAC, el mapeo puede iniciarse desde el mdice 0 (primer valor en la tabla), mientras que para TCX puede iniciarse desde el mdice 1 (segundo valor en la tabla) conociendo que el primer valor siempre se establece a 'desconocido' (estado espedfico usado para resetear el contexto). La relacion de previous_lg sobre lg determinara el orden del muestreo ascendente (ratio<1) o el muestreo descendente (ratio>1), que se realizara en la presente realizacion. La Figura 7c ilustra el caso de TCX cuando se convierte desde una tabla de contexto grabada de tamano 1024/4, consultese el lado a la izquierda 780 de la Figura 7c, a un tamano de 512/4, consultese el lado a la derecha 782 de la Figura 7c. Puede observarse, que mientras para la tabla de contexto actual 782 se usan incrementos graduales de 1, para la tabla de contexto grabada 780 se usan incrementos graduales de la relacion anteriormente descrita.
La Figura 7c ilustra el procedimiento de actualizacion de contexto de una realizacion para cambios de resolucion. Una vez que se realiza el mapeo, se realiza la codificacion adaptativa de contexto. Al final de la codificacion, los elementos de la trama actual se graban en la tabla qs[] para la siguiente trama. Puede realizarse en arith_update_context(), que se ejemplifica por el siguiente pseudo-codigo:
/*variables de entrada*/
a,b,c,d /* valor de la 4-tupla decodificada*/ i /*el indice de la 4-tupla para decodificar en el vector*/ lg/4 /*numero de 4-tuplas*/ arith_update_context()
{
q[1][1+i].a=a; q[1][1+i].b=b; q[1][1+i].c=c; q[1][1+i].d=d;
if ((a<-4) || (a>=4) || (b<-4) || (b>=4) || (c<-4) || (c>=4) || (d<-4) || (d>=4)) {
q[1][1+i].v =1024;
}
else q[1][1+i].v=egroups[4+a][4+b][4+c][4+d]; if(i==lg/4 && core_mode==1) { qs[0]=q[1][0];
ratio= ((float) lg)/((float)1024); for(j=0; j<256; j++) {
k = (int) ((float) j*ratio); qs[1+k] = q[1][1+j] ;
}
qs[previous_lg/4+1] = q[1][lg/4+1]; previous_lg = 1024;
}
if(i==lg/4 && core_mode==0) { for(j=0; j<258; j++) {
qs[j] = q[1][k];
}
previous_lg = min(1024,lg);
}
}
En la presente realizacion, la grabacion se hace de manera diferente de acuerdo con el codificador principal (AAC o TCX). En TCX el contexto siempre se graba en una tabla qs [] de 1024/4 valores. Este mapeo adicional puede
5
10
15
20
25
30
35
40
45
50
55
60
hacerse debido a la decision de bucle cerrado del AMR-WB+ (Codec de Banda Ancha de Tasa Multiple Adaptativa). En la decision de bucle cerrado son necesarios varios procedimientos de copia de los estados del codificador para probar cada posible combinacion de TCX y ACELP (Prediccion Lineal con Excitacion Aritmetica por Codigo). La copia de estado es mas facil de implementar cuando todos los modos de TCX comparten el mismo tamano para la tabla qs []. A continuacion se usa un mapeo para convertir sistematicamente de lg/4 a 1024/4. Por otra parte, AAC graba unicamente el contexto y no realiza mapeo durante esta fase.
La Figura 8 ilustra un diagrama de flujo de la realizacion del esquema de decodificacion. En la etapa 805, que corresponde a la etapa 705, el contexto se deriva basandose en t0, t1, t2 y t3. En la etapa 810, el primer nivel de reduccion lev0 se estima a partir del contexto, y la variable lev se establece a lev0. En la siguiente etapa 815, el grupo ng se lee a partir del flujo de bits y la distribucion de probabilidad para decodificar ng se deriva a partir del contexto. En la etapa 815, el grupo ng puede decodificarse a continuacion a partir del flujo de bits.
En la etapa 820 se determina si ng equivale 544, que corresponde al valor de escape. En caso afirmativo, la variable lev puede aumentarse en 2 antes de volver a la etapa 815. En caso de que esta rama se use la primera vez, es decir, si lev==lev0, el contexto puede adaptarse en consecuencia a la distribucion de probabilidad respectivamente, descartarse respectivamente si la rama no se usa la primera vez, en relacion con el mecanismo de adaptacion de contexto anteriormente descrito, consultese las Figuras 7b y 7c. En caso de que el mdice de grupo ng no sea igual a 544 en la etapa 820, en una siguiente etapa 825 se determina si el numero de elementos en un grupo es mayor que 1, y en caso afirmativo, en la etapa 830, se lee el elemento de grupo ne y se decodifica a partir del flujo de bits suponiendo una distribucion de probabilidad uniforme. El mdice de elemento ne se deriva a partir del flujo de bits usando codificacion aritmetica y una distribucion de probabilidad uniforme.
En la etapa 835 la palabra de codigo literal (a,b,c,d) se deriva a partir de ng y ne, por ejemplo, por un proceso de busqueda en las tablas, por ejemplo, haciendo referencia a dgroups [ng] y acod_ne[ne].
En la etapa 840 para todos los lev planos de bits faltantes, los planos se leen a partir del flujo de bits usando codificacion aritmetica y suponiendo una distribucion de probabilidad uniforme. Los planos de bits pueden a continuacion anexarse a (a,b,c,d) desplazando (a,b,c,d) a la izquierda y anadiendo el plano de bits bp: ((a,b,c,d)<<=1)|=bp. Este proceso puede repetirse lev veces.
Finalmente en la etapa 845 puede proporcionarse la 4-tupla q(n,m), es decir(a,b,c,d).
A continuacion se proporcionan pseudo codigos y detalles de implementacion de acuerdo con una realizacion. Se usaran las siguientes definiciones.
(a,b,c,d) 4-tupla para decodificar
ng mdice de grupo del plano de 2 bits mas significativos de la 4-tupla, donde 0 <= ng <= 544. El ultimo valor 544 corresponde al sfmbolo de escape, ARITH_ESCAPE.
ne mdice de elemento en un grupo. ne radica entre 0 y el cardinal de cada grupo mm. El numero maximo de elementos dentro de un grupo es 73.
lev nivel de los planos de bits restantes. Corresponde al numero de planos de bits menos significativos que el plano de 2 bits mas significativos.
egroups [a][b][c][d] tabla de mdice de grupo. Permite mapear el plano de 2 bits mas significativos de la 4-tupla (a,b,c,d) en los 544 grupos.
mm cardinal del grupo
og compensacion del grupo
dgroups[] mapea el mdice de grupo ng al cardinal de cada grupo mm (primeros 8 bits) y la compensacion del grupo op en dgvectors[] (ultimos 8 bits).
dgvectors[] mapea la compensacion del grupo og y el mdice del elemento ne al plano de 2 bits mas significativos de la 4-tupla (a,b,c,d).
arith_cf_ng_hash[] tabla de funcion de troceo que mapea el estado de contexto a un mdice de tabla de frecuencias acumulativas pki.
arith_cf_ng[pki][545] Modelos de las frecuencias acumulativas para el mdice de sfmbolo de grupo ng.
5
10
15
20
25
30
35
40
45
50
55
60
65
arith_cf_ne[] frecuencias acumulativas para el sfmbolo de mdice de elemento ne.
r plano de bits de la 4-tupla menos significativo que el plano de 2 bits mas significativos.
arith_cf_r [] frecuencias acumulativas para el sfmbolo r de planos de bits menos significativos
A continuacion se considera en primer lugar el proceso de decodificacion. Se codifican sin ruido coeficientes espectrales cuantificados de cuatro tuplas y se transmiten empezando desde el coeficiente espectral o de frecuencia mas baja y progresando al coeficiente espectral o de frecuencia mas alta. Los coeficientes a partir de AAC se almacenan en la serie x_ac_quant[g][win][sfb][bin], y el orden de transmision de las palabras de codificacion sin ruido es de manera que cuando se decodifican en el orden recibido y se almacenan en la serie, bin es el mdice de incremento mas rapido y g es el mdice de incremento mas lento. En una palabra de codigo el orden de decodificacion es a, b, c, d. El coeficiente desde la TCX se almacena directamente en la serie x_tcx_invquant[win][bin], y el orden de la transmision de las palabras de codificacion sin ruido es de manera que cuando se decodifican en el orden recibido y se almacenan en la serie, bin es el mdice de incremento mas rapido y win es el mdice de incremento mas lento. En una palabra de codigo el orden de decodificacion es a, b, c, d. En primer lugar, la bandera arith_reset_flag determina si el contexto debe resetearse. Si la bandera es VERDADERO se solicita la siguiente funcion:
*variables globales*/
q[2][290] /*contexto actual */
qs[258] /*contexto pasado*/
previous_lg /*numero de 4-tuplas del contexto pasado*/ arith_reset_context()
{
for(i=0;i<258;i++){
qs[i].a=0; qs [i].b=0; qs[i].c=0;qs [i].d=0 qs[i].v=-1;
}
for(i=0;i<290;i++){
q[0] [i].a=0; q[0][i].b=0; q[0][i].c=0;
q[0][i].d=0 q[0] [i] .v=-1;
q[1] [i] .a=0; q[1][i].b=0; q[1][i].c=0; q[1][i].d=0 q[1] [i] .v=-1;
}
previ ous_lg=2 5 6;
}
De otra manera, cuando arith_reset_flag es FALSA, se realiza un mapeo entre el contexto pasado y el contexto actual: /Variable de entrada*/
lg /*numero de 4-tuplas*/ arith_map_context(lg)
{
v=w=0
if(core_mode==1){
q[0] [v++]=qs[w++];
}
ratio= ((float)previous_lg)/((float)lg); for(j=0; j<lg; j++){
k = (int) ((float)) ((j)*ratio); q[0][v++] = qs[w+k];
}
if(core_mode==0){
q[0][lg]=qs[previous_lg];
}
q[0][lg+1]=qs[previous_lg+1]; previous_lg=lg;
}
El decodificador sin ruido emite 4-tuplas de coeficientes espectrales cuantificados con signo. En primer lugar se calcula el estado del contexto basandose en los cuatro grupos previamente decodificados que rodean la 4-tupla para
5
10
15
20
25
30
35
40
45
50
55
60
65
decodificar. El estado del contexto se proporciona por la funcion arith_get_context():
/* variables de entrada*/
i /*el indice de la 4-tupla para decodificar en el vector*/ arith_get_context(i,)
{
t0=q[0][1+i].v+1; t1=q[1][1+i-1].v+1; t2=q[0][1+i-1].v+1;
T3=q[0][1+i+1].v+1;
if ( (t0<10) && (t1<10) && (t2<10) && (t3<10) ){ if (t2>1) t2=2; if (t3>1) t3=2;
return 3*(3*(3*(3*(3*(10*(10*t0+t1))+t2)+t3)));
}
if ( (t0<34) && (t1<34) && (t2<34) && (t3<34)){
if ((t2>1) && (t2<10)) t2=2; else if (t2>=10) t2=3; if ( (t3>1) && (t3<10)) t3=2; else if (t3>=10) t3=3; return 252000 + 4* (4* (34* (34*t0+t1))+t2)+t3;
}
if ( (t0<90) && (t1<90)) return 88 08 64 + 90*(90*t0+t1); if ( (t0<544) && (t1<544)) return 1609864 + 544*t0+t1; if (t0>1)
{
a0=q[0][i].a; b0=q[0][i].b; c0=q[0][i].c; d0=q[0][i].d;
}
else a0=b0=c0=d0=0; if (t1>1)
{
a1=q[1][i-1].a; b1=q[1] [i-1] .b; c1=q[1] [i-1] .c; d1=q[1] [i-1] .d;
}
else a1=b1=c1=d1=0;
1=0;
do
{
a0>>=1;
b0>>=1;
c0>>=1;
d0>>=1;
a1>>=1;
b1>>=1;
c1>>=1;
d1>>=1;
l++;
}
while ((a0<-4) || (a0>=4) || (b0<-4) || (b0>=4) || (c0<-4) || (c0>=4) || (d0<-4) ||
(d0>=4) || (a1<-4) || (a1>=4) || (b1<-4) || (b1>=4) || (c1<-4) || (c1>=4) || (d1<-
4) || (d1>=4) );
if (t0>1) t0=1+(egroups[4+a0][4+b0][4+c0][4+d0] >> 16); if (t1>1) t1=1+(egroups[4+a1] [4+b1] [4+c1] [4+d1] >> 16); return 1609864 + ((1<<24)|(544*t0+t1));
}
Una vez que se conoce el estado el grupo al que pertenece el plano de 2 bits mas significativos de 4-tupla se decodifica usando arith_decode() alimentada con la tabla de frecuencias acumulativas apropiada que corresponde al estado de contexto. La correspondencia se realiza mediante la funcion arith_get_pk():
/*variable de entrada*/ s /* Estado del contexto*/
5
10
15
20
25
30
35
40
45
50
55
60
65
arith_get_pk(s)
{
psci[28] = {
247,248,249,250,251,252,253,254,254,0,254,254,254,255,250,215,
215,70,70,123,123,123,123,3,67,78,82,152
};
register unsigned char *p; register unsigned long i,j; i=123*s; for (;;)
{
j=arith_cf_nq_hash[i&32767] ; if (j ==0xFFFFFFFFul ) break; if ( (j>>8)==s) return j&255; i++;
}
p=psci+7*(s>>22); j= s & 4194303; if (j<436961)
{
if (j<252001) return p[(j<243001)?0:1]; else return p[ (j<288993)?2:3] ;
}
else
{
if (j<1609865) return p[(j<880865)?4:5]; else return p[6];
}
}
A continuacion se solicita la funcion arith_decode()con la tabla de frecuencias acumulativa que corresponde al mdice devuelto por arith_get_pk(). El codificador aritmetico es una implementacion de numero entero que genera la etiqueta con escalado. El siguiente pseudo-codigo de C describe el algoritmo usado.
/*funciones de ayuda*/
bool arith_first_symbol(void);
/* Devolver VERDADERO si es el primer simbolo de la secuencia, FALSO de lo contrario*/
Ushort arith_get_next_bit(void) ;
/* Obtener el siguiente bit del flujo de bits*/
/* variables globales */
low
high
value
/* variables de entrada */ cum_freq[]; cfl;
arith_decode()
{
if(arith_first_symbol())
{
value = 0;
for (i=1; i<=20; i++)
{
value = (val<<1) | arith_get_next_bit();
}
low=0;
high=1048575;
}
range = high-low+1;
cum =((((int64) (value-low+1))<<16)-((int64) 1)) / ( (int64) range); p = cum_freq-1; do {
q=p+(cfl>>1);
if ( *q > cum ) { p=q; cfl++; }
5
10
15
20
25
30
35
40
45
50
55
60
65
cfl>>=1;
}
while ( cfl>1 ) ; symbol = p-cum_freq+1; if(symbol)
high = low + (((int64)range)*((int64)cum_freq[symbol-1]))>>16 - 1; low += (((int64) range)* ((int64) cum_freq[symbol]))>>16; for (; ;)
{
if ( high<524286) { }
else if ( low>=524286)
{
value -=524286;
low -=524286; high -=524286;
}
else if ( low>=262143 && high<786429)
{
value -= 262143; low -= 262143; high -= 262143;
}
else break; low += low; high += high+1;
value = (value<<1) | arith_get_next_bit();
}
return symbol;
}
Aunque el mdice de grupo decodificado ng es el sfmbolo de escape, ARITH_ESCAPE, se decodifica un mdice de grupo adicional ng y la variable lev se incrementa en dos. Una vez que el mdice de grupo decodificado no es el sfmbolo de escape, ARITH_ESCAPE, el numero de elementos, mm, en el grupo y la compensacion de grupo, og, se deducen buscando la tabla dgroups[]:
mm=dgroups[nq]&255 og = dgroups[nq]>>8
El mdice de elemento ne se decodifica a continuacion solicitando arith_decode() con la tabla de frecuencias acumulativa (arith_cf_ne+((mm*(mm-1))>>1)[]. Una vez que se decodifica el elemento puede derivarse el plano de 2 bits mas significativos de la 4-tupla con la tabla dgvector[]:
a=dgvectors[4*og+ne)]
b=dgvectors[4*og+ne)+1]
c=dgvectors[4*og+ne)+2]
d=dgvectors[4*og+ne)+3]
Los restantes planos de bits se decodifican a continuacion a partir del nivel mas significativo al menos significativo solicitando lev veces arith_decode() con la tabla de frecuencias acumulativa arith_cf_r []. El plano de bits decodificado r permite perfeccionar la 4-tupla de decodificacion mediante la siguiente manera:
a = (a<<1) | (r&1)
b = (b<<1) | ((r>>1)&1)
c = (c<<1) | ((r>>2)&1)
d = (d<<1) | ((r>>3)
Una vez que la 4-tupla (a,b,c,d) esta completamente decodificada, se actualizan las tablas de contexto q y qs solicitando la funcion arith_update_context().
5
10
15
20
25
30
35
40
45
50
55
60
65
arith_update_context(a,b,c,d,i,lg)
{
q[1][1+i].a=a; q[1][1+i].b=b; q[1][1+i].c=c; q[1][1+i].d=d;
if ( (a<-4) || (a>=4) || (b<-4) || (b>=4) || (c<-4) || (c>=4) || (d<-4) || (d>=4) )
q[1] [1+i] .v =1024;
else q[1][1+i].v=egroups[4+a][4+b][4+c][4+d]; if(i==lg && core_mode==1){ qs[0]=q[1] [0];
ratio= ((float) lg)/((float)256); for(j=0; j<256; j++){
k = (int) ((float)) ((j)*ratio); qs[1+k] = q[1] [1+j] ;
}
qs[previous_lg+1]=q[1][lg+1]; previ ous_lg=2 5 6;
}
if(i==lg && core_mode==0){ for(j=0; j<258; j++){ qs[j] = q[1][k];
}
previous_lg=min(1024,lg);
}
}
Dependiendo de ciertos requisitos de implementacion de los metodos inventivos, los metodos inventivos pueden implementarse en hardware o en software. La implementacion puede formarse usando un medio de almacenamiento digital, en particular, un disco, un DVD, o un CD, que tiene senales de control electronicamente legibles en el mismo, que cooperan con el ordenador programable, de manera que se realizan los metodos inventivos. En general, la presente invencion es por lo tanto un producto de programa informatico con un codigo de programa para un soporte legible por maquina, siendo el codigo de programa operativo para realizar los metodos inventivos cuando el programa informatico se ejecuta en un ordenador. En otras palabras, los metodos inventivos son, por lo tanto, un programa informatico que tiene un codigo de programa para realizar al menos uno de los metodos inventivos cuando el programa informatico se ejecuta en un ordenador.
Entre otras cosas, las realizaciones anteriores describen un codificador de audio 100 para codificar segmentos de coeficientes, representando los segmentos de coeficientes diferentes resoluciones de tiempo o frecuencia de una senal de audio muestreada, comprendiendo el codificador de audio 100 unos medios para proporcionar los segmentos de coeficientes desde un flujo de audio, formando los coeficientes una representacion espectral de una senal de audio representada por el flujo de audio a una resolucion espectral que vana entre los segmentos; un procesador 110 para derivar un contexto de codificacion para un coeficiente actualmente codificado de un segmento actual basandose en un coeficiente previamente codificado de un segmento anterior, representando el coeficiente previamente codificado una resolucion de tiempo o frecuencia diferente de la del coeficiente codificado actualmente; y un codificador por entropfa 120 para codificar por entropfa el coeficiente actual basandose en el contexto de codificacion para obtener un flujo de audio codificado, en el que el codificador por entropfa (120) esta adaptado para codificar el coeficiente actual en unidades de una tupla de coeficientes espectrales y para prever un intervalo de la tupla basandose en el contexto de codificacion, en el que el codificador por entropfa (120) esta adaptado para dividir la tupla por un factor predeterminado tan a menudo como sea necesario para adaptarse a un resultado de la division en un intervalo predeterminado y para codificar un numero de divisiones necesarias, un resto de division y el resultado de la division cuando la tupla no radica en el intervalo previsto, y para codificar un resto de division y el resultado de la division de otra manera, y en el que el codificador por entropfa (120) esta adaptado para codificar el resultado de la division o la tupla usando un mdice de grupo, haciendo referencia el mdice de grupo a un grupo de una o mas palabras de codigo para el que una distribucion de probabilidad esta basada en el contexto de codificacion, y, basandose en una distribucion de probabilidad uniforme, un mdice de elemento en el caso de que el grupo comprenda mas de una palabra de codigo, haciendo referencia el mdice de elemento a una palabra de codigo dentro del grupo, y para codificar el numero de divisiones por un numero de sfmbolos de escape, siendo un sfmbolo de escape un mdice de grupo espedfico unicamente usado para indicar una division, y para codificar los restos de las divisiones basandose en una distribucion de probabilidad uniforme usando una regla de codificacion aritmetica.
Por consiguiente, las realizaciones anteriores tambien describen, entre otras cosas, un decodificador de audio 200 para decodificar un flujo de audio codificado para obtener segmentos de coeficientes que representan diferentes resoluciones de tiempo o frecuencia de una senal de audio muestreada, que comprende un procesador 210 para derivar un contexto de codificacion para un coeficiente decodificado actualmente de un segmento actual basandose
en un coeficiente previamente decodificado de un segmento anterior, representando el coeficiente previamente decodificado una diferente resolucion de tiempo o de frecuencia que la del coeficiente actualmente decodificado; y un decodificador por entropfa 220 para decodificar por entrc^a el coeficiente actual basandose en el contexto de codificacion y el flujo de audio codificado, en el que el procesador 210 esta adaptado para derivar el contexto de 5 codificacion basandose en el coeficiente anterior, formando los coeficientes una representacion espectral de una senal de audio representada por el flujo de audio a una resolucion espectral que vana entre los segmentos, en el que el procesador esta adaptado para derivar el contexto de codificacion para el coeficiente actual, basandose en coeficientes espectrales vecinos previamente decodificados en el segmento anterior y opcionalmente en el segmento actual, y en el que el decodificador por entropfa 220 esta adaptado para decodificar un mdice de grupo 10 desde el flujo de audio codificado basandose en una distribucion de probabilidad derivada desde el contexto de codificacion, en el que el mdice de grupo representa un grupo de una o mas palabras de codigo, y para decodificar, basandose en una distribucion de probabilidad uniforme, un mdice de elemento desde el flujo de audio codificado si el mdice de grupo indica un grupo que comprende mas de una palabra de codigo, y para derivar una tupla de coeficientes espectrales del segmento actual basandose en el mdice de grupo y el mdice de elemento, obteniendo 15 de esta manera la representacion de dominio espectral en tuplas de coeficientes espectrales.

Claims (6)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    REIVINDICACIONES
    1. Un decodificador de audio (200) para decodificar un flujo de audio codificado que representa una senal de audio muestreada para obtener una secuencia de segmentos de coeficientes que son posteriores entre sf en tiempo y que representan la senal de audio muestreada usando diferentes longitudes de transformada de manera que los segmentos de coeficientes para los que se usan diferentes longitudes de transformada, representan de manera espectral la senal de audio muestreada a diferentes resoluciones de frecuencia, que comprende
    un procesador (210) para derivar un contexto de codificacion para un coeficiente decodificado actualmente de un segmento actual basandose en un coeficiente previamente decodificado de un segmento anterior, correspondiendo los segmentos anterior y actual a diferentes resoluciones de frecuencia y diferentes longitudes de transformada, respectivamente; y
    un decodificador por entropfa (220) para decodificar por entropfa el coeficiente actual basandose en el contexto de codificacion y el flujo de audio codificado,
    en el que el procesador esta adaptado para derivar el contexto de codificacion por banda espectral para el coeficiente actual, basandose en coeficientes espectrales vecinos previamente decodificados en el segmento anterior y opcionalmente en el segmento actual,
    en el que el decodificador por entropfa (220) esta adaptado para decodificar un mdice de grupo desde el flujo de audio codificado basandose en una distribucion de probabilidad derivada a partir del contexto de codificacion, en el que el mdice de grupo representa un grupo de una o mas palabras de codigo, y para decodificar, basandose en una distribucion de probabilidad uniforme, un mdice de elemento desde el flujo de audio codificado si el mdice de grupo indica un grupo que comprende mas de una palabra de codigo, y para derivar una tupla de coeficientes espectrales del segmento actual basandose en el mdice de grupo y el mdice de elemento, obteniendo de esta manera la representacion de dominio espectral en tuplas de coeficientes espectrales.
  2. 2. El decodificador de audio (200) de la reivindicacion 1, en el que el decodificador por entropfa (220) esta adaptado para decodificar una secuencia de sfmbolos desde el flujo de audio codificado basandose en la distribucion de probabilidad derivada desde el contexto de codificacion usando un alfabeto de sfmbolos que comprende un sfmbolo de escape y sfmbolos de grupo que corresponden a un conjunto de indices de grupo disponibles, para derivar una tupla preliminar de coeficientes espectrales basandose en un mdice de grupo disponible al que corresponde un sfmbolo de grupo de la secuencia de sfmbolos, y basandose en el mdice de elemento, y para multiplicar la tupla preliminar por un factor que depende de un numero de sfmbolos de escape en la secuencia de sfmbolos para obtener la tupla de coeficientes espectrales.
  3. 3. El decodificador de audio (200) de la reivindicacion 2, en el que el decodificador por entropfa (220) esta adaptado para decodificar un resto de division desde el flujo de audio codificado basandose en una distribucion de probabilidad uniforme usando una regla de codificacion aritmetica y para anadir el resto de la tupla preliminar multiplicada para obtener la tupla de coeficientes espectrales.
  4. 4. El decodificador de audio (200) de una de las reivindicaciones 1 a 2, en el que el procesador (210) y el decodificador por entropfa (220) estan configurados para operar basandose en un muestreo descendente de coeficientes espectrales del segmento anterior, cuando el segmento anterior presenta una resolucion espectral mas precisa que el segmento actual y/o en el que el procesador (210) y el decodificador por entropfa (220) estan configurados para operar basandose en un muestreo superior de coeficientes espectrales del segmento anterior, cuando el segmento anterior presenta una resolucion espectral mas basta que el segmento actual.
  5. 5. Un metodo para decodificar un flujo de audio codificado que representa una senal de audio muestreada para obtener una secuencia de segmentos de coeficientes que son posteriores entre sf en tiempo y representar la senal de audio muestreada usando diferentes longitudes de transformada de manera que los segmentos de coeficientes para los que se usan diferentes longitudes de transformada, representan de manera espectral la senal de audio muestreada a diferentes resoluciones de frecuencia, que comprende las etapas de
    derivar un contexto de codificacion para un coeficiente decodificado actualmente de un segmento actual basandose en un coeficiente previamente decodificado de un segmento anterior, correspondiendo los segmentos anterior y actual a diferentes resoluciones de frecuencia y diferentes longitudes de transformada, respectivamente; y decodificar por entropfa el coeficiente actual basandose en el contexto de codificacion y el flujo de audio codificado, en el que la derivacion comprende derivar el contexto de codificacion por banda espectral para el coeficiente actual, basandose en coeficientes espectrales vecinos previamente decodificados en el segmento anterior y opcionalmente en el segmento actual, en el que la decodificacion por entropfa comprende decodificar un mdice de grupo desde el flujo de audio codificado basandose en una distribucion de probabilidad derivada desde el contexto de codificacion, en el que el mdice de grupo representa un grupo de una o mas palabras de codigo, y, basandose en una distribucion de probabilidad uniforme, decodificar un mdice de elemento desde el flujo de audio codificado si el mdice de grupo indica un grupo que comprende mas de una palabra de codigo, y derivar una tupla de coeficientes espectrales del segmento actual basandose en el mdice de grupo y el mdice de elemento, obteniendo de esta manera la representacion de dominio espectral en tuplas de coeficientes espectrales.
  6. 6. Un programa informatico que tiene un codigo de programa para realizar el metodo de la reivindicacion 5, cuando el codigo de programa se ejecuta en un ordenador o un procesador.
ES09776624.0T 2008-07-11 2009-05-18 Codificador de audio y decodificador de audio Active ES2651437T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US7984208P 2008-07-11 2008-07-11
US79842 2008-07-11
US10382008P 2008-10-08 2008-10-08
US103820 2008-10-08
PCT/EP2009/003521 WO2010003479A1 (en) 2008-07-11 2009-05-18 Audio encoder and audio decoder

Publications (1)

Publication Number Publication Date
ES2651437T3 true ES2651437T3 (es) 2018-01-26

Family

ID=40886050

Family Applications (3)

Application Number Title Priority Date Filing Date
ES19160283T Active ES2934052T3 (es) 2008-07-11 2009-05-18 Codificador de audio y decodificador de audio
ES17190130T Active ES2731424T3 (es) 2008-07-11 2009-05-18 Codificador de audio y decodificador de audio
ES09776624.0T Active ES2651437T3 (es) 2008-07-11 2009-05-18 Codificador de audio y decodificador de audio

Family Applications Before (2)

Application Number Title Priority Date Filing Date
ES19160283T Active ES2934052T3 (es) 2008-07-11 2009-05-18 Codificador de audio y decodificador de audio
ES17190130T Active ES2731424T3 (es) 2008-07-11 2009-05-18 Codificador de audio y decodificador de audio

Country Status (22)

Country Link
US (10) US8930202B2 (es)
EP (10) EP4376306A3 (es)
JP (1) JP5606433B2 (es)
KR (1) KR101456641B1 (es)
CN (1) CN102089813B (es)
AR (1) AR072422A1 (es)
AU (1) AU2009267543B2 (es)
BR (4) BRPI0910796B1 (es)
CA (1) CA2729925C (es)
CO (1) CO6351831A2 (es)
DK (1) DK3573056T3 (es)
ES (3) ES2934052T3 (es)
FI (1) FI3573056T3 (es)
HK (1) HK1253032A1 (es)
MX (1) MX2011000379A (es)
MY (1) MY160260A (es)
PL (3) PL3573056T3 (es)
PT (3) PT3573056T (es)
RU (1) RU2487427C2 (es)
TW (1) TWI449033B (es)
WO (1) WO2010003479A1 (es)
ZA (1) ZA201009258B (es)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991610B2 (en) * 2005-04-13 2011-08-02 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Adaptive grouping of parameters for enhanced coding efficiency
DK3573056T3 (da) 2008-07-11 2022-10-03 Fraunhofer Ges Forschung Audiokoder og audioafkoder
BRPI0910792B1 (pt) 2008-07-11 2020-03-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. "sintetizador de sinal de áudio e codificador de sinal de áudio"
EP2346030B1 (en) * 2008-07-11 2014-10-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, method for encoding an audio signal and computer program
KR20100136890A (ko) * 2009-06-19 2010-12-29 삼성전자주식회사 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법
EP2315358A1 (en) 2009-10-09 2011-04-27 Thomson Licensing Method and device for arithmetic encoding or arithmetic decoding
RU2605677C2 (ru) 2009-10-20 2016-12-27 Франхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Аудио кодер, аудио декодер, способ кодирования аудио информации, способ декодирования аудио информации и компьютерная программа, использующая итеративное уменьшение размера интервала
PL2524372T3 (pl) * 2010-01-12 2015-08-31 Fraunhofer Ges Forschung Koder audio. dekoder audio, sposób kodowania i dekodowania informacji audio i program komputerowy uzyskujący wartość podobszaru kontekstu w oparciu o normę uprzednio zdekodowanych wartości widmowych
US8280729B2 (en) * 2010-01-22 2012-10-02 Research In Motion Limited System and method for encoding and decoding pulse indices
ES2461183T3 (es) 2010-03-10 2014-05-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V Decodificador de señales de audio, codificador de señales de audio, procedimiento para decodificar una señal de audio, método para codificar una señal de audio y programa de ordenador que utilizan una adaptación dependiente de la frecuencia de un contexto de codificación
EP4131258A1 (en) * 2010-07-20 2023-02-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder, audio decoding method, audio encoder, audio encoding method and computer program
CN103703511B (zh) * 2011-03-18 2017-08-22 弗劳恩霍夫应用研究促进协会 定位在表示音频内容的比特流的帧中的帧元素
TWI451746B (zh) * 2011-11-04 2014-09-01 Quanta Comp Inc 視訊會議系統及視訊會議方法
WO2013173080A1 (en) 2012-05-18 2013-11-21 Dolby Laboratories Licensing Corporation System for maintaining reversible dynamic range control information associated with parametric audio coders
US10844689B1 (en) 2019-12-19 2020-11-24 Saudi Arabian Oil Company Downhole ultrasonic actuator system for mitigating lost circulation
JP6065452B2 (ja) * 2012-08-14 2017-01-25 富士通株式会社 データ埋め込み装置及び方法、データ抽出装置及び方法、並びにプログラム
TWI553628B (zh) * 2012-09-24 2016-10-11 三星電子股份有限公司 訊框錯誤隱藏方法
KR20140089871A (ko) 2013-01-07 2014-07-16 삼성전자주식회사 대화형 서버, 그 제어 방법 및 대화형 시스템
JP6146069B2 (ja) 2013-03-18 2017-06-14 富士通株式会社 データ埋め込み装置及び方法、データ抽出装置及び方法、並びにプログラム
RU2662921C2 (ru) 2013-06-10 2018-07-31 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Устройство и способ для кодирования, обработки и декодирования огибающей аудиосигнала путем моделирования представления совокупной суммы с использованием квантования и кодирования распределения
RU2660633C2 (ru) * 2013-06-10 2018-07-06 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Устройство и способ для кодирования, обработки и декодирования огибающей аудиосигнала путем разделения огибающей аудиосигнала с использованием квантования и кодирования распределения
EP2830061A1 (en) 2013-07-22 2015-01-28 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding and decoding an encoded audio signal using temporal noise/patch shaping
EP2830055A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Context-based entropy coding of sample values of a spectral envelope
WO2016142002A1 (en) * 2015-03-09 2016-09-15 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal
GB2559199A (en) * 2017-01-31 2018-08-01 Nokia Technologies Oy Stereo audio signal encoder
CN115050378B (zh) * 2022-05-19 2024-06-07 腾讯科技(深圳)有限公司 音频编解码方法及相关产品

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253055A (en) * 1992-07-02 1993-10-12 At&T Bell Laboratories Efficient frequency scalable video encoding with coefficient selection
US5710562A (en) 1995-08-31 1998-01-20 Ricoh Company Ltd. Method and apparatus for compressing arbitrary data
US5852806A (en) * 1996-03-19 1998-12-22 Lucent Technologies Inc. Switched filterbank for use in audio signal coding
EP0990368B1 (en) * 1997-05-08 2002-04-24 STMicroelectronics Asia Pacific Pte Ltd. Method and apparatus for frequency-domain downmixing with block-switch forcing for audio decoding functions
US6226608B1 (en) * 1999-01-28 2001-05-01 Dolby Laboratories Licensing Corporation Data framing for adaptive-block-length coding system
IL160386A (en) * 1999-04-06 2005-11-20 Broadcom Corp Video encoding and video/audio/data multiplexing device
WO2002091363A1 (en) 2001-05-08 2002-11-14 Koninklijke Philips Electronics N.V. Audio coding
US7460993B2 (en) * 2001-12-14 2008-12-02 Microsoft Corporation Adaptive window-size selection in transform coding
US7240001B2 (en) * 2001-12-14 2007-07-03 Microsoft Corporation Quality improvement techniques in an audio encoder
EP1484841B1 (en) * 2002-03-08 2018-12-26 Nippon Telegraph And Telephone Corporation DIGITAL SIGNAL ENCODING METHOD, DECODING METHOD, ENCODING DEVICE, DECODING DEVICE and DIGITAL SIGNAL DECODING PROGRAM
US7110941B2 (en) * 2002-03-28 2006-09-19 Microsoft Corporation System and method for embedded audio coding with implicit auditory masking
WO2003083856A1 (en) * 2002-03-28 2003-10-09 Craven Peter G Context coding
US7275036B2 (en) * 2002-04-18 2007-09-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding a time-discrete audio signal to obtain coded audio data and for decoding coded audio data
KR100462611B1 (ko) * 2002-06-27 2004-12-20 삼성전자주식회사 하모닉 성분을 이용한 오디오 코딩방법 및 장치
US7299190B2 (en) * 2002-09-04 2007-11-20 Microsoft Corporation Quantization and inverse quantization for audio
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
US7502743B2 (en) * 2002-09-04 2009-03-10 Microsoft Corporation Multi-channel audio encoding and decoding with multi-channel transform selection
US7536305B2 (en) * 2002-09-04 2009-05-19 Microsoft Corporation Mixed lossless audio compression
US7328150B2 (en) * 2002-09-04 2008-02-05 Microsoft Corporation Innovations in pure lossless audio compression
ATE543179T1 (de) * 2002-09-04 2012-02-15 Microsoft Corp Entropische kodierung mittels anpassung des kodierungsmodus zwischen niveau- und lauflängenniveau-modus
CN1714584B (zh) * 2002-12-20 2010-05-05 诺基亚有限公司 采用元信息来组织用户提供信息的方法及装置
DE10328777A1 (de) * 2003-06-25 2005-01-27 Coding Technologies Ab Vorrichtung und Verfahren zum Codieren eines Audiosignals und Vorrichtung und Verfahren zum Decodieren eines codierten Audiosignals
US7343291B2 (en) * 2003-07-18 2008-03-11 Microsoft Corporation Multi-pass variable bitrate media encoding
US7509161B2 (en) * 2003-10-22 2009-03-24 Instrumentarium Corporation Method and apparatus for determining the cerebral state of a patient using generalized spectral entropy of the EEG signal
DE102004007200B3 (de) * 2004-02-13 2005-08-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiocodierung
US20050185541A1 (en) 2004-02-23 2005-08-25 Darren Neuman Method and system for memory usage in real-time audio systems
KR20050087956A (ko) * 2004-02-27 2005-09-01 삼성전자주식회사 무손실 오디오 부호화/복호화 방법 및 장치
KR100561869B1 (ko) * 2004-03-10 2006-03-17 삼성전자주식회사 무손실 오디오 부호화/복호화 방법 및 장치
TWI246256B (en) * 2004-07-02 2005-12-21 Univ Nat Central Apparatus for audio compression using mixed wavelet packets and discrete cosine transformation
KR101050261B1 (ko) * 2004-07-14 2011-07-19 에이전시 포 사이언스, 테크놀로지 앤드 리서치 콘텍스트 기반의 신호 엔코딩 및 디코딩
WO2006028010A1 (ja) * 2004-09-06 2006-03-16 Matsushita Electric Industrial Co., Ltd. スケーラブル符号化装置およびスケーラブル符号化方法
SE0402651D0 (sv) * 2004-11-02 2004-11-02 Coding Tech Ab Advanced methods for interpolation and parameter signalling
US7428342B2 (en) * 2004-12-17 2008-09-23 Microsoft Corporation Reversible overlap operator for efficient lossless data compression
US7991610B2 (en) * 2005-04-13 2011-08-02 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Adaptive grouping of parameters for enhanced coding efficiency
US7788106B2 (en) * 2005-04-13 2010-08-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Entropy coding with compact codebooks
US7196641B2 (en) * 2005-04-26 2007-03-27 Gen Dow Huang System and method for audio data compression and decompression using discrete wavelet transform (DWT)
US8032368B2 (en) * 2005-07-11 2011-10-04 Lg Electronics Inc. Apparatus and method of encoding and decoding audio signals using hierarchical block swithcing and linear prediction coding
US7539612B2 (en) * 2005-07-15 2009-05-26 Microsoft Corporation Coding and decoding scale factor information
US20070036228A1 (en) * 2005-08-12 2007-02-15 Via Technologies Inc. Method and apparatus for audio encoding and decoding
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US20070078645A1 (en) * 2005-09-30 2007-04-05 Nokia Corporation Filterbank-based processing of speech signals
US7974713B2 (en) * 2005-10-12 2011-07-05 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Temporal and spatial shaping of multi-channel audio signals
US8473298B2 (en) * 2005-11-01 2013-06-25 Apple Inc. Pre-resampling to achieve continuously variable analysis time/frequency resolution
CN101390443B (zh) * 2006-02-21 2010-12-01 皇家飞利浦电子股份有限公司 音频编码和解码
KR101244310B1 (ko) * 2006-06-21 2013-03-18 삼성전자주식회사 광대역 부호화 및 복호화 방법 및 장치
KR101346358B1 (ko) * 2006-09-18 2013-12-31 삼성전자주식회사 대역폭 확장 기법을 이용한 오디오 신호의 부호화/복호화방법 및 장치
US7275936B1 (en) * 2006-09-22 2007-10-02 Lotes Co., Ltd. Electrical connector
US20080097757A1 (en) * 2006-10-24 2008-04-24 Nokia Corporation Audio coding
EP2120461B1 (en) * 2007-03-14 2011-07-06 Nippon Telegraph and Telephone Corporation Code quantity estimating method and device, their program, and recording medium
US20080294446A1 (en) 2007-05-22 2008-11-27 Linfeng Guo Layer based scalable multimedia datastream compression
EP2015293A1 (en) * 2007-06-14 2009-01-14 Deutsche Thomson OHG Method and apparatus for encoding and decoding an audio signal using adaptively switched temporal resolution in the spectral domain
US7774205B2 (en) 2007-06-15 2010-08-10 Microsoft Corporation Coding of sparse digital media spectral data
US8515767B2 (en) * 2007-11-04 2013-08-20 Qualcomm Incorporated Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8447591B2 (en) 2008-05-30 2013-05-21 Microsoft Corporation Factorization of overlapping tranforms into two block transforms
EP2346030B1 (en) * 2008-07-11 2014-10-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, method for encoding an audio signal and computer program
EP2144230A1 (en) * 2008-07-11 2010-01-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Low bitrate audio encoding/decoding scheme having cascaded switches
DK3573056T3 (da) * 2008-07-11 2022-10-03 Fraunhofer Ges Forschung Audiokoder og audioafkoder
US8660176B2 (en) * 2008-09-26 2014-02-25 Qualcomm Incorporated Resolving geometric relationships among video data units
RU2605677C2 (ru) * 2009-10-20 2016-12-27 Франхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Аудио кодер, аудио декодер, способ кодирования аудио информации, способ декодирования аудио информации и компьютерная программа, использующая итеративное уменьшение размера интервала
PL2524372T3 (pl) * 2010-01-12 2015-08-31 Fraunhofer Ges Forschung Koder audio. dekoder audio, sposób kodowania i dekodowania informacji audio i program komputerowy uzyskujący wartość podobszaru kontekstu w oparciu o normę uprzednio zdekodowanych wartości widmowych
CA2925734C (en) * 2013-10-18 2018-07-10 Guillaume Fuchs Coding of spectral coefficients of a spectrum of an audio signal

Also Published As

Publication number Publication date
WO2010003479A1 (en) 2010-01-14
FI3573056T3 (fi) 2022-11-30
BR122021007875B1 (pt) 2022-02-22
ZA201009258B (en) 2011-11-30
EP4376306A2 (en) 2024-05-29
EP4369609A3 (en) 2024-05-22
ES2934052T3 (es) 2023-02-16
EP2301019B1 (en) 2017-10-04
EP4376307A2 (en) 2024-05-29
JP5606433B2 (ja) 2014-10-15
EP3937167A1 (en) 2022-01-12
EP3573056A1 (en) 2019-11-27
RU2487427C2 (ru) 2013-07-10
EP3300076B1 (en) 2019-04-24
EP4224471A2 (en) 2023-08-09
CN102089813A (zh) 2011-06-08
EP4224472B1 (en) 2024-07-31
BRPI0910796A2 (pt) 2020-11-03
EP4376307A3 (en) 2024-07-10
AU2009267543B2 (en) 2013-01-31
BRPI0910796B1 (pt) 2021-07-13
ES2731424T3 (es) 2019-11-15
US20230260524A1 (en) 2023-08-17
US20240249734A1 (en) 2024-07-25
TW201007698A (en) 2010-02-16
PL3300076T3 (pl) 2019-11-29
PL2301019T3 (pl) 2018-04-30
US8930202B2 (en) 2015-01-06
US11942101B2 (en) 2024-03-26
EP4369609A2 (en) 2024-05-15
CO6351831A2 (es) 2011-12-20
KR20110040822A (ko) 2011-04-20
EP3573056B1 (en) 2022-08-17
US20240249735A1 (en) 2024-07-25
EP3300076A1 (en) 2018-03-28
US20190189136A1 (en) 2019-06-20
JP2011527443A (ja) 2011-10-27
EP4376305A2 (en) 2024-05-29
TWI449033B (zh) 2014-08-11
US20240249733A1 (en) 2024-07-25
CN102089813B (zh) 2013-11-20
DK3573056T3 (da) 2022-10-03
US20230326470A1 (en) 2023-10-12
RU2011102424A (ru) 2012-07-27
CA2729925C (en) 2016-03-29
US20240249736A1 (en) 2024-07-25
US20200294515A1 (en) 2020-09-17
CA2729925A1 (en) 2010-01-14
EP4224472A1 (en) 2023-08-09
EP4376305A3 (en) 2024-07-03
PT3300076T (pt) 2019-07-17
US20150194160A1 (en) 2015-07-09
KR101456641B1 (ko) 2014-11-04
HK1253032A1 (zh) 2019-06-06
MX2011000379A (es) 2011-02-25
US11670310B2 (en) 2023-06-06
PT3573056T (pt) 2022-10-24
AU2009267543A1 (en) 2010-01-14
EP4224471B1 (en) 2024-08-07
PT2301019T (pt) 2017-12-26
US12039985B2 (en) 2024-07-16
EP3937167B1 (en) 2023-05-10
US10685659B2 (en) 2020-06-16
AR072422A1 (es) 2010-08-25
EP4224471A3 (en) 2023-09-06
BR122021008239B1 (pt) 2022-03-03
PL3573056T3 (pl) 2022-12-19
MY160260A (en) 2017-02-28
EP2301019A1 (en) 2011-03-30
EP4376306A3 (en) 2024-07-03
US10242681B2 (en) 2019-03-26
US20110173007A1 (en) 2011-07-14
BR122021007798B1 (pt) 2021-10-26

Similar Documents

Publication Publication Date Title
ES2651437T3 (es) Codificador de audio y decodificador de audio
ES2646814T3 (es) Codificación de señales de audio por transformada modificada deformada en el tiempo
ES2558508T3 (es) Método de codificación, codificador, método de determinación de la cantidad de una característica periódica, aparato de determinación de la cantidad de una característica periódica, programa y medio de grabación
ES2890706T3 (es) Método de codificación, codificador, programa, y medio de grabación
ES2951482T3 (es) Codificador de audio y decodificador de audio
BR122021007770B1 (pt) Codificador de áudio e decodificador de áudio
BR122021006965B1 (pt) Codificador de áudio e decodificador de áudio