Método de codificación de longitud variable.

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

(100a, 100b, 100c) para realizar una codificación de longitud variable en coeficientes bidimensionales de un bloque que se obtienen realizando una transformación de frecuencia en los datos de imagen del bloque que posee un número de píxeles predeterminado y un aparato de decodificación para realizar una decodificación de longitud variable en datos codificados que se obtiene realizando una codificación de longitud variable en los coeficientes distintos de cero del bloque,

en el que dicho aparato de codificación incluye:

una unidad de escaneo (141, 161, 201) accionable para escanear los coeficientes bidimensionales del bloque en un orden predeterminado partiendo desde un componente de baja frecuencia hacia un componente de alta frecuencia a fin de transformar los coeficientes bidimensionales en coeficientes unidimensionales; y

una unidad de codificación (143,163, 205) accionable para realizar una codificación de longitud variable en cada uno de los coeficientes distintos de cero incluidos en los coeficientes unidimensionales partiendo desde un componente de alta frecuencia hacia un componente de baja frecuencia, mientras se cambia entre una pluralidad de tablas que se usan para codificar y a las que se asignan umbrales crecientes,

en el que, en el caso de que un valor absoluto de un coeficiente actual distinto de cero que se tiene que codificar supere un umbral asignado en la tabla usada para codificar el coeficiente actual distinto de cero, el siguiente coeficiente distinto de cero que se tiene que codificar después del coeficiente actual distinto de cero, es codificado por la unidad de codificación, después de que el umbral se aumente y después de que la tabla se cambie por la tabla en la que está asignado dicho umbral aumentado, y

en el que, en cada una de una pluralidad de tablas usadas por la unidad de codificación, una longitud de código de un código asignado a un valor mínimo entre los valores absolutos de los coeficientes distintos de cero en cada una de la pluralidad de tablas se hace mayor a medida que aumenta el umbral asignado a la tabla, y en el que dicho aparato de decodificación incluye:

una unidad de decodificación accionable para obtener cada uno de los coeficientes distintos de cero incluidos en los coeficientes unidimensionales del bloque realizando una decodificación de longitud variable sobre los datos codificados desde un componente de alta frecuencia hacia un componente de baja frecuencia mientras se cambia entre una pluralidad de tablas, que se usan para decodificar y a las que se asignan umbrales crecientes, y

una unidad de escaneo inverso accionable para transformar los coeficientes distintos de cero decodificados, incluidos en los coeficientes unidimensionales, en los coeficientes bidimensionales del bloque,

en el que, en el caso de que un valor absoluto de un coeficiente actual distinto de cero que se tiene que decodificar supere un umbral asignado en la tabla usada para decodificar el coeficiente actual distinto de cero, el siguiente coeficiente distinto de cero que se tiene que decodificar después del coeficiente actual distinto de cero, es decodificado por la unidad de decodificación, después de que aumente el umbral y después de que la tabla se cambie por la tabla en la que está asignado dicho umbral aumentado, y en el que, en cada una de una pluralidad de tablas usadas por la unidad de decodificación, una longitud de código de un código asignado a un valor mínimo entre los valores absolutos de los coeficientes distintos de cero en cada una de la pluralidad de tablas se hace mayor a medida que aumenta un umbral asignado a la tabla.

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

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-2549252_T3.pdf

 

google+ twitter facebook

Fragmento de la descripción:

Método de codificació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 objectsPart2: 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 45 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 sistema de codificación de imágenes en el que una señal de imagen de entrada forma un bloque, los bloques resultantes se transforman en dos o más clases de coeficientes transformados, 50 y los coeficientes transformados se escanean de acuerdo con una pluralidad de secuencias de escaneo. Los coeficientes escaneados de esta manera se codifican adicionalmente 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 55 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 de niveles de ejecución 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 60 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 5 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 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 25 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 una codificación no aritmética. 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 es preferible que cada una de las tablas posea una tasa de cambio diferente en la... [Seguir leyendo]

 


Reivindicaciones:

1. Un sistema de codificación y decodificación que incluye un aparato de codificación (100a, 100b, 100c) para realizar una codificación de longitud variable en coeficientes bidimensionales de un bloque que se obtienen realizando una transformación de frecuencia en los datos de imagen del bloque que posee un número de píxeles predeterminado y un aparato de decodificación para realizar una decodificación de longitud variable en datos codificados que se obtiene realizando una codificación de longitud variable en los coeficientes distintos de cero del bloque, en el que dicho aparato de codificación incluye:

una unidad de escaneo (141, 161, 201) accionable para escanear los coeficientes bidimensionales del bloque en un orden predeterminado partiendo desde un componente de baja frecuencia hacia un componente de alta frecuencia a fin de transformar los coeficientes bidimensionales en coeficientes unidimensionales; y una unidad de codificación (143, 163, 205) accionable para realizar una codificación de longitud variable en cada uno de los coeficientes distintos de cero incluidos en los coeficientes unidimensionales partiendo desde un componente de alta frecuencia hacia un componente de baja frecuencia, mientras se cambia entre una pluralidad de tablas que se usan para codificar y a las que se asignan umbrales crecientes, en el que, en el caso de que un valor absoluto de un coeficiente actual distinto de cero que se tiene que codificar supere un umbral asignado en la tabla usada para codificar el coeficiente actual distinto de cero, el siguiente coeficiente distinto de cero que se tiene que codificar después del coeficiente actual distinto de cero, es codificado por la unidad de codificación, después de que el umbral se aumente y después de que la tabla se cambie por la tabla en la que está asignado dicho umbral aumentado, y en el que, en cada una de una pluralidad de tablas usadas por la unidad de codificación, una longitud de código de un código asignado a un valor mínimo entre los valores absolutos de los coeficientes distintos de cero en cada una de la pluralidad de tablas se hace mayor a medida que aumenta el umbral asignado a la tabla, y en el que dicho aparato de decodificación incluye:

una unidad de decodificación accionable para obtener cada uno de los coeficientes distintos de cero incluidos en los coeficientes unidimensionales del bloque realizando una decodificación de longitud variable sobre los datos codificados desde un componente de alta frecuencia hacia un componente de baja frecuencia mientras se cambia entre una pluralidad de tablas, que se usan para decodificar y a las que se asignan umbrales crecientes, y una unidad de escaneo inverso accionable para transformar los coeficientes distintos de cero decodificados, incluidos en los coeficientes unidimensionales, en los coeficientes bidimensionales del bloque, en el que, en el caso de que un valor absoluto de un coeficiente actual distinto de cero que se tiene que decodificar supere un umbral asignado en la tabla usada para decodificar el coeficiente actual distinto de cero, el siguiente coeficiente distinto de cero que se tiene que decodificar después del coeficiente actual distinto de cero, es decodificado por la unidad de decodificación, después de que aumente el umbral y después de que la tabla se cambie por la tabla en la que está asignado dicho umbral aumentado, y en el que, en cada una de una pluralidad de tablas usadas por la unidad de decodificación, una longitud de código de un código asignado a un valor mínimo entre los valores absolutos de los coeficientes distintos de cero en cada una de la pluralidad de tablas se hace mayor a medida que aumenta un umbral asignado a la tabla.

2. Un método de codificación y decodificación que comprende un método de codificación para realizar una codificación de longitud variable en coeficientes bidimensionales de un bloque que se obtienen realizando una transformación de frecuencia en los datos de imagen del bloque que posee un número de píxeles predeterminado y un método de decodificación para realizar una decodificación de longitud variable en datos codificados que se obtienen realizando una codificación de longitud variable en los coeficientes distintos de cero del bloque, en el que dicho método de codificación comprende:

una etapa de escaneo para escanear los coeficientes bidimensionales del bloque en un orden predeterminado partiendo desde un componente de baja frecuencia hacia un componente de alta frecuencia a fin de 55 transformar los coeficientes bidimensionales en coeficientes unidimensionales; y una etapa de codificación para realizar una codificación de longitud variable sobre cada uno de los coeficientes distintos de cero incluidos en los coeficientes unidimensionales partiendo desde un componente de alta frecuencia hacia un componente de baja frecuencia, mientras se cambia entre una pluralidad de tablas que se usan para codificar y a las que se asignan umbrales crecientes, en el que, en el caso de que un valor absoluto de un coeficiente actual distinto de cero que se tiene que codificar supere un umbral asignado a la tabla usada para codificar el coeficiente actual distinto de cero, el siguiente coeficiente distinto de cero que se tiene que codificar después del coeficiente actual distinto de cero, es codificado en la etapa de codificación, después de que aumente el umbral y después de que la tabla se cambie por la tabla a la que está asignado dicho umbral aumentado, y 65 en el que, en cada una de una pluralidad de tablas usadas en la etapa de codificación, una longitud de código de un código asignado a un valor mínimo entre los valores absolutos de los coeficientes distintos de cero en 29

cada una de la pluralidad de tablas se hace mayor a medida que aumenta un umbral asignado a la tabla, y en el que dicho método de decodificación comprende:

una etapa de decodificación para obtener cada uno de los coeficientes distintos de cero incluidos en los coeficientes unidimensionales del bloque realizando la decodificación de longitud variable en los datos codificados desde un componente de alta frecuencia hacia un componente de baja frecuencia mientras se cambia entre una pluralidad de tablas, que se usan para decodificar y a las que se han asignado umbrales crecientes; y una etapa de escaneo inverso para transformar los coeficientes distintos de cero decodificados, incluidos en los coeficientes unidimensionales, en los coeficientes bidimensionales del bloque, en donde, en el caso de que un valor absoluto de un coeficiente actual distinto de cero que se tiene que decodificar supere un umbral asignado a la tabla usada para decodificar el coeficiente actual distinto de cero, el siguiente coeficiente distinto de cero que se tiene que decodificar después del coeficiente actual distinto de cero, es decodificado en la etapa de decodificación, después de que aumente el umbral y después de que la tabla se cambie por la tabla a la que está asignado dicho umbral aumentado, y en el que, en cada una de una pluralidad de tablas usadas en la etapa de decodificación, una longitud de código de un código asignado a un valor mínimo entre los valores absolutos de los coeficientes distintos de cero en cada una de la pluralidad de tablas se hace mayor a medida que aumenta un umbral asignado a la tabla.

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

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

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