MX2015000134A - Metodo y aparato para codificar video por entropia, y metodo y aparato para decodificar video por entropia. - Google Patents

Metodo y aparato para codificar video por entropia, y metodo y aparato para decodificar video por entropia.

Info

Publication number
MX2015000134A
MX2015000134A MX2015000134A MX2015000134A MX2015000134A MX 2015000134 A MX2015000134 A MX 2015000134A MX 2015000134 A MX2015000134 A MX 2015000134A MX 2015000134 A MX2015000134 A MX 2015000134A MX 2015000134 A MX2015000134 A MX 2015000134A
Authority
MX
Mexico
Prior art keywords
transformation
unit
coding
depth
size
Prior art date
Application number
MX2015000134A
Other languages
English (en)
Other versions
MX347473B (es
Inventor
Il-Koo Kim
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
Publication of MX2015000134A publication Critical patent/MX2015000134A/es
Publication of MX347473B publication Critical patent/MX347473B/es

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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

Se proporcionan los métodos de decodificación y de codificación por entropía de un vídeo. El método de decodificación por entropía incluye la obtención de una bandera del coeficiente significativo de la unidad de transformación que indica si existe o no un coeficiente de transformación diferente de cero en la unidad de transformación, a partir de una corriente de bits, la determinación de un modelo de contexto para decodificar aritméticamente la bandera del coeficiente significativo de la unidad de transformación, con base en la profundidad de transformación de la unidad de transformación, y decodificar aritméticamente la bandera del coeficiente significativo de la unidad de transformación con base en el modelo de contexto determinado.

Description

METODO Y APARATO PARA CODIFICAR VIDEO POR ENTROPIA, Y METODO Y APARATO PARA DECODIFICAR VIDEO POR ENTROPIA CAMPO DE LA INVENCION Una o más modalidades de la presente invención se refieren a la codificación y decodificación de vídeo, y más particularmente, a un método y a un aparato para codificar y decodificar por entropía información relacionada a una unidad de transformación.Z ANTECEDENTES DE LA INVENCION De acuerdo a los métodos de compresión de imágenes tales como MPEG-1, MPEG-2 o MPEG-4, H.264/MPEG-4, que es la codificación de vídeo avanzada (AVC, por siis siglas en inglés), una imagen es dividida en bloques que tienen un tamaño predeterminado, y luego los datos residuales de los bloques son obtenidos mediante predicción ínter o predicción intra. Los datos residuales son comprimidos mediante transformación, cuantificación, exploración, codificación de longitud de corrida y codificación por entropía. En la codificación por entropía, un elemento de sintaxis tal como un coeficiente de transformación o un modo de predicción es codificado por entropía para enviar de salida una corriente de bits. Un decodificador analiza sintácticamente y extrae los elementos de sintaxis de una corriente de bits y reconstruye una imagen con base en los elementos de sintaxis extraídos.
REF.253146 BREVE DESCRIPCION DE LA INVENCION PROBLEMA TECNICO Una o más modalidades de la presente invención incluyen un método y aparato de codificación por entropía, y un método y aparato de decodificación por entropía para seleccionar un modelo de contexto utilizado para codificar y decodificar por entropía un elemento de sintaxis relacionado a una unidad de transformación que es una unidad de datos empleada para transformar una unidad de codificación, con base en una profundidad de transformación que indica una relación de división jerárquica ente la unidad de codificación y la unidad de transformación.
SOLUCION TECNICA Un modelo de contexto para decodificar aritméticamente una bandera de coeficiente significativo de unidad de transformación es determinado con base en una profundidad de transformación que indica el número de veces que la unidad de transformación es dividida para determinar la unidad de transformación incluida en la unidad de codificación, y la bandera de coeficiente significativo de la unidad de transformación es aritméticamente decodificada con base en el modelo de contexto determinado.
EFECTOS VENTAJOSOS De acuerdo a las modalidades de la presente invención, al seleccionar un modelo de contexto basado en una profundidad de transformación, una condición para seleccionar el modelo de contexto puede ser simplificada y la operación para la codificación y decodificación por entropía puede ser también simplificada.
BREVE DESCRIPCION DE LAS FIGURAS La figura 1 es un diagrama de bloques de un aparato de codificación de vídeo de acuerdo a una modalidad de la presente invención.
La figura 2 es un diagrama de bloques de un aparato de decodificación de vídeo de acuerdo a una modalidad de la presente invención.
La figura 3 es un diagrama para describir un concepto de unidades de codificación de acuerdo a una modalidad de la presente invención.
La figura 4 es un diagrama de bloques de un codificador de vídeo basado en las unidades de codificación que tienen una estructura jerárquica, de acuerdo a una modalidad de la presente invención.
La figura 5 es un diagrama de bloques de un decodificador de vídeo basado en las unidades de codificación que tienen una estructura jerárquica, de acuerdo a una modalidad de la presente invención.
La figura 6 es un diagrama que ilustra unidades de codificación más profundas de acuerdo a las profundidades, y particiones, de acuerdo a una modalidad de la presente invención.
La figura 7 es un diagrama para describir una relación entre una unidad de codificación y las unidades de transformación, de acuerdo a una modalidad de la presente invención.
La figura 8 es un diagrama para describir la información de codificación de las unidades de codificación que corresponden a una profundidad codificada, de acuerdo a una modalidad de la presente invención.
La figura 9 es un diagrama de unidades de codificación más profundas de acuerdo a las profundidades, de acuerdo a una modalidad de la presente invención.
Las figuras 10 a la 12 son diagramas para describir una relación entre las unidades de codificación, las unidades de predicción, y las unidades de transformación de frecuencia, de acuerdo a una modalidad 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 a la información del modo de codificación de la Tabla 1.
La figura 14 es un diagrama de bloques de un aparato de codificación por entropía de acuerdo a una modalidad de la presente invención.
La figura 15 es un diagrama de flujo de una operación de la codificación y decodificación por entropía de un elemento de sintaxis relacionado a una unidad de transformación, de acuerdo a una modalidad de la presente invención.
La figura 16 es un diagrama que ilustra una unidad de codificación y las unidades de transformación incluidas en la unidad de codificación, de acuerdo a una modalidad de la presente invención.
La figura 17 es un diagrama que ilustra un parámetro de incremento de contexto utilizado para detener un modelo de contexto de una bandera de coeficiente significativo de la unidad de transformación, de cada una de las unidades de transformación de la figura 16, con base en una profundidad de transformación.
La figura 18 es un diagrama que ilustra una unidad de codificación y una unidad de transformación incluidas en la unidad de codificación, de acuerdo a otra modalidad más de la presente invención.
La figura 19 es un diagrama que ilustra las banderas de transformación de división utilizadas para determinar la estructura de las unidades de transformación incluidas en la unidad de codificación de la Figura 16, de acuerdo a una modalidad de la presente invención; La figura 20 ilustra una unidad de transformación que es codificada por entropía de acuerdo a una modalidad de la presente invención.
La figura 21 ilustra un mapa de significancia que corresponde a la unidad de transformación de la Figura 20.
La figura 22 ilustra coef_abs_level_greaterl_flag que corresponde a la unidad de transformación 4x4 de la Figura 20.
La figura 23 ilustra coef_abs_level_greater2_flag que corresponde a la unidad de transformación 4x4 de la figura 20.
La figura 24 ilustra coef_abs_level_remaining que corresponde a la unidad de transformación 4x4 de la figura 20.
La figura 25 es un diagrama de flujo de un método de codificación por entropía de un vídeo, de acuerdo a una modalidad de la presente invención.
La figura 26 es un diagrama de bloques de un aparato de decodificación por entropía, de acuerdo a una modalidad de la presente invención.
La figura 27 es un diagrama de flujo de un método de decodificación por entropía de un vídeo, de acuerdo a una modalidad de la presente invención.
DESCRIPCION DETALLADA DE LA INVENCION De acuerdo a una o más modalidades de la presente invención, se describe un método de decodificación por entropía de un vídeo, el método incluye determinar una unidad de transformación incluida en una unidad de codificación y utilizada para transformar inversamente la unidad de codificación; obtener una bandera de coeficiente significativo de la unidad de transformación que indica si existe o no un coeficiente de transformación diferente de cero en la unidad de transformación, a partir de una corriente de bits, si el número de veces que la unidad de codificación es dividida para determinar la unidad de transformación es denominada como una profundidad de transformación de la unidad de transformación, se determina un modelo de contexto para decodificar aritméticamente la bandera de coeficiente significativo de la unidad de transformación, con base en la profundidad de transformación de la unidad de transformación; y se decodifica aritméticamente la bandera del coeficiente significativo de la unidad de transformación con base en el modelo de contexto determinado.
De acuerdo a una o más modalidades de la presente invención, se describe un aparato de decodificación por entropía de un vídeo, el aparato incluye un analizador sintáctico para obtener una bandera de coeficiente significativo de unidad de transformación, que indica si existe o no un coeficiente de ransformación diferente de cero, en una unidad de transformación incluida en una unidad de codificación y utilizada para transformar inversamente la unidad de codificación, a partir de una corriente de bits; un modulador de contexto para, si el número de veces que es dividida la unidad de codificación para determinar la unidad de transformación es denominada como una profundidad de transformación de la unidad de transformación, se determina un modelo de contexto para decodificar aritméticamente la bandera del coeficiente significativo de la unidad de transformación, con base en la profundidad de la transformación de la unidad de transformación; y un decodificador aritmético para decodificar aritméticamente la bandera del coeficiente significativo de la unidad de transformación con base en el modelo de contexto determinado.
De acuerdo a una o más modalidades de la presente invención, se describe un método decodificación por entropía de un vídeo, el método incluye obtener datos de una unidad de codificación transformada con base en una unidad de transformación; si el número de veces que la unidad de codificación es dividida para determinar la unidad de transformación es denominado como una profundidad de transformación de la unidad de transformación, se determina un modelo de contexto para codificar aritméticamente una bandera de coeficiente significativo de la unidad de transformación, que indica si existe o no un coeficiente de transformación diferente de cero en la unidad de transformación, con base en la profundidad de transformación de la unidad de transformación; y se codifica aritméticamente la bandera del coeficiente significativo de la unidad de transformación con base en el modelo de contexto determinado.
De acuerdo a una o más modalidades de la presente invención, se describe un aparato de decodificación por entropía de un vídeo, el aparato incluye un modelador de contexto para obtener los datos de una unidad de codificación transformada con base en una unidad de transformación y, si el número de veces que la unidad de codificación es dividida para determinar la unidad de transformación es denominada como una profundidad de transformación de la unidad de transformación, se determina un modelo de contexto para codificar aritméticamente una bandera de coeficiente significativo de la unidad de transformación que indica si existe o no un coeficiente de transformación diferente de cero en la unidad de transformación, con base en la profundidad de la transformación de la unidad de transformación,· y un codificador aritmético para codificar aritméticamente la bandera del coeficiente significativo de la unidad de transformación, con base en el modelo de contexto determinado.
MODALIDAD PARA LA INVENCION De aquí en adelante, se describe un método y aparato para actualizar un parámetro utilizado en la codificación y decodificación por entropía de la información de tamaño de una unidad de transformación de acuerdo a una modalidad de la presente invención, con referencia a las Figuras 1 a la 13. Además, un método de codificación y decodificación por entropía de un elemento de sintaxis obtenido mediante el uso del método de codificación y decodificación por entropía de un vídeo descrito con referencia a las Figuras 1 a la 13, será descrito con detalle con referencia a las Figuras 14 a la 27. Expresiones tales como "al menos uno de", cuando precede una lista de elementos, modifica la lista de elementos y no modifica los elementos individuales de la lista.
La Figura 1 es un diagrama de bloques de un aparato de codificación de vídeo 100 de acuerdo a una modalidad de la presente invención.
El aparato de codificación de vídeo 100 incluye un codificador jerárquico 110 y un codificador por entropía 120.
El codificador jerárquico 110 puede dividir una imagen actual que va a ser codificada, en unidades de datos predeterminados para realizar la codificación sobre cada una de las unidades de datos. Con detalle, el codificador jerárquico 110 puede dividir una imagen actual con base en una unidad de codificación más grande, la cual es una unidad de codificación de un tamaño máximo. La unidad de codificación más grande de acuerdo a la modalidad de la presente invención puede ser una unidad de datos que tiene un tamaño de 32x32, 64x64, 128x128, 256x256, etc., en donde una forma de la unidad de datos es un cuadrado que tiene una anchura y longitud en cuadros de 2 y es mayor de 8.
Una unidad de codificación de acuerdo a una modalidad de la presente invención puede ser caracterizada por un tamaño máximo y una profundidad. La profundidad denota el número de veces que la unidad de codificación es espacialmente dividida a partir de la unidad de codificación más grande, y conforme la profundidad se hace mayor, unidades de codificación más profundas de acuerdo a las profundidades pueden ser divididas a partir de la unidad de codificación más grande a una unidad de codificación más pequeña. Una profundidad de la unidad de codificación más grande es una profundidad superior y una profundidad de la unidad de codificación más pequeña es una profundidad inferior. Ya que un tamaño de una unidad de codificación que corresponde a cada profundidad disminuye conforme la profundidad de la unidad de codificación más grande se hace mayor, una unidad de codificación que corresponde a una profundidad superior puede incluir una pluralidad de unidades de codificación que corresponden a profundidades más bajas.
Como se describe anteriormente, el dato de imagen del cuadro actual es dividido en unidades de codificación más grandes de acuerdo a un tamaño máximo de la unidad de codificación, y cada una de las unidades de codificación más grandes puede incluir unidades de codificación más profundas que son divididas de acuerdo a las profundidades. Ya que la unidad de codificación más grande de acuerdo a una modalidad de la presente invención es dividida de acuerdo a las profundidades, el dato de imagen de un dominio espacial incluido en la unidad de codificación más grande puede ser jerárquicamente clasificado de acuerdo a las profundidades.
Una profundidad máxima y un tamaño máximo de una unidad de codificación, que limitan el número total de veces en que una altura y una anchura de la unidad de codificación más grande son jerárquicamente divididas,pueden ser determinados.
El codificador jerárquico 110 codifica al menos una región de división obtenida al dividir una región de la unidad de codificación más grande de acuerdo a las profundidades, y determina una profundidad para enviar de salida el dato de imagen finalmente codificado, de acuerdo al menos a una región de división. En otras palabras, el codificador jerárquico 110 determina una profundidad codificada al codificar el dato de imagen en las unidades de codificación más profundas de acuerdo a las profundidades, de acuerdo a la unidad de codificación más grande de la imagen actual, y selecciona una profundidad que tiene el menor error de codificación. La profundidad codificada, determinada y el dato de imagen codificado de acuerdo a las unidades de codificación máximas son enviados de salida al codificador de entropía 120.
El dato de imagen en la unidad de codificación más grande es codificado con base en las unidades de codificación más profundas que corresponden al menos a una profundidad igual a o menor que la profundidad máxima, y los resultados de la codificación de los datos de imagen son comparados con base en cada una de las unidades de codificación más profundas. Una profundidad que tiene el menor error de codificación, puede ser seleccionada después de comparar los errores de codificación de las unidades de codificación más profundas. Al menos una profundidad codificada puede ser seleccionada para cada unidad de codificación más grande.
El tamaño de la unidad de codificación más grande es dividido como una unidad de codificación es jerárquicamente dividida de acuerdo a las profundidades y conforme se incrementa el número de las unidades de codificación. También, incluso si las unidades de codificación corresponden a la misma profundidad en una unidad de codificación más grande, se determina si se divide o no cada una de las unidades de codificación correspondientes a la misma profundidad hasta una profundidad menor al medir un error de codificación del dato de imagen de cada unidad de codificación, separadamente. En consecuencia, incluso cuando el dato de imagen es incluido en una unidad de codificación más grande, el dato de imagen es dividido en regiones de acuerdo a las profundidades, y los errores de codificación pueden diferir de acuerdo a las regiones en una unidad de codificación más grande, y de este modo las profundidades codificadas pueden diferir de acuerdo a las regiones en el dato de imagen. De este modo, una o más profundidades codificadas pueden ser determinadas en una unidad de codificación más grande, y el dato de imagen de la unidad de codificación más grande puede ser dividido de acuerdo a las unidades de codificación de al menos una profundidad codificada.
En consecuencia, el codificador jerárquico 110 puede determinar las unidades de codificación que tienen una estructura de árbol incluida en la unidad de codificación más grande. Las "unidades de codificación que tienen una estructura de árbol" de acuerdo a una modalidad de la presente invención incluyen las unidades de codificación que corresponden a una profundidad determinada para ser la profundidad codificada, de entre todas las unidades de codificación más profunda incluidas en la unidad de codificación más grande. Una unidad de codificación que tiene una profundidad codificada puede ser jerárquicamente determinada de acuerdo a las profundidades en la misma región de la unidad de codificación más grande, y puede ser independientemente determinada en diferentes regiones. Similarmente, una profundidad codificada en una región actual puede ser independientemente determinada a partir de una profundidad codificada en otra región.
Una profundidad máxima de acuerdo a una modalidad de la presente invención es un índice relacionado al número de veces en que una unidad de codificación más grande es dividida en unidades de codificación más pequeñas. Una primera profundidad máxima de acuerdo a una modalidad de la presente invención puede denotar el número total de veces en que la unidad de codificación más grande es dividas en las unidades de codificación más pequeñas. Uña segunda profundidad máxima de acuerdo a una modalidad de la presente invención puede denotar el número total de niveles de profundidad a partir de la unidad de codificación más grande a la unidad de codificación más pequeña. Por ejemplo, cuando una profundidad de la unidad de codificación más grande es de 0, una profundidad de una unidad de codificación, en la cual la unidad de codificación más grande es dividida una vez, puede ser .ajustada a l, y una profundidad de una unidad de codificación, en la cual la unidad de codificación más grande es dividida dos veces, puede ser ajustada a 2. Aquí, si la unidad de codificación más pequeña es una unidad de codificación en la cual la unidad de codificación más grande es dividida cuatro veces, cinco niveles de profundidad de profundidad 0, 1, 2, 3, y 4 existen, y de este modo la primera profundidad máxima puede ser ajustada a 4, y la segunda profundidad máxima puede ser ajustada a 5.
La codificación de predicción y la transformación pueden ser realizadas de acuerdo a la unidad de codificación más grande. La codificación de predicción y la transformación son también realizadas con base en las unidades de codificación más profunda de acuerdo a una profundidad igual a o profundidades menores que la profundidad máxima, de acuerdo a la unidad de codificación más grande.
Ya que el número de unidades de codificación más profundas se incrementa siempre que la unidad de codificación más grande es dividida de acuerdo a las profundidades, la codificación que incluye la codificación por predicción y la transformación, es realizada sobre todas las unidades de codificación más profundas, generadas conforme la profundidad aumenta. Para conveniencia de la descripción, la codificación por predicción y la transformación serán ahora descritas con base en una unidad de codificación de una profundidad actual, en una unidad de codificación más grande.
El aparato de codificación de vídeo 100 puede seleccionar variadamente un tamaño o forma de una unidad de datos para codificar el dato de imagen. Con el fin de codificar el dato de imagen, las operaciones, tales como la codificación por predicción, la transformación, y la codificación por entropía son realizadas, y esta vez, la misma unidad de datos puede ser utilizada para todas las operaciones o diferentes unidades de datos pueden ser utilizadas para cada operación.
Por ejemplo, el aparato de codificación de vídeo 100 puede seleccionar no solamente una unidad de codificación para codificar el dato de imagen, sino también una unidad de datos diferente de la unidad de codificación para realizar así la codificación por predicción sobre el dato de imagen en la unidad de codificación.
Con el fin de realizar la codificación por predicción en la unidad de codificación más grande, la codificación por predicción puede ser realizada con base en una unidad de codificación que corresponde a una profundidad codificada, es decir, con base en una unidad de codificación que ya no es dividida en unidades de codificación que corresponden a una profundidad más baja. De aquí en adelante, la unidad de codificación que ya no es dividida y se vuelve una unidad base para la codificación por predicción será denominada como una "unidad de predicción". Una partición obtenida al dividir la unidad de predicción puede incluir una unidad de predicción o una unidad de datos obtenida al dividir 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 es dividida y se vuelve una unidad de predicción de 2Nx2N, un tamaño de partición puede ser 2Nx2N, 2N N, Nx2N o NxN. Los ejemplos de un tipo de partición incluyen particiones simétricas que son obtenidas al dividir simétricamente una altura o anchura de la unidad de predicción, las particiones obtenidas al dividir asimétricamente la altura o la anchura de la unidad de predicción, tal como l:n o n:l, las particiones que son obtenidas al dividir geométricamente la unidad de predicción y las particiones que tienen formas arbitrales.
Un modo de predicción de la unidad de predicción puede ser al menos uno de un modo intra, un modo ínter, y un modo de salto. Por ejemplo, el modo intra y el modo ínter pueden ser realizados sobre la partición de 2N x 2N, 2N x N, N x 2N, N x N. También, el modo de salto puede ser realizado únicamente sobre la partición de 2N x 2N. La codificación es independientemente realizada sobre una unidad de predicción en una unidad de codificación, con lo cual se selecciona un modo de predicción que tiene el menor error de codificación.
El aparato de codificación de vídeo 100 puede también realizar la transformación sobre el dato de imagen en una unidad de codificación basado no solamente en la unidad de codificación para codificar el dato de imagen, sino también basado en la unidad de dato que es diferente de la unidad de codificación.
Con el fin de realizar esta transformación en la unidad de codificación, la transformación puede ser realizada con base en una unidad de datos que tiene un tamaño igual a o menor que el tamaño de 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 ínter.
Una unidad de datos utilizada como una base de la transformación es denominada como una "unidad de transformación". Similarmente a la unidad de codificación, la unidad de transformación en la unidad de codificación puede ser recursivamente dividida en regiones de tamaño más pequeño, de modo que la unidad de transformación puede ser determinada independientemente en unidades de regiones. De este modo, el dato residual en la unidad de codificación puede ser dividido de acuerdo a la unidad de transformación que tiene la estructura de árbol de acuerdo a las profundidades de transformación.
Una profundidad de transformación que indica el número de veces que la altura y la anchura de la unidad de codificación son divididas para alcanzar la unidad de transformación, puede ser también ajustada en la unidad de transformación. Por ejemplo, en una unidad de codificación actual de 2N x 2N, una profundidad de transformación puede ser de cero cuando el tamaño de una unidad de transformación es 2N x 2N, puede ser 1 cuando el tamaño de una unidad de transformación es N x N, y puede ser de 2 cuando el tamaño de una unidad de transformación N/2 x N/2. Es decir, la unidad de transformación que tiene la estructura de árbol puede ser también ajustada de acuerdo a las profundidades de transformación.
La información de codificación de acuerdo a las unidades de codificación que corresponden a una profundidad codificada requerida, no solamente requiere información respecto a la profundidad codificada, sino también respecto a la información relacionada a la codificación de predicción y a la transformación. En consecuencia, el codificador jerárquico 110 no solamente determina una profundidad codificada que tiene el menor error de codificación, sino que también determina un tipo de partición en una unidad de predicción, un modo de predicción de acuerdo a las unidades de predicción, y un tamaño de una unidad de transformación para la transformación.
Las unidades de codificación de acuerdo a una estructura de árbol en una unidad de codificación más grande y un método de determinación de una partición, de acuerdo a las modalidades de la presente invención, serán descritas con un detalle en seguida con referencia a las figuras 3 a la 12.
El codificador jerárquico 110 puede medir un error de codificación de las unidades de codificación más profundas de acuerdo a las profundidades mediante el uso de la Optimización de Distorsión Proporcional Basada en los Multiplicadores Lagrangianos.
El codificador de entropía 120 envía de salida el dato de imagen de la unidad de codificación más grande que es codificada con base en al menos una profundidad codificada determinada por el codificador jerárquico 110, y la información respecto al modo de codificación de acuerdo a la profundidad codificada en las corrientes de bits. El dato de imagen codificada puede ser un resultado de la codificación del dato residual de una imagen. La información respecto al modo de codificación de acuerdo a la profundidad codificada puede incluir la información respecto a la profundidad codificada, la información respecto al tipo de partición en la unidad de predicción, la información del modo de predicción, y la información del tamaño de la unidad de transformación. En particular, como se discutirá más adelante, el codificador de entropía 120 puede codificar por entropía una bandera de coeficiente significativo de unidad de transformación (coded_block_f lag) cbf que indica si un coeficiente de transformación diferente de 0 es incluido en una unidad de ransformación, mediante el uso de un modelo de contexto determinado con base en una profundidad de transformación de la unidad de transformación. Una operación de los elementos de sintaxis de codificación por entropía relacionados a un nivel de transformación en la unidad 120 de codificación por entropía será descrito más adelante.
La información respecto a la profundidad codificada puede ser definida mediante el uso de la información de división de acuerdo a las profundidades, lo cual indica si la codificación es o no realizada sobre las unidades de codificación de una profundidad más baja en vez de una profundidad actual. Si la profundidad actual de la unidad de codificación actual es la profundidad codificada el dato de imagen de la unidad de codificación actual es codificado y enviado de salida, y de este modo la información de división puede ser definida no para dividir la unidad de codificación actual a una profundidad más baja. Alternativamente, si la profundidad actual de la unidad de codificación actual no es la profundidad codificada, las codificaciones realizadas sobre la unidad de codificación de la profundidad más baja, y de este modo la información de división puede ser definida para dividir la unidad de codificación actual para obtener las unidades de codificación de la profundidad más baja.
Si la profundidad actual no es la profundidad codificada, la codificación es realizada sobre la unidad de codificación que es dividida en la unidad de codificación de la profundidad más baja. Ya que al menos una unidad de codificación de la profundidad más baja existe en una unidad de codificación de la profundidad actual, la codificación es repetidamente realizada sobre cada unidad de codificación de la profundidad más baja, y de este modo la codificación puede ser recursivamente realizada para las unidades de codificación que tienen la misma profundidad.
Ya que las unidades de codificación que tienen una estructura de árbol son determinadas para una unidad de codificación más grande, y la información respecto al menos a un modo de codificación es determinada para una unidad de codificación de una profundidad codificada, la información respecto al menos a un modo de codificación puede ser determinada para una unidad de codificación más grande. También, una unidad codificada del dato de imagen de la unidad de codificación más grande puede ser diferente de acuerdo a las posiciones, ya que el dato de imagen es jerárquicamente dividido de acuerdo a las profundidades, y de este modo la información respecto a la profundidad codificada y al modo de codificación puede ser afectado para el dato de imagen.
En consecuencia, el codificador por entropía 120 puede asignar la información de codificación respecto a una profundidad codificada correspondiente y a un modo de codificación a al menos una unidad de codificación, la unidad de predicción, y una unidad mínima incluida en la unidad de codificación más grande.
La unidad mínima de acuerdo a una modalidad de la presente invención es una unidad de datos de forma cuadrada obtenida mediante la división de la unidad de codificación más pequeña que constituye la profundidad más baja por 4. Alternativamente, la unidad mínima puede ser una unidad de datos de forma cuadrada, máxima, que puede ser incluida en todas las unidades de codificación, las unidades de predicción, las unidades de partición, y las unidades de transformación incluidas en la unidad de codificación más grande.
Por ejemplo, la información de codificación enviada de salida a través del codificador de entropía 120 puede ser clasificada en la información de codificación de acuerdo a las unidades de codificación y a la información de codificación de acuerdo a las unidades de predicción. La información de codificación de acuerdo a las unidades de codificación puede incluir la información respecto al modo de predicción respecto al tamaño de las particiones. La información de codificación de acuerdo a las unidades de predicción puede incluir la información respecto a una dirección estimada de un modo ínter, respecto a un índice de imagen de referencia en el modo Ínter, respecto a un vector de movimiento, respecto a un componente cromático de un modo intra, y respecto a un método de interpolación del modo intra. También, la información respecto a un tamaño máximo de la unidad de codificación definida de acuerdo a las imágenes, rebanadas o GOPs, y la información respecto a una profundidad máxima puede ser insertada dentro de un encabezado de una corriente de bits.
En el aparato de codificación de vídeo 100, la unidad de codificación más profunda puede ser una unidad de codificación obtenida mediante la división de una altura o anchura de una unidad de codificación de una profundidad superior, que es una capa por arriba, por dos. En otras palabras, cuando el tamaño de la unidad de codificación de la profundidad actual es 2N x 2N, el tamaño de la unidad de codificación y la profundidad más baja es N x N. También, la unidad de la profundidad actual que tiene el tamaño de 2N x 2N puede incluir un número máximo de cuatro unidades de codificación de la profundidad más baja.
En consecuencia, el aparato de codificación de vídeo 100 puede formar las unidades de codificación que tienen la estructura de árbol mediante la determinación de las unidades de codificación que tienen una forma óptima y un tamaño óptimo para cada unidad de codificación más grande, con base en el tamaño de la unidad de codificación más grande y la profundidad máxima determinada considerando las características de la imagen actual. También, ya que la codificación puede ser realizada sobre cada unidad de codificación más grande mediante el uso de cualquiera de los diversos modos de predicción y transformaciones, un modo de codificación óptimo puede ser determinado considerando las características de la unidad de codificación de diversos tamaños de imagen.
De este modo, si una imagen que tiene una resolución alta o una cantidad de datos grande es codificada en un macrobloque convencional, un número de macrobloques por imagen se incrementa excesivamente. En consecuencia, un número de piezas de información comprimida generadas para cada macrobloque se incrementa y de este modo es difícil transmitir la información comprimida, y la eficiencia de compresión de datos disminuye. Sin embargo, mediante el uso del aparato de codificación de vídeo 100, la eficiencia de compresión de imágenes puede ser incrementada ya que una unidad de codificación es ajustada mientras que se consideran las características de una imagen mientras que se incrementa un tamaño máximo de una unidad de codificación, al tiempo que se considera un tamaño de la imagen.
La figura 2 es un diagrama de bloques de un aparato de codificación de vídeo 200 de acuerdo a una modalidad de la invención.
El aparato de codificación de vídeo 200 incluye un analizador sintáctico 210, un codificador por entropía 220 y un decodificador jerárquico 230. Las definiciones de los diversos términos, tales como una unidad de codificación, una profundidad, una unidad de predicción, una unidad de transformación, y la información respecto a diversos modos de codificación para diversas operaciones del aparato de codificación de vídeo 200, son idénticas a aquellas descritas con referencia a la figura 1 y el aparato de codificación de vídeo 100.
El analizador sintáctico 210 recibe una corriente de bits de un vídeo codificado, para analizar sintácticamente un elemento de sintaxis. El codificador por entropía 220 decodifica aritméticamente los elementos de sintaxis que indican el dato de imagen codificado, con base en las unidades de codificación que tienen una estructura por la realización de la decodificación por entropía de los elementos de sintaxis analizados, y envía de salida los elementos de sintaxis aritméticamente decodificados al decodificador jerárquico 230. Es decir, el codificador por entropía 220 realiza la decodificación por entropía de los elementos de sintaxis que son recibidos en la forma de sartas de bits de 0 y 1, con lo cual se reconstruyen los elementos de sintaxis.
También, el codificador por entropía 220 extrae la información respecto a una profundidad codificada, un modo de codificación, la información del componente de color, la información del modo de predicción, etc., para las unidades de codificación que tienen una estructura de árbol de acuerdo a cada unidad de codificación más grande, a partir de la corriente de bits analizada sintácticamente. La información extraída respecto a la profundidad codificada y al modo de codificación es enviada al decodificador jerárquico 230. El dato de imagen en una corriente de bits es dividido en la unidad de codificación más grande de modo que el decodificador jerárquico 230 puede decodificar el dato de imagen para cada unidad de codificación más grande.
La información respecto a la profundidad codificada y al modo de codificación de acuerdo a la unidad de codificación más grande puede ser establecida para la información respecto al menos a una unidad de codificación que corresponde a la profundidad codificada, y la información respecto a un modo de codificación puede incluir la información respecto a un tipo de partición de una unidad de codificación correspondiente, que corresponde a la profundidad codificada, respecto a un modo de predicción, y un tamaño de una unidad de transformación. También, la información de división de acuerdo a las profundidades puede ser extraída como la información respecto a la profundidad codificada.
La información respecto a la profundidad codificada y al modo de codificación de acuerdo a cada unidad de codificación más grande extraída por el codificador por entropía 220 es la información respecto a una profundidad codificada y a un modo de codificación determinado para generar un error de codificación mínimo cuando un codificador, tal como el aparato de codificación de vídeo 100, realiza repetidamente la codificación para cada unidad de codificación más profunda de acuerdo a las profundidades de acuerdo a cada unidad de codificación más grande. En consecuencia, el aparato de codificación de vídeo 200 puede reconstruir una imagen mediante la decodificación del dato de imagen de acuerdo a una profundidad codificada y a un modo de codificación que genera el error de codificación mínimo.
Ya que la información de codificación respecto a la profundidad codificada y al modo de codificación puede ser asignado a una unidad de datos predeterminada de entre una unidad de codificación correspondiente, una unidad de predicción, y una unidad mínima, el codificador por entropía 220 puede extraer la información respecto a la profundidad codificada y al modo de codificación de acuerdo a las unidades de datos predeterminadas. Cuando la información respecto a una profundidad codificada y al modo de codificación de una unidad de codificación más grande correspondiente es asignada a cada una de las unidades de datos predeterminadas, las unidades de datos predeterminadas a las cuales es asignada la misma información respecto a una profundidad codificada y al modo de codificación, puede ser inferida para ser las unidades de datos incluidas en la misma unidad de codificación más grande.
También, como se describirá más adelante, el codificador por entropía 220 puede decodificar por entropía una bandera de coeficiente significativo de unidad de transformación cbf mediante el uso de un modelo de contexto determinado con base en una profundidad de transformación de una unidad de transformación. Una operación de los elementos de sintaxis de decodificación por entropía relacionados a una unidad de transformación en el codificador por entropía 220 será descrita en seguida.
El decodificador jerárquico 230 reconstruye la imagen actual mediante la decodificación del dato de imagen en cada unidad de codificación más grande, con base en la información respecto a la profundidad codificada y al modo de codificación de acuerdo a las unidades de codificación más grandes. En otras palabras, el decodificador jerárquico 230 puede decodificar el dato de imagen codificado, con base en la información extraída respecto al tipo de partición, al modo de predicción, y a 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ás grande. Una operación de decodificación puede incluir la predicción incluyendo la predicción intra y la compensación en movimiento, y la transformación inversa.
El decodificador jerárquico 230 puede realizar la predicción intra o la compensación de movimiento de acuerdo a una partición y a un modo de predicción de cada unidad de codificación, con base en la formación respecto al tipo de partición y al modo de predicción de la unidad de predicción de la unidad de codificación de acuerdo a las profundidades codificadas.
También, el decodificador jerárquico 230 puede realizar la transformación inversa de acuerdo a cada unidad de transformación en la unidad de codificación, con base en la información respecto al tamaño de la unidad de transformación de la unidad de codificación de acuerdo a las profundidades codificadas, para realizar así la transformación inversa de acuerdo a las unidades de codificación más grandes.
El decodificador jerárquico 230 puede determinar al menos una profundidad codificada de una unidad de codificación más grande actual mediante el uso de la información de división de acuerdo a las profundidades. Si la información de división indica que el dato de imagen ya no es dividido en la profundidad actual, la profundidad actual es una profundidad codificada. En consecuencia, el decodificador jerárquico 230 puede decodificar la unidad de codificación de la profundidad actual con respecto al dato de imagen de la unidad de codificación más grande actual, mediante el uso de la información respecto al 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 incluyen la misma información de división pueden ser recolectadas mediante la observación de la información de codificación establecida, asignada 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 recolectadas pueden ser consideradas como una unidad de datos que va a ser decodificada por el decodificador jerárquico 230 en el mismo modo de codificación.
El aparato de codificación de vídeo 200 puede obtener información respecto al menos a una unidad de codificación que genera el error de codificación mínimo cuando la codificación es recursivamente realizada para cada unidad de codificación más grande, y puede utilizar la información para decodificar la imagen actual. En otras palabras, el dato de imagen codificado de las unidades de codificación que tienen una estructura de árbol determinadas para ser las unidades de codificación óptimas en cada unidad de codificación más grande, puede ser decodificado.
En consecuencia, incluso si el dato de imagen tiene una alta resolución y una cantidad grande de datos, el dato de imagen puede ser eficientemente decodificado o reconstruido mediante el uso de un tamaño de una unidad de codificación y un modo de codificación, que son adaptativamente determinados de acuerdo a las características del dato de imagen, mediante el uso de la información respecto a un modo de codificación óptimo recibido desde un codificador.
Un método para determinar las unidades de codificación que tienen una estructura de árbol, una unidad de predicción, y una unidad de transformación, de acuerdo a una modalidad de la presente invención, será ahora descrito con referencia a las figuras 3 a la 13.
La figura 3 es un diagrama para describir un concepto de las unidades de codificación de acuerdo a una modalidad de la presente invención.
Un tamaño de una unidad de codificación puede ser expresado en anchura x altura, y puede ser 64 x 64, 32 x 32, 16 x 16 y 8 x 8. Una unidad de codificación de 64 x 64 puede ser dividida en particiones de 64 x 64, 64 x 32, 32 x 64 ó 32 x 32, y una unidad de codificación de 32 x 32 puede ser dividida en particiones de 32 x 32, 32 x 16, 16 x 32 ó 16 x 16, una unidad de codificación de 16 x 16 puede ser dividida en particiones de 16 x 16, 16 x 8, 8 x 16 ó 8 x 8, y una unidad de codificación de 8 x 8 puede ser dividida en particiones de 8x 8, 8x 4, 4 x 804 x 4.
Con respecto al dato de vídeo 310, una resolución de 1920 x 1080, un tamaño máximo de una unidad de codificación del 64, y una profundidad máxima de 2 son establecidos. Respecto al dato de vídeo 320, son establecidos una resolución de 1920 x 1080, un tamaño máximo de una unidad de codificación del 64, y una profundidad máxima de 3. Respecto al dato de vídeo 330, una resolución de 352 x 288, un tamaño máximo de una unidad de codificación del 16, y una profundidad máxima de 1 son establecidos. La profundidad máxima mostrada en la figura 3 denota un número total de divisiones a partir de una unidad de codificación más grande a partir de una unidad de codificación más grande a una unidad de codificación más pequeña.
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 no solamente para incrementar la eficiencia de codificación, sino también para dejar de manera exacta las características de una imagen. En consecuencia, el tamaño máximo de la unidad de codificación del dato de vídeo 310 y 320 que tiene la mayor resolución que el dato de vídeo 330, puede ser 64.
Ya que la profundidad máxima del dato de vídeo 310 es de 2, las unidades de codificación 315 del dato de vídeo 310 pueden incluir una unidad de codificación más grande que tiene un tamaño de eje largo de 64, y las unidades de codificación que tienen tamaños de eje largo de 32 y 16, ya que las profundidades son aumentadas a dos capas por la división de la unidad de codificación más grande dos veces. Mientras tanto, ya que la profundidad máxima del dato de vídeo 330 es de 1, las unidades de codificación 335 del dato de vídeo 330 pueden incluir una unidad de codificación más grande que tiene un tamaño de eje largo de 16, y las unidades de codificación que tienen un tamaño de eje largo de 8, ya que las profundidades son aumentadas a una capa por la división de la unidad de codificación más grande una sola vez.
Ya que la profundidad máxima del dato de vídeo 320 es de 3, las unidades de codificación 325 del dato de vídeo 320 pueden incluir una unidad de codificación más grande que tiene un tamaño de eje largo de 64, y las unidades de codificación que tienen tamaños de eje largo de 32, 16 y 8, ya que las profundidades son aumentadas a 3 capas por la división de la unidad de codificación más grande, tres veces. Conforme una profundidad aumenta, la información detallada puede ser expresada de manera precisa.
La figura 4 es un diagrama de bloques de una codificación de vídeo 400, basado en las unidades de codificación que tienen una estructura jerárquica, de acuerdo a una modalidad de la presente invención.
Un predictor intra 410 realiza la predicción intra sobre las unidades de codificación en un modo intra, con respecto a una estructura actual 405, y un estimador de movimiento 420 y un compensador de movimiento 425, realiza respectivamente la estimación ínter y la compensación de movimiento sobre las unidades de codificación en un modo ínter, mediante el uso de la estructura actual 405 y una estructura de referencia 495.
El dato enviado desde el predictor intra 410, el estimador de movimiento 420, y el compensador de movimiento 425, es enviado de salida como un coeficiente de transformación cuantificado a través de un transformador 430 y un cuantificador 440. El coeficiente de transformación cuantificado es reconstruido como dato en un dominio espacial a través de un cuantificador inverso 460 y un transformador inverso 470, y el dato reconstruido en el dominio espacial es enviado como la estructura de referencia 495 después de ser post-procesado a través de un filtro de desbloqueo 480 y un filtro de bucle 490. El coeficiente de transformación cuantificado puede ser enviado de salida como una corriente de bits 455 a través de un codificador de entropía 450.
La unidad de codificación de entropía 450 codifica aritméticamente los elementos de sintaxis relacionados a una unidad de transformación, tal como una bandera de coeficiente significativo de unidad de transformación (cbf) indicando si un coeficiente de transformación diferente de 0 es o no incluido en una unidad de transformación, un mapa significativo que indica una localización de un coeficiente de transformación diferente de 0, una primera bandera de valor crítico (coef_abs_level_greater_flag) que indica si un coeficiente de transformación tiene o no un valor mayor de 1, una segunda bandera de valor crítica (coef_abs_level_greater2_flag) que indica si un coeficiente de transformación tiene o no un valor mayor de 2, y una información de tamaño de un coeficiente de transformación (coef_abs_level_remaining) que corresponde a una diferencia entre un nivel base (baseLevel) que es determinado con base en la primera bandera de valor crítico y la segunda bandera de valor crítico y un coeficiente de transformación real (abscoef).
Con el fin de que el codificador de vídeo 400 sea aplicado al aparato de codificación de vídeo 100, todos los elementos del codificación de vídeo 400, es decir el predictor intra 410, el estimador de movimiento 420, el compensador de movimiento 425, el transformador 430, el cuantificador 440, el codificador por entropía 450, el cuantificador inverso 460, el transformador inverso 470, el filtro de desbloqueo 480, y el filtro de bucle 490, tienen que realizar operaciones con base en cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol, mientras que se considera la profundidad máxima de cada unidad de codificación más grande.
Específicamente, el predictor intra 410, el estimador de movimiento 420 y el compensador de movimiento 425 determinan las 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 que se considera el tamaño máximo y la profundidad máxima de una unidad de codificación más grande 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 de vídeo 500 basado en las unidades de codificación, de acuerdo a una modalidad de la presente invención.
Un analizador sintáctico 510 analiza sintácticamente el dato de imagen codificado que va a ser decodificado, y la información respecto a la codificación requerida para la decodificación, a partir de una corriente de bits 505. El dato de imagen codificado pasa a través del decodificador 520 y el cuantificador inverso 530 para ser enviado de salida como dato inversamente cuantificado. El decodificación por entropía 520 obtiene los elementos relacionados a una unidad de transformación desde una corriente de bits, es decir, una bandera de coeficiente significativo de unidad de transformación (cbf) que indica si un coeficiente de transformación diferente de 0 es incluido en una unidad de transformación, un mapa de significancia que indica una posición de un coeficiente de transformación diferente de 0, una primera bandera de valor crítico (coef_abs_level_greaterl_flag) que indica si un coeficiente de transformación tiene o no un valor mayor de 1, una segunda bandera de valor crítico (coef_abs_level_greater2_flag) que indica si un coeficiente de transformación tiene o no un valor mayor de 2, y una información de tamaño de un coeficiente de transformación (coef_abs_level_remaining) que corresponde a una diferencia entre un nivel base (baseLevel) que es determinado con base en la primera bandera de valor crítico y la segunda bandera de valor crítico y un coeficiente de transformación real (abscoef), y decodifica aritméticamente los elementos de sintaxis obtenidos para reconstruir así los elementos de sintaxis.
Un transformador inverso 540 reconstruye el dato inversamente cuantificado a dato de imagen en un dominio espacial. Un predictor intra 550 realiza la predicción intra sobre las unidades de codificación en un modo intra con respecto al dato de imagen en el dominio espacial, y un compensador de movimiento 560 realiza la compensación de movimiento sobre las unidades de codificación en un modo ínter mediante el uso de una estructura de referencia 585.
El dato de imagen en el dominio espacial, que ha pasado a través del predictor intra 550 y el compensador de movimiento 560, puede ser enviado de salida como una estructura reconstruida 595 después de ser post-procesada a través de un filtro de desbloqueo 570 y el filtro de bucle 580. También, el dato de imagen, el cual es post-procesado a través del filtro de desbloqueo 570 y el filtro de bucle 580, puede ser enviado de salida como la estructura de referencia 585.
Con el fin de que el decodificador 500 sea aplicado en el aparato de decodificación de vídeo 200, todos los elementos de decodificación de vídeo 500, el analizador sintáctico 510, el decodificador por entropía 520, el cuantificador inverso 530, el transformador inverso 540, el predictor intra 550, el compensador de movimiento 560, el filtro de desbloqueo 570, y el filtro de bucle 580, realizan operaciones con base en las unidades de codificación que tienen una estructura de árbol para cada unidad de codificación más grande.
El predictor intra 550 y el compensador de movimiento 560 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 inverso 540 tiene que determinar un tamaño de una unidad de transformación para cada unidad de codificación.
La figura 6 es un diagrama de que ilustra las unidades de codificación más profundas de acuerdo a las profundidades, y las particiones, de acuerdo a una modalidad de la presente invención.
El aparato de codificación de vídeo 100 y el aparato de codificación de vídeo 200 utilizan 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 las unidades de codificación pueden ser adaptativamente determinadas de acuerdo a las características de la imagen, o pueden ser ajustadas de manera diferente por un usuario. Los tamaños de las unidades de codificación más profundas de acuerdo a las profundidades pueden ser determinadas de acuerdo al tamaño máximo predeterminado de la unidad de codificación.
En una estructura jerárquica 600 de las unidades de codificación de acuerdo a una modalidad de la presente invención, la altura máxima y la anchura máxima de las unidades de codificación son cada una de 64, y la profundidad máxima es de 4. Ya que una profundidad aumenta a lo largo de un eje vertical de la estructura jerárquica 600, una altura y una anchura de la unidad de codificación más profunda son cada una divididas. También, una unidad de predicción y las particiones, que son bases para la codificación de predicción de cada unidad de codificación más profunda, son mostradas a lo largo de un eje horizontal de la estructura jerárquica 600.
En otras palabras, una unidad de codificación 610 es una unidad de codificación más grande en la estructura jerárquica 600, en donde una profundidad desde 0 y un tamaño, es decir, una altura por anchura, es de 64 x 64. La profundidad aumenta a lo largo del eje vertical, y una unidad de codificación 620 que tiene un tamaño de 32 x 32 y una profundidad de 1, una unidad de codificación 630 que tiene un tamaño de 16 x 16 y una profundidad de 2, una unidad de codificación 640 que tiene un tamaño de 8 x 8 y una profundidad de 3, y una unidad de codificación 650 que tiene un tamaño de 4 x 4 y una profundidad de 4 existen. La unidad de codificación 650 que tiene un tamaño de 4 z 4 y la profundidad de 4 es una unidad de codificación más pequeña.
La unidad de predicción y las particiones de una unidad de codificación están acomodadas a lo largo del eje horizontal de acuerdo a cada profundidad. En otras palabras, si la unidad de codificación 610 que tiene el tamaño de 64 x 64 y la profundidad de 0 es una unidad de predicción, la unidad de predicción puede ser dividida en particiones incluidas en la unidad de codificación 610, es decir, una partición 610 que tiene un tamaño de 64 x 64, las particiones 612 que tienen el tamaño de 64 x 32, las particiones 614 que tienen el tamaño de 32 x 64, o las particiones 616 que tienen el tamaño de 32 x 32.
Similarmente, una unidad de predicción de la unidad de codificación 620 que tiene el tamaño de 32 x 32 y la profundidad de 1 puede ser dividida en particiones incluidas en la unidad de codificación 620, es decir, una partición 620 que tiene un tamaño de 32 x 32, las particiones 622 que tienen un tamaño de 32 x 16, las particiones 624 que tienen un tamaño de 16 x 32, y las particiones 626 que tienen un tamaño de 16 x 16.
Similarmente, una unidad de predicción de la unidad de codificación 630 que tiene el tamaño de 16 x 16 y la profundidad de 2 puede ser dividida en particiones incluidas en la unidad de codificación 630, es decir, una partición 630 que tiene un tamaño de 16 x 16, incluida la unidad de codificación 630, las particiones 632 que tienen un tamaño de 16 x 8, las particiones 634 que tienen un tamaño de 8 x 16, y las particiones 636 que tienen un tamaño de 8 x 8.
Similarmente, una unidad de predicción de la unidad de codificación 640 que tiene el tamaño de 8 x 8 y la profundidad de 3 puede ser dividida en particiones incluidas en la unidad de codificación 640, es decir, una partición que tiene un tamaño de 8 x 8 incluida en la unidad de codificación 640, las particiones 642 que tienen un tamaño de 8 4, las particiones 644 que tienen un tamaño de 4 x 8, y las particiones 646 que tienen un tamaño de 4 x 4.
La unidad de codificación 650 que tiene un tamaño 4 x 4 y la profundidad de 4 es la unidad de codificación más pequeña y una unidad de codificación de la profundidad más baja. Una unidad de predicción de la unidad de codificación 650 es únicamente asignada a una partición que tiene un tamaño de 4 x 4.
Con el fin de determinar al menos una profundidad codificada de las unidades de codificación que constituyen la unidad de codificación más grande 610, el codificador jerárquico 110 del aparato de codificación de vídeo 100 realiza la codificación para las unidades de codificación que corresponden a cada profundidad incluida en la unidad de codificación más grande 610.
El número de unidades de codificación más profundas de acuerdo a las profundidades que incluyen los datos en el mismo intervalo y el mismo tamaño, se incrementa conforme la profundidad se hace mayor. Por ejemplo, cuatro unidades de codificación que corresponden a una profundidad de 2 son requeridas para cubrir el dato que es incluido en una unidad de codificación que corresponde a una profundidad de 1. En consecuencia, con el fin de comparar los resultados de codificación de los mismos datos de acuerdo a las profundidades, 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 son cada una codificada.
Con el fin de realizar la codificación para una profundidad actual de las profundidades, al menos un error puede ser seleccionado para la profundidad actual por la realización de la 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 jerárquica 600. Alternativamente, el error de codificación mínimo puede ser buscado por comparación de los errores de codificación menores de acuerdo a las profundidades, y la realización de la codificación para cada profundidad, conforme la profundidad se hace mayor a lo largo del eje vertical de la estructura jerárquica 600. Una profundidad y una partición que tiene el error de código mínimo en la unidad de codificación más grande 610 puede ser seleccionado como la profundidad codificada y un tipo de partición de la unidad de codificación más grande 610.
La figura 7 es un diagrama para describir una relación entre una unidad de codificación 710 y las unidades de transformación 720, de acuerdo a una modalidad de la presente invención.
El aparato de codificación de vídeo 100 o el aparato de codificación de vídeo 200 codifica o decodifica una imagen de cada unidad de codificación más grande de acuerdo a las unidades de codificación que tienen tamaños iguales a, o menores que el tamaño de la unidad de codificación más grande. Los tamaños de las unidades de transformación para la transformación durante la codificación pueden ser seleccionados con base en las unidades de datos que no son más grandes que una unidad de codificación correspondiente.
Por ejemplo, en el aparato de codificación de vídeo 100 o el aparato de codificación de vídeo 200, si un tamaño de la unidad de codificación 710 es de 64 x 64, la transformación puede ser realizada mediante el uso de las unidades de transformación 720 que tienen un tamaño de 32 x 32.
También, el dato de la unidad de codificación 710 que tiene el tamaño de 64 x 64 puede ser codificado por la realización de la transformación sobre cada una de las unidades de transformación que tienen el tamaño de 32 x 32, 16 x 16, 8 x 8 y 4 x 4, que son más pequeñas de 64 x 64, y entonces una unidad de transformación que tiene el menor error de codificación puede ser seleccionado.
La figura 8 es un diagrama para describir la información de codificación de las unidades de codificación que corresponden a la profundidad codificada, de acuerdo a una modalidad de la presente invención.
Una unidad de salida 130 del aparato de codificación de vídeo 100 puede codificar y transmitir la información 800 respecto a un tipo de partición, la información 810 respecto a un modo de predicción, y la información 820 respecto a un tamaño de una unidad de transformación para cada unidad de codificación que corresponde a una profundidad codificada, como la información respecto a un modo de codificación.
La información 800 indica la información respecto a una forma de una partición, obtenida por la división de una unidad de predicción de una unidad de codificación actual, en donde la partición es una unidad de dato para la codificación por predicción de la unidad de codificación actual. Por ejemplo, una unidad de codificación actual CU_0 que tiene el tamaño de 2N x 2N puede ser dividida en cualquiera de una partición 802 que tiene un tamaño de 2N x 2N, una partición 804 que tiene un tamaño de 2N x 2N, una partición 806 que tiene un tamaño de N x 2N, y una partición 808 que tiene un tamaño de N x N. Aquí, la información 800 respecto a un tipo de partición es ajustada para indicar una de la partición 802 que tiene un tamaño de 2N x 2N, la partición 804 que tiene un tamaño de 2N x N, la partición 806 que tiene un tamaño de N x 2N, y la partición 808 que tiene un tamaño de N x N.
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 por predicción realizado sobre una partición indicada por la información 800, es decir, un modo intra 812, un modo ínter 814, o un modo de salto 816.
Lid. información 820 indica una unidad de transformación que va a estar basada en cuándo la transformación es realizada sobre una unidad de codificación actual. Por ejemplo, la unidad de transformación puede ser una primera unidad de transformación intra 822, una segunda unidad de transformación intra 824, una primera unidad de transformación Ínter 826, o una segunda unidad de transformación ínter 828.
El dato de imagen y la unidad de extracción del dato de codificación 210 del aparato de codificación de vídeo 200 puede extraer y utilizar la información 800 respecto a las unidades de codificación, la información 810 respecto a un modo de predicción, y la información 820 respecto a un tamaño de una unidad de transformación, para la decodificación, de acuerdo a cada unidad de codificación más profunda.
La figura 9 es un diagrama de las unidades de codificación más profundas de acuerdo a una modalidad de la presente invención.
La información de división puede ser utilizada para indicar un cambio de una profundidad. La información de división indica si una unidad de codificación de una profundidad actual es o no dividida en unidades de codificación de una profundidad más baja.
Una unidad de predicción 910 para la codificación de predicción de una unidad de codificación 900 que tiene una profundidad de 0 y un tamaño de 2N_0 x 2N_0 puede incluir particiones de un tipo de partición 912 que tiene un tamaño de 2N_0 x 2N_0, un tipo de partición 914 que tiene un tamaño de 2N_0 x N_0, un tipo de partición 916 que tiene un tamaño de N_0 x 2N_0, y un tipo de partición 918 que tiene un tamaño de N_0 x N_0. La figura 9 ilustra únicamente los tipos de partición 912 a 918 que son obtenidos al dividir simétricamente la unidad de predicción 910, pero un tipo de partición no está limitado a éstos, y las particiones de la unidad de predicción 910 pueden incluir particiones asimétricas, particiones que tienen una forma predeterminada, y particiones que tienen una forma geométrica.
La codificación de predicción es repetidamente realizada sobre una partición que tiene un tamaño de 2N_0 x 2N_0, dos particiones que tienen un tamaño de 2N_0 x N_0, dos particiones que tienen un tamaño de N_0 x 2N_0, y cuatro particiones que tienen un tamaño de N_0 x N_0, de acuerdo a cada tipo de partición. La codificación de predicción en un modo intra y un modo ínter pueden ser realizadas sobre las particiones que tienen los tamaños de 2N_0 x 2N_0, N_0 x 2N_0, 2N_0 x N_0, y N_0 x N_0. La codificación de predicción en un modo de salto es realizada únicamente en la partición que tiene el tamaño de 2N_0 x 2N_0.
Si un error de codificación es el más pequeño en uno de los tipos de partición 912 a 916 que tienen los tamaños de 2N_0 x 2N_0, 2N_0 x N_0 y N_0 x 2N_0, la unidad de predicción 910 puede no ser dividida en una profundidad más baja.
Si el error de codificación es el más pequeño en el tipo de partición 918 que tiene el tamaño de N_0 x N_0, una profundidad es cambiada de 0 a 1 para dividir el tipo de partición 918 en la operación 920, y la codificación es repetidamente realizada sobre las unidades de codificación del tipo de partición que tienen una profundidad de 2 y un tamaño de N_0 x N_0, para buscar un error de codificación mínimo.
Una unidad de predicción 940 para la codificación de predicción de la unidad de codificación 930 (tipo de partición) que tiene una profundidad de 1 y un tamaño de 2N_1 x 2N_1 (= N_0 x N_0) puede incluir las particiones de un tipo de partición 942, que tiene un tamaño de 2N_1 x 2N_1, un tipo de partición 944 que tiene un tamaño de 2N_1 x N_l, un tipo de partición 946 que tiene un tamaño de N_1 x 2N_1, y un tipo de partición 948 que tiene un tamaño de N_1 x N_1.
Si un error de codificación es el más pequeño en el tipo de partición 948 que tiene el tamaño de N_1 x N_l, una profundidad es cambiada de 1 a 2 para dividir en tipo de partición 948 en la operación 950, y la codificación es nuevamente realizada sobre las unidades de codificación 960, que tienen una profundidad de 2 y un tamaño de N_2 x N_2 para buscar una error de codificación mínimo.
Cuando una profundidad máxima es d, una operación de división de acuerdo a cada profundidad puede ser realizada hasta cuando una profundidad se vuelve d-1, y la información de división puede ser codificada hasta para cuando una profundidad es una de 0 a d-2. En otras palabras, cuando la codificación es realizada hasta cuando la profundidad es d-1 después de que una unidad de codificación correspondiente a una profundidad de d-2 es dividida en la operación 970, una unidad de predicción 990 para la codificación de predicción de una unidad de codificación 980 que tiene una profundidad de d-1 y un tamaño de 2N_(d-l) x 2N_(d-l) puede incluir las particiones de un tipo de partición 992 que tiene un tamaño de 2N_(d-l) x 2N_(d-l), un tipo de partición 994 que tiene un tamaño de 2N_(d-l) x 2N_(d-l), un tipo de partición 996 que tiene un tamaño de 2N_(d-l) x 2N_(d-l), y un tipo de partición 998 que tiene un tamaño de 2N_(d-l) x 2N_(d-l).
La codificación de predicción puede ser repetidamente realizada sobre una partición que tiene un tamaño de 2N_(d-l) x 2N_(d-l), dos particiones que tienen un tamaño de 2N_(d-l) x 2N_(d-l), dos particiones que tienen un tamaño de N_(d-1) x 2N_(d-l), cuatro particiones que tienen un tamaño de N_(d-1) x N_(d-1) de entre los tipos de partición 992 a 998 para buscar un tipo de partición que tiene un error de codificación mínimo.
Incluso cuando el tipo de partición número 998 que tiene el tamaño de N (d-1) x N (d-1) tiene el error de codificación mínimo, ya que una profundidad máxima es d, una unidad de codificación CU_(d-l) que tiene una profundidad de d-1 ya no es dividida a una profundidad más baja y una profundidad codificada para las unidades de codificación que constituyen la unidad de codificación más grande 900, actual es determinada para ser d-1 y un tipo de partición de la unidad de codificación más grande 900 actual puede ser determinada para ser N_(d-1) x N_(d-1). También, ya que la profundidad máxima es d, la información de división para la unidad de codificación más pequeña 952 no es establecida.
Una unidad de datos 999 puede ser una "unidad mínima" para la unidad de codificación más grande actual. Una unidad mínima de acuerdo a una modalidad de la presente invención puede ser una unidad de dato rectangular obtenida mediante la división de la unidad de codificación más pequeña 980 entre 4. Mediante la realización de la codificación repetidamente, el aparato de codificación de vídeo 100 puede seleccionar una profundidad que tiene el menor error de codificación por la comparación de los errores de codificación de acuerdo a las profundidades de unidad de codificación 900 para determinar una profundidad codificada, y ajustar un tipo de partición correspondiente y un modo de predicción como un modo de codificación de la profundidad codificada.
Como tales, los errores de codificación mínimos de acuerdo a las profundidades son comparados en todas las profundidades de 1 hasta d, y una profundidad que tiene el menor error de codificación puede ser determinado 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 ser codificables y transmitidos como la información respecto a un modo de codificación. También, ya que una unidad de codificación es dividida a partir de una profundidad de 0 hasta una profundidad codificada, únicamente la información de división de la profundidad codificada es ajustada a 0, y la información de división de las profundidades excluyendo la profundidad codificada, es ajustada a 1.
El codificador por entropía 220 del aparato de codificación de vídeo 200 puede extraer y utilizar la información respecto a la profundidad codificada y la unidad de predicción de la unidad de codificación 900 para decodificar la unidad de codificación 912. El aparato de codificación de vídeo 200 puede determinar una profundidad, en la cual la información de división es 0, como una profundidad codificada mediante el uso de la información de división de acuerdo a las profundidades, y utilizar la información respecto a un modo de codificación de la profundidad correspondiente para la decodificación.
Las figuras 10 a la 12 son diagramas para describir una relación entre las unidades de codificación 1010, las unidades de predicción 1060, y las unidades de transformación 1070 de acuerdo a una modalidad de la presente invención.
Las unidades de codificación 1010 son unidades de codificación que tienen una estructura de árbol, que corresponde a las profundidades codificadas determinadas por el aparato de codificación de vídeo 100, en una unidad de codificación más grande. Las unidades de predicción 1060 son particiones de las unidades de predicción de cada una de las unidades de codificación 1010, y las unidades de transformación 1070 son unidades de transformación de cada una de las unidades de codificación 1010.
Cuando una profundidad de una unidad de codificación más grande es 0, en las unidades de codificación 1010, las profundidades de las unidades de codificación 1012 y 1054 son 1, las profundidades de las unidades de codificación 1014, 1016, 1018, 1028, 1050, y 1052 son 2, las profundidades de las unidades de codificación 1020, 1022, 1024, 1026, 1030, 1032 y 1048 son 3, y las profundidades de las unidades de codificación 1040, 1042, 1044 y 1046 son 4.
En las unidades de predicción 1060, algunas unidades de codificación 1014, 1016, 1022, 1032, 1048, 1050, 1052 y 1054 son obtenidas por la división de las unidades de codificación. En otras palabras, los tipos de partición en las unidades de codificación 1014, 1022, 1050, y 1054 tienen un tamaño de 2N x N, los tipos de partición de las unidades de codificación 1016, 1048, y 1052 tienen un tamaño de N x 2N, y un tipo de partición de la unidad de codificación 1032 tiene un tamaño de N x N. Las unidades de predicción y las particiones de las unidades de codificación 1010 son iguales a o más pequeñas que cada unidad de codificación.
La transformación o transformación inversa es realizada sobre el dato de imagen de la unidad de codificación 1052 en las unidades de transformación 1070 en una unidad de datos que es más pequeña que la unidad de codificación 1052. También, las unidades de codificación 1014, 1016, 1022, 1032, 1048, 1050, 1052, y 1054 en las unidades de transformación 1070 son diferentes de aquellas en las unidades de predicción 1060 en términos de tamaños y formas. En otras palabras, el aparato de codificación de vídeo 100 y el aparato de codificación de vídeo 200 pueden realizar la predicción intra, la estimación de movimiento, la compensación de movimiento, la transformación, y la transformación inversa, individualmente sobre una unidad de datos en la misma unidad de codificación.
En consecuencia, la codificación es recursivamente realizada sobre 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ás grande para determinar una unidad de codificación óptima, y de este modo las unidades de codificación que tienen una estructura de árbol recursiva pueden ser obtenidas. La información de codificación puede incluir la información de división respecto a una unidad de codificación, la información respecto a un tipo de partición, la información respecto a un modo de predicción, y la información respecto a un tamaño de una unidad de transformación.
La tabla 1 muestra la información de codificación que puede ser establecida por el aparato de codificación de vídeo 100 y el aparato de codificación de vídeo 200.
Tabla 1 El codificador por entropía 120 del aparato de codificación de vídeo 100 puede enviar de salida la información de codificación respecto a las unidades de codificación que tienen una estructura de árbol, y el codificador por entropía 220 del aparato de codificación de vídeo 200 puede extraer la información de codificación respecto a las unidades de codificación que tienen una estructura de árbol a partir de una corriente de bits recibida.
La información de división indica si una unidad de codificación actual está o no dividida en unidades de codificación de una profundidad más baja. Si la información de división de una profundidad actual d es 0, una profundidad, en la cual una unidad de codificación actual ya no está dividida en una profundidad más baja, es una profundidad codificada, y de este modo la información respecto a un tipo de partición, un modo de predicción, y un tamaño de unidad de transformación puede ser definida para la profundidad codificada. Si la unidad de codificación actual es además dividida de acuerdo a la información de división, la codificación es independientemente realizada sobre cuatro unidades de codificación de división de una profundidad más baja.
Un modo de predicción puede ser uno de un modo intra, un modo ínter y un modo de salto. El modo intra y el modo ínter pueden ser definidos en todos los tipos de partición y el modo de salto es definido únicamente en un tipo de partición que tiene un tamaño de 2N x 2N.
La información respecto al tipo de partición puede indicar los tipos de partición simétricos que tienen tamaños de 2N x 2N, 2N x N, N x 2N y N x N, los cuales son obtenidos al dividir simétricamente una altura o una anchura de una unidad de predicción, y los tipos de particiones asimétricas que tiene tamaños de 2N x nU, 2N x nD, nL x 2N y nR x 2N, que son obtenidos asimétricamente la altura o la anchura de la unidad de predicción. Los tipos de partición asimétrica que tienen los tamaños de 2N x nU y 2N x nD pueden ser respectivamente obtenidos al dividir la altura de la unidad de predicción en l:n y n:l (donde n es un número entero mayor de 1), y los tipos de partición asimétrica que tienen los tamaños de nL x 2N y nR x 2N pueden ser respectivamente obtenidos al dividir la anchura de la unión de predicción en 1:n y n:1.
El tamaño de la unidad de transformación puede ser ajustado para ser de dos tipos en el modo intra y dos tipos en el modo ínter. En otras palabras, si la información de división de la unidad de transformación es de 0, el tamaño de la unidad de transformación puede ser 2N x 2N, el cual 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 de 1, las unidades de transformación pueden ser obtenidas al dividir 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 2N x 2N, que es un tipo de partición simétrica, un tamaño de una unidad de transformación puede ser N x N, 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/2 x N/2.
La información de codificación respecto a las unidades de codificación que tienen una estructura de árbol puede incluir al menos una 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.
En consecuencia, se determina si las unidades de datos adyacentes son incluidas en la misma unidad de codificación que corresponde a la profundidad codificada, por comparación de la información de codificación de las unidades de datos adyacentes. También una unidad de codificación correspondiente, que corresponde a una profundidad codificada es determinada mediante el uso de la información de codificación de una unidad de datos, y de este modo una distribución de las profundidades codificadas en una unidad de codificación más grande puede ser determinada.
En consecuencia, si una unidad de codificación actual es predicha con base en la información de codificación de las unidades de datos adyacentes, la información de codificación de las unidades de datos en unidades de codificación más profundas adyacentes a la unidad de codificación actual, puede ser directamente referida y utilizada.
Alternativamente, si una unidad de codificación actual es predicha con base en la información de codificación de las unidades de codificación de las unidades de datos adyacentes, las unidades de datos adyacentes a la unidad de codificación actual son buscadas utilizando la información codificada de las unidades de datos y las unidades de codificación adyacentes, buscadas pueden ser referidas para predicción de 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 a la información del modo de codificación de la Tabla 1.
Una unidad de codificación más grande 1300 incluye las unidades de codificación 1302, 1304, 1306, 1312, 1314, 1316 y 1318 de las profundidades codificadas. Aquí, ya que la unidad de codificación 1318 es una unidad de codificación de una profundidad codificada, la información de división puede ser ajustada a 0. La información respecto a un tipo de partición de la unidad de codificación 1318 que tiene un tamaño de 2Nx2N puede ser ajustada para ser una de un tipo de partición 1322 que tiene un tamaño de 2Nx2N, un tipo de partición 1324 que tiene un tamaño de 2Nx2N, un tipo de partición 1326 que tiene un tamaño de Nx2N, un tipo de partición 1328 que tiene un tamaño de NxN, un tipo de partición 1332 que tiene un tamaño de 2NxnU, un tipo de partición 1334 que tiene un tamaño de 2NxnD, un tipo de partición 1336 que tiene un tamaño de nLx2N, y un tipo de partición 1338 que tiene un tamaño de nRx2N.
Cuando el tipo de partición es ajustado para ser simétrico, es decir, el tipo de partición 1322, 1324, 1326 o 1328, la unidad de transformación 1342 que tiene un tamaño de 2Nx2N es ajustada si la información de división (bandera de tamaño de TU) de una unidad de transformación es de 0, y una unidad de transformación 1344 que tiene un tamaño de NxN es ajustada si una bandera de tamaño TU es 1.
Cuando el tipo de partición es ajustado para ser simétrico, es decir, el tipo de partición 1332, 1334, 1336 o 1338, una unidad de transformación 1352 que tiene un tamaño de 2Nx2N es ajustada si una bandera de tamaño TU es 0, y una unidad de transformación 1354 que tiene un tamaño de N/2xN/2 es ajustado si una bandera de tamaño TU es de 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 ser modificado de acuerdo a una unidad de predicción o un tipo de partición de una unidad de codificación.
Cuando el tipo de partición es ajustado para ser simétrico, es decir el tipo de partición 1322, 1324, 1326 o 1328, la unidad de transformación 1342 que tiene un tamaño de 2Nx2N es ajustada si una bandera de tamaño TU de una unidad de transformación es 0, y la unidad de transformación 1344 que tiene un tamaño de NxN es ajustada si una bandera de tamaño TU es de 1.
Cuando el tipo de partición es ajustado para ser asimétrico, es decir, el tipo de partición 1332 (2NxnU), 1334 (2NxnD), 1336 (nLx2N), o 1338 (nRx2N), la unidad de transformación 1352 que tiene un tamaño de 2Nx2N es ajustada si una bandera de tamaño TU es de 0, y la unidad de transformación 1354 que tiene un tamaño de N/2xN/2 es ajustada si una bandera de tamaño TU es de 1.
Con referencia a la Figura 9, la bandera de amaño TU descrita anteriormente 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 ser jerárquicamente dividida mientras que la bandera de tamaño TU se incrementa desde 0. La información de división de la unidad de transformación (bandera de tamaño TU) puede ser utilizada como un ejemplo de un índice de transformación.
En este caso, cuando una bandera de tamaño TU de acuerdo a una modalidad es utilizada con un tamaño máximo y un tamaño mínimo de una unidad de transformación, el tamaño de la unidad de transformación efectivamente utilizada puede ser expresado. El aparato de codificación de vídeo 100 puede codificar para la información de tamaño de la unidad de transformación más grande, la información de tamaño de la unidad de transformación más pequeña, y la información de tamaño de la unidad de transformación más grande. La información de tamaño de la unidad de transformación más grande, codificada, la información de tamaño de la unidad de transformación más pequeña, y la información de división de la unidad de transformación más grande puede ser insertada dentro de un grupo de parámetros de secuencia (SPS). El aparato de decodificación de vídeo 200 puede utilizar la información del tamaño de la unidad de transformación más grande, la información de tamaño de la unidad de transformación más pequeña, y la información de división de la unidad de transformación más grande, para la 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ás grande es 32x32 (a-1) un tamaño de una unidad de transformación es 32x32 si una bandera de tamaño TU es de 0; (a-2) un tamaño de una unidad de transformación es 16x16 si una bandera de tamaño TU es de 1; y (a-3) un tamaño de una unidad de transformación es de 8x8 si una bandera de tamaño TU es de 2.
Alternativamente, (b) si un tamaño de una unidad de codificación actual es de 32x32 y una unidad de transformación más pequeña es de 32x32, (b-1) un tamaño de una unidad de transformación es de 32x32 si una bandera de tamaño TU es 0, y ya que el tamaño de una unidad de transformación no puede ser más pequeño de 32x32, no pueden ser establecidas más banderas de tamaño TU.
Alternativamente, (c) si un tamaño de una unidad de codificación actual es de 64x64 y una bandera de tamaño TU máxima es de 1, una bandera de tamaño TU puede ser 0 o 1 y ninguna otra de las banderas de amaño TU puede ser ajustada.
En consecuencia, cuando se define una bandera de tamaño TU máxima como "MaxTranformSizelndex", una bandera de tamaño TU mínima es "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 de raíz RaízTu como "RootTuSize" un tamaño de una unidad de transformación más pequeña "CurrMinTuSize ", que está disponible en una unidad de codificación actual, puede estar definida por la Ecuación (1) siguiente.
CurrMinTuSize = max (MinTransformSize, RootTuSize/(2AMaxTranformSizelndex)) ... (1) En comparación con el tamaño de la unidad de transformación más pequeña "CurrMinTuSize" que está disponible en la unidad de codificación actual, el tamaño de la unidad de transformación "RootTuSize", que es un tamaño de una unidad de transformación cuando si una bandera de tamaño TU es 0, puede indicar una unidad de transformación más grande la cual puede ser seleccionada con respecto a un sistema. Es decir, de acuerdo a la Ecuación (1), "RootTuSize/(2AMaxTranformSizeIndex) " es un tamaño de una unidad de transformación que es obtenido por la división de "RootTuSize", que es un tamaño de una unidad de transformación cuando la información de división de la unidad de transformación es de 0, por el número de veces de la división que corresponde a la información de división de la unidad de transformación más grande, y "MinTransformSize" es un tamaño de una unidad de transformación más pequeña, y de este modo un valor más pequeño de estos puede ser "CurrMinTuSize" que es el tamaño de la unidad de transformación más pequeña que está disponible en la unidad de codificación actual.
El tamaño de la unidad de transformación raíz "RootTuSize" de acuerdo a una modalidad de la presente invención puede variar de acuerdo a un modo de predicción.
Por ejemplo, si un modo de predicción actual es un modo ínter, RootTuSize puede ser determinado de acuerdo a la Ecuación (2) siguiente. En la Ecuación (2), "MaxTransformSize " se refiere a un tamaño de unidad de transformación más grande, y "PUTamaño" se refiere a un tamaño de unidad de predicción actual.
RootTuSize = min (MaxTransforTamaño, PUTamaño) . (2) En otras palabras, si un modo de predicción actual es un modo ínter, el tamaño de la unidad de transformación de raíz "RootTuSize", que es una unidad de transformación si una bandera de tamaño TU es 0, puede ser ajustado a un valor más pequeño de entre el tamaño de la unidad de transformación más grande y el tamaño de la unidad de predicción actual.
Si un modo de predicción de una unidad de partición actual es un modo intra, "RootTuSize" puede ser determinado de acuerdo a la Ecuación (3) siguiente. "PartitionSize" se refiere 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 la unidad de transformación raíz "RootTuSize" puede ser ajustado a un valor más pequeño de entre el tamaño de la unidad de transformación más grande y el tamaño de la unidad de partición actual.
No obstante, se debe notar que el tamaño de la unidad de transformación raíz "RootTuSize", que es el tamaño actual más grande de la unidad de transformación de acuerdo a una modalidad de la presente invención, varía de acuerdo a un modo de predicción de una unidad de partición, es un ejemplo, y los factores para determinar el tamaño de la unidad de transformación más grande actual no están limitados a éste.
Una operación de codificación por entropía de un elemento de sintaxis, que es realizada por el codificador por entropía 120 del aparato de codificación de vídeo 100 de la Figura 1, y una operación de decodificación por entropía de un elemento de sintaxis, que es realizado por el decodificador por entropía 220 del aparato de decodificación de vídeo 200 de la Figura 2, será descrito ahora con detalle.
Como se describe anteriormente, el aparato de codificación de vídeo 100 y el aparato de decodificación de vídeo 200 realizan la codificación y la decodificación mediante la división de una unidad de codificación más grande en unidades de codificación que son iguales a o más pequeñas que la unidad de codificación más grande. Una unidad de predicción, y una unidad de transformación utilizadas en la predicción y la transformación pueden ser determinadas con base en los costos independientemente de otras unidades de datos. Ya que una unidad de codificación óptima puede ser determinada al codificar recursivamente cada unidad de codificación que tiene una estructura jerárquica incluida en la unidad de codificación más grande, las unidades de datos que tienen una estructura de árbol pueden ser configuradas. En otras palabras, para cada unidad de codificación más grande, una unidad de codificación que tiene una estructura de árbol, y una unidad de predicción y una unidad de transformación que tienen cada una, una estructura de árbol, pueden ser configuradas. Para la decodificación, la información jerárquica, la cual es la información que indica la información de la estructura de las unidades de datos que tienen una estructura jerárquica y la información no jerárquica para la decodificación, además de la información jerárquica, necesita ser transmitida.
La información relacionada a 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 describe anteriormente con referencia a las Figuras 10 a la 12, e incluye la información de tamaño de una unidad de codificación más grande, la profundidad codificada, la información de partición de una unidad de predicción, una bandera de división que indica si una unidad de codificación es dividida, la información del tamaño de una unidad de transformación, y una bandera de transformación de división (split_transform_flag) que indica si una unidad de transformación está o no dividida en unidades de transformación más pequeñas para una operación de transformación. Los ejemplos de la información de codificación diferentes de la información de estructura jerárquica incluyen la información del modo de predicción de la predicción intra/inter aplicada a cada unidad de predicción, la información del vector de movimiento, la información de dirección de predicción, la información del componente de color aplicada a cada unidad de datos en el caso cuando se utiliza en una pluralidad de componentes de color, y la información del nivel del coeficiente de transformación. De aquí en adelante, la información jerárquica, y la información extra-jerárquica pueden ser referidas como un elemento de sintaxis que va a ser codificado por entropía o decodificado por entropía.
En particular, de acuerdo a modalidades de la presente invención, se proporciona un método de selección de un modelo de contexto cuando un elemento de sintaxis relacionado a una unidad de transformación de entre los elementos de sintaxis. Una operación de los elementos de sintaxis de codificación y decodificación por entropía relacionados a una unidad de transformación será ahora descrita con detalle.
La Figura 14 es un diagrama de bloques de un aparato de codificación por entropía 1400 de acuerdo a una modalidad de la presente invención. El aparato de codificación por entropía 1400 corresponde al codificador por entropía 120 del aparato de codificación de vídeo 100 de la Figura 1.
Con referencia a la Figura 14, el aparato de codificación por entropía 1400 incluye un binarizador 1410, un modelador de contexto 1420, y un codificador aritmético binario 1430. También, el codificador aritmético binario 1430 incluye una máquina de codificación regular 1432 y una máquina de codificación de desviación 1434.
Cuando los elementos de sintaxis introducidos al aparato de codificación por entropía 1400 no son valores binarios, el binarizador 1410 binariza los elementos de sintaxis para enviar así de salida una sarta binaria que consiste de valores binarios de 0 y 1. Un par binario denota cada bit de una corriente que consiste de 0 y 1, y es codificado por la codificación aritmética binaria adaptativa de contexto (CABAC, por sus siglas en inglés). Si un elemento de sintaxis es el dato que tiene la misma probabilidad entre 0 y 1, el elemento de sintaxis es enviado de salida a la máquina de codificación de desviación 1434, la cual no utiliza una probabilidad, para ser codificado.
El binarizador 1410 puede utilizar diversos métodos de binarización de acuerdo al tipo de un elemento de sintaxis. Los ejemplos de los métodos de binarización pueden incluir un método unario truncado, un método de código rice truncado, un método de código Golomb, y un método de código de longitud fija.
Una bandera de coeficiente significativo de unidad de transformación cbf que indica si un coeficiente de transformación diferente de cero (de aquí en adelante también denominado como un "coeficiente significativo") existe en una unidad de transformación es binarizado mediante el uso del método de código fijo. Es decir, si existe un coeficiente de transformación diferente de cero en la unidad de transformación, la bandera del coeficiente significativo de unidad de transformación cbf es ajustada para tener un valor de 1. De otro modo, si un coeficiente de transformación diferente de cero no existe en la unidad de transformación, la bandera del coeficiente significativo de la unidad de transformación cbf es ajustada para tener un valor de 0. Si una imagen incluye una pluralidad de componentes de color, la bandera del coeficiente significativo de la unidad de transformación cbf puede ser ajustada con respecto a una unidad de transformación de cada componente de color. Por ejemplo, si una imagen incluye componentes de luma (Y) y croma (Cb, Cr) una bandera del coeficiente significativo de la unidad de transformación cbf_luma de una unidad de transformación del componente luma, y una bandera del coeficiente significativo de la unidad de transformación cbf_cb o cbf_cr de la unidad de transformación de componente croma puede ser ajustada.
El modelador de contexto 1420 proporciona un modelo de contexto para codificar una sarta de bits que corresponde a un elemento de sintaxis, a la máquina de codificación regular 1432. Con más detalle, el modelador de contexto 1420 envía de salida una probabilidad de un valor binario para la codificación de cada valor binario de una sarta de bits de un elemento de sintaxis actual, al codificador aritmético binario 1430.
Un modelo de contexto es un modelo de probabilidad de un par binario, e incluye la información respecto a cuál de 0 y 1 corresponde al símbolo más probable (MPS, por sus siglas en inglés) y un símbolo menos probable (LPS, por sus siglas en inglés), y la información de probabilidad de al menos uno del MPS y el LPS.
El modelador de contexto 1420 puede seleccionar un modelo de contexto para la codificación por entropía de la bandera del coeficiente significativo de la unidad de transformación cbf, con base en una profundidad de transformación de la unidad de transformación. Si el tamaño de la unidad de transformación es igual al tamaño de una unidad de codificación, es decir, si la profundidad de transformación de la unidad de transformación es 0, el modelador de contexto 1420 puede determinar un primer modelo de contexto pre-establecido como un modelo de contexto para la codificación por entropía de la bandera del coeficiente significativo de la unidad de transformación cbf. De otro modo, si el tamaño de la unidad de transformación es menor que el tamaño de la unidad de codificación, es decir, si la profundidad de transformación de la unidad de transformación no es cero, el modelador de contexto 1420 puede determinar un segundo modelo de contexto preestablecido como un modelo de contexto para la codificación por entropía de la bandera del coeficiente significativo de la unidad de transformación. Aquí, el primeo y segundos modelos de contexto están basados en los modelos de distribución de probabilidad diferentes, Es decir, el primero y el segundo modelos de contexto son modelos de contexto diferentes.
Como se describió anteriormente, cuando la bandera del coeficiente significativo de la unidad de transformación cbf es codificada por entropía, el modelador de contexto 1420 utiliza diferentes modelos de contexto en un caso cuando el tamaño de la unidad de transformación es igual al tamaño de la unidad de codificación, y un caso cuando el tamaño de unidad de transformación no es igual al tamaño de la unidad de codificación. Si un índice que indica uno de una pluralidad de modelos de contexto preestablecidos para la codificación por entropía de la bandera del coeficiente significativo de la unidad de transformación cbf, es denominado como un índice de contexto ctxldx, el índice de contexto ctxldx puede tener un valor obtenido al sumar un parámetro de incremento de contexto ctxlnc para determinar un modelo de contexto, y un desplazamiento del índice de contexto preestablecido ctxldxOffset. Es decir, ctxldx=ctxlnc+ctxldxdOffset. El modelador de contexto 1420 puede distinguir un caso cuando la profundidad de transformación de la unidad de transformación es de 0 de un caso cuando la profundidad de transformación de la unidad de transformación no es 0, puede cambiar el parámetro de incremento de contexto ctxlnc para determinar un modelo de contexto, con base en la profundidad de transformación de la unidad de transformación, y de este modo puede cambiar el índice de contexto ctxldx para determinar un modelo de contexto para la codificación por entropía de la bandera del coeficiente significativo de la unidad de transformación cbf.
Con más detalle, si la profundidad de transformación es denominada como la trafodepth, el modelador de contexto 1420 puede determinar el parámetro de incremento de contexto ctxlnc con base en el siguiente algoritmo. ctxlnc=(trafodepth==0)? 1:0 Este algoritmo puede ser implementado por el siguiente pseudocódigo. { if (trafodepth==0) ctxlnc=l; else ctxlnc=0; } La bandera del coeficiente significativo de la unidad de transformación cbf puede ser separadamente ajustada de acuerdo a los componentes luma y croma. Como se describe anteriormente, un modelo de contexto para la codificación por entropía de la bandera del coeficiente significativo de la unidad de transformación cbf_luma de la unidad de transformación del componente luma, puede ser determinada mediante el uso del parámetro de incremento de contexto ctxlnc que cambia de acuerdo a si la profundidad de transformación de la unidad de transformación es 0. Un modelo de contexto para la codificación por entropía de la bandera del coeficiente significativo de la unidad de transformación cbf_cb o cbf_cr de la unidad de transformación del componente croma, puede ser determinada mediante el uso de un valor de la profundidad de transformación trafodepth como el parámetro de incremento de contexto ctxlnc.
La máquina de codificación regular 1432 realiza la codificación aritmética binaria sobre una corriente de bits que corresponde a un elemento de sintaxis, con base en la información respecto al MPS y el LPS, y la información de probabilidad de al menos uno del MPS y el LPS, que son incluidas en el modelo de contexto proporcionado a partir del modelador de contexto 1420.
La Figura 15 es un diagrama de flujo de una operación de la codificación y decodificación por entropía de un elemento de sintaxis relacionado a una unidad de transformación, de acuerdo a una modalidad de la presente invención.
Con referencia a la Figura 15, en la operación 1510, una bandera del coeficiente significativo de la unidad de transformación cbf que indica si existe o no un coeficiente de transformación diferente de cero de entre los coeficientes de transformación incluidos en una unidad de transformación actual es inicialmente codificada y decodificada por entropía. Como se describió anteriormente, un modelo de contexto para la codificación por entropía de la bandera del coeficiente significativo de la unidad de transformación cbf puede ser determinado con base en una profundidad de transformación de la unidad de transformación, y la codificación aritmética binaria sobre la bandera del coeficiente significativo de la unidad de transformación cbf puede ser realizada con base en el modelo de contexto determinado.
Si la bandera del coeficiente significativo de la unidad de transformación cbf es 0, ya que únicamente los coeficientes de transformación de 0 existen en la unidad de transformación actual, únicamente un valor de 0 es codificado o decodificado por entropía como la bandera del coeficiente significativo de la unidad de transformación cbf, y la información del nivel del coeficiente de transformación no es codificado o decodificado por entropía.
En la operación 1520, si existe un coeficiente significativo en la unidad de transformación actual, un mapa de significancia SigMap que indica una localización de un coeficiente significativo, es codificado o decodificado por entropía.
Un mapa de significancia SigMap puede ser formado de un bit significativo y la información predeterminada que indica una localización de un último coeficiente de significancia. Un bit significativo indica si un coeficiente de transformación de acuerdo a cada índice de exploración es un coeficiente significativo o 0, y puede ser expresado por significant_coef_flag [i]. Como se describirá más adelante, un mapa de significancia es ajustado en unidades de subgrupos que tienen un tamaño que es obtenido por la división de la unidad de transformación. En consecuencia, significant_coef_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 subgrupo incluido en la unidad de transformación, es 0.
De acuerdo al H.264 convencional, una bandera (End-of-bloc ) que indica si cada coeficiente significativo es el último coeficiente significativo, es separadamente codificado o decodificado por entropía. Sin embargo, de acuerdo a una modalidad de la presente invención, la información de localización del último coeficiente significativo mismo, es codificada o decodificada por entropía. Por ejemplo, si una localización del último coeficiente significativo es (x, y), donde x e y son números enteros, last_significant_coef_x y last_significant_coef_y que son elementos de sintaxis que indican los valores de las coordenadas de (x, y) puede ser codificado o decodificado por entropía.
En la operación 1530, la información del nivel del coeficiente de transformación que indica un tamaño de un coeficiente de transformación es codificado o decodificado por entropía. De acuerdo al H.264/AVC convencional, la información del nivel del coeficiente de transformación es expresada por coef_abs_level_minusl que es un elemento de sintaxis. De acuerdo a las modalidades de la presente invención, ya que la información del nivel del coeficiente de transformación, coef_abs_level_greaterl_flag que es un elemento de sintaxis respecto a si un valor absoluto de un coeficiente de transformación es o no mayor de 1, coef_abs_level_greater2_flag es un elemento de sintaxis con respecto a si un valor absoluto de un coeficiente de transformación es o no mayor de 2, y coef_abs_level_remaining que indica la información de tamaño del coeficiente de transformación remanente, son codificados.
El elemento de sintaxis coef_abs_level_remaining que indica la información de tamaño del coeficiente de información remanente tiene una diferencia en un intervalo entre un tamaño de un coeficiente de transformación (absCoef) y un valor de nivel base baseLevel que es determinado mediante el uso de coef_abs_level_greaterl_flag y coef_abs_level_greater2_flag. El valor de nivel base baseLevel es determinado de acuerdo a la ecuación: baseLevel=l+coef_abs_level_greaterl_flag + coef_abs_level_greater2_flag y coef_abs_level_remaining es determinado de acuerdo a la ecuación: coef_abs_level_remaining=absCoef-baseLevel.
Mientras que coef_abs_level_greaterl_flag y coef_abs_level_greater2_flag tiene un valor de 0 o 1, el valor de nivel base baseLevel puede tener un valor de 1 a 3. En consecuencia, coef_abs_level_remaining puede ser variado de (absCoef=l) hasta (absCoef-3). Como se describió anteriormente, (absCoef-baseLevel), que es una diferencia entre el tamaño de un coeficiente de transformación original absCoef y el valor de nivel base baseLevel, es transmitido como información de tamaño de un coeficiente de transformación con el fin de reducir un tamaño del dato transmitido.
Una operación de la determinación de un modelo de contexto para la codificación por entropía de una bandera del coeficiente significativo de la unidad de transformación, de acuerdo con una modalidad de la presente invención, será ahora descrita.
La Figura 16 es un diagrama que ilustra una unidad de codificación y las unidades de transformación 1611 a la 1617 incluidas en la unidad de codificación, de acuerdo a una modalidad de la presente invención. En la Figura 16, una unidad de datos indicada por una línea discontinua denota la unidad de codificación, y las unidades de datos indicadas por la línea sólida denotan las unidades de transformación 1611 a la 1617.
Como se describió anteriormente, el aparato de codificación de vídeo 100 y el aparato de decodificación de vídeo 200 realizan la codificación y la decodificación por la división de una unidad de codificación más grande en unidades de codificación que tienen un tamaño igual o menor que el tamaño de la unidad de codificación más grande. Una unidad de predicción y una unidad de transformación utilizada en una operación de predicción y una operación de transformación pueden ser determinadas con base en los costos independientemente de otras unidades de datos. Si el tamaño de una unidad de codificación es menor que el tamaño de una unidad de transformación más grande utilizable por el aparato de codificación de vídeo 100 y el aparato de decodificación de vídeo 200, la unidad de codificación puede ser dividida en unidades de transformación que tienen un tamaño igual o menor que el tamaño de la unidad de transformación más grande, y una operación de transformación puede ser realizada con base en las unidades de transformación divididas. Por ejemplo, si el tamaño de una unidad de codificación es de 64x64 y el tamaño de una unidad de transformación más grande utilizable es de 32x32, con el fin de transformar (o transformar inversamente) la unidad de codificación, la unidad de codificación es dividida en unidades de transformación que tienen un tamaño igual a o menor que 32x32.
Una profundidad de transformación (trafodepth) que indica el número de veces que la unidad de codificación es dividida en las direcciones horizontal y vertical en unidades de transformación, puede ser determinada. Por ejemplo, si el tamaño de una unidad de codificación actual es 2Nx2N y el tamaño de la unidad de transformación es de 2Nx2N, la profundidad de transformación puede ser determinada como 0. Si el tamaño de la unidad de transformación es NxN, la profundidad de transformación puede ser determinada como 1. De otro modo, si el tamaño de la unidad de transformación es N/2xN/2, la profundidad de transformación puede ser determinada como 2.
Con referencia a la Figura 16, las unidades de transformación 1611, 1616, y 1617 son unidades de transformación de nivel 1 obtenidas mediante la división de una unidad de codificación raíz, y tienen una profundidad de transformación de 1. Las unidades de transformación 1612, 1614, 1614 y 1615 son unidades de transformación de nivel 2 obtenidas mediante la división de una unidad de transformación de nivel 1 en cuatro piezas, y tienen una profundidad de transformación de 2.
La Figura 17 es un diagrama que ilustra un parámetro de incremento de contexto ctxlnc utilizado para determinar un modelo de contexto de una bandera del coeficiente significativo de la unidad de transformación cbf de cada una de las unidades de transformación 1611 a la 1617 de la Figura 16, con base en una profundidad de transformación. En la estructura de árbol de la Figura 17, los nodos de hoja 1711 al 1717 respectivamente corresponden a las unidades de transformación 1611 a la 1617 de la Figura 16, y los valores de 0 y 1 marcados sobre los nodos de hoja 1711 al 1717 indican las banderas de coeficiente significativo de unidad de transformación cbf de las unidades de transformación 1611 a la 1617. También, en la Figura 17, los nodos de hoja que tienen la misma profundidad de transformación son ilustrados en el orden de las unidades de transformación localizadas en el lado superior izquierdo, superior derecho, inferior izquierdo e inferior derecho. Por ejemplo, los nodos de hoja 1712, 1713, 1714 y 1715 de la Figura 17, corresponden respectivamente a las unidades de transformación 1612, 1613, 1614 y 1615 de la Figura 16. También, con referencia a las Figuras 16 y 17, se asume que únicamente las banderas del coeficiente significativo de la unidad de transformación cbf de las unidades de transformación 1612 y 1614 son 1, y que las banderas del coeficiente significativo de la unidad de transformación cbf de las otras unidades de transformación son 0.
Con referencia a la Figura 17, ya que todas las unidades de transformación 1611 a la 1617 de la Figura 16 son obtenidas mediante la división de una unidad de codificación raíz y de este modo tienen profundidades de transformación diferentes de 0, el parámetro de incremento de contextos ctxlnc utilizado para determinar un modelo de contexto de la bandera del coeficiente significativo de la unidad de transformación cbf de cada una de las unidades de transformación 1611 a la 1617, es ajustado para tener un valor de 0.
La Figura 18 es un diagrama que ilustra una unidad de codificación 1811 y una unidad de transformación 1812 incluida en la unidad de codificación 1811, de acuerdo a otra modalidad más de la presente invención. En la Figura 18, una unidad de datos indicada por una línea discontinua denota la unidad de codificación 1811, y una unidad de datos indicada por una línea sólida denota la unidad de transformación 1812.
Con referencia a la Figura 18, si el tamaño de la unidad de codificación 1811 es igual al tamaño de la unidad de transformación 1812 utilizada para transformar la unidad de codificación 1811, una profundidad de transformación (trafodepth) de la unidad de transformación 1812 tiene un valor de 0. Si la unidad de transformación 1812 tiene una profundidad de transformación de 0, un parámetro de incremento de contexto ctxlnc utilizado para determinar un modelo de contexto de una bandera del coeficiente significativo de la unidad de transformación cbf de la unidad de transformación 1812, es ajustado para tener un valor de 1.
El modelador de contexto 1420 de la Figura 14 puede comparar el tamaño de una unidad de codificación al tamaño de una unidad de transformación con base en una profundidad de transformación de la unidad de transformación, puede distinguir un caso cuando la profundidad de transformación de la unidad de transformación es 0, de un caso cuando la profundidad de transformación de la unidad de transformación no es 0, y de este modo puede cambiar el parámetro de incremento de contextos ctxlnc utilizado para determinar un modelo de contexto para la codificación por entropía de la bandera del coeficiente significativo de la unidad de transformación cbf. Al cambiar el parámetro de incremento de contexto ctxclnc utilizado para determinar un modelo de contexto, el modelo de contexto para la codificación por entropía de la bandera del coeficiente significativo de la unidad de transformación cbf puede ser cambiado en un caso cuando la profundidad de transformación de la unidad de transformación es 0 y un caso cuando la profundidad de transformación de la unidad de transformación no es 0.
La Figura 19 es un diagrama que ilustra las banderas de transformación de división split_transform flag utilizadas para determinar la estructura de las unidades de transformación incluidas en la unidad de codificación de la Figura 16, de acuerdo a una modalidad de la presente invención.
El aparato de codificación de vídeo 100 puede señalar la información respecto a la estructura de las unidades de transformación utilizadas para transformar cada unidad de codificación, al aparato de decodificación de vídeo 200. La información respecto a la estructura de las unidades de transformación puede ser señalada mediante el uso de la bandera de transformación de división split_transform_flag que indican si cada unidad de codificación está dividida en las direcciones horizontal y vertical en cuatro unidades de transformación.
Con referencia a las Figuras 16 y 19, ya que una unidad de codificación raíz es dividida en cuatro piezas, una bandera de transformación de división split_transform_flag 1910 de la unidad de codificación raíz es ajustada como 1. Si el tamaño de la unidad de codificación raíz es mayor que el tamaño de una unidad de transformación más grande utilizable, la bandera de transformación de división split_transform_flag 1910 de la unidad de codificación raíz puede siempre ser ajustada como 1 y puede no ser señalada. Esto es debido a que, si el tamaño de una unidad de codificación es mayor que el tamaño de una unidad de transformación más grande utilizable, la unidad de codificación no necesita ser dividida en unidades de codificación más profundas que tengan un tamaño igual a o menor que el tamaño de al menos una unidad de transformación más grande.
Con respecto a cada una de las cuatro unidades de transformación divididas a partir de la unidad de codificación raíz que han tenido una profundidad de transformación de 1, una bandera de transformación de división que indica si se dividen o no cada una de las cuatro unidades de transformación en cuatro unidades de transformación que tienen una profundidad de transformación de 2, es establecida. En la Figura 19, las banderas de transformación de división de las unidades de transformación que tienen la misma profundidad de transformación, son ilustradas en el orden de las unidades de transformación localizadas en los lados superior izquierdo, superior derecho, inferior izquierdo e inferior derecho. Un número de referencia 1911 denota una bandera de transformación de división de la unidad de transformación 1611 de la Figura 16. Ya que la unidad de transformación 1611 no es dividida en las unidades de transformación que tienen una profundidad más baja, la bandera de transformación de división 1911 de la unidad de transformación 1611 tiene un valor de 0. De igual modo, ya que las unidades de transformación 1616 y 1617 de la Figura 16 no están divididas en las unidades de transformación que tienen una profundidad más baja, las banderas de transformación de división 1913 y 1914 de las unidades de transformación 1616 y 1617 tienen un valor de 0. Ya que la unidad de transformación superior derecha que una profundidad de transformación de 1 en la Figura 16 es dividida en las unidades de transformación 1612, 1613, 1614 y 1615 que tienen una profundidad de transformación 2, una bandera de transformación de división 1912 de la unidad de transformación superior derecha tiene una profundidad de transformación de 1. Ya que las unidades de transformación 1612, 1613, 1614 y 1615 que tienen una profundidad de transformación de 2 no están divididas en las unidades de transformación que tienen una profundidad menor, las banderas de transformación de división 1915, 1916, 1917 y 1918 de las unidades de transformación 1612, 1613, 1614 y 1615 que tienen una profundidad de transformación de 2, tienen un valor de 0.
Como se describió anteriormente, un modelo de contexto para la codificación por entropía de una bandera del coeficiente significativo de la unidad de transformación cbf puede ser determinado con base en una profundidad de transformación de una unidad de transformación, y la codificación aritmética binaria puede ser realizada sobre la bandera del coeficiente significativo de la unidad de transformación cbf con base en el modelo de contexto seleccionado. Si la bandera del coeficiente significativo de la unidad de transformación cbf es 0, ya que únicamente existen los coeficientes de transformación 0 en una unidad de transformación actual, únicamente un valor de 0 es codificado o decodificado por entropía como la bandera del coeficiente significativo de la unidad de transformación cbf, y la información del nivel del coeficiente de transformación no es codificado o decodificado por entropía.
Una operación de codificación por entropía de un elemento de sintaxis relacionado a los coeficientes de transformación incluidos en una unidad de transformación de la cual una bandera del coeficiente significativo de la unidad de transformación cbf tiene un valor de 1, es decir, una unidad de transformación que tiene un coeficiente de transformación diferente de 0, será ahora descrita.
La Figura 20 ilustra una unidad de transformación 2000 que es codificada por entropía de acuerdo a una modalidad de la presente invención. Mientras que la unidad de transformación 200 que tiene un tamaño de 16x16 es ilustrada en la Figura 20, el tamaño de la unidad de transformación 2000 no está limitado al tamaño ilustrado de 16x16, sino que puede ser también de diversos tamaños en el intervalo de 4x4 a 32x32.
Con referencia a la Figura 20, para la codificación y decodificación por entropía del coeficiente de transformación incluido en la unidad de transformación 2000, la unidad de transformación 2000 puede ser dividida en unidades de transformación más pequeñas. Una operación de la codificación por entropía de un elemento de sintaxis relacionado a una unidad de transformación 2010 de 4x4 incluida en la unidad de transformación 2000, será ahora descrita. Esta operación de codificación por entropía puede ser también aplicada a una unidad de transformación de diferentes tamaños.
Los coeficientes de transformación incluidos en la unidad de transformación 2010 de 4x4 tienen cada uno un coeficiente de transformación (absCoef) como se ilustra en la Figura 20. Los coeficientes de transformación incluidos en la unidad de transformación 2010 de 4x4 pueden ser puestos en serie de acuerdo a un orden de exploración predeterminado como se ilustra en la Figura 20 y secuencialmente procesados. Sin embargo, el orden de exploración no está limitado como se ilustra sino que puede ser también modificado.
Los ejemplos de los elementos de sintaxis relacionados a los coeficientes de transformación incluidos en la unidad de transformación 2010 de 4x4 son significant_coef_flag que es un elemento de sintaxis que indica si cada coeficiente de transformación incluido en una unidad de transformación es un coeficiente significativo que tiene un valor que no es 0, coef_abs_level_greaterl_flag que es un elemento de sintaxis que indica si un valor absoluto del coeficiente de transformación es mayor de 1, coef_abs_level_greater2_flag, que es un elemento de sintaxis que indica si el valor absoluto es mayor de 2, y coef_abs_level_remaining que es un elemento de sintaxis que indica la información de tamaño de los coeficientes de transformación remanentes.
La Figura 21 ilustra un mapa de significancia SigMap 2100 que corresponde a la unidad de transformación 2010 de la Figura 10.
Con referencia a las Figuras 20 y 21, el mapa de significancia SigMap 2100 que tiene una valor de 1 para cada uno de los coeficientes significantes que tienen un valor que no es 0, de entre los coeficientes de transformación incluidos en la unidad de transformación 2010 de 4x4 de la Figura 20, es establecido. El mapa de significancia SigMap 2100 es codificado o decodificado por entropía mediante el uso de un modelo de contexto previamente establecido.
La Figura 22 ilustra el coef_abas_level_greaterl_flag 2200 que corresponde a la unidad de transformación 2010 de 4x4 de la Figura 20.
Con referencia a las Figuras 20 a la 22, el coef_abs_level_greaterl_flag 2200 que es una bandera que indica si un coeficiente de transformación de significancia correspondiente tiene o no un valor mayor de 1, respecto a los coeficientes significativos para los cuales el mapa de significancia sigma 2100 tiene un valor de 1, es establecido. Cuando el coef_abs_level_greaterl_flag 2200 es 1, éste indica que un coeficiente de transformación correspondiente es un coeficiente de transformación que tiene un valor mayor de 1, y cuando el coef_abs_level_greaterl_flag 2200 es 0, éste indica que un coeficiente de transformación correspondiente es un coeficiente de transformación que tiene un valor de 1. En la Figura 22, cuando coef_abs_level_greaterl_flag 2210 está en una posición de un coeficiente de transformación que tiene un valor de 1, el coef_abs_level_greaterl_flag 2210 tiene un valor de 0.
La Figura 23 ilustra coef_abs_level_greater2_flag 2300 que corresponde a la unidad de transformación 2010 de 4x4 de la Figura 20.
Con referencia a las Figuras 20 a la 23, coef_abs_level_greater2_flag 2300 que indica si un coeficiente de transformación correspondiente tiene un valor mayor de 2, con respecto a los coeficientes de transformación para los cuales el coef_abs_level_greaterl_flag 2200 es ajustado a 1, es establecido. Cuando el coef_abs_level_greater2_flag 2300 es 1, éste indica que un coeficiente de transformación correspondiente es un coeficiente de transformación que tiene un valor mayor de 2, y cuando el coef_abs_level_greater2_flag 2300 es 0, éste indica que un coeficiente de transformación correspondiente es un coeficiente de transformación que tiene un valor de 2. En la Figura 23, cuando coef_abs_level_greater2_flag 2310 está en una posición de un coeficiente de transformación que tiene un valor de 2, el coef_abs_level_greater2_flag 2310 tiene un valor de 0.
Loa Figura 24 ilustra el coef_abs_level_remaining 2400 que corresponde a la unidad de transformación 2010 de 4x4 de la Figura 20.
Con referencia a las Figuras 20 a la 24, el coef_abs_level_remaining 2400 que es un elemento de sintaxis que indica la información de tamaño de los coeficientes de transformación remanentes, puede ser obtenido al calcular (absCoef-baseLevel) de cada coeficiente de transformación.
El coef_abs_level_remaining 2400 que es el elemento de sintaxis que indica la información de tamaño de los coeficientes de transformación remanentes, tiene una diferencia en un intervalo entre el tamaño del coeficiente de transformación (absCoef) y un valor de nivel base baseLevel determinado mediante el uso de coeff_abs_level_greaterl_flag y coeff_abs_level_greater2_flag. El valor del nivel base, baseLevel es determinado de acuerdo a la ecuación: coef_abs_level_greaterl_flag + coef_abs_level_greater2_flag, y coef_abs_level_remaining es determinado de acuerdo a la ecuación : coef_abs_level_remaining=absCoef-baseLevel.
El coef_abs_level_remaining 2400 puede ser leído y codificado por entropía de acuerdo al orden de exploración ilustrado.
La Figura 25 es un diagrama de flujo de un método de codificación por entropía de un vídeo, de acuerdo a una modalidad de la presente invención.
Con referencia a las Figuras 14 y 25, en la operación 2510, el modelador de contexto 1420 obtiene los datos de una unidad de codificación transformada con base en una unidad de transformación. En la operación 2520, el modelador de contexto 1420 determina un modelo de contexto para codificar aritméticamente una bandera del coeficiente significativo de la unidad de transformación que indica si un coeficiente de transformación diferente de 0 existe o no en la unidad de transformación, con base en una profundidad de transformación de la unidad de transformación.
El modelador de contexto 1420 puede determinar diferentes modelos de contexto en un caso cuando el tamaño de la unidad de transformación es igual al tamaño de la unidad de codificación, es decir, cuando la profundidad de transformación de la unidad de transformación es 0, y un caso cuando el tamaño de la unidad de transformación es menor que el tamaño de la unidad de codificación, es decir, cuando la profundidad de transformación de la unidad de transformación no es 0. Con más detalle, el modelador de contexto 1420 puede cambiar un parámetro de incremento de contexto ctxlnc para determinar un modelo de contexto, con base en la profundidad de transformación de la unidad de transformación, puede distinguir un caso cuando la profundidad de transformación de la unidad de transformación es 0 de un caso cuando la profundidad de transformación de la unidad de transformación no es 0, y de este modo puede cambiar un índice de contexto ctxldx para determinar un modelo de contexto para la codificación por entropía de una bandera del coeficiente significativo de la unidad de transformación.
La bandera del coeficiente significativo de la unidad de transformación puede ser separadamente ajustada de acuerdo a los componentes de luma y croma. Un modelo de contexto para la codificación por entropía de una bandera del coeficiente significativo de la unidad de transformación cbf_luma de la unidad de transformación del componente luma puede ser determinado mediante el uso del parámetro de incremento de contexto ctxlnc cambiado de acuerdo a sí la profundidad de transformación de la unidad de transformación es o no 0. Un modelo de contexto para la codificación por entropía de una bandera del coeficiente significativo de la unidad de transformación cbf_cb o cbf_cr de la unidad de transformación del componente croma puede ser determinado mediante el uso de un valor de la profundidad de transformación (trafodepth) como el parámetro de incremento de contexto ctxlnc.
En la operación 2530, la máquina de codificación regular 1432 codifica aritméticamente la bandera del coeficiente significativo de la unidad de transformación con base en el modelo de contexto determinado.
La Figura 26 es un diagrama de bloques de un aparato de decodificación por entropía 2600 de acuerdo a una modalidad de la presente invención. El aparato de decodificación por entropía 2600 corresponde al decodificador por entropía 220 del aparato de decodificación de vídeo 200 de la Figura 2. El aparato de decodificación por entropía 2600 realiza una operación inversa de la operación de codificación por entropía realizada por el aparato de codificación por entropía 1400 descrito anteriormente.
Con referencia a la Figura 26, el aparato de decodificación por entropía 2600 incluye un modelador de contexto 2610, una máquina de decodificación regular 2620, una máquina de decodificación por derivación 2630, y un decodificador binarizador 2640.
Un elemento de sintaxis codificado mediante el uso de la codificación por derivación es enviado al decodificador de derivación 2630 para ser aritméticamente decodificado, y un elemento de sintaxis codificado mediante el uso de la codificación regular es aritméticamente decodificado por el decodificador regular 2620. El decodificador regular 2620 decodifica aritméticamente un valor binario de un elemento de sintaxis actual basada en un modelo de contexto proporcionado mediante el uso del modelador de contexto 2610 para enviar con esto de salida una sarta de bits.
Como el modelador de contexto 1420 anteriormente descrito de la Figura 14, el modelador de contexto 2610 puede seleccionar un modelo de contexto para la decodificación por entropía de una bandera del coeficiente significativo de la unidad de transformación cbf, con base en una profundidad de transformación de una unidad de transformación. Es decir, el modelador de contexto 2610 puede determinar diferentes modelos de contexto en un caso cuando el tamaño de la unidad de transformación es igual al tamaño de una unidad de codificación, es decir, cuando la profundidad de transformación de la unidad de transformación es 0, y un caso cuando el tamaño de la unidad de transformación es menor que el tamaño de la unidad de codificación, es decir, cuando la profundidad de transformación de la unidad de transformación no es 0. Con más detalle, el modelador de contexto 2610 puede cambiar un parámetro de incremento de contexto ctxlnc para determinar un modelo de contexto, con base en la profundidad de transformación de la unidad de transformación, puede distinguir un caso cuando la profundidad de transformación de la unidad de transformación no es 0, y de este modo puede cambiar un índice de contexto ctxldx para determinar un modelo de contexto para la codificación por entropía de la bandera del coeficiente significativo de la unidad de transformación cbf.
Si la estructura de las unidades de transformación incluida en una unidad de codificación es determinada con base en una bandera de transformación de división, división-transformación-bandera que indica si una unidad de codificación obtenida a partir de una corriente de bits es o no dividida en las unidades de transformación, la profundidad de transformación de la unidad de transformación puede ser determinada el número de veces en que la unidad de codificación es dividida para alcanzar la unidad de transformación.
La bandera del coeficiente significativo de la unidad de transformación cbf puede ser separadamente ajustada de acuerdo a los componentes luma y croma. Un modelo de contexto para la decodificación por entropía de una bandera del coeficiente significativo de la unidad de transformación cbf_luma de la unidad de transformación del componente luma, puede ser determinado mediante el uso del parámetro de incremento de contexto ctxlnc que cambia de acuerdo si la profundidad de transformación de la unidad de transformación es 0. Un modelo de contexto para la decodificación por entropía de una bandera del coeficiente significativo de la unidad de transformación cbf_cb o cbf_cr de la unidad de transformación del componente croma, puede ser determinado mediante el uso de un valor de la profundidad de transformación (trafodepth) como el parámetro de incremento de contexto ctxlnc .
El des-binarizador 2640 reconstruye las sartas de bits que son aritmeticamente decodificadas por la máquina de decodificación regular 2620 o la máquina de decodificación por desviación 2630 , a los elementos de sintaxis nuevamente .
El aparato de decodificación por entropía 2600 decodifica aritméticamente los elementos de sintaxis relacionados a las unidades de transformación, tales como coef_abs_level_remaining, SigMap, coef_abs_level_greaterl_flag, y coef_abs_level_greater2_flag además de la bandera del coeficiente significativo de la unidad de transformación cbf, y envía de salida los mismos. Cuando los elementos de sintaxis relacionados a una unidad de transformación son reconstruidos, los datos incluidos en las unidades de transformación pueden ser decodificados mediante el uso de la cuantif icación inversa, la transformación inversa y la decodificación predictiva , con base en los elementos de sintaxis reconstruidos .
La Figura 27 es un diagrama de fluj o de un método de decodificación por entropía de un vídeo, de acuerdo a una modalidad de la presente invención.
Con referencia a la Figura 27 , en la operación 2710 , es determinada una unidad de transformación incluida en una unidad de codificación y utilizada para transformar inversamente la unidad de codificación. Como se describió anteriormente, la estructura de las unidades de transformación incluidas en una unidad de codificación puede ser determinada con base en una bandera de transformación por división, bandera_transform_flag, que indica si la unidad de codificación obtenida a partir de una corriente de bits es o no dividida en unidades de transformación. También, una profundidad de transformación de la unidad de transformación puede ser determinada con base en el número de veces en que la unidad de codificación es dividida para alcanzar la unidad de transformación.
En la operación 2720, el modelador de contexto 2610 obtiene una bandera del coeficiente significativo de la unidad de transformación que indica si existe o no un coeficiente de transformación diferente de 0 en la unidad de transformación, a partir de la corriente de bits.
En la operación 2730, el modelador de contexto 2610 determina un modelo de contexto para decodificar aritméticamente la bandera del coeficiente significativo de la unidad de transformación, con base en la profundidad de transformación de la unidad de transformación. Como se describe anteriormente, el modelador de contexto 2610 puede determinar diferentes modelos de contexto en un caso cuando el tamaño de la unidad de transformación es igual al tamaño de la unidad de codificación, es decir, cuando la profundidad de transformación de la unidad de transformación es 0, y un caso cuando el tamaño de la unidad de transformación es menor que el tamaño de la unidad de codificación, es decir, cuando la profundidad de transformación de la unidad de transformación no es 0. Con más detalle, el modelador de contexto 2610 puede cambiar un parámetro de incremento de contexto ctxclnc para determinar un modelo de contexto, con base en la profundidad de transformación de la unidad de transformación, puede distinguir un caso cuando la profundidad de transformación de la unidad de transformación es 0, de un caso cuando la profundidad de transformación de la unidad de transformación no es 0, y de este modo puede cambiar un índice de contexto ctxldx para determinar un modelo de contexto para la decodificación por entropía de una bandera del coeficiente significativo de la unidad de transformación.
En la operación 2740, la máquina de decodificación regular 2620 decodifica aritméticamente la bandera del coeficiente significativo de la unidad de transformación con base en el modelo de contexto proporcionado a partir del modelador de contexto 2610.
Las modalidades anteriores de la presente invención pueden ser también ejemplificadas como un código legible en computadora en un medio de grabación legible en computadora. El medio legible en computadora es cualquier dispositivo de almacenamiento de datos que pueda almacenar datos que puedan ser posteriormente leídos por un sistema de computadora. Los ejemplos del medio de grabación legible en computadora incluyen la memoria de solo lectura (ROM, por sus siglas en Inglés), memoria de acceso aleatorio (RAM, por sus siglas en Inglés), (CD-ROMs) cintas magnéticas, discos flexibles y dispositivos de almacenamiento óptico de datos. El medio de grabación legible en computadora puede ser también distribuido sobre sistemas de computadora conectados a la red, de modo que el código legible en computadora es almacenado y ejecutado de una manera distribuida.
Mientras que la presente invención ha sido particularmente mostrada y descrita con referencia a las modalidades ejemplares de la misma, podrá ser entendido por una persona de experiencia ordinaria en la téenica que pueden ser realizados diversos cambios en la forma y los detalles en la presente, sin apartarse del espíritu y alcance de la presente invención como es definido por las siguientes reivindicaciones.
Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.

Claims (4)

REIVINDICACIONES Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones:
1. Un método de decodificación de un vídeo, caracterizado porque comprende: obtener una bandera de transformación de división utilizada para determinar una unidad de transformación para el proceso de transformación inversa, a partir de una corriente de bits; obtener al menos una unidad de transformación a partir de una unidad de codificación basada en la bandera de transformación de división; determinar un modelo de contexto para la decodificación aritmética de una bandera del coeficiente significativo de la unidad de transformación que indica si existe o no un coeficiente de transformación diferente de cero en la unidad de transformación, con base en una profundidad de transmisión de la unidad de transformación; y la decodificación aritmética de la bandera del coeficiente significativo de la unidad de transformación con base en el modelo de contexto determinado.
2. El método de conformidad con la reivindicación 1, caracterizado porque la bandera de transformación y división indica si la unidad de codificación es o no dividida en la unidad de transformación, y en donde la obtención de al menos una unidad de transformación comprende: decidir si se divide o no la unidad de codificación en las direcciones horizontal y vertical en cuatro piezas, con base en la bandera de transformación de división; y determinar la unidad de transformación incluida en la unidad de codificación, mediante la división de la unidad de codificación en cuatro piezas o no dividiendo la unidad de codificación de acuerdo a la decisión.
3. El método de conformidad con la reivindicación 1, caracterizado porque la decodificación aritmética de la bandera del coeficiente significativo de la unidad de transformación comprende la realización de la decodificación aritmética binaria sobre la bandera del coeficiente significativo de la unidad de transformación con base en la información respecto a un símbolo más probable (MPS) y un símbolo menos probable (LPS) y un valor de probabilidad de al menos uno del MPS y el LPS, de acuerdo al modelo de contexto determinado.
4. Un aparato de codificación de un vídeo, caracterizado porque comprende: un modelador de contexto para obtener un modelo de contexto para la codificación aritmética de una bandera del coeficiente significativo de la unidad de transformación que indica si existe o no un coeficiente de transformación diferente de cero en una unidad de transformación incluida en una unidad de codificación, con base en una profundidad de transformación de la unidad de transformación; y un codificador aritmético para la codificación aritmética de la bandera del coeficiente significativo de la unidad de transformación con base en el modelo de contexto determinado, en donde la profundidad de transformación indica el número veces que la unidad de codificación es dividida para determinar la unidad de transformación incluida en la unidad de codificación.
MX2015000134A 2012-07-02 2013-07-02 Metodo y aparato para codificar video por entropia, y metodo y aparato para decodificar video por entropia. MX347473B (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261667117P 2012-07-02 2012-07-02
PCT/KR2013/005870 WO2014007524A1 (ko) 2012-07-02 2013-07-02 비디오의 엔트로피 부호화 방법 및 장치, 비디오의 엔트로피 복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
MX2015000134A true MX2015000134A (es) 2015-05-07
MX347473B MX347473B (es) 2017-04-27

Family

ID=49882230

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2015000134A MX347473B (es) 2012-07-02 2013-07-02 Metodo y aparato para codificar video por entropia, y metodo y aparato para decodificar video por entropia.

Country Status (28)

Country Link
US (5) US9407936B2 (es)
EP (5) EP3361734B1 (es)
JP (3) JP6014823B2 (es)
KR (12) KR101484283B1 (es)
CN (7) CN107911699B (es)
AU (4) AU2013285752B2 (es)
BR (3) BR122018069200B1 (es)
CA (2) CA2988167C (es)
CY (1) CY1120791T1 (es)
DK (5) DK2869563T3 (es)
ES (5) ES2673893T3 (es)
HR (1) HRP20180927T1 (es)
HU (3) HUE048718T2 (es)
IN (1) IN2015MN00021A (es)
LT (1) LT2869563T (es)
MX (1) MX347473B (es)
MY (5) MY182016A (es)
PH (5) PH12018500782A1 (es)
PL (5) PL3361735T3 (es)
PT (1) PT2869563T (es)
RS (1) RS57336B1 (es)
RU (3) RU2612624C2 (es)
SG (4) SG10201701381RA (es)
SI (1) SI2869563T1 (es)
TR (1) TR201808497T4 (es)
TW (3) TWI555377B (es)
WO (1) WO2014007524A1 (es)
ZA (1) ZA201500272B (es)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101703327B1 (ko) * 2010-01-14 2017-02-06 삼성전자 주식회사 계층적 데이터 단위의 패턴 정보를 이용하는 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
US10091529B2 (en) * 2010-07-09 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding/decoding a transform coefficient
MX347473B (es) * 2012-07-02 2017-04-27 Samsung Electronics Co Ltd Metodo y aparato para codificar video por entropia, y metodo y aparato para decodificar video por entropia.
CN105409222A (zh) * 2013-07-17 2016-03-16 索尼公司 图像处理装置及方法
JP6066945B2 (ja) * 2014-02-21 2017-01-25 キヤノン株式会社 画像復号装置、画像復号方法及びプログラム
KR102051200B1 (ko) * 2015-05-19 2019-12-02 미디어텍 인크. 다중 테이블 기반의 컨텍스트 적응 이진 산술 코딩을 위한 방법 및 장치
WO2016183814A1 (en) * 2015-05-20 2016-11-24 Mediatek Singapore Pte. Ltd. Coded block flag coding using cross-component correlation
CN105141957B (zh) * 2015-07-31 2019-03-15 广东中星电子有限公司 图像和视频数据编解码的方法和设备
KR20180039578A (ko) * 2015-09-08 2018-04-18 삼성전자주식회사 엔트로피 부호화 및 복호화를 위한 장치 및 방법
WO2017043763A1 (ko) * 2015-09-10 2017-03-16 삼성전자 주식회사 부호화 장치, 복호화 장치, 그 부호화 및 복호화 방법
CN108141594B (zh) * 2015-10-13 2021-02-26 三星电子株式会社 用于对图像进行编码或解码的方法和设备
US10362310B2 (en) * 2015-10-21 2019-07-23 Qualcomm Incorporated Entropy coding techniques for display stream compression (DSC) of non-4:4:4 chroma sub-sampling
WO2017188739A1 (ko) * 2016-04-29 2017-11-02 세종대학교 산학협력단 영상 신호 부호화 및 복호화 방법과 장치
CN113810712A (zh) 2016-04-29 2021-12-17 世宗大学校产学协力团 用于对图像信号进行编码和解码的方法和装置
BR112019013834A2 (pt) * 2017-01-03 2020-01-28 Lg Electronics Inc método e aparelho para codificar / decodificar sinal de vídeo usando transformada secundária
KR102601268B1 (ko) * 2017-02-24 2023-11-10 주식회사 케이티 비디오 신호 처리 방법 및 장치
AU2018254570B2 (en) * 2017-04-21 2021-08-05 Zenimax Media Inc. Systems and methods for deferred post-processes in video encoding
US10560723B2 (en) 2017-05-08 2020-02-11 Qualcomm Incorporated Context modeling for transform coefficient coding
WO2019045538A1 (ko) * 2017-09-04 2019-03-07 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
CN111602397B (zh) * 2018-01-17 2024-01-23 英迪股份有限公司 使用各种变换技术的视频编码方法和装置
US11366738B2 (en) * 2018-03-12 2022-06-21 Headspin, Inc. System to determine performance based on entropy values
WO2020101313A1 (ko) 2018-11-12 2020-05-22 삼성전자 주식회사 계수 레벨의 엔트로피 부호화 방법 및 장치, 엔트로피 복호화 방법 및 장치
CN111435993B (zh) 2019-01-14 2022-08-26 华为技术有限公司 视频编码器、视频解码器及相应方法
WO2020185799A1 (en) * 2019-03-11 2020-09-17 Beijing Dajia Internet Information Technology Co., Ltd. Coding of transform coefficients in video coding
WO2020189971A1 (ko) * 2019-03-15 2020-09-24 엘지전자 주식회사 영상 코딩 시스템에서 변환 스킵 플래그를 이용한 영상 디코딩 방법 및 그 장치
KR102211000B1 (ko) * 2019-06-21 2021-02-02 삼성전자주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
CN112449188B (zh) * 2019-08-28 2021-08-20 腾讯科技(深圳)有限公司 视频解码方法、编码方法、装置、介质及电子设备
KR20220161381A (ko) * 2020-03-24 2022-12-06 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
US20230108690A1 (en) * 2020-03-26 2023-04-06 Lg Electronics Inc. Transform-based image coding method and device therefor
US11386663B1 (en) 2020-08-28 2022-07-12 Headspin, Inc. Reference-free system for determining quality of video data
US20220321909A1 (en) * 2021-03-31 2022-10-06 Tencent America LLC Harmonized design between multiple reference line intra prediction and transform partitioning
US20230099292A1 (en) * 2021-09-29 2023-03-30 Malini MANOCHA Detection and management of dysfunctions in subterranean operations
CN114531595B (zh) * 2022-04-24 2022-08-09 浙江芯昇电子技术有限公司 cabac二进制化和上下文模型产生的编码方法和装置

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002290243A (ja) * 2001-03-28 2002-10-04 Mitsubishi Electric Corp 符号化方法、符号化装置、復号方法、及び復号装置
JP2003319391A (ja) 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
US7599438B2 (en) * 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
JP2005123732A (ja) * 2003-10-14 2005-05-12 Matsushita Electric Ind Co Ltd デブロックフィルタ処理装置およびデブロックフィルタ処理方法
US20060008009A1 (en) * 2004-07-09 2006-01-12 Nokia Corporation Method and system for entropy coding for scalable video codec
US7664176B2 (en) * 2004-07-09 2010-02-16 Nokia Corporation Method and system for entropy decoding for scalable video bit stream
JP2007043651A (ja) * 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
ES2371188T3 (es) * 2005-09-27 2011-12-28 Qualcomm Incorporated Transcodificador dirigido por el contenido que organiza la transcodificación multimedia usando información del contenido.
JP5715756B2 (ja) * 2006-07-05 2015-05-13 トムソン ライセンシングThomson Licensing マルチビュー・ビデオを符号化し、復号化する方法及び装置
US8335261B2 (en) * 2007-01-08 2012-12-18 Qualcomm Incorporated Variable length coding techniques for coded block patterns
US8515194B2 (en) * 2007-02-21 2013-08-20 Microsoft Corporation Signaling and uses of windowing information for images
US8571104B2 (en) * 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US8335266B2 (en) * 2007-06-29 2012-12-18 Cisco Technology, Inc. Expedited splicing of video streams
US8483282B2 (en) * 2007-10-12 2013-07-09 Qualcomm, Incorporated Entropy coding of interleaved sub-blocks of a video block
JP4895396B2 (ja) 2008-01-22 2012-03-14 キヤノン株式会社 画像復号化装置及び画像復号化方法
US8619856B2 (en) * 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
US8634456B2 (en) * 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
US8503527B2 (en) * 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US8259801B2 (en) * 2008-10-12 2012-09-04 Mediatek Inc. Methods for coding digital media data with prediction information and prediction error information being respectively carried by different bit stream sections
US20100098156A1 (en) * 2008-10-16 2010-04-22 Qualcomm Incorporated Weighted prediction based on vectorized entropy coding
US9300972B2 (en) * 2009-02-09 2016-03-29 Samsung Electronics Co., Ltd. Video encoding method and apparatus using low-complexity frequency transformation, and video decoding method and apparatus
JP5133950B2 (ja) 2009-07-16 2013-01-30 日本電信電話株式会社 コンテクスト適応エントロピ符号化方法および装置,コンテクスト適応エントロピ復号方法および装置,並びにそれらのプログラム
KR101474756B1 (ko) * 2009-08-13 2014-12-19 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR20110017719A (ko) * 2009-08-14 2011-02-22 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101456498B1 (ko) * 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101624649B1 (ko) * 2009-08-14 2016-05-26 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2011048099A1 (en) * 2009-10-20 2011-04-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using a region-dependent arithmetic coding mapping rule
KR101457418B1 (ko) * 2009-10-23 2014-11-04 삼성전자주식회사 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101457894B1 (ko) * 2009-10-28 2014-11-05 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
KR101703327B1 (ko) * 2010-01-14 2017-02-06 삼성전자 주식회사 계층적 데이터 단위의 패턴 정보를 이용하는 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101457396B1 (ko) * 2010-01-14 2014-11-03 삼성전자주식회사 디블로킹 필터링을 이용한 비디오 부호화 방법과 그 장치, 및 디블로킹 필터링을 이용한 비디오 복호화 방법 및 그 장치
US9973768B2 (en) 2010-03-16 2018-05-15 Texas Instruments Incorporated CABAC decoder with decoupled arithmetic decoding and inverse binarization
WO2011126272A2 (en) * 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using dynamic-range transformation, and method and apparatus for decoding video by using dynamic-range transformation
US8942282B2 (en) * 2010-04-12 2015-01-27 Qualcomm Incorporated Variable length coding of coded block pattern (CBP) in video compression
CN101848393B (zh) * 2010-06-08 2011-08-31 上海交通大学 可伸缩视频稀疏信息处理系统
US9661338B2 (en) * 2010-07-09 2017-05-23 Qualcomm Incorporated Coding syntax elements for adaptive scans of transform coefficients for video coding
EP2580912B1 (en) * 2010-07-09 2017-01-25 Samsung Electronics Co., Ltd Method for decoding video by using block merging
SI3104617T1 (sl) 2010-07-09 2017-12-29 Samsung Electronics Co., Ltd. Postopek entropijskega dekodiranja transformnih koeficientov
KR20120008314A (ko) * 2010-07-16 2012-01-30 광운대학교 산학협력단 영상 특성과 문맥에 기반한 적응적인 매크로 블록 크기 조절과 하위 블록의 깊이 조절을 이용한 동영상 부호화/복호화 장치 및 그 방법
RU2543550C2 (ru) 2010-09-30 2015-03-10 Самсунг Электроникс Ко., Лтд. Способ и устройство кодирования видео для кодирования символов с иерархической структурой, способ и устройство декодирования видео для декодирования символов с иерархической структурой
US9025661B2 (en) * 2010-10-01 2015-05-05 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding
US9641846B2 (en) * 2010-10-22 2017-05-02 Qualcomm Incorporated Adaptive scanning of transform coefficients for video coding
US9172963B2 (en) 2010-11-01 2015-10-27 Qualcomm Incorporated Joint coding of syntax elements for video coding
US8976861B2 (en) * 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
CN104811703B (zh) * 2011-01-06 2018-04-20 三星电子株式会社 视频的编码方法和装置及视频的解码方法和装置
WO2012096539A2 (ko) * 2011-01-13 2012-07-19 삼성전자 주식회사 선택적 스캔 모드를 이용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
JP6002973B2 (ja) * 2011-02-23 2016-10-05 サン パテント トラスト 画像符号化方法および画像復号方法
WO2012134246A2 (ko) 2011-04-01 2012-10-04 엘지전자 주식회사 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
CN102215404B (zh) * 2011-05-20 2013-07-10 昌信科技有限公司 嵌入式系统中视频的解码方法和系统
AU2012267006B8 (en) * 2011-06-10 2015-10-29 Hfi Innovation Inc. Method and apparatus of scalable video coding
US20130003858A1 (en) * 2011-06-30 2013-01-03 Vivienne Sze Simplified Context Selection For Entropy Coding of Transform Coefficient Syntax Elements
JP5989772B2 (ja) 2011-07-01 2016-09-07 サムスン エレクトロニクス カンパニー リミテッド 階層的構造のデータ単位を利用したエントロピー符号化方法及び該装置、並びに復号化方法及び該装置
CN103907349B (zh) * 2011-11-04 2018-08-28 夏普株式会社 算术解码装置、图像解码装置、算术编码装置以及算术解码方法
US9237358B2 (en) * 2011-11-08 2016-01-12 Qualcomm Incorporated Context reduction for context adaptive binary arithmetic coding
CN108900839B (zh) * 2011-12-28 2022-05-31 夏普株式会社 图像解码装置及方法、图像编码装置及方法
US9185405B2 (en) * 2012-03-23 2015-11-10 Qualcomm Incorporated Coded block flag inference in video coding
MX347473B (es) * 2012-07-02 2017-04-27 Samsung Electronics Co Ltd Metodo y aparato para codificar video por entropia, y metodo y aparato para decodificar video por entropia.

Also Published As

Publication number Publication date
KR20150009615A (ko) 2015-01-26
TW201811038A (zh) 2018-03-16
PL3361733T3 (pl) 2020-04-30
CN104471934A (zh) 2015-03-25
PH12018500784A1 (en) 2018-10-15
SG10201704574YA (en) 2017-07-28
RU2015102988A (ru) 2016-08-20
BR112014033040A2 (pt) 2017-06-27
PT2869563T (pt) 2018-06-25
CN104471934B (zh) 2018-01-23
CA2876288C (en) 2018-01-16
AU2013285752B2 (en) 2016-02-11
CN104811708B (zh) 2018-02-02
CN104796712B (zh) 2018-09-11
KR20140005101A (ko) 2014-01-14
AU2016201791B2 (en) 2016-11-17
EP3361735A1 (en) 2018-08-15
CN105007489A (zh) 2015-10-28
KR20160148485A (ko) 2016-12-26
TWI655859B (zh) 2019-04-01
MY182019A (en) 2021-01-18
MX347473B (es) 2017-04-27
ES2764988T3 (es) 2020-06-05
JP2015526014A (ja) 2015-09-07
EP3361733B1 (en) 2019-12-25
KR101824057B1 (ko) 2018-01-31
AU2018200355B2 (en) 2018-11-22
EP3361735B1 (en) 2020-01-08
EP3361732B1 (en) 2019-12-11
KR101678573B1 (ko) 2016-11-22
PH12014502873A1 (en) 2015-02-23
KR101678577B1 (ko) 2016-11-22
AU2013285752A2 (en) 2015-02-12
ES2770609T3 (es) 2020-07-02
AU2017200680B2 (en) 2017-10-26
JP2018046573A (ja) 2018-03-22
MY181285A (en) 2020-12-21
SG11201408336RA (en) 2015-02-27
KR101678572B1 (ko) 2016-11-22
JP6510618B2 (ja) 2019-05-08
CY1120791T1 (el) 2019-12-11
US20150195584A1 (en) 2015-07-09
US20150189291A1 (en) 2015-07-02
ES2768086T3 (es) 2020-06-19
PL2869563T3 (pl) 2018-08-31
KR20180021371A (ko) 2018-03-02
US20150117546A1 (en) 2015-04-30
US9591333B2 (en) 2017-03-07
CA2988167A1 (en) 2014-01-09
BR122018069200B1 (pt) 2021-02-09
US9426496B2 (en) 2016-08-23
CA2988167C (en) 2019-05-28
DK3361734T3 (da) 2020-01-02
DK3361732T3 (da) 2020-01-02
PH12014502873B1 (en) 2015-02-23
MY166893A (en) 2018-07-24
KR20150099482A (ko) 2015-08-31
DK2869563T3 (en) 2018-06-25
TW201414314A (zh) 2014-04-01
AU2016201791A1 (en) 2016-04-14
LT2869563T (lt) 2018-07-10
US9516350B2 (en) 2016-12-06
CN104811704B (zh) 2018-07-20
RU2673392C1 (ru) 2018-11-26
MY182016A (en) 2021-01-18
SG10201709163WA (en) 2017-12-28
TR201808497T4 (tr) 2018-07-23
EP3361734B1 (en) 2019-12-11
KR101769429B1 (ko) 2017-08-18
TWI615017B (zh) 2018-02-11
CA2876288A1 (en) 2014-01-09
HUE039986T2 (hu) 2019-02-28
KR20150056078A (ko) 2015-05-22
PL3361732T3 (pl) 2020-03-31
CN107911699A (zh) 2018-04-13
KR20140093201A (ko) 2014-07-25
ES2764989T3 (es) 2020-06-05
KR101678576B1 (ko) 2016-12-06
CN104811708A (zh) 2015-07-29
JP6014823B2 (ja) 2016-10-26
CN104796712A (zh) 2015-07-22
EP3361733A1 (en) 2018-08-15
CN104811707B (zh) 2018-02-13
JP2016213895A (ja) 2016-12-15
KR101484283B1 (ko) 2015-01-20
AU2013285752A1 (en) 2015-01-22
EP2869563A1 (en) 2015-05-06
US20150139297A1 (en) 2015-05-21
IN2015MN00021A (es) 2015-10-16
US20150195583A1 (en) 2015-07-09
SG10201701381RA (en) 2017-04-27
PH12018500783A1 (en) 2018-10-15
EP2869563B1 (en) 2018-06-13
KR20150056079A (ko) 2015-05-22
JP6247354B2 (ja) 2017-12-13
DK3361735T3 (da) 2020-01-27
MY181358A (en) 2020-12-21
SI2869563T1 (en) 2018-08-31
KR101678574B1 (ko) 2016-12-06
HRP20180927T1 (hr) 2018-07-27
CN104811704A (zh) 2015-07-29
PH12018500781A1 (en) 2018-10-15
HUE048718T2 (hu) 2020-08-28
PH12018500782A1 (en) 2018-10-15
BR112014033040B1 (pt) 2020-09-29
EP2869563A4 (en) 2016-01-13
US9525891B2 (en) 2016-12-20
KR101927969B1 (ko) 2018-12-11
RU2642387C1 (ru) 2018-01-24
TW201642654A (zh) 2016-12-01
CN104811707A (zh) 2015-07-29
KR101678575B1 (ko) 2016-11-22
CN107911699B (zh) 2021-08-10
BR122020009714B1 (pt) 2021-06-22
DK3361733T3 (da) 2020-01-20
RU2612624C2 (ru) 2017-03-09
EP3361732A1 (en) 2018-08-15
KR20150099481A (ko) 2015-08-31
US9407936B2 (en) 2016-08-02
KR20170106252A (ko) 2017-09-20
RS57336B1 (sr) 2018-08-31
AU2017200680A1 (en) 2017-02-23
EP3361734A1 (en) 2018-08-15
KR20150099483A (ko) 2015-08-31
ES2673893T3 (es) 2018-06-26
TWI555377B (zh) 2016-10-21
PL3361735T3 (pl) 2020-04-30
ZA201500272B (en) 2022-05-25
PL3361734T3 (pl) 2020-03-31
AU2018200355A1 (en) 2018-02-08
WO2014007524A1 (ko) 2014-01-09
KR20140122698A (ko) 2014-10-20
HUE049140T2 (hu) 2020-09-28

Similar Documents

Publication Publication Date Title
AU2018200355B2 (en) Method and apparatus for entropy coding video and method and apparatus for entropy decoding video
TWI640191B (zh) 對視訊進行解碼的裝置
US9414088B2 (en) Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding

Legal Events

Date Code Title Description
FG Grant or registration