ES2648315T3 - Procedimiento y aparato para codificar/decodificar por entropía un coeficiente de transformación - Google Patents

Procedimiento y aparato para codificar/decodificar por entropía un coeficiente de transformación Download PDF

Info

Publication number
ES2648315T3
ES2648315T3 ES16180222.8T ES16180222T ES2648315T3 ES 2648315 T3 ES2648315 T3 ES 2648315T3 ES 16180222 T ES16180222 T ES 16180222T ES 2648315 T3 ES2648315 T3 ES 2648315T3
Authority
ES
Spain
Prior art keywords
location
transformation
coding
unit
transformation coefficient
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES16180222.8T
Other languages
English (en)
Inventor
Bae-Keun Lee
Yu-Mi Sohn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Application granted granted Critical
Publication of ES2648315T3 publication Critical patent/ES2648315T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Image Processing (AREA)

Abstract

Un aparato (2000) para decodificar por entropía coeficientes de transformación, comprendiendo el aparato un decodificador por entropía configurado para: extraer información acerca de una localización de dirección de eje horizontal y una localización de dirección de eje vertical de un último coeficiente de transformación significativo que tiene un valor distinto de cero e incluido en un bloque de transformación, desde un flujo de bits recibido en el que el último coeficiente de transformación significativo tiene el último índice de exploración de acuerdo con un cierto orden de exploración entre los coeficientes de transformación, determinar una localización del último coeficiente de transformación significativo decodificando la información acerca de la localización de dirección de eje horizontal y la localización de dirección de eje vertical, decodificar el último coeficiente de transformación significativo en base a la localización del último coeficiente de transformación significativo. decodificar una bandera de coeficiente significativo, incluida en el flujo de bits recibido, que representa una localización de un segundo coeficiente de transformación significativo, y decodificar el segundo coeficiente de transformación significativo usando la bandera de coeficiente significativo, en el que la información incluye un valor x que corresponde a la localización de dirección de eje horizontal y un valor y que corresponde a la localización de dirección de eje vertical.

Description

5
10
15
20
25
30
35
40
45
DESCRIPCION
Procedimiento y aparato para codificar/decodificar por entropía un coeficiente de transformación Campo técnico
La presente invención se refiere a codificación y decodificación por entropía de coeficientes de transformación, y más particularmente, a un procedimiento y un aparato para codificar y decodificar por entropía eficazmente información acerca de una localización de un último coeficiente de transformación significativo en un bloque de transformación.
Antecedentes de la técnica
De acuerdo con normas de codificación de vídeo internacionales tales como H.264 y MPEG-4, una señal de vídeo se divide jerárquicamente en secuencias, fotogramas, sectores, macro bloques, y bloques, y el bloque es una unidad de procesamiento mínima. En un procedimiento de codificación, se obtienen datos residuales de un bloque realizando predicción intra-fotograma o predicción inter-fotograma. También, los datos residuales se comprimen realizando transformación, cuantificación, exploración, codificación por longitud de pasada, y codificación por entropía. Un procedimiento de decodificación es un procedimiento inverso del procedimiento de codificación. Inicialmente, los coeficientes de un bloque de transformación, que se generaron en un procedimiento de codificación por entropía, se extraen desde un flujo de bits. A continuación, los datos residuales de un bloque se reconfiguran realizando cuantificación inversa y transformación inversa, y se usa información de predicción para reconfigurar datos de vídeo del bloque.
El documento US 2004/114683A1 desvela un procedimiento y disposición para codificar coeficientes de transformación en codificadores y decodificadores de instantánea y/o vídeo.
De acuerdo con la presente invención se proporciona un aparato y procedimiento como se expone en las reivindicaciones adjuntas. Otras características de la invención serán evidentes a partir de las reivindicaciones dependientes y la descripción que sigue.
Divulgación de la invención
Problema técnico
La presente invención proporciona un procedimiento y aparato para codificar y decodificar por entropía eficazmente información acerca de una localización de un último coeficiente de transformación significativo en un bloque de transformación que tiene un tamaño grande.
Breve descripción de los dibujos
La Figura 1 es un diagrama de bloques de un aparato de codificación de imagen de acuerdo con una realización de la presente invención.
La Figura 2 es un diagrama de bloques de un aparato de decodificación de imagen de acuerdo con una realización de la presente invención.
La Figura 3 es un diagrama que muestra unidades de codificación jerárquica de acuerdo con una realización de la presente invención.
La Figura 4 es un diagrama de bloques de un codificador de imagen basándose en unidades de codificación, de acuerdo con una realización de la presente invención.
La Figura 5 es un diagrama de bloques de un decodificador de imagen basándose en unidades de codificación, de acuerdo con una realización de la presente invención.
La Figura 6 es un diagrama que muestra unidades de codificación máximas, sub unidades de codificación, y unidades de predicción, de acuerdo con una realización de la presente invención.
La Figura 7 es un diagrama que muestra una unidad de codificación y una unidad de transformación, de acuerdo con una realización de la presente invención.
Las Figuras 8A y 8B son diagramas que muestran formas de división de unidades de codificación, unidades de predicción, y unidades de transformación, de acuerdo con una realización de la presente invención.
La Figura 9 es un diagrama de flujo un procedimiento de coeficientes de transformación de codificación por entropía, de acuerdo con una realización de la presente invención.
La Figura 10 es un diagrama de referencia para describir un procedimiento de coeficientes de transformación de codificación por entropía, de acuerdo con las realizaciones de la presente invención.
5
10
15
20
25
30
35
40
45
50
La Figura 11 es un diagrama de bloques de un aparato de codificación por entropía de acuerdo con una realización de la presente invención.
La Figura 12 es un diagrama de bloques de un dispositivo de codificación aritmética binaria adaptativa al contexto (CABAC) de acuerdo con una realización de la presente invención.
La Figura 13 es un diagrama de referencia para describir un procedimiento para seleccionar un contexto para codificar información acerca de una localización de un último coeficiente de transformación significativo, de acuerdo con una realización de la presente invención.
La Figura 14 muestra un mapa de significado que corresponde a la Figura 10.
La Figura 15 es un diagrama de referencia para describir un procedimiento de valores de nivel de codificación de coeficientes de transformación significativos incluidos en un bloque de transformación ilustrado en la Figura 10.
La Figura 16 es un diagrama que muestra un ejemplo de una pluralidad de tablas de codificación de longitud variable (VLC) usadas de acuerdo con una realización de la presente invención.
La Figura 17 es un diagrama de referencia para describir un procedimiento de coeficientes de transformación de codificación por entropía, de acuerdo con otra realización de la presente invención.
Las Figuras 18A y 18B son diagramas de referencia para describir un procedimiento de coeficientes de transformación de codificación por entropía, de acuerdo con otra realización de la presente invención.
La Figura 19 es un diagrama de flujo de un procedimiento de coeficientes de transformación de decodificación por entropía, de acuerdo con una realización de la presente invención.
La Figura 20 es un diagrama de bloques de un aparato de decodificación por entropía de acuerdo con una realización de la presente invención.
Mejor modo para llevar a cabo la invención
De acuerdo con un aspecto de la presente invención, se proporciona un procedimiento de codificación por entropía de coeficientes de transformación, incluyendo el procedimiento determinar una localización de un último coeficiente de transformación significativo que tiene un valor distinto de cero entre los coeficientes de transformación incluidos en un bloque de transformación que tiene un cierto tamaño, de acuerdo con un cierto orden de exploración; y codificar información acerca de la localización del último coeficiente de transformación significativo usando su localización de dirección de eje horizontal y su localización de dirección de eje vertical en el bloque de transformación.
De acuerdo con otro aspecto de la presente invención, se proporciona un procedimiento de decodificación por entropía de coeficientes de transformación, incluyendo el procedimiento extraer información acerca de una localización de dirección de eje horizontal y una localización de dirección de eje vertical de un último coeficiente de transformación significativo que tiene un valor distinto de cero e incluido en un bloque de transformación, a partir de un flujo de bits recibido de acuerdo con un cierto orden de exploración; y determinar una localización del último coeficiente de transformación significativo decodificando la información acerca de la localización de dirección de eje horizontal y la localización de dirección de eje vertical.
De acuerdo con un aspecto de la presente invención, se proporciona un aparato para codificar por entropía coeficientes de transformación, incluyendo el aparato un codificador por entropía para determinar una localización de un último coeficiente de transformación significativo que tiene un valor distinto de cero de entre los coeficientes de transformación incluidos en un bloque de transformación que tiene un cierto tamaño, de acuerdo con un cierto orden de exploración, y para codificar información acerca de la localización del último coeficiente de transformación significativo usando su localización de dirección de eje horizontal y su localización de dirección de eje vertical en el bloque de transformación.
De acuerdo con otro aspecto de la presente invención, se proporciona un aparato para decodificar por entropía coeficientes de transformación, incluyendo el aparato un decodificador por entropía para extraer información acerca de una localización de dirección de eje horizontal y una localización de dirección de eje vertical de un último coeficiente de transformación significativo que tiene un valor distinto de cero e incluido en un bloque de transformación, a partir de un flujo de bits recibido de acuerdo con un cierto orden de exploración, y para determinar una localización del último coeficiente de transformación significativo decodificando la información acerca de la localización de dirección de eje horizontal y la localización de dirección de eje vertical.
Modo para la invención
En lo sucesivo, la presente invención se describirá en detalle explicando realizaciones de la invención con referencia a los dibujos adjuntos.
5
10
15
20
25
30
35
40
45
50
55
La Figura 1 es un diagrama de bloques de un aparato 100 de codificación de imagen de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 1, el aparato 100 de codificación de imagen incluye un divisor 110 de unidad de codificación máxima, un determinador 120 de profundidad codificada, un codificador 130 de datos de imagen, y un codificador 140 de información de codificación.
El divisor 110 de unidad de codificación máxima puede dividir un fotograma actual o un sector actual basándose en una unidad de codificación máxima que es una unidad de codificación con tamaño máximo. El fotograma actual o el sector actual pueden dividirse en al menos una unidad de codificación máxima.
De acuerdo con una realización de la presente invención, las unidades de codificación pueden representarse usando una unidad de codificación máxima y una profundidad. Como se ha descrito anteriormente, una unidad de codificación máxima representa una unidad de codificación que tiene el tamaño más grande de entre las unidades de codificación del fotograma actual, y una profundidad representa cómo se reducen jerárquicamente las unidades de codificación en tamaño. A medida que una profundidad se hace profunda, las unidades de codificación pueden reducirse en tamaño desde una unidad de codificación máxima a una unidad de codificación mínima, y una profundidad de la unidad de codificación máxima puede definirse como una profundidad mínima mientras la profundidad de la unidad de codificación mínima puede definirse como una profundidad máxima. Puesto que las unidades de codificación se reducen en tamaño a medida que la profundidad se hace profunda desde la unidad de codificación máxima, una sub unidad de codificación que tiene una profundidad de k puede incluir una pluralidad de sub unidades de codificación que tienen profundidades mayores de k.
Cuando un fotograma a codificar tiene un tamaño grande, si una imagen se codifica en una unidad grande, la imagen puede codificarse a una tasa de compresión de imagen alta. Sin embargo, si el tamaño de una unidad de codificación se aumenta y se fija, una imagen no se puede codificar eficazmente reflejado sus características que cambian continuamente.
Por ejemplo, cuando una imagen plana, por ejemplo, una imagen del mar o el cielo, se codifica, puede mejorarse una tasa de compresión si una unidad de codificación se aumenta en tamaño. Sin embargo, cuando una imagen complicada, por ejemplo, una imagen de personas o edificios, se codifica, la tasa de codificación se mejora si la unidad de codificación se reduce en tamaño.
Por esto, de acuerdo con una realización de la presente invención, unidades de codificación máximas con tamaños diferentes y profundidades máximas diferentes se establecen a diferentes fotogramas o sectores. Puesto que una profundidad máxima indica el número máximo de veces que una unidad de codificación es reducible en tamaño, el tamaño de unidades de codificación mínimas incluidas en una unidad de codificación máxima puede establecerse de manera variable de acuerdo con una profundidad máxima.
El determinador 120 de profundidad codificada determina una profundidad máxima. La profundidad máxima puede determinarse basándose en costes tasa-distorsión (R-D). La profundidad máxima puede determinarse de manera diferente para cada fotograma o sector, o para cada unidad de codificación máxima. La información acerca de la profundidad máxima determinada se emite al codificador 140 de información de codificación, y los datos de imagen de cada unidad de codificación máxima se emiten al codificador 130 de datos de imagen.
La profundidad máxima se refiere a una unidad de codificación que tiene el tamaño más pequeño en una unidad de codificación máxima, es decir, una unidad de codificación mínima. En otras palabras, la unidad de codificación máxima puede dividirse en sub unidades de codificación con diferente tamaño de acuerdo con diferentes profundidades. Se proporcionarán descripciones detalladas de lo mismo a continuación con referencia a las Figuras 8A y 8B. También, las sub unidades de codificación con diferentes tamaños incluidas en la unidad de codificación máxima pueden predecirse o transformarse ortogonalmente basándose en unidades de procesamiento con tamaño diferente. En otras palabras, el aparato 100 de codificación de imagen puede realizar una pluralidad de procedimientos para codificación de imagen basándose en unidades de procesamiento con diverso tamaño y diversa forma. Cuando se realizan tres procedimientos tales como predicción, transformación ortogonal y codificación por entropía para codificar datos de imagen, la unidad de procesamiento con mismo tamaño puede usarse en todos los procedimientos o pueden usarse unidades de procesamiento con diferente tamaño en diferentes procedimientos.
Por ejemplo, el aparato 100 de codificación de imagen puede seleccionar una unidad de procesamiento diferente desde una cierta unidad de codificación para predecir la unidad de codificación.
Si una unidad de codificación tiene un tamaño de 2Nx2N (N es un entero positivo), una unidad de procesamiento para predicción puede tener un tamaño de 2Nx2N, 2NxN, Nx2N, NxN, etc. En otras palabras, puede realizarse predicción de movimiento basándose en una unidad de procesamiento que tiene un tamaño obtenido dividiendo al menos uno de una altura y anchura de una unidad de codificación en la mitad. En lo sucesivo, una unidad de procesamiento para predicción se denomina como una 'unidad de predicción'.
Un modo de predicción puede ser al menos uno de un intra modo, un inter modo y un modo de salto, y un cierto modo de predicción puede realizarse en únicamente una unidad de predicción con cierto tamaño o con cierta forma.
5
10
15
20
25
30
35
40
45
50
55
Por ejemplo, puede realizarse un intra modo en únicamente una unidad de predicción que tiene un tamaño de 2Nx2N o NxN que tiene una forma cuadrada. También, puede realizarse un modo de salto en únicamente una unidad de predicción que tiene un tamaño de 2Nx2N. Si una unidad de codificación incluye una pluralidad de unidades de predicción, puede realizarse la predicción en cada unidad de predicción y puede seleccionarse una unidad de predicción que tiene un error de codificación mínimo.
También, el aparato 100 de codificación de imagen puede transformar ortogonalmente datos de imagen basándose en una unidad de procesamiento que tiene un tamaño diferente del tamaño de una unidad de codificación. La unidad de codificación puede transformarse ortogonalmente basándose en una unidad de datos que tiene un tamaño menor que o igual al tamaño de la unidad de codificación. En lo sucesivo, una unidad de procesamiento para transformación ortogonal se denomina como una 'unidad de transformación'.
El determinador 120 de profundidad codificada puede determinar sub unidades de codificación incluidas en la unidad de codificación máxima, usando optimización tasa-distorsión basándose en un multiplicador de Lagrange. En otras palabras, puede determinarse una forma de división de la unidad de codificación máxima en una pluralidad de sub unidades de codificación. En este punto, la pluralidad de sub unidades de codificación tienen diferentes tamaños de acuerdo con las profundidades. Después de eso, el codificador 130 de datos de imagen emite un flujo de bits codificando la unidad de codificación máxima basándose en la forma de división determinada mediante el determinador 120 de profundidad codificada.
El codificador 140 de información de codificación codifica información acerca de un modo de codificación de la unidad de codificación máxima, que se determina mediante el determinador 120 de profundidad codificada. El flujo de bits se emite codificando información acerca de la forma de división de la unidad de codificación máxima, información acerca de la profundidad máxima, e información acerca de modos de codificación de sub unidades de codificación de acuerdo con las profundidades. La información acerca de los modos de codificación de las sub unidades de codificación puede incluir, por ejemplo, información acerca de unidades de predicción de las sub unidades de codificación, información acerca de modos de predicción de las unidades de predicción, e información acerca de unidades de transformación de las sub unidades de codificación.
La información acerca de la forma de división de la unidad de codificación máxima puede ser información que representa si cada unidad de codificación se divide. Por ejemplo, cuando se divide y codifica la unidad de codificación máxima, se codifica información que representa si se divide la unidad de codificación máxima. También, cuando se dividen y codifican las sub unidades de codificación generadas dividiendo la unidad de codificación máxima, se codifica información que representa si cada sub unidad de codificación se divide. La información que representa si una unidad de codificación se divide puede ser información de bandera que representa si la unidad de codificación se divide.
Puesto que la unidad de codificación máxima incluye sub unidades de codificación con diferente tamaño e información acerca de un modo de codificación de cada sub unidad de codificación que tiene que determinarse, la información acerca de al menos un modo de codificación puede determinarse con respecto a una unidad de codificación máxima.
El aparato 100 de codificación de imagen puede generar sub unidades de codificación dividiendo una altura y anchura de la unidad de codificación máxima a medida que una profundidad se hace profunda. Es decir, si una unidad de codificación que tiene una profundidad de k tiene un tamaño de 2Nx2N, una unidad de codificación que tiene una profundidad de k+1 tiene un tamaño de NxN.
Por consiguiente, el aparato 100 de codificación de imagen puede determinar una forma de división óptima de cada unidad de codificación máxima basándose en el tamaño de la unidad de codificación máxima y una profundidad máxima en consideración de las características de la imagen. Ajustando de manera variable el tamaño de la unidad de codificación máxima y codificando una imagen dividiendo la unidad de codificación máxima en sub unidades de codificación que tienen diferentes profundidades en consideración de las características de la imagen, las imágenes que tienen diversas resoluciones pueden codificarse eficazmente.
La Figura 2 es un diagrama de bloques de un aparato 200 de decodificación de imagen de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 2, el aparato 200 de decodificación de imagen incluye un obtentor 210 de datos de imagen, un extractor 220 de información de codificación, y un decodificador 230 de datos de imagen.
El obtentor 210 de datos de imagen analiza un flujo de bits recibido mediante el aparato 200 de decodificación de imagen, y obtiene y emite datos de imagen de cada unidad de codificación máxima al decodificador 230 de datos de imagen. El obtentor 210 de datos de imagen puede extraer información acerca de la unidad de codificación máxima de un fotograma o sector actual desde un encabezamiento del fotograma o sector actual. En otras palabras, el flujo de bits se divide en unidades de codificación máximas para permitir que el decodificador 230 de datos de imagen decodifique datos de imagen de cada unidad de codificación máxima.
El extractor 220 de información de codificación analiza el flujo de bits recibido mediante el aparato 200 de
5
10
15
20
25
30
35
40
45
50
55
decodificación de imagen, y extrae desde el encabezamiento del fotograma actual información acerca de una unidad de codificación máxima, una profundidad máxima, una forma de división de la unidad de codificación máxima, y modos de codificación de sub unidades de codificación. La información acerca de la forma de división y los modos de codificación se emite al decodificador 230 de datos de imagen.
La información acerca de la forma de división de la unidad de codificación máxima puede incluir información acerca de sub unidades de codificación incluidas en la unidad de codificación máxima y que tienen diferentes tamaños de acuerdo con las profundidades. Como se ha descrito anteriormente en relación con la Figura 1, la información acerca de la forma de división puede ser información codificada y que representa si cada unidad de codificación se divide (por ejemplo, información de bandera). La información acerca de los modos de codificación puede incluir, por ejemplo, información acerca de unidades de predicción, información acerca de modos de predicción, información acerca de unidades de transformación de sub unidades de codificación.
El decodificador 230 de datos de imagen restaura el fotograma actual decodificando datos de imagen de cada unidad de codificación máxima basándose en la información extraída mediante el extractor 220 de información de codificación.
El decodificador 230 de datos de imagen puede decodificar sub unidades de codificación incluidas en la unidad de codificación máxima, basándose en la información acerca de la forma de división de la unidad de codificación máxima. Un procedimiento de decodificación puede incluir un procedimiento de inter predicción que incluye intra predicción y compensación de movimiento, y un procedimiento de transformación ortogonal inversa.
El decodificador 230 de datos de imagen puede realizar intra predicción o inter predicción basándose en la información acerca de las unidades de predicción y la información acerca de los modos de predicción de las sub unidades de codificación, para predecir las sub unidades de codificación. También, el decodificador 230 de datos de imagen puede realizar transformación ortogonal inversa en cada sub unidad de codificación basándose en la información acerca de las unidades de transformación de las sub unidades de codificación.
La Figura 3 es un diagrama que muestra unidades de codificación jerárquica de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 3, las unidades de codificación jerárquica pueden incluir unidades de codificación que tienen anchura x altura de 64x64, 32x32, 16x16, 8x8, y 4x4. Además de las unidades de codificación con forma cuadrada, las unidades de codificación que tienen anchura x altura de 64x32, 32x64, 32x16, 16x32, 16x8, 8x16, 8x4, y 4x8 pueden existir también.
En la Figura 3, para datos 310 de imagen que tienen una resolución de 1920x1080, el tamaño de una unidad de codificación máxima se establece como 64x64 y una profundidad máxima se establece como 2.
Para otros datos 320 de imagen que tienen una resolución de 1920x1080, el tamaño de la unidad de codificación máxima se establece como 64x64 y la profundidad máxima se establece como 4. Para datos 330 de imagen que tienen una resolución de 352x288, el tamaño de la unidad de codificación máxima se establece como 16x16 y la profundidad máxima se establece como 2.
Si una resolución es alta o la cantidad de datos es grande, para mejorar una tasa de compresión y para reflejar con precisión las características de la imagen, un tamaño de codificación máximo puede ser relativamente grande. Por consiguiente, para los datos 310 y 320 de imagen que tienen una resolución superior a la resolución de los datos 330 de imagen, el tamaño de la unidad de codificación máxima puede seleccionarse como 64x64.
La profundidad máxima representa un número total de capas de las unidades de codificación jerárquica. Puesto que la profundidad máxima de los datos 310 de imagen es 2, las unidades 315 de codificación de los datos 310 de imagen pueden incluir una unidad de codificación máxima que tiene un tamaño de eje largo de 64, y sub unidades de codificación que tienen tamaños de eje largo de 32 y 16 a medida que una profundidad se hace profunda.
Mientras tanto, puesto que la profundidad máxima de los datos 330 de imagen es 2, las unidades 335 de codificación de los datos 330 de imagen pueden incluir unidades de codificación máximas que tienen un tamaño de eje largo de 16, y sub unidades de codificación que tienen tamaños de eje largo de 8 y 4 a medida que una profundidad se hace profunda.
Puesto que la profundidad máxima de los datos 320 de imagen es 4, las unidades 325 de codificación de los datos 320 de imagen pueden incluir una unidad de codificación máxima que tiene un tamaño de eje largo de 64, y sub unidades de codificación que tienen tamaños de eje largo de 32, 16, 8, y 4 a medida que una profundidad se hace profunda. Como tal, puesto que una imagen se codifica basándose en una pequeña sub unidad de codificación a medida que una profundidad se hace profunda, una imagen que incluye una escena detallada puede codificarse apropiadamente.
La Figura 4 es un diagrama de bloques de un codificador 400 de imagen basándose en unidades de codificación, de acuerdo con una realización de la presente invención.
5
10
15
20
25
30
35
40
45
50
55
Un intra predictor 410 realiza intra predicción en unidades de predicción de un intra modo en un fotograma 405 actual, un estimador 420 de movimiento y un compensador 425 de movimiento realizan respectivamente inter predicción y compensación de movimiento en unidades de predicción de un inter modo usando el fotograma 405 actual y un fotograma 495 de referencia.
Se generan valores residuales basándose en las unidades de predicción emitidas desde el intra predictor 410, el estimador 420 de movimiento, y el compensador 425 de movimiento, y los valores residuales generados pasan a través de un transformador 430 ortogonal y un cuantificador 440 para emitirse como coeficientes de transformación cuantificados.
Los coeficientes de transformación cuantificados pasan a través de un cuantificador 460 inverso y un transformador 470 de frecuencia inversa para restaurarse como valores residuales, y los valores residuales restaurados post procesados a través de un desagrupador de bloques 480 y un filtro 490 de bucle para emitirse como el fotograma 495 de referencia. Los coeficientes de transformación cuantificados pueden también pasar a través de un codificador 450 por entropía para emitirse como un flujo de bits 455.
Para codificar una imagen basándose en un procedimiento de codificación de imagen de acuerdo con una realización de la presente invención, todos los componentes del codificador 400 de imagen, es decir, el intra predictor 410, el estimador 420 de movimiento, el compensador 425 de movimiento, el transformador 430 ortogonal, el cuantificador 440, el codificador 450 por entropía, el cuantificador 460 inverso, el transformador 470 de frecuencia inversa, el desagrupador de bloques 480, y el filtro 490 de bucle, realizan procedimientos de codificación de imagen basándose en una unidad de codificación máxima, sub unidades de codificación de acuerdo con profundidades, unidades de predicción, y unidades de transformación.
La Figura 5 es un diagrama de bloques de un decodificador 500 de imagen basándose en unidades de codificación, de acuerdo con una realización de la presente invención.
Un flujo de bits 505 pasa a través de un analizador 510 para analizarse en datos de imagen codificados a decodificarse, y la información de codificación requerida para decodificar los datos de imagen codificados. Los datos de imagen codificados pasan a través de un decodificador 520 por entropía y un cuantificador 530 inverso para emitirse como datos inversamente cuantificados, y pasan a través de un transformador 540 de frecuencia inversa para restaurarse como valores residuales. Los valores residuales se añaden a un resultado de intra predicción realizada mediante un intra predictor 550 y un resultado de compensación de movimiento realizado mediante un compensador 560 de movimiento, para restaurarse en unidades de codificación. Las unidades de codificación restauradas pasan a través de un desagrupador de bloques 570 y un filtro 580 de bucle para usarse para decodificar siguientes unidades de codificación o para predecir un siguiente fotograma.
Para decodificar una imagen basándose en un procedimiento de decodificación de imagen de acuerdo con una realización de la presente invención, todos los componentes del decodificador 500 de imagen, es decir, el analizador 510, el decodificador 520 por entropía, el cuantificador 530 inverso, el transformador 540 de frecuencia inversa, el intra predictor 550, el compensador 560 de movimiento, el desagrupador de bloques 570, y el filtro 580 de bucle, realizan procedimientos de decodificación de imagen basándose en una unidad de codificación máxima, sub unidades de codificación de acuerdo con profundidades, unidades de predicción, y unidades de transformación.
En particular, el intra predictor 550 y el compensador 560 de movimiento determinan unidades de predicción en las sub unidades de codificación, y modos de predicción en consideración de la unidad de codificación máxima y las profundidades, y el transformador 540 de frecuencia inversa realiza transformación ortogonal inversa en consideración de los tamaños de las unidades de transformación.
La Figura 6 es un diagrama que muestra unidades de codificación máximas, sub unidades de codificación, y unidades de predicción, de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de imagen ilustrado en la Figura 1 y el aparato 200 de decodificación de imagen ilustrado en la Figura 2 usan unidades de codificación jerárquica para realizar codificación y decodificación en consideración de las características de la imagen. Una unidad de codificación máxima y una profundidad máxima pueden establecerse de manera adaptativa de acuerdo con las características de la imagen, o pueden establecerse de manera diversa de acuerdo con solicitudes de un usuario.
La Figura 6 ilustra una estructura 600 jerárquica de unidades de codificación en las que una altura y anchura de una unidad 610 de codificación máxima son 64 y 64, y una profundidad máxima es 4. Una profundidad se hace profunda de acuerdo con un eje vertical de la estructura 600 jerárquica de las unidades de codificación, y las anchuras y alturas de las sub unidades 620, 630, 640, y 650 de codificación se reducen a medida que la profundidad se hace profunda. También, a lo largo de un eje horizontal de la estructura 600 jerárquica de las unidades de codificación, se ilustran las unidades de predicción de la unidad 610 de codificación máxima y la sub unidades 620, 630, 640, y 650 de codificación.
La unidad 610 de codificación máxima tiene una profundidad de 0 y tiene un tamaño, es decir, anchura por altura, de 64x64. La anchura se hace profunda a lo largo del eje vertical, y existe la sub unidad 620 de codificación que tiene
5
10
15
20
25
30
35
40
45
50
55
un tamaño de 32x32 y una profundidad de 1, la sub unidad 630 de codificación que tiene un tamaño de 16x16 y una profundidad de 2, la sub unidad 640 de codificación que tiene un tamaño de 8x8 y una profundidad de 3, y la sub unidad 650 de codificación que tiene un tamaño de 4x4 y una profundidad de 4. La sub unidad 650 de codificación que tiene un tamaño de 4x4 y una profundidad de 4 es una unidad de codificación mínima.
Haciendo referencia a la Figura 6, se ilustran ejemplos de las unidades de predicción de acuerdo con profundidades a lo largo de un eje horizontal. Es decir, la unidad 610 de codificación máxima que tiene una profundidad de 0 puede incluir una unidad 610 de predicción que tiene un tamaño de 64x64, una unidad 612 de predicción que tiene un tamaño de 64x32, una unidad 614 de predicción que tiene un tamaño de 32x64, una unidad 616 de predicción que tiene un tamaño de 32x32, de las cuales los tamaños son iguales o menores que el tamaño de la unidad 610 de codificación, es decir, 64x64.
La unidad 620 de codificación que tiene una profundidad de 1 y un tamaño de 32x32 puede incluir una unidad 620 de predicción que tiene un tamaño de 32x32, una unidad 622 de predicción que tiene un tamaño de 32x16, una unidad 624 de predicción que tiene un tamaño de 16x32, una unidad 626 de predicción que tiene un tamaño de 16x16, de las cuales los tamaños son iguales o menores que el tamaño de la unidad 620 de codificación, es decir, 32x32.
La unidad 630 de codificación que tiene una profundidad de 2 y un tamaño de 16x16 puede incluir una unidad 630 de predicción que tiene un tamaño de 16x16, una unidad 632 de predicción que tiene un tamaño de 16x8, una unidad 634 de predicción que tiene un tamaño de 8x16, una unidad 636 de predicción que tiene un tamaño de 8x8, de las cuales los tamaños son iguales o menores que el tamaño de la unidad 630 de codificación, es decir, 16x16.
La unidad 640 de codificación que tiene una profundidad de 3 y un tamaño de 8x8 puede incluir una unidad 640 de predicción que tiene un tamaño de 8x8, una unidad 642 de predicción que tiene un tamaño de 8x4, una unidad 644 de predicción que tiene un tamaño de 4x8, una unidad 646 de predicción que tiene un tamaño de 4x4, de las cuales los tamaños son iguales o menores que el tamaño de la unidad 640 de codificación, es decir, 8x8.
Finalmente, la unidad 650 de codificación que tiene una profundidad de 4 y un tamaño de 4x4 tiene una profundidad máxima e incluye una unidad 650 de predicción que tiene un tamaño de 4x4. Sin embargo, la unidad 650 de codificación que tiene la profundidad máxima no necesita inevitablemente incluir una unidad de predicción que tenga un tamaño igual al tamaño de la unidad de codificación, y puede dividirse, como las otras unidades 610, 620, 630, y 640 de codificación, para predicción en unidades de predicción que tienen un tamaño menor que el tamaño de la unidad de codificación.
La Figura 7 es un diagrama que muestra una unidad de codificación y una unidad de transformación, de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de imagen ilustrado en la Figura 1 y el aparato 200 de decodificación de imagen ilustrado en la Figura 2 codifican una unidad de codificación máxima o sub unidades de codificación divididas desde y que tienen tamaños menores que el tamaño de la unidad de codificación máxima. El tamaño de una unidad de transformación para realizar transformación ortogonal en un procedimiento de codificación puede seleccionarse para conseguir la tasa de compresión más alta independientemente de una unidad de codificación y una unidad de predicción. Por ejemplo, si una unidad 710 de codificación actual tiene un tamaño de 64x64, puede realizarse transformación ortogonal usando una unidad 720 de transformación que tiene un tamaño de 32x32. También, puede establecerse una unidad de transformación que tiene un tamaño mayor que el tamaño de una unidad de codificación.
Las Figuras 8A y 8B son diagramas que muestran formas de división de unidades de codificación, unidades de predicción, y unidades de transformación, de acuerdo con una realización de la presente invención.
La Figura 8A muestra unidades de codificación y unidades de predicción de acuerdo con una realización de la presente invención.
Un lado izquierdo de la Figura 8A muestra una forma de división seleccionada mediante el aparato 100 de codificación de imagen ilustrado en la Figura 1 para codificar una unidad 810 de codificación máxima. El aparato 100 de codificación de imagen divide y codifica la unidad 810 de codificación máxima en varias formas, compara las formas de división codificadas basándose en costes R-D, y selecciona una forma de división óptima. Si la forma de división óptima corresponde a la unidad 810 de codificación máxima, la unidad 810 de codificación máxima puede codificarse directamente sin dividirla como se ilustra en la Figura 8A.
Haciendo referencia al lado izquierdo de la Figura 8A, la unidad 810 de codificación máxima que tiene una profundidad de 0 se divide y codifica en sub unidades de codificación que tienen profundidades iguales o menores que 1. La unidad 810 de codificación máxima se divide en cuatro sub unidades de codificación que tienen una profundidad de 1, y a continuación todas o algunas de las sub unidades de codificación que tiene una profundidad de 1 se dividen en sub unidades de codificación que tienen una profundidad de 2.
De entre las sub unidades de codificación que tiene una profundidad de 1, la sub unidad de codificación superior
5
10
15
20
25
30
35
40
45
50
55
derecha y la unidad de codificación inferior izquierda se dividen en sub unidades de codificación que tienen profundidades iguales o mayores que 2. Algunas de las sub unidades de codificación que tienen profundidades iguales o mayores que 2 pueden dividirse en sub unidades de codificación que tienen profundidades iguales o mayores que 3.
Un lado derecho de la Figura 8A muestra una forma de división de una unidad 860 de predicción con respecto a la unidad 810 de codificación máxima.
Haciendo referencia al lado derecho de la Figura 8A, la unidad 860 de predicción con respecto a la unidad 810 de codificación máxima puede dividirse de manera diferente de la unidad 810 de codificación máxima. En otras palabras, una unidad de predicción con respecto a cada sub unidad de codificación puede ser más pequeña que la sub unidad de codificación.
Por ejemplo, de entre las sub unidades de codificación que tienen una profundidad de 1, una unidad de predicción con respecto a una sub unidad 854 de codificación inferior derecha puede ser más pequeña que la sub unidad 854 de codificación. De entre las sub unidades 814, 816, 818, 828, 850, y 852 de codificación que tienen una profundidad de 2, las unidades de predicción con respecto a algunas sub unidades 815, 816, 850, y 852 de codificación pueden ser más pequeñas que las sub unidades 815, 816, 850, y 852 de codificación. También, las unidades de predicción con respecto a la sub unidad 822, 832, y 848 de codificación que tiene una profundidad de 3 pueden ser más pequeñas que la sub unidad 822, 832, y 848 de codificación. Una unidad de predicción puede tener una forma obtenida dividiendo cada sub unidad de codificación en dos en una dirección de su altura o anchura, o una forma obtenida dividiendo cada sub unidad de codificación en cuatro en una dirección de su altura y anchura.
La Figura 8B muestra unidades de predicción y unidades de transformación de acuerdo con una realización de la presente invención.
Un lado izquierdo de la Figura 8B muestra una forma de división de la unidad 860 de predicción con respecto a la unidad 810 de transformación máxima ilustrada en el lado izquierdo de la Figura 8A, y un lado derecho de la Figura 8B muestra una forma de división de una unidad 870 de transformación con respecto a la unidad 810 de transformación máxima.
Haciendo referencia al lado derecho de la Figura 8B, la unidad 870 de transformación puede dividirse de manera diferente de la unidad 860 de predicción.
Por ejemplo, aunque se selecciona una unidad de predicción con respecto a la unidad 854 de codificación que tiene una profundidad de 1 como una forma obtenida dividiendo una altura de la unidad 854 de codificación en la mitad, una unidad de transformación con respecto a la unidad 854 de codificación puede seleccionarse como un tamaño igual al tamaño de la unidad 854 de codificación. Análogamente, aunque las unidades de predicción con respecto a las unidades 814 y 850 de codificación que tienen una profundidad de 2 se seleccionan como formas obtenidas dividiendo alturas de las unidades 814 y 850 de codificación en la mitad, las unidades de transformación con respecto a las unidades 814 y 850 de codificación pueden seleccionarse como tamaños iguales a los tamaños de las unidades 814 y 850 de codificación.
Una unidad de transformación puede seleccionarse como un tamaño menor que el tamaño de una unidad de predicción. Por ejemplo, si una unidad de predicción con respecto a la unidad 852 de codificación que tiene una profundidad de 2 se selecciona como una forma obtenida dividiendo una anchura de la unidad 852 de codificación en la mitad, una unidad de transformación puede seleccionarse como una forma que tiene un tamaño menor que el tamaño de la unidad de predicción y obtenerse dividiendo una altura y anchura de la unidad 852 de codificación en la mitad. La unidad de transformación más pequeña que tiene un tamaño de 2x2 puede establecerse también. Una unidad de transformación puede establecerse también independientemente de un tamaño de una unidad de codificación, por ejemplo, un tamaño mayor que el tamaño de la unidad de codificación.
Los procedimientos de codificación y decodificación por entropía realizados por el codificador 450 por entropía del aparato 400 de codificación de imagen ilustrado en la Figura 4, y el decodificador 520 por entropía del aparato 500 de decodificación de imagen ilustrado en la Figura 5 se describirán ahora en detalle.
Como se ha descrito anteriormente en relación con las Figuras 4 y 5, el aparato 400 de codificación de imagen y el aparato 500 de decodificación de imagen codifican una unidad de codificación máxima o sub unidades de codificación divididas desde y que tienen tamaños menores que el tamaño de la unidad de codificación máxima. El tamaño de una unidad de transformación para realizar transformación ortogonal en un procedimiento de codificación puede seleccionarse para conseguir la tasa de compresión más alta independientemente de una unidad de codificación y una unidad de predicción. Por ejemplo, si una unidad de codificación actual tiene un tamaño de 64x64, puede realizarse transformación ortogonal usando una unidad de transformación que tiene un tamaño de 32x32. También, puede establecerse una unidad de transformación que tiene un tamaño mayor que el tamaño de una unidad de codificación. En un procedimiento de codificación convencional, por ejemplo, H.264, los datos residuales transformados y cuantificados basándose en una unidad de transformación que tiene un tamaño relativamente pequeño, por ejemplo, 4x4, están codificados por entropía. Sin embargo, de acuerdo con una realización de la presente invención, puesto que una unidad de transformación a codificarse por entropía (en lo sucesivo denominada
5
10
15
20
25
30
35
40
45
50
55
como un 'bloque de transformación') puede tener un tamaño relativamente grande de 16x16, 32x32, 64x64, o 128x128 así como 4x4 o 8x8 y por lo tanto una longitud de una pasada, que representa el número de coeficientes continuos que tienen un valor 0 entre coeficientes de transformación significativos que tienen valores distintos de cero, puede aumentarse, un valor de pasada grande necesario para codificarse apropiadamente. También, de acuerdo con la tecnología convencional, para codificar información de coeficientes incluidos en un bloque de transformación, la bandera de último coeficiente significativo (last_significant_coeff_flag) que es un elemento de sintaxis que representa si cada coeficiente de transformación significativo es un último coeficiente de transformación significativo se codifica por entropía junto con un mapa de significado que representa localizaciones de coeficientes de transformación significativos que tienen valores distintos de cero. Sin embargo, si un bloque de transformación se codifica por entropía junto con el mapa de significado y la bandera de último coeficiente significativo, debería determinarse si cada coeficiente de transformación significativo es un último coeficiente de transformación significativo en un procedimiento de decodificación por entropía. Por lo tanto, de acuerdo con la tecnología convencional, los datos que representan coeficientes de transformación significativos completos pueden no identificarse fácil y directamente desde un flujo de bits recibido. Por lo tanto, de acuerdo con las realizaciones de la presente invención, se proporciona un procedimiento para codificar y decodificar por entropía de manera eficaz información acerca de una localización de un último coeficiente de transformación significativo en un bloque de transformación que tiene un tamaño grande.
La Figura 9 es un diagrama de flujo de un procedimiento de coeficientes de transformación de codificación por entropía, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 9, en la operación 910, el codificador 450 por entropía determina una localización de un último coeficiente de transformación significativo de entre los coeficientes de transformación significativos que tienen valores distintos de cero e incluidos en un bloque de transformación que tiene un cierto tamaño, de acuerdo con un cierto orden de exploración. En más detalle, si se introduce un bloque de transformación que incluye coeficientes de transformación obtenidos realizando procedimientos de transformación y cuantificación, el codificador 450 por entropía determina coeficientes de transformación significativos incluidos en un bloque de transformación de acuerdo con un cierto orden de exploración, por ejemplo, un orden de exploración en zigzag, y determina una localización de un último coeficiente de transformación significativo que se exploró finalmente.
En la operación 920, el codificador 450 por entropía codifica información acerca de la localización del último coeficiente de transformación significativo usando su localización de dirección de eje horizontal y su localización de dirección de eje vertical en el bloque de transformación. Si el último coeficiente de transformación significativo está localizado en la x-ésima localización (x es un entero igual a o mayor que 0) en una dirección de eje horizontal, y una y-ésima localización (y es un entero igual a o mayor que 0) en una dirección de eje vertical, desde una localización superior izquierda del bloque de transformación, el codificador 450 por entropía codifica los valores x e y que representan la localización del último coeficiente de transformación significativo. De acuerdo con una tecnología convencional, se codifica la bandera de último coeficiente significativo que representa si cada coeficiente de transformación significativo es un último coeficiente de transformación significativo. Sin embargo, de acuerdo con una realización de la presente invención, únicamente se codifica información de coordenadas que representa una localización de un último coeficiente de transformación significativo en un bloque de transformación. La información acerca de la localización del último coeficiente de transformación significativo puede codificarse usando un procedimiento de codificación aritmética binaria adaptativa al contexto (CABAC) o un procedimiento de codificación de longitud variable (VLC). Un procedimiento para codificar la información acerca de la localización del último coeficiente de transformación significativo usando CABAC o VLC se describirá a continuación.
Después de que se codifica la información acerca de la localización del último coeficiente de transformación significativo, el codificador 450 por entropía codifica información de nivel de cada coeficiente de transformación significativo localizado en el bloque de transformación. Como la información de nivel, el codificador 450 por entropía codifica un valor de signo y un valor absoluto de cada coeficiente de transformación significativo.
La Figura 10 es un diagrama de referencia para describir un procedimiento de coeficientes de transformación de codificación por entropía, de acuerdo con las realizaciones de la presente invención.
Haciendo referencia a la Figura 10, el codificador 450 por entropía explora coeficientes de transformación en un bloque 1000 de transformación de acuerdo con un orden de exploración en zigzag. Se supone que todos los espacios vacíos en la Figura 10 representan coeficientes de transformación que tienen un valor '0'. En la Figura 10, un último coeficiente de transformación significativo es un coeficiente 1010 de transformación que tiene un valor '-1'. Como se ilustra en la Figura 10, el último coeficiente 1010 de transformación significativo que tiene un valor '-1' está localizado en una 5a localización en una dirección de eje horizontal y una 5a localización en una dirección de eje vertical, desde un coeficiente de transformación superior izquierdo. Por consiguiente, el codificador 450 por entropía codifica valores x=5 e y=5 como información acerca de una localización de la información 1010 de último coeficiente de transformación significativo.
La Figura 11 es un diagrama de bloques de un aparato 1100 de codificación por entropía de acuerdo con una realización de la presente invención.
5
10
15
20
25
30
35
40
45
50
55
Haciendo referencia a la Figura 11, el aparato 1100 de codificación por entropía incluye un conmutador 1110, un codificador aritmético binario adaptativo al contexto (CABAC) 1120, y un codificador de longitud variable (VLC) 1130.
Como se ha descrito anteriormente en relación con la Figura 9, si se determina una localización de un último coeficiente de transformación significativo, se codifica información acerca de la localización del último coeficiente de transformación significativo usando CABAC o VLC. El conmutador 1110 controla información acerca de la localización del último coeficiente de transformación significativo, que se codifica en unidades de un sector, una instantánea, y un grupo de instantáneas, para emitirse a la CABAC 1120 o a la VLC 1130. Si codificar la información usando CABAc o VLC puede determinarse también comparando costes R-D obtenidos usando CABAC y VLC.
Un procedimiento para codificar la información acerca de la localización del último coeficiente de transformación significativo usando CABAC se describirá ahora.
La Figura 12 es un diagrama de bloques de un dispositivo 1200 CABAC de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 12, el dispositivo 1200 CABAC incluye principalmente un conversor a binario 1210, un modelador 1220 de contexto, y un codificador 1230 aritmético binario. También, el codificador 1230 aritmético binario incluye un motor 1232 de codificación regular y un motor 1234 de codificación de desvío.
El conversor a binario 1201 transforma una localización de dirección de eje horizontal x y una localización de dirección de eje vertical y en un bloque de transformación, que representa una localización de un último coeficiente de transformación significativo, en valores binarios y emite cadenas binarias. Un binario representa cada bit de la cadena binaria. Un procedimiento para convertir a binario información acerca de la localización del último coeficiente de transformación significativo incluye diversos procedimientos de conversión a binario tales como conversión a binario unaria, conversión a binario unaria truncada, conversión a binario de Golomb exponencial de orden unario/k- ésimo concatenada, y conversión a binario de longitud fija. Por ejemplo, en la Figura 10, si la localización del último coeficiente de transformación significativo se representa como X=5 e Y=5, los valores X e Y pueden convertirse a binarios en X=000001 e Y=000001 usando conversión a binario unaria truncada.
La información acerca de la localización del último coeficiente de transformación significativo, que se mapea a los valores binarios mediante el conversor a binario 1210, se introduce al modelador 1220 de contexto. El modelador 1220 de contexto determina un modelo de probabilidad requerido para codificar los binarios actualmente introducidos, es decir, un contexto, basándose en los valores binarios introducidos o un elemento de sintaxis previamente codificado. En particular, de acuerdo con una realización de la presente invención, uno de los contextos previamente determinados puede seleccionarse de acuerdo con la localización del último coeficiente de transformación significativo.
El motor 1232 de codificación regular genera un flujo de bits codificando aritméticamente los valores binarios introducidos basándose en el modelo de probabilidad determinado mediante el modelador 1220 de contexto.
El motor 1234 de codificación de desvío es un motor para emitir un valor de entrada sin comprimirlo, y codifica datos tales como datos de modulación de codificación por pulsos (PCM).
La Figura 13 es un diagrama de referencia para describir un procedimiento para seleccionar un contexto para codificar información acerca de una localización de un último coeficiente de transformación significativo, de acuerdo con una realización de la presente invención.
El modelador 1220 de contexto selecciona uno de una pluralidad de contextos previamente preparados de acuerdo con la localización del último coeficiente de transformación significativo. La pluralidad de contextos clasifica '0' y '1' de una señal binaria en unos símbolos más probables (MPS) y unos símbolos menos probables (LPS) de acuerdo con la localización del último coeficiente de transformación significativo, y establece valores de probabilidad de los MPS y los LPS. Qué símbolo de '0' y '1' se establece como un MPS o un LPS, y cómo establecer valores de probabilidad del MPS y el LPS puede diseñarse de acuerdo con la necesidad. La Figura 13 muestra contextos seleccionados de acuerdo con la localización del último coeficiente de transformación significativo excepto para una localización superior izquierda que corresponde a un DC cuando se exploran coeficientes de transformación en un bloque de transformación de acuerdo con un orden de exploración en zigzag. Haciendo referencia a la Figura 13, el modelador 1220 de contexto incluye tres contextos que tienen índices 0, 1, y 2 con respecto a un bloque de transformación de 4x4, y selecciona uno de los tres contextos que tienen índices 0, 1, y 2 de acuerdo con la localización del último coeficiente de transformación significativo de entre las localizaciones en el bloque de transformación de 4x4 excepto para una localización superior izquierda. Es decir, el contexto que tiene un índice 0 se selecciona si el último coeficiente de transformación significativo está localizado en (1,0) en el bloque de transformación de 4x4, el contexto que tiene un índice 1 se selecciona si el último coeficiente de transformación significativo está localizado en (0,1), y el contexto que tiene un índice 2 se selecciona si el último coeficiente de transformación significativo está localizado en (1,1). Análogamente, el modelador 1220 de contexto incluye siete contextos que tienen índices 0 a 6 con respecto a un bloque de transformación de 8x8, y selecciona uno de los siete contextos que tienen índices 0 a 6 de acuerdo con la localización del último coeficiente de transformación significativo de entre las localizaciones en el bloque de transformación de 8x8 excepto para una localización superior
5
10
15
20
25
30
35
40
45
50
55
izquierda. De manera similar, el modelador 1220 de contexto incluye doce contextos que tienen índices 0 a 11 con respecto a un bloque de transformación de 16x16, y selecciona uno de los doce contextos que tienen índices 0 a 11 de acuerdo con la localización del último coeficiente de transformación significativo de entre las localizaciones en el bloque de transformación de 16x16 excepto para una localización superior izquierda.
El motor 1232 de codificación regular genera un flujo de bits codificando aritméticamente los valores binarios de entrada que representan la localización del último coeficiente de transformación significativo, basándose en el contexto determinado mediante el modelador 1220 de contexto. Por ejemplo, se supone que una localización de dirección de eje horizontal del último coeficiente de transformación significativo, es decir, X, tiene un valor 3, y que el conversor a binario 1210 genera una cadena binaria '010' convirtiendo a binario el valor 3. Se supone también que, basándose en el contexto seleccionado mediante el modelador 1220 de contexto de acuerdo con la localización del último coeficiente de transformación significativo, un MPS es '0' que tiene un valor de probabilidad de 0,8 y un LPS es '1' que tiene un valor de probabilidad 0,2. El motor 1232 de codificación regular actualiza un periodo [0.1] en un periodo [0.0,8] dividiéndolo de acuerdo con el valor de probabilidad de '0' que es un binario inicial para formar la cadena binaria '010', y actualiza el periodo [0.0,8] en un nuevo periodo [0,64.0,8] de acuerdo con el valor de probabilidad de '1' que es un siguiente binario. También, el motor 1232 de codificación regular actualiza el periodo [0,64.0,8] en un nuevo periodo [0,64.0,768] de acuerdo con el valor de probabilidad de '0' que es un último binario. El motor 1232 de codificación regular emite '11' obtenido excluyendo un dígito inicial de '0,11' que es un número binario de un número real 0,75 incluido en el periodo [0,64.0,768], como una palabra de código que corresponde al valor 3 que representa la localización de dirección de eje horizontal del último coeficiente de transformación significativo. Análogamente, el motor 1232 de codificación regular convierte a binario un valor de coordenada Y que representa una localización de dirección de eje vertical del último coeficiente de transformación significativo, y genera un flujo de bits codificando el valor de coordenada Y convertido a binario de acuerdo con el contexto seleccionado.
Además de la información anteriormente descrita acerca de la localización del último coeficiente de transformación significativo, el CABAC 1120 ilustrado en la Figura 11 codifica la bandera de bloque codificado (coded_block_flag) que representa si un coeficiente de transformación significativo que tiene un valor distinto de cero existe en un bloque de transformación, y la bandera de coeficiente significativo (significant_coeff_flag) que representa una localización de cada coeficiente de transformación significativo en el bloque de transformación. Un procedimiento de codificación de bandera de bloque codificado y bandera de coeficiente significativo puede ser el mismo que el procedimiento de codificación H.264 convencional. Por ejemplo, haciendo referencia a la Figura 14 que muestra un mapa 1400 de significado que corresponde a la Figura 10, el mapa 1400 de significado puede representarse estableciendo bandera de coeficiente significativo[i] como 1 si un coeficiente de transformación que tiene un i-ésimo orden de exploración es un coeficiente de transformación significativo, y estableciendo bandera de coeficiente significativo[i] como 0 si el coeficiente de transformación que tiene un i-ésimo orden de exploración es 0. El mapa 1400 de significado puede codificarse usando quince modelos de probabilidad como en H.264.
Después de que se codifica la información acerca de la localización del último coeficiente de transformación significativo, el codificador 450 por entropía codifica información de nivel de cada coeficiente de transformación significativo localizado en el bloque de transformación.
La Figura 15 es un diagrama de referencia para describir un procedimiento de valores de nivel de codificación de coeficientes de transformación significativos incluidos en el bloque 1000 de transformación ilustrado en la Figura 10.
Haciendo referencia a las Figuras 10 y 15, el codificador 450 por entropía explora los coeficientes de transformación ilustrados en la Figura 10 desde el coeficiente de transformación superior izquierdo al último coeficiente de transformación significativo de acuerdo con un orden de exploración en zigzag y obtiene coeficientes de transformación alineados unidimensionalmente como se ilustra en la Figura 15.
El codificador 450 por entropía codifica los coeficientes de transformación alineados unidimensionalmente usando una pasada que representa el número de coeficientes continuos que tienen un valor 0 entre coeficientes de transformación significativos, y un nivel que representa un valor de cada coeficiente de transformación significativo, como en H.264 convencional. En más detalle, el codificador 450 por entropía determina la pasada y el nivel en un orden opuesto al orden de exploración, es decir, en una dirección desde un lado derecho a un lado izquierdo de la Figura 15, y codifica la pasada y el nivel usando una cierta tabla de VLC.
La Figura 16 es un diagrama que muestra un ejemplo de una pluralidad de tablas de VLC VLC0 a VLC8 usadas de acuerdo con una realización de la presente invención. El codificador 450 por entropía puede seleccionar una de las tablas de VLC VLC0 a VLC8 de acuerdo con la localización del último coeficiente de transformación significativo y puede codificar la pasada y el nivel usando la tabla de VLC seleccionada. Por ejemplo, como se ilustra en la Figura 15, se realiza VLC en las pasadas 1530, 1540, 1550, y 1560 que representan los números de coeficientes de transformación continuos que tienen un valor 0 entre coeficientes de transformación significativos desde un último coeficiente 1510 de transformación significativo que tiene un valor '-1', usando la tabla de VLC.
Puesto que un bloque de transformación de acuerdo con una realización de la presente invención puede tener un gran tamaño igual a o mayor que 16x16, un valor de pasada puede aumentarse. Por ejemplo, si una tabla de VLC cubre valores de pasada únicamente desde 0 a 63 y un valor de pasada es mayor que 63, el valor puede no
5
10
15
20
25
30
35
40
45
50
55
60
codificarse usando la tabla de VLC. Por consiguiente, de acuerdo con una realización de la presente invención, en consideración de un valor de pasada máximo disponible mediante una tabla de VLC, si un bloque de transformación tiene un valor de pasada mayor que el valor de pasada máximo, el codificador 450 por entropía codifica valores de pasada iguales a o menores que el valor de pasada máximo y a continuación codifica los otros valores de pasada. Por ejemplo, si el valor de pasada máximo es 63 y un valor de pasada a codificar es 70, el valor de pasada 70 se divide en los valores de pasada 63 y 7 y los valores de pasada 63 y 7 se codifican por separado como información de pasada.
De acuerdo con otra realización de la presente invención, la localización (x, y) del último coeficiente de transformación significativo puede codificarse también usando VLC distinta de la CABAC anteriormente descrita. Es decir, el codificador 450 por entropía puede realizar VLC en los valores x e y con referencia a una tabla de VLC previamente preparada de acuerdo con los valores x e y.
La Figura 17 es un diagrama de referencia para describir un procedimiento de coeficientes de transformación de codificación por entropía, de acuerdo con otra realización de la presente invención.
De acuerdo con la realización actual, el codificador 450 por entropía divide un bloque de transformación en sub bloques que tienen un cierto tamaño, y codifica información acerca de una localización de un último coeficiente de transformación significativo en un sub bloque que incluye el último coeficiente de transformación significativo, junto con un índice del sub bloque. En la Figura 17, se supone que (Sa,b) representa un coeficiente de transformación en un sub bloque a y que tiene un b-ésimo índice de exploración. Haciendo referencia a la Figura 17, si se supone que el último coeficiente de transformación significativo es (S1,12) en un sub bloque 1 1771, el codificador 450 por entropía codifica (2,2) que representa la localización del último coeficiente de transformación significativo (S1,12) en el sub bloque 1 1771 como la información acerca de la localización del último coeficiente de transformación significativo en el sub bloque, junto con un cierto índice que representa el sub bloque 1 1771.
Haciendo referencia de vuelta a la Figura 10, de acuerdo con otra realización de la presente invención, los coeficientes de transformación se codifican usando la información 1010 del último coeficiente de transformación significativo en el bloque 1000 de transformación (en lo sucesivo denominado como un 'primer último coeficiente de transformación significativo') y un coeficiente 1020 de transformación significativo anterior al primer último coeficiente 1010 de transformación significativo (en lo sucesivo denominado como un 'segundo último coeficiente de transformación significativo'). En más detalle, el codificador 450 por entropía codifica (3,4) que representa la localización del segundo último coeficiente 1020 de transformación significativo como se ha descrito anteriormente. A continuación, el codificador 450 por entropía codifica un valor de pasada entre el primer y segundo últimos coeficientes 1010 y 1020 de transformación significativos. Como se ha descrito anteriormente, si la localización del segundo último coeficiente 1020 de transformación significativo es conocida, la localización del primer último coeficiente 1010 de transformación significativo puede obtenerse añadiendo el valor de pasada entre el primer y el segundo últimos coeficientes 1010 y 1020 de transformación significativos a la localización del segundo último coeficiente 1020 de transformación significativo.
Las Figuras 18A y 18B son diagramas de referencia para describir un procedimiento de coeficientes de transformación de codificación por entropía, de acuerdo con otra realización de la presente invención.
El codificador 450 por entropía puede seleccionar una dirección de exploración que corresponde a uno de un orden de exploración en zigzag y un orden de exploración en zigzag inverso de acuerdo con el orden en el que un último coeficiente de transformación significativo se explora en primer lugar, es decir, de acuerdo con si el último coeficiente de transformación significativo está cerca de una localización superior izquierda o una localización inferior derecha de un bloque de transformación, y puede codificar información acerca de una localización del último coeficiente de transformación significativo junto con un índice que representa la dirección de exploración seleccionada. Por ejemplo, como se ilustra en la Figura 18A, si el número de referencia 1812 indica una localización central, un último coeficiente 1811 de transformación significativo está localizado cerca de la localización superior izquierda. En este caso, el codificador 450 por entropía puede codificar información acerca de una localización del último coeficiente 1811 de transformación significativo junto con un índice (un índice de exploración hacia delante) que representa una dirección de exploración desde la localización superior izquierda. También, como se ilustra en la Figura 18B, si el número 1822 de referencia indica una localización central y un último coeficiente 1821 de transformación significativo está localizado cerca de la localización inferior derecha, el codificador 450 por entropía puede codificar información acerca de una localización del último coeficiente 1821 de transformación significativo junto con un índice (un índice de exploración hacia atrás) que representa una dirección de exploración desde la localización inferior derecha.
De acuerdo con otra realización de la presente invención, para codificar un valor de pasada, puede establecerse una cierta pasada global y el valor de pasada puede representarse usando un cociente y un resto obtenidos cuando el valor de pasada se divide por la pasada global (perfeccionamiento de pasada). Por ejemplo, se supone que el valor de pasada es 78 y la pasada global tiene un valor 16. En este caso, cuando 78 se divide por 16, un cociente es 4 y un resto es 14. Por consiguiente, el valor de pasada 78 puede representarse usando 16 que es el valor de la pasada global, 4 que es el valor del cociente, y 14 que es el valor del resto. El codificador 450 por entropía puede codificar información acerca de la pasada global, el cociente y el resto usando VLC o CABAC. Si un codificador y un
5
10
15
20
25
30
35
40
45
50
55
decodificador establecen previamente la misma pasada global, la información acerca de la pasada global puede no codificarse adicionalmente.
También, de acuerdo con otra realización de la presente invención, el codificador 450 por entropía puede codificar información acerca de una localización de un último coeficiente de transformación significativo aplicando diferentes tablas de VLC de acuerdo con el tamaño de un bloque de transformación que incluye el último coeficiente de transformación significativo.
La Figura 19 es un diagrama de flujo de un procedimiento de coeficientes de transformación de decodificación por entropía, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 19, en la operación 1910, el decodificador 520 por entropía extrae información acerca de una localización de dirección de eje horizontal y una localización de dirección de eje vertical de un último coeficiente de transformación significativo que tiene un valor distinto de cero e incluido en un bloque de transformación, desde un flujo de bits recibido de acuerdo con un cierto orden de exploración. Como se ha descrito anteriormente en relación con la Figura 9, si el último coeficiente de transformación significativo está localizado en una x-ésima localización (x es un entero igual a o mayor que 0) en una dirección de eje horizontal, y una y-ésima localización (y es un entero igual a o mayor que 0) en una dirección de eje vertical, desde una localización superior izquierda del bloque de transformación, la información acerca de una localización del último coeficiente de transformación significativo incluye los valores x e y.
En la operación 1920, el decodificador 520 por entropía determina una localización del último coeficiente de transformación significativo decodificando la información acerca de la localización de dirección de eje horizontal y la localización de dirección de eje vertical. El decodificador 520 por entropía decodifica la información acerca de la localización del último coeficiente de transformación significativo usando decodificación aritmética binaria adaptativa al contexto (CABAD) o decodificación de longitud variable (VLD) como un procedimiento inverso al procedimiento de codificación realizado mediante el codificador 450 por entropía, y determina la localización del último coeficiente de transformación significativo. En más detalle, el decodificador 520 por entropía puede realizar VLD en la localización de dirección de eje horizontal y la localización de dirección de eje vertical del último coeficiente de transformación significativo con referencia a una cierta tabla de correspondencia de VLC. También, el decodificador 520 por entropía puede seleccionar uno de una pluralidad de contextos de acuerdo con la localización del último coeficiente de transformación significativo, y puede realizar CABAD en la información acerca de la localización del último coeficiente de transformación significativo de acuerdo con el contexto seleccionado.
En la operación 1930, el decodificador 520 por entropía decodifica información de pasada y nivel incluida en el flujo de bits, usando la localización del último coeficiente de transformación significativo. Si una longitud de una pasada es mayor que un cierto valor umbral, el decodificador 520 por entropía decodifica información de pasada de una longitud al valor umbral, y a continuación decodifica información de pasada de una longitud mayor que el valor umbral. Como se ha descrito anteriormente en relación con la Figura 16, si el valor umbral se establece para codificar valores de pasada a 63, un valor de pasada 70 se divide en valores de pasada 63 y 7 y a continuación los valores de pasada 63 y 7 se codifican por separado. Por lo tanto, el decodificador 520 por entropía puede decodificar el valor de pasada 70 decodificando por separado y a continuación combinando los valores de pasada 63 y 7.
La Figura 20 es un diagrama de bloques de un aparato 2000 de decodificación por entropía de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 20, el aparato 2000 de decodificación por entropía incluye un conmutador 2010, una CABAD 2020, y una VLD 2030.
El conmutador 2010 emite información acerca de coeficientes de transformación codificados a uno de la CABAD 2020 y la VLD 2030 usando información de modo de codificación de los coeficientes de transformación, que se establecen en unidades de un sector, una instantánea, y un grupo de instantáneas.
La VLD 2030 puede realizar VLD en una localización de dirección de eje horizontal y una localización de dirección de eje vertical de un último coeficiente de transformación significativo con referencia a una cierta tabla de correspondencia de VLC. También, la CABAD 2020 puede seleccionar uno de una pluralidad de contextos de acuerdo con la localización del último coeficiente de transformación significativo, y puede realizar CABAD en información acerca de la localización del último coeficiente de transformación significativo de acuerdo con el contexto seleccionado.
La presente invención puede implementarse también como código legible por ordenador en un medio de grabación legible por ordenador. El medio de grabación legible por ordenador es cualquier dispositivo de almacenamiento de datos que puede almacenar datos que pueden leerse posteriormente mediante un sistema informático. Ejemplos del medio de grabación legible por ordenador incluyen memoria de solo lectura (ROM), memoria de acceso aleatorio (RAM), CD-ROM, cintas magnéticas, discos flexibles, dispositivos de almacenamiento de datos óptico, etc. El medio de grabación legible por ordenador puede distribuirse también a través de sistemas informáticos acoplados en red de modo que el código legible por ordenador se almacena y ejecuta de una manera distribuida.

Claims (1)

  1. REIVINDICACIONES
    1. Un aparato (2000) para decodificar por entropía coeficientes de transformación, comprendiendo el aparato un decodificador por entropía configurado para:
    extraer información acerca de una localización de dirección de eje horizontal y una localización de dirección de eje 5 vertical de un último coeficiente de transformación significativo que tiene un valor distinto de cero e incluido en un bloque de transformación, desde un flujo de bits recibido en el que el último coeficiente de transformación significativo tiene el último índice de exploración de acuerdo con un cierto orden de exploración entre los coeficientes de transformación,
    determinar una localización del último coeficiente de transformación significativo decodificando la información acerca 10 de la localización de dirección de eje horizontal y la localización de dirección de eje vertical,
    decodificar el último coeficiente de transformación significativo en base a la localización del último coeficiente de transformación significativo.
    decodificar una bandera de coeficiente significativo, incluida en el flujo de bits recibido, que representa una localización de un segundo coeficiente de transformación significativo, y 15 decodificar el segundo coeficiente de transformación significativo usando la bandera de coeficiente significativo,
    en el que la información incluye un valor x que corresponde a la localización de dirección de eje horizontal y un valor y que corresponde a la localización de dirección de eje vertical.
ES16180222.8T 2010-07-09 2011-07-08 Procedimiento y aparato para codificar/decodificar por entropía un coeficiente de transformación Active ES2648315T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US36284410P 2010-07-09 2010-07-09
US362844P 2010-07-09

Publications (1)

Publication Number Publication Date
ES2648315T3 true ES2648315T3 (es) 2017-12-29

Family

ID=45441682

Family Applications (5)

Application Number Title Priority Date Filing Date
ES11803837.1T Active ES2590705T3 (es) 2010-07-09 2011-07-08 Procedimiento y aparato para codificar/decodificar por entropía un coeficiente de transformación
ES16180224.4T Active ES2653160T3 (es) 2010-07-09 2011-07-08 Procedimiento para decodificar por entropía coeficientes de transformación
ES16180222.8T Active ES2648315T3 (es) 2010-07-09 2011-07-08 Procedimiento y aparato para codificar/decodificar por entropía un coeficiente de transformación
ES16180227.7T Active ES2648061T3 (es) 2010-07-09 2011-07-08 Procedimiento y aparato para codificar/decodificar por entropía un coeficiente de transformación
ES16180225.1T Active ES2653152T3 (es) 2010-07-09 2011-07-08 Aparato para decodificar por entropía coeficientes de transformación

Family Applications Before (2)

Application Number Title Priority Date Filing Date
ES11803837.1T Active ES2590705T3 (es) 2010-07-09 2011-07-08 Procedimiento y aparato para codificar/decodificar por entropía un coeficiente de transformación
ES16180224.4T Active ES2653160T3 (es) 2010-07-09 2011-07-08 Procedimiento para decodificar por entropía coeficientes de transformación

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES16180227.7T Active ES2648061T3 (es) 2010-07-09 2011-07-08 Procedimiento y aparato para codificar/decodificar por entropía un coeficiente de transformación
ES16180225.1T Active ES2653152T3 (es) 2010-07-09 2011-07-08 Aparato para decodificar por entropía coeficientes de transformación

