ES2297083T3

Entropy coding by adapting coding between level and run-length/level modes

Abstract

A method of encoding audio data in a computer system, the method comprising: encoding a first portion of an audio data stream in a direct vector Huffman encoding mode of variable dimension (960); switch (980) to an execution level coding mode at a switching point, and encode a second portion of the audio data sequence in the execution level coding mode.

ES2297083T3, drawing sheet 1
Sheet 1 of 25

Term

Term ended

Projected expiry passed 3 September 2023, 3.1 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

48 claims: 24 independent, 24 dependent

  1. 1
    ES 2 297 083 T3 ES 2 297 083 T3 CLAIMS REIVINDICACIONES 1. A procedure for encoding audio data in a computer system, the procedure comprising:1. Un procedimiento de codificación de datos de audio en un sistema de ordenador, comprendiendo el procedimiento: codificar una primera porción de una secuencia de datos de audio en un modo de codificación vectorial directa de Huffman de dimensión variable (960);encoding a first portion of an audio data stream in a variable dimension direct Huffman vector encoding mode (960);conmutar (980) a un modo de codificación de nivel de ejecución en un punto de conmutación, y codificar una segunda porción de la secuencia de datos de audio en el modo de codificación de nivel de ejecución. switching (980) to a run-level encoding mode at a switch point, and encoding a second portion of the audio data stream in the run-level encoding mode.
  2. 7
    The method of any one of claims 1 to 6, further comprising:7. El procedimiento de una cualquiera de las reivindicaciones 1 a 6, que comprende además: conmutar a un tercer modo de codificación en un segundo punto de conmutación. switching to a third encoding mode at a second switching point.
  3. 8
    The method of any one of claims 1 to 7, wherein the sequence level encoding mode comprises context-based arithmetic encoding of lengths and run levels. 8. El procedimiento de una cualquiera de las reivindicaciones 1 a 7, en el que el modo de codificación de nivel de secuencia comprende codificación aritmética basada en contexto de longitudes y niveles de ejecución.
  4. 9
    The method of any one of claims 1 to 7, wherein the run-level encoding mode comprises Huffman encoding of sequence lengths and levels. 9. El procedimiento de una cualquiera de las reivindicaciones 1 a 7, en el que el modo de codificación de nivel de ejecución comprende codificación de Huffman de longitudes y niveles de secuencia.
  5. 10
    The method of one of claims 1 to 7, wherein the runlevel encoding mode comprises Huffman vector encoding of runlevels and lengths. 10. El procedimiento de una de las reivindicaciones 1 a 7, en el que el modo de codificación de nivel de ejecución comprende la codificación vectorial de Huffman de longitudes y niveles de ejecución.
  6. 11
    El procedimiento de una cualquiera de las reivindicaciones 1 a 10, en el que la codificación de la primera porción de la secuencia de datos de audio en el modo de codificación vectorial directa de Huffman de dimensión variable comprende:eleven. The method of any one of claims 1 to 10, wherein encoding the first portion of the audio data stream in variable dimension direct Huffman vector encoding mode comprises: determinar un código de Huffman para su uso en la codificación de un vector de símbolos de datos de audio, en el que la determinación se basa en los símbolos de datos de audio y en la suma de valores de los símbolos de datos de audio, y codificar el vector de símbolos de datos de audio utilizando el código de Huffman. determining a Huffman code for use in encoding a vector of audio data symbols, wherein the determination is based on the audio data symbols and the sum of the values ​​of the audio data symbols, and encode the vector of audio data symbols using Huffman code.
  7. 13
    The method of any one of claims 1 to 10, wherein encoding the first portion of the audio data stream in the variable dimension direct Huffman vector encoding mode comprises switching from a Huffman vector code table of highest dimension of the plurality of Huffman code tables, to a lowest dimension Huffman vector code table of the plurality of Huffman code tables, to encode a vector of values ​​from the first portion of the audio data sequence when the vector of values ​​is not assigned a Huffman code in the highest dimensional Huffman vector code table. 13. El procedimiento de una cualquiera de las reivindicaciones 1 a 10, en el que la codificación de la primera porción de secuencia de datos de audio en el modo de codificación vectorial directa de Huffman de dimensión variable comprende cambiar desde una tabla de código vectorial de Huffman de dimensión más alta de la pluralidad de tablas de código de Huffman, a una tabla de código vectorial de Huffman de dimensión más baja de la pluralidad de tablas de código de Huffman, para codificar un vector de valores procedentes de la primera porción de la secuencia de datos de audio cuando el vector de valores no tiene asignado un código de Huffman en la tabla de código vectorial de Huffman de dimensión más alta.
  8. 14
    The method of any one of claims 1 to 10, wherein encoding the first portion of the audio data stream in variable dimension direct Huffman vector encoding mode, comprises:14. El procedimiento de una cualquiera de las reivindicaciones 1 a 10, en el que la codificación de la primera porción de la secuencia de datos de audio en el modo de codificación vectorial directa de Huffman de dimensión variable, comprende: ES 2 297 083 T3 determinar que un primer vector n-dimensional de valores procedentes de la primera porción de la secuencia de datos de audio, tiene asignado un código de Huffman en una tabla de código vectorial de Huffman n-dimensional de la pluralidad de tablas de código de Huffman, en el que n es al menos 2, y en el que la tabla de código vectorial de Huffman n-dimensional contiene códigos de Huffman para vectores de valores más bajos que todas las n-dimensiones posibles;ES 2 297 083 T3 determine that a first n-dimensional vector of values ​​from the first portion of the audio data sequence is assigned a Huffman code in an n-dimensional Huffman vector code table of the plurality of tables Huffman code, where n is at least 2, and where the n-dimensional Huffman vector code table contains Huffman codes for vectors of values ​​lower than all possible n-dimensions;codificar el primer vector n-dimensional utilizando el código de Huffman asignado desde una tabla de código vectorial de Huffman n-dimensional, y en respuesta a la determinación de que un segundo vector n-dimensional de valores procedentes de la primera porción de la secuencia de datos de audio no tiene asignado un código de Huffman en la tabla de código vectorial de Huffman n-dimensional: encode the first n-dimensional vector using the Huffman code assigned from an n-dimensional Huffman vector code table, and in response to determining that a second n-dimensional vector of values ​​from the first portion of the sequence of Audio data is not assigned a Huffman code in the n-dimensional Huffman vector code table: - adding an escape code indicative of a change, to a n / 2 dimensional Huffman vector code table of the plurality of Huffman code tables;- añadir un código de escape indicativo de un cambio, a una tabla de código vectorial de Huffman n/2dimensional de la pluralidad de tablas de código de Huffman;- dividing the second n-dimensional vector into two n / 2-dimensional vectors;- dividir el segundo vector n-dimensional en dos vectores n/2-dimensionales;- determinar que los dos vectores n/2-dimensionales tienen asignados códigos de Huffman en la tabla de código vectorial de Huffman n/2-dimensional, en el que la tabla de código vectorial de Huffman n/2-dimensional contiene códigos de Huffman para un número limitado de los vectores de valores n/2-dimensionales más probables, y - determine that the two n / 2-dimensional vectors are assigned Huffman codes in the n / 2-dimensional Huffman vector code table, where the n / 2-dimensional Huffman vector code table contains Huffman codes for a limited number of the most probable n / 2-dimensional value vectors, and - codificar los dos vectores n/2-dimensionales utilizando los códigos de Huffman asignados desde una tabla de código vectorial de Huffman n/2-dimensional. - encoding the two n / 2-dimensional vectors using the Huffman codes assigned from a n / 2-dimensional Huffman vector code table.
  9. 15
    El procedimiento de una cualquiera de las reivindicaciones 1 a 10, en el que la codificación de la primera porción de la secuencia de datos de audio en el modo de codificación vectorial directa de Huffman de dimensión variable utiliza códigos de escape para indicar cambios entre la pluralidad de tablas de código de Huffman para diferentes dimensiones. fifteen. The method of any one of claims 1 to 10, wherein encoding the first portion of the audio data stream in the variable-dimension direct Huffman vector encoding mode uses escape codes to indicate changes between the plurality of Huffman code tables for different dimensions.
  10. 16
    The method of any one of claims 1 to 10, wherein encoding the first portion of the audio data stream in the variable-dimension direct Huffman vector encoding mode uses escape codes to indicate changes between vectors of different dimensions. 16. El procedimiento de una cualquiera de las reivindicaciones 1 a 10, en el que la codificación de la primera porción de la secuencia de datos de audio en el modo de codificación vectorial directa de Huffman de dimensión variable utiliza códigos de escape para indicar cambios entre vectores de diferentes dimensiones.
  11. 17
    A procedure for encoding audio data in a computer system, the procedure comprising:17. Un procedimiento de codificación de datos de audio en un sistema de ordenador, comprendiendo el procedimiento: codificar una primera porción de una secuencia de datos de audio en un modo de codificación aritmética directa basada en contexto (1640);encoding a first portion of an audio data stream in a context-based direct arithmetic encoding mode (1640);conmutar (1680) a un modo de codificación de nivel de ejecución en un punto de conmutación, y codificar una segunda porción de la secuencia de datos de audio en el modo de codificación de nivel de ejecución. switching (1680) to a run-level encoding mode at a switch point, and encoding a second portion of the audio data stream in the run-level encoding mode.
  12. 19
    A procedure for decoding audio data in a computer system, the procedure comprising:19. Un procedimiento de descodificación de datos de audio en un sistema de ordenador, comprendiendo el procedimiento: decoding a first portion of a sequence of encoded audio data, in a variable dimension direct Huffman vector decoding mode (1220);descodificar una primera porción de una secuencia de datos de audio codificados, en un modo de descodificación vectorial directa de Huffman de dimensión variable (1220);conmutar (1250) a un modo de descodificación de nivel de secuencia en un punto de conmutación, y descodificar una segunda porción de la secuencia de datos de audio codificados, en el modo de descodificación de nivel de ejecución. switching (1250) to a sequence level decoding mode at a switch point, and decoding a second portion of the encoded audio data sequence, in the run level decoding mode.
  13. 24
    The method of any one of claims 19 to 23, further comprising:24. El procedimiento de una cualquiera de las reivindicaciones 19 a 23, que comprende además: conmutar a un tercer modo de descodificación en un segundo punto de conmutación. switching to a third decoding mode at a second switching point.
  14. 25
    The method of any one of claims 19 to 24, wherein the run level decoding mode comprises context-based arithmetic decoding of run lengths and run levels. 25. El procedimiento de una cualquiera de las reivindicaciones 19 a 24, en el que el modo de descodificación de nivel de ejecución comprende la descodificación aritmética basada en contexto de longitudes y niveles de ejecución.
  15. 26
    The method of any one of claims 19 to 24, wherein the sequence level decoding mode comprises Huffman decoding of lengths and run levels. 26. El procedimiento de una cualquiera de las reivindicaciones 19 a 24, en el que el modo de descodificación de nivel de secuencia comprende la descodificación de Huffman de longitudes y niveles de ejecución.
  16. 27
    The method of any one of claims 19 to 24, wherein the run level decoding mode comprises Huffman vector decoding of run lengths and run levels. 27. El procedimiento de una cualquiera de las reivindicaciones 19 a 24, en el que el modo de descodificación de nivel de ejecución comprende la descodificación vectorial de Huffman de longitudes y niveles de ejecución.
  17. 28
    The method of any one of claims 19 to 24, wherein decoding the first portion of the sequence of audio data encoded in the variable-dimension direct Huffman vector decoding mode comprises switching from a vector code table of Highest dimension Huffman from the plurality of Huffman code tables, to a lower dimension Huffman vector code table of the plurality of Huffman code tables when a higher dimension Huffman vector code table escape code is encountered in the encoded audio data stream. 28. El procedimiento de una cualquiera de las reivindicaciones 19 a 24, en el que la descodificación de la primera porción de la secuencia de datos de audio codificados en el modo de descodificación vectorial directa de Huffman de dimensión variable comprende cambiar desde una tabla de código vectorial de Huffman de dimensión más alta de la pluralidad de tablas de código de Huffman, a una tabla de código vectorial de Huffman de dimensión más baja de la pluralidad de tablas de código de Huffman cuando es encontrado un código de escape de la tabla de código vectorial de Huffman de dimensión más alta en la secuencia de datos de audio codificados.
  18. 29
    The method of any one of claims 19 to 24, wherein the decoding of the first portion of the sequence of audio data encoded in the variable dimension direct Huffman vector decoding mode, comprises:29. El procedimiento de una cualquiera de las reivindicaciones 19 a 24, en el que la descodificación de la primera porción de la secuencia de datos de audio codificados en el modo de descodificación vectorial directa de Huffman de dimensión variable, comprende: determinar que un primer código de Huffman de la secuencia de datos de audio codificados es un código de escape de una tabla de código vectorial de Huffman n-dimensional de una pluralidad de tablas de código de Huffman, en el que n es al menos 2, y en el que la tabla de código vectorial de Huffman n-dimensional contiene códigos de Huffman para vectores de valores más bajos de todas las n-dimensiones posibles;determining that a first Huffman code of the encoded audio data sequence is an escape code from an n-dimensional Huffman vector code table of a plurality of Huffman code tables, where n is at least 2, and wherein the n-dimensional Huffman vector code table contains Huffman codes for lower value vectors of all possible n-dimensions;en respuesta a la determinación de que el primer código de Huffman de la secuencia de datos de audio codificados es el código de escape de la tabla de código vectorial de Huffman n-dimensional, descodificar un segundo código de Huffman de la secuencia de datos de audio codificados utilizando una tabla de código vectorial de Huffman n/2dimensional de la pluralidad de tablas de código de Huffman. in response to determining that the first Huffman code of the encoded audio data stream is the escape code of the n-dimensional Huffman vector code table, decode a second Huffman code of the audio data stream encoded using a n / 2 dimensional Huffman vector code table of the plurality of Huffman code tables.
  19. 30
    The method of any one of claims 19 to 24, wherein the decoding of the first portion of the audio data stream encoded in the variable-dimension direct Huffman vector decoding mode uses escape codes to indicate changes between the plurality of Huffman code tables for different dimensions. 30. El procedimiento de una cualquiera de las reivindicaciones 19 a 24, en el que la descodificación de la primera porción de la secuencia de datos de audio codificados en el modo de descodificación vectorial directa de Huffman de dimensión variable utiliza códigos de escape para indicar cambios entre la pluralidad de tablas de código de Huffman para diferentes dimensiones.
  20. 31
    The method of any one of claims 19 to 24, wherein the decoding of the first portion of the sequence of audio data encoded in the variable-dimension direct Huffman vector decoding mode uses escape codes to indicate changes between vectors of different dimensions. 31. El procedimiento de una cualquiera de las reivindicaciones 19 a 24, en el que la descodificación de la primera porción de la secuencia de datos de audio codificados en el modo de descodificación vectorial directa de Huffman de dimensión variable utiliza códigos de escape para indicar cambios entre vectores de dimensiones diferentes.
  21. 32
    A procedure for decoding audio data in a computer system, the procedure comprising:32. Un procedimiento de descodificación de datos de audio en un sistema de ordenador, comprendiendo el procedimiento: decoding a first portion of a sequence of encoded audio data in a context-based direct arithmetic decoding mode (1720);descodificar una primera porción de una secuencia de datos de audio codificados en un modo de descodificación aritmética directa basada en contexto (1720);conmutar (1750) a un modo de descodificación de nivel de ejecución en un punto de conmutación, y descodificar una segunda porción de la secuencia de datos de audio en el modo de descodificación de nivel de ejecución. switching (1750) to a run-level decoding mode at a switch point, and decoding a second portion of the audio data stream in the run-level decoding mode.
  22. 34
    3. 4. An audio data encoding procedure in a computer system using an entropic encoder, the procedure comprising:34. Un procedimiento de codificación de datos de audio en un sistema de ordenador que utiliza un codificador entrópico, comprendiendo el procedimiento: entropic encoding of a first portion of the audio data, wherein encoding of the first portion comprises direct encoding (410) of coefficients, la codificación entrópica de una primera porción de los datos de audio, en el que la codificación de la primera porción comprende la codificación directa (410) de coeficientes, ES 2 297 083 T3 el mantenimiento (530, 532, 538) de un conteo de coeficientes consecutivos iguales a un valor predominante, en el que el conteo se incrementa si el valor de los coeficientes actuales es igual al valor predominante, y en respuesta al conteo que exceda (534) de un umbral, codificar una segunda porción de los datos de audio, en el que la codificación de la segunda porción comprende una codificación de nivel de secuencia (430) de los coeficientes. ES 2 297 083 T3 the maintenance (530, 532, 538) of a count of consecutive coefficients equal to a predominant value, in which the count is increased if the value of the current coefficients is equal to the predominant value, and in response to the counting exceeding (534) a threshold, encoding a second portion of the audio data, wherein the encoding of the second portion comprises a sequence level encoding (430) of the coefficients.
  23. 41
    An audio data decoding procedure in a computer system using an entropic decoder, the procedure comprising:41. Un procedimiento de descodificación de datos de audio en un sistema de ordenador que utiliza un descodificador entrópico, comprendiendo el procedimiento: descodificación entrópica de una primera porción de los datos de audio, en el que la descodificación de la porción comprende la descodificación directa (610) de coeficientes, mantenimiento de coeficientes consecutivos iguales a un valor predominante, en el que el conteo se incrementa si un valor del coeficiente actual es igual al valor predominante, y en respuesta al conteo que exceda de un umbral, descodificación entrópica de una segunda porción de los datos de audio, en el que la descodificación de la segunda porción comprende la descodificación de nivel de secuencia (630) de los coeficientes. entropic decoding of a first portion of the audio data, in which the decoding of the portion comprises direct decoding (610) of coefficients, keeping consecutive coefficients equal to a predominant value, in which the count is incremented if a value of the current coefficient is equal to the prevailing value, and in response to counting exceeding a threshold, entropic decoding of a second portion of the audio data, wherein decoding the second portion comprises sequence level decoding (630) of the coefficients.
  24. 48
    A computer readable medium that stores computer executable instructions to cause the computer system to carry out the method of any preceding claim. 48. Un medio susceptible de lectura con ordenador, que almacena instrucciones ejecutables con ordenador para hacer que el sistema de ordenador lleve a cabo el procedimiento de cualquiera de las reivindicaciones anteriores.
Independent claims24