ES2868087T3 - Procedimiento y aparato para determinar un modelo de contexto para codificación por entropía de nivel de coeficiente de transformación - Google Patents

Procedimiento y aparato para determinar un modelo de contexto para codificación por entropía de nivel de coeficiente de transformación Download PDF

Info

Publication number
ES2868087T3
ES2868087T3 ES18178662T ES18178662T ES2868087T3 ES 2868087 T3 ES2868087 T3 ES 2868087T3 ES 18178662 T ES18178662 T ES 18178662T ES 18178662 T ES18178662 T ES 18178662T ES 2868087 T3 ES2868087 T3 ES 2868087T3
Authority
ES
Spain
Prior art keywords
unit
context
encoding
transformation
current
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
ES18178662T
Other languages
English (en)
Inventor
Yin-Ji Piao
Jung-Hye Min
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 ES2868087T3 publication Critical patent/ES2868087T3/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/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/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/103Selection of coding mode or of prediction mode
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/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/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
    • 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/186Methods 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 colour or a chrominance component

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

Un aparato para determinación de un modelo de contexto para decodificación por entropía de un nivel de coeficiente de transformación, comprendiendo el aparato: una unidad (2210) de mapeo, configurada para dividir una unidad de transformación en subconjuntos que tienen un tamaño predeterminado; una unidad (2220) de obtención de conjunto de contexto, configurada para obtener un índice de conjunto de contexto usado en decodificación por entropía de una primera bandera de valor crítico que indica si un coeficiente de transformación significativo contenido en un subconjunto actual tiene un valor mayor que un primer valor crítico; una unidad (2230) de obtención de desplazamiento de contexto, configurada para obtener un desplazamiento de contexto usado en decodificación por entropía de la primera bandera de valor crítico para un coeficiente significativo actual en base al número de coeficientes de transformación anteriores que tienen 1 consecutivos incluidos en un subconjunto actual cuando el coeficiente significativo actual no está decodificado por entropía inicialmente en el subconjunto actual y los coeficientes de transformación anteriores que tienen 1 consecutivos se decodifican antes del coeficiente significativo actual, de acuerdo con un orden de exploración del subconjunto actual; y una unidad (2240) de determinación de contexto, configurada para obtener un índice de contexto que indica un contexto usado en decodificación por entropía de la primera bandera de valor crítico usando el índice de conjunto de contexto y el desplazamiento de contexto, en el que en el que, el índice de conjunto de contexto se obtiene aún más basándose en si existe un coeficiente significativo que tiene un valor superior a 1 en un subconjunto previamente procesado, caracterizado porque: cuando un componente de color de la unidad de transformación es un componente de luminancia, el índice de conjunto de contexto de la primera bandera de valor crítico se obtiene basándose en la información de ubicación del subconjunto actual que indica en qué ubicación se encuentra el subconjunto actual en la unidad de transformación, y cuando el componente de color de la unidad de transformación es un componente de crominancia, el índice de conjunto de contexto se obtiene independientemente de la información de ubicación del subconjunto actual.

Description

