Sistema y método de codificación y decodificación de longitud variable.

Un sistema de codificación y decodificación que incluye un aparato de codificación

(100a, 100b, 100c) para llevar a cabo codificación de longitud variable en coeficientes bidimensionales de un bloque que se obtienen realizando una transformación de frecuencia en datos de imágenes del bloque que tiene un número predeterminado de píxeles y un aparato de decodificación para realizar la decodificación de longitud variable en los datos codificados obtenidos mediante la realización de codificación de longitud variable sobre los coeficientes bidimensionales del bloque, en el que dicho aparato de codificación incluye:

una unidad de escaneado (141, 161, 201) accionable para escanear los coeficientes bidimensionales del bloque en un orden predeterminado a partir de un componente de baja frecuencia hacia un componente de alta frecuencia con el fin de transformar los coeficientes bidimensionales en coeficientes unidimensionales;

una unidad de transformación (141, 161, 201) que puede funcionar para transformar los coeficientes unidimensionales del bloque en un valor de ejecución y un valor de nivel, donde el valor de nivel es un valor de coeficiente distinto de cero del bloque y el valor de ejecución es un número de coeficientes cero anteriores al coeficiente distinto de cero del bloque;

una unidad de cálculo que puede funcionar para calcular un número total de coeficientes distintos de cero incluidos en el bloque;

una unidad de codificación del número total (143, 163, 205) operable para realizar la codificación de longitud variable en el número total calculado de coeficientes distintos de cero incluidos en el bloque;

una primera unidad de codificación (143, 163, 205) operable para realizar codificación de longitud variable en cada uno de los coeficientes distintos de cero del bloque correspondiente a los valores de nivel repetidamente a partir de un componente de alta frecuencia hacia un componente de baja frecuencia hasta que un número total de coeficientes distintos de cero codificados del bloque alcanza el número total de coeficientes distintos de cero incluidos en el bloque; y

una segunda unidad de codificación (143, 163, 205) operable para realizar la codificación de longitud variable en cada uno de los valores de ejecución del bloque separado de la codificación de los coeficientes que no son cero del bloque, mediante el uso de una pluralidad de tablas de códigos de ejecución que son utilizados para codificar los valores de ejecución,

en el que la primera unidad de codificación (143, 163, 205) es operable para realizar la codificación de longitud variable en cada uno de los coeficientes distintos de cero del bloque cambiando entre una pluralidad de tablas de códigos de longitud variable, a cada una de las cuales se le asigna un umbral tal que a la primera tabla se le asigna el umbral más bajo y a cada tabla siguiente se le asigna un umbral que es diferente a y mayor que todos los umbrales asignados previamente;

en el que la primera unidad de codificación (143, 163, 205) es operable para empezar a realizar dicha codificación de longitud variable en cada uno de los coeficientes distintos de cero del bloque usando la primera tabla y cuando el valor absoluto de un coeficiente actual distinto de cero a codificar supera el umbral asignado a la tabla usada para codificar el coeficiente actual distinto de cero, cambiar la tabla de códigos a la siguiente tabla de códigos que tienen el mayor umbral asignado, para cambiar el valor umbral usado para comprobar si los valores absolutos de los coeficientes distintos de cero superan el umbral al umbral asignado a dicha tabla cambiada, y para codificar el siguiente coeficiente distinto de cero que sigue al coeficiente actual distinto de cero usando dicha tabla cambiada; y

en el que las tablas utilizadas para la codificación de los coeficientes distintos de cero del bloque son diferentes de las tablas de códigos de ejecución utilizadas para la codificación de los valores de ejecución del bloque, y en el que dicho aparato de decodificación incluye:

una unidad de decodificación del número total operable para obtener un número total de coeficientes distintos de cero del bloque mediante la realización de decodificación de longitud variable de los datos codificados;

una primera unidad de decodificación operable para realizar la decodificación de longitud variable en los datos codificados repetidamente a partir de un componente de alta frecuencia hacia un componente de baja frecuencia hasta que un número total de coeficientes distintos de cero descodificados del bloque alcanza el número total de coeficientes distintos de cero incluidos en el bloque para obtener cada uno de los coeficientes descodificados distintos de cero del bloque;

