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:
- H03M7/40 ELECTRICIDAD. › H03 CIRCUITOS ELECTRONICOS BASICOS. › H03M CODIFICACION, DECODIFICACION O CONVERSION DE CODIGO, EN GENERAL (por medio de fluidos F15C 4/00; convertidores ópticos analógico/digitales G02F 7/00; codificación, decodificación o conversión de código especialmente adaptada a aplicaciones particulares, ver las subclases apropiadas, p. ej. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; cifrado o descifrado para la criptografía o para otros fines que implican la necesidad de secreto G09C). › H03M 7/00 Conversión de un código, en el cual la información está representada por una secuencia dada o por un número de dígitos, en un código en el cual la misma información está representada por una secuencia o por un número de dígitos diferentes. › Conversión en, o a partir de códigos la longitud variable, p. ej. código Shanno-Fano, código Huffman, código Morse.
- H04N19/13 H […] › H04 TECNICA DE LAS COMUNICACIONES ELECTRICAS. › H04N TRANSMISION DE IMAGENES, p. ej. TELEVISION. › H04N 19/00 Métodos o disposiciones para la codificación, decodificación, compresión o descompresión de señales de vídeo digital. › 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].
- H04N19/134 H04N 19/00 […] › caracterizado porque el elemento, parámetro o criterio que afecte o el control de la codificación adaptativa.
- H04N19/14 H04N 19/00 […] › Complejidad de la unidad de codificación, p. ej. cantidad de actividad o estimación de presencia de bordes (H04N 19/146 tiene prioridad).
- H04N19/18 H04N 19/00 […] › siendo la unidad un conjunto de coeficientes de transformación.
- H04N19/60 H04N 19/00 […] › utilizando codificación por transformada.
- H04N19/61 H04N 19/00 […] › en combinación con codificación predictiva.
- H04N19/93 H04N 19/00 […] › Codificación "run-length".
PDF original: ES-2549252_T3.pdf
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 longitud de código para coeficientes de forma que una longitud de código para el coeficiente más pequeño se haga más larga en un orden ascendente de números asignados respectivamente a cada una de las tablas y una longitud de código para el coeficiente más largo no se haga más larga en el mismo orden ascendente de dichos números. Además, también resulta preferible que cada una de las tablas se construya de forma que una tasa de aumento en la longitud de código correspondiente a un aumento en los coeficientes se haga más pequeña en un orden ascendente de números asignados a cada una de las tablas. De este modo puede lograrse con seguridad la mejora de la eficiencia de la codificación, ya que se puede asignar un intervalo en el que una longitud de código se haga más corta en cada tabla.
También es preferible se cambie entre cada una de las tablas basándose en un valor umbral predeterminado para un valor absoluto del coeficiente. De este modo resulta fácil juzgar... [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.
Patentes similares o relacionadas:
Codificación de las posiciones de los picos espectrales, del 27 de Mayo de 2020, de TELEFONAKTIEBOLAGET LM ERICSSON (PUBL): Un método de codificación de las posiciones de los picos espectrales de un segmento de una señal de audio, comprendiendo el método: - determinar cuál […]
Sistema y método para codificación y decodificación aritmética, del 29 de Abril de 2020, de NTT DOCOMO, INC.: Método de decodificación aritmética para convertir una secuencia de información compuesta por una secuencia de bits en una secuencia de eventos binarios compuesta […]
Procedimiento de codificación de imagen, procedimiento de decodificación de imagen, dispositivo de codificación de imagen, dispositivo de decodificación de imagen y dispositivo de codificación/decodificación de imagen, del 4 de Marzo de 2020, de Sun Patent Trust: Un procedimiento de codificación de imagen para codificar datos de imagen por compresión que incluye una pluralidad de unidades de procesamiento que tienen diferentes tamaños […]
Aparato de decodificación de vídeo que usa actualización de parámetros para la desbinarización del coeficiente de transformación codificado por entropía, y procedimiento de codificación que usa el mismo para la binarización, del 26 de Febrero de 2020, de SAMSUNG ELECTRONICS CO., LTD.: Un aparato de decodificación de vídeo, comprendiendo el aparato: un analizador que obtiene una cadena binaria correspondiente a un elemento […]
Transformación solapada condicional, del 20 de Noviembre de 2019, de Microsoft Technology Licensing, LLC: Un método para codificar un flujo de bits de vídeo utilizando una transformación solapada condicional, en donde el método comprende: la señalización de un modo de filtro […]
Procedimiento, aparato y sistema para codificar y descodificar un subconjunto de unidades de transformación de datos de vídeo codificados, del 4 de Septiembre de 2019, de CANON KABUSHIKI KAISHA: Procedimiento de descodificación de una unidad de transformación de datos de vídeo codificados utilizando la descodificación de Golomb-Rice, siendo la unidad de […]
Esquema de codificación y decodificación entrópica, del 4 de Septiembre de 2019, de GE Video Compression, LLC: Aparato de codificación entrópica que comprende un descomponedor configurado para convertir una secuencia de elementos de […]
Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable, del 14 de Agosto de 2019, de Godo Kaisha IP Bridge 1: Un método de codificación para codificar un coeficiente de un componente de frecuencia incluido en un bloque objetivo a codificar, comprendiendo el método de codificación: […]