Country Status (27)

Country Link
US (4) US9414063B2 (es)
EP (6) EP3104617B1 (es)
JP (4) JP5873084B2 (es)
KR (8) KR101733794B1 (es)
CN (5) CN105828077B (es)
AU (5) AU2011274680B2 (es)
BR (4) BR122021004665B1 (es)
CA (2) CA2921710C (es)
CY (5) CY1117981T1 (es)
DK (5) DK3104616T3 (es)
ES (5) ES2590705T3 (es)
HR (5) HRP20161151T1 (es)
HU (5) HUE035097T2 (es)
LT (5) LT3101900T (es)
MX (1) MX2013000344A (es)
MY (5) MY184131A (es)
NO (1) NO3104617T3 (es)
PH (4) PH12015500945A1 (es)
PL (5) PL3101901T3 (es)
PT (5) PT3101901T (es)
RS (5) RS56253B1 (es)
RU (4) RU2530341C1 (es)
SG (2) SG195591A1 (es)
SI (5) SI3104616T1 (es)
SM (1) SMT201600310B (es)
WO (1) WO2012005551A2 (es)
ZA (4) ZA201300699B (es)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011259205A (ja) 2010-06-09 2011-12-22 Sony Corp 画像復号化装置と画像符号化装置およびその方法とプログラム
KR101733794B1 (ko) * 2010-07-09 2017-05-10 삼성전자주식회사 변환 계수의 엔트로피 부호화/복호화 방법 및 장치
US10091529B2 (en) * 2010-07-09 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding/decoding a transform coefficient
CN103647974B (zh) 2010-11-26 2017-05-31 日本电气株式会社 视频解码设备和视频解码方法
US9042440B2 (en) 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US8976861B2 (en) * 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US10992958B2 (en) 2010-12-29 2021-04-27 Qualcomm Incorporated Video coding using mapped transforms and scanning modes
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US10397577B2 (en) 2011-03-08 2019-08-27 Velos Media, Llc Inverse scan order for significance map coding of transform coefficients in video coding
US9167253B2 (en) 2011-06-28 2015-10-20 Qualcomm Incorporated Derivation of the position in scan order of the last significant transform coefficient in video coding
EP3021591A1 (en) * 2011-06-28 2016-05-18 Samsung Electronics Co., Ltd. Apparatus for decoding video accompanied with context-based arithmetic decoding
US9756360B2 (en) * 2011-07-19 2017-09-05 Qualcomm Incorporated Coefficient scanning in video coding
US9154792B2 (en) * 2011-11-08 2015-10-06 Qualcomm Incorporated Progressive coding of position of last significant coefficient
AU2012200319B2 (en) 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
PH12018500138A1 (en) * 2012-01-20 2018-07-09 Ge Video Compression Llc Transform coefficient coding
US9565435B2 (en) * 2012-02-04 2017-02-07 Google Technology Holdings LLC Devices and methods for context reduction in last significant coefficient position coding
KR20130116754A (ko) * 2012-04-16 2013-10-24 주식회사 팬택 엔트로피 부복호화 방법 및 이러한 방법을 사용하는 장치
PT2869563T (pt) 2012-07-02 2018-06-25 Samsung Electronics Co Ltd Método e aparelho para codificar vídeo de entropia e método e aparelho para descodifcar vídeo de entropia
WO2014110651A1 (en) * 2013-01-16 2014-07-24 Blackberry Limited Transform coefficient coding for context-adaptive binary entropy coding of video
CN104104958B (zh) * 2013-04-08 2017-08-25 联发科技(新加坡)私人有限公司 图像解码方法及其图像解码装置
US9215464B2 (en) * 2013-09-19 2015-12-15 Blackberry Limited Coding position data for the last non-zero transform coefficient in a coefficient group
KR102250088B1 (ko) 2013-10-24 2021-05-10 삼성전자주식회사 비디오 스트림을 복호화하는 방법 및 장치
KR20180039578A (ko) 2015-09-08 2018-04-18 삼성전자주식회사 엔트로피 부호화 및 복호화를 위한 장치 및 방법
KR20180040515A (ko) * 2015-09-10 2018-04-20 삼성전자주식회사 부호화 장치, 복호화 장치, 그 부호화 및 복호화 방법
WO2017041271A1 (en) * 2015-09-10 2017-03-16 Mediatek Singapore Pte. Ltd. Efficient context modeling for coding a block of data
EP3270594A1 (en) * 2016-07-15 2018-01-17 Thomson Licensing Method and apparatus for advanced cabac context adaptation for last coefficient coding
WO2018030294A1 (ja) * 2016-08-10 2018-02-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US10244261B2 (en) * 2017-01-26 2019-03-26 Google Llc Transform coefficient coding using level maps
KR102272992B1 (ko) 2017-04-13 2021-07-06 엘지전자 주식회사 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
CN108881909A (zh) * 2017-05-09 2018-11-23 富士通株式会社 扫描顺序生成方法和扫描顺序生成设备
WO2019078693A1 (ko) * 2017-10-20 2019-04-25 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
CN109874012B (zh) * 2017-12-04 2020-09-11 北京金山云网络技术有限公司 一种视频编码方法、编码器、电子设备及介质
CN116132673A (zh) * 2017-12-13 2023-05-16 三星电子株式会社 视频解码方法及其装置以及视频编码方法及其装置
CN113316934B (zh) * 2019-01-25 2024-03-08 寰发股份有限公司 带有变换块级别约束的变换系数编码的方法和设备
WO2020185005A1 (ko) * 2019-03-12 2020-09-17 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
CN113287310A (zh) * 2019-06-10 2021-08-20 株式会社 Xris 用于对图像信号进行编码/解码方法及其装置
KR20210133300A (ko) * 2019-06-19 2021-11-05 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
CN112449192B (zh) * 2019-08-27 2022-09-16 杭州海康威视数字技术股份有限公司 解码方法、编码方法及装置
CN114556932B (zh) * 2019-09-24 2023-05-23 北京达佳互联信息技术有限公司 用于视频编解码的无损编解码模式
CN113489980B (zh) * 2021-08-13 2022-10-25 北京大学深圳研究生院 一种点云属性变换系数的熵编码和熵解码的方法及设备

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11331612A (ja) 1998-05-19 1999-11-30 Canon Inc 画像処理装置及び方法及び記憶媒体
JP2003153228A (ja) * 2001-11-15 2003-05-23 Sony Corp 画像符号化装置及び画像復号化装置
PT1467491E (pt) 2002-05-02 2007-03-30 Fraunhofer Ges Forschung Codificação aritmética de coeficientes de transformação
US7379608B2 (en) * 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
JP2007043651A (ja) * 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
US20080130989A1 (en) 2005-07-22 2008-06-05 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US8599925B2 (en) 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
KR100772870B1 (ko) * 2005-12-12 2007-11-02 삼성전자주식회사 Fgs 계층의 블록에 포함되는 계수의 특성에 따라 비디오신호를 부호화하고 복호화하는 방법 및 장치
JP4379444B2 (ja) 2006-07-26 2009-12-09 ソニー株式会社 復号化方法、復号化方法のプログラム、復号化方法のプログラムを記録した記録媒体、復号化装置
CN101321060B (zh) * 2007-06-07 2011-06-08 管海明 一种用于编码和译码数字消息的方法和***
JP5261376B2 (ja) * 2007-09-21 2013-08-14 パナソニック株式会社 画像符号化装置および画像復号化装置
KR20090097013A (ko) * 2008-03-10 2009-09-15 삼성전자주식회사 영상 부호화장치 및 영상 복호화장치
KR101375668B1 (ko) * 2008-03-17 2014-03-18 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
KR20090129926A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
EP2154894A1 (en) * 2008-08-15 2010-02-17 Thomson Licensing Video coding with coding of the locations of significant coefficients in a block of coefficients
US8406307B2 (en) * 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
US7804428B2 (en) * 2008-11-10 2010-09-28 Apple Inc. System and method for compressing a stream of integer-valued data
KR101457894B1 (ko) * 2009-10-28 2014-11-05 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
KR101733794B1 (ko) * 2010-07-09 2017-05-10 삼성전자주식회사 변환 계수의 엔트로피 부호화/복호화 방법 및 장치
US8976861B2 (en) 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US9042440B2 (en) * 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
CA2832086C (en) 2011-04-15 2018-10-23 Blackberry Limited Methods and devices for coding and decoding the position of the last significant coefficient

Also Published As

Publication number Publication date
PH12015500943A1 (en) 2015-06-29
RU2530341C1 (ru) 2014-10-10
SI3101901T1 (sl) 2017-10-30
RS55152B1 (sr) 2017-01-31
ES2648061T3 (es) 2017-12-28
KR20210156250A (ko) 2021-12-24
RU2686626C1 (ru) 2019-04-29
LT2592832T (lt) 2016-10-10
SG10201703211YA (en) 2017-06-29
CN105791846B (zh) 2019-01-04
AU2018282456B2 (en) 2019-11-07
KR102196431B1 (ko) 2020-12-29
CY1119266T1 (el) 2018-02-14
PL2592832T3 (pl) 2016-12-30
EP3101900A1 (en) 2016-12-07
AU2018282456A1 (en) 2019-01-24
KR20230048271A (ko) 2023-04-11
KR101733794B1 (ko) 2017-05-10
CN105791846A (zh) 2016-07-20
ZA201300699B (en) 2015-11-25
US9414063B2 (en) 2016-08-09
US20160330482A1 (en) 2016-11-10
KR20210000297A (ko) 2021-01-04
HUE036472T2 (hu) 2018-07-30
CN105828077A (zh) 2016-08-03
US20160330447A1 (en) 2016-11-10
PT3104616T (pt) 2017-09-08
HRP20171318T1 (hr) 2017-10-20
AU2016213718B2 (en) 2017-08-31
CN105791845B (zh) 2019-01-04
PT3104617T (pt) 2017-11-23
CY1119264T1 (el) 2018-02-14
KR101984826B1 (ko) 2019-09-03
RU2614544C2 (ru) 2017-03-28
HRP20171316T1 (hr) 2017-10-20
EP3101900B1 (en) 2017-08-30
ZA201502807B (en) 2016-10-26
ES2653152T3 (es) 2018-02-06
SI2592832T1 (sl) 2016-10-28
JP2013537737A (ja) 2013-10-03
EP3104617B1 (en) 2017-11-15
DK2592832T3 (da) 2016-09-26
HUE035095T2 (en) 2018-05-02
PH12015500945B1 (en) 2015-06-29
CA2804939A1 (en) 2012-01-12
PH12015500945A1 (en) 2015-06-29
PH12015500944A1 (en) 2015-06-29
PH12015500942B1 (en) 2015-06-29
EP3104617A1 (en) 2016-12-14
JP6574025B2 (ja) 2019-09-11
CY1119267T1 (el) 2018-02-14
AU2011274680B2 (en) 2015-06-11
EP3104616B1 (en) 2017-08-30
DK3101901T3 (en) 2017-09-18
EP2592832A2 (en) 2013-05-15
KR20190062349A (ko) 2019-06-05
KR20220083648A (ko) 2022-06-20
DK3104616T3 (en) 2017-09-18
MY175536A (en) 2020-07-01
BR112013000558A2 (pt) 2016-07-05
JP2017175636A (ja) 2017-09-28
CN105847811B (zh) 2019-06-07
PH12015500942A1 (en) 2015-06-29
KR102118694B1 (ko) 2020-06-03
BR122021004665B1 (pt) 2023-01-24
RU2014133412A (ru) 2016-03-10
PL3104617T3 (pl) 2018-01-31
AU2015218476B2 (en) 2016-05-19
LT3101901T (lt) 2017-09-25
BR112013000558B1 (pt) 2023-01-24
RS56577B1 (sr) 2018-02-28
BR122020013774B1 (pt) 2023-01-24
EP3293976A1 (en) 2018-03-14
CA2921710A1 (en) 2012-01-12
HUE035084T2 (en) 2018-05-02
PT2592832T (pt) 2016-09-20
HRP20171771T1 (hr) 2017-12-29
US9743112B2 (en) 2017-08-22
WO2012005551A3 (ko) 2012-05-03
CN105847811A (zh) 2016-08-10
US20160330483A1 (en) 2016-11-10
LT3104617T (lt) 2017-12-11
HRP20171316T8 (hr) 2017-12-01
CN105791845A (zh) 2016-07-20
MY184224A (en) 2021-03-27
EP3101901B1 (en) 2017-08-30
SI3101900T1 (sl) 2017-10-30
CA2804939C (en) 2016-05-10
JP5873084B2 (ja) 2016-03-01
LT3104616T (lt) 2017-09-25
HRP20171317T1 (hr) 2017-11-17
HUE035097T2 (en) 2018-05-02
EP2592832B1 (en) 2016-09-07
CY1117981T1 (el) 2017-05-17
SMT201600310B (it) 2016-11-10
CA2921710C (en) 2019-07-30
EP2592832A4 (en) 2015-08-12
CY1119732T1 (el) 2018-06-27
DK3104617T3 (da) 2017-11-27
CN103098469A (zh) 2013-05-08
SG195591A1 (en) 2013-12-30
MY184131A (en) 2021-03-19
SI3104616T1 (sl) 2017-10-30
RS56254B1 (sr) 2017-11-30
EP3293976B1 (en) 2021-09-01
ES2590705T3 (es) 2016-11-23
SI3104617T1 (sl) 2017-12-29
NO3104617T3 (es) 2018-04-14
PH12015500944B1 (en) 2015-06-29
US10021421B2 (en) 2018-07-10
US10021420B2 (en) 2018-07-10
ZA201502810B (en) 2017-01-25
EP3104616A1 (en) 2016-12-14
HUE030382T2 (en) 2017-05-29
JP6356865B2 (ja) 2018-07-11
RU2656811C1 (ru) 2018-06-06
BR122020013778B1 (pt) 2023-01-24
KR20170063459A (ko) 2017-06-08
AU2017261624B2 (en) 2018-09-27
AU2011274680A1 (en) 2013-02-07
AU2015218476A1 (en) 2015-09-17
MY193092A (en) 2022-09-26
RS56250B1 (sr) 2017-11-30
CN105828077B (zh) 2019-03-15
PT3101901T (pt) 2017-09-08
PT3101900T (pt) 2017-09-08
PL3101900T3 (pl) 2017-11-30
DK3101900T3 (en) 2017-09-18
JP2018174551A (ja) 2018-11-08
LT3101900T (lt) 2017-09-25
MX2013000344A (es) 2013-03-20
ES2653160T3 (es) 2018-02-06
JP2016105623A (ja) 2016-06-09
US20130114731A1 (en) 2013-05-09
RS56253B1 (sr) 2017-11-30
MY184097A (en) 2021-03-17
KR20120005984A (ko) 2012-01-17
AU2016213718A1 (en) 2016-08-25
KR102517346B1 (ko) 2023-04-04
KR102592909B1 (ko) 2023-10-23
KR20200064047A (ko) 2020-06-05
JP6140850B2 (ja) 2017-05-31
AU2017261624A1 (en) 2017-12-07
HRP20161151T1 (hr) 2016-11-18
ZA201502806B (en) 2016-10-26
WO2012005551A2 (ko) 2012-01-12
CN103098469B (zh) 2016-06-08
PL3101901T3 (pl) 2017-10-31
EP3101901A1 (en) 2016-12-07
PL3104616T3 (pl) 2017-10-31
PH12015500943B1 (en) 2015-06-29

Similar Documents

Publication Publication Date Title
ES2648315T3 (es) Procedimiento y aparato para codificar/decodificar por entropía un coeficiente de transformación
ES2668472T3 (es) Aparato de decodificación de una imagen usando unidades de transformación grandes