una segunda unidad de decodificación operable para realizar la decodificación de longitud variable en los datos codificados repetidamente a partir de un componente de alta frecuencia hacia un componente de baja frecuencia para obtener cada uno de los valores de ejecución descodificados del bloque de forma separada de la decodificación de los coeficientes distintos de cero del bloque utilizando una pluralidad de tablas de códigos de ejecución que se usan para descodificar los valores de ejecución;

una unidad de transformación inversa que puede funcionar para transformar cada uno de los valores de ejecución decodificados del bloque y cada uno de los valores de nivel decodificados del bloque correspondiente a los coeficientes descodificados distintos de cero del bloque en coeficientes unidimensionales del bloque; y

una unidad de escaneado inverso accionable para escanear de manera inversa los coeficientes unidimensionales del bloque en coeficientes bidimensionales del bloque,

en el que la primera unidad de decodificación es operable para realizar la decodificación de longitud variable sobre los datos codificados cambiando entre una pluralidad de tablas de códigos de longitud variable, a cada una de las cuales se le asigna un umbral, de tal manera que a la primera tabla se le asigna el umbral más bajo, y a cada tabla siguiente se le asigna un umbral que es diferente a y mayor que todos los umbrales asignados previamente;

en el que la primera unidad de decodificación es operable para empezar a realizar la decodificación de longitud variable en los datos codificados usando la primera tabla y cuando el valor absoluto de un coeficiente actual distinto de cero a descodificar supera el umbral asignado a la tabla usada para descodificar el coeficiente actual distinto de cero, para cambiar la tabla de códigos a la siguiente tabla de códigos que tienen el mayor umbral asignado, para cambiar el valor umbral usado para comprobar si los valores absolutos del coeficiente distinto de cero superan el umbral al umbral asignado a dicha tabla cambiada, y para decodificar el siguiente coeficiente distinto de cero que sigue al coeficiente actual distinto de cero usando dicha tabla cambiada; y

en el que las tablas utilizadas para la decodificación de los coeficientes distintos de cero del bloque son diferentes de las tablas de códigos de ejecución utilizados para decodificar los valores de ejecución del bloque.

Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E14162991.

Solicitante: Godo Kaisha IP Bridge 1.

Inventor/es: KADONO, SHINYA, HAGAI, MAKOTO, ABE, KIYOFUMI, KONDO, SATOSHI.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • SECCION H — ELECTRICIDAD > CIRCUITOS ELECTRONICOS BASICOS > CODIFICACION, DECODIFICACION O CONVERSION DE CODIGO,... > Conversión de un código, en el cual la información... > H03M7/40 (Conversión en, o a partir de códigos la longitud variable, p. ej. código Shanno-Fano, código Huffman, código Morse)
  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE IMAGENES, p. ej. TELEVISION > Métodos o disposiciones para la codificación, decodificación,... > H04N19/61 (en combinación con codificación predictiva)
  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE IMAGENES, p. ej. TELEVISION > Métodos o disposiciones para la codificación, decodificación,... > H04N19/13 (Codificación de entropía adaptativa, p. ej. codificación adaptativa de longitud variable [AVLC] o codificación adaptativa de contexto de aritmética binaria [CABAC])
  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE IMAGENES, p. ej. TELEVISION > Métodos o disposiciones para la codificación, decodificación,... > H04N19/18 (siendo la unidad un conjunto de coeficientes de transformación)
  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE IMAGENES, p. ej. TELEVISION > Métodos o disposiciones para la codificación, decodificación,... > H04N19/134 (caracterizado porque el elemento, parámetro o criterio que afecte o el control de la codificación adaptativa)
  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE IMAGENES, p. ej. TELEVISION > Métodos o disposiciones para la codificación, decodificación,... > H04N19/14 (Complejidad de la unidad de codificación, p. ej. cantidad de actividad o estimación de presencia de bordes (H04N 19/146 tiene prioridad))
  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE IMAGENES, p. ej. TELEVISION > Métodos o disposiciones para la codificación, decodificación,... > H04N19/60 (utilizando codificación por transformada)
  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE IMAGENES, p. ej. TELEVISION > Métodos o disposiciones para la codificación, decodificación,... > H04N19/93 (Codificación "run-length")