DESCRIPCIÓN
Procedimiento y aparato para determinar un modelo de contexto para codificación por entropía de nivel de coeficiente de transformación
Campo técnico
La presente invención se refiere a codificación y decodificación de vídeo, y más particularmente, a un procedimiento y aparato para seleccionar un modelo de contexto que se usa en codificación y decodificación por entropía de información de tamaño de un coeficiente de transformación.
Antecedentes de la técnica
De acuerdo con los procedimientos de compresión de imagen tales como MPEG-1, MPEG-2 o MPEG-4 H.264/MPEG-4 codificación de vídeo avanzada (AVC), una imagen se divide en bloques que tienen un tamaño predeterminado, y a continuación, se obtienen datos residuales de los bloques mediante inter predicción o intra predicción. Los datos residuales se comprimen mediante transformación, cuantificación, exploración, codificación por longitud de serie y codificación por entropía. En codificación por entropía, un elemento de sintaxis tal como un coeficiente de transformación o un vector de movimiento se codifica por entropía para emitir un flujo de bits. En un extremo del decodificador, un elemento de sintaxis se extrae desde un flujo de bits, y se realiza la decodificación basándose en el elemento de sintaxis extraído. El siguiente documento se refiere a las mejoras en la codificación del mapa de importancia: SOLE J Y COL., "CE11: Unified scans for the significance map and coefficient level coding in high efficiency", 6. JCT-VC MEETING; 97. MPEG MEETING; 14-7-2011 - 22-7-2011; TURÍN; (EQUIPO CONJUNTO DE COLABORACIÓN SOBRE CODIFICACIÓN DE VÍDEO DE ISO/IEC JTC1/SC29/WG11 E ITU-T SG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, (20110702), N.° JCTVC-F288.
Divulgación
Problema técnico
El problema técnico a resolver mediante la presente invención es eliminar modelos de contexto innecesarios usados en la codificación y decodificación por entropía de un nivel de coeficiente de transformación y simplificar para reducir el coste de memoria para almacenar el modelo de contexto. La presente invención proporciona también aumentar la velocidad de una operación de selección de un modelo de contexto y simplificar la operación sin reducir enormemente el rendimiento de codificación y decodificación por entropía.
Solución técnica
La presente invención se define mediante las reivindicaciones adjuntas a la misma.
Efectos ventajosos
De acuerdo con las realizaciones de la presente invención, usando un número reducido de modelos de contexto, puede reducirse la cantidad de uso de una memoria para almacenar modelos de contexto, y puede realizarse la codificación y decodificación por entropía del nivel de coeficiente de transformación sin una enorme reducción en rendimiento.
Descripción de los dibujos
La Figura 1 es un diagrama de bloques de un aparato para codificar un vídeo, de acuerdo con una realización de la presente invención;
La Figura 2 es un diagrama de bloques de un aparato para decodificar un vídeo, de acuerdo con una realización de la presente invención;
La Figura 3 es un diagrama para describir un concepto de unidades de codificación de acuerdo con una realización de la presente invención;
La Figura 4 es un diagrama de bloques de un codificador de vídeo basándose en unidades de codificación que tienen una estructura jerárquica, de acuerdo con una realización de la presente invención;
La Figura 5 es un diagrama de bloques de un decodificador de vídeo basándose en unidades de codificación que tienen una estructura jerárquica, de acuerdo con una realización de la presente invención;
La Figura 6 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con las profundidades, y particiones, de acuerdo con una realización de la presente invención;
La Figura 7 es un diagrama para describir una relación entre una unidad de codificación y unidades de transformación, de acuerdo con una realización de la presente invención;
La Figura 8 es un diagrama para describir información de codificación de unidades de codificación que corresponde a una profundidad codificada, de acuerdo con una realización de la presente invención;
La Figura 9 es un diagrama de unidades de codificación más profundas de acuerdo con las profundidades, de acuerdo con una realización de la presente invención;
Las Figuras 10 a 12 son diagramas para describir una relación entre unidades de codificación, unidades de predicción, y unidades de transformación de frecuencia, de acuerdo con una realización de la presente invención; La Figura 13 es un diagrama para describir una relación entre una unidad de codificación, una unidad de predicción, y una unidad de transformación, de acuerdo con información de modo de codificación de la Tabla 1;
La Figura 14 es un diagrama de flujo que ilustra una operación de codificación y decodificación por entropía de información de coeficiente de transformación incluida en una unidad de transformación, de acuerdo con una realización de la presente invención;
La Figura 15 ilustra subconjuntos obtenidos dividiendo una unidad de transformación de acuerdo con una realización de la presente invención;
La Figura 16 ilustra un subconjunto incluido en la unidad de transformación de la Figura 15, de acuerdo con una realización de la presente invención;
La Figura 17 ilustra un mapa de significado que corresponde al subconjunto de la Figura 16;
La Figura 18 ilustra una primera bandera de valor crítico que corresponde al subconjunto de la Figura 16;
La Figura 19 ilustra una segunda bandera de valor crítico que corresponde al subconjunto de la Figura 16;
La Figura 20 es una tabla que muestra coeficientes de transformación incluidos en un subconjunto ilustrado en las Figuras 16 a 19 e información de coeficiente de transformación que se codifica y decodifica por entropía;
La Figura 21A es un diagrama de bloques estructural que ilustra un aparato de codificación por entropía de acuerdo con una realización de la presente invención;
La Figura 21B es un diagrama de bloques estructural que ilustra un aparato de decodificación por entropía de acuerdo con una realización de la presente invención;
La Figura 22 es un diagrama de bloques estructural que ilustra un modelador de contexto de acuerdo con una realización de la presente invención;
La Figura 23 ilustra una pluralidad de conjuntos de contexto aplicados a una unidad de transformación de un componente de luminancia y una pluralidad de contextos incluidos en cada conjunto de contexto, de acuerdo con una realización de la presente invención;
La Figura 24 ilustra una pluralidad de conjuntos de contexto aplicados a una unidad de transformación de un componente de crominancia y una pluralidad de contextos incluidos en cada conjunto de contexto, de acuerdo con una realización de la presente invención;
La Figura 25 es un diagrama de flujo que ilustra un procedimiento de determinación de un modelo de contexto para codificación y decodificación por entropía de un nivel de coeficiente de transformación, de acuerdo con una realización de la presente invención;
La Figura 26 es un diagrama de flujo detallado que ilustra un procedimiento de determinación de un modelo de contexto para codificación y decodificación por entropía de un nivel de coeficiente de transformación, de acuerdo con una realización de la presente invención;
La Figura 27A ilustra un índice de conjunto de contexto ctxset para determinar un conjunto de contexto usado en codificación y decodificación por entropía de una primera bandera de valor crítico, bandera Gtr1, y una segunda bandera de valor crítico, bandera Gtr2, de un coeficiente de transformación significativo de un componente de luminancia y un coeficiente de transformación significativo de un componente de crominancia de acuerdo con una realización de la presente invención;
La Figura 27B ilustra un desplazamiento de contexto usado en codificación y decodificación por entropía de una primera bandera de valor crítico, bandera Gtr1, y una segunda bandera de valor crítico, bandera Ctr2, de acuerdo con una realización de la presente invención;
La Figura 28 ilustra una tabla que muestra un índice de desplazamiento de contexto c1 que se usa en codificación o decodificación por entropía de los coeficientes de transformación incluidos en un subconjunto y la información de coeficiente de transformación que se codifica o decodifica por entropía, de la Figura 20, de acuerdo con una realización de la presente invención; y
La Figura 29 ilustra una tabla que muestra un índice de desplazamiento de contexto c1 usado en codificación y decodificación por entropía de coeficientes de transformación incluidos en un subconjunto e información de coeficiente de transformación que se codifica o decodifica por entropía, de acuerdo con otra realización de la presente invención.
Mejor modo
De acuerdo con un aspecto de la presente invención, se proporciona un procedimiento de determinación de un modelo de contexto para la codificación y decodificación de la entropía de un nivel de coeficiente de transformación de acuerdo con las reivindicaciones en el presente documento. El procedimiento incluye: dividir una unidad de transformación en subconjuntos que tienen un tamaño predeterminado y obtener un coeficiente de transformación significativo que se incluye en cada uno de los subconjuntos y no es 0; obtener un índice de conjunto de contexto para determinar un conjunto de contexto utilizado en la codificación y decodificación de entropía de una primera bandera de valor crítico que indica si el coeficiente de transformación significativo entre una pluralidad de conjuntos de contexto, incluida una pluralidad de contextos, tiene un valor mayor que un primer valor crítico, basándose en la información del componente de color de una unidad de transformación, información de ubicación de un primer subconjunto en el que se incluye el coeficiente de transformación significativo, y si hay un coeficiente de transformación significativo que tiene un valor mayor que el primer valor crítico en un segundo subconjunto que se procesa antes del primer subconjunto; obtener un desplazamiento de contexto para determinar uno de una pluralidad de contextos incluidos en un conjunto de contexto utilizado en la codificación y decodificación de entropía de la primera bandera de valor crítico basándose en una longitud de un coeficiente de transformación anterior que tiene 1s consecutivos; y obtener un índice de contexto que indica un contexto utilizado en la codificación o decodificación de entropía de la primera bandera de valor crítico usando el índice de conjunto de contexto y el desplazamiento de contexto. De acuerdo con otro aspecto de la presente invención, se proporciona un aparato para determinar un modelo de contexto para la codificación de entropía de un nivel de coeficiente de transformación, de acuerdo con la reivindicación 3 en el presente documento. El aparato incluye una unidad de asignación que divide una unidad de transformación en subconjuntos que tienen un tamaño predeterminado y obtiene un coeficiente de transformación significativo que se incluye en cada uno de los subconjuntos y no es 0; un conjunto de contextos que obtiene una unidad de obtención de un índice de conjunto de contexto para determinar un conjunto de contexto utilizado en la codificación y decodificación de entropía de una primera bandera de valor crítico que indica si el coeficiente de transformación significativo entre una pluralidad de conjuntos de contexto, incluida una pluralidad de contextos, tiene un valor mayor que un primer valor crítico, basándose en la información del componente de color de una unidad de transformación, información de ubicación de un primer subconjunto en el que se incluye el coeficiente de transformación significativo, y si hay un coeficiente de transformación significativo que tiene un valor mayor que el primer valor crítico en un segundo subconjunto que se procesa antes del primer subconjunto; una unidad de obtención de desplazamiento de contexto para determinar uno de una pluralidad de contextos incluidos en un conjunto de contexto utilizado en la codificación y decodificación de entropía de la primera bandera de valor crítico basándose en una longitud de un coeficiente de transformación anterior que tiene 1s consecutivos; y una unidad de determinación de contexto que obtiene un índice de contexto que indica un contexto utilizado en la codificación o decodificación de entropía de la primera bandera de valor crítico usando el índice de conjunto de contexto y el desplazamiento de contexto.
Modo para la invención
En lo sucesivo, una “ imagen” descrita en diversas realizaciones de la presente solicitud puede ser un concepto inclusivo que hace referencia a no únicamente una imagen fija sino también a una imagen de vídeo. Cuando se realizan diversas operaciones en datos relacionados con una imagen, los datos relacionados con la imagen se dividen en grupos de datos, y la misma operación puede realizarse en datos incluidos en el mismo grupo de datos. En esta memoria descriptiva, un grupo de datos formado de acuerdo con normas predeterminadas se denomina como una 'unidad de datos'. En lo sucesivo, una operación realizada en cada 'unidad de datos' se entiende como realizada usando datos incluidos en una unidad de datos.
En lo sucesivo, un procedimiento y aparato para codificación y decodificación de vídeo en el que un elemento de sintaxis que tiene una estructura de árbol se codifica o decodifica basándose en una unidad de codificación que tiene una estructura de árbol jerárquica, de acuerdo con una realización de la presente invención, se describirá con referencia a las Figuras 1 a 13. Además, el procedimiento de codificación y decodificación por entropía usado en la codificación y decodificación de vídeo descrito con referencia a las Figuras 1 a 13 se describirá en detalle con referencia a las Figuras 14 a 29.
La Figura 1 es un diagrama de bloques de un aparato 100 de codificación de vídeo de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de vídeo incluye un codificador 110 jerárquico y un codificador 120 por entropía.
El codificador 110 jerárquico puede dividir una instantánea actual a codificar, en unidades de unidades de datos predeterminadas para realizar codificación en cada una de las unidades de datos. En detalle, el codificador 110 jerárquico puede dividir una instantánea actual basándose en una unidad de codificación máxima, que es una unidad de codificación de un tamaño máximo. La unidad de codificación máxima de acuerdo con una realización de la presente invención puede ser una unidad de datos que tiene un tamaño de 32x32, 64x64, 128x128, 256x256, etc., en el que una forma de la unidad de datos es un cuadrado que tiene una anchura y longitud en cuadrados de 2 y es mayor que 8.
Una unidad de codificación de acuerdo con una realización de la presente invención puede caracterizarse por un tamaño y una profundidad máximos. La profundidad indica el número de veces que la unidad de codificación se divide espacialmente desde la unidad de codificación máxima, y a medida que la profundidad se hace profunda, pueden dividirse unidades de codificación más profundas de acuerdo con las profundidades desde la unidad de codificación máxima a una unidad de codificación mínima. Una profundidad de la unidad de codificación máxima es una profundidad más superior y una profundidad de la unidad de codificación mínima es una profundidad más inferior. Puesto que un tamaño de una unidad de codificación que corresponde a cada profundidad reduce a medida que la profundidad de la unidad de codificación máxima se hace profunda, una unidad de codificación que corresponde a una profundidad superior puede incluir una pluralidad de unidades de codificación que corresponden a profundidades inferiores.
Como se ha descrito anteriormente, los datos de imagen de la instantánea actual se dividen en las unidades de codificación máxima de acuerdo con un tamaño máximo de la unidad de codificación, y cada una de las unidades de codificación máxima puede incluir unidades de codificación más profundas que se dividen de acuerdo con las profundidades. Puesto que la unidad de codificación máxima de acuerdo con una realización de la presente invención se divide de acuerdo con las profundidades, los datos de imagen de un dominio espacial incluidos en la unidad de codificación máxima pueden clasificarse jerárquicamente de acuerdo con las profundidades.
Puede predeterminarse una profundidad máxima y un tamaño máximo de una unidad de codificación, que limitan el número total de veces que se divide jerárquicamente una altura y una anchura de la unidad de codificación máxima.
El codificador 110 jerárquico codifica al menos una región de división obtenida dividiendo una región de la unidad de codificación máxima de acuerdo con las profundidades, y determina una profundidad para emitir finalmente datos de imagen codificados de acuerdo con la al menos una región de división. En otras palabras, el codificador 110 jerárquico determina una profundidad codificada codificando los datos de imagen en las unidades de codificación más profundas de acuerdo con las profundidades, de acuerdo con la unidad de codificación máxima de la instantánea actual, y seleccionando una profundidad que tiene el menor error de codificación. La profundidad codificada determinada y los datos de imagen codificados de acuerdo con las unidades de codificación máximas se emiten al codificador 120 por entropía.
Los datos de imagen en la unidad de codificación máxima se codifican basándose en las unidades de codificación más profundas que corresponden a al menos una profundidad igual o menor que la profundidad máxima, y los resultados de codificar los datos de imagen se comparan basándose en cada una de las unidades de codificación más profundas. Una profundidad que tiene el menor error de codificación puede seleccionarse después de comparar errores de codificación de las unidades de codificación más profundas. Al menos una profundidad codificada puede seleccionarse para cada unidad de codificación máxima.
El tamaño de la unidad de codificación máxima se divide a medida que una unidad de codificación se divide jerárquicamente de acuerdo con las profundidades, y a medida que el número de unidades de codificación aumenta. También, incluso si las unidades de codificación corresponden a una misma profundidad en una unidad de codificación máxima, se determina si dividir cada una de las unidades de codificación que corresponden a la misma profundidad a una profundidad inferior midiendo un error de codificación de los datos de imagen de cada unidad de codificación, por separado. Por consiguiente, incluso cuando se incluyen datos de imagen en una unidad de codificación máxima, los datos de imagen se dividen en regiones de acuerdo con las profundidades y los errores de codificación pueden diferenciarse de acuerdo con regiones en una unidad de codificación máxima, y por lo tanto las profundidades codificadas puede diferenciarse de acuerdo con regiones en los datos de imagen. Por lo tanto, una o más profundidades codificadas pueden determinarse en una unidad de codificación máxima, y los datos de imagen de la unidad de codificación máxima pueden dividirse de acuerdo con unidades de codificación de al menos una profundidad codificada.
Por consiguiente, el codificador 110 jerárquico puede determinar unidades de codificación que tienen una estructura de árbol incluida en la unidad de codificación máxima. Las 'unidades de codificación que tienen una estructura de árbol' de acuerdo con una realización de la presente invención incluyen unidades de codificación que corresponden a una profundidad determinada para que sea la profundidad codificada, de entre todas las unidades de codificación más profundas incluidas en la unidad de codificación máxima. Una unidad de codificación que tiene una profundidad codificada puede determinarse jerárquicamente de acuerdo con las profundidades en la misma región de la unidad de codificación máxima, y puede determinarse independientemente en diferentes regiones. De manera similar, una profundidad codificada en una región actual puede determinarse independientemente a partir de una profundidad codificada en otra región.
Una profundidad máxima, de acuerdo con una realización de la presente invención, es un índice relacionado con el número de veces que se realiza división desde una unidad de codificación máxima a una unidad de codificación mínima. Una primera profundidad máxima, de acuerdo con una realización de la presente invención, puede indicar el número total de veces que se realiza división desde la unidad de codificación máxima a la unidad de codificación mínima. Una segunda profundidad máxima, de acuerdo con una realización de la presente invención, puede indicar el número total de niveles de profundidad desde la unidad de codificación máxima a la unidad de codificación mínima. Por ejemplo, cuando una profundidad de la unidad de codificación máxima es 0, una profundidad de una unidad de codificación, en la que la unidad de codificación máxima se divide una vez, puede establecerse a 1, y una profundidad de una unidad de codificación, en la que la unidad de codificación máxima se divide dos veces, puede establecerse a 2. En este punto, si la unidad de codificación mínima es una unidad de codificación en la que la unidad de codificación máxima se divide cuatro veces, existen cinco niveles de profundidad de profundidades 0, 1, 2, 3 y 4, y por lo tanto la primera profundidad máxima puede establecerse a 4, y la segunda profundidad máxima puede establecerse a 5.
La codificación de predicción y transformación pueden realizarse de acuerdo con la unidad de codificación máxima. La codificación de predicción y la transformación se realizan también basándose en las unidades de codificación más profundas de acuerdo con una profundidad igual a o profundidades menores que la profundidad máxima, de acuerdo con la unidad de codificación máxima.
Puesto que el número de unidades de codificación más profundas aumenta cada vez que la unidad de codificación máxima se divide de acuerdo con las profundidades, se realiza la codificación incluyendo la codificación de predicción y la transformación en todas las unidades de codificación más profundas generadas a medida que la profundidad se hace profunda. Por conveniencia de descripción, la codificación de predicción y la transformación se describirán ahora basándose en una unidad de codificación de una profundidad actual, en una unidad de codificación máxima.
El aparato 100 de codificación de vídeo puede seleccionar de manera variable un tamaño o forma de una unidad de datos para codificar los datos de imagen. Para codificar los datos de imagen, se realizan las operaciones, tales como codificación de predicción, transformación y codificación por entropía, y en este momento, la misma unidad de datos puede usarse para todas las operaciones o pueden usarse diferentes unidades de datos para cada operación.
Por ejemplo, el aparato 100 de codificación de vídeo puede seleccionar no únicamente una unidad de codificación para codificar los datos de imagen, sino también una unidad de datos diferente de la unidad de codificación para realizar la codificación de predicción en los datos de imagen en la unidad de codificación.
Para realizar codificación de predicción en la unidad de codificación máxima, la codificación de predicción puede realizarse basándose en una unidad de codificación que corresponde a una profundidad codificada, es decir, basándose en una unidad de codificación que ya no se divide en unidades de codificación que corresponden a una profundidad inferior. En lo sucesivo, la unidad de codificación que ya no se divide se hace una unidad base para codificación de predicción que se denominará ahora como una 'unidad de predicción'. Una partición obtenida dividiendo la unidad de predicción puede incluir una unidad de predicción o una unidad de datos obtenida dividiendo al menos una de una altura y una anchura de la unidad de predicción.
Por ejemplo, cuando una unidad de codificación de 2Nx2N (donde N es un número entero positivo) ya no se divide y se hace una unidad de predicción de 2Nx2N, un tamaño de una partición puede ser 2Nx2N, 2NxN, Nx2N, o NxN. Ejemplos de un tipo de partición incluyen particiones simétricas que se obtienen dividiendo simétricamente una altura o anchura de la unidad de predicción, las particiones obtenidas dividiendo asimétricamente la altura o anchura de la unidad de predicción, tales como 1:n o n:1, particiones que se obtienen dividiendo geométricamente la unidad de predicción, y particiones que tienen formas arbitrarias.
Un modo de predicción de la unidad de predicción puede ser al menos uno de un modo intra, un modo inter, y un modo de salto. Por ejemplo, el modo intra o el modo inter pueden realizarse en la partición de 2Nx2N, 2NxN, Nx2N, o NxN. También, el modo de salto puede realizarse únicamente en la partición de 2Nx2N. La codificación se realiza independientemente en una unidad de predicción en una unidad de codificación, seleccionando de esta manera un modo de predicción que tiene el menor error de codificación.
El aparato 100 de codificación de vídeo puede realizar también la transformación en los datos de imagen en una unidad de codificación basándose no únicamente en la unidad de codificación para codificar los datos de imagen, sino también basándose en una unidad de datos que es diferente de la unidad de codificación.
Para realizar la transformación en la unidad de codificación, la transformación puede realizarse basándose en una unidad de datos que tiene un tamaño menor que o igual a la unidad de codificación. Por ejemplo, la unidad de datos para la transformación puede incluir una unidad de datos para un modo intra y una unidad de datos para un modo inter.
Una unidad de datos usada como una base de la transformación se denominará ahora como una 'unidad de transformación'. De manera similar a la unidad de codificación, la unidad de transformación en la unidad de codificación puede dividirse recursivamente en regiones con tamaño más pequeño, de modo que la unidad de transformación puede determinarse independientemente en unidades de regiones. Por lo tanto, los datos residuales en la unidad de codificación pueden dividirse de acuerdo con la unidad de transformación que tiene la estructura de árbol de acuerdo con las profundidades de transformación.
Una profundidad de transformación que indica el número de veces que se realiza la división para alcanzar la unidad de transformación dividiendo la altura y anchura de la unidad de codificación puede establecerse también en la unidad de transformación. Por ejemplo, en una unidad de codificación actual de 2Nx2N, una profundidad de transformación puede ser 0 cuando el tamaño de una unidad de transformación es 2Nx2N, puede ser 1 cuando el tamaño de una unidad de transformación es NXN, y puede ser 2 cuando el tamaño de una unidad de transformación es N/2XN/2. Es decir, la unidad de transformación que tiene la estructura de árbol puede establecerse también de acuerdo con las profundidades de transformación.
La información de codificación de acuerdo con las unidades de codificación que corresponden a una profundidad codificada requiere no únicamente información acerca de la profundidad codificada, sino también acerca de información relacionada con codificación de predicción y transformación. Por consiguiente, el codificador 110 jerárquico no determina únicamente una profundidad codificada que tiene el menor error de codificación, sino determina también un tipo de partición en una unidad de predicción, un modo de predicción de acuerdo con unidades de predicción, y un tamaño de una unidad de transformación para transformación.
Las unidades de codificación de acuerdo con una estructura de árbol en una unidad de codificación máxima y un procedimiento de determinación de una partición de acuerdo con realizaciones de la presente invención, se describirán en detalle más adelante con referencia a las Figuras 3 a 12.
El codificador 110 jerárquico puede medir un error de codificación de unidades de codificación más profundas de acuerdo con las profundidades usando optimización de tasa-distorsión basándose en multiplicadores de Lagrange.
El codificador 120 por entropía emite los datos de imagen de la unidad de codificación máxima, que se codifican basándose en la al menos una profundidad codificada determinada mediante el codificador 110 jerárquico, y la información acerca del modo de codificación de acuerdo con la profundidad codificada, en flujos de bits. Los datos de imagen codificados pueden ser un resultado de codificación de datos residuales de una imagen. La información acerca del modo de codificación de acuerdo con la profundidad codificada puede incluir información acerca de la profundidad codificada, información acerca del tipo de partición en la unidad de predicción, información de modo de predicción e información de tamaño de la unidad de transformación. En particular, como se describirá más adelante, el codificador 120 por entropía puede obtener un índice de conjunto de contexto que indica una de una pluralidad de conjuntos de contexto basándose en si un coeficiente de transformación significativo que tiene un valor mayor que un primer valor crítico existe en la información de componente de color de una unidad de transformación, una localización de un subconjunto actual, y un subconjunto anterior, para obtener un desplazamiento de contexto basándose en una longitud de un coeficiente de transformación anterior que tiene 1 consecutivos. Además, el codificador 120 por entropía determina un índice de contexto ctdldx que indica un modelo de contexto que se ha de aplicar a una primera bandera de valor crítico, bandera Greaterthan1, que indica si el coeficiente de transformación significativo es mayor que un primer valor crítico, es decir, 1, y una segunda bandera de valor crítico, bandera Greaterthan2, que indica si el coeficiente de transformación significativo es mayor que un segundo valor crítico, es decir, 2, basándose en el índice de conjunto de contexto obtenido y el desplazamiento de contexto obtenido. La operación de determinar un modelo de contexto para codificación por entropía de los coeficientes de transformación a realizarse por el codificador 120 por entropía se describirá más adelante.
La información acerca de la profundidad codificada puede definirse usando información de división de acuerdo con las profundidades, que indica si se realiza codificación en unidades de codificación de una profundidad inferior en lugar de en una profundidad actual. Si la profundidad actual de la unidad de codificación actual es la profundidad codificada, los datos de imagen en la unidad de codificación actual se codifican y emiten, y por lo tanto la información de división puede definirse para no dividir la unidad de codificación actual a una profundidad inferior. Como alternativa, si la profundidad actual de la unidad de codificación actual no es la profundidad codificada, la codificación se realiza en la unidad de codificación de la profundidad inferior, y por lo tanto la información de división puede definirse para dividir la unidad de codificación actual para obtener las unidades de codificación de la profundidad inferior.
Si la profundidad actual no es la profundidad codificada, se realiza la codificación en la unidad de codificación que se divide en la unidad de codificación de la profundidad inferior. Puesto que al menos existe una unidad de codificación de la profundidad inferior en una unidad de codificación de la profundidad actual, la codificación se realiza repetitivamente en cada unidad de codificación de la profundidad inferior, y por lo tanto la codificación puede realizarse recursivamente para las unidades de codificación que tienen la misma profundidad.
Puesto que las unidades de codificación que tienen una estructura de árbol se determinan para una unidad de codificación máxima, y la información acerca de al menos un modo de codificación se determina para una unidad de codificación de una profundidad codificada, la información acerca de al menos un modo de codificación puede determinarse para una unidad de codificación máxima. También, una profundidad codificada de los datos de imagen de la unidad de codificación máxima puede ser diferente de acuerdo con las localizaciones puesto que los datos de imagen se dividen jerárquicamente de acuerdo con las profundidades, y por lo tanto la información acerca de la profundidad codificada y el modo de codificación pueden establecerse para los datos de imagen.
Por consiguiente, el codificador 120 por entropía puede asignar información de codificación acerca de una profundidad codificada correspondiente y un modo de codificación a al menos una de la unidad de codificación, la unidad de predicción, y una unidad mínima incluida en la unidad de codificación máxima.
La unidad mínima de acuerdo con una realización de la presente invención, es una unidad de datos con forma cuadrada obtenida dividiendo la unidad de codificación mínima que constituye la profundidad más baja por 4. Como alternativa, la unidad mínima puede ser una unidad de datos con forma cuadrada máxima que puede incluirse en todas las unidades de codificación, unidades de predicción, unidades de partición, y unidades de transformación incluidas en la unidad de codificación máxima.
Por ejemplo, la información de codificación emitida a través del codificador 120 por entropía puede clasificarse en información de codificación de acuerdo con unidades de codificación más profundas de acuerdo con las profundidades, e información de codificación de acuerdo con unidades de predicción. La información de codificación de acuerdo con las unidades de codificación más profundas de acuerdo con las profundidades puede incluir la información acerca del modo de predicción y acerca del tamaño de las particiones. La información de codificación de acuerdo con las unidades de predicción puede incluir información acerca de una dirección estimada de un modo inter, acerca de un índice de imagen de referencia del modo inter, acerca de un vector de movimiento, acerca de un componente de crominancia de un modo intra, y acerca de un procedimiento de interpolación del modo intra. También, puede insertarse información acerca de un tamaño máximo de la unidad de codificación definido de acuerdo con las instantáneas, cortes, o GOP, e información acerca de una profundidad máxima en un encabezamiento de un flujo de bits.
En el aparato 100 de codificación de vídeo, la unidad de codificación más profunda puede ser una unidad de codificación obtenida dividiendo por dos una altura o anchura de una unidad de codificación de una profundidad superior, que está una capa por encima. En otras palabras, cuando el tamaño de la unidad de codificación de la profundidad actual es 2Nx2N, el tamaño de la unidad de codificación de la profundidad inferior es NxN. También, la unidad de codificación de la profundidad actual que tiene el tamaño de 2Nx2N puede incluir un número máximo de cuatro unidades de codificación de la profundidad inferior.
Por consiguiente,el aparato 100 de codificación de vídeo puede formar las unidades de codificación que tienen la estructura de árbol determinando unidades de codificación que tienen una forma óptima y un tamaño óptimo para cada unidad de codificación máxima, basándose en el tamaño de la unidad de codificación máxima y la profundidad máxima determinada considerando las características de la instantánea actual. También, puesto que la codificación puede realizarse en cada unidad de codificación máxima usando uno cualquiera de diversos modos de predicción y transformaciones, puede determinarse un modo de codificación óptimo considerándose las características de la unidad de codificación de diversos tamaños de imagen.
Por lo tanto, si una imagen que tiene una alta resolución o una gran cantidad de datos se codifica en un macrobloque convencional, aumenta un número de macrobloques por instantánea de manera excesiva. Por consiguiente, aumenta un número de piezas de información comprimida generada para cada macrobloque, y por lo tanto es difícil transmitir la información comprimida y la eficacia de compresión de datos disminuye. Por lo tanto, usando el aparato 100 de codificación de vídeo, la eficacia de compresión de imagen puede aumentarse puesto que una unidad de codificación se ajusta mientras se consideran características de una imagen mientras se aumenta un tamaño máximo de una unidad de codificación mientras se considera un tamaño de la imagen.
La Figura 2 es un diagrama de bloques de un aparato 200 de decodificación de vídeo, de acuerdo con una realización de la presente invención.
El aparato 200 de decodificación de vídeo incluye una unidad 210 de extracción de elemento de sintaxis, un decodificador 220 por entropía y un decodificador 230 jerárquico. Las definiciones de diversos términos, tales como una unidad de codificación, una profundidad, una unidad de predicción, una unidad de transformación e información acerca de diversos modos de codificación, para diversas operaciones del aparato 200 de decodificación de vídeo son idénticas a aquellas descritas con referencia a la Figura 1 y al aparato 100 de codificación de vídeo.
La unidad 210 de extracción de elemento de sintaxis recibe y analiza un flujo de bits de un vídeo codificado. El decodificador 220 por entropía extrae datos de imagen codificados para cada unidad de codificación desde el flujo de bits analizado, en el que las unidades de codificación tienen una estructura de árbol de acuerdo con cada unidad de codificación máxima, y emite los datos de imagen extraídos al decodificador 230 jerárquico.
También, el decodificador 220 por entropía extrae información acerca de una profundidad codificada, un modo de codificación, información de componente de color, información de modo de predicción, etc., para las unidades de codificación que tienen una estructura de árbol de acuerdo con cada unidad de codificación máxima, desde el flujo de bits analizado. La información extraída acerca de la profundidad codificada y el modo de codificación se emite al decodificador 230 jerárquico. Los datos de imagen en un flujo de bits se dividen en la unidad de codificación máxima de modo que el decodificador 230 jerárquico puede decodificar los datos de imagen para cada unidad de codificación máxima.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con la unidad de codificación máxima puede establecerse para información acerca de al menos una unidad de codificación que corresponde a la profundidad codificada, y la información acerca de un modo de codificación puede incluir información acerca de un tipo de partición de una unidad de codificación correspondiente que corresponde a la profundidad codificada, acerca de un modo de predicción, y un tamaño de una unidad de transformación. También, dividir la información de acuerdo con las profundidades puede extraerse como la información acerca de la profundidad codificada.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con cada unidad de codificación máxima extraída mediante el decodificador 220 por entropía es información acerca de una profundidad codificada y un modo de codificación determinado para generar un error de codificación mínimo cuando un codificador, tal como el aparato 100 de codificación de vídeo, realiza repetitivamente codificación para cada unidad de codificación más profunda de acuerdo con las profundidades de acuerdo con cada unidad de codificación máxima. Por consiguiente, el aparato 200 de decodificación de vídeo puede restaurar una imagen decodificando los datos de imagen de acuerdo con una profundidad codificada y un modo de codificación que genera el error de codificación mínimo.
Puesto que la información de codificación acerca de la profundidad codificada y el modo de codificación pueden asignarse a una unidad de datos predeterminada de entre una unidad de datos correspondiente, una unidad de predicción, y una unidad mínima, el decodificador 220 por entropía puede extraer la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de datos predeterminadas. Las unidades de datos predeterminadas a las que se asigna la misma información acerca de la profundidad codificada y el modo de codificación pueden inferirse para que sean las unidades de datos incluidas en la misma unidad de codificación máxima.
También, como se describirá más adelante, el decodificador 220 por entropía puede obtener un índice de conjunto de contexto que indica una de una pluralidad de conjuntos de contexto basándose en si un coeficiente de transformación significativo que tiene un valor mayor que un primer valor crítico existe en información de componente de color de una unidad de transformación, una localización de un subconjunto actual, y un subconjunto anterior, para obtener un desplazamiento de contexto basándose en una longitud de un coeficiente de transformación anterior que tiene 1 consecutivos. Además, el decodificador 220 por entropía determina un índice de contexto ctdldx que indica un modelo de contexto que se ha de aplicar a una primera bandera de valor crítico, bandera Greaterthan1, que indica si el coeficiente de transformación significativo es mayor que un primer valor crítico, es decir, 1, y una segunda bandera de valor crítico, bandera Greaterthan2, que indica si el coeficiente de transformación significativo es mayor que un segundo valor crítico, es decir, 2, basándose en el índice de conjunto de contexto obtenido y el desplazamiento de contexto obtenido.
El decodificador 230 jerárquico restaura la instantánea actual decodificando los datos de imagen en cada unidad de codificación máxima basándose en la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de codificación máxima. En otras palabras, el decodificador 230 jerárquico puede decodificar los datos de imagen codificados basándose en la información extraída acerca del tipo de partición, el modo de predicción, y la unidad de transformación para cada unidad de codificación de entre las unidades de codificación que tienen la estructura de árbol incluida en cada unidad de codificación máxima. Un procedimiento de decodificación puede incluir predicción que incluye intra predicción y compensación de movimiento, y transformación inversa.
El decodificador 230 jerárquico puede realizar intra predicción o compensación de movimiento de acuerdo con una partición y un modo de predicción de cada unidad de codificación, basándose en la información acerca del tipo de partición y el modo de predicción de la unidad de predicción de la unidad de codificación de acuerdo con las profundidades codificadas.
También, el decodificador 230 jerárquico puede realizar transformación inversa de acuerdo con cada unidad de transformación en la unidad de codificación, basándose en la información acerca del tamaño de la unidad de transformación de la unidad de codificación de acuerdo con las profundidades codificadas, para realizar la transformación inversa de acuerdo con unidades de codificación máxima.
El decodificador 230 jerárquico puede determinar al menos una profundidad codificada de una unidad de codificación máxima actual usando información de división de acuerdo con las profundidades. Si la información de división indica que los datos de imagen ya no se dividen en la profundidad actual, la profundidad actual es una profundidad codificada. Por consiguiente, el decodificador 230 jerárquico puede decodificar la unidad de codificación de la profundidad actual con respecto a los datos de imagen de la unidad de codificación máxima actual usando la información acerca del tipo de partición de la unidad de predicción, el modo de predicción, y el tamaño de la unidad de transformación.
En otras palabras, las unidades de datos que contienen la información de codificación que incluye la misma información de división pueden recogerse observando el conjunto de información de codificación asignado para la unidad de datos predeterminada de entre la unidad de codificación, la unidad de predicción, y la unidad mínima, y las unidades de datos recogidas pueden considerarse para que sean una unidad de datos a decodificar mediante el decodificador 230 jerárquico en el mismo modo de codificación.
El aparato 200 de decodificación de vídeo puede obtener información acerca de al menos una unidad de codificación que genera el error de codificación mínimo cuando se realiza recursivamente codificación para cada unidad de codificación máxima, y puede usar la información para decodificar la instantánea actual. En otras palabras, pueden decodificarse los datos de imagen codificados de las unidades de codificación que tienen la estructura de árbol determinadas para que sean las unidades de codificación óptimas en cada unidad de codificación máxima.
Por consiguiente, incluso si los datos de imagen tienen una alta resolución y una gran cantidad de datos, los datos de imagen pueden decodificarse y restaurarse eficazmente usando un tamaño de una unidad de codificación y un modo de codificación, que se determinan de manera adaptativa de acuerdo con características de los datos de imagen, usando información acerca de un modo de codificación óptimo recibido desde un codificador.
Un procedimiento de determinación de unidades de codificación que tiene una estructura de árbol, una unidad de predicción, y una unidad de transformación de acuerdo con una realización de la presente invención se describirán ahora con referencia a las Figuras 3 a 13.
La Figura 3 es un diagrama para describir un concepto de unidades de codificación de acuerdo con una realización de la presente invención.
Un tamaño de una unidad de codificación puede expresarse en anchura x altura, y puede ser 64x64, 32x32, 16x16, y 8x8. Una unidad de codificación de 64x64 puede dividirse en particiones de 64x64, 64x32, 32x64, o 32x32; y una unidad de codificación de 32x32 puede dividirse en particiones de 32x32, 32x16, 16x32, o 16x16; una unidad de codificación de 16x16 puede dividirse en particiones de 16x16, 16x8, 8x16, o 8x8; y una unidad de codificación de 8x8 puede dividirse en particiones de 8x8, 8x4, 4x8, o 4x4.
En los datos 310 de vídeo, una resolución es 1920x1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 2. En los datos 320 de vídeo, una resolución es 1920x1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 3. En los datos 330 de vídeo, una resolución es 352x288, un tamaño máximo de una unidad de codificación es 16, y una profundidad máxima es 1. La profundidad máxima mostrada en la Figura 3 indica un número total de divisiones desde una unidad de codificación máxima a una unidad de codificación mínima.
Si una resolución es alta o una cantidad de datos es grande, un tamaño máximo de una unidad de codificación puede ser grande para no aumentar únicamente la eficacia de codificación sino también para reflejar con precisión las características de una imagen. Por consiguiente, el tamaño máximo de la unidad de codificación de los datos 310 y 320 de vídeo que tienen la resolución superior a los datos 330 de vídeo puede ser 64.
Puesto que la profundidad máxima de los datos 310 de vídeo es 2, las unidades 315 de codificación de los datos 310 de vídeo pueden incluir una unidad de codificación máxima que tiene un tamaño de eje de longitud de 64, y unidades de codificación que tienen tamaños de ejes de longitud de 32 y 16 puesto que las profundidades profundizan en dos capas dividiendo la unidad de codificación máxima dos veces. Mientras tanto, puesto que la profundidad máxima de los datos 330 de vídeo es 1, las unidades 335 de codificación de los datos 330 de vídeo pueden incluir una unidad de codificación máxima que tiene un tamaño de eje de longitud de 16, y unidades de codificación que tienen un tamaño de eje de longitud de 8 puesto que las profundidades profundizan en una capa dividiendo la unidad de codificación máxima una vez.
Puesto que la profundidad máxima de los datos 320 de vídeo es 3, las unidades 325 de codificación de los datos 320 de vídeo pueden incluir una unidad de codificación máxima que tiene un tamaño de eje de longitud de 64, y unidades de codificación que tienen tamaños de ejes de longitud de 32, 16, y 8 puesto que las profundidades profundizan a 3 capas dividiendo la unidad de codificación máxima tres veces. A medida que una profundidad se hace profunda, puede expresarse con precisión la información detallada.
La Figura 4 es un diagrama de bloques de un codificador 400 de vídeo basándose en unidades de codificación que tienen una estructura jerárquica de acuerdo con una realización de la presente invención.
Un predictor 410 intra realiza intra predicción en unidades de codificación en un modo intra, con respecto a un fotograma 405 actual, y un estimador 420 de movimiento y un compensador 425 de movimiento realizan respectivamente inter estimación y compensación de movimiento en unidades de codificación en un modo inter usando el fotograma 405 actual, y un fotograma 495 de referencia.
Los datos emitidos desde el predictor 410 intra, el estimador 420 de movimiento, y el compensador 425 de movimiento se emiten como un coeficiente de transformación cuantificado a través de un transformador 430 y un cuantificador 440. El coeficiente de transformación cuantificado se restaura como datos en un dominio espacial a través de un cuantificador 460 inverso y un transformador 470 inverso, y los datos restaurados en el dominio espacial se emiten como el fotograma 495 de referencia después de que se post-procesan a través de una unidad 480 de desbloqueo y una unidad 490 de filtrado en bucle. El coeficiente de transformación cuantificado puede emitirse como un flujo de bits 455 a través de un codificador 450 por entropía.
Cuando se codifican elementos de sintaxis de una unidad de transformación tal como una primera bandera de valor crítico, bandera Gtr1, o una segunda bandera de valor crítico, bandera Gtr2 , el codificador 450 por entropía obtiene un índice de conjunto de contexto basándose en si hay un coeficiente de transformación significativo que tiene un valor mayor que un primer valor crítico en información de componente de color de una unidad de transformación, una localización de un subconjunto actual, y un subconjunto anterior, obtiene un desplazamiento de contexto basándose en una longitud de un coeficiente de transformación anterior que tiene 1 consecutivos, y determina un índice de contexto que indica un modelo de contexto basándose en el índice de conjunto de contexto obtenido y el desplazamiento de contexto obtenido.
Para que se aplique el codificador 400 de vídeo en el aparato 100 de codificación de vídeo, todos los elementos del codificador 400 de vídeo, es decir, el predictor 410 intra, el estimador 420 de movimiento, el compensador 425 de movimiento, el transformador 430, el cuantificador 440, el codificador 450 por entropía, el cuantificador 460 inverso, el transformador 470 inverso, la unidad 480 de desbloqueo, y la unidad 490 de filtrado en bucle realizan operaciones basándose en cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol mientras consideran la profundidad máxima de cada unidad de codificación máxima.
Específicamente, el predictor 410 intra, el estimador 420 de movimiento, y el compensador 425 de movimiento determinan particiones y un modo de predicción de cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol mientras consideran el tamaño máximo y la profundidad máxima de una unidad de codificación máxima actual, y el transformador 430 determina el tamaño de la unidad de transformación en cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol.
La Figura 5 es un diagrama de bloques de un decodificador 500 de vídeo basándose en unidades de codificación, de acuerdo con una realización de la presente invención.
Un analizador 510 analiza datos de imagen codificados a decodificar e información acerca de la codificación requerida para decodificar desde un flujo de bits 505. Los datos de imagen codificados se emiten como datos cuantificados inversos a través de un decodificador 520 por entropía y un cuantificador 530 inverso, y los datos cuantificados inversos se restauran a datos de imagen en un dominio espacial a través de un transformador 540 inverso.
Un predictor 550 intra realiza intra predicción en unidades de codificación en un modo intra con respecto a los datos de imagen en el dominio espacial, y un compensador 560 de movimiento realiza compensación de movimiento en unidades de codificación en un modo inter usando un fotograma 585 de referencia.
Los datos de imagen en el dominio espacial, que se pasan a través del predictor 550 intra y del compensador 560 de movimiento, pueden emitirse como un fotograma 595 restaurado después de post-procesarse a través de una unidad 570 de desbloqueo y una unidad 580 de filtrado en bucle. También, los datos de imagen los cuales se post-procesan a través de la unidad 570 de desbloqueo y la unidad 580 de filtrado en bucle pueden emitirse como el fotograma 585 de referencia.
Para que el decodificador 500 de vídeo se aplique en el aparato 200 de decodificación de vídeo, todos los elementos del decodificador 500 de vídeo, es decir, el analizador 510, el decodificador 520 por entropía, el cuantificador 530 inverso, el transformador 540 inverso, el predictor 550 intra, el compensador 560 de movimiento, la unidad 570 de desbloqueo, y la unidad 580 de filtrado en bucle realizan operaciones basándose en unidades de codificación que tienen una estructura de árbol para cada unidad de codificación máxima.
El predictor 550 intra y el compensador 560 de movimiento determinan una partición y un modo de predicción para cada unidad de codificación que tiene una estructura de árbol, y el transformador 540 inverso tiene que determinar un tamaño de una unidad de transformación para cada unidad de codificación. También, cuando se decodifican elementos de sintaxis de una unidad de transformación tal como una primera bandera de valor crítico, bandera Gtr1, o una segunda bandera de valor crítico, bandera Gtr2, el decodificador 520 por entropía obtiene un índice de conjunto de contexto basándose en si hay un coeficiente de transformación significativo que tiene un valor mayor que un primer valor crítico en información de componente de color de una unidad de transformación, una localización de un subconjunto actual, y un subconjunto anterior, obtiene un desplazamiento de contexto basándose en una longitud de un coeficiente de transformación anterior que tiene 1 consecutivos, y determina un índice de contexto que indica un modelo de contexto basándose en el índice de conjunto de contexto obtenido y el desplazamiento de contexto obtenido.
La Figura 6 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con las profundidades y particiones, de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de vídeo y el aparato 200 de decodificación de vídeo usan unidades de codificación jerárquicas para considerar las características de una imagen. Una altura máxima, una anchura máxima y una profundidad máxima de unidades de codificación pueden determinarse de manera adaptativa de acuerdo con las características de la imagen, o pueden establecerse de manera diferente por un usuario. Los tamaños de las unidades de codificación más profundas de acuerdo con las profundidades pueden determinarse de acuerdo con el tamaño máximo predeterminado de la unidad de codificación.
En una estructura 600 jerárquica de unidades de codificación, de acuerdo con una realización de la presente invención, la altura máxima y la anchura máxima de las unidades de codificación son cada una 64, y la profundidad máxima es 4. Puesto que una profundidad se hace profunda a lo largo de un eje vertical de la estructura 600 jerárquica, una altura y una anchura de la unidad de codificación más profunda se dividen ambas. También, una unidad de predicción y las particiones, que son las bases para la codificación de predicción de cada unidad de codificación más profunda, se muestran a lo largo de un eje horizontal de la estructura 600 jerárquica.
En otras palabras, una unidad 610 de codificación es una unidad de codificación máxima en la estructura 600 jerárquica, en la que la una profundidad es 0 y un tamaño, es decir, una altura por anchura, es 64x64. La profundidad se hace profunda a lo largo del eje vertical, y existe una unidad 620 de codificación que tiene un tamaño de 32x32 y una profundidad de 1, una unidad 630 de codificación que tiene un tamaño de 16x16 y una profundidad de 2, una unidad 640 de codificación que tiene un tamaño de 8x8 y una profundidad de 3, y una unidad 650 de codificación que tiene un tamaño de 4x4 y una profundidad de 4. La unidad 650 de codificación que tiene el tamaño de 4x4 y la profundidad de 4 es una unidad de codificación mínima.
La unidad de predicción y las particiones de una unidad de codificación están dispuestas a lo largo del eje horizontal de acuerdo con cada profundidad. En otras palabras, si la unidad 610 de codificación que tiene el tamaño de 64x64 y la profundidad de 0 es una unidad de predicción, la unidad de predicción puede dividirse en particiones incluidas en la unidad 610 de codificación, es decir una partición 610 que tiene un tamaño de 64x64, particiones 612 que tienen el tamaño de 64x32, particiones 614 que tienen el tamaño de 32x64, o particiones 616 que tienen el tamaño de 32x32.
De manera similar, una unidad de predicción de la unidad 620 de codificación que tiene el tamaño de 32x32 y la profundidad de 1 puede dividirse en particiones incluidas en la unidad 620 de codificación, es decir una partición 620 que tiene un tamaño de 32x32, particiones 622 que tienen un tamaño de 32x16, particiones 624 que tienen un tamaño de 16x32, y particiones 626 que tienen un tamaño de 16x16.
De manera similar, una unidad de predicción de la unidad 630 de codificación que tiene el tamaño de 16x16 y la profundidad de 2 puede dividirse en particiones incluidas en la unidad 630 de codificación, es decir, una partición que tiene un tamaño de 16x16 incluida en la unidad 630 de codificación, particiones 632 que tienen un tamaño de 16x8, particiones 634 que tienen un tamaño de 8x16, y particiones 636 que tienen un tamaño de 8x8.
De manera similar, una unidad de predicción de la unidad 640 de codificación que tiene el tamaño de 8x8 y la profundidad de 3 puede dividirse en particiones incluidas en la unidad 640 de codificación, es decir una partición que tiene un tamaño de 8x8 incluida en la unidad 640 de codificación, particiones 642 que tienen un tamaño de 8x4, particiones 644 que tienen un tamaño de 4x8, y particiones 646 que tienen un tamaño de 4x4.
La unidad 650 de codificación que tiene el tamaño de 4x4 y la profundidad de 4 es la unidad de codificación mínima y una unidad de codificación de la profundidad más baja. Una unidad de predicción de la unidad 650 de codificación se asigna únicamente a una partición que tiene un tamaño de 4x4.
Para determinar la al menos una profundidad codificada de las unidades de codificación que constituyen la unidad 610 de codificación máxima, la unidad (120) de determinación de unidad de codificación del aparato 100 de codificación de vídeo realiza codificación para unidades de codificación que corresponden a cada profundidad incluida en la unidad 610 de codificación máxima.
El número de unidades de codificación más profundas de acuerdo con las profundidades que incluyen datos en el mismo intervalo y el mismo tamaño aumenta a medida que la profundidad se hace profunda. Por ejemplo, se requieren cuatro unidades de codificación que corresponden a una profundidad de 2 para cubrir datos que están incluidos en una unidad de codificación que corresponde a una profundidad de 1. Por consiguiente, para comparar resultados de codificación de los mismos datos de acuerdo con las profundidades, cada una de la unidad de codificación que corresponde a la profundidad de 1 y cuatro unidades de codificación que corresponden a la profundidad de 2 se codifican.
Para realizar codificación para una profundidad actual de entre las profundidades, puede seleccionarse un menor error de codificación para la profundidad actual realizando codificación para cada unidad de predicción en las unidades de codificación que corresponden a la profundidad actual, a lo largo del eje horizontal de la estructura 600 jerárquica. Como alternativa, el error de codificación mínimo puede buscarse comparando los menores errores de codificación de acuerdo con las profundidades y realizando codificación para cada profundidad a medida que la profundidad se hace profunda a lo largo del eje vertical de la estructura 600 jerárquica. Puede seleccionarse una profundidad y una partición que tienen el error de codificación mínimo en la unidad 610 de codificación como la profundidad codificada y un tipo de partición de la unidad 610 de codificación.
La Figura 7 es un diagrama para describir una relación entre una unidad 710 de codificación y unidades 720 de transformación, de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de vídeo o el aparato 200 de decodificación de vídeo codifican o decodifican una imagen de acuerdo con unidades de codificación que tienen tamaños menores o iguales a una unidad de codificación máxima para cada unidad de codificación máxima. Los tamaños de las unidades de transformación para transformación durante la codificación pueden seleccionarse basándose en unidades de datos que no son mayores que una unidad de codificación correspondiente.
Por ejemplo, en el aparato 100 de codificación de vídeo o el aparato 200 de decodificación de vídeo, si un tamaño de la unidad 710 de codificación es 64x64, la transformación puede realizarse usando las unidades 720 de transformación que tienen un tamaño de 32x32.
También, los datos de la unidad 710 de codificación que tiene el tamaño de 64x64 pueden codificarse realizando la transformación en cada una de las unidades de transformación que tienen el tamaño de 32x32, 16x16, 8x8, y 4x4, que son menores que 64x64, y a continuación puede seleccionarse una unidad de transformación que tiene el menor error de codificación.
La Figura 8 es un diagrama para describir información de codificación de unidades de codificación que corresponden a una profundidad codificada, de acuerdo con una realización de la presente invención.
Una unidad 130 de salida del aparato 100 de codificación de vídeo puede codificar y transmitir información 800 acerca de un tipo de partición, la información 810 acerca de un modo de predicción, y la información 820 acerca de un tamaño de una unidad de transformación para cada unidad de codificación que corresponde a una profundidad codificada, como información acerca de un modo de codificación.
La información 800 indica información acerca de una forma de una partición obtenida dividiendo una unidad de predicción de una unidad de codificación actual, en el que la partición es una unidad de datos para codificación de predicción de la unidad de codificación actual. Por ejemplo, una unidad de codificación actual CU_0 que tiene un tamaño de 2Nx2N puede dividirse en una cualquiera de una partición 802 que tiene un tamaño de 2Nx2N, una partición 804 que tiene un tamaño de 2NxN, una partición 806 que tiene un tamaño de Nx2N, y una partición 808 que tiene un tamaño de NxN. En este punto, la información 800 acerca de un tipo de partición se establece para indicar una de la partición 804 que tiene un tamaño de 2NxN, la partición 806 que tiene un tamaño de Nx2N, y la partición 808 que tiene un tamaño de NxN.
La información 810 indica un modo de predicción de cada partición. Por ejemplo, la información 810 puede indicar un modo de codificación de predicción realizada en una partición indicada mediante la información 800, es decir, un modo 812 intra, un modo 814 inter, o un modo 816 de salto.
La información 820 indica una unidad de transformación para basarse cuando se realiza transformación en una unidad de codificación actual. Por ejemplo, la unidad de transformación puede ser una primera unidad 822 de intra transformación, una segunda unidad 824 de intra transformación, una primera unidad 826 de inter transformación, o una segunda unidad 828 de inter transformación.
El decodificador 220 por entropía del aparato 200 de decodificación de vídeo puede extraer y usar la información 800, 810, y 820 para decodificación, de acuerdo con cada unidad de codificación más profunda.
La Figura 9 es un diagrama de unidades de codificación más profundas de acuerdo con las profundidades, de acuerdo con una realización de la presente invención.
La información de división puede usarse para indicar un cambio de una profundidad. La información de división indica si una unidad de codificación de una profundidad actual se divide unidades de codificación de una profundidad inferior.
Una unidad 910 de predicción para codificación de predicción de una unidad 900 de codificación que tiene una profundidad de 0 y un tamaño de 2N_0x2N_0 puede incluir particiones de un tipo 912 de partición que tiene un tamaño de 2N_0x2N_0, un tipo 914 de partición que tiene un tamaño de 2N_0xN_0, un tipo 916 de partición que tiene un tamaño de N_0x2N_0, y un tipo 918 de partición que tiene un tamaño de N_0xN_0. La Figura 9 ilustra únicamente los tipos 912 a 918 de particiones que se obtienen dividiendo simétricamente la unidad 910 de predicción, pero un tipo de partición no está limitado a las mismas, y las particiones de la unidad 910 de predicción puede incluir particiones asimétricas, particiones que tienen una forma determinada y particiones que tienen una forma geométrica.
La codificación de predicción se realiza repetitivamente en una partición que tiene un tamaño de 2N_0x2N_0, dos particiones que tienen un tamaño de 2N_0xN_0, dos particiones que tienen un tamaño de N_0x2N_0, y cuatro particiones que tienen un tamaño de N_0xN_0, de acuerdo con cada tipo de partición. La codificación de predicción en un modo intra y en un modo inter puede realizarse en las particiones que tienen los tamaños de 2N_0x2N_0, N_0x2N_0, 2N_0xN_0, y N_0xN_0. La codificación de predicción en un modo de salto se realiza únicamente en la partición que tiene el tamaño de 2N_0x2N_0.
Si un error de codificación es el más pequeño en uno de los tipos 912 a 916 de particiones que tienen los tamaños de 2N_0x2N_0, 2N_0xN_0 y N_0x2N_0, la unidad 910 de predicción puede no dividirse en una profundidad inferior.
Si el error de codificación es el más pequeño en el tipo 918 de partición que tiene el tamaño de N_0xN_0, se cambia una profundidad desde 0 a 1 para dividir el tipo 918 de partición en la operación 920, y la codificación se realiza repetitivamente en las unidades de codificación de tipo partición que tienen una profundidad de 2 y un tamaño de N_0xN_0 para buscar un error de codificación mínimo.
Una unidad 940 de predicción para codificación de predicción de (tipo de partición) la unidad 930 de codificación que tiene una profundidad de 1 y un tamaño de 2N_1x2N_1 (=N_0xN_0) puede incluir particiones de un tipo 942 de partición que tiene un tamaño de 2N_1x2N_1, un tipo 944 de partición que tiene un tamaño de 2N_1xN_1, un tipo 946 de partición que tiene un tamaño de N_1x2N_1, y un tipo 948 de partición que tiene un tamaño de N_1xN_1.
Si un error de codificación es el más pequeño en el tipo 948 de partición que tiene el tamaño de N_1XN_1, se cambia una profundidad desde 1 a 2 para dividir el tipo 948 de partición en la operación 950, y se realiza la codificación repetitivamente en unidades 960 de codificación, que tienen una profundidad de 2 y un tamaño de N_2xN_2 para buscar un error de codificación mínimo.
Cuando una profundidad máxima es d, una operación de división de acuerdo con cada profundidad puede realizarse hasta cuando una profundidad se hace d-1, y la información de división puede codificarse como hasta cuando una profundidad es una de 0 a d-2. En otras palabras, cuando se realiza codificación hasta cuando la profundidad es d-1 después de que se divide una unidad de codificación que corresponde a una profundidad de d-2 en la operación 970, una unidad 990 de predicción para codificar por predicción una unidad 980 de codificación que tiene una profundidad de d-1 y un tamaño de 2N_(d-1)x2N_(d-1) puede incluir particiones de un tipo 992 de partición que tiene un tamaño de 2N_(d-1)x2N_(d-1), un tipo 994 de partición que tiene un tamaño de 2N_(d-1)xN_(d-1), un tipo 996 de partición que tiene un tamaño de N_(d-1)x2N_(d-1), y un tipo 998 de partición que tiene un tamaño de N_(d-1)xN_(d-1).
La codificación de predicción puede realizarse repetitivamente en una partición que tiene un tamaño de 2N_(d-1)x2N_(d-1), dos particiones que tienen un tamaño de 2N_(d-1)xN_(d-1), dos particiones que tienen un tamaño de N_(d-1)x2N_(d-1), cuatro particiones que tienen un tamaño de N_(d-1)xN_(d-1) de entre los tipos 992 a 998 de particiones para buscar un tipo de partición que tiene un error de codificación mínimo.
Incluso cuando el tipo 998 de partición que tiene el tamaño de N_(d-1)xN_(d-1), tiene el error de codificación mínimo, puesto que una profundidad máxima es d, una unidad de codificación CU_(d-1) que tiene una profundidad de d-1 ya no se divide a una profundidad inferior, y una profundidad codificada para las unidades de codificación que constituyen la unidad 900 de codificación máxima actual se determina que es d-1 y un tipo de partición de la unidad 900 de codificación máxima actual puede determinarse que es N_(d-1)xN_(d-1). También, puesto que la profundidad máxima es d, no se establece la información de división para la unidad 952 de codificación de la profundidad d-1.
Una unidad 999 de datos puede ser una 'unidad mínima' para la unidad de codificación máxima actual. Una unidad mínima, de acuerdo con una realización de la presente invención, puede ser una unidad de datos rectangular obtenida dividiendo la unidad 980 de codificación mínima por 4. Realizando la codificación repetitivamente, el aparato 100 de codificación de vídeo puede seleccionar una profundidad que tiene el menor error de codificación comparando errores de codificación de acuerdo con las profundidades de la unidad 900 de codificación para determinar una profundidad codificada, y establecer un tipo de partición correspondiente y un modo de predicción como un modo de codificación de la profundidad codificada.
Como tal, los errores de codificación mínimos de acuerdo con las profundidades se comparan en todas las profundidades de 1 a d, y puede determinarse una profundidad que tiene el menor error de codificación como una profundidad codificada. La profundidad codificada, el tipo de partición de la unidad de predicción, y el modo de predicción pueden codificarse y transmitirse como información acerca de un modo de codificación. También, puesto que una unidad de codificación se divide desde una profundidad de 0 a una profundidad codificada, únicamente la información de división de la profundidad codificada se establece a 0, y la información de división de las profundidades excluyendo la profundidad codificada se establece a 1.
El decodificador 220 por entropía del aparato 200 de decodificación de vídeo pueden extraer y usar la información acerca de la profundidad codificada y la unidad de predicción de la unidad 900 de codificación para decodificar la unidad 912 de codificación. El aparato 200 de decodificación de vídeo puede determinar una profundidad, en el que la información de división es 0, como una profundidad codificada usando información de división de acuerdo con las profundidades, y usar la información acerca de un modo de codificación de la correspondiente profundidad para decodificar.
Las Figuras 10 a 12 son diagramas para describir una relación entre unidades 1010 de codificación, unidades 1060 de predicción, y unidades 1070 de transformación, de acuerdo con una realización de la presente invención.
Las unidades 1010 de codificación son unidades de codificación que tienen una estructura de árbol, que corresponde a profundidades codificadas determinadas por el aparato 100 de codificación de vídeo, en una unidad de codificación máxima. Las unidades 1060 de predicción son particiones de unidades de predicción de cada una de las unidades 1010 de codificación, y las unidades 1070 de transformación son unidades de transformación de cada una de las unidades 1010 de codificación.
Cuando una profundidad de una unidad de codificación máxima es 0 en las unidades 1010 de codificación, las profundidades de las unidades 1012 y 1054 de codificación son 1, las profundidades de las unidades 1014, 1016, 1018, 1028, 1050, y 1052 de codificación son 2, las profundidades de las unidades 1020, 1022, 1024, 1026, 1030, 1032, y 1048 de codificación son 3, y las profundidades de las unidades 1040, 1042, 1044, y 1046 de codificación son 4.
En las unidades 1060 de predicción, se obtienen algunas unidades 1014, 1016, 1022, 1032, 1048, 1050, 1052, y 1054 de codificación dividiendo las unidades de codificación. En otras palabras, los tipos de partición en las unidades 1014, 1022, 1050, y 1054 de codificación tienen un tamaño de 2NxN, los tipos de partición en las unidades 1016, 1048, y 1052 de codificación tienen un tamaño de Nx2N, y un tipo de partición de la unidad 1032 de codificación tiene un tamaño de NxN. Las unidades de predicción y las particiones de las unidades 1010 de codificación son menores que o iguales a cada unidad de codificación.
Se realiza transformación o transformación inversa en los datos de imagen de la unidad 1052 de codificación en las unidades 1070 de transformación en una unidad de datos que es menor que la unidad 1052 de codificación. También, las unidades 1014, 1016, 1022, 1032, 1048, 1050, 1052 y 1054 de codificación en las unidades 1070 de transformación son diferentes de aquellas en las unidades 1060 de predicción en términos de tamaños y formas. En otras palabras, el aparato 100 de codificación de vídeo y el aparato 200 de decodificación de vídeo pueden realizar intra predicción, estimación de movimiento, compensación de movimiento, transformación y transformación inversa individualmente en una unidad de datos en la misma unidad de codificación.
Por consiguiente, se realiza codificación recursivamente en cada una de las unidades de codificación que tienen una estructura jerárquica en cada región de una unidad de codificación máxima para determinar una unidad de codificación óptima, y por lo tanto pueden obtenerse las unidades de codificación que tienen una estructura de árbol recursiva. La información de codificación puede incluir información de división acerca de una unidad de codificación, información acerca de un tipo de partición, información acerca de un modo de predicción, e información acerca de un tamaño de una unidad de transformación. La Tabla 1 muestra la información de codificación que puede establecerse por el aparato 100 de codificación de vídeo y el aparato 200 de decodificación de vídeo.
Tabla 1
Figure imgf000015_0001
El codificador 120 por entropía del aparato 100 de codificación de vídeo puede emitir la información de codificación acerca de las unidades de codificación que tienen una estructura de árbol, y el decodificador 220 por entropía del aparato 200 de decodificación de vídeo pueden extraer la información de codificación acerca de las unidades de codificación que tienen una estructura de árbol desde un flujo de bits recibido.
La información de división indica si una unidad de codificación actual se divide en unidades de codificación de una profundidad inferior. Si la información de división de una profundidad actual d es 0, una profundidad, en la que una unidad de codificación actual ya no se divide en una profundidad inferior, es una profundidad codificada, y por lo tanto puede definirse la información acerca de un tipo de partición, un modo de predicción, y un tamaño de una unidad de transformación para la profundidad codificada. Si la unidad de codificación actual se divide adicionalmente de acuerdo con la información de división, la codificación se realiza independientemente en cuatro unidades de codificación de división de una profundidad inferior.
Un modo de predicción puede ser uno de un modo intra, un modo inter, y un modo de salto. El modo intra y el modo inter pueden definirse en todos los tipos de partición, y el modo de salto se define únicamente en un tipo de partición que tiene un tamaño de 2Nx2N.
La información acerca del tipo de partición puede indicar tipos de partición simétrica que tienen tamaños de 2Nx2N, 2NxN, Nx2N, y NxN, que se obtienen dividiendo simétricamente una altura o una anchura de una unidad de predicción, y tipos de partición asimétrica que tienen tamaños de 2NxnU, 2NxnD, nLx2N, y nRx2N, que se obtienen dividiendo asimétricamente la altura o anchura de la unidad de predicción. Los tipos de partición asimétrica que tienen los tamaños de 2NxnU y 2NxnD pueden obtenerse respectivamente dividiendo la altura de la unidad de predicción en 1:n y n:1 (donde n es un número entero mayor que 1), y los tipos de partición asimétrica que tienen los tamaños de nLx2N y nRx2N pueden obtenerse respectivamente dividendo la anchura de la unidad de predicción en 1:n y n:1.
El tamaño de la unidad de transformación puede establecerse para que sea dos tipos en el modo intra y dos tipos en el modo inter. En otras palabras, si la información de división de la unidad de transformación es 0, el tamaño de la unidad de transformación puede ser 2Nx2N, que es el tamaño de la unidad de codificación actual. Si la información de división de la unidad de transformación es 1, las unidades de transformación pueden obtenerse dividiendo la unidad de codificación actual. También, si un tipo de partición de la unidad de codificación actual que tiene el tamaño de 2Nx2N es un tipo de partición simétrica, un tamaño de una unidad de transformación puede ser NxN, y si el tipo de partición de la unidad de codificación actual es un tipo de partición asimétrica, el tamaño de la unidad de transformación puede ser N/2xN/2.
La información de codificación acerca de las unidades de codificación que tienen una estructura de árbol puede incluir al menos uno de una unidad de codificación que corresponde a una profundidad codificada, una unidad de predicción, y una unidad mínima. La unidad de codificación que corresponde a la profundidad codificada puede incluir al menos una de una unidad de predicción y una unidad mínima que contiene la misma información de codificación.
Por consiguiente, se determina si se incluyen unidades de datos adyacentes en la misma unidad de codificación que corresponde a la profundidad codificada comparando información de codificación de las unidades de datos adyacentes. También, se determina una unidad de codificación correspondiente que corresponde a una profundidad codificada usando información de codificación de una unidad de datos, y por lo tanto puede determinarse una distribución de profundidades codificadas en una unidad de codificación máxima.
Por consiguiente, si se predice una unidad de codificación actual basándose en información de codificación de unidades de datos adyacentes, puede hacerse referencia directamente y usarse la información de codificación de unidades de datos en unidades de codificación más profundas adyacentes a la unidad de codificación actual.
Como alternativa, si una unidad de codificación actual se predice basándose en información de codificación de unidades de datos adyacentes, se buscan las unidades de datos adyacentes a la unidad de codificación actual usando información codificada de las unidades de datos, y puede hacerse referencia a las unidades de codificación adyacentes buscadas para predecir la unidad de codificación actual.
La Figura 13 es un diagrama para describir una relación entre una unidad de codificación, una unidad de predicción y una unidad de transformación, de acuerdo con la información de modo de codificación de la Tabla 1.
Una unidad 1300 de codificación máxima incluye las unidades 1302, 1304, 1306, 1312, 1314, 1316, y 1318 de codificación de profundidades codificadas. En este punto, puesto que la unidad 1318 de codificación es una unidad de codificación de una profundidad codificada, la información de división puede establecerse a 0. La información acerca de un tipo de partición de la unidad 1318 de codificación que tiene un tamaño de 2Nx2N puede establecerse para que sea uno de un tipo 1322 de partición que tiene un tamaño de 2Nx2N, un tipo 1324 de partición que tiene un tamaño de 2NxN, un tipo 1326 de partición que tiene un tamaño de Nx2N, un tipo 1328 de partición que tiene un tamaño de NxN, un tipo 1332 de partición que tiene un tamaño de 2NxnU, un tipo 1334 de partición que tiene un tamaño de 2NxnD, un tipo 1336 de partición que tiene un tamaño de nLx2N, y un tipo 1338 de partición que tiene un tamaño de nRx2N.
Cuando el tipo de partición se establece para que sea simétrica, es decir el tipo 1322, 1324, 1326, o 1328 de partición, se establece una unidad 1342 de transformación que tiene un tamaño de 2Nx2N si la información de división (bandera de tamaño TU) de una unidad de transformación es 0, y se establece una unidad 1344 de transformación que tiene un tamaño de NxN si una bandera de tamaño TU es 1.
Cuando el tipo de partición se establece para que sea asimétrica, es decir, el tipo 1332, 1334, 1336, o 1338 de partición, se establece una unidad 1352 de transformación que tiene un tamaño de 2Nx2N si una bandera de tamaño TU es 0, y se establece una unidad 1354 de transformación que tiene un tamaño de N/2xN/2 si una bandera de tamaño TU es 1.
La bandera de tamaño TU es un tipo de índice de transformación; un tamaño de una unidad de transformación que corresponde a un índice de transformación puede modificarse de acuerdo con un tipo de unidad de predicción o un tipo de partición de una unidad de codificación.
Cuando el tipo de partición se establece para que sea simétrica, es decir el tipo 1322, 1324, 1326, o 1328 de partición, se establece la unidad 1342 de transformación que tiene un tamaño de 2Nx2N si una bandera de tamaño TU de una unidad de transformación es 0, y se establece la unidad 1344 de transformación que tiene un tamaño de NxN si una bandera de tamaño TU es 1.
Cuando el tipo de partición se establece para que sea asimétrica, es decir, el tipo de partición 1332 (2NxnU), 1334 (2NxnD), 1336 (nLx2N), o 1338 (nRx2N), se establece la unidad 1352 de transformación que tiene un tamaño de 2Nx2N si una bandera de tamaño TU es 0, y se establece la unidad 1354 de transformación que tiene un tamaño de N/2xN/2 si una bandera de tamaño TU es 1.
Haciendo referencia a la Figura 13, la bandera de tamaño TU anteriormente descrita es una bandera que tiene un valor de 0 o 1, pero la bandera de tamaño TU no está limitada a 1 bit, y una unidad de transformación puede dividirse jerárquicamente mientras la bandera de tamaño TU aumenta desde 0. La información de división de unidad de transformación (bandera de tamaño TU) puede usarse como un ejemplo de un índice de transformación.
En este caso, cuando se usa una bandera de tamaño TU de acuerdo con una realización con un tamaño máximo y un tamaño mínimo de una unidad de transformación, puede expresarse el tamaño de la unidad de transformación realmente usada. El aparato 100 de codificación de vídeo puede codificar información de tamaño de unidad de transformación máxima, información de tamaño de unidad de transformación mínima, e información de división de unidad de transformación máxima. La información de tamaño de unidad de transformación máxima codificada, la información de tamaño de unidad de transformación mínima y la información de división de unidad de transformación máxima pueden insertarse en un conjunto de parámetro de secuencia (SPS). El aparato 200 de decodificación de vídeo puede usar la información de tamaño de unidad de transformación máxima, la información de tamaño de unidad de transformación mínima, y la información de división de unidad de transformación máxima para decodificación de vídeo.
Por ejemplo, (a) si un tamaño de una unidad de codificación actual es 64x64 y una unidad de transformación máxima es 32x32, (a-1) un tamaño de una unidad de transformación es 32x32 si una bandera de tamaño TU es 0; (a-2) un tamaño de una unidad de transformación es 16x16 si una bandera de tamaño TU es 1; y (a-3) un tamaño de una unidad de transformación es 8x8 si una bandera de tamaño TU es 2.
Como alternativa, (b) si un tamaño de una unidad de codificación actual es 32x32 y una unidad de transformación mínima es 32x32, (b-1) un tamaño de una unidad de transformación es 32x32 si una bandera de tamaño TU es 0, y puesto que el tamaño de una unidad de transformación no puede ser menor que 32x32, no pueden establecerse más banderas de tamaño TU.
Como alternativa, (c) si un tamaño de una unidad de codificación actual es 64x64 y una bandera de tamaño TU máximo es 1, una bandera de tamaño TU puede ser 0 o 1 y no pueden establecerse otras banderas de tamaño TU.
Por consiguiente, cuando se define una bandera de tamaño TU máximo como 'MaxTransformSizelndex', una bandera de tamaño TU mínimo como 'MinTransformSize', y una unidad de transformación en el caso cuando una bandera de tamaño TU es 0, es decir, una unidad de transformación básica RootTu como 'RootTuSize', un tamaño de una unidad de transformación mínima 'CurrMinTuSize', que está disponible en una unidad de codificación actual, puede definirse mediante la Ecuación (1) a continuación.
CurrMinTuSize = max (MinTransformSize, RootTuSize/(2AMaxTransformSizelndex))... (1)
En comparación con el tamaño de la unidad de transformación mínima 'CurrMinTuSize' que está disponible en la unidad de codificación actual, el tamaño de unidad de transformación básica 'RootTuSize', que es un tamaño de una unidad de transformación si una bandera de tamaño TU es 0, puede indicar una unidad de transformación máxima que puede seleccionarse con respecto a un sistema. Es decir, de acuerdo con la Ecuación (1), 'RootTuSize/(2AMaxTransformSizelndex)' es un tamaño de una unidad de transformación que se obtiene dividiendo 'RootTuSize', que es un tamaño de una unidad de transformación cuando la información de división de unidad de transformación es 0, por el número de veces de división que corresponden a la información de división de unidad de transformación máxima, y 'MinTransformSize' es un tamaño de una unidad de transformación mínima, y por lo tanto un valor menor de estas puede ser 'CurrMinTuSize' que es el tamaño de la unidad de transformación mínima que está disponible la unidad de codificación actual.
El tamaño de la unidad de transformación básica 'RootTuSize' de acuerdo con una realización de la presente invención puede variar de acuerdo con un modo de predicción.
Por ejemplo, si un modo de predicción actual es un modo inter, RootTuSize puede determinarse de acuerdo con la Ecuación (2) a continuación. En la ecuación (2), 'MaxTransformSize' hace referencia a un tamaño de unidad de transformación máximo, y 'PUSize' hace referencia a un tamaño de unidad de predicción actual.
RootTuSize = min(MaxTransformSize, PUSize)...... (2)
En otras palabras, si un modo de predicción actual es un modo inter, el tamaño del tamaño de unidad de transformación básica 'RootTuSize', que es una unidad de transformación si una bandera de tamaño TU es 0, puede establecerse a un valor más pequeño de entre el tamaño de unidad de transformación máxima y el tamaño de unidad de predicción actual.
Si un modo de predicción de una unidad de partición actual es un modo intra, 'RootTuSize' puede determinarse de acuerdo con la Ecuación (3) a continuación. 'PartitionSize' hace referencia a un tamaño de la unidad de partición actual.
RootTuSize = min(MaxTransformSize, PartitionSize)...... (3)
En otras palabras, si un modo de predicción actual es un modo intra, el tamaño de unidad de transformación básica 'RootTuSize' puede establecerse a un valor menor de entre el tamaño de unidad de transformación máxima y el tamaño de unidad de partición actual.
Sin embargo, debería observarse que el tamaño del tamaño de unidad de transformación básica 'RootTuSize', que es el tamaño de unidad de transformación máxima actual de acuerdo con una realización de la presente invención y varía de acuerdo con un modo de predicción de una unidad de partición, es un ejemplo, y los factores para determinar el tamaño de unidad de transformación máxima actual no están limitados a lo mismo.
En lo sucesivo, se describirá en detalle una operación de codificación por entropía de un elemento de sintaxis, que se realiza en el codificador 120 por entropía del aparato 100 de codificación de vídeo de la Figura 1, y una operación de decodificación por entropía de un elemento de sintaxis, que se realiza en el decodificador 220 por entropía del aparato 200 de decodificación de vídeo de la Figura 2.
Como se ha descrito anteriormente, el aparato 100 de codificación de vídeo y el aparato 200 de decodificación de vídeo realizan codificación y decodificación dividiendo una unidad de codificación máxima en unidades de codificación que son más pequeñas o iguales a una unidad de codificación máxima. Una unidad de predicción y una unidad de transformación usadas en predicción y transformación pueden determinarse basándose en costes independientemente de otras unidades de datos. Puesto que puede determinarse una unidad de codificación óptima codificando recursivamente cada unidad de codificación que tiene una estructura jerárquica incluida en la unidad de codificación máxima, pueden configurarse unidades de datos que tienen una estructura de árbol. En otras palabras, para cada unidad de codificación máxima, puede configurarse una unidad de codificación que tiene una estructura de árbol, y una unidad de predicción y una unidad de transformación que tiene cada una una estructura de árbol. Para decodificar, necesita transmitirse información jerárquica, que es información que indica información de estructura de unidades de datos que tienen una estructura jerárquica e información no jerárquica para decodificación, además de la información jerárquica.
La información relacionada con una estructura jerárquica es información necesaria para determinar una unidad de codificación que tiene una estructura de árbol, una unidad de predicción que tiene una estructura de árbol, y una unidad de transformación que tiene una estructura de árbol, como se ha descrito anteriormente con referencia a las Figuras 10 a 12, e incluye una bandera de división de unidad de transformación (bandera de tamaño TU) que indica un tamaño de una unidad de codificación máxima, profundidad codificada, información de partición de una unidad de predicción, una bandera de división que indica si una unidad de codificación se divide o no, información de tamaño de una unidad de transformación, y una bandera de división de unidad de transformación (bandera de tamaño TU) que indica si una unidad de transformación se divide o no. Ejemplos de información de codificación distinta a información de estructura jerárquica incluyen información de modo de predicción de intra/inter predicción aplicada a cada unidad de predicción, información de vector de movimiento, información de dirección de predicción, información de componente de color aplicado a cada unidad de datos en el caso cuando se usa una pluralidad de componentes de color, e información de coeficiente de transformación. En lo sucesivo, información jerárquica e información extra­ jerárquica pueden referirse como un elemento de sintaxis que se ha de codificar por entropía o decodificar por entropía.
En particular, de acuerdo con las realizaciones de la presente invención, se proporciona un procedimiento de determinación de un modelo de contexto para codificación y decodificación por entropía de manera eficaz un nivel de un coeficiente de transformación, es decir, información de tamaño de elementos de sintaxis. En lo sucesivo, se describirá en detalle un procedimiento de determinación de un modelo de contexto para codificación y decodificación por entropía de un nivel de un coeficiente de transformación.
La Figura 14 es un diagrama de flujo que ilustra una operación de codificación y decodificación por entropía de información de coeficiente de transformación incluida en una unidad de transformación, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 14, coded_block_flag que indica si un coeficiente de transformación que no es 0 (en lo sucesivo, denominado como “coeficiente significativo”) existe o no de entre los coeficientes de transformación incluidos en una unidad de transformación actual se codifica o decodifica por entropía en primer lugar en la operación 1410.
Si coded_block_flag es 0, hay únicamente coeficientes de transformación de 0 en la unidad de transformación actual, y por lo tanto únicamente un valor 0 se codifica o decodifica por entropía como coded_block_flag, y la información de nivel de coeficiente de transformación no se codifica o decodifica por entropía.
En la operación 1420, si hay un coeficiente significativo en la unidad de transformación actual, un mapa de significado SigMap que indica una localización de un coeficiente significativo se codifica o decodifica por entropía.
Un mapa de significado SigMap puede formarse de un bit significativo e información predeterminada que indica una localización de un último coeficiente de significado. Un bit significativo indica si un coeficiente de transformación de acuerdo con cada índice de exploración es un coeficiente significativo o 0, y puede expresarse mediante significant_coeff_flag[i]. Como se describirá más adelante, un mapa de significado se establece en unidades de subconjuntos que tienen un tamaño predeterminado que se obtiene dividiendo una unidad de transformación. Por consiguiente, significant_coeff_flag[i] indica si un coeficiente de transformación de un i-ésimo índice de exploración de entre los coeficientes de transformación incluidos en un subconjunto incluido en una unidad de transformación es 0 o no.
De acuerdo con H.264 convencional, una bandera (Final de bloque) que indica si cada coeficiente significativo es el último coeficiente significativo o no se codifica o decodifica por entropía adicionalmente. Sin embargo, de acuerdo con una realización de la presente invención, la información de localización del mismo último coeficiente significativo se codifica o decodifica por entropía. Como se ha descrito anteriormente con referencia a las Figuras 1 a 13, el tamaño de una unidad de transformación de acuerdo con una realización de la presente invención no está limitado a 4x4 sino que puede ser también un tamaño mayor tal como 8x8, 16x16 o 32x32. Es ineficaz codificar o decodificar por entropía adicionalmente una bandera (Final de bloque) que indica si cada coeficiente significativo es el último coeficiente significativo puesto que el tamaño de la bandera (Final de bloque) aumenta. Por consiguiente, de acuerdo con una realización de la presente invención, la información de localización del mismo último coeficiente significativo puede codificarse o decodificarse por entropía. Por ejemplo, si una localización del último coeficiente significativo es (x, y), donde x e y son números enteros, los valores de coordenadas de (x, y) pueden codificarse o decodificarse por entropía.
La Figura 15 ilustra subconjuntos obtenidos dividiendo una unidad de transformación de acuerdo con una realización de la presente invención. Aunque se ilustra un tamaño de 16x16 de una unidad 1500 de transformación en la Figura 15, el tamaño de la unidad 1500 de transformación no está limitado a 16x16 y puede también ser de 4x4 a 32x32.
Haciendo referencia a la Figura 15, para codificación y decodificación por entropía de un coeficiente de transformación incluido en la unidad 1500 de transformación, la unidad 1500 de transformación se divide en subconjuntos que tienen un tamaño predeterminado. Por ejemplo, como se ilustra en la Figura 15, la unidad 1500 de transformación puede dividirse en subconjuntos que tienen un tamaño de 4x4. El tamaño de los subconjuntos no está limitado a 4x4 y puede variarse.
Como se ilustra en la Figura 15, la unidad 1500 de transformación se divide en 16 subconjuntos, y la información de coeficiente de transformación se codifica o decodifica por entropía para cada unidad de subconjunto. La información de coeficiente de transformación que se codifica o decodifica por entropía puede ser, por ejemplo, una primera bandera de valor crítico (bandera Greaterthan1, en lo sucesivo denominada como “bandera Gtr1” que indica si un coeficiente significativo incluido en un subconjunto tiene un valor mayor que un primer valor crítico predeterminado tal como 1, una segunda bandera de valor crítico (bandera Greaterthan2, en lo sucesivo denominada como “bandera Gtr2”) que indica si un coeficiente significativo incluido en un subconjunto tiene un valor mayor que un segundo valor crítico predeterminado tal como 2, o nivel 3 que indica un nivel de un coeficiente significativo que es mayor que un segundo valor crítico predeterminado. En este punto, se supone que el primer valor crítico se establece a 1, y el segundo valor crítico se establece a 2, pero el primer y segundo valores críticos no están limitados a lo mismo y pueden modificarse. La primera bandera de valor crítico (bandera Gtr1) se establece únicamente para un coeficiente de transformación que incluye un mapa de significado de 1, es decir, únicamente para un coeficiente significativo, y no se establece para un coeficiente de transformación de 0. Además, la segunda bandera de valor crítico (bandera Gtr2) se establece únicamente para un coeficiente de transformación que tiene una primera bandera de valor crítico de 1.
En la Figura 15, un subconjunto que incluye el último coeficiente significativo se supone como un subconjunto 11 1510. La codificación y decodificación por entropía de información de coeficiente de transformación realizada para cada subconjunto se realiza hacia atrás de acuerdo con un orden de exploración desde el subconjunto 11 1510 en el que se incluye el último coeficiente significativo.
La Figura 16 ilustra un subconjunto 1600 incluido en la unidad 1500 de transformación de la Figura 15, de acuerdo con una realización de la presente invención.
Haciendo referencia a las Figuras 15 y 16, cualquier subconjunto incluido en la unidad 1500 de transformación ilustrado en la Figura 15 se supone como que incluye coeficientes de transformación que tienen un tamaño de 4x4 como se ilustra en la Figura 16. Como se ha descrito anteriormente, de acuerdo con una realización de la presente invención, un mapa de significado SigMap, una primera bandera de valor crítico, bandera Gtr1, y una segunda bandera de valor crítico, bandera Gtr2, se codifican o decodifican por entropía en unidades de subconjuntos.
La Figura 17 ilustra un mapa de significado SigMap 1700 que corresponde al subconjunto 1600 de la Figura 16.
Haciendo referencia a las Figuras 16 y 17, se establece el mapa de significado SigMap 1700 que tiene un valor de 1 con respecto a coeficientes significativos de entre los coeficientes de transformación que están incluidos en el subconjunto 1600 de la Figura 16 y que no tienen un valor de 0. El mapa de significado SigMap 1700 se codifica o decodifica por entropía usando un modelo de contexto predeterminado.
La Figura 18 ilustra una primera bandera de valor crítico, bandera Gtr1 1800, que corresponde al subconjunto 1600 de la Figura 16.
Haciendo referencia a las Figuras 16 a 18, se establece la primera bandera de valor crítico, bandera Gtr1 1800, que indica si un coeficiente de transformación correspondiente tiene un valor mayor que un primer valor crítico, es decir, 1, con respecto a coeficientes de transformación que tienen un valor de 1. Si la bandera de valor crítico, bandera Gtr1 1800, es 1, esto indica que un coeficiente de transformación correspondiente tiene un valor mayor que 1, y si la bandera de valor crítico, bandera Gtr1 1800, es 0, esto indica que un coeficiente correspondiente tiene un valor de 1.
La Figura 19 ilustra una segunda bandera de valor crítico, bandera Gtr2 1900, que corresponde al subconjunto 1600 de la Figura 16.
Haciendo referencia a las Figuras 16 a 19, la segunda bandera de valor crítico, bandera Gtr2 1900, se establece únicamente con respecto a un coeficiente de transformación para el que la primera bandera de valor crítico, bandera Gtr1 1800, se establece como 1 entre los coeficientes de transformación, y la segunda bandera de valor crítico, bandera Gtr2 1900, indica si un coeficiente de transformación correspondiente tiene un valor mayor que un segundo valor crítico, es decir, 2.
Haciendo referencia a la Figura 19, la información de nivel de un coeficiente de transformación que tiene una segunda bandera de valor crítico, bandera Gtr2 1900, de 1, es decir, los mismos coeficientes de transformación que tienen un valor de 23 y 3 en la Figura 16, se codifican o decodifican por entropía. En este punto, un coeficiente de transformación que incluye una segunda bandera de valor crítico, bandera Gtr2 1900, de 1 es un coeficiente de transformación que tiene un valor mayor que 2, y, por lo tanto, un valor obtenido restando 3 de un nivel de un coeficiente de transformación correspondiente (nivel 3) se codifica como información de nivel de un coeficiente de transformación correspondiente. En el ejemplo anteriormente descrito, cuando se realiza codificación por entropía, 20 se codifica en lugar de 23, y 0 se codifica como información de nivel en lugar de 3. Cuando se realiza decodificación por entropía, la información de nivel de un coeficiente de transformación puede restaurarse decodificando por entropía el nivel 3 de un coeficiente de transformación que incluye la segunda bandera de valor crítico, bandera Gtr2 1900, de 1, y a continuación añadiendo 3 a la misma.
La Figura 20 es una tabla que muestra coeficientes de transformación incluidos en los subconjuntos ilustrados en las Figuras 16 a 19 e información de coeficiente de transformación que se codifica o decodifica por entropía. Como se ha descrito anteriormente, de acuerdo con una realización de la presente invención, un mapa de significado SigMap, una primera bandera de valor crítico, bandera Gtr1, una segunda bandera de valor crítico, bandera Gtr2, y la información de nivel (nivel 3) que indican una localización y la información de nivel de un coeficiente significativo se codifican o decodifican por entropía de acuerdo con un orden de exploración predeterminado desde el último coeficiente significativo en unidades de subconjuntos.
La Figura 21A es un diagrama de bloques estructural que ilustra una estructura de un aparato 2100 de codificación por entropía de acuerdo con una realización de la presente invención. El aparato 2100 de codificación por entropía de la Figura 21A corresponde al codificador 120 por entropía del aparato 100 de codificación de vídeo de la Figura 1.
Haciendo referencia a la Figura 21A, el aparato 2100 de codificación por entropía incluye un conversor a binario 2110, un modelador 2120 de contexto, y un codificador 2130 aritmético binario. También, el codificador 2130 aritmético binario incluye un motor 2132 de codificación regular y un motor 2134 de codificación de desvío.
Los elementos de sintaxis que se introducen al aparato 2100 de codificación por entropía pueden no ser valores vinarios, y, por lo tanto, si los elementos de sintaxis no son valores binarios, el conversor a binario 2110 convierte a binario los elementos de sintaxis para emitir una cadena binaria que consiste en valores binarios de 0 o 1. Binario indica cada bit de un flujo que consiste en 0 o 1, y se codifica mediante codificación aritmética binaria adaptativa según contexto (CABAC). Si un elemento de sintaxis son datos que incluyen 0 y 1 en las mismas frecuencias, el elemento de sintaxis se emite al motor 2134 de codificación de desvío, que no usa un valor de probabilidad.
El modelador 2120 de contexto proporciona un modelo de probabilidad acerca de un símbolo de codificación actual al motor 2132 de codificación regular. En detalle, el modelador 2120 de contexto emite probabilidades de valores binarios para valores binarios de codificación de un símbolo de codificación actual al codificador 2130 aritmético binario. Un símbolo de codificación actual se refiere a cada valor binario cuando se forma un elemento de sintaxis actual codificado mediante conversión a binario, es decir, cuando se forma de un valor binario.
Un modelo de contexto es un modelo de probabilidad con respecto a un binario, e incluye información que indica cuál del 0 y 1 corresponde a un símbolo más probable (MPS) y a un símbolo menos probable (LPS) y una probabilidad de un MPS o un LPS. En lo sucesivo, un modelo de contexto puede denominarse simplemente como un contexto. También, un conjunto de contexto se refiere a un conjunto que incluye una pluralidad de contextos.
El motor 1432 de codificación regular realiza codificación aritmética binaria en un símbolo de codificación actual basándose en información acerca de un MPS o un LPS e información de probabilidad del MPS o del LPS proporcionada desde el modelador 1420 de contexto.
Como se describirá más adelante, para determinar un modelo de contexto para codificación por entropía de una primera bandera de valor crítico, bandera Gtr1, de un subconjunto, el modelador 2120 de contexto de acuerdo con una realización de la presente invención obtiene un índice de conjunto de contexto ctxset para determinar un conjunto de contexto usado en codificación por entropía de la primera bandera de valor crítico de entre una pluralidad de conjuntos de contexto que incluyen una pluralidad de contextos, basándose en información de componente de color de una unidad de transformación, información de localización de un subconjunto que indica en qué localización está localizado un subconjunto actual en la unidad de transformación, y si hay coeficientes significativos que tienen un valor mayor que el primer valor crítico en un subconjunto que se ha procesado antes del subconjunto actual de acuerdo con el orden de procesamiento descrito con respecto a la Figura 15 anterior. Además, el modelador 2120 de contexto obtiene un desplazamiento de contexto c1 para determinar uno de una pluralidad de contextos incluidos en un conjunto de contexto usado en codificación por entropía de la primera bandera de valor crítico, bandera Gtr1, basándose en una longitud de un coeficiente de transformación anterior que tiene 1 consecutivos. También, el modelador 2120 de contexto obtiene un índice de contexto ctxldx1 que indica un contexto usado en codificación por entropía de la primera bandera de valor crítico, bandera Gtr1, usando el índice de conjunto de contexto ctxset y el desplazamiento de contexto c1. Cuando siempre se codifica o decodifica por entropía la primera bandera de valor crítico, bandera Gtr1, de una unidad de transformación, se mantiene o modifica un valor del desplazamiento de contexto c1, y, por lo tanto, el contexto siempre se mantiene o actualiza cada vez cuando se codifica o decodifica la primera bandera de valor crítico, bandera Gtr1, de la unidad de transformación.
También, el modelador 2120 de contexto obtiene un índice de conjunto de contexto ctxset que indica uno de una pluralidad de conjuntos de contexto usados en codificación y decodificación por entropía de una segunda bandera de valor crítico, bandera Gtr2, basándose en información de componente de color de una unidad de transformación, información de localización de un subconjunto que indica en qué localización está localizado un subconjunto actual en la unidad de transformación, y si hay coeficientes significativos que tienen un valor mayor que el primer valor crítico en un subconjunto que se ha procesado antes del subconjunto actual de acuerdo con el orden de procesamiento descrito con respecto a la Figura 15 anterior. Un parámetro usado para obtener el índice de conjunto de contexto ctxset usado en codificación y decodificación por entropía de la segunda bandera de valor crítico bandera Gtr2 es el mismo que un parámetro usado para obtener el índice de conjunto de contexto ctxset que se usa en codificación y decodificación por entropía de la primera bandera de valor crítico, bandera Gtr1. Por consiguiente, el modelador 2120 de contexto puede usar el índice de conjunto de contexto ctxset para determinar un conjunto de contexto usado en codificación por entropía de la primera bandera de valor crítico anteriormente descrita también cuando se determina un conjunto de contexto para codificación por entropía de la segunda bandera de valor crítico, bandera Gtr2. Un desplazamiento de contexto c2 para determinar uno de una pluralidad de contextos incluidos en un conjunto de contexto que se usa en codificación por entropía de la segunda bandera de valor crítico, bandera Gtr2, tiene un valor de 0. Por consiguiente, un índice de contexto ctxldx2 que indica un contexto usado en codificación por entropía de la segunda bandera de valor crítico, bandera Gtr2, se establece para que sea el mismo que el índice de conjunto de contexto ctxset de la primera bandera de valor crítico, bandera Gtr1.
La Figura 21B es un diagrama de bloques estructural que ilustra una estructura de un aparato 2150 de decodificación por entropía de acuerdo con una realización de la presente invención. El aparato 2150 de decodificación por entropía de la Figura 21B corresponde al decodificador 220 por entropía del aparato 200 de decodificación de vídeo de la Figura 2. El aparato 2150 de decodificación por entropía realiza una operación inversa de la codificación por entropía realizada en el aparato 2100 de codificación por entropía anteriormente descrito.
Haciendo referencia a la Figura 21B, el aparato 2150 de decodificación por entropía incluye un modelador 2160 de contexto, un motor 2170 de decodificación regular, un decodificador 2180 de desvío y un desconversor de binario 2190.
Un símbolo que se codifica mediante codificación de desvío se emite al decodificador 2180 de desvío para decodificarse, y un símbolo codificado mediante codificación regular se decodifica mediante el motor 2170 de decodificación regular. El motor 2170 de decodificación regular decodifica aritméticamente un valor binario de un símbolo de codificación actual basándose en un modelo de contexto proporcionado por el modelador 2160 de contexto.
El modelador 2160 de contexto determina un modelo de contexto para decodificación por entropía de una primera bandera de valor crítico, bandera Gtr1, y una segunda bandera de valor crítico, bandera Gtr2, de la misma manera que el modelador 2120 de contexto de la Figura 21A anteriormente descrito. El modelador 2160 de contexto de la Figura 21B determina un modelo de contexto para decodificación por entropía de una primera bandera de valor crítico, bandera Gtr1, y una segunda bandera de valor crítico, bandera Gtr2, de la misma manera que el modelador 2120 de contexto de la Figura 21A anteriormente descrito con respecto a la codificación excepto que opera con respecto a la decodificación.
El desconversor de binario 2340 restaura cadenas binarias que se restauran en el motor 2170 de decodificación regular o en el decodificador 2180 de desvío a elementos de sintaxis.
En lo sucesivo, se describirá en detalle una operación de determinación de un modelo de contexto para codificación y decodificación por entropía de una primera bandera de valor crítico, bandera Gtr1, y una segunda bandera de valor crítico, bandera Gtr2, realizada usando los modeladores 2120 y 2160 de contexto de las Figuras 21A y 21B.
La Figura 22 es un diagrama de bloques estructural que ilustra un modelador 2200 de contexto de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 22, el modelador 2200 de contexto incluye una unidad 2210 de mapeo, una unidad 2220 de obtención de conjunto de contexto, una unidad 2230 de obtención de desplazamiento de contexto, y una unidad 2240 de determinación de contexto.
La unidad 2210 de mapeo obtiene información de localización de un coeficiente significativo incluido en un subconjunto actual que se codifica o decodifica por entropía. Cuando se realiza codificación por entropía, la unidad 2210 de mapeo puede obtener localizaciones de coeficientes significativos desde la información de coeficientes de transformación incluidos en el subconjunto actual. Cuando se realiza decodificación por entropía, la unidad 2210 de mapeo puede obtener localizaciones de coeficientes significativos incluidos en un subconjunto desde un mapa de significado SigMap.
La unidad 2220 de obtención de conjunto de contexto obtiene un índice de conjunto de contexto ctxset que indica uno de una pluralidad de conjuntos de contexto que incluyen una pluralidad de contextos que se usan en codificación y decodificación por entropía de una primera bandera de valor crítico bandera Gtr1 y una segunda bandera de valor crítico bandera Gtr2 con respecto a un coeficiente significativo.
En detalle, la unidad 2220 de obtención de conjunto de contexto obtiene un índice de conjunto de contexto para determinar un modelo de contexto usado en codificación y decodificación por entropía de una primera bandera de valor crítico, bandera Gtr1, y una segunda bandera de valor crítico, bandera Gtr2, basándose en información de componente de color de una unidad de transformación, información de localización de un subconjunto actual que se está procesando, y si hay coeficientes significativos que tienen un valor mayor que un primer valor crítico en un subconjunto que se ha procesado antes del subconjunto actual.
La unidad 2230 de obtención de desplazamiento de contexto determina un desplazamiento de contexto que indica uno de una pluralidad de contextos incluidos en el índice de conjunto de contexto ctxset. Cuando se realiza codificación o decodificación por entropía en la primera bandera de valor crítico, bandera Gtr1, el desplazamiento de contexto c1 puede determinarse basándose en una longitud de un coeficiente de transformación anterior que tiene 1 consecutivos antes de que se procese un coeficiente significativo actual mientras los coeficientes significativos incluidos en el subconjunto actual se están procesando de acuerdo con un orden de exploración predeterminado. Un desplazamiento de contexto c2 de la segunda bandera de valor crítico bandera Gtr2 tiene un valor de 0.
La unidad 2240 de determinación de contexto obtiene un índice de contexto ctxldx1 que indica un contexto usado en codificación o decodificación por entropía de una primera bandera de valor crítico, bandera Gtr1, usando el índice de conjunto de contexto ctxset y el desplazamiento de contexto c1. Para codificación y decodificación por entropía de la primera bandera de valor crítico, bandera Gtr1, cuando se supone que se establecen n conjuntos de contexto (n es un número entero), y n conjuntos de contexto tienen m contextos (m es un número entero), un total de n*m contextos pueden usarse en codificación o decodificación por entropía de una primera bandera de valor crítico, bandera Gtr1. Cuando se supone que un índice de conjunto de contexto ctxSet que indica uno de n conjuntos de contexto es un número entero de 0 a (n-1) y un desplazamiento de contexto c1 que indica uno de m desplazamientos de contexto es un número entero de 0 a (m-1), un índice de contexto ctxldx1 que indica uno de n*m contextos puede determinarse basándose en la siguiente ecuación: ctxldx1 =ctxSet*m c1.
Un índice de contexto ctxldx2 que indica un contexto usado en codificación y decodificación por entropía de una segunda bandera de valor crítico, bandera Gtr2, puede determinarse basándose en la siguiente ecuación: ctxldx2=ctxSet*1+c2. Como se ha descrito anteriormente, puesto que c2 es 0, el índice de contexto ctxldx2 que indica un contexto usado en codificación y decodificación por entropía de la segunda bandera de valor crítico, bandera Gtr2, se determina basándose en únicamente un valor de un índice de contexto ctxSet.
La Figura 23 ilustra una pluralidad de conjuntos de contexto aplicados a una unidad de transformación de un componente de luminancia y una pluralidad de contextos incluidos en cada conjunto de contexto de acuerdo con una realización de la presente invención. La Figura 24 ilustra una pluralidad de conjuntos de contexto aplicados a una unidad de transformación de un componente de crominancia y una pluralidad de contextos incluidos en cada conjunto de contexto de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 23, para codificación y decodificación por entropía de una primera bandera de valor crítico, bandera Gtr1, con respecto a un coeficiente de transformación incluido en un subconjunto de componente de luminancia, se usa un contexto incluido en uno cualquiera de un primer conjunto 2310 de contexto, un segundo conjunto 2320 de contexto, un tercer conjunto 2330 de contexto y un cuarto conjunto 2340 de contexto. Diferentes contextos que se incluyen en uno cualquiera de los cuatro conjuntos de contexto pueden distinguirse mediante un desplazamiento de contexto c1 de 0 a 3, como se ilustra en la Figura 23. Por consiguiente, puede determinarse un contexto de entre el total de 16 contextos que se han de aplicar a la primera bandera de valor crítico, bandera Gtr1, de una unidad de transformación de un subconjunto de un componente de luminancia usando un índice de conjunto de contexto ctxset y un desplazamiento de contexto c1. Es decir, un índice de contexto ctxldx1 que indica uno del total de 16 contextos que se han de aplicar a la primera bandera de valor crítico, bandera Gtr1, de una unidad de transformación de un subconjunto de un componente de luminancia puede determinarse mediante la siguiente ecuación: ctxldx1 =ctxSet*4 c1.
De manera similar, cuando se hace referencia a la Figura 24, para codificación y decodificación por entropía de una primera bandera de valor crítico, bandera Gtr1, con respecto a una unidad de transformación incluida en un subconjunto de componente de crominancia, se usa un contexto incluido en uno cualquiera de los conjuntos de contexto de un total de dos conjuntos de contexto, un primer conjunto 2410 de contexto y un segundo conjunto 2420 de contexto. Diferentes contextos incluidos en un conjunto de contexto pueden distinguirse mediante un desplazamiento de contexto c1_chroma de 0 a 3 como se ilustra en la Figura 24. Como se describirá más adelante, un desplazamiento de contexto c1_chroma con respecto a un componente de crominancia puede establecerse de la misma manera que el desplazamiento de contexto c1 con respecto a un componente de luminancia. Un índice de contexto ctxldx1_chroma que indica uno de un total de 8 contextos que se han de aplicar a una primera bandera de valor crítico Gtr1 de un coeficiente de transformación incluido en un subconjunto de un componente de crominancia puede determinarse mediante la siguiente ecuación: ctxldx1_chroma=ctxSet*4 c1_chroma.
La Figura 27A ilustra un índice de conjunto de contexto ctxset para determinar un conjunto de contexto usado en codificación y decodificación por entropía de una primera bandera de valor crítico, bandera Gtr1, y una segunda bandera de valor crítico, bandera Ctr2, de un coeficiente significativo de un componente de luminancia y un coeficiente significativo de un componente de crominancia de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 27A, la unidad 2220 de obtención de conjunto de contexto obtiene un índice de conjunto de contexto ctxset para determinar un conjunto de contexto usado en codificación y decodificación por entropía de una primera bandera de valor crítico, bandera Gtr1, y una segunda bandera de valor crítico, bandera Gtr2, basándose en información de componente de color de una unidad de transformación, información de localización de un subconjunto actual que se está procesando, y si hay coeficientes significativos que tienen un valor mayor que un primer valor crítico en un subconjunto que se ha procesado antes del subconjunto actual.
Por ejemplo, con respecto a un coeficiente de transformación incluido en una unidad de transformación de un componente de luminancia, si no hay coeficiente significativo que tiene un valor mayor que 1, en un subconjunto previamente procesado (NoGreatT1), y cuando se codifica o decodifica por entropía una primera bandera de valor crítico de un coeficiente significativo incluido en un subconjunto localizado en el lado superior de la localización más a la izquierda, se obtiene un primer conjunto de contexto (ctxset=0). Si no hay coeficiente significativo que tiene un valor mayor que 1, en un subconjunto previamente procesado (al menos un GreatT 1), y cuando se codifica o decodifica por entropía una primera bandera de valor crítico de un coeficiente significativo incluido en un subconjunto (subconjunto 0) localizado en el lado superior de la localización más a la izquierda, se obtiene un segundo conjunto de contexto (ctxset=1). Si no hay coeficiente significativo que tiene un valor mayor que 1, en un subconjunto previamente procesado (No GreatT1), y cuando se codifica o decodifica por entropía una primera bandera de valor crítico de un coeficiente significativo incluido en un subconjunto (otros subconjuntos) que no está localizado en el lado superior de la localización más a la izquierda, se obtiene un tercer conjunto de contexto (ctxset=2). También, si hay un coeficiente significativo que tiene un valor mayor que 1, en un subconjunto previamente procesado (al menos un GreatT1), y cuando se codifica o decodifica por entropía una primera bandera de valor crítico de un coeficiente significativo incluido en un subconjunto (otros subconjuntos) que no está localizado en el lado superior de la localización más a la izquierda, se obtiene un cuarto conjunto de contexto (ctxset=3).
Con respecto a un coeficiente de transformación incluido en una unidad de transformación de un componente de crominancia, se obtiene un conjunto de contexto basándose únicamente en si hay un coeficiente significativo que tiene un valor mayor que 1 en un subconjunto previamente procesado. En otras palabras, si no hay coeficiente significativo que tiene un valor mayor que 1 en un subconjunto previamente procesado (No GreatT 1), se obtiene un primer conjunto de contexto (ctxset=0), y si hay un coeficiente significativo que tiene un valor mayor que 1 en un subconjunto previamente procesado (al menos un GreatT1), se obtiene un segundo conjunto de contexto (ctxset=1).
La Figura 27B ilustra un desplazamiento de contexto usado en codificación y decodificación por entropía de una primera bandera de valor crítico, bandera Gtr1, y una segunda bandera de valor crítico, bandera Gtr2, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 27B, para determinar un contexto incluido en un conjunto de contexto usado en codificación y decodificación por entropía de una primera bandera de valor crítico, bandera Gtr1, se obtiene un primer desplazamiento de contexto (c1=0) para coeficientes significativos que tienen un valor mayor que 1 de entre los coeficientes significativos incluidos en un subconjunto. Con respecto a un coeficiente significativo que se procesa la primera vez de entre los coeficientes significativos incluidos en un subconjunto, se obtiene un segundo desplazamiento de contexto (c1=1). Si una longitud de un coeficiente de transformación anterior que tiene 1 consecutivos es 1, se obtiene un tercer desplazamiento de contexto (c1=2). Si una longitud de un coeficiente de transformación anterior que tiene 1 consecutivos es 2 o más, se obtiene un cuarto desplazamiento de contexto (c1=3). Un desplazamiento de contexto c1 puede aplicarse tanto a un componente de luminancia como a un componente de crominancia.
Un desplazamiento de contexto c2 usado en codificación y decodificación por entropía de una segunda bandera de valor crítico, bandera Gtr2, tiene un valor de 0.
Cuando se determina un índice de conjunto de contexto ctxset y un desplazamiento de contexto c1 o c2 para codificación o decodificación por entropía de un coeficiente de transformación incluido en un subconjunto basándose en las tablas de las Figuras 27A y 27B, la unidad 2240 de determinación de contexto determina un índice de contexto ctxldx1 que indica uno del total de 16 contextos que se han de aplicar a la primera bandera de valor crítico, bandera Gtr1, de una unidad de transformación incluida en un subconjunto de un componente de luminancia de acuerdo con la siguiente ecuación: ctxldx1 =ctxSet*4 c1. También, la unidad 2240 de determinación de contexto determina un índice de contexto ctxldx1_chroma que indica uno del total de 8 contextos que se han de aplicar a la primera bandera de valor crítico, bandera Gtr1, de una unidad de transformación incluida en un subconjunto de un componente de crominancia de acuerdo con la siguiente ecuación: ctxldx1_chroma=ctxSet*4 c1. Haciendo referencia a las tablas de las Figuras 27A y 27B, un total de contextos aplicados a la primera bandera de valor crítico, bandera Gtr1, es 24, es decir, 4x4=16 para un componente de luminancia más 2x4=8 para un componente de crominancia.
También, la unidad 2240 de determinación de contexto determina un índice de contexto ctxldx2 que indica un contexto a aplicarse a la segunda bandera de valor crítico, bandera Gtr2, de acuerdo con la siguiente ecuación: ctxldx2=ctxset*1+c2. Es decir, un índice de contexto ctxldx2 que indica un contexto a aplicarse a una segunda bandera de valor crítico, bandera Gtr2, se establece para que sea el mismo que un valor de un índice de conjunto de contexto ctxset. Por consiguiente, haciendo referencia a las tablas de las Figuras 27A y 27B, un total de contextos aplicados a la primera bandera de valor crítico, bandera Gtr1, es 8, es decir, 4 para un componente de luminancia y 4 para un componente de crominancia.
La Figura 25 es un diagrama de flujo que ilustra un procedimiento de determinación de un modelo de contexto para codificación y decodificación por entropía de un nivel de coeficiente de transformación, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 25, en la operación 2510, la unidad 2210 de mapeo divide una unidad de transformación en subconjuntos que tienen una unidad predeterminada y obtiene un coeficiente significativo que se incluye en cada subconjunto y no es 0. Como se ha descrito anteriormente, cuando se realiza codificación por entropía, la unidad 2210 de mapeo puede obtener una localización de un coeficiente significativo desde la información de coeficientes de transformación incluidos en un subconjunto actual. Cuando se realiza decodificación por entropía, la unidad 2210 de mapeo puede obtener una localización de un coeficiente significativo incluido en un subconjunto desde un mapa de significado SigMap.
En la operación 2520, la unidad 2220 de obtención de conjunto de contexto obtiene un índice de conjunto de contexto ctxset para determinar un conjunto de contexto usado en codificación y decodificación por entropía de una primera bandera de valor crítico que indica si un coeficiente significativo de entre una pluralidad de conjuntos de contexto que incluyen una pluralidad de contextos tiene un valor mayor que un primer valor crítico, basándose en información de componente de color de una unidad de transformación, una localización de un primer subconjunto que incluye un coeficiente significativo y se está procesando actualmente, y si hay un valor significativo mayor que un primer valor crítico predeterminado en un segundo subconjunto que se ha procesado antes del primer subconjunto. Como se muestra en la Figuras 27A y 27B, la unidad 2220 de obtención de conjunto de contexto puede obtener un conjunto de contexto ctxset que indica un conjunto de contexto de entre cuatro conjuntos de contexto dependiendo de si la localización de un primer subconjunto es un subconjunto 0 localizado en el lado superior de la posición más a la izquierda, y si hay un coeficiente significativo que tiene un valor mayor que 1 en un subconjunto previamente procesado, con respecto a un coeficiente de transformación incluido en una unidad de transformación de un componente de luminancia. También, la unidad 2220 de obtención de conjunto de contexto puede obtener un conjunto de contexto ctxset que indica uno de dos conjuntos de contexto basándose únicamente en si hay un coeficiente significativo que tiene un valor mayor que 1 en un subconjunto previamente procesado, con respecto a un coeficiente de transformación incluido en una unidad de transformación de un componente de crominancia.
En la operación 2530, la unidad 2230 de obtención de desplazamiento de contexto obtiene un desplazamiento de contexto para determinar uno de una pluralidad de contextos incluidos en un conjunto de contexto usado en codificación o decodificación por entropía de la primera bandera de valor crítico, bandera Gtr1, basándose en una longitud de un coeficiente de transformación anterior que tiene 1 consecutivos. Como se ha descrito anteriormente, la unidad 2230 de obtención de desplazamiento de contexto puede determinar un desplazamiento de contexto c1 basándose en una longitud del coeficiente de transformación anterior de 1 consecutivos antes de un coeficiente significativo actual que se ha procesado mientras se están procesando coeficientes significativos incluidos en el subconjunto actual de acuerdo con un orden de exploración predeterminado. La unidad 2230 de obtención de desplazamiento de contexto puede establecer un desplazamiento de contexto c2 que se usa en codificación y decodificación por entropía de una segunda bandera de valor crítico, bandera Gtr2, para que siempre tenga un valor de 0 sin tener que considerar otros parámetros.
En la operación 2540, la unidad 2240 de determinación de contexto obtiene un índice de contexto ctxldx1 que indica un contexto usado en codificación y decodificación por entropía de una primera bandera de valor crítico, bandera Gtr1, usando un índice de conjunto de contexto ctxset y un desplazamiento de contexto c1. Como se ha descrito anteriormente, cuando se supone que un índice de conjunto de contexto ctxSet que indica uno de n conjuntos de contexto son números enteros de 0 a (n-1), y un desplazamiento de contexto c1 que indica uno de m desplazamientos de contexto es un número entero de 0 a (m-1), la unidad 2240 de determinación de contexto puede determinar un índice de contexto ctxldx1 que indica uno de n*m contextos de acuerdo con la siguiente ecuación: ctxldx1 =ctxSet*m c1. También, la unidad 2240 de determinación de contexto puede determinar un índice de contexto ctxldx2 que indica un contexto usado en codificación y decodificación por entropía de una segunda bandera de valor crítico, bandera Gtr2, de acuerdo con la siguiente ecuación: ctxldx2=ctxSet*1+c2. Puesto que c2 es 0, el índice de contexto ctxldx2 que indica un contexto usado en codificación y decodificación por entropía de la segunda bandera de valor crítico, bandera Gtr2, se determina basándose únicamente en un valor de un índice de contexto ctxSet.
La Figura 26 es un diagrama de flujo detallado que ilustra un procedimiento de determinación de un modelo de contexto para codificación y decodificación por entropía de un nivel de coeficiente de transformación, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 26, en la operación 2611, la unidad 2210 de mapeo divide una unidad de transformación en subconjuntos que tienen un tamaño predeterminado y obtiene un coeficiente significativo que se incluye en cada subconjunto y no es 0.
En la operación 2612, la unidad 2220 de obtención de conjunto de contexto determina un índice de conjunto de contexto ctxset basándose en una localización de un subconjunto actual e información de componente de color de entre los parámetros que se usan al determinar un conjunto de contexto. Por ejemplo, cuando un subconjunto actual es un subconjunto 0 localizado en el lado superior de la posición más a la izquierda de una unidad de transformación o un componente de crominancia, ctxset se establece a 0, y si el subconjunto actual no es un subconjunto localizado en el lado superior de la posición más a la izquierda de una unidad de transformación y es un componente de luminancia, ctxset se establece a 2.
En la operación 2613, la unidad 2220 de obtención de conjunto de contexto determina si hay un coeficiente significativo que tiene un valor mayor que un primer valor crítico en un subconjunto anterior que se ha procesado justo antes de un subconjunto actual. Como resultado de la determinación en la operación 2613, si hay un coeficiente significativo que tiene un valor mayor que un primer valor crítico en un subconjunto anterior, la unidad 2220 de obtención de conjunto de contexto aumenta un valor del índice de conjunto de contexto ctxset establecido en la operación 2612 en 1; de otra manera, si no hay coeficiente significativo que tiene un valor mayor que el primer valor crítico en un subconjunto anterior, la unidad 2200 de obtención de conjunto de contexto mantiene el valor del índice de conjunto de contexto ctxset establecido en la operación 2612.
En la operación 2615, la unidad 2230 de obtención de desplazamiento de contexto establece un valor del desplazamiento de contexto c1 a aplicarse a una primera bandera de valor crítico, bandera Gtr1, de un coeficiente significativo de un subconjunto actual que se ha procesado la primera vez.
En la operación 2616, la unidad 2240 de determinación de contexto obtiene un índice de contexto ctxldx1 que indica un contexto a aplicarse a una primera bandera de valor crítico, bandera Gtr1, de acuerdo con la siguiente ecuación: ctxldx1 =ctxset*4 min(c1, 3). La ecuación se basa en las Figuras 27A y 27B, y se determina una longitud de un coeficiente de transformación que tiene 1 consecutivos en la operación 2620, y el índice de desplazamiento de contexto c1 puede tener un valor de 3 o mayor si al menos tres primeras banderas de valor crítico, bandera Gtr1, continúan. Sin embargo, haciendo referencia a la Figura 27B, como un índice de desplazamiento de contexto c1 se establece para que tenga un valor de 2 para al menos dos 1 consecutivos, se usa min(c1,3) para limitar el índice de desplazamiento de contexto c1 para que no sea mayor que 3.
En la operación 2617, el motor 2132 de codificación regular y el motor 2170 de decodificación regular codifican o decodifican por entropía la primera bandera de valor crítico, bandera Gtr1, basándose en un modelo de contexto indicado mediante el índice de contexto obtenido ctxldx1.
En la operación 2618, la unidad 2230 de obtención de desplazamiento de contexto determina si una primera bandera de valor crítico, bandera Gtr1, que se está codificando o decodificando actualmente, tiene un valor de 0 y si un índice de desplazamiento de contexto c1 es o no 0. La operación de determinación de la operación 2618 se realiza para determinar el número de 1 consecutivos de entre los coeficientes significativos. Como resultado de la determinación en la operación 2618, si una primera bandera de valor crítico actualmente codificada o decodificada, bandera Gtr1, tiene un valor de 0 y el índice de desplazamiento de contexto c1 no es 0, el índice de desplazamiento de contexto c1 se aumenta en 1 en la operación 2620. Como resultado de la determinación de la operación 2618, de otra manera, si la primera bandera de valor crítico actualmente codificada o decodificada, bandera Gtr1, no tiene un valor de 0 o el índice de desplazamiento de contexto c1 es 0, el índice de desplazamiento de contexto c1 se resetea a 1 en la operación 2619.
Las operaciones 2615 a 2620 son operaciones de codificación o decodificación por entropía de una primera bandera de valor crítico, bandera Gtr1, de un coeficiente de transformación incluido en un subconjunto. Para acelerar las operaciones, en lugar de codificar o decodificar por entropía una primera bandera de valor crítico, bandera Gtr1, con respecto a cada coeficiente significativo, únicamente puede codificarse o decodificarse por entropía una primera bandera de valor crítico, bandera Gtr1, para únicamente un número predeterminado (N. °) de coeficientes significativos desde el último coeficiente significativo (bucle máximo N. °). La información de nivel de un coeficiente significativo cuya primera bandera de valor crítico correspondiente, bandera Gtr1, no se codifica o decodifica por entropía se codifica o decodifica por entropía por sí misma.
En las operaciones 2621 a 2624, una segunda bandera de valor crítico, bandera Gtr2, se codifica o decodifica por entropía.
En la operación 2621, se determina si un valor de un índice de desplazamiento de contexto c1 es o no 0. En la operación 2622, un índice de contexto ctxldx2 que indica un contexto a aplicarse para codificación o decodificación por entropía de una segunda bandera de valor crítico, bandera Gtr2, se establece para que sea el mismo que el índice de conjunto de contexto ctxset que se determina cuando se realiza codificación y decodificación por entropía de la primera bandera de valor crítico, bandera Gtr1.
En la operación 2623, el motor 2132 de codificación regular y el motor 2170 de decodificación regular codifican o decodifican por entropía una segunda bandera de valor crítico, bandera Gtr2, basándose en un modelo de contexto indicado por el índice de contexto obtenido ctxldx2.
En la operación 2624, el motor 2132 de codificación regular y el motor 2170 de decodificación regular codifican o decodifican por entropía niveles de coeficientes de transformación que tienen un valor mayor que un segundo valor crítico. Como se ha descrito anteriormente, un valor de nivel (nivel 3) obtenido restando un valor predeterminado desde un coeficiente de transformación correspondiente puede codificarse o decodificarse por entropía.
La Figura 28 ilustra una tabla que incluye coeficientes de transformación incluidos en un subconjunto de la Figura 20 e índices de desplazamiento de contexto c1 usados en codificación o decodificación por entropía de información de coeficiente de transformación que se codifica o decodifica por entropía, de acuerdo con una realización de la presente invención. Como se ha descrito anteriormente, el índice de desplazamiento de contexto c1 se determina basándose en una longitud de un coeficiente de transformación que tiene un valor continuo de 1 y se supone que se obtiene de acuerdo con la Figura 27B. También, en la Figura 28, el orden de procesamiento de cada coeficiente de transformación se supone que es de izquierda a derecha.
También, en este punto, se supone que el índice de conjunto de contexto ctxset para codificación y decodificación por entropía de una primera bandera de valor crítico, bandera Gtr1, y la segunda bandera de valor crítico, bandera Gtr2, no se determina basándose en información acerca de un coeficiente de transformación incluido en un subconjunto actual sino basándose en información de componente de color de una unidad de transformación, una localización del subconjunto actual, y si hay un coeficiente significativo que tiene un valor mayor que un primer valor crítico en un subconjunto que se ha procesado antes del subconjunto actual.
Haciendo referencia a la Figura 28, un último coeficiente (2810) significativo de 1 de un subconjunto que se procesa inicialmente no es mayor que 1, y por lo tanto la primera bandera de valor crítico, bandera Gtr1, tiene un valor de 0. Haciendo referencia a la Figura 27B, un desplazamiento de contexto c1 con respecto a la primera bandera de valor crítico, bandera Gtr1, de un coeficiente significativo inicialmente procesado se establece a 1.
A continuación, el desplazamiento de contexto c1 con respecto a la primera bandera de valor crítico, bandera Gtr1, de un siguiente coeficiente significativo del último coeficiente (2810) significativo tiene un valor de 2. Esto es debido a que hay previamente el coeficiente (2810) significativo que tiene un valor de 1. De manera similar, el desplazamiento de contexto c1 con respecto a la primera bandera de valor crítico, bandera Gtr1, de un siguiente coeficiente 2830 significativo tiene un valor de 3. Esto es debido a que hay previamente dos coeficientes significativos (2810 y 2820) que tienen dos 1 consecutivos.
Como la primera bandera de valor crítico, bandera Gtr1, del coeficiente (2830) de transformación significativo tiene un valor de 1, el desplazamiento de contexto c1 con respecto a la primera bandera de valor crítico, bandera Gtr1, de todos los coeficientes significativos después del coeficiente (2380) significativo tienen un valor de 0. Esto es debido a que, si la primera bandera de valor crítico, bandera Gtr1, tiene un valor de 1 como resultado de la determinación en la operación 2618 de la Figura 26, el desplazamiento de contexto c1 se establece a 0 de acuerdo con la operación 2619, y por lo tanto el desplazamiento de contexto c1 con respecto a todos los coeficientes significativos posteriores se establece a 0.
La Figura 29 ilustra una tabla que incluye coeficientes de transformación incluidos en un subconjunto e índices de desplazamiento de contexto c1 usados en codificación o decodificación por entropía de información de coeficiente de transformación que se codifica o decodifica por entropía, de acuerdo con una realización de la presente invención. Comparando las Figuras 28 y 29, la Figura 29 es diferente de la Figura 28 en que un último coeficiente (2910) significativo tiene un valor de 2, y por lo tanto la primera bandera de valor crítico, bandera Gtr1, tiene un valor de 1. Como se ha descrito anteriormente, el desplazamiento de contexto c1 con respecto a la primera bandera de valor crítico Gtr1 del coeficiente 2910 significativo que se ha procesado inicialmente se establece a 1, y el desplazamiento de contexto c1 con respecto a la primera bandera de valor crítico GTR1 de todos los coeficientes significativos después del coeficiente (2910) significativo tiene un valor de 0.
De acuerdo con el procedimiento y aparato para determinar un modelo de contexto anteriormente descrito, se obtiene un índice de conjunto de contexto ctxset basándose en información de componente de color de una unidad de transformación, una localización de un subconjunto actual, y si hay un coeficiente significativo que tiene un valor mayor que un primer valor crítico en un subconjunto que se ha procesado antes del subconjunto actual, y se obtiene un desplazamiento de contexto c1 basándose en una longitud de un coeficiente de transformación anterior que tiene 1 consecutivos.
Las normas para determinar un índice de contexto o un desplazamiento de contexto no están limitadas a las realizaciones de la presente invención y pueden modificarse también.
Por ejemplo, como se ilustra en la Tabla 2, un desplazamiento de contexto c1 puede establecerse agrupando casos donde las probabilidades son similares.
Tabla 2
Figure imgf000026_0001
Cuando se compara la Tabla 2 y la Figura 27B, la Tabla 2 muestra un coeficiente de transformación continua y dos coeficientes de transformación continua que están agrupados en un mismo grupo a mapearse en un contexto. También, el conjunto de contexto puede agruparse basándose en el número de coeficientes significativos iguales o mayores que 1 incluidos en un subconjunto anterior para establecer un índice de conjunto de contexto ctxset como se muestra en la Tabla 3.
Tabla 3
Figure imgf000027_0001
Además, un índice de conjunto de contexto ctxset puede establecerse como se muestra en las Tablas 4 a 6 a continuación basándose en el tipo de un segmento en el que se incluye una unidad de transformación actual, una localización de un subconjunto actual, y el número de coeficientes de transformación que tienen un valor igual o mayor que un valor crítico predeterminado en un subconjunto anterior.
Tabla 4
Figure imgf000027_0002
Haciendo referencia a la Tabla 4, por ejemplo, cuando se codifica o decodifica coeficientes de transformación incluidos en un subconjunto de una unidad de transformación incluida en un segmento I, uno de 0 a 5 puede establecerse como un valor de un índice de conjunto de contexto ctxset basándose en una localización de un subconjunto actual, si el número de un coeficiente de transformación que tiene un valor igual o mayor que un valor crítico predeterminado T1 en un subconjunto anterior es 0, 1 a 4, o mayor que 4.
Tabla 5
Figure imgf000027_0003
Haciendo referencia a la Tabla 5, por ejemplo, cuando se codifica o decodifica por entropía coeficientes de transformación incluidos en un subconjunto de una unidad de transformación incluida en un segmento P, uno de 0 a 5 puede establecerse como un valor de un índice de conjunto de contexto ctxset basándose en una localización de un subconjunto actual, si el número de un coeficiente de transformación que tiene un valor igual o mayor que un valor crítico predeterminado T1 en un subconjunto anterior es 0, 1 a 3, o mayor que 3.
Tabla 6
Figure imgf000027_0004
continuación
Figure imgf000028_0001
Haciendo referencia a la Tabla 6, por ejemplo, cuando se codifica o decodifica por entropía coeficientes de transformación incluidos en un subconjunto de una unidad de transformación incluida en un segmento B, uno de 0 a 5 puede establecerse como un valor de un índice de conjunto de contexto ctxset basándose en una localización de un subconjunto actual, si el número de un coeficiente de transformación que tiene un valor igual o mayor que un valor crítico predeterminado T1 en un subconjunto anterior es 0, 1 o 2, o mayor que 2.
Las realizaciones de la presente invención se pueden escribir como programas informáticos y pueden implementarse en ordenadores digitales de uso general que ejecutan los programas usando un medio de grabación legible por ordenador. Los ejemplos de medio de grabación legible por ordenador pueden incluir medios de almacenamiento magnéticos (por ejemplo, ROM, disquetes, discos duros, etc.) y medios de grabación ópticos (por ejemplo, CD-ROM o DVD).
Mientras que la presente invención se ha mostrado y descrito particularmente con referencia a realizaciones de ejemplo de la misma, se entenderá por los expertos en la materia que se pueden realizar en la misma diversos cambios en la forma y en los detalles sin alejarse del alcance de la presente invención según lo definido en las siguientes reivindicaciones.

Claims (3)

REIVINDICACIONES
1. Un aparato para determinación de un modelo de contexto para decodificación por entropía de un nivel de coeficiente de transformación, comprendiendo el aparato:
una unidad (2210) de mapeo, configurada para dividir una unidad de transformación en subconjuntos que tienen un tamaño predeterminado;
una unidad (2220) de obtención de conjunto de contexto, configurada para obtener un índice de conjunto de contexto usado en decodificación por entropía de una primera bandera de valor crítico que indica si un coeficiente de transformación significativo contenido en un subconjunto actual tiene un valor mayor que un primer valor crítico; una unidad (2230) de obtención de desplazamiento de contexto, configurada para obtener un desplazamiento de contexto usado en decodificación por entropía de la primera bandera de valor crítico para un coeficiente significativo actual en base al número de coeficientes de transformación anteriores que tienen 1 consecutivos incluidos en un subconjunto actual cuando el coeficiente significativo actual no está decodificado por entropía inicialmente en el subconjunto actual y los coeficientes de transformación anteriores que tienen 1 consecutivos se decodifican antes del coeficiente significativo actual, de acuerdo con un orden de exploración del subconjunto actual; y una unidad (2240) de determinación de contexto, configurada para obtener un índice de contexto que indica un contexto usado en decodificación por entropía de la primera bandera de valor crítico usando el índice de conjunto de contexto y el desplazamiento de contexto,
en el que en el que, el índice de conjunto de contexto se obtiene aún más basándose en si existe un coeficiente significativo que tiene un valor superior a 1 en un subconjunto previamente procesado,
caracterizado porque:
cuando un componente de color de la unidad de transformación es un componente de luminancia, el índice de conjunto de contexto de la primera bandera de valor crítico se obtiene basándose en la información de ubicación del subconjunto actual que indica en qué ubicación se encuentra el subconjunto actual en la unidad de transformación, y
cuando el componente de color de la unidad de transformación es un componente de crominancia, el índice de conjunto de contexto se obtiene independientemente de la información de ubicación del subconjunto actual.
2. Un método de determinación de un modelo de contexto para la codificación de entropía de un nivel de coeficiente de transformación, comprendiendo el procedimiento:
determinar (2510) subconjuntos con un tamaño predeterminado en una unidad de transformación;
obtener (2520) un índice de conjunto de contexto utilizado en la codificación de entropía de una primera bandera de valor crítico que indica si un coeficiente de transformación significativo contenido en un subconjunto actual tiene un valor mayor que un primer valor crítico; obtención (2530) de un desplazamiento de contexto utilizado en la codificación de entropía de la primera bandera de valor crítico para un coeficiente significativo actual basándose en el número de coeficientes de transformación anteriores que tienen 1s consecutivos incluidos en un subconjunto actual cuando el coeficiente significativo actual no está codificado inicialmente en el subconjunto actual y los coeficientes de transformación anteriores que tienen 1s consecutivos se codifican antes del coeficiente significativo actual, de acuerdo con un orden de escaneo del subconjunto actual; y
obtener (2540) un índice de contexto que indica un contexto utilizado en la codificación de entropía de la primera bandera de valor crítico usando el índice de conjunto de contexto y el desplazamiento de contexto,
en el que, el índice de conjunto de contexto se obtiene aún más basándose en si existe un coeficiente significativo que tiene un valor superior a 1 en un subconjunto previamente procesado,
caracterizado porque:
cuando un componente de color de la unidad de transformación es un componente de luminancia, el índice de conjunto de contexto de la primera bandera de valor crítico se obtiene en base a la información de localización del subconjunto actual que indica en qué localización está localizado el subconjunto actual en la unidad de transformación, y
cuando el componente de color de la unidad de transformación es un componente de crominancia, el índice de conjunto de contexto se obtiene independientemente de la información de localización del subconjunto actual.
3. Un aparato para determinar un modelo de contexto para la codificación de entropía de un nivel de coeficiente de transformación, comprendiendo el aparato:
unidad de asignación (2210) configurada para determinar subconjuntos que tienen un tamaño predeterminado en una unidad de transformación; unidad de obtención de conjunto de contextos (2220) configurada para obtener un índice de conjunto de contexto utilizado en la codificación de entropía de una primera bandera de valor crítico que indica si un coeficiente de transformación significativo contenido en un subconjunto actual tiene un valor mayor que un primer valor crítico;
unidad de obtención de desplazamiento de contexto (2230) configurada para obtener un desplazamiento de contexto utilizado en la codificación de entropía de la primera bandera de valor crítico para un coeficiente significativo actual basándose en el número de coeficientes de transformación anteriores que tienen 1s consecutivos incluidos en un subconjunto actual cuando el coeficiente significativo actual no está codificado inicialmente en el subconjunto actual y los coeficientes de transformación anteriores que tienen 1s consecutivos se codifican antes del coeficiente significativo actual, de acuerdo con un orden de escaneo del subconjunto actual; y
unidad de determinación de contexto (2240) configurada para obtener un índice de contexto que indica un contexto utilizado en la codificación de entropía de la primera bandera de valor crítico usando el índice de conjunto de contexto y el desplazamiento de contexto,
en el que, el índice de conjunto de contexto se obtiene aún más basándose en si existe un coeficiente significativo que tiene un valor superior a 1 en un subconjunto previamente procesado,
caracterizado porque:
cuando un componente de color de la unidad de transformación es un componente de luminancia, el índice de conjunto de contexto de la primera bandera de valor crítico se obtiene basándose en la información de ubicación del subconjunto actual que indica en qué ubicación se encuentra el subconjunto actual en la unidad de transformación, y
cuando el componente de color de la unidad de transformación es un componente de crominancia, el índice de conjunto de contexto se obtiene independientemente de la información de ubicación del subconjunto actual.
ES18178662T 2011-10-31 2012-10-31 Procedimiento y aparato para determinar un modelo de contexto para codificación por entropía de nivel de coeficiente de transformación Active ES2868087T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161553668P 2011-10-31 2011-10-31
US201261671955P 2012-07-16 2012-07-16

Publications (1)

Publication Number Publication Date
ES2868087T3 true ES2868087T3 (es) 2021-10-21

Family

ID=48192343

Family Applications (4)

Application Number Title Priority Date Filing Date
ES16197057.9T Active ES2682991T3 (es) 2011-10-31 2012-10-31 Procedimiento de determinación de un modelo de contexto para decodificación por entropía de nivel de coeficiente de transformación
ES12845496.4T Active ES2608157T3 (es) 2011-10-31 2012-10-31 Procedimiento y aparato de determinación de un modelo de contexto para codificación y decodificación por entropía de nivel de coeficiente de transformación
ES16197055.3T Active ES2684480T3 (es) 2011-10-31 2012-10-31 Procedimiento y aparato para determinar un modelo de contexto para codificación y decodificación por entropía de nivel de coeficiente de transformación
ES18178662T Active ES2868087T3 (es) 2011-10-31 2012-10-31 Procedimiento y aparato para determinar un modelo de contexto para codificación por entropía de nivel de coeficiente de transformación

Family Applications Before (3)

Application Number Title Priority Date Filing Date
ES16197057.9T Active ES2682991T3 (es) 2011-10-31 2012-10-31 Procedimiento de determinación de un modelo de contexto para decodificación por entropía de nivel de coeficiente de transformación
ES12845496.4T Active ES2608157T3 (es) 2011-10-31 2012-10-31 Procedimiento y aparato de determinación de un modelo de contexto para codificación y decodificación por entropía de nivel de coeficiente de transformación
ES16197055.3T Active ES2684480T3 (es) 2011-10-31 2012-10-31 Procedimiento y aparato para determinar un modelo de contexto para codificación y decodificación por entropía de nivel de coeficiente de transformación

Country Status (21)

Country Link
US (5) US9414088B2 (es)
EP (5) EP3846479B1 (es)
JP (5) JP5934376B2 (es)
KR (6) KR101598142B1 (es)
CN (5) CN107465933B (es)
AU (1) AU2012333301B2 (es)
CA (2) CA2854074C (es)
CY (3) CY1118368T1 (es)
DK (3) DK3145197T3 (es)
ES (4) ES2682991T3 (es)
HR (3) HRP20161726T1 (es)
HU (3) HUE054305T2 (es)
IN (1) IN2014MN00900A (es)
LT (3) LT2773109T (es)
PL (5) PL3399760T3 (es)
PT (3) PT3166317T (es)
RS (3) RS55403B1 (es)
SI (3) SI3145197T1 (es)
TR (1) TR201811137T4 (es)
TW (4) TWI629895B (es)
WO (1) WO2013066051A1 (es)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10091529B2 (en) * 2010-07-09 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding/decoding a transform coefficient
US10805617B2 (en) * 2012-01-19 2020-10-13 Texas Instruments Incorporated Scalable prediction type coding
US9621921B2 (en) 2012-04-16 2017-04-11 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
SG11201408361TA (en) * 2012-06-22 2015-01-29 Panasonic Ip Corp America Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
WO2014103182A1 (ja) * 2012-12-27 2014-07-03 日本電気株式会社 映像符号化装置、映像符号化方法および映像符号化プログラム
US9225988B2 (en) 2013-05-30 2015-12-29 Apple Inc. Adaptive color space transform coding
US9225991B2 (en) * 2013-05-30 2015-12-29 Apple Inc. Adaptive color space transform coding
KR20160132891A (ko) * 2014-03-13 2016-11-21 퀄컴 인코포레이티드 3d 비디오 코딩에 대한 제약된 깊이 인트라 모드 코딩
US9781424B2 (en) * 2015-01-19 2017-10-03 Google Inc. Efficient context handling in arithmetic coding
US9936201B2 (en) * 2015-01-27 2018-04-03 Qualcomm Incorporated Contexts for large coding tree units
US11233998B2 (en) 2015-05-29 2022-01-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
EP3280143A1 (en) * 2016-08-04 2018-02-07 Thomson Licensing A method and an apparatus for image block encoding and decoding
WO2018190595A1 (ko) * 2017-04-13 2018-10-18 엘지전자(주) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
US10869060B2 (en) * 2018-01-30 2020-12-15 Google Llc Efficient context model computation design in transform coefficient coding
WO2019199838A1 (en) * 2018-04-12 2019-10-17 Futurewei Technologies, Inc. Reducing context switching for coding transform coefficients
US11006150B2 (en) * 2018-09-24 2021-05-11 Tencent America LLC Method and apparatus for video coding
WO2020135371A1 (zh) * 2018-12-24 2020-07-02 华为技术有限公司 一种标志位的上下文建模方法及装置
CN109672690B (zh) * 2019-01-29 2021-02-19 哈尔滨工业大学 一种针对数据幅值范围已知的数据流进行编码的方法
US11949870B2 (en) * 2019-06-21 2024-04-02 Qualcomm Incorporated Context modeling for low-frequency non-separable transformation signaling for video coding
US20220408087A1 (en) * 2019-09-23 2022-12-22 Kt Corporation Method and device for processing video signal

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195465B1 (en) * 1994-09-21 2001-02-27 Ricoh Company, Ltd. Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
US7929610B2 (en) * 2001-03-26 2011-04-19 Sharp Kabushiki Kaisha Methods and systems for reducing blocking artifacts with reduced complexity for spatially-scalable video coding
ATE352826T1 (de) 2002-05-02 2007-02-15 Fraunhofer Ges Forschung Arithmetische codierung von transformationskoeffizienten
US7167522B2 (en) * 2003-02-27 2007-01-23 Texas Instruments Incorporated Video deblocking filter
AU2004245061A1 (en) * 2003-06-02 2004-12-16 Warsaw Orthopedic, Inc. Intervertebral disc implants and methods for manufacturing and using same
US20060078049A1 (en) * 2004-10-13 2006-04-13 Nokia Corporation Method and system for entropy coding/decoding of a video bit stream for fine granularity scalability
US20060153294A1 (en) * 2005-01-12 2006-07-13 Nokia Corporation Inter-layer coefficient coding for scalable video coding
KR100636229B1 (ko) 2005-01-14 2006-10-19 학교법인 성균관대학 신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치
WO2006075901A1 (en) 2005-01-14 2006-07-20 Sungkyunkwan University Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding
KR100703776B1 (ko) * 2005-04-19 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 컨텍스트 기반 적응적 산술 코딩및 디코딩 방법과 이를 위한 장치, 이를 포함하는 비디오코딩 및 디코딩 방법과 이를 위한 장치
KR100763181B1 (ko) * 2005-04-19 2007-10-05 삼성전자주식회사 기초계층과 향상계층의 데이터를 바탕으로 예측 정보를코딩하여 코딩율을 향상시키는 방법 및 장치
KR100746007B1 (ko) 2005-04-19 2007-08-06 삼성전자주식회사 엔트로피 코딩의 컨텍스트 모델을 적응적으로 선택하는방법 및 비디오 디코더
US20090034857A1 (en) * 2005-07-22 2009-02-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
CN100403801C (zh) * 2005-09-23 2008-07-16 联合信源数字音视频技术(北京)有限公司 一种基于上下文的自适应熵编/解码方法
KR100873636B1 (ko) 2005-11-14 2008-12-12 삼성전자주식회사 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치
CN100488254C (zh) * 2005-11-30 2009-05-13 联合信源数字音视频技术(北京)有限公司 一种基于上下文的熵编码方法及解码方法
US8275045B2 (en) * 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
KR100809301B1 (ko) 2006-07-20 2008-03-04 삼성전자주식회사 엔트로피 부호화/복호화 방법 및 장치
KR101356733B1 (ko) 2007-03-07 2014-02-05 삼성전자주식회사 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
CN100571391C (zh) * 2007-05-09 2009-12-16 安凯(广州)软件技术有限公司 用于视频编解码系统中解块滤波的并行处理方法
US8488668B2 (en) 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US9521433B2 (en) * 2007-09-06 2016-12-13 Nec Corporation Video encoding device, video decoding device, video encoding method, video decoding method, video encoding or decoding program
KR101487686B1 (ko) 2009-08-14 2015-01-30 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
LT3691267T (lt) * 2010-04-13 2022-05-10 Ge Video Compression, Llc Reikšmingumo schemų ir transformacijos koeficientų blokų kodavimas
PL2559166T3 (pl) 2010-04-13 2018-04-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Koder i dekoder dzielący interwał prawdopodobieństwa
KR20120038355A (ko) 2010-10-13 2012-04-23 삼성전자주식회사 계층 구조의 영상 처리를 위한 엔트로피 인코딩/디코딩 방법 및 장치와 이를 위한 심볼 인코딩/디코딩 방법 및 장치
US8532413B2 (en) 2010-10-13 2013-09-10 Samsung Electronics Co., Ltd. Entropy encoding/decoding method and apparatus for hierarchical image processing and symbol encoding/decoding apparatus for the same
US20130003858A1 (en) * 2011-06-30 2013-01-03 Vivienne Sze Simplified Context Selection For Entropy Coding of Transform Coefficient Syntax Elements
US9807426B2 (en) 2011-07-01 2017-10-31 Qualcomm Incorporated Applying non-square transforms to video data
CN102447908B (zh) * 2012-01-31 2014-01-08 北京工业大学 一种面向hevc参数编码的上下文简化方法

Also Published As

Publication number Publication date
CN104041052B (zh) 2017-11-14
KR101598142B1 (ko) 2016-02-26
US9414088B2 (en) 2016-08-09
KR101598147B1 (ko) 2016-02-26
TW201330631A (zh) 2013-07-16
HUE031315T2 (en) 2017-07-28
HRP20181317T1 (hr) 2018-10-19
KR20150060620A (ko) 2015-06-03
RS55403B1 (sr) 2017-04-28
CA3016926C (en) 2020-03-10
JP2016174387A (ja) 2016-09-29
LT3166317T (lt) 2018-09-10
KR20130047676A (ko) 2013-05-08
TWI629895B (zh) 2018-07-11
JP6208827B2 (ja) 2017-10-04
PL3145197T3 (pl) 2018-10-31
LT3145197T (lt) 2018-08-27
PT2773109T (pt) 2016-12-22
US9521430B2 (en) 2016-12-13
US20150215645A1 (en) 2015-07-30
AU2012333301B2 (en) 2015-01-15
US20140269928A1 (en) 2014-09-18
CN107465933B (zh) 2020-05-26
KR20150060623A (ko) 2015-06-03
PT3145197T (pt) 2018-08-10
JP6595679B2 (ja) 2019-10-23
CY1118368T1 (el) 2017-06-28
JP2019017083A (ja) 2019-01-31
JP6401357B2 (ja) 2018-10-10
US20150215647A1 (en) 2015-07-30
HUE040408T2 (hu) 2019-03-28
US9307263B2 (en) 2016-04-05
CN107734348A (zh) 2018-02-23
TW201830962A (zh) 2018-08-16
KR101598145B1 (ko) 2016-02-26
JP2018023132A (ja) 2018-02-08
CY1121004T1 (el) 2019-12-11
CN104041052A (zh) 2014-09-10
CN107529060A (zh) 2017-12-29
EP2773109A4 (en) 2015-05-06
TW201713117A (zh) 2017-04-01
US9532072B2 (en) 2016-12-27
TR201811137T4 (tr) 2018-08-27
SI3145197T1 (sl) 2018-09-28
PL3399760T3 (pl) 2021-07-19
JP2017017723A (ja) 2017-01-19
IN2014MN00900A (es) 2015-04-17
US20150215646A1 (en) 2015-07-30
JP5934376B2 (ja) 2016-06-15
RS57600B1 (sr) 2018-11-30
US20150215644A1 (en) 2015-07-30
TWI692243B (zh) 2020-04-21
ES2608157T3 (es) 2017-04-06
KR101598146B1 (ko) 2016-02-26
EP3399760B1 (en) 2021-04-07
EP3145197B1 (en) 2018-08-01
EP3846479A1 (en) 2021-07-07
EP2773109B1 (en) 2016-12-14
KR20150060621A (ko) 2015-06-03
TWI574550B (zh) 2017-03-11
DK3145197T3 (en) 2018-08-13
EP3145197A1 (en) 2017-03-22
HUE054305T2 (hu) 2021-08-30
SI2773109T1 (sl) 2017-01-31
PT3166317T (pt) 2018-10-08
CA2854074A1 (en) 2013-05-10
AU2012333301A1 (en) 2014-06-12
PL2773109T3 (pl) 2017-04-28
HRP20161726T1 (hr) 2017-03-10
PL3166317T3 (pl) 2018-10-31
RS57491B1 (sr) 2018-10-31
HRP20181249T1 (hr) 2018-10-05
CA2854074C (en) 2018-10-23
CN107465934A (zh) 2017-12-12
EP3166317B1 (en) 2018-08-15
EP2773109A1 (en) 2014-09-03
KR20150060624A (ko) 2015-06-03
KR101635115B1 (ko) 2016-06-30
CN107465934B (zh) 2020-06-26
US9503752B2 (en) 2016-11-22
DK3166317T3 (en) 2018-08-27
CN107529060B (zh) 2020-04-21
EP3846479B1 (en) 2024-07-03
LT2773109T (lt) 2017-01-10
KR101915253B1 (ko) 2018-11-05
DK2773109T3 (da) 2017-01-09
PL3846479T3 (pl) 2024-08-19
KR20150060622A (ko) 2015-06-03
EP3166317A1 (en) 2017-05-10
CN107734348B (zh) 2020-03-24
WO2013066051A1 (ko) 2013-05-10
SI3166317T1 (sl) 2018-10-30
ES2682991T3 (es) 2018-09-24
EP3399760A1 (en) 2018-11-07
CY1120998T1 (el) 2019-12-11
JP2014534768A (ja) 2014-12-18
TW201631965A (zh) 2016-09-01
CN107465933A (zh) 2017-12-12
CA3016926A1 (en) 2013-05-10
ES2684480T3 (es) 2018-10-03
JP5992644B1 (ja) 2016-09-14

Similar Documents

Publication Publication Date Title
ES2868087T3 (es) Procedimiento y aparato para determinar un modelo de contexto para codificación por entropía de nivel de coeficiente de transformación
ES2816059T3 (es) Procedimiento y aparato para la codificación de vídeo, correspondiente procedimiento para la decodificación de vídeo, vídeo acompañado de decodificación aritmética y señalización de coeficiente significativo en dos dimensiones
ES2770609T3 (es) Codificación por entropía de un vídeo y decodificación por entropía de un vídeo
ES2706484T3 (es) Procedimiento de decodificación de vídeo teniendo en cuenta el orden de exploración de unidades de codificación que tienen estructura jerárquica
ES2793963T3 (es) Procedimiento de codificación y dispositivo de vídeo usando unidad de datos de estructura jerárquica, y procedimiento de decodificación y dispositivo del mismo
ES2949651T3 (es) Procedimiento de descodificación de vídeo que utiliza la actualización de parámetros para la desbinarización del coeficiente de transformación codificado con entropía, aparato de codificación que utiliza el mismo para la binarización
AU2015201781B2 (en) Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding