ES2764988T3 - Codificación por entropía de un vídeo y decodificación por entropía de un vídeo - Google Patents
Codificación por entropía de un vídeo y decodificación por entropía de un vídeo Download PDFInfo
- Publication number
- ES2764988T3 ES2764988T3 ES18165271T ES18165271T ES2764988T3 ES 2764988 T3 ES2764988 T3 ES 2764988T3 ES 18165271 T ES18165271 T ES 18165271T ES 18165271 T ES18165271 T ES 18165271T ES 2764988 T3 ES2764988 T3 ES 2764988T3
- Authority
- ES
- Spain
- Prior art keywords
- transformation
- unit
- depth
- encoding
- context
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000009466 transformation Effects 0.000 claims abstract description 584
- 238000000034 method Methods 0.000 claims description 29
- 230000001052 transient effect Effects 0.000 claims 2
- 238000005192 partition Methods 0.000 description 152
- 238000010586 diagram Methods 0.000 description 36
- 239000000284 extract Substances 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 4
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 244000205574 Acorus calamus Species 0.000 description 1
- 235000006480 Acorus calamus Nutrition 0.000 description 1
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/12—Selection 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/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/18—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Un aparato de decodificación de vídeo, comprendiendo el aparato: un analizador sintáctico obtiene, desde una secuencia de bits, una bandera de transformación de división para una profundidad actual, y cuando la bandera de transformación de división indica no división para la profundidad actual, determina que una profundidad de transformación es igual a la profundidad actual; un modelador de contexto que determina un parámetro de incremento de contexto para determinar un índice de contexto basándose en únicamente si la profundidad de transformación es igual a cero, y obtiene un modelo de contexto para decodificación aritmética de una bandera de coeficiente significativo de unidad de transformación de un componente de luminancia que indica si existe un coeficiente de transformación distinto de cero en la unidad de transformación del componente de luminancia, usando el índice de contexto obtenido añadiendo el parámetro de incremento de contexto y un desplazamiento de contexto; y un decodificador aritmético que decodifica aritméticamente la bandera de coeficiente significativo de unidad de transformación basándose en el modelo de contexto, y determina si existe al menos un coeficiente de transformación distinto de cero en la unidad de transformación de la profundidad de transformación, basándose en la bandera significativa de la unidad de transformación, en el que, cuando la profundidad de transformación es igual a cero, el modelador de contexto determina el parámetro de incremento de contexto como uno; y cuando la profundidad de transformación no es igual a cero, el modelador de contexto determina el parámetro de incremento de contexto como cero, en el que, cuando la bandera de transformación dividida indica una división para la profundidad actual, una unidad de transformación de la profundidad actual se divide en una o varias unidades de transformación de la siguiente profundidad, y se obtiene una bandera de transformación dividida para la siguiente profundidad de la secuencia de bits.
Description
DESCRIPCIÓN
Codificación por entropía de un vídeo y decodificación por entropía de un vídeo
Campo técnico
Una o más de las realizaciones de la presente invención se refieren a codificación y decodificación de vídeo, y más particularmente, a un procedimiento y aparato para codificación y decodificación por entropía de información relacionada con una unidad de transformación.
Antecedentes de la técnica
De acuerdo con los procedimientos de compresión de imagen tales como MPEG-1, MPEG-2, o MPEG-4 H.264/MPEG-4 codificación de vídeo avanzada (AVC), una imagen se divide en bloques que tienen un tamaño predeterminado, y a continuación, se obtienen datos residuales de los bloques por inter predicción o intra predicción. Los datos residuales se comprimen por transformación, cuantificación, exploración, codificación por longitud de serie, y codificación por entropía. En codificación por entropía, un elemento de sintaxis tal como un coeficiente de transformación o un modo de predicción se codifica por entropía para emitir una secuencia de bits. Un decodificador analiza y extrae elementos de sintaxis desde una secuencia de bits, y reconstruye una imagen basándose en los elementos de sintaxis extraídos. El documento BROSS B Y COL.: "High Efficiency Video Coding (HEVC) text specification draft 7", 9. JCT-VC MEETING; 100. MPEG MEETING; 27-4-2012 - 7-5-2012; GÉNOVA; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 y ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, n.° JCTVC-11003, 10 de mayo de 2012, (10-05-2012) se considera antecedents de la técnica relevantes.
Divulgación de la invención
Problema técnico
Una o más de las realizaciones de la presente invención incluyen un procedimiento y aparato de decodificación por entropía para seleccionar un modelo de contexto usado para codificar y decodificar por entropía un elemento de sintaxis relacionado con una unidad de transformación que es una unidad de datos usada para transformar una unidad de codificación, basándose en una profundidad de transformación que indica una relación de división jerárquica entre la unidad de codificación y la unidad de transformación.
Solución técnica
Se determina un modelo de contexto para decodificar aritméticamente una bandera de coeficiente significativo de unidad de transformación basándose en una profundidad de transformación que indica el número de veces que se divide la unidad de codificación para determinar la unidad de transformación incluida en la unidad de codificación, y la bandera de coeficiente significativo de unidad de transformación se decodifica aritméticamente basándose en el modelo de contexto determinado.
Efectos ventajosos
De acuerdo con las realizaciones de la presente invención, seleccionando un modelo de contexto basándose en una profundidad de transformación, puede simplificarse una condición para seleccionar el modelo de contexto y puede simplificarse también la operación para codificación y decodificación por entropía.
Breve descripción de los dibujos
La Figura 1 es un diagrama de bloques de un aparato de codificación de vídeo de acuerdo con una realización de la presente invención.
La Figura 2 es un diagrama de bloques de un aparato de decodificación de vídeo de acuerdo con una realización de la presente invención.
La Figura 3 es un diagrama para describir un concepto de unidades de codificación de acuerdo con una realización de la presente invención.
La Figura 4 es un diagrama de bloques de un codificador de vídeo basado en unidades de codificación que tienen una estructura jerárquica, de acuerdo con una realización de la presente invención.
La Figura 5 es un diagrama de bloques de un decodificador de vídeo basado en unidades de codificación que tienen una estructura jerárquica, de acuerdo con una realización de la presente invención.
La Figura 6 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con las profundidades, y particiones, de acuerdo con una realización de la presente invención.
La Figura 7 es un diagrama para describir una relación entre una unidad de codificación y unidades de transformación, de acuerdo con una realización de la presente invención.
La Figura 8 es un diagrama para describir información de codificación de unidades de codificación que corresponden a una profundidad codificada, de acuerdo con una realización de la presente invención.
La Figura 9 es un diagrama de unidades de codificación más profundas de acuerdo con las profundidades, de
acuerdo con una realización de la presente invención.
Las Figuras 10 a 12 son diagramas para describir una relación entre unidades de codificación, unidades de predicción, y unidades de transformación de frecuencia, de acuerdo con una realización de la presente invención. La Figura 13 es un diagrama para describir una relación entre una unidad de codificación, una unidad de predicción, y una unidad de transformación, de acuerdo con la información de 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 con una realización de la presente invención.
La Figura 15 es un diagrama de flujo de una operación de codificación y decodificación por entropía de un elemento de sintaxis relacionado con una unidad de transformación, de acuerdo con una realización de la presente invención.
La Figura 16 es un diagrama que ilustra una unidad de codificación y unidades de transformación incluidas en la unidad de codificación, de acuerdo con una realización de la presente invención.
La Figura 17 es un diagrama que ilustra un parámetro de incremento de contexto usado para determinar un modelo de contexto de una bandera de coeficiente significativo de unidad de transformación de cada una de las unidades de transformación de la Figura 16, basándose 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 incluida en la unidad de codificación, de acuerdo con otra realización de la presente invención.
La Figura 19 es un diagrama que ilustra banderas de transformación de división usadas para determinar la estructura de unidades de transformación incluidas en la unidad de codificación de la Figura 16, de acuerdo con una realización de la presente invención.
La Figura 20 ilustra una unidad de transformación que se codifica por entropía de acuerdo con una realización de la presente invención;
La Figura 21 ilustra un mapa de significado que corresponde a la unidad de transformación de la Figura 20; La Figura 22 ilustra coeff_abs_level_greater1_flag que corresponde a la unidad de transformación de 4x4 de la Figura 20;
La Figura 23 ilustra coeff_abs_level_greater2_flag que corresponde a la unidad de transformación de 4x4 de la Figura 20;
La Figura 24 ilustra coeff_abs_level_remaining que corresponde a la unidad de transformación de 4x4 de la Figura 20;
La Figura 25 es un diagrama de flujo de un procedimiento de codificación por entropía de un vídeo, de acuerdo con una realización de la presente invención.
La Figura 26 es un diagrama de bloques de un aparato de decodificación por entropía de acuerdo con una realización de la presente invención;
La Figura 27 es un diagrama de flujo un procedimiento de decodificación por entropía de un vídeo, de acuerdo con una realización de la presente invención.
Mejor modo para llevar a cabo la invención
La presente invención se establece en el juego de reivindicaciones adjuntas. Los ejemplos adicionales llamados realizaciones en la descripción son ejemplos ilustrativos, no realizaciones reivindicadas en la presente solicitud. De acuerdo con una o varias realizaciones de la presente invención, un procedimiento de decodificación de entropía de un vídeo, el procedimiento incluye determinar una unidad de transformación incluida en una unidad de codificación y usada para transformar inversamente la unidad de codificación; obtener un indicador de coeficiente significativo de la unidad de transformación que indica si existe un coeficiente de transformación distinto de cero en la unidad de transformación, de un flujo de bits; si el número de veces que la unidad de codificación se divide para determinar la unidad de transformación se denomina profundidad de transformación de la unidad de transformación, determinar un modelo de contexto para decodificar aritméticamente el indicador de coeficiente significativo de la unidad de transformación, basándose en la profundidad de transformación de la unidad de transformación; y decodificar aritméticamente el indicador de coeficiente significativo de la unidad de transformación basándose en el modelo de contexto determinado.
De acuerdo con una o varias realizaciones de la presente invención, un aparato de decodificación de entropía de un vídeo, el aparato incluye un analizador para obtener un indicador de coeficiente significativo de unidad de transformación que indica si existe un coeficiente de transformación distinto de cero en una unidad de transformación incluida en una unidad de codificación y usada para transformar inversamente la unidad de codificación, de un flujo de bits; un modelador de contexto para, si el número de veces que la unidad de codificación se divide para determinar la unidad de transformación se denomina profundidad de transformación de la unidad de transformación, determinar un modelo de contexto para decodificar aritméticamente el indicador de coeficiente significativo de la unidad de transformación, basándose en la profundidad de transformación de la unidad de transformación; y un decodificador aritmético decodificar aritméticamente el indicador de coeficiente significativo de la unidad de transformación basándose en el modelo de contexto determinado.
De acuerdo con una o varias realizaciones de la presente invención, un procedimiento de codificación de entropía de un vídeo, el procedimiento incluye obtener datos de una unidad de codificación transformada basándose en una unidad de transformación; si el número de veces que la unidad de codificación se divide para determinar la unidad de transformación se denomina profundidad de transformación de la unidad de transformación, determinar un
modelo de contexto para codificar aritméticamente un indicador de coeficiente significativo de la unidad de transformación que indica si existe un coeficiente de transformación distinto de cero en la unidad de transformación, basándose en la profundidad de transformación de la unidad de transformación; y codificar aritméticamente el indicador de coeficiente significativo de la unidad de transformación basándose en el modelo de contexto determinado.
De acuerdo con una o varias realizaciones de la presente invención, un aparato de codificación de entropía de un vídeo, el aparato incluye un modelador de contexto para obtener datos de una unidad de codificación transformada basándose en una unidad de transformación y, si el número de veces que la unidad de codificación se divide para determinar la unidad de transformación se denomina profundidad de transformación de la unidad de transformación, determinar un modelo de contexto para codificar aritméticamente un indicador de coeficiente significativo de la unidad de transformación que indica si existe un coeficiente de transformación distinto de cero en la unidad de transformación, basándose en la profundidad de transformación de la unidad de transformación; y un codificador aritmético para codificar aritméticamente el indicador de coeficiente significativo de la unidad de transformación basándose en el modelo de contexto determinado.
Modo para la invención
En lo sucesivo, se describirá un procedimiento y aparato para actualizar un parámetro usado en codificación y decodificación por entropía de información de tamaño de una unidad de transformación de acuerdo con una realización de la presente invención con referencia a las Figuras 1 a 13. Además, se describirá un procedimiento de codificación y decodificación por entropía de un elemento de sintaxis obtenido usando el procedimiento de codificación y decodificación por entropía de un vídeo descrito con referencia a las Figuras 1 a 13 en detalle con referencia a las Figuras 14 a 27. Expresiones tales como "al menos uno de", cuando preceden una lista de elementos, modifican la lista completa de elementos y no modifican los elementos individuales de la lista.
La Figura 1 es un diagrama de bloques de un aparato 100 de codificación de vídeo de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de vídeo incluye un codificador 110 jerárquico y un codificador 120 por entropía. El codificador 110 jerárquico puede dividir una instantánea actual a codificarse, en unidades de unidades de datos predeterminadas para realizar codificación en cada una de las unidades de datos. En detalle, el codificador 110 jerárquico puede dividir una instantánea actual basándose en una unidad de codificación más grande, que es una unidad de codificación de un tamaño máximo. La unidad de codificación más grande de acuerdo con una realización de la presente invención puede ser una unidad de datos que tiene un tamaño de 32x32, 64x64, 128x128, 256x256, etc., en la que una forma de la unidad de datos es un cuadrado que tiene anchura y longitud en cuadrados de 2 y es mayor que 8.
Una unidad de codificación de acuerdo con una realización de la presente invención puede estar caracterizada por un tamaño máximo y una profundidad. La profundidad indica el número de veces que se divide espacialmente la unidad de codificación desde la unidad de codificación más grande, y a medida que la profundidad se hace más profunda, pueden dividirse unidades de codificación de acuerdo con las profundidades desde 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 más superior y una profundidad de la unidad de codificación más pequeña es una profundidad más inferior. Puesto que un tamaño de una unidad de codificación que corresponde a cada profundidad se reduce a medida que la profundidad de la unidad de codificación más grande se hace profunda, una unidad de codificación que corresponde a una profundidad superior puede incluir una pluralidad de unidades de codificación que corresponden a profundidades inferiores.
Como se ha descrito anteriormente, los datos de imagen de la instantánea actual se dividen en las unidades de codificación más grandes de acuerdo con un tamaño máximo de la unidad de codificación, y cada una de las unidades de codificación más grandes pueden incluir unidades de codificación más profundas que se dividen de acuerdo con las profundidades. Puesto que la unidad de codificación más grande de acuerdo con una realización de la presente invención se divide de acuerdo con las profundidades, los datos de imagen de un dominio espacial incluidos en la unidad de codificación más grande pueden clasificarse jerárquicamente de acuerdo con 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 que se divide jerárquicamente una altura y una anchura de la unidad de codificación más grande, pueden estar predeterminados.
El codificador 110 jerárquico codifica al menos una región de división obtenida dividiendo una región de la unidad de codificación más grande de acuerdo con las profundidades, y determina una profundidad para emitir datos de imagen finalmente codificados de acuerdo con la al menos una región de división. En otras palabras, el codificador 110 jerárquico determina una profundidad codificada codificando los datos de imagen en las unidades de codificación más profundas de acuerdo con las profundidades, de acuerdo con la unidad de codificación más grande de la instantánea actual, y seleccionando una profundidad que tiene el error mínimo de codificación. La profundidad
codificada determinada y los datos de imagen codificados de acuerdo con unidades de codificación máxima se emiten al codificador 120 por entropía.
Los datos de imagen en la unidad de codificación más grande se codifican basándose en las unidades de codificación más profundas que corresponden a al menos una profundidad igual a o menor que la profundidad máxima, y los resultados de codificar los datos de imagen se comparan basándose en cada una de las unidades de codificación más profundas. Una profundidad que tiene el error de codificación mínimo puede seleccionarse después de comparar errores de codificación de las unidades de codificación más profundas. Al menos una profundidad codificada puede seleccionarse para cada unidad de codificación más grande.
El tamaño de la unidad de codificación más grande se divide a medida que una unidad de codificación se divide jerárquicamente de acuerdo con las profundidades y a medida que el número de unidades de codificación aumenta. También, incluso si las unidades de codificación corresponden a una misma profundidad en una unidad de codificación más grande, se determina si dividir cada una de las unidades de codificación que corresponden a la misma profundidad a una profundidad inferior midiendo un error de codificación de los datos de imagen de cada unidad de codificación, de manera separada. Por consiguiente, incluso cuando se incluyen datos de imagen en una unidad de codificación más grande, los datos de imagen se dividen en regiones de acuerdo con las profundidades, y los errores de codificación pueden diferenciarse de acuerdo con las regiones en la una unidad de codificación más grande, y por lo tanto las profundidades codificadas pueden diferenciarse de acuerdo con las regiones en los datos de imagen. Por lo tanto, puede determinarse una o más profundidades codificadas en una unidad de codificación más grande, y los datos de imagen de la unidad de codificación más grande pueden dividirse de acuerdo con unidades de codificación de al menos una profundidad codificada.
Por consiguiente, el codificador 110 jerárquico puede determinar unidades de codificación que tienen una estructura de árbol incluida en la unidad de codificación más grande. Las 'unidades de codificación que tienen una estructura de árbol' de acuerdo con una realización de la presente invención incluyen unidades de codificación que corresponden a una profundidad determinada para que sea la profundidad codificada, de entre todas las unidades de codificación más profundas incluidas en la unidad de codificación más grande. Una unidad de codificación que tiene una profundidad codificada puede determinarse jerárquicamente de acuerdo con las profundidades en la misma región de la unidad de codificación más grande, y puede determinarse independientemente en diferentes regiones. De manera similar, una profundidad codificada en una región actual puede determinarse independientemente desde una profundidad codificada en otra región.
Una profundidad máxima de acuerdo con una realización de la presente invención es un índice relacionado con el número de veces que se divide una unidad de codificación más grande en las unidades de codificación más pequeñas. Una primera profundidad máxima de acuerdo con una realización de la presente invención puede indicar el número total de veces que se divide la unidad de codificación más grande en las unidades de codificación más pequeñas. Una segunda profundidad máxima de acuerdo con una realización de la presente invención puede indicar el número total de niveles de profundidad desde la unidad de codificación má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 0, una profundidad de una unidad de codificación, en la que la unidad de codificación más grande se divide una vez, puede establecerse a 1, y una profundidad de una unidad de codificación, en la que la unidad de codificación más grande se divide dos veces, puede establecerse a 2. En este punto, si la unidad de codificación más pequeña es una unidad de codificación en la que se divide la unidad de codificación más grande cuatro veces, existen cinco niveles de profundidad de profundidades 0, 1, 2, 3, y 4, y por lo tanto la primera profundidad máxima puede establecerse a 4, y la segunda profundidad máxima puede establecerse a 5.
Puede realizarse codificación por predicción y transformación de acuerdo con la unidad de codificación más grande. La codificación por predicción y la transformación se realizan también basándose en las unidades de codificación más profundas de acuerdo con una profundidad igual a o profundidades menores que la profundidad máxima, de acuerdo con la unidad de codificación más grande.
Puesto que el número de unidades de codificación más profundas aumenta cada vez que la unidad de codificación más grande se divide de acuerdo con las profundidades, se realiza codificación que incluye la codificación por predicción y la transformación en todas las unidades de codificación más profundas generadas a medida que la profundidad se hace más profunda. Por conveniencia de descripción, la codificación por predicción y la transformación se describirán ahora basándose en una unidad de codificación de una profundidad actual, en una unidad de codificación más grande.
El aparato 100 de codificación de vídeo puede seleccionar de manera variable un tamaño o forma de una unidad de datos para codificar los datos de imagen. Para codificar los datos de imagen, se realizan operaciones, tales como codificación por predicción, transformación, y codificación por entropía, y en este momento, la misma unidad de datos puede usarse para todas las operaciones o pueden usarse diferentes unidades de datos para cada operación. Por ejemplo, el aparato 100 de codificación de vídeo puede seleccionar no únicamente una unidad de codificación para codificar los datos de imagen, sino también una unidad de datos diferente de la unidad de codificación para realizar la codificación por predicción en los datos de imagen en la unidad de codificación.
Para realizar codificación por predicción en la unidad de codificación más grande, la codificación por predicción puede realizarse basándose en una unidad de codificación que corresponde a una profundidad codificada, es decir, basándose en una unidad de codificación que no se divide más en unidades de codificación que corresponden a una profundidad inferior. En lo sucesivo, la unidad de codificación que no se divide más y se vuelve una unidad de base para codificación por predicción se denominará como una 'unidad de predicción'. Una partición obtenida dividiendo la unidad de predicción puede incluir una unidad de predicción o una unidad de datos obtenida dividiendo al menos una de una altura y una anchura de la unidad de predicción.
Por ejemplo, cuando una unidad de codificación de 2Nx2N (donde N es un entero positivo) ya no se divide más y se vuelve una unidad de predicción de 2Nx2N, un tamaño de una partición puede ser 2Nx2N, 2NxN, Nx2N, o NxN. Ejemplos de un tipo de partición incluyen particiones simétricas que se obtienen dividiendo simétricamente una altura o anchura de la unidad de predicción, particiones obtenidas dividiendo asimétricamente la altura o anchura de la unidad de predicción, tal como 1:n o n:1, particiones que se obtienen dividiendo geométricamente la unidad de predicción, y particiones que tienen formas arbitrarias.
Un modo de predicción de la unidad de predicción puede ser al menos uno de un intra modo, un inter modo, y un modo de salto. Por ejemplo, el intra modo o el inter modo puede realizarse en la partición de 2Nx2N, 2NxN, Nx2N, o NxN. También, el modo de salto puede realizarse únicamente en la partición de 2Nx2N. La codificación se realiza independientemente en una unidad de predicción en una unidad de codificación, seleccionando de esta manera un modo de predicción que tiene el error mínimo de codificación.
El aparato 100 de codificación de vídeo puede realizar también la transformación en los datos de imagen en una unidad de codificación basándose no únicamente en la unidad de codificación para codificar los datos de imagen, sino también basándose en una unidad de datos que es diferente de la unidad de codificación.
Para realizar la transformación en la unidad de codificación, la transformación puede realizarse basándose en una unidad de datos que tiene un tamaño 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 intra modo y una unidad de datos para un inter modo.
Una unidad de datos usada como una base de la transformación se denomina como una 'unidad de transformación'. De manera similar a la unidad de codificación, la unidad de transformación en la unidad de codificación puede dividirse de manera recursiva en regiones con tamaño menor, de modo que la unidad de transformación puede determinarse de manera independiente en unidades de regiones. Por lo tanto, pueden dividirse datos residuales en la unidad de codificación de acuerdo con la unidad de transformación que tiene la estructura de árbol de acuerdo con las profundidades de transformación.
Una profundidad de transformación que indica el número de veces que se divide la altura y anchura de la unidad de codificación para alcanzar la unidad de transformación puede establecerse también en la unidad de transformación. Por ejemplo, en una unidad de codificación actual de 2Nx2N, una profundidad de transformación puede ser 0 cuando el tamaño de una unidad de transformación es 2Nx2N, puede ser 1 cuando el tamaño de una unidad de transformación es NxN, y puede ser 2 cuando el tamaño de una unidad de transformación es N/2xN/2. Es decir, la unidad de transformación que tiene la estructura de árbol puede establecerse también de acuerdo con las profundidades de transformación.
La información de codificación de acuerdo con unidades de codificación que corresponden a una profundidad codificada requiere no únicamente información acerca de la profundidad codificada, sino también acerca de información relacionada con codificación por predicción y transformación. Por consiguiente, el codificador 110 jerárquico no determina únicamente una profundidad codificada que tiene el error mínimo de codificación, sino también determina un tipo de partición en una unidad de predicción, un modo de predicción de acuerdo con unidades de predicción, y un tamaño de una unidad de transformación para transformación.
Las unidades de codificación de acuerdo con una estructura de árbol en una unidad de codificación más grande y un procedimiento de determinación de una partición, de acuerdo con las realizaciones de la presente invención, se describirán en detalle a continuación con referencia a las Figuras 3 a 12.
El codificador 110 jerárquico puede medir un error de codificación de unidades de codificación más profundas de acuerdo con las profundidades usando optimización de Tasa-Distorsión basándose en multiplicadores de Lagrange. El codificador 120 por entropía emite los datos de imagen de la unidad de codificación más grande, que se codifica basándose en la al menos una profundidad codificada determinada por el codificador 110 jerárquico, y la información acerca del modo de codificación de acuerdo con la profundidad codificada, en secuencias de bits. Los datos de imagen codificados pueden ser un resultado de codificación de datos residuales de una imagen. La información acerca del modo de codificación de acuerdo con la profundidad codificada puede incluir información acerca de la profundidad codificada, información acerca del tipo de partición en la unidad de predicción, información de modo de predicción, e información de tamaño de la unidad de transformación. En particular, como se describirá a continuación, el codificador 120 por entropía puede codificar por entropía una bandera de coeficiente significativo de unidad de transformación (coded_block_flag) cbf que indica si un coeficiente de transformación distinto de 0 está
incluido en una unidad de transformación, usando un modelo de contexto determinado basándose en una profundidad de transformación de la unidad de transformación. Se describirá a continuación una operación de codificación por entropía elementos de sintaxis relacionados con una unidad de transformación en la unidad de codificación por entropía 120.
La información acerca de la profundidad codificada puede definirse usando información de división de acuerdo con las profundidades, que indica si se realiza codificación en unidades de codificación de una profundidad inferior en lugar de una profundidad actual. Si la profundidad actual de la unidad de codificación actual es la profundidad codificada, se codifican y emiten datos de imagen en la unidad de codificación actual, y por lo tanto la información de división puede definirse para no dividir la unidad de codificación actual a una profundidad inferior. Como alternativa, si la profundidad actual de la unidad de codificación actual no es la profundidad codificada, se realiza la codificación en la unidad de codificación de la profundidad inferior, y por lo tanto la información de división puede definirse para dividir la unidad de codificación actual para obtener las unidades de codificación de la profundidad inferior.
Si la profundidad actual no es la profundidad codificada, se realiza codificación en la unidad de codificación que se divide en la unidad de codificación de la profundidad inferior. Puesto que al menos existe una unidad de codificación de la profundidad inferior en una unidad de codificación de la profundidad actual, la codificación se realiza de manera repetitiva en cada unidad de codificación de la profundidad inferior, y por lo tanto la codificación puede realizarse de manera recursiva para las unidades de codificación que tienen la misma profundidad.
Puesto que se determinan las unidades de codificación que tienen una estructura de árbol para una unidad de codificación más grande, y se determina información acerca de al menos un modo de codificación para una unidad de codificación de una profundidad codificada, puede determinarse información acerca de al menos un modo de codificación para una unidad de codificación más grande. También, una profundidad codificada de los datos de imagen de la unidad de codificación más grande puede ser diferente de acuerdo con las localizaciones puesto que los datos de imagen se dividen jerárquicamente de acuerdo con las profundidades, y por lo tanto puede establecerse información acerca de la profundidad codificada y el modo de codificación para los datos de imagen.
Por consiguiente, el codificador 120 por entropía puede asignar información de codificación acerca de una profundidad codificada correspondiente y un modo de codificación para al menos una de la unidad de codificación, la unidad de predicción, y una unidad mínima incluidas en la unidad de codificación más grande.
La unidad mínima de acuerdo con una realización de la presente invención es una unidad de datos con forma cuadrada obtenida dividiendo por 4 la unidad de codificación más pequeña que constituye la profundidad más inferior. Como alternativa, la unidad mínima puede ser una unidad de datos con forma cuadrada máxima que puede estar incluida en todas las unidades de codificación, unidades de predicción, unidades de partición y unidades de transformación incluidas en la unidad de codificación más grande.
Por ejemplo, la información de codificación emitida a través del codificador 120 por entropía puede clasificarse en información de codificación de acuerdo con unidades de codificación e información de codificación de acuerdo con unidades de predicción. La información de codificación de acuerdo con las unidades de codificación puede incluir la información acerca del modo de predicción y acerca del tamaño de las particiones. La información de codificación de acuerdo con las unidades de predicción puede incluir información acerca de una dirección estimada de un inter modo, acerca de un índice de imagen de referencia del inter modo, acerca de un vector de movimiento, acerca de un componente de crominancia de un intra modo, y acerca de un procedimiento de interpolación del intra modo. También, la información acerca de un tamaño máximo de la unidad de codificación definida de acuerdo con instantáneas, cortes, o GOP, e información acerca de una profundidad máxima puede insertarse en un encabezamiento de una secuencia de bits.
En el aparato 100 de codificación de vídeo, la unidad de codificación más profunda puede ser una unidad de codificación obtenida dividiendo por dos una altura o anchura de una unidad de codificación de una profundidad superior, que se encuentra una capa por encima. En otras palabras, cuando el tamaño de la unidad de codificación de la profundidad actual es 2Nx2N, el tamaño de la unidad de codificación de la profundidad inferior es NxN. También, la unidad de codificación de la profundidad actual que tiene el tamaño de 2Nx2N puede incluir un número máximo de cuatro unidades de codificación de la profundidad inferior.
Por consiguiente, el aparato 100 de codificación de vídeo puede formar las unidades de codificación que tienen la estructura de árbol determinando unidades de codificación que tienen una forma óptima y un tamaño óptimo para cada unidad de codificación más grande, basándose en el tamaño de la unidad de codificación más grande y la profundidad máxima determinada considerando características de la instantánea actual. También, puesto que puede realizarse codificación en cada unidad de codificación más grande usando uno cualquiera de diversos modos de predicción y transformaciones, puede determinarse un modo de codificación óptima considerando características de la unidad de codificación de diversos tamaños de imagen.
Por lo tanto, si una imagen que tiene una alta resolución o una gran cantidad de datos se codifica en un macrobloque convencional, aumenta excesivamente un número de macrobloques por instantánea. Por consiguiente, aumenta un número de piezas de información comprimida generadas para cada macrobloque, y por lo tanto es difícil
transmitir la información comprimida y se reduce la eficacia de compresión de datos. Sin embargo, usando el aparato 100 de codificación de vídeo, puede aumentarse la eficacia de compresión de imagen puesto que se ajusta una unidad de codificación mientras se consideran características de una imagen mientras se aumenta un tamaño máximo de una unidad de codificación mientras se considera un tamaño de la imagen.
La Figura 2 es un diagrama de bloques de un aparato 200 de decodificación de vídeo de acuerdo con una realización de la presente invención.
El aparato 200 de decodificación de vídeo incluye un analizador 210, un decodificador 220 por entropía, y un decodificador 230 jerárquico. Definiciones de diversos términos, tales como una unidad de codificación, una profundidad, una unidad de predicción, una unidad de transformación, e información acerca de diversos modos de codificación, para diversas operaciones del aparato 200 de decodificación de vídeo son idénticas a aquellas descritas con referencia a la Figura 1 y al aparato 100 de codificación de vídeo.
El analizador 210 recibe una secuencia de bits de un vídeo codificado para analizar un elemento de sintaxis. El decodificador 220 por entropía decodifica aritméticamente elementos de sintaxis que indican datos de imagen codificados basándose en unidades de codificación que tienen una estructura realizando decodificación por entropía de elementos de sintaxis analizados, y emite los elementos de sintaxis decodificados aritméticamente al decodificador 230 jerárquico. Es decir, el decodificador 220 por entropía realiza decodificación por entropía de elementos de sintaxis que se reciben en forma de cadenas de bits de 0 y 1, reconstruyendo de esta manera los elementos de sintaxis.
También, el decodificador 220 por entropía extrae información acerca de una profundidad codificada, un modo de codificación, información de componente de color, información de modo de predicción, etc., para las unidades de codificación que tienen una estructura de árbol de acuerdo con cada unidad de codificación más grande, desde la secuencia de bits analizada. La información extraída acerca de la profundidad codificada y el modo de codificación se emite al decodificador 230 jerárquico. Los datos de imagen en una secuencia de bits se dividen en la unidad de codificación más grande de modo que el decodificador 230 jerárquico puede decodificar los datos de imagen para cada unidad de codificación más grande.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con la unidad de codificación más grande puede establecerse para información acerca de al menos una unidad de codificación que corresponde a la profundidad codificada, y la información acerca de un modo de codificación puede incluir información acerca de un tipo de partición de una unidad de codificación correspondiente que corresponde a la profundidad codificada, acerca de un modo de predicción, y un tamaño de una unidad de transformación. También, la información de división de acuerdo con las profundidades puede extraerse como la información acerca de la profundidad codificada.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con cada unidad de codificación más grande extraída por el decodificador 220 por entropía es información acerca de una profundidad codificada y un modo de codificación determinado para generar un error de codificación mínimo cuando un codificador, tal como el aparato 100 de codificación de vídeo, realiza de manera repetitiva codificación para cada unidad de codificación más profunda de acuerdo con las profundidades de acuerdo con cada unidad de codificación más grande. Por consiguiente, el aparato 200 de decodificación de vídeo puede reconstruir una imagen decodificando los datos de imagen de acuerdo con una profundidad codificada y un modo de codificación que genera el error de codificación mínimo.
Puesto que la información de codificación acerca de la profundidad codificada y el modo de codificación puede asignarse 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 decodificador 220 por entropía puede extraer la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de datos predeterminadas. Cuando la información acerca de una profundidad codificada y modo de codificación de una correspondiente unidad de codificación más grande se asigna a cada una de las unidades de datos predeterminadas, las unidades de datos predeterminadas a las que se asigna la misma información acerca de la profundidad codificada y el modo de codificación puede inferirse que son las unidades de datos incluidas en la misma unidad de codificación más grande. También, como se describirá a continuación, el decodificador 220 por entropía puede decodificar por entropía una bandera de coeficiente significativo de unidad de transformación cbf usando un modelo de contexto determinado basándose en una profundidad de transformación de una unidad de transformación. Una operación de decodificación por entropía de elementos de sintaxis relacionados con una unidad de transformación en el decodificador 220 por entropía se describirá a continuación.
El decodificador 230 jerárquico reconstruye la instantánea actual decodificando los datos de imagen en cada unidad de codificación más grande basándose en la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de codificación más grandes. En otras palabras, el decodificador 230 jerárquico puede decodificar los datos de imagen codificados basándose en la información extraída acerca del tipo de partición, el modo de predicción, y la unidad de transformación para cada unidad de codificación de entre las
unidades de codificación que tienen la estructura de árbol incluida en cada unidad de codificación más grande. Una operación de decodificación puede incluir predicción que incluye intra predicción y compensación de movimiento, y transformación inversa.
El decodificador 230 jerárquico puede realizar intra predicción o compensación de movimiento de acuerdo con una partición y un modo de predicción de cada unidad de codificación, basándose en la información acerca del tipo de partición y el modo de predicción de la unidad de predicción de la unidad de codificación de acuerdo con las profundidades codificadas.
También, el decodificador 230 jerárquico puede realizar transformación inversa de acuerdo con cada unidad de transformación en la unidad de codificación, basándose en la información acerca del tamaño de la unidad de transformación de la unidad de codificación de acuerdo con las profundidades codificadas, para realizar la transformación inversa de acuerdo con unidades de codificación más grandes.
El decodificador 230 jerárquico puede determinar al menos una profundidad codificada de una unidad de codificación más grande actual usando información de división de acuerdo con las profundidades. Si la información de división indica que los datos de imagen ya no se dividen en la profundidad actual, la profundidad actual es una profundidad codificada. Por consiguiente, el decodificador 230 jerárquico puede decodificar la unidad de codificación de la profundidad actual con respecto a los datos de imagen de la unidad de codificación más grande actual usando la información acerca del tipo de partición de la unidad de predicción, el modo de predicción, y el tamaño de la unidad de transformación.
En otras palabras, las unidades de datos que contienen la información de codificación que incluye la misma información de división pueden recopilarse observando 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 recopiladas pueden considerarse que son una unidad de datos a decodificarse por el decodificador 230 jerárquico en el mismo modo de codificación.
El aparato 200 de decodificación de vídeo puede obtener información acerca de al menos una unidad de codificación que genera el error de codificación mínimo cuando se realiza codificación de manera recursiva para cada unidad de codificación más grande, y puede usar la información para decodificar la instantánea actual. En otras palabras, pueden decodificarse datos de imagen codificados de las unidades de codificación que tienen la estructura de árbol determinada para que sean las unidades de codificación óptimas en cada unidad de codificación más grande.
Por consiguiente, incluso si los datos de imagen tienen una alta resolución y una gran cantidad de datos, los datos de imagen pueden decodificarse eficazmente y reconstruirse usando un tamaño de una unidad de codificación y un modo de codificación, que se determinan de manera adaptativa de acuerdo con las características de los datos de imagen, usando información acerca de un modo de codificación óptimo recibido desde un codificador.
Un procedimiento de determinación de unidades de codificación que tienen una estructura de árbol, una unidad de predicción, y una unidad de transformación, de acuerdo con una realización de la presente invención, se describirá ahora con referencia a las Figuras 3 a 13.
La Figura 3 es un diagrama para describir un concepto de unidades de codificación de acuerdo con una realización de la presente invención.
Un tamaño de una unidad de codificación puede expresarse en anchura x altura, y puede ser 64x64, 32x32, 16x16, y 8x8. Una unidad de codificación de 64x64 puede dividirse en particiones de 64x64, 64x32, 32x64, o 32x32; y una unidad de codificación de 32x32 puede dividirse en particiones de 32x32, 32x16, 16x32, o 16x16; una unidad de codificación de 16x16 puede dividirse en particiones de 16x16, 16x8, 8x16, u 8x8; y una unidad de codificación de 8x8 puede dividirse en particiones de 8x8, 8x4, 4x8, o 4x4.
Con respecto a los datos 310 de vídeo, se establece una resolución de 1920x1080, un tamaño máximo de una unidad de codificación de 64, y una profundidad máxima de 2. Con respecto a los datos 320 de vídeo, se establece una resolución de 1920x1080, un tamaño máximo de una unidad de codificación de 64, y una profundidad máxima de 3. Con respecto a los datos 330 de vídeo, se establece una resolución de 352x288, un tamaño máximo de una unidad de codificación de 16, y una profundidad máxima de 1. La profundidad máxima mostrada en la Figura 3 indica un número total de divisiones desde 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 para no aumentar únicamente la eficacia de codificación sino también para reflejar de manera precisa características de una imagen. Por consiguiente, el tamaño máximo de la unidad de codificación de los datos 310 y 320 de vídeo que tiene la resolución más alta que los datos 330 de vídeo puede ser 64.
Puesto que la profundidad máxima de los datos 310 de vídeo es 2, las unidades de codificación 315 de los datos 310 de vídeo pueden incluir una unidad de codificación más grande que tiene un tamaño de eje largo de 64, y unidades de codificación que tienen tamaños de eje largo de 32 y 16 puesto que las profundidades se hacen profundas a dos
capas dividiendo dos veces la unidad de codificación más grande. Mientras tanto, puesto que la profundidad máxima de los datos 330 de vídeo es 1, las unidades 335 de codificación de los datos 330 de vídeo pueden incluir una unidad de codificación más grande que tiene un tamaño de eje largo de 16, y unidades de codificación que tienen un tamaño de eje largo de 8 puesto que las profundidades se hacen profundas a una capa dividiendo una vez la unidad de codificación más grande.
Puesto que la profundidad máxima de los datos 320 de vídeo es 3, las unidades 325 de codificación de los datos 320 de vídeo pueden incluir una unidad de codificación más grande que tiene un tamaño de eje largo de 64, y unidades de codificación que tienen tamaños de eje largo de 32, 16, y 8 puesto que las profundidades se hacen profundas a 3 capas dividiendo tres veces la unidad de codificación más grande. A medida que una profundidad se hace profunda, puede expresarse de manera precisa información detallada.
La Figura 4 es un diagrama de bloques de un codificador 400 de vídeo basándose en unidades de codificación que tienen una estructura jerárquica, de acuerdo con una realización de la presente invención.
Un intra predictor 410 realiza intra predicción en unidades de codificación en un intra modo, con respecto a un fotograma actual 405, y un estimador 420 de movimiento y un compensador 425 de movimiento respectivamente realizan inter estimación y compensación de movimiento en unidades de codificación en un inter modo usando el fotograma 405 actual y un fotograma 495 de referencia.
Los datos emitidos desde el intra predictor 410, el estimador 420 de movimiento, y el compensador 425 de movimiento se emiten como un coeficiente de transformación cuantificado a través de un transformador 430 y un cuantificador 440. El coeficiente de transformación cuantificado se reconstruye como datos en un dominio espacial a través de un cuantificador 460 inverso y un transformador 470 inverso, y los datos reconstruidos en el dominio espacial se emiten como el fotograma 495 de referencia después de post-procesarse a través de un filtro 480 de desbloqueo y un filtro 490 de bucle. El coeficiente de transformación cuantificado puede emitirse como una secuencia de bits 455 a través de un codificador 450 por entropía.
La unidad 450 de codificación por entropía codifica aritméticamente elementos de sintaxis relacionados con una unidad de transformación, tal como una bandera de coeficiente significativo de unidad de transformación (cbf) que indica si un coeficiente de transformación distinto de 0 está incluido en una unidad de transformación, un mapa de significado que indica una localización de un coeficiente de transformación distinto de 0, una primera bandera de valor crítico (coeff_abs_level_greater1_flag) que indica si un coeficiente de transformación tiene un valor mayor que 1, una segunda bandera de valor crítico (coeff_abs_level_greather2_flag) que indica si un coeficiente de transformación tiene un valor mayor que 2, y una información de tamaño de un coeficiente de transformación (coeff_abs_level_remaining) que corresponde a una diferencia entre un nivel de base (baseLevel) que se determina basándose en la primera bandera de valor crítico y la segunda bandera de valor crítico y un coeficiente de transformación real (abscoeff).
Para que el codificador 400 de vídeo se aplique en el aparato 100 de codificación de vídeo, todos los elementos del codificador 400 de vídeo, es decir, el intra predictor 410, el estimador 420 de movimiento, el compensador 425 de movimiento, el transformador 430, el cuantificador 440, el codificador 450 por entropía, el cuantificador 460 inverso, el transformador 470 inverso, el filtro 480 de desbloqueo, y el filtro 490 de bucle, tienen que realizar operaciones basándose en cada unidad de codificación de entre unidades de codificación que tienen una estructura de árbol mientras se considera la profundidad máxima de cada unidad de codificación más grande.
Específicamente, el intra predictor 410, el estimador 420 de movimiento, y el compensador 425 de movimiento determinan particiones y un modo de predicción de cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol mientras 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 500 de vídeo basando en unidades de codificación, de acuerdo con una realización de la presente invención.
Un analizador 510 analiza datos de imagen codificados a decodificarse e información acerca de codificación requerida para decodificar, desde una secuencia de bits 505. Los datos de imagen codificados pasan a través del decodificador 520 y el cuantificador 530 inverso a emitirse como datos cuantificados a la inversa. El decodificador 520 por entropía obtiene elementos relacionados con una unidad de transformación desde una secuencia de bits, es decir, una bandera de coeficiente significativo de unidad de transformación (cbf) que indica si un coeficiente de transformación distinto de 0 está incluido en una unidad de transformación, un mapa de significado que indica una localización de un coeficiente de transformación distinto de 0, una primera bandera de valor crítico (coeff_abs_level_greater1_flag) que indica si un coeficiente de transformación tiene un valor mayor que 1, una segunda bandera de valor crítico (coeff_abs_level_greather2_flag) que indica si un coeficiente de transformación tiene un valor mayor que 2, y una información de tamaño de un coeficiente de transformación (coeff_abs_level_remaining) que corresponde a una diferencia entre un nivel de base (baseLevel) que se determina
basándose en la primera bandera de valor crítico y la segunda bandera de valor crítico y un coeficiente de transformación real (abscoeff), y decodifica aritméticamente elementos de sintaxis para reconstruir los elementos de sintaxis.
Un transformador 540 inverso reconstruye los datos cuantificados a la inversa a datos de imagen en un dominio espacial. Un intra predictor 550 realiza intra predicción en unidades de codificación en un intra modo con respecto a los datos de imagen en el dominio espacial, y un compensador 560 de movimiento realiza compensación de movimiento en unidades de codificación en un inter modo usando un fotograma 585 de referencia.
Los datos de imagen en el dominio espacial, que se han pasado a través del intra predictor 550 y el compensador 560 de movimiento, pueden emitirse como un fotograma 595 reconstruido después de post-procesarse a través de un filtro 570 de desbloqueo y un filtro 580 de bucle. También, los datos de imagen, que se post-procesan a través del filtro 570 de desbloqueo y el filtro 580 de bucle, pueden emitirse al fotograma 585 de referencia.
Para que el decodificador 500 de vídeo se aplique en el aparato 200 de decodificación de vídeo, todos los elementos del decodificador 500 de vídeo, es decir, el analizador 510, el decodificador 520 por entropía, el cuantificador inverso 530, el transformador 540 inverso, el intra predictor 550, el compensador 560 de movimiento, el filtro 570 de desbloqueo, y el filtro 580 de bucle, realizan operaciones basándose en unidades de codificación que tienen una estructura de árbol para cada unidad de codificación más grande.
El intra predictor 550 y el compensador 560 de movimiento determinan una partición y un modo de predicción para cada unidad de codificación que tiene una estructura de árbol, y el transformador 540 inverso tiene que determinar un tamaño de una unidad de transformación para cada unidad de codificación.
La Figura 6 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con las profundidades, y particiones, de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de vídeo y el aparato 200 de decodificación de vídeo usan unidades de codificación jerárquica para considerar características de una imagen. Puede determinarse de manera adaptativa una altura máxima, una anchura máxima, y una profundidad máxima de unidades de codificación de acuerdo con las características de la imagen, o pueden establecerse de manera diferente por un usuario. Los tamaños de unidades de codificación más profundas de acuerdo con las profundidades pueden determinarse de acuerdo con el tamaño máximo predeterminado de la unidad de codificación.
En una estructura 600 jerárquica de unidades de codificación de acuerdo con una realización de la presente invención, la altura máxima y la anchura máxima de las unidades de codificación son cada una 64, y la profundidad máxima es 4. Puesto que una profundidad se hace profunda a lo largo de un eje vertical de la estructura 600 jerárquica, se divide cada una de una altura y una anchura de la unidad de codificación más profunda. También, una unidad de predicción y particiones, que son las bases para codificación por predicción de cada unidad de codificación más profunda, se muestran a lo largo de un eje horizontal de la estructura 600 jerárquica.
En otras palabras, una unidad 610 de codificación es una unidad de codificación más grande en la estructura 600 jerárquica, en la que una profundidad es 0 y un tamaño, es decir, una altura por anchura, es 64x64. La profundidad se hace profunda a lo largo del eje vertical, y existe una unidad 620 de codificación que tiene un tamaño de 32x32 y una profundidad de 1, una unidad 630 de codificación que tiene un tamaño de 16x16 y una profundidad de 2, una unidad 640 de codificación que tiene un tamaño de 8x8 y una profundidad de 3, y una unidad 650 de codificación que tiene un tamaño de 4x4 y una profundidad de 4. La unidad 650 de codificación que tiene el tamaño de 4x4 y la profundidad de 4 es una unidad de codificación más pequeña.
La unidad de predicción y las particiones de una unidad de codificación están dispuestas a lo largo del eje horizontal de acuerdo con cada profundidad. En otras palabras, si la unidad 610 de codificación que tiene el tamaño de 64x64 y la profundidad de 0 es una unidad de predicción, la unidad de predicción puede dividirse en particiones incluidas en la unidad 610 de codificación, es decir una partición 610 que tiene un tamaño de 64x64, particiones 612 que tienen el tamaño de 64x32, particiones 614 que tienen el tamaño de 32x64, o particiones 616 que tienen el tamaño de 32x32.
De manera similar, una unidad de predicción de la unidad 620 de codificación que tiene el tamaño de 32x32 y la profundidad de 1 puede dividirse en particiones incluidas en la unidad 620 de codificación, es decir una partición 6 2 0 que tiene un tamaño de 32x32, particiones 622 que tienen un tamaño de 32x16, particiones 624 que tienen un tamaño de 16x32, y particiones 626 que tienen un tamaño de 16x16.
De manera similar, una unidad de predicción de la unidad 630 de codificación que tiene el tamaño de 16x16 y la profundidad de 2 puede dividirse en particiones incluidas en la unidad 630 de codificación, es decir una partición que tiene un tamaño de 16x16 incluida en la unidad 630 de codificación, particiones 632 que tienen un tamaño de 16x8, particiones 634 que tienen un tamaño de 8x16, y particiones 636 que tienen un tamaño de 8x8.
De manera similar, una unidad de predicción de la unidad 640 de codificación que tiene el tamaño de 8x8 y la profundidad de 3 puede dividirse en particiones incluidas en la unidad 640 de codificación, es decir una partición que
tiene un tamaño de 8x8 incluida en la unidad 640 de codificación, particiones 642 que tienen un tamaño de 8x4, particiones 644 que tienen un tamaño de 4x8, y particiones 646 que tienen un tamaño de 4x4.
La unidad 650 de codificación que tiene el tamaño de 4x4 y la profundidad de 4 es la unidad de codificación más pequeña y una unidad de codificación de la profundidad más inferior. Una unidad de predicción de la unidad 650 de codificación se asigna únicamente a una partición que tiene un tamaño de 4x4.
Para determinar la al menos una profundidad codificada de las unidades de codificación que constituyen la unidad 610 de codificación más grande, el codificador 110 jerárquico del aparato 100 de codificación de vídeo realiza codificación para unidades de codificación que corresponden a cada profundidad incluida en la unidad 610 de codificación más grande.
El número de unidades de codificación más profundas de acuerdo con las profundidades que incluyen datos en el mismo intervalo y el mismo tamaño aumenta a medida que la profundidad se hace más profunda. Por ejemplo, se requieren cuatro unidades de codificación que corresponden a una profundidad de 2 para cubrir datos que están incluidos en una unidad de codificación que corresponde a una profundidad de 1. Por consiguiente, para comparar resultados de codificación de los mismos datos de acuerdo con las profundidades, se codifica cada una de la unidad de codificación que corresponde a la profundidad de 1 y cuatro unidades de codificación que corresponden a la profundidad de 2.
Para realizar codificación para una profundidad actual de entre las profundidades, puede seleccionarse un error de codificación mínimo para la profundidad actual realizando codificación para cada unidad de predicción en las unidades de codificación que corresponden a la profundidad actual, a lo largo del eje horizontal de la estructura 600 jerárquica. Como alternativa, puede buscarse el error de codificación mínimo comparando los errores de codificación mínimos de acuerdo con las profundidades y realizando codificación para cada profundidad a medida que la profundidad se hace más profunda a lo largo del eje vertical de la estructura 600 jerárquica. Puede seleccionarse una profundidad y una partición que tienen el error de codificación mínimo en la unidad 610 de codificación más grande como la profundidad codificada y un tipo de partición de la unidad 610 de codificación más grande.
La Figura 7 es un diagrama para describir una relación entre una unidad 710 de codificación y unidades 720 de transformación, de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de vídeo o el aparato 200 de decodificación de vídeo codifican o decodifican una imagen de cada unidad de codificación más grande de acuerdo con 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. Pueden seleccionarse tamaños de unidades de transformación para transformación durante la codificación basándose en unidades de datos que ya no son más grandes que una unidad de codificación correspondiente.
Por ejemplo, en el aparato 100 de codificación de vídeo o el aparato 200 de decodificación de vídeo, si un tamaño de la unidad 710 de codificación es 64x64, puede realizarse transformación usando las unidades 720 de transformación que tienen un tamaño de 32x32.
También, los datos de la unidad 710 de codificación que tiene el tamaño de 64x64 pueden codificarse realizando la transformación en cada una de las unidades de transformación que tienen el tamaño de 32x32, 16x16, 8x8, y 4x4, que son menores que 64x64, y a continuación puede seleccionarse una unidad de transformación que tiene el error de codificación mínimo.
La Figura 8 es un diagrama para describir información de codificación de unidades de codificación que corresponden a una profundidad codificada, de acuerdo con una realización de la presente invención.
Una unidad 130 de salida del aparato 100 de codificación de vídeo puede codificar y transmitir información 800 acerca de un tipo de partición, información 810 acerca de un modo de predicción, e información 820 acerca de un tamaño de una unidad de transformación para cada unidad de codificación que corresponde a una profundidad codificada, como información acerca de un modo de codificación.
La información 800 indica información acerca de una forma de una partición obtenida dividiendo una unidad de predicción de una unidad de codificación actual, en el que la partición es una unidad de datos para codificar por predicción la unidad de codificación actual. Por ejemplo, una unidad de codificación actual CU_O que tiene un tamaño de 2Nx2N puede dividirse en una cualquiera de una partición 802 que tiene un tamaño de 2Nx2N, una partición 804 que tiene un tamaño de 2NxN, una partición 806 que tiene un tamaño de Nx2N, y una partición 808 que tiene un tamaño de NxN. En este punto, se establece la información 800 acerca de un tipo de partición para indicar una de la partición 802 que tiene un tamaño de 2Nx2N, la partición 804 que tiene un tamaño de 2NxN, la partición 806 que tiene un tamaño de Nx2N, y la partición 808 que tiene un tamaño de NxN.
La información 810 indica un modo de predicción de cada partición. Por ejemplo, la información 810 puede indicar un modo de codificación por predicción realizado en una partición indicado por la información 800, es decir, un intra modo 812, un inter modo 814, o un modo 816 de salto.
La información 820 indica una unidad de transformación para en la que basarse cuando se realiza transformación en una unidad de codificación actual. Por ejemplo, la unidad de transformación puede ser una primera unidad 822 de intra transformación, una segunda unidad 824 de intra transformación, una primera unidad 826 de inter transformación, o una segunda unidad 828 de inter transformación.
La unidad 210 de extracción de datos de imagen y datos de codificación del aparato 200 de decodificación de vídeo puede extraer y usar la información 800 de información acerca de unidades de codificación, la información 810 acerca de un modo de predicción, y la información 820 acerca de un tamaño de una unidad de transformación, para decodificar, de acuerdo con cada unidad de codificación más profunda.
La Figura 9 es un diagrama de unidades de codificación más profundas de acuerdo con las profundidades, de acuerdo con una realización de la presente invención.
La información de división puede usarse para indicar un cambio de una profundidad. La información de división indica si una unidad de codificación de una profundidad actual se divide en unidades de codificación de una profundidad inferior.
Una unidad 910 de predicción para codificación por predicción de una unidad 900 de codificación que tiene una profundidad de 0 y un tamaño de 2N_0x2N_0 puede incluir particiones de un tipo de partición 912 que tiene un tamaño de 2N_0x2N_0, un tipo de partición 914 que tiene un tamaño de 2N_0xN_0, un tipo de partición 916 que tiene un tamaño de N_0x2N_0, y un tipo 918 de partición que tiene un tamaño de N_0xN_0. La Figura 9 únicamente ilustra los tipos 912 a 918 de partición que se obtienen dividiendo simétricamente la unidad 910 de predicción, aunque un tipo de partición no está limitado a los mismos, y las particiones de la unidad 910 de predicción pueden incluir particiones asimétricas, particiones que tienen una forma predeterminada y particiones que tienen una forma geométrica.
La codificación por predicción se realiza repetitivamente en una partición que tiene un tamaño de 2N_0x2N_0, dos particiones que tienen un tamaño de 2N_0xN_0, dos particiones que tienen un tamaño de N_0x2N_0, y cuatro particiones que tienen un tamaño de N_0xN_0, de acuerdo con cada tipo de partición. La codificación por predicción en un intra modo y un inter modo puede realizarse en las particiones que tienen los tamaños de 2N_0x2N_0, N_0x2N_0, 2N_0xN_0, y N_0xN_0. La codificación por predicción en un modo de salto se realiza únicamente en la partición que tiene el tamaño de 2N_0x2N_0.
Si un error de codificación es el más pequeño en uno de los tipos 912 a 916 de partición que tienen los tamaños de 2N_0x2N_0, 2N_0xN_0, y N_0x2N_0, la unidad 910 de predicción puede no dividirse en una profundidad inferior. Si el error de codificación es el más pequeño en el tipo 918 de partición que tiene el tamaño de N_0xN_0, se cambia una profundidad de 0 a 1 para dividir el tipo 918 de partición en la operación 920, y se realiza repetitivamente codificación en unidades de codificación de tipo de partición que tienen una profundidad de 2 y un tamaño de N_0xN_0 para buscar un error de codificación mínimo.
Una unidad 940 de predicción para codificación por predicción de la (tipo de partición) unidad 930 de codificación que tiene una profundidad de 1 y un tamaño de 2N_1x2N_1 (=N_0xN_0) puede incluir particiones de un tipo 942 de partición que tiene un tamaño de 2N_1x2N_1, un tipo 944 de partición que tiene un tamaño de 2N_1xN_1, un tipo 946 de partición que tiene un tamaño de N_1x2N_1, y un tipo 948 de partición que tiene un tamaño de N_1xN_1. Si un error de codificación es el más pequeño en el tipo 948 de partición que tiene el tamaño de N_1xN_1, una profundidad se cambia de 1 a 2 para dividir el tipo 948 de partición en la operación 950, y se realiza codificación de repetitivamente en las unidades 960 de codificación, que tienen una profundidad de 2 y un tamaño de N_2xN_2 para buscar un error de codificación mínimo.
Cuando una profundidad máxima es d, puede realizarse una operación de división de acuerdo con cada profundidad hasta cuando una profundidad se hace d-1, y puede codificarse información de división hasta cuando una profundidad es una de 0 a d-2. En otras palabras, cuando se realiza codificación hasta cuando la profundidad es d-1 después de que una unidad de codificación que corresponde a una profundidad de d-2 se divide en la operación 970, una unidad 990 de predicción para codificar por predicción una unidad 980 de codificación que tiene una profundidad de d-1 y un tamaño de 2N_(d-1 )x2N_(d-1) puede incluir particiones de un tipo 992 de partición que tiene un tamaño de 2N_(d-1)x2N_(d-1), un tipo 994 de partición que tiene un tamaño de 2N_(d-1)xN_(d-1), un tipo 996 de partición que tiene un tamaño de N_(d-1)x2N_(d-1), y un tipo 998 de partición que tiene un tamaño de N_(d-1)xN_(d-1).
La codificación por predicción puede realizarse repetitivamente en una partición que tiene un tamaño de 2N_(d-1)x2N_(d-1), dos particiones que tienen un tamaño de 2N_(d-1)xN_(d-1), dos particiones que tienen un tamaño de N (d-1 )x2N (d-1), cuatro particiones que tienen un tamaño de N_(d-1)xN_(d-1) de entre los tipos 992 a 998 de partición para buscar un tipo de partición que tiene un error de codificación mínimo.
Incluso cuando el tipo 998 de partición que tiene el tamaño de N_(d-1)xN_(d-1) tiene el error de codificación mínimo, puesto que una profundidad máxima es d, una unidad de codificación CU_(d-1) que tiene una profundidad de d-1 ya
no se divide a una profundidad inferior, y una profundidad codificada para las unidades de codificación que constituyen la unidad 900 de codificación más grande actual se determina para que sea d-1 y un tipo de partición de la unidad 900 de codificación más grande actual puede determinarse para que sea N_(d-1)xN_(d-1). También, puesto que la profundidad máxima es d, no se establece la información de división para la unidad 952 de codificación más pequeña.
Una unidad 999 de datos puede ser una 'unidad mínima' para la unidad de codificación más grande actual. Una unidad mínima de acuerdo con una realización de la presente invención puede ser una unidad de datos rectangular obtenida dividiendo por 4 la unidad 980 de codificación más pequeña. Realizando la codificación repetitivamente, el aparato 100 de codificación de vídeo puede seleccionar una profundidad que tiene el error de codificación mínimo comparando errores de codificación de acuerdo con las profundidades de la unidad 900 de codificación para determinar una profundidad codificada, y establecer un tipo de partición y un modo de predicción correspondientes como un modo de codificación de la profundidad codificada.
Como tal, los errores de codificación mínimos de acuerdo con las profundidades se comparan en todas las profundidades de 1 a d, y puede determinarse una profundidad que tiene el error de codificación mínimo como una profundidad codificada. La profundidad codificada, el tipo de partición de la unidad de predicción, y el modo de predicción pueden codificarse y transmitirse como información acerca de un modo de codificación. También, puesto que una unidad de codificación se divide de una profundidad de 0 a una profundidad codificada, únicamente se establece información de división de la profundidad codificada a 0, y la información de división de profundidades excluyendo la profundidad codificada se establece a 1.
El decodificador 220 por entropía del aparato 200 de decodificación de vídeo puede extraer y usar la información acerca de la profundidad codificada y la unidad de predicción de la unidad 900 de codificación para decodificar la unidad 912 de codificación. El aparato 200 de decodificación de vídeo puede determinar una profundidad, en la que la información de división es 0, como una profundidad codificada usando información de división de acuerdo con las profundidades, y usar información acerca de un modo de codificación de la correspondiente profundidad para decodificar.
Las Figuras 10 a 12 son diagramas para describir una relación entre unidades 1010 de codificación, unidades 1060 de predicción, y unidades 1070 de transformación de acuerdo con una realización de la presente invención.
Las unidades 1010 de codificación son unidades de codificación que tienen una estructura de árbol, que corresponden a profundidades codificadas determinadas por el aparato 100 de codificación de vídeo, en una unidad de codificación más grande. Las unidades 1060 de predicción son particiones de unidades de predicción de cada una de las unidades 1010 de codificación, y las unidades 1070 de transformación son unidades de transformación de cada una de las unidades 1010 de codificación.
Cuando una profundidad de una unidad de codificación más grande es 0 en las unidades 1010 de codificación, las profundidades de las unidades 1012 y 1054 de codificación son 1, las profundidades de unidades 1014, 1016, 1018, 1028, 1050, y 1052 de codificación son 2, las profundidades de las unidades 1020, 1022, 1024, 1026, 1030, 1032, y 1048 de codificación son 3, y las profundidades de las unidades 1040, 1042, 1044, y 1046 de codificación son 4. En las unidades 1060 de predicción, algunas unidades 1014, 1016, 1022, 1032, 1048, 1050, 1052, y 1054 de codificación se obtienen dividiendo las unidades de codificación. En otras palabras, los tipos de partición en las unidades 1014, 1022, 1050, y 1054 de codificación tienen un tamaño de 2NxN, los tipos de partición en las unidades 1016, 1048, y 1052 de codificación tienen un tamaño de Nx2N, y un tipo de partición de la unidad de codificación 1032 tiene un tamaño de NxN. Las unidades de predicción y las particiones de las unidades 1010 de codificación son iguales a o menores que cada unidad de codificación.
La transformación o transformación inversa se realiza en datos de imagen de la unidad 1052 de codificación en las unidades 1070 de transformación en una unidad de datos que es menor que la unidad 1052 de codificación. También, las unidades 1014, 1016, 1022, 1032, 1048, 1050, 1052, y 1054 de codificación en las unidades 1070 de transformación son diferentes de aquellas en las unidades 1060 de predicción en términos de tamaños y formas. En otras palabras, el aparato 100 de codificación de vídeo y el aparato 200 de decodificación de vídeo pueden realizar intra predicción, estimación de movimiento, compensación de movimiento, transformación, y transformación inversa individualmente en una unidad de datos en la misma unidad de codificación.
Por consiguiente, se realiza de manera recursiva codificación en cada una de las unidades de codificación que tiene 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 por lo tanto pueden obtenerse unidades de codificación que tienen una estructura de árbol recursiva. La información de codificación puede incluir información de división acerca de una unidad de codificación, información acerca de un tipo de partición, información acerca de un modo de predicción, e información acerca de un tamaño de una unidad de transformación.
La Tabla 1 muestra la información de codificación que puede establecerse por el aparato 100 de codificación de vídeo y el aparato 200 de decodificación de vídeo.
[Tabla 1]
El codificador 120 por entropía del aparato 100 de codificación de vídeo puede emitir la información de codificación acerca de las unidades de codificación que tienen una estructura de árbol, y el decodificador 220 por entropía del aparato 200 de decodificación de vídeo puede extraer la información de codificación acerca de las unidades de codificación que tienen una estructura de árbol desde una secuencia de bits recibida.
La información de división indica si una unidad de codificación actual se divide en unidades de codificación de una profundidad inferior. Si la información de división de una profundidad actual d es 0, una profundidad, en la que una unidad de codificación actual ya no se divide más en una profundidad inferior, es una profundidad codificada, y por lo tanto puede definirse la información acerca de un tipo de partición, un modo de predicción, y un tamaño de una unidad de transformación para la profundidad codificada. Si la unidad de codificación actual se divide adicionalmente de acuerdo con la información de división, se realiza codificación de manera independiente en cuatro unidades de codificación de división de una profundidad inferior.
Un modo de predicción puede ser de un intra modo, un inter modo, y un modo de salto. El intra modo y el inter modo pueden definirse en todos los tipos de partición, y el modo de salto se define únicamente en un tipo de partición que tiene un tamaño de 2Nx2N.
La información acerca del tipo de partición puede indicar tipos de partición simétrica que tiene tamaños de 2Nx2N, 2NxN, Nx2N, y NxN, que se obtienen dividiendo simétricamente una altura o una anchura de una unidad de predicción, y tipos de partición asimétrica que tiene tamaños de 2NxnU, 2NxnD, nLx2N, y nRx2N, que se obtienen dividiendo asimétricamente la altura o anchura de la unidad de predicción. Los tipos de partición asimétrica que tienen los tamaños de 2NxnU y 2NxnD pueden obtenerse respectivamente dividiendo la altura de la unidad de predicción en 1:n y n:1 (donde n es un número entero mayor que 1), y los tipos de partición asimétrica que tiene los tamaños de nLx2N y nRx2N pueden obtenerse respectivamente dividiendo la anchura de la unidad de predicción en 1:n y n:1.
El tamaño de la unidad de transformación puede establecerse para que sea dos tipos en el intra modo y dos tipos en el inter modo. En otras palabras, si la información de división de la unidad de transformación es 0, el tamaño de la unidad de transformación puede ser 2Nx2N, que es el tamaño de la unidad de codificación actual. Si la información de división de la unidad de transformación es 1, las unidades de transformación pueden obtenerse dividiendo la unidad de codificación actual. También, si un tipo de partición de la unidad de codificación actual que tiene el tamaño de 2Nx2N es un tipo de partición simétrica, un tamaño de una unidad de transformación puede ser NxN, y si el tipo de partición de la unidad de codificación actual es un tipo de partición asimétrica, el tamaño de la unidad de transformación puede ser N/2xN/2.
La información de codificación acerca de 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.
Por consiguiente, se determina si las unidades de datos adyacentes están incluidas en la misma unidad de codificación que corresponde a la profundidad codificada comparando información de codificación de las unidades de datos adyacentes. También, se determina una unidad de codificación correspondiente que corresponde a una profundidad codificada usando información de codificación de una unidad de datos, y por lo tanto puede determinarse una distribución de profundidades codificadas en una unidad de codificación más grande.
Por consiguiente, si una unidad de codificación actual se predice basándose en información de codificación de unidades de datos adyacentes, puede hacerse referencia directamente y usarse la información de codificación de
unidades de datos en unidades de codificación más profundas adyacentes a la unidad de codificación actual.
Como alternativa, si una unidad de codificación actual se predice basándose en información de codificación de unidades de datos adyacentes, se buscan unidades de datos adyacentes a la unidad de codificación actual usando información codificada de las unidades de datos, y puede hacerse referencia a las unidades de codificación adyacentes buscadas para predecir la unidad de codificación actual.
La Figura 13 es un diagrama para describir una relación entre una unidad de codificación, una unidad de predicción, y una unidad de transformación de acuerdo con la información de modo de codificación de la Tabla 1.
Una unidad 1300 de codificación más grande incluye unidades 1302, 1304, 1306, 1312, 1314, 1316, y 1318 de codificación de profundidades codificadas. En este punto, puesto que la unidad 1318 de codificación es una unidad de codificación de una profundidad codificada, la información de división puede establecerse a 0. La información acerca de un tipo de partición de la unidad 1318 de codificación que tiene un tamaño de 2Nx2N puede establecerse para que sea una de un tipo 1322 de partición que tiene un tamaño de 2Nx2N, un tipo 1324 de partición que tiene un tamaño de 2NxN, un tipo 1326 de partición que tiene un tamaño de Nx2N, un tipo 1328 de partición que tiene un tamaño de NxN, un tipo 1332 de partición que tiene un tamaño de 2NxnU, un tipo 1334 de partición que tiene un tamaño de 2NxnD, un tipo 1336 de partición que tiene un tamaño de nLx2N, y un tipo 1338 de partición que tiene un tamaño de nRx2N.
Cuando el tipo de partición se establece para que sea simétrica, es decir el tipo 1322, 1324, 1326, o 1328 de partición, se establece una unidad 1342 de transformación que tiene un tamaño de 2Nx2N si la información de división (bandera de tamaño TU) de una unidad de transformación es 0, y se establece una unidad 1344 de transformación que tiene un tamaño de NxN si una bandera de tamaño de TU es 1.
Cuando el tipo de partición se establece para que sea asimétrica, es decir, el tipo 1332, 1334, 1336, o 1338 de partición, se establece una unidad 1352 de transformación que tiene un tamaño de 2Nx2N si una bandera de tamaño de TU es 0, y se establece una unidad 1354 de transformación que tiene un tamaño de N/2xN/2 si una bandera de tamaño de TU es 1.
La bandera de tamaño de TU es un tipo de índice de transformación; un tamaño de una unidad de transformación que corresponde a un índice de transformación puede modificarse de acuerdo con un tipo de unidad de predicción o un tipo de partición de una unidad de codificación.
Cuando el tipo de partición se establece para que sea simétrica, es decir el tipo 1322, 1324, 1326, o 1328 de partición, se establece la unidad 1342 de transformación que tiene un tamaño de 2Nx2N si una bandera de tamaño de TU de una unidad de transformación es 0, y se establece la unidad 1344 de transformación que tiene un tamaño de NxN si una bandera de tamaño de TU es 1.
Cuando el tipo de partición se establece para que sea asimétrica, es decir, el tipo de partición 1332 (2NxnU), 1334 (2NxnD), 1336 (nLx2N), o 1338 (nRx2N), se establece la unidad 1352 de transformación que tiene un tamaño de 2Nx2N si una bandera de tamaño de TU es 0, y se establece la unidad 1354 de transformación que tiene un tamaño de N/2xN/2 si una bandera de tamaño de TU es 1.
Haciendo referencia a la Figura 9, la bandera de tamaño de TU anteriormente descrita es una bandera que tiene un valor de 0 o 1, pero la bandera de tamaño de TU no está limitada 1 bit, y una unidad de transformación puede dividirse jerárquicamente mientras la bandera de tamaño de TU aumenta desde 0. La información de división de unidad de transformación (bandera de tamaño TU) puede usarse como un ejemplo de un índice de transformación. En este caso, cuando se usa una bandera de tamaño de TU de acuerdo con una realización con un tamaño máximo y un tamaño mínimo de una unidad de transformación, puede expresarse el tamaño de la unidad de transformación realmente usada. El aparato 100 de codificación de vídeo puede codificar información de tamaño de unidad de transformación más grande, información de tamaño de unidad de transformación más pequeña, y la información de división de la unidad de transformación más grande. La información de tamaño de unidad de transformación más grande codificada, información de tamaño de unidad de transformación más pequeña, e información de división de la unidad de transformación más grande puede insertarse en un conjunto de parámetros de secuencia (SPS). El aparato 200 de decodificación de vídeo puede usar la información de tamaño de unidad de transformación más grande, la información de tamaño de 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 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 de TU es 0; (a-2) un tamaño de una unidad de transformación es 16x16 si una bandera de tamaño de TU es 1; y (a-3) un tamaño de una unidad de transformación es 8x8 si una bandera de tamaño de TU es 2.
Como alternativa, (b) si un tamaño de una unidad de codificación actual es 32x32 y una unidad de transformación más pequeña es 32x32, (b-1) un tamaño de una unidad de transformación es 32x32 si una bandera de tamaño de TU es 0, y puesto que el tamaño de una unidad de transformación no puede ser menor que 32x32, no pueden
establecerse más banderas de tamaño TU.
Como alternativa, (c) si un tamaño de una unidad de codificación actual es 64x64 y una bandera de tamaño de TU máxima es 1, una bandera de tamaño de TU puede ser 0 o 1 y no pueden establecerse otras banderas de tamaño TU.
Por consiguiente, cuando se define una bandera de tamaño de TU máxima como 'MaxTransformSizelndex', una bandera de tamaño TU mínima como 'MinTransformSize', y una unidad de transformación en el caso cuando una bandera de tamaño de TU es 0, es decir, una unidad de transformación raíz RootTu 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 definirse por la Ecuación (1) a continuación.
CurrMinTuSize
= max (MinTransformSize, RootTuSize/(2AMaxTransformSizelndex))... (1)
En comparación con el tamaño de la unidad de transformación más pequeña 'CurrMinTuSize' que está disponible en la unidad de codificación actual, el tamaño de unidad de transformación raíz 'RootTuSize', que es un tamaño de una unidad de transformación si una bandera de tamaño de TU es 0, puede indicar que una unidad de transformación más grande puede seleccionarse con respecto a un sistema. Es decir, de acuerdo con la Ecuación (1), 'RootTuSize/(2AMaxTransformSizelndex)' es un tamaño de una unidad de transformación que se obtiene dividiendo 'RootTuSize', que es un tamaño de una unidad de transformación cuando la información de división de unidad de transformación es 0, por el número de veces de división que corresponde a la información de división más grande de unidad de transformación, y 'MinTransformSize' es un tamaño de una unidad de transformación más grande, y por lo tanto un valor menor de estas 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 con una realización de la presente invención puede variar de acuerdo con un modo de predicción.
Por ejemplo, si un modo de predicción actual es un inter modo, RootTuSize puede determinarse de acuerdo con la Ecuación (2) a continuación. En la Ecuación (2), 'MaxTransformSize' hace referencia a un tamaño de unidad de transformación más grande, y 'PUSize' hace referencia a un tamaño de unidad de predicción actual.
RootTuSize = min(MaxTransformSize, PUSize)......... (2)
En otras palabras, si un modo de predicción actual es un inter modo, el tamaño del tamaño de unidad de transformación raíz 'RootTuSize', que es una unidad de transformación si una bandera de tamaño de TU es 0, puede establecerse a un valor más pequeño de entre el tamaño de 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 intra modo, 'RootTuSize' puede determinarse de acuerdo con la Ecuación (3) a continuación. 'PartitionSize' hace referencia a un tamaño de la unidad de partición actual.
RootTuSize = min(MaxTransformSize, PartitionSize)...........(3)
En otras palabras, si un modo de predicción actual es un intra modo, el tamaño de unidad de transformación raíz 'RootTuSize' puede establecerse a un valor menor de entre el tamaño de unidad de transformación más grande y el tamaño de la unidad de partición actual.
Sin embargo, debería observarse que el tamaño del tamaño de unidad de transformación raíz 'RootTuSize', que es el tamaño de unidad de transformación más grande actual de acuerdo con una realización de la presente invención y que varía de acuerdo con un modo de predicción de una unidad de partición, es un ejemplo, y los factores para determinar el tamaño de unidad de transformación más grande actual no están limitados a lo mismo.
Una operación de codificación por entropía de un elemento de sintaxis, que se realiza por el codificador 120 por entropía del aparato 100 de codificación de vídeo de la Figura 1, y una operación de decodificación por entropía de un elemento de sintaxis, que se realiza por el decodificador 220 por entropía del aparato 200 de decodificación de vídeo de la Figura 2, se describirá ahora en detalle.
Como se ha descrito anteriormente, el aparato 100 de codificación de vídeo y el aparato 200 de decodificación de vídeo realizan codificación y decodificación dividiendo una unidad de codificación más grande en unidades de codificación que son iguales a o menores que la unidad de codificación más grande. Puede determinarse una unidad de predicción y una unidad de transformación usadas en predicción y transformación basándose en costes independientemente de otras unidades de datos. Puesto que puede determinarse una unidad de codificación óptima codificando recursivamente cada unidad de codificación que tiene una estructura jerárquica incluida en la unidad de codificación más grande, pueden configurarse unidades de datos que tienen una estructura de árbol. En otras palabras, para cada unidad de codificación más grande, puede configurarse una unidad de codificación que tiene
una estructura de árbol, y una unidad de predicción y una unidad de transformación que cada una tiene una estructura de árbol. Para decodificación, es necesario transmitir información jerárquica, que es información que indica información de estructura de unidades de datos que tienen una estructura jerárquica e información no jerárquica para decodificación, además de la información jerárquica.
La información relacionada con una estructura jerárquica es información necesaria para determinar una unidad de codificación que tiene una estructura de árbol, una unidad de predicción que tiene una estructura de árbol, y una unidad de transformación que tiene una estructura de árbol, como se ha descrito con referencia a las Figuras 10 a 12, e incluye información de tamaño de una unidad de codificación más grande, profundidad codificada, información de partición de una unidad de predicción, una bandera de división que indica si se divide una unidad de codificación, información de tamaño de una unidad de transformación, y una bandera de transformación de división (split_transform_flag) que indica si se divide una unidad de transformación en unidades de transformación más pequeñas para una operación de transformación. Ejemplos de codificación de información distintos de la información de estructura jerárquica incluyen información de modo de predicción de intra/inter predicción aplicada a cada unidad de predicción, información de vector de movimiento, información de dirección de predicción, información de componente de color aplicado a cada unidad de datos en los casos cuando se usa una pluralidad de componentes de color, e información de nivel de coeficiente de transformación. En lo sucesivo, puede hacerse referencia a información jerárquica e información extra-jerárquica como un elemento de sintaxis que se ha de codificar por entropía o decodificar por entropía.
En particular, de acuerdo con las realizaciones de la presente invención, se proporciona un procedimiento de selección de un modelo de contexto cuando un elemento de sintaxis está relacionado con una unidad de transformación de entre los elementos de sintaxis. Una operación de codificación y decodificación por entropía de elementos de sintaxis relacionados con una unidad de transformación se describirá ahora en detalle.
La Figura 14 es un diagrama de bloques de un aparato 1400 de codificación por entropía de acuerdo con una realización de la presente invención. El aparato 1400 de codificación por entropía corresponde al codificador 120 por entropía del aparato 100 de codificación de vídeo de la Figura 1.
Haciendo referencia a la Figura 14, el aparato 1400 de codificación por entropía incluye un conversor a binario 1410, un modelador 1420 de contexto, y un codificador 1430 aritmético binario. También, el codificador 1430 aritmético binario incluye un motor 1432 de codificación regular y un motor 1434 de codificación de desvío.
Cuando los elementos de sintaxis introducidos al aparato 1400 de codificación por entropía no son valores binarios, el conversor a binario 1410 convierte a binario elementos de sintaxis para emitir una cadena binaria que consiste en valores binarios de 0 y 1. Un binario indica cada bit de un flujo que consiste en 0 y 1, y se codifica por codificación binaria aritmética adaptativa según contexto (CABAC). Si un elemento de sintaxis son datos que tienen la misma probabilidad entre 0 y 1, el elemento de sintaxis se emite al motor 1434 de codificación de desvío, que no usa una probabilidad, para codificarse.
El conversor a binario 1410 puede usar diversos procedimientos de conversión a binario de acuerdo con el tipo de un elemento de sintaxis. Ejemplos de los procedimientos de conversión a binario pueden incluir un procedimiento unario, un procedimiento unario truncado, un procedimiento de código Rice truncado, un procedimiento de código Golomb, y un procedimiento de longitud de código fija.
Una bandera de coeficiente significativo de unidad de transformación cbf que indica si existe un coeficiente de transformación distinto de cero (en lo sucesivo también denominado como un “coeficiente significativo”) en una unidad de transformación se convierte a binario usando el procedimiento de código fijo. Es decir, si existe un coeficiente de transformación distinto de cero en la unidad de transformación, la bandera de coeficiente significativo de unidad de transformación cbf se establece para que tenga un valor a 1. De otra manera, si no existe un coeficiente de transformación distinto de cero en la unidad de transformación, la bandera de coeficiente significativo de unidad de transformación cbf se establece para que tenga un valor de 0. Si una imagen incluye una pluralidad de componentes de color, la bandera de coeficiente significativo de unidad de transformación cbf puede establecerse con respecto a una unidad de transformación de cada componente de color. Por ejemplo, si una imagen incluye componentes de luminancia (Y) y crominancia (Cb, Cr), puede establecerse una bandera de coeficiente significativo de unidad de transformación cbf_luma de una unidad de transformación del componente de luminancia, y una bandera de coeficiente significativo de unidad de transformación cbf_cb o cbf_cr de la unidad de transformación del componente de crominancia.
El modelador 1420 de contexto proporciona un modelo de contexto para codificar una cadena de bits que corresponde a un elemento de sintaxis, al motor 1432 de codificación normal. En más detalle, el modelador 1420 de contexto emite una probabilidad de un valor binario para codificar cada valor binario de una cadena de bits de un elemento de sintaxis actual, al codificador 1430 aritmético binario.
Un modelo de contexto es un modelo de probabilidad de un binario, e incluye información acerca de cuál de 0 y 1 corresponde a un símbolo más probable (MPS) y un símbolo menos probable (LPS), e información de probabilidad de al menos uno del MPS y el lPs .
El modelador 1420 de contexto puede seleccionar un modelo de contexto para codificar por entropía la bandera de coeficiente significativo de unidad de transformación cbf, basándose 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 1420 de contexto puede determinar un primer modelo de contexto prestablecido como un modelo de contexto para codificar por entropía la bandera de coeficiente significativo de unidad de transformación cbf. De otra manera, 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 0, el modelador 1420 de contexto puede determinar un segundo modelo de contexto prestablecido como un modelo de contexto para codificar por entropía la bandera de coeficiente significativo de unidad de transformación cbf. En este punto, el primer y segundo modelos de contexto están basados en diferentes modelos de distribución de probabilidad. Es decir, el primer y segundo modelos de contexto son diferentes modelos de contexto.
Como se ha descrito anteriormente, cuando la bandera de coeficiente significativo de unidad de transformación cbf se codifica por entropía, el modelador 1420 de contexto usa 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 la 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 prestablecidos para codificar por entropía la bandera de coeficiente significativo de unidad de transformación cbf se hace referencia como un índice de contexto ctxldx, el índice de contexto ctxldx puede tener un valor obtenido sumando un parámetro de incremento de contexto ctxlnc para determinar un modelo de contexto, y un desplazamiento de índice de contexto prestablecido ctxidxOffset. Es decir, ctxldx=ctxlnc+ctxldxOffset. El modelador 1420 de contexto 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, puede cambiar el parámetro de incremento de contexto ctxlnc para determinar un modelo de contexto, basándose en la profundidad de transformación de la unidad de transformación, y por lo tanto cambiar el índice de contexto ctxldx para determinar un modelo de contexto para codificar por entropía la bandera de coeficiente significativo de unidad de transformación cbf.
En más detalle, si la profundidad de transformación se denomina como trafodepth, el modelador 1420 de contexto puede determinar el parámetro de incremento de contexto ctxlnc basándose en el siguiente algoritmo. ctxinc=¿(trafodepth==0)? 1: 0
Este algoritmo puede implementarse mediante el siguiente pseudocódigo.
{
Si (trafodepth==0) ctxlnc=1;
de lo contrario ctxlnc=0;
}
La bandera de coeficiente significativo de la unidad de transformación cbf puede establecerse de manera separada de acuerdo con componentes de luminancia y crominancia. Como se ha descrito anteriormente, puede determinarse un modelo de contexto para codificar por entropía la bandera de coeficiente significativo de unidad de transformación cbf_luma de la unidad de transformación del componente de luminancia usando el parámetro de incremento de contexto ctxlnc que cambia de acuerdo con si la profundidad de transformación de la unidad de transformación es 0. Un modelo de contexto para codificar por entropía la bandera de coeficiente significativo de unidad de transformación cbf_cb o cbf_cr de la unidad de transformación del componente de crominancia puede determinarse usando un valor de la profundidad de transformación trafodepth como el parámetro de incremento de contexto ctxlnc. El motor 1432 de codificación normal realiza codificación aritmética binaria en una secuencia de bits que corresponde a un elemento de sintaxis, basándose en la información acerca del MPS y el LPS y la información de probabilidad de al menos uno del MPS y el LPS, que están incluidos en el modelo de contexto proporcionado desde el modelador 1420 de contexto.
La Figura 15 es un diagrama de flujo de una operación de codificación y decodificación por entropía de un elemento de sintaxis relacionado con una unidad de transformación, de acuerdo con una realización de la presente invención. Haciendo referencia a la Figura 15, en la operación 1510, una bandera de coeficiente significativo de la unidad de transformación cbf que indica si existe un coeficiente de transformación distinto de cero entre los coeficientes de transformación incluidos en una unidad de transformación actual se codifica y decodifica por entropía inicialmente. Como se ha descrito anteriormente, puede determinarse un modelo de contexto para codificar por entropía la bandera de coeficiente significativo de la unidad de transformación cbf basándose en una profundidad de transformación de la unidad de transformación, y puede realizarse codificación aritmética binaria en la bandera de coeficiente significativo de la unidad de transformación cbf basándose en el modelo de contexto determinado.
Si la bandera de coeficiente significativo de unidad de transformación cbf es 0, puesto que únicamente existen coeficientes de transformación de 0 en la unidad de transformación actual, únicamente se codifica o decodifica por entropía un valor 0 como la bandera de coeficiente significativo de unidad de transformación cbf, y la información de
nivel de coeficiente de transformación no se codifica o decodifica por entropía.
En la operación 1520, si existe un coeficiente significativo en la unidad de transformación actual, se codifica o decodifica por entropía un mapa de significado SigMap que indica una localización de un coeficiente significativo. Un mapa de significado SigMap puede estar formado de un bit de significado e información predeterminada que indica una localización de un último coeficiente de significado. Un bit de significado indica si un coeficiente de transformación de acuerdo con cada índice de exploración es un coeficiente significativo o 0, y puede expresarse por significant_coeff_flag[i]. Como se describirá a continuación, se establece un mapa de significado en unidades de subconjuntos que tienen un tamaño predeterminado que se obtiene dividiendo la unidad de transformación. Por consiguiente, significant_coeff_flag[i] indica si un coeficiente de transformación de un i-ésimo índice de exploración de entre coeficientes de transformación incluidos en un subconjunto incluido en la unidad de transformación es 0. De acuerdo con el H.264 convencional, una bandera (fin de bloque) que indica si se codifica o decodifica por entropía de manera separada el coeficiente significativo es el último coeficiente significativo. Sin embargo, de acuerdo con una realización de la presente invención, se codifica o decodifica por entropía la información de localización del último coeficiente significativo mismo. Por ejemplo, si una localización del último coeficiente significativo es (x, y), donde x e y son números enteros, last_significant_coeff_x y last_significant_coeff_y que son elementos de sintaxis que indica valores de coordenadas (x, y) pueden codificarse o decodificarse por entropía. En la operación 1530, se codifica o decodifica por entropía información de nivel de coeficiente de transformación que indica un tamaño de un coeficiente de transformación. De acuerdo con el H.264/AVC convencional, se expresa la información de nivel de coeficiente de transformación por coeff_abs_level_minus1 que es un elemento de sintaxis. De acuerdo con las realizaciones de la presente invención, como la información de nivel de coeficiente de transformación, se codifica coeff_abs_level_greater1_flag que es un elemento de sintaxis con respecto a si un valor absoluto de un coeficiente de transformación es mayor que 1, coeff_abs_level_greater2_flag que es un elemento de sintaxis con respecto a si un valor absoluto de un coeficiente de transformación es mayor que 2, y coeff_abs_level_remaining que indica información de tamaño del coeficiente de transformación restante.
El elemento de sintaxis coeff_abs_level_remaining que indica la información de tamaño del coeficiente de transformación restante tiene una diferencia en un intervalo entre un tamaño de un coeficiente de transformación (absCoeff) y un valor de nivel de base baseLevel que se determina usando coeff_abs_level_greater1_flag y coeff_abs_level_greater2_flag. El valor de nivel de base baseLevel se determina de acuerdo con la ecuación: baseLevel=1+coeff_abs_level_greather1_flag coeff_abs_level_greather2_flag, y coeff_abs_level_remaining se determina de acuerdo con la ecuación: coeff_abs_level_remaining=absCoeff-baseLevel. Mientras coeff_abs_level_greater1_flag y coeff_abs_level_greater2_flag tienen un valor de 0 o 1, el valor de nivel de base baseLevel puede tener un valor de 1 a 3. Por consiguiente, coeff_abs_level_remaining puede variarse de (absCoeff-1) a (absCoeff-3). Como se ha descrito anteriormente, (absCoeff-baseLevel), que es una diferencia entre el tamaño de un coeficiente de transformación original absCoeff y el valor de nivel de base baseLevel, se transmite como información de tamaño de un coeficiente de transformación para reducir un tamaño de datos transmitidos.
Se describirá ahora una operación de determinación de un modelo de contexto para codificación por entropía de una bandera de coeficiente significativo de unidad de transformación, de acuerdo con una realización de la presente invención.
La Figura 16 es un diagrama que ilustra una unidad de codificación y unidades 1611 a 1617 de transformación incluidas en la unidad de codificación, de acuerdo con una realización de la presente invención. En la Figura 16, una unidad de datos indicada por una línea discontinua indica la unidad de codificación, y las unidades de datos indicadas por líneas continuas indican las unidades 1611 a 1617 de transformación.
Como se ha descrito anteriormente, el aparato 100 de codificación de vídeo y el aparato 200 de decodificación de vídeo realizan codificación y decodificación dividiendo una unidad de codificación más grande en unidades de codificación que tienen un tamaño igual a 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 usadas en una operación de predicción y una operación de transformación pueden determinarse basándose en costes de manera independiente de otras unidades de datos. 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 usable por el aparato 100 de codificación de vídeo y el aparato 200 de decodificación de vídeo, la unidad de codificación puede dividirse en unidades de transformación que tienen un tamaño igual a o menor que el tamaño de la unidad de transformación más grande, y puede realizarse una operación de transformación basándose en las unidades de transformación de división. Por ejemplo, si el tamaño de una unidad de codificación es 64x64 y el tamaño de una unidad de transformación más grande usable es 32x32, para transformar (o transformar a la inversa) la unidad de codificación, la unidad de codificación se divide en unidades de transformación que tienen un tamaño igual a o menor que 32x32.
Puede determinarse una profundidad de transformación (trafodepth) que indica el número de veces que se divide la unidad de codificación en direcciones horizontal y vertical en unidades de transformación. 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 2Nx2N, la profundidad
de transformación puede determinarse como 0. Si el tamaño de la unidad de transformación es NxN, la profundidad de transformación puede determinarse como 1. De otra manera, si el tamaño de la unidad de transformación es N/2xN/2, la profundidad de transformación puede determinarse como 2.
Haciendo referencia a la Figura 16, las unidades 1611, 1616, y 1617 de transformación son unidades de transformación de nivel 1 obtenidas dividiendo una unidad de codificación raíz una vez, y tienen una profundidad de transformación de 1. Las unidades 1612, 1614, 1614, y 1615 de transformación son unidades de transformación de nivel 2 obtenidas dividiendo 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 usado para determinar un modelo de contexto de una bandera de coeficiente significativo de unidad de transformación cbf de cada una de las unidades 1611 a 1617 de transformación de la Figura 16, basándose en una profundidad de transformación. En la estructura de árbol de la Figura 17, los nodos 1711 a 1717 de hoja respectivamente corresponden a las unidades 1611 a 1617 de transformación de la Figura 16, y los valores de 0 y 1 marcados en los nodos 1711 a 1717 de hoja indican la bandera de coeficiente significativo de las unidades de transformación cbf de las unidades 1611 a 1617 de transformación. También, en la Figura 17, los nodos de hoja que tienen la misma profundidad de transformación se ilustran en el orden de unidades de transformación localizadas en los lados superior izquierda, superior derecha, inferior izquierda e inferior derecha. Por ejemplo, los nodos 1712, 1713, 1714, y 1715 de hoja de la Figura 17 respectivamente corresponden a las unidades 1612, 1613, 1614, y 1615 de transformación de la Figura 16. También, haciendo referencia a las Figuras 16 y 17, se supone que únicamente las banderas de coeficiente significativo de unidad de transformación cbf de las unidades 1612 y 1614 de transformación son 1, y que las banderas de coeficiente significativo de unidad de transformación cbf de las otras unidades de transformación son 0. Haciendo referencia a la Figura 17, puesto que todas las unidades 1611 a 1617 de transformación de la Figura 16 se obtienen dividiendo una unidad de codificación raíz y por lo tanto tienen profundidades de transformación distintas de cero, el parámetro de incremento de contexto ctxlnc usado para determinar un modelo de contexto de la bandera de coeficiente significativo de unidad de transformación cbf de cada una de las unidades 1611 a 1617 de transformación se establece para tener un valor de 0.
La Figura 18 es un diagrama que ilustra una unidad 1811 de codificación y una unidad 1812 de transformación incluidas en la unidad 1811 de codificación, de acuerdo con otra realización de la presente invención. En la Figura 18, una unidad de datos indicada por una línea discontinua indica la unidad 1811 de codificación, y una unidad de datos indicada por una línea continua la unidad 1812 de transformación.
Haciendo referencia a la Figura 18, si el tamaño de la unidad 1811 de codificación es igual al tamaño de la unidad 1812 de transformación usada para transformar la unidad 1811 de codificación, una profundidad de transformación (trafodepth) de la unidad 1812 de transformación tiene un valor de 0. Si la unidad 1812 de transformación tiene una profundidad de transformación de 0, un parámetro de incremento de contexto ctxlnc usado para determinar un modelo de contexto de una bandera de coeficiente significativo de unidad de transformación cbf de la unidad 1812 de transformación se establece para que tenga un valor de 1.
El modelador 1420 de contexto de la Figura 14 puede comparar el tamaño de una unidad de codificación al tamaño de una unidad de transformación basándose 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 por lo tanto puede cambiar el parámetro de incremento de contexto ctxlnc usado para determinar un modelo de contexto para codificar por entropía la bandera de coeficiente significativo de unidad de transformación cbf. Cambiando el parámetro de incremento de contexto ctxlnc usado para determinar un modelo de contexto, el modelo de contexto para codificar por entropía la bandera de coeficiente significativo de unidad de transformación cbf puede cambiarse 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 banderas de transformación de división split_transform_flag usadas para determinar la estructura de unidades de transformación incluidas en la unidad de codificación de la Figura 16, de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de vídeo puede señalizar información acerca de la estructura de unidades de transformación usadas para transformar cada unidad de codificación, al aparato 200 de decodificación de vídeo. La información acerca de la estructura de unidades de transformación puede señalizarse usando la bandera de transformación de división split_transform_flag que indica si cada unidad de codificación se divide en direcciones horizontal y vertical en cuatro unidades de transformación.
Haciendo referencia a las Figuras 16 y 19, puesto que una unidad de codificación de raíz se divide en cuatro piezas, una bandera de transformación de división split_transform_flag 1910 de la unidad de codificación de raíz se establece 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 usable, la bandera de transformación de división split_transform_flag 1910 de la unidad
de codificación raíz puede siempre establecerse como 1 y puede no señalizarse. 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 usable, la unidad de codificación no necesita dividirse en unidades de codificación más profundas que tienen 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 dividida desde la unidad de codificación raíz que tenía una profundidad de transformación de 1, se establece una bandera de transformación de división que indica si dividir cada una de las cuatro unidades de transformación en cuatro unidades de transformación que tienen una profundidad de transformación de 2. 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 se ilustran en el orden de las unidades de transformación localizadas en los lados izquierdo, superior derecho, inferior izquierdo e inferior derecho. Un número de referencia 1911 indica una bandera de transformación de división de la unidad 1611 de transformación de la Figura 16. Puesto que la unidad 1611 de transformación no se divide en unidades de transformación que tienen una profundidad inferior, la bandera 1911 de transformación de división de la unidad 1611 de transformación tiene un valor de 0. Análogamente, puesto que las unidades 1616 y 1617 de transformación de la Figura 16 no se dividen en unidades de transformación que tienen una profundidad inferior, las banderas 1913 y 1914 de transformación de división de las unidades 1616 y 1617 de transformación tienen un valor de 0. Puesto que la unidad de transformación superior derecha que tiene una profundidad de transformación de 1 en la Figura 16 se divide en las unidades 1612, 1613, 1614, y 1615 de transformación que tienen una profundidad de transformación de 2, una bandera 1912 de transformación de división de la unidad de transformación superior derecha tiene una profundidad de transformación de 1. Puesto que las unidades 1612, 1613, 1614, y 1615 de transformación que tienen una profundidad de transformación de 2 que no se dividen en unidades de transformación que tienen una profundidad inferior, las banderas 1915, 1916, 1917, y 1918 de transformación de división de las unidades 1612, 1613, 1614, y 1615 de transformación que tienen una profundidad de transformación de 2 tienen un valor de 0.
Como se ha descrito anteriormente, un modelo de contexto para codificar por entropía una bandera de coeficiente significativo de unidad de transformación cbf puede determinarse basándose en una profundidad de transformación de una unidad de transformación, y puede realizarse codificación aritmética binaria en la bandera de coeficiente significativo de unidad de transformación cbf basándose en el modelo de contexto seleccionado. Si la bandera de coeficiente significativo de unidad de transformación cbf es 0, puesto que únicamente existen 0 coeficientes de transformación en una unidad de transformación actual, únicamente un valor de 0 se codifica o decodifica por entropía como la bandera de coeficiente significativo de unidad de transformación cbf, y la información de nivel de coeficiente de transformación no se codifica o decodifica por entropía.
Se describirá ahora una operación de codificación por entropía de un elemento de sintaxis relacionado con coeficientes de transformación incluidos en una unidad de transformación de los cuales una bandera de coeficiente significativo de unidad de transformación cbf tiene un valor de 1, es decir, una unidad de transformación que tiene un coeficiente de transformación distinto de cero.
La Figura 20 ilustra una unidad 2000 de transformación que se codifica por entropía de acuerdo con una realización de la presente invención. Mientras que se ilustra la unidad 2000 de transformación que tiene un tamaño de 16x16 en la Figura 20, el tamaño de la unidad 2000 de transformación no está limitado al tamaño ilustrado de 16x16 sino que puede también ser de diversos tamaños que varían de 4x4 a 32x32.
Haciendo referencia a la Figura 20, para codificación y decodificación por entropía del coeficiente de transformación incluido en la unidad 2000 de transformación, la unidad 2000 de transformación puede dividirse en unidades de transformación menores. Se describirá ahora una operación de codificación por entropía de un elemento de sintaxis relacionado con una unidad 2010 de transformación de 4x4 incluida en la unidad 2000 de transformación. Esta operación de codificación por entropía puede aplicarse también a una unidad de transformación de diferentes tamaños.
Los coeficientes de transformación incluidos en la unidad 2010 de transformación de 4x4 cada uno tienen un coeficiente de transformación (absCoeff) como se ilustra en la Figura 20. Los coeficientes de transformación incluidos en la unidad 2010 de transformación de 4x4 pueden ponerse en serie de acuerdo con un orden de exploración predeterminado como se ilustra en la Figura 20 y procesarse secuencialmente. Sin embargo, el orden de exploración no está limitado como se ilustra sino que también puede modificarse.
Ejemplos de elementos de sintaxis relacionados con coeficientes de transformación incluidos en la unidad 2010 de transformación de 4x4 son significant_coeff_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, coeff_abs_level_greater1_flag que es un elemento de sintaxis que indica si un valor absoluto del coeficiente de transformación es mayor que 1, coeff_abs_level_greater2_flag que es un elemento de sintaxis que indica si el valor absoluto es mayor que 2, y coeff_abs_level_remaining que es un elemento de sintaxis que indica información de tamaño de los coeficientes de transformación restantes.
La Figura 21 ilustra un mapa de significado SigMap 2100 que corresponde a la unidad 2010 de transformación de la Figura 20.
Haciendo referencia a las Figuras 20 y 21, se establece el mapa de significado SigMap 2100 que tiene un valor de 1 para cada uno de los coeficientes significativos que tienen un valor que no es 0, de entre los coeficientes de transformación incluidos en la unidad 2010 de transformación de 4x4 de la Figura 20. El mapa de significado SigMap 2100 se codifica o decodifica por entropía usando un modelo de contexto previamente establecido.
La Figura 22 ilustra coeff_abs_level_greater1_flag 2200 que corresponde a la unidad 2010 de transformación de 4x4 de la Figura 20.
Haciendo referencia a las Figuras 20 a 22, se establece coeff_abs_level_greater1_flag 2200 que es una bandera que indica si un coeficiente de transformación de significado correspondiente tiene un valor mayor que 1, con respecto a coeficientes significativos para los que el mapa de significado SigMap 2100 tiene un valor de 1. Cuando coeff_abs_level_greater1_flag 2200 es 1, indica que un coeficiente de transformación correspondiente es un coeficiente de transformación que tiene un valor mayor que 1, y cuando coeff_abs_level_greater1_flag 2200 es 0, 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 coeff_abs_level_greater1_flag 2210 está en una localización de un coeficiente de transformación que tiene un valor de 1, coeff_abs_level_greater1_flag 2210 tiene un valor de 0.
La Figura 23 ilustra coeff_abs_level_greater2_flag 2300 que corresponde a la unidad 2010 de transformación de 4x4 de la Figura 20.
Haciendo referencia a las Figuras 20 a 23, se establece coeff_abs_level_greater2_flag 2300 que indica si un coeficiente de transformación correspondiente tiene un valor mayor que 2, con respecto a coeficientes de transformación para los que coeff_abs_level_greater1_flag 2200 se establece a 1. Cuando coeff_abs_level_greater2_flag 2300 es 1, indica que un coeficiente de transformación correspondiente es un coeficiente de transformación que tiene un valor mayor que 2, y cuando coeff_abs_level_greater2_flag 2300 es 0, 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 coeff_abs_level_greater2_flag 2310 está en una localización de un coeficiente de transformación que tiene un valor de 2, coeff_abs_level_greater2_flag 2310 tiene un valor de 0.
La Figura 24 ilustra coeff_abs_level_remaining 2400 que corresponde a la unidad 2010 de transformación de 4x4 de la Figura 20.
Haciendo referencia a las Figuras 20 a 24, puede obtenerse coeff_abs_level_remaining 2400 que es un elemento de sintaxis que indica información de tamaño del coeficiente de transformación restantes calculando (absCoeffbaseLevel) de cada coeficiente de transformación.
Coeff_abs_level_remaining 2400 que es el elemento de sintaxis que indica información de tamaño de los coeficientes de transformación restantes tiene una diferencia en un intervalo entre el tamaño del coeficiente de transformación (absCoeff) y un valor de nivel de base baseLevel determinado usando coeff_abs_level_greater1_flag y coeff_abs_level_greater2_flag. El valor de nivel de base baseLevel se determina de acuerdo con la ecuación: baseLevel=1+coeff_abs_level_greather1_flag coeff_abs_level_greather2_flag, y coeff_abs_level_remaining se determina de acuerdo con la ecuación: coeff_abs_level_remaining=absCoeff-baseLevel.
Coeff_abs_level_remaining 2400 puede leerse y codificarse por entropía de acuerdo con el orden de exploración ilustrado.
La Figura 25 es un diagrama de flujo de un procedimiento de codificación por entropía de un vídeo, de acuerdo con una realización de la presente invención.
Haciendo referencia a las Figuras 14 y 25, en la operación 2510, el modelador 1420 de contexto obtiene datos de una unidad de codificación transformada basándose en una unidad de transformación. En la operación 2520, el modelador 1420 de contexto determina un modelo de contexto para codificar aritméticamente una bandera de coeficiente significativo de unidad de transformación que indica si existe un coeficiente de transformación distinto de cero en la unidad de transformación, basándose en una profundidad de transformación de la unidad de transformación.
El modelador 1420 de contexto puede determinar diferentes modelos de contexto en un caso cuando el tamaño de la unidad de transformación equivale 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. En más detalle, el modelador 1420 de contexto puede cambiar un parámetro de incremento de contexto ctxlnc para determinar un modelo de contexto, basándose 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 por lo tanto puede cambiar un índice de contexto ctxldx para determinar un modelo de contexto para codificar por entropía una bandera de coeficiente significativo de unidad de transformación.
La bandera de coeficiente significativo de unidad de transformación puede establecerse de manera separada de
acuerdo con componentes de luminancia y crominancia. Un modelo de contexto para codificar por entropía una bandera de coeficiente significativo de unidad de transformación cbf_luma de la unidad de transformación del componente de luminancia puede determinarse usando el parámetro de incremento de contexto ctxlnc cambiado de acuerdo con si la profundidad de transformación de la unidad de transformación es 0. Un modelo de contexto para codificar por entropía una bandera de coeficiente significativo de unidad de transformación cbf_cb o cbf_cr de la unidad de transformación del componente de crominancia puede determinarse usando un valor de la profundidad de transformación (trafodepth) como el parámetro de incremento de contexto ctxlnc.
En la operación 2530, el motor 1432 de codificación normal codifica aritméticamente la bandera de coeficiente significativo de unidad de transformación basándose en el modelo de contexto determinado.
La Figura 26 es un diagrama de bloques de un aparato 2600 de decodificación por entropía de acuerdo con una realización de la presente invención. El aparato 2600 de decodificación por entropía corresponde al decodificador 220 por entropía del aparato 200 de decodificación de vídeo de la Figura 2. El aparato 2600 de decodificación por entropía realiza una operación inversa de la operación de codificación por entropía realizada por el aparato 1400 de codificación por entropía anteriormente descrita.
Haciendo referencia a la Figura 26, el aparato 2600 de decodificación por entropía incluye un modelador 2610 de contexto, un motor 2620 de decodificación normal, un motor 2630 de decodificación de desvío y un anulador de conversión a binario 2640.
Un elemento de sintaxis codificado usando codificación de desvío se emite al decodificador 2630 de desvío para que se decodifique aritméticamente, y un elemento de sintaxis codificado usando codificación regular se decodifica aritméticamente por el decodificador 2620 regular. El decodificador 2620 regular decodifica aritméticamente un valor binario de un elemento de sintaxis actual basándose en un modelo de contexto proporcionado usando el modelador 2610 de contexto para emitir de esta manera una cadena de bits.
Como el modelador 1420 de contexto anteriormente descrito de la Figura 14, el modelador 2610 de contexto puede seleccionar un modelo de contexto para decodificar por entropía una bandera de coeficiente significativo de unidad de transformación cbf, basándose en una profundidad de transformación de una unidad de transformación. Es decir, el modelador 2610 de contexto puede determinar diferentes modelos de contexto en un caso cuando el tamaño de la unidad de transformación equivale 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. En más detalle, el modelador 2610 de contexto puede cambiar un parámetro de incremento de contexto ctxlnc para determinar un modelo de contexto, basándose 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 por lo tanto puede cambiar un índice de contexto ctxldx para determinar un modelo de contexto para decodificar por entropía la bandera de coeficiente significativo de unidad de transformación cbf.
Si la estructura de unidades de transformación incluidas en una unidad de codificación se determina basándose en una bandera de transformación de división split_transform_flag que indica si una unidad de codificación obtenida desde una secuencia de bits se divide en las unidades de transformación, la profundidad de transformación de la unidad de transformación puede determinarse basándose en el número de veces que se divide la unidad de codificación para alcanzar la unidad de transformación.
La bandera de coeficiente significativo de la unidad de transformación cbf puede establecerse de manera separada de acuerdo con componentes de luminancia y crominancia. Un modelo de contexto para decodificar por entropía una bandera de coeficiente significativo de unidad de transformación cbf_luma de la unidad de transformación del componente de luminancia puede determinarse usando el parámetro de incremento de contexto ctxlnc que cambia de acuerdo con si la profundidad de transformación de la unidad de transformación es 0. Un modelo de contexto para decodificar por entropía una bandera de coeficiente significativo de unidad de transformación cbf_cb o cbf_cr de la unidad de transformación del componente de crominancia puede determinarse usando un valor de la profundidad de transformación (trafodepth) como el parámetro de incremento de contexto ctxlnc.
El anulador de conversión a binario 2640 reconstruye cadenas de bits que se decodifican aritméticamente por el motor 2620 de decodificación regular o el motor 2630 de decodificación de desvío, a elementos de sintaxis de nuevo. El aparato 2600 de decodificación por entropía decodifica aritméticamente elementos de sintaxis relacionados con unidades de transformación, tal como coeff_abs_level_remaing, SigMap, coeff_abs_level_greater1_flag, y coeff_abs_level_greater2_flag además de la bandera de coeficiente significativo de unidad de transformación cbf, y emite los mismos. Cuando los elementos de sintaxis relacionados con una unidad de transformación se reconstruyen, los datos incluidos en las unidades de transformación pueden decodificarse usando cuantificación inversa, transformación inversa, y decodificación predictiva, basándose en los elementos de sintaxis reconstruidos. La Figura 27 es un diagrama de flujo un procedimiento de decodificación por entropía de un vídeo, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 27, en la operación 2710, se determina una unidad de transformación incluida en una unidad de codificación y usada para transformar a la inversa la unidad de codificación. Como se ha descrito anteriormente, la estructura de unidades de transformación incluidas en una unidad de codificación puede determinarse basándose en una bandera de transformación de división split_transform_flag que indica si la unidad de codificación obtenida de una secuencia de bits se divide en unidades de transformación. También, una profundidad de transformación de la unidad de transformación puede determinarse basándose en el número de veces que se divide la unidad de codificación para alcanzar la unidad de transformación.
En la operación 2720, el modelador 2610 de contexto obtiene una bandera de coeficiente significativo de unidad de transformación que indica si existe un coeficiente de transformación distinto de cero en la unidad de transformación, desde la secuencia de bits.
En la operación 2730, el modelador 2610 de contexto determina un modelo de contexto para decodificar aritméticamente la bandera de coeficiente significativo de unidad de transformación, basándose en la profundidad de transformación de la unidad de transformación. Como se ha descrito anteriormente, el modelador 2610 de contexto puede determinar diferentes modelos de contexto en un caso cuando el tamaño de la unidad de transformación equivale 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. En más detalle, el modelador 2610 de contexto puede cambiar un parámetro de incremento de contexto ctxlnc para determinar un modelo de contexto, basándose 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 por lo tanto puede cambiar un índice de contexto ctxldx para determinar un modelo de contexto para decodificar por entropía una bandera de coeficiente significativo de unidad de transformación.
En la operación 2740, el motor 2620 de decodificación regular decodifica aritméticamente la bandera de coeficiente significativo de unidad de transformación basándose en el modelo de contexto proporcionada desde el modelador 2610 de contexto.
Las realizaciones anteriores de la presente invención pueden realizarse también como código legible por ordenador en un medio de grabación legible por ordenador. El medio de grabación legible por ordenador es cualquier dispositivo de almacenamiento de datos que pueda almacenar datos que pueden leerse posteriormente por un sistema informático. Ejemplos del medio de grabación legible por ordenador incluyen memoria de solo lectura (ROM), memoria de acceso aleatorio (RAM), CD-ROM, cintas magnéticas, discos flexibles y dispositivos de almacenamiento de datos ópticos. El medio de grabación legible por ordenador puede distribuirse también a través de sistemas informáticos acoplados en red de modo que el código legible por ordenador se almacena y ejecuta en una forma distribuida.
Aunque la presente invención se ha mostrado y descrito particularmente con referencia a realizaciones ejemplares de la misma, se entenderá por un experto en la materia que pueden realizarse diversos cambios en forma y detalles en la misma sin alejarse del alcance de la presente invención como se define mediante las siguientes reivindicaciones.
Claims (3)
1. Un aparato de decodificación de vídeo, comprendiendo el aparato:
un analizador sintáctico obtiene, desde una secuencia de bits, una bandera de transformación de división para una profundidad actual, y cuando la bandera de transformación de división indica no división para la profundidad actual, determina que una profundidad de transformación es igual a la profundidad actual;
un modelador de contexto que determina un parámetro de incremento de contexto para determinar un índice de contexto basándose en únicamente si la profundidad de transformación es igual a cero, y obtiene un modelo de contexto para decodificación aritmética de una bandera de coeficiente significativo de unidad de transformación de un componente de luminancia que indica si existe un coeficiente de transformación distinto de cero en la unidad de transformación del componente de luminancia, usando el índice de contexto obtenido añadiendo el parámetro de incremento de contexto y un desplazamiento de contexto; y
un decodificador aritmético que decodifica aritméticamente la bandera de coeficiente significativo de unidad de transformación basándose en el modelo de contexto, y
determina si existe al menos un coeficiente de transformación distinto de cero en la unidad de transformación de la profundidad de transformación, basándose en la bandera significativa de la unidad de transformación, en el que, cuando la profundidad de transformación es igual a cero, el modelador de contexto determina el parámetro de incremento de contexto como uno; y
cuando la profundidad de transformación no es igual a cero, el modelador de contexto determina el parámetro de incremento de contexto como cero,
en el que, cuando la bandera de transformación dividida indica una división para la profundidad actual, una unidad de transformación de la profundidad actual se divide en una o varias unidades de transformación de la siguiente profundidad, y se obtiene una bandera de transformación dividida para la siguiente profundidad de la secuencia de bits.
2. Un procedimiento de codificación de un vídeo, comprendiendo el procedimiento:
obtener una bandera de transformación dividida para una profundidad actual, y cuando la bandera de transformación dividida indica no división para la profundidad actual, determinar una profundidad de transformación es igual a la profundidad actual; determinar un parámetro de incremento de contexto para determinar un índice de contexto basándose solo en si la profundidad de transformación de una unidad de transformación incluida en una unidad de codificación es igual a cero;
obtener un modelo de contexto para codificación aritmética de una bandera de coeficiente significativo de unidad de transformación de un componente de luminancia que indica si existe un coeficiente de transformación distinto de cero en la unidad de transformación del componente de luminancia usando el índice de contexto obtenido al agregar el parámetro de incremento de contexto y un desplazamiento de contexto; y
codificar la bandera de coeficiente significativo de la unidad de transformación basándose en el modelo de contexto determinado, en el que la determinación del parámetro de incremento de contexto comprende, además: cuando la profundidad de transformación es igual a cero, determinar el parámetro de incremento de contexto como uno; y cuando la profundidad de transformación no es igual a cero, determinar el parámetro de incremento de contexto como cero,
en el que, cuando la bandera de transformación dividida indica una división para la profundidad actual, una unidad de transformación de la profundidad actual se divide en una o varias unidades de transformación de la siguiente profundidad, y se incluye una bandera de transformación dividida para la siguiente profundidad en el flujo de bits.
3. Un medio legible por ordenador no transitorio para almacenar datos asociados con un vídeo, que comprende una secuencia de bits almacenada en un medio legible por ordenador no transitorio, incluyendo la secuencia de bits: una bandera de transformación dividida para una profundidad actual usada para determinar una unidad de transformación para el procedimiento de transformación inversa; y
una bandera de coeficiente significativo de la unidad de transformación de un componente de luminancia que indica si existe un coeficiente de transformación distinto de cero en la unidad de transformación del componente de luminancia,
en el que, cuando la bandera de transformación dividida indica una no división para la profundidad actual, una profundidad de transformación es igual a la profundidad actual;
en el que la bandera de coeficiente significativo de la unidad de transformación del componente de luminancia se obtiene decodificando aritméticamente la secuencia de bits basándose en un modelo de contexto, siendo el modelo de contexto determinado usando un índice de contexto obtenido agregando un parámetro de incremento de contexto y un desplazamiento de contexto, siendo el parámetro de incremento de contexto determinado basándose solo en si la profundidad de transformación de la unidad de transformación incluida en una unidad de codificación es igual a cero,
en el que, si existe al menos un coeficiente de transformación distinto de cero en la unidad de transformación de la profundidad de transformación se determina basándose en la bandera de coeficiente significante de unidad, y
, en el que, cuando la profundidad de transformación es igual a cero, el parámetro de incremento de contexto se determina como uno; y
cuando la profundidad de transformación no es igual a cero, el parámetro de incremento de contexto se determina como cero, en el que, cuando la bandera de transformación dividida indica una división para la profundidad actual, una unidad de transformación de la profundidad actual se divide en una o varias unidades de transformación de la siguiente profundidad, y se obtiene una bandera de transformación dividida para la siguiente profundidad de la secuencia de bits.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261667117P | 2012-07-02 | 2012-07-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2764988T3 true ES2764988T3 (es) | 2020-06-05 |
Family
ID=49882230
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES18165272T Active ES2768086T3 (es) | 2012-07-02 | 2013-07-02 | Codificación por entropía de un vídeo y decodificación por entropía de un vídeo |
ES18165273T Active ES2764989T3 (es) | 2012-07-02 | 2013-07-02 | Codificación por entropía de un vídeo y decodificación por entropía de un vídeo |
ES18165271T Active ES2764988T3 (es) | 2012-07-02 | 2013-07-02 | Codificación por entropía de un vídeo y decodificación por entropía de un vídeo |
ES13813478.8T Active ES2673893T3 (es) | 2012-07-02 | 2013-07-02 | Procedimiento para decodificación por entropía de un vídeo |
ES18165274T Active ES2770609T3 (es) | 2012-07-02 | 2013-07-02 | Codificación por entropía de un vídeo y decodificación por entropía de un vídeo |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES18165272T Active ES2768086T3 (es) | 2012-07-02 | 2013-07-02 | Codificación por entropía de un vídeo y decodificación por entropía de un vídeo |
ES18165273T Active ES2764989T3 (es) | 2012-07-02 | 2013-07-02 | Codificación por entropía de un vídeo y decodificación por entropía de un vídeo |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES13813478.8T Active ES2673893T3 (es) | 2012-07-02 | 2013-07-02 | Procedimiento para decodificación por entropía de un vídeo |
ES18165274T Active ES2770609T3 (es) | 2012-07-02 | 2013-07-02 | Codificación por entropía de un vídeo y decodificación por entropía de un vídeo |
Country Status (28)
Country | Link |
---|---|
US (5) | US9407936B2 (es) |
EP (5) | EP3361732B1 (es) |
JP (3) | JP6014823B2 (es) |
KR (12) | KR101484283B1 (es) |
CN (7) | CN105007489A (es) |
AU (4) | AU2013285752B2 (es) |
BR (3) | BR122020009714B1 (es) |
CA (2) | CA2988167C (es) |
CY (1) | CY1120791T1 (es) |
DK (5) | DK3361733T3 (es) |
ES (5) | ES2768086T3 (es) |
HR (1) | HRP20180927T1 (es) |
HU (3) | HUE039986T2 (es) |
IN (1) | IN2015MN00021A (es) |
LT (1) | LT2869563T (es) |
MX (1) | MX347473B (es) |
MY (6) | MY200990A (es) |
PH (5) | PH12018500781A1 (es) |
PL (5) | PL3361733T3 (es) |
PT (1) | PT2869563T (es) |
RS (1) | RS57336B1 (es) |
RU (3) | RU2612624C2 (es) |
SG (4) | SG11201408336RA (es) |
SI (1) | SI2869563T1 (es) |
TR (1) | TR201808497T4 (es) |
TW (3) | TWI655859B (es) |
WO (1) | WO2014007524A1 (es) |
ZA (1) | ZA201500272B (es) |
Families Citing this family (35)
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 |
SI2869563T1 (en) * | 2012-07-02 | 2018-08-31 | Samsung Electronics Co., Ltd. | The process of entropic video decoding |
US20160165246A1 (en) * | 2013-07-17 | 2016-06-09 | Sony Corporation | Image processing device and method |
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 | 广东中星电子有限公司 | 图像和视频数据编解码的方法和设备 |
JP2018530211A (ja) * | 2015-09-08 | 2018-10-11 | サムスン エレクトロニクス カンパニー リミテッド | エントロピー符号化及び復号化のための装置及び方法 |
US10531102B2 (en) * | 2015-09-10 | 2020-01-07 | Samsung Electronics Co., Ltd. | Encoding device, decoding device, and encoding and decoding method thereof |
KR102469145B1 (ko) | 2015-10-13 | 2022-11-21 | 삼성전자주식회사 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
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 |
CN113810709A (zh) | 2016-04-29 | 2021-12-17 | 世宗大学校产学协力团 | 用于对图像信号进行编码和解码的方法和装置 |
WO2017188739A1 (ko) * | 2016-04-29 | 2017-11-02 | 세종대학교 산학협력단 | 영상 신호 부호화 및 복호화 방법과 장치 |
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 | 삼성전자 주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
CN117834919A (zh) | 2018-01-17 | 2024-04-05 | 英迪股份有限公司 | 对视频进行解码或编码的方法和用于发送比特流的方法 |
US11366738B2 (en) * | 2018-03-12 | 2022-06-21 | Headspin, Inc. | System to determine performance based on entropy values |
EP3562156A1 (en) * | 2018-04-27 | 2019-10-30 | InterDigital VC Holdings, Inc. | Method and apparatus for adaptive context modeling in video encoding and decoding |
WO2020101313A1 (ko) * | 2018-11-12 | 2020-05-22 | 삼성전자 주식회사 | 계수 레벨의 엔트로피 부호화 방법 및 장치, 엔트로피 복호화 방법 및 장치 |
CN111435993B (zh) * | 2019-01-14 | 2022-08-26 | 华为技术有限公司 | 视频编码器、视频解码器及相应方法 |
CN114143548B (zh) | 2019-03-11 | 2023-02-14 | 北京达佳互联信息技术有限公司 | 视频编解码中变换系数的编解码 |
KR102204438B1 (ko) * | 2019-03-15 | 2021-01-18 | 삼성전자주식회사 | 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
WO2020189971A1 (ko) * | 2019-03-15 | 2020-09-24 | 엘지전자 주식회사 | 영상 코딩 시스템에서 변환 스킵 플래그를 이용한 영상 디코딩 방법 및 그 장치 |
WO2020218580A1 (ja) * | 2019-04-24 | 2020-10-29 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法、および復号方法 |
KR102211000B1 (ko) * | 2019-06-21 | 2021-02-02 | 삼성전자주식회사 | 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치 |
CN112449188B (zh) * | 2019-08-28 | 2021-08-20 | 腾讯科技(深圳)有限公司 | 视频解码方法、编码方法、装置、介质及电子设备 |
WO2021194199A1 (ko) * | 2020-03-24 | 2021-09-30 | 엘지전자 주식회사 | 변환에 기반한 영상 코딩 방법 및 그 장치 |
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 |
CN114531595B (zh) * | 2022-04-24 | 2022-08-09 | 浙江芯昇电子技术有限公司 | cabac二进制化和上下文模型产生的编码方法和装置 |
Family Cites Families (58)
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 | 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US7599438B2 (en) * | 2003-09-07 | 2009-10-06 | Microsoft Corporation | Motion vector block pattern coding and decoding |
JP2005123732A (ja) * | 2003-10-14 | 2005-05-12 | Matsushita Electric Ind Co Ltd | デブロックフィルタ処理装置およびデブロックフィルタ処理方法 |
US7664176B2 (en) * | 2004-07-09 | 2010-02-16 | Nokia Corporation | Method and system for entropy decoding for scalable video bit stream |
US20060008009A1 (en) * | 2004-07-09 | 2006-01-12 | Nokia Corporation | Method and system for entropy coding for scalable video codec |
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. |
EP2039168A2 (en) * | 2006-07-05 | 2009-03-25 | Thomson Licensing | Methods and apparatus for multi-view video encoding and decoding |
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 | キヤノン株式会社 | 画像復号化装置及び画像復号化方法 |
US8503527B2 (en) * | 2008-10-03 | 2013-08-06 | Qualcomm Incorporated | Video coding with large macroblocks |
US8634456B2 (en) * | 2008-10-03 | 2014-01-21 | Qualcomm Incorporated | Video coding with large macroblocks |
US8619856B2 (en) * | 2008-10-03 | 2013-12-31 | 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 |
KR101672456B1 (ko) * | 2009-02-09 | 2016-11-17 | 삼성전자 주식회사 | 저복잡도 주파수 변환을 이용한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치 |
JP5133950B2 (ja) | 2009-07-16 | 2013-01-30 | 日本電信電話株式会社 | コンテクスト適応エントロピ符号化方法および装置,コンテクスト適応エントロピ復号方法および装置,並びにそれらのプログラム |
KR101474756B1 (ko) * | 2009-08-13 | 2014-12-19 | 삼성전자주식회사 | 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치 |
KR101456498B1 (ko) * | 2009-08-14 | 2014-10-31 | 삼성전자주식회사 | 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
KR101624649B1 (ko) * | 2009-08-14 | 2016-05-26 | 삼성전자주식회사 | 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
KR20110017719A (ko) * | 2009-08-14 | 2011-02-22 | 삼성전자주식회사 | 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
PL2491553T3 (pl) * | 2009-10-20 | 2017-05-31 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Koder audio, dekoder audio, sposób kodowania informacji audio, sposób dekodowania informacji audio i program komputerowy wykorzystujący iteracyjne zmniejszania rozmiaru przedziału |
KR101457418B1 (ko) * | 2009-10-23 | 2014-11-04 | 삼성전자주식회사 | 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치 |
KR101457894B1 (ko) * | 2009-10-28 | 2014-11-05 | 삼성전자주식회사 | 영상 부호화 방법 및 장치, 복호화 방법 및 장치 |
KR101457396B1 (ko) * | 2010-01-14 | 2014-11-03 | 삼성전자주식회사 | 디블로킹 필터링을 이용한 비디오 부호화 방법과 그 장치, 및 디블로킹 필터링을 이용한 비디오 복호화 방법 및 그 장치 |
KR101703327B1 (ko) | 2010-01-14 | 2017-02-06 | 삼성전자 주식회사 | 계층적 데이터 단위의 패턴 정보를 이용하는 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치 |
US9973768B2 (en) | 2010-03-16 | 2018-05-15 | Texas Instruments Incorporated | CABAC decoder with decoupled arithmetic decoding and inverse binarization |
US9100661B2 (en) * | 2010-04-05 | 2015-08-04 | 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 | 上海交通大学 | 可伸缩视频稀疏信息处理系统 |
PL3104616T3 (pl) | 2010-07-09 | 2017-10-31 | Samsung Electronics Co Ltd | Urządzenie do entropijnego dekodowania współczynników przekształcenia |
WO2012005520A2 (en) * | 2010-07-09 | 2012-01-12 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by using block merging, and method and apparatus for decoding video by using block merging |
US9215470B2 (en) * | 2010-07-09 | 2015-12-15 | Qualcomm Incorporated | Signaling selected directional transform for video coding |
KR20120008314A (ko) * | 2010-07-16 | 2012-01-30 | 광운대학교 산학협력단 | 영상 특성과 문맥에 기반한 적응적인 매크로 블록 크기 조절과 하위 블록의 깊이 조절을 이용한 동영상 부호화/복호화 장치 및 그 방법 |
CN103238321B (zh) * | 2010-09-30 | 2016-11-02 | 三星电子株式会社 | 用于对分层结构的符号进行编解码的视频编解码方法及其装置 |
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 |
CN104811705B (zh) * | 2011-01-06 | 2018-05-08 | 三星电子株式会社 | 视频的编码方法和装置及视频的解码方法和装置 |
US9414056B2 (en) * | 2011-01-13 | 2016-08-09 | Samsung Electronics Co., Ltd. | Video-encoding method and apparatus for same and video-decoding method and apparatus for same using a selective scan mode |
WO2012114711A1 (ja) * | 2011-02-23 | 2012-08-30 | パナソニック株式会社 | 画像符号化方法および画像復号方法 |
WO2012134246A2 (ko) * | 2011-04-01 | 2012-10-04 | 엘지전자 주식회사 | 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치 |
CN102215404B (zh) * | 2011-05-20 | 2013-07-10 | 昌信科技有限公司 | 嵌入式系统中视频的解码方法和系统 |
CN105791875B (zh) | 2011-06-10 | 2018-12-11 | 联发科技股份有限公司 | 可伸缩视频编码方法及其装置 |
US20130003858A1 (en) * | 2011-06-30 | 2013-01-03 | Vivienne Sze | Simplified Context Selection For Entropy Coding of Transform Coefficient Syntax Elements |
AU2012278484B2 (en) | 2011-07-01 | 2016-05-05 | Samsung Electronics Co., Ltd. | Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding |
IN2014CN03598A (es) * | 2011-11-04 | 2015-07-31 | Sharp Kk | |
US9237358B2 (en) * | 2011-11-08 | 2016-01-12 | Qualcomm Incorporated | Context reduction for context adaptive binary arithmetic coding |
EP2800368B1 (en) * | 2011-12-28 | 2021-07-28 | Sharp Kabushiki Kaisha | Arithmetic decoding device, arithmetic decoding method, and arithmetic coding device |
US9185405B2 (en) * | 2012-03-23 | 2015-11-10 | Qualcomm Incorporated | Coded block flag inference in video coding |
SI2869563T1 (en) * | 2012-07-02 | 2018-08-31 | Samsung Electronics Co., Ltd. | The process of entropic video decoding |
-
2013
- 2013-07-02 SI SI201331067T patent/SI2869563T1/en unknown
- 2013-07-02 RS RS20180701A patent/RS57336B1/sr unknown
- 2013-07-02 KR KR1020130077301A patent/KR101484283B1/ko active IP Right Grant
- 2013-07-02 ES ES18165272T patent/ES2768086T3/es active Active
- 2013-07-02 EP EP18165271.0A patent/EP3361732B1/en active Active
- 2013-07-02 CN CN201510293002.9A patent/CN105007489A/zh active Pending
- 2013-07-02 BR BR122020009714-0A patent/BR122020009714B1/pt not_active IP Right Cessation
- 2013-07-02 EP EP18165272.8A patent/EP3361733B1/en active Active
- 2013-07-02 MY MYPI2018001237A patent/MY200990A/en unknown
- 2013-07-02 RU RU2015102988A patent/RU2612624C2/ru active
- 2013-07-02 SG SG11201408336RA patent/SG11201408336RA/en unknown
- 2013-07-02 IN IN21MUN2015 patent/IN2015MN00021A/en unknown
- 2013-07-02 PH PH12018500781A patent/PH12018500781A1/en unknown
- 2013-07-02 CN CN201380035699.9A patent/CN104471934B/zh active Active
- 2013-07-02 CN CN201510192559.3A patent/CN104811707B/zh active Active
- 2013-07-02 PH PH12018500782A patent/PH12018500782A1/en unknown
- 2013-07-02 MY MYPI2017000989A patent/MY182019A/en unknown
- 2013-07-02 DK DK18165272.8T patent/DK3361733T3/da active
- 2013-07-02 BR BR122018069200-6A patent/BR122018069200B1/pt active IP Right Grant
- 2013-07-02 DK DK18165273.6T patent/DK3361734T3/da active
- 2013-07-02 CN CN201510192459.0A patent/CN104796712B/zh active Active
- 2013-07-02 DK DK13813478.8T patent/DK2869563T3/en active
- 2013-07-02 TW TW106143919A patent/TWI655859B/zh active
- 2013-07-02 EP EP18165273.6A patent/EP3361734B1/en active Active
- 2013-07-02 ES ES18165273T patent/ES2764989T3/es active Active
- 2013-07-02 PT PT138134788T patent/PT2869563T/pt unknown
- 2013-07-02 SG SG10201701381RA patent/SG10201701381RA/en unknown
- 2013-07-02 PH PH12018500784A patent/PH12018500784A1/en unknown
- 2013-07-02 DK DK18165274.4T patent/DK3361735T3/da active
- 2013-07-02 EP EP18165274.4A patent/EP3361735B1/en active Active
- 2013-07-02 MY MYPI2017000988A patent/MY181285A/en unknown
- 2013-07-02 SG SG10201704574YA patent/SG10201704574YA/en unknown
- 2013-07-02 HU HUE13813478A patent/HUE039986T2/hu unknown
- 2013-07-02 MY MYPI2017000990A patent/MY182016A/en unknown
- 2013-07-02 RU RU2017105516A patent/RU2642387C1/ru active
- 2013-07-02 MY MYPI2017000987A patent/MY181358A/en unknown
- 2013-07-02 LT LTEP13813478.8T patent/LT2869563T/lt unknown
- 2013-07-02 ES ES18165271T patent/ES2764988T3/es active Active
- 2013-07-02 AU AU2013285752A patent/AU2013285752B2/en active Active
- 2013-07-02 PL PL18165272T patent/PL3361733T3/pl unknown
- 2013-07-02 TR TR2018/08497T patent/TR201808497T4/tr unknown
- 2013-07-02 TW TW105128696A patent/TWI615017B/zh active
- 2013-07-02 ES ES13813478.8T patent/ES2673893T3/es active Active
- 2013-07-02 BR BR112014033040-9A patent/BR112014033040B1/pt active IP Right Grant
- 2013-07-02 CA CA2988167A patent/CA2988167C/en active Active
- 2013-07-02 EP EP13813478.8A patent/EP2869563B1/en active Active
- 2013-07-02 HU HUE18165274A patent/HUE049140T2/hu unknown
- 2013-07-02 CA CA2876288A patent/CA2876288C/en active Active
- 2013-07-02 DK DK18165271.0T patent/DK3361732T3/da active
- 2013-07-02 PL PL18165273T patent/PL3361734T3/pl unknown
- 2013-07-02 CN CN201510193808.0A patent/CN104811708B/zh active Active
- 2013-07-02 CN CN201711482106.XA patent/CN107911699B/zh active Active
- 2013-07-02 HU HUE18165271A patent/HUE048718T2/hu unknown
- 2013-07-02 US US14/362,771 patent/US9407936B2/en active Active
- 2013-07-02 WO PCT/KR2013/005870 patent/WO2014007524A1/ko active Application Filing
- 2013-07-02 MX MX2015000134A patent/MX347473B/es active IP Right Grant
- 2013-07-02 ES ES18165274T patent/ES2770609T3/es active Active
- 2013-07-02 CN CN201510192540.9A patent/CN104811704B/zh active Active
- 2013-07-02 PL PL18165274T patent/PL3361735T3/pl unknown
- 2013-07-02 PL PL18165271T patent/PL3361732T3/pl unknown
- 2013-07-02 MY MYPI2014704059A patent/MY166893A/en unknown
- 2013-07-02 PL PL13813478T patent/PL2869563T3/pl unknown
- 2013-07-02 TW TW102123712A patent/TWI555377B/zh active
- 2013-07-02 JP JP2015520057A patent/JP6014823B2/ja active Active
- 2013-07-02 SG SG10201709163WA patent/SG10201709163WA/en unknown
- 2013-07-02 PH PH12018500783A patent/PH12018500783A1/en unknown
-
2014
- 2014-05-16 KR KR1020140059299A patent/KR20140093201A/ko active IP Right Grant
- 2014-09-01 KR KR1020140115475A patent/KR20140122698A/ko active IP Right Grant
- 2014-10-29 KR KR1020140148742A patent/KR101678572B1/ko active IP Right Grant
- 2014-12-23 PH PH12014502873A patent/PH12014502873A1/en unknown
-
2015
- 2015-01-14 ZA ZA2015/00272A patent/ZA201500272B/en unknown
- 2015-01-22 US US14/602,897 patent/US9516350B2/en active Active
- 2015-03-12 US US14/645,951 patent/US9525891B2/en active Active
- 2015-03-12 US US14/645,988 patent/US9591333B2/en active Active
- 2015-03-12 US US14/656,045 patent/US9426496B2/en active Active
- 2015-04-06 KR KR1020150048333A patent/KR101678573B1/ko active IP Right Grant
- 2015-04-06 KR KR1020150048335A patent/KR101678574B1/ko active IP Right Grant
- 2015-07-24 KR KR1020150105292A patent/KR101678575B1/ko active IP Right Grant
- 2015-07-24 KR KR1020150105294A patent/KR101678577B1/ko active IP Right Grant
- 2015-07-24 KR KR1020150105293A patent/KR101678576B1/ko active IP Right Grant
-
2016
- 2016-03-22 AU AU2016201791A patent/AU2016201791B2/en active Active
- 2016-08-16 JP JP2016159471A patent/JP6247354B2/ja active Active
- 2016-11-16 KR KR1020160152974A patent/KR101769429B1/ko active IP Right Grant
-
2017
- 2017-02-01 AU AU2017200680A patent/AU2017200680B2/en active Active
- 2017-08-11 KR KR1020170102572A patent/KR101824057B1/ko active IP Right Grant
- 2017-11-16 JP JP2017221160A patent/JP6510618B2/ja active Active
- 2017-12-27 RU RU2017146044A patent/RU2673392C1/ru active
-
2018
- 2018-01-16 AU AU2018200355A patent/AU2018200355B2/en active Active
- 2018-01-25 KR KR1020180009614A patent/KR101927969B1/ko active IP Right Grant
- 2018-06-14 HR HRP20180927TT patent/HRP20180927T1/hr unknown
- 2018-06-29 CY CY181100678T patent/CY1120791T1/el unknown
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2764988T3 (es) | Codificación por entropía de un vídeo y decodificación por entropía de un vídeo | |
ES2816059T3 (es) | Procedimiento y aparato para la codificación de vídeo, correspondiente procedimiento para la decodificación de vídeo, vídeo acompañado de decodificación aritmética y señalización de coeficiente significativo en dos dimensiones | |
ES2868087T3 (es) | Procedimiento y aparato para determinar un modelo de contexto para codificación por entropía de nivel de coeficiente de transformación | |
ES2949651T3 (es) | Procedimiento de descodificación de vídeo que utiliza la actualización de parámetros para la desbinarización del coeficiente de transformación codificado con entropía, aparato de codificación que utiliza el mismo para la binarización | |
ES2864024T3 (es) | Aparato de decodificación de vídeo en base a información de patrón de bloque codificado jerárquico | |
RU2597494C2 (ru) | Способ и устройство для энтропийного кодирования с использованием иерархической единицы данных и способ и устройство для декодирования |