PDF original: ES-2550993_T3.pdf

 

google+ twitter facebookPin it
Ilustración 1 de Sistema y método de codificación y decodificación de longitud variable.
Ilustración 2 de Sistema y método de codificación y decodificación de longitud variable.
Ilustración 3 de Sistema y método de codificación y decodificación de longitud variable.
Ilustración 4 de Sistema y método de codificación y decodificación de longitud variable.
Ver la galería de la patente con 36 ilustraciones.
Sistema y método de codificación y decodificación de longitud variable.

Fragmento de la descripción:

Sistema y método de codificación y decodificación de longitud variable Campo Técnico La presente invención se refiere a un método de codificación de longitud variable para codificar los coeficientes de cada bloque, que se obtienen realizando una transformación de frecuencia en los datos de imagen de una imagen en movimiento por bloque con un tamaño predeterminado, así como un método de descodificación de longitud variable, y similares.

Técnica anterior Al codificar una imagen en movimiento, la compresión del volumen de información se realiza normalmente utilizando redundancias en las direcciones espacial y temporal que posee la imagen en movimiento. Normalmente se usa una transformación en un dominio de frecuencias como método para utilizar la redundancia espacial, mientras que la codificación por predicción interimagen se usa como método para utilizar la redundancia temporal.

En un método de codificación de imagen en movimiento que se encuentra actualmente en proceso de estandarización, la cuantización se realiza en cada bloque de tamaño 4x4 píxeles a fin de generar coeficientes tras realizar la transformación de frecuencias en tal bloque, con vistas a aumentar la eficacia de codificación de un método de codificación de imagen en movimiento MPEG-4 convencional. Después se realiza un escaneo partiendo desde los componentes de corriente continua hacia los componentes de alta frecuencia, se generan combinaciones de un valor R (Run, denominado en lo sucesivo simplemente "R") que indica el número de coeficientes cero consecutivos y un valor de coeficiente L (Level, denominado en lo sucesivo simplemente "L") posterior al mismo de forma que se cree una secuencia (R, L) . Después de transformar esta (R, L) en un número de código usando una tabla de códigos predeterminada, la codificación se realiza transformando el número de código en un código VLC, usando también una única tabla de codificación de longitud variable (VLC) . En la tabla de códigos se asigna normalmente un número de código más pequeño a medida que aumenta la probabilidad de que aparezcan. Por ejemplo, se asigna un número de código pequeño a una combinación en la que tanto R como L indican valores pequeños, ya que la probabilidad de que aparezca es alta. En ciertas tablas de códigos VLC, se asigna un código VCL que posee una longitud de código corta a un número de código pequeño (véase la referencia al documento ISO/IEC 14496-2: "Information technologyCoding of audio-visual objectsPart 2: Visual" 7.4.1, págs. 119 a 120, 12/1999) .

Sin embargo, el uso del método existente ocasiona una disminución en la eficiencia de la codificación debido a que la longitud del código se hace más larga a medida que crecen el número de coeficientes R cero consecutivos y un valor de coeficiente L. Normalmente, la disminución en la eficiencia resulta evidente cuando se codifica un componente de baja frecuencia, ya que el valor de coeficiente L como valor del componente de baja frecuencia es alto.

Concretamente, a consecuencia de asignar una única tabla VLC de acuerdo con la probabilidad de aparición y un único y exclusivo código de longitud variable a un par formado por R y L, el valor de coeficiente L que indica un valor alto se transforma en un código de longitud variable que posee una longitud de código muy larga. Aún cuando se codifica L por separado de R (codificación unidimensional de L) usando una única tabla VLC, surge el mismo problema que en el caso de codificar R y L como un par.

En el documento EP 0827345 se describe un sistema de codificación de imagen en el que una señal de imagen de entrada se divide en bloques, los bloques resultantes se transforman en dos o más tipos de coeficientes transformados, los coeficientes transformados se cuantizan según un tamaño de etapa de cuantización dado y los coeficientes transformados cuantizados se escanean de acuerdo con una pluralidad de secuencias de escaneo. Los coeficientes que se escanean de ese modo se codifican aún más de acuerdo con una pluralidad de tablas de codificación, y, entre las combinaciones de la pluralidad de secuencias de escaneo con la pluralidad de tablas de codificación, se selecciona una combinación de secuencia de escaneo con una tabla de codificación que proporciona la mayor eficiencia de codificación, mediante unos medios de selección de secuencia de escaneo y tabla de codificación, de acuerdo con el nivel de distribución de los coeficientes transformados. En el documento EP 0616471 se describe una codificación de longitud variable que hace uso de una pluralidad de tablas, en la que se generan tablas para cada par ejecución-nivel (run-level) posible de acuerdo con la frecuencia de aparición. Cuando se van a codificar datos de un coeficiente, se selecciona una tabla correspondiente al tamaño de los datos del coeficiente proporcionados antes de que se seleccionen esos datos del coeficiente y la codificación se realiza basándose en la tabla seleccionada. En el documento JP 8214310 se describe una codificación de longitud variable, cambiando entre 3 tablas de acuerdo con la correlación entre coeficientes consecutivos. En el documento EP 0267578 se describe un sistema de codificación que efectúa una codificación de longitud variable haciendo uso de una pluralidad de conjuntos de códigos en la que los conjuntos de códigos se seleccionan por sus componentes de alta y baja frecuencia.

Descripción de la invención La presente invención está concebida en vista de los anteriores problemas, y pretende proporcionar el método de codificación de longitud variable y el método de descodificación de longitud variable que pueden mejorar la eficiencia de la codificación cuando se codifica el valor de coeficiente L.

Con el fin de lograr el anterior objetivo, se propone un método y un sistema de codificación y decodificación de longitud variable de acuerdo con la presente invención, tal como se define en las reivindicaciones.

De este modo, es posible mejorar la eficiencia de la codificación, ya que el código de longitud variable con la longitud de código basada en el coeficiente puede adaptarse a cada tabla. En otras palabras, es posible acortar notablemente una longitud de código cambiando de una tabla a otra dependiendo del coeficiente, de forma que se pueda codificar un coeficiente en un código de longitud variable cuya longitud de código sea más corta en una tabla que en la otra cuando el coeficiente es alto.

Aquí, una dirección de cambio entre la pluralidad de tablas puede ser unidireccional. Así se evita el frecuente cambio de tablas y por tanto el número de veces que se cambia de una tabla a otra disminuye. Por lo tanto, es posible aumentar la eficiencia de la codificación. Por ejemplo, al tener el área de trabajo de la memoria un espacio limitado, sólo se almacena una tabla para su uso. En este caso, se tarda un tiempo en comenzar a codificar el siguiente coeficiente, ya que se tarda un tiempo en leer la siguiente tabla desde la ROM y en expandirla en el área de trabajo cada vez que se cambia de tabla. Este cambio unidireccional de una tabla a otra resulta eficaz para limitar el número de veces que se cambia de tabla y para reducir el tiempo total necesario para codificar el siguiente coeficiente.

La codificación y la decodificación se pueden realizar en cada uno de dichos bloques cambiando entre la pluralidad de tablas y los coeficientes pueden ser coeficientes distintos de cero que se hayan unidimensionalizado.

Es preferible que la codificación y la decodificación sean codificaciones no aritméticas. De este modo, cuando se determina una tabla que se va a usar para la codificación, la codificación de coeficientes para obtener códigos de longitud variable puede realizarse consultando la tabla.

También... [Seguir leyendo]

 


Reivindicaciones:

1. Un sistema de codificación y decodificación que incluye un aparato de codificación (100a, 100b, 100c) para llevar a cabo codificación de longitud variable en coeficientes bidimensionales de un bloque que se obtienen realizando una transformación de frecuencia en datos de imágenes del bloque que tiene un número predeterminado de píxeles y un aparato de decodificación para realizar la decodificación de longitud variable en los datos codificados obtenidos mediante la realización de codificación de longitud variable sobre los coeficientes bidimensionales del bloque, en el que dicho aparato de codificación incluye:

una unidad de escaneado (141, 161, 201) accionable para escanear los coeficientes bidimensionales del bloque en un orden predeterminado a partir de un componente de baja frecuencia hacia un componente de alta frecuencia con el fin de transformar los coeficientes bidimensionales en coeficientes unidimensionales; una unidad de transformación (141, 161, 201) que puede funcionar para transformar los coeficientes unidimensionales del bloque en un valor de ejecución y un valor de nivel, donde el valor de nivel es un valor de coeficiente distinto de cero del bloque y el valor de ejecución es un número de coeficientes cero anteriores al coeficiente distinto de cero del bloque; una unidad de cálculo que puede funcionar para calcular un número total de coeficientes distintos de cero incluidos en el bloque; una unidad de codificación del número total (143, 163, 205) operable para realizar la codificación de longitud variable en el número total calculado de coeficientes distintos de cero incluidos en el bloque; una primera unidad de codificación (143, 163, 205) operable para realizar codificación de longitud variable en cada uno de los coeficientes distintos de cero del bloque correspondiente a los valores de nivel repetidamente a partir de un componente de alta frecuencia hacia un componente de baja frecuencia hasta que un número total de coeficientes distintos de cero codificados del bloque alcanza el número total de coeficientes distintos de cero incluidos en el bloque; y una segunda unidad de codificación (143, 163, 205) operable para realizar la codificación de longitud variable en cada uno de los valores de ejecución del bloque separado de la codificación de los coeficientes que no son cero del bloque, mediante el uso de una pluralidad de tablas de códigos de ejecución que son utilizados para codificar los valores de ejecución, en el que la primera unidad de codificación (143, 163, 205) es operable para realizar la codificación de longitud variable en cada uno de los coeficientes distintos de cero del bloque cambiando entre una pluralidad de tablas de códigos de longitud variable, a cada una de las cuales se le asigna un umbral tal que a la primera tabla se le asigna el umbral más bajo y a cada tabla siguiente se le asigna un umbral que es diferente a y mayor que todos los umbrales asignados previamente; en el que la primera unidad de codificación (143, 163, 205) es operable para empezar a realizar dicha codificación de longitud variable en cada uno de los coeficientes distintos de cero del bloque usando la primera tabla y cuando el valor absoluto de un coeficiente actual distinto de cero a codificar supera el umbral asignado a la tabla usada para codificar el coeficiente actual distinto de cero, cambiar la tabla de códigos a la siguiente tabla de códigos que tienen el mayor umbral asignado, para cambiar el valor umbral usado para comprobar si los valores absolutos de los coeficientes distintos de cero superan el umbral al umbral asignado a dicha tabla cambiada, y para codificar el siguiente coeficiente distinto de cero que sigue al coeficiente actual distinto de cero usando dicha tabla cambiada; y en el que las tablas utilizadas para la codificación de los coeficientes distintos de cero del bloque son diferentes de las tablas de códigos de ejecución utilizadas para la codificación de los valores de ejecución del bloque, y en el que dicho aparato de decodificación incluye:

una unidad de decodificación del número total operable para obtener un número total de coeficientes distintos de cero del bloque mediante la realización de decodificación de longitud variable de los datos codificados; una primera unidad de decodificación operable para realizar la decodificación de longitud variable en los datos codificados repetidamente a partir de un componente de alta frecuencia hacia un componente de baja frecuencia hasta que un número total de coeficientes distintos de cero descodificados del bloque alcanza el número total de coeficientes distintos de cero incluidos en el bloque para obtener cada uno de los coeficientes descodificados distintos de cero del bloque; una segunda unidad de decodificación operable para realizar la decodificación de longitud variable en los datos codificados repetidamente a partir de un componente de alta frecuencia hacia un componente de baja frecuencia para obtener cada uno de los valores de ejecución descodificados del bloque de forma separada de la decodificación de los coeficientes distintos de cero del bloque utilizando una pluralidad de tablas de códigos de ejecución que se usan para descodificar los valores de ejecución; una unidad de transformación inversa que puede funcionar para transformar cada uno de los valores de ejecución decodificados del bloque y cada uno de los valores de nivel decodificados del bloque correspondiente a los coeficientes descodificados distintos de cero del bloque en coeficientes unidimensionales del bloque; y una unidad de escaneado inverso accionable para escanear de manera inversa los coeficientes unidimensionales del bloque en coeficientes bidimensionales del bloque, en el que la primera unidad de decodificación es operable para realizar la decodificación de longitud variable sobre los datos codificados cambiando entre una pluralidad de tablas de códigos de longitud variable, a cada 29 5

una de las cuales se le asigna un umbral, de tal manera que a la primera tabla se le asigna el umbral más bajo, y a cada tabla siguiente se le asigna un umbral que es diferente a y mayor que todos los umbrales asignados previamente; en el que la primera unidad de decodificación es operable para empezar a realizar la decodificación de longitud variable en los datos codificados usando la primera tabla y cuando el valor absoluto de un coeficiente actual distinto de cero a descodificar supera el umbral asignado a la tabla usada para descodificar el coeficiente actual distinto de cero, para cambiar la tabla de códigos a la siguiente tabla de códigos que tienen el mayor umbral asignado, para cambiar el valor umbral usado para comprobar si los valores absolutos del coeficiente distinto de cero superan el umbral al umbral asignado a dicha tabla cambiada, y para decodificar el siguiente coeficiente distinto de cero que sigue al coeficiente actual distinto de cero usando dicha tabla cambiada; y en el que las tablas utilizadas para la decodificación de los coeficientes distintos de cero del bloque son diferentes de las tablas de códigos de ejecución utilizados para decodificar los valores de ejecución del bloque.

2. Un método de codificación y decodificación que comprende un método de codificación para llevar a cabo la codificación de longitud variable en los coeficientes bidimensionales de un bloque que se obtienen realizando una transformación de frecuencia en datos de imagen del bloque que tiene un número predeterminado de píxeles y un método de decodificación para la realización de la decodificación de longitud variable de datos codificados obtenidos mediante la realización de codificación de longitud variable sobre los coeficientes bidimensionales del bloque, en donde dicho método de codificación comprende:

una etapa de escaneado de escaneado de coeficientes bidimensionales del bloque en un orden predeterminado a partir de un componente de baja frecuencia hacia un componente de alta frecuencia para transformar los coeficientes bidimensionales en coeficientes unidimensionales; una etapa de transformación de transformación de los coeficientes unidimensionales del bloque en un valor de ejecución y un valor de nivel, donde el valor de nivel es un valor de coeficiente distinto de cero del bloque y el valor de ejecución es un número de coeficientes cero anteriores al coeficiente distinto de cero del bloque; una etapa de cálculo de cálculo de un número total de coeficientes distintos de cero incluidos en el bloque; una etapa de codificación del número total para realizar la codificación de longitud variable (S105) en dicho número total calculado de coeficientes distintos de cero incluidos en el bloque; una primera etapa de codificación de realización de codificación de longitud variable (S105) en cada uno de los coeficientes distintos de cero del bloque correspondiente a los valores de nivel repetidamente a partir de un componente de alta frecuencia hacia un componente de baja frecuencia hasta que un número total de coeficientes codificados distintos de cero del bloque alcanza el número total de coeficientes distintos de cero incluidos en el bloque; y una segunda etapa de codificación de realizar la codificación de longitud variable (S105) en cada uno de los valores de ejecución del bloque separado de la codificación de los coeficientes distintos de cero del bloque, mediante el uso de una pluralidad de tablas de códigos de ejecución que se utilizan para la codificación de los valores de ejecución, en el que la primera etapa de codificación se realiza cambiando entre una pluralidad de tablas de códigos de longitud variable, a cada una de las cuales se asigna un umbral de tal manera que a la primera tabla se le asigna el umbral más bajo, y a cada tabla siguiente se le asigna un umbral que es diferente a y mayor que todos los umbrales asignados previamente; en el que la primera etapa de codificación comienza a usar la primera tabla y cuando el valor absoluto de un coeficiente actual distinto de cero a codificar supera el umbral asignado en la tabla usada para codificar el coeficiente actual distinto de cero, la tabla de códigos se cambia a la siguiente tabla de códigos que tienen el mayor umbral asignado, el valor umbral usado para comprobar si los valores absolutos de los coeficientes distintos de cero superan el umbral se cambia al umbral asignado a dicha tabla cambiada y el siguiente coeficiente distinto de cero que sigue al coeficiente actual distinto de cero se codifica utilizando dicha tabla de conmutación; y en el que las tablas utilizadas para la codificación de los coeficientes distintos de cero del bloque son diferentes de las tablas de códigos de ejecución utilizadas para la codificación de los valores de ejecución del bloque, y en el que dicho método de decodificación comprende:

una etapa de decodificación del número total de obtención de un número total de coeficientes distintos de cero del bloque mediante la decodificación de los datos codificados; una primera etapa de decodificación de realizar la decodificación de longitud variable en los datos codificados repetidamente a partir de un componente de alta frecuencia hacia un componente de baja frecuencia hasta que un número total de coeficientes decodificados distintos de cero del bloque alcanzan el número total de coeficientes distintos de cero incluidos en el bloque para obtener cada uno de los coeficientes decodificados distintos de cero del bloque; una segunda etapa de decodificación de realizar la decodificación de longitud variable en los datos codificados repetidamente a partir de un componente de alta frecuencia hacia un componente de baja frecuencia para obtener cada uno de los valores de ejecución descodificados del bloque de forma separada de la decodificación de los coeficientes distintos de cero del bloque, utilizando una pluralidad de tablas de

códigos de ejecución que se usan para descodificar los valores de ejecución; una etapa de transformación inversa de transformación de cada uno de los valores de ejecución decodificados del bloque y cada uno de los valores de nivel decodificados del bloque correspondiente a los coeficientes descodificados distintos de cero del bloque en coeficientes unidimensionales del bloque; y una etapa de escaneado inverso de escaneado de manera inversa de los coeficientes unidimensionales del bloque en coeficientes bidimensionales del bloque, en el que la primera etapa de decodificación se realiza cambiando entre una pluralidad de tablas de códigos de longitud variable a cada una de las cuales se asigna un umbral, de tal manera que a la primera tabla se le asigna el umbral más bajo, y a cada tabla siguiente se le asigna un umbral que es diferente a y mayor que todos los umbrales asignados previamente; en el que la primera etapa de decodificación comienza a usar la primera tabla y cuando el valor absoluto de un coeficiente actual distinto de cero a descodificar supera el umbral asignado a la tabla usada para descodificar el coeficiente actual distinto de cero, la tabla de códigos se cambia a la siguiente tabla de códigos que tienen el mayor umbral asignado, el valor umbral para comprobar si los valores absolutos del coeficiente distinto de cero superan el umbral cambia al umbral asignado a dicha tabla cambiada y el siguiente coeficiente distinto de cero que sigue al actual coeficiente distinto de cero se decodifica usando dicha tabla de conmutación; y en el que las tablas utilizadas para la decodificación de los coeficientes distintos de cero del bloque son diferentes de las tablas de códigos de ejecución utilizadas para decodificar los valores de ejecución del bloque.

3. El método de codificación y decodificación según la reivindicación 2, en el que un umbral asignado a la tabla se determina entre una pluralidad de umbrales para cada conmutación de las tablas.

4. El método de codificación y decodificación según la reivindicación 3, en el que la conmutación de las tablas se realiza en una dirección hacia tablas con umbrales mayores.

5. El método de codificación y decodificación según la reivindicación 2, 30 en el que la conmutación de las tablas se realiza en una dirección.