ES2816059T3 - 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 - Google Patents
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 Download PDFInfo
- Publication number
- ES2816059T3 ES2816059T3 ES17203278T ES17203278T ES2816059T3 ES 2816059 T3 ES2816059 T3 ES 2816059T3 ES 17203278 T ES17203278 T ES 17203278T ES 17203278 T ES17203278 T ES 17203278T ES 2816059 T3 ES2816059 T3 ES 2816059T3
- Authority
- ES
- Spain
- Prior art keywords
- unit
- encoding
- prefix
- bit string
- suffix
- 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
- 238000000034 method Methods 0.000 title claims abstract description 132
- 230000011664 signaling Effects 0.000 title description 2
- 230000009466 transformation Effects 0.000 claims description 129
- 238000009795 derivation Methods 0.000 claims 2
- 238000005192 partition Methods 0.000 description 152
- 238000006243 chemical reaction Methods 0.000 description 80
- 238000010586 diagram Methods 0.000 description 28
- 238000007493 shaping process Methods 0.000 description 15
- 239000000284 extract Substances 0.000 description 7
- 238000001914 filtration Methods 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000009877 rendering Methods 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/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]
-
- 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/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/186—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 colour or a chrominance component
-
- 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/1883—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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
-
- 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/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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- 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
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Un procedimiento para decodificar un vídeo, comprendiendo el procedimiento: recibir (61) un flujo de bits que incluye información acerca de una última ubicación de coeficiente significativo de un bloque de transformación; realizar (65) decodificación aritmética basada en contexto en una cadena de bits de prefijo de la última ubicación significativa del coeficiente entre la información acerca de la última ubicación significativa del coeficiente; cuando la cadena de bits del prefijo es mayor que un valor predeterminado, realizar (65) una decodificación aritmética en modo de derivación en una cadena de bits de sufijo de la última ubicación significativa del coeficiente entre la información acerca de la última ubicación del coeficiente significativa; realizar (67) binarización inversa en la cadena de bits de prefijo de acuerdo con un esquema de binarización truncada para obtener un prefijo binarizado inverso; realizar (67) binarización inversa sobre la cadena de bits de sufijo de acuerdo con el esquema de binarización de longitud fija para obtener un sufijo binarizado inverso; y reconstruir un símbolo que indica la última ubicación significativa del coeficiente del bloque de transformación usando el prefijo binarizado inverso y el sufijo binarizado inverso, en el que la decodificación aritmética basada en contexto de la cadena de bits de prefijo se realiza usando un índice de contexto determinado en función del tamaño del bloque de transformación y la ubicación de un bit de la cadena de bits de prefijo, en el que se reconstruye la última ubicación de coeficiente significativa del bloque de transformación actual combinando el prefijo binarizado inverso y el sufijo binarizado inverso, y en el que la ubicación del último coeficiente significativo reconstruido indica una información sobre una coordenada x de la última ubicación significativa del coeficiente en una dirección de anchuras del bloque de transformación actual e información sobre una coordenada y de la última ubicación significativa del coeficiente en una dirección de alturas del bloque de transformación actual, en el que el valor predeterminado es un punto de clasificación entre la cadena de bits del prefijo y la cadena de bits del sufijo, en el que el sufijo binarizado inverso es un valor restante de un símbolo que indica la última ubicación significativa del coeficiente del bloque de transformación después de que el prefijo binarizado inverso se excluye del símbolo.
Description
DESCRIPCIÓN
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
rCampo técnico!
La presente invención se refiere a codificación de vídeo y decodificación de vídeo que implican codificación aritmética y decodificación aritmética, respectivamente.
Antecedentes de la técnica!
A medida que se está desarrollando y suministrando hardware para reproducir y almacenar contenido de vídeo de alta resolución o de alta calidad, aumenta una necesidad de un códec de vídeo para codificar o decodificar eficazmente el contenido de vídeo de alta resolución o de alta calidad. En un códec de vídeo convencional, se codifica un vídeo de acuerdo con un procedimiento de codificación limitado basado en un macrobloque que tiene un tamaño predeterminado.
Los datos de imagen de un dominio espacial se convierten a coeficientes de una región de frecuencia usando un procedimiento de conversión de frecuencia. Un códec de vídeo codifica coeficientes de frecuencia en unidades de bloques dividiendo una imagen en una pluralidad de bloques que tienen un tamaño predeterminado y realizando conversión de Transformación de Coseno Discreta (DCT) para rápida operación de conversión de frecuencia. Los coeficientes de la región de frecuencia se comprimen fácilmente en comparación con los datos de imagen del dominio espacial. En particular, un valor de píxel de una imagen en el dominio espacial se representa como un error de predicción y por lo tanto si se realiza conversión de frecuencia en el error de predicción, una gran cantidad de datos puede convertirse a 0. Un códec de vídeo convierte datos que se generan de manera continua y repetitiva en pequeños datos para reducir una cantidad de datos.
El documento EP1797536A1 desvela un esquema de codificación para un flujo de datos que representa un modelo gráfico modificable temporalmente.
El documento WO03094529A2 desvela un procedimiento y una disposición para codificar coeficientes de transformación en codificadores y decodificadores de imagen y/o vídeo.
SOLE J y col. "Parallel context processing for the significance map in high coding efficiency" [95. MPEG Meetong; 24 1-2011 -28-1-2011 Daegu(ISO/IEC JTC1/SC29/WG11] desvela una técnica para la paralelización del procesamiento de contexto para mejorar el rendimiento del codificador de entropía para el caso de alta eficiencia.
Divulgación!
Problema técnico!
La presente invención proporciona un procedimiento y aparato para realizar codificación aritmética y decodificación aritmética de un vídeo clasificando un símbolo en cadenas de bits de prefijo y sufijo.
rEfectos ventajosos!
La eficacia de un procedimiento de codificación/decodificación de símbolo se mejora realizando un procedimiento de conversión a binario que tiene una cantidad relativamente pequeña de carga de operación en la región de sufijo o la cadena de bits de sufijo u omitiendo el modelado de contexto durante la codificación/decodificación aritmética basada en contexto para codificación/decodificación de símbolo.
[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;
Las Figuras 3 y 4 son diagramas para describir codificación aritmética clasificando un símbolo en una cadena de bits de prefijo y una cadena de bits de sufijo de acuerdo con un valor umbral predeterminado, de acuerdo con una realización de la presente invención;
La Figura 5 es un diagrama de flujo para describir un procedimiento de codificación de vídeo, de acuerdo con una realización de la presente invención;
La Figura 6 es un diagrama de flujo para describir un procedimiento de decodificación de vídeo, de acuerdo con una realización de la presente invención;
La Figura 7 es un diagrama de bloques de un aparato de codificación de vídeo basado en unidades de codificación que tienen una estructura de árbol, de acuerdo con una realización de la presente invención;
La Figura 8 es un diagrama de bloques de un aparato de decodificación de vídeo basado en una unidad de codificación que tiene una estructura de árbol, de acuerdo con una realización de la presente invención;
La Figura 9 es un diagrama conceptual de unidades de codificación, de acuerdo con una realización de la presente invención;
La Figura 10 es un diagrama de bloques de un codificador de imagen basado en unidades de codificación, de acuerdo con una realización de la presente invención;
La Figura 11 es un diagrama de bloques de un decodificador de imagen basado en unidades de codificación, de acuerdo con una realización de la presente invención;
La Figura 12 es un diagrama que muestra unidades de codificación de acuerdo con las profundidades y particiones, 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 y unidades de transformación, de acuerdo con una realización de la presente invención;
La Figura 14 es un diagrama para describir información de codificación de unidades de codificación de acuerdo con las profundidades, de acuerdo con una realización de la presente invención;
La Figura 15 es un diagrama que muestra unidades de codificación de acuerdo con las profundidades, de acuerdo con una realización de la presente invención;
Las Figuras 16 a 18 son diagramas para describir una relación entre unidades de codificación, unidades de predicción, y unidades de transformación, de acuerdo con una realización de la presente invención; y
La Figura 19 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.
rMeior modo!
De acuerdo con un aspecto de la presente invención, se proporciona un procedimiento y aparato tal como se define en las reivindicaciones anexas.
rModo para la invención!
En lo sucesivo, la presente invención se describirá más completamente con referencia a los dibujos adjuntos, en los que se muestran realizaciones ejemplares de la invención. 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.
Un procedimiento de codificación de vídeo que implica codificación aritmética y un procedimiento de decodificación de vídeo que implica decodificación aritmética de acuerdo con una realización de la presente invención se describirán con referencia a las Figuras 1 a 6. También, un procedimiento de codificación de vídeo que implica codificación aritmética y un procedimiento de decodificación de vídeo que implica decodificación aritmética basándose en unidades de codificación que tienen una estructura de árbol de acuerdo con una realización de la presente invención, se describirán con referencia a las Figuras 7 a 19. En lo sucesivo, una 'imagen' puede hacer referencia a una imagen fija de un vídeo o una película, es decir, un propio vídeo.
En lo sucesivo, un procedimiento de codificación de vídeo y un procedimiento de decodificación de vídeo, de acuerdo con una realización de la presente invención, basándose en un procedimiento de predicción en un modo de intra predicción se describirán con referencia a las Figuras 1 a 6.
La Figura 1 es un diagrama de bloques de un aparato 10 de codificación de vídeo, de acuerdo con una realización de la presente invención.
El aparato 10 de codificación de vídeo puede codificar datos de vídeo de un dominio espacial a través de intra predicción/inter predicción, transformación, cuantificación y codificación de símbolo. En lo sucesivo, se describirán en detalle las operaciones que tienen lugar cuando el aparato 10 de codificación de vídeo codifica símbolos generados por la intra predicción/inter predicción, la transformación, y la cuantificación a través de codificación aritmética.
El aparato 10 de codificación de vídeo incluye un codificador 12 de imagen, un codificador 14 de símbolo, y una unidad 16 de salida de secuencia de bits.
El aparato 10 de codificación de vídeo puede dividir datos de imagen de un vídeo en una pluralidad de unidades de datos y codificar los datos de imagen de acuerdo con las unidades de datos. La unidad de datos puede tener una forma cuadrada o una forma rectangular, o puede ser una forma geométrica arbitraria, pero la unidad de datos no está limitada a una unidad de datos que tiene un tamaño predeterminado. De acuerdo con el procedimiento de codificación de vídeo basado en las unidades de codificación que tienen una estructura de árbol, una unidad de datos puede ser una unidad de codificación máxima, una unidad de codificación, una unidad de predicción, una unidad de transformación o similares. Un ejemplo donde un procedimiento de codificación/decodificación aritmética de acuerdo con una realización de la presente invención se usa en el procedimiento de codificación/decodificación de vídeo basado en las unidades de codificación que tienen una estructura de árbol se describirá con referencia a las Figuras 7 a 19.
Por conveniencia de descripción, se describirá en detalle un procedimiento de codificación de vídeo para un 'bloque' que es una clase de unidad de datos. Sin embargo, el procedimiento de codificación de vídeo de acuerdo con diversas realizaciones de la presente invención no está limitado al procedimiento de codificación de vídeo para el 'bloque', y
puede usarse para diversas unidades de datos.
El codificador 12 de imagen realiza operaciones, tales como intra predicción/inter predicción, transformación, o cuantificación, en bloques de imagen para generar símbolos.
El codificador 14 de símbolo clasifica un símbolo actual en una región de prefijo y una región de sufijo basándose en un valor umbral determinado de acuerdo con un tamaño de un bloque actual para codificar el símbolo actual de entre los símbolos generados de acuerdo con los bloques. El codificador 14 de símbolo puede determinar el valor umbral para clasificar el símbolo actual en la región de prefijo y la región de sufijo basándose en al menos una de una anchura y una altura del bloque actual.
El codificador 14 de símbolo puede determinar un procedimiento de codificación de símbolo para cada una de la región de prefijo y la región de sufijo y codificar cada una de la región de prefijo y la región de sufijo de acuerdo con el procedimiento de codificación de símbolo.
La codificación de símbolo puede dividirse en un procedimiento de conversión a binario para transformar un símbolo en cadenas de bits y un procedimiento de codificación aritmética para realizar codificación aritmética basada en contexto en las cadenas de bits. El codificador 14 de símbolo puede determinar un procedimiento de conversión a binario para cada una de la región de prefijo y la región de sufijo del símbolo y realizar conversión a binario en cada una de la región de prefijo y la región de sufijo de acuerdo con el procedimiento de conversión a binario. Una cadena de bits de prefijo y una cadena de bits de sufijo pueden generarse desde la región de prefijo y la región de sufijo, respectivamente.
Como alternativa, el codificador 14 de símbolo puede determinar un procedimiento de codificación aritmética para cada una de la cadena de bits de prefijo y la cadena de bits de sufijo del símbolo y realizar codificación aritmética en cada una de la cadena de bits de prefijo y la cadena de bits de sufijo de acuerdo con el procedimiento de codificación aritmética.
También, el codificador 14 de símbolo puede determinar un procedimiento de conversión a binario para cada una de la región de prefijo y la región de sufijo del símbolo y realizar conversión a binario en cada una de la región de prefijo y la región de sufijo de acuerdo con el procedimiento de conversión a binario, y puede determinar un procedimiento de codificación aritmética para cada una de la cadena de bits de prefijo y la cadena de bits de sufijo del símbolo y realizar codificación aritmética en la cadena de bits de prefijo y la cadena de bits de sufijo de acuerdo con el procedimiento de codificación aritmética.
El codificador 14 de símbolo de acuerdo con una realización de la presente invención puede determinar un procedimiento de conversión a binario para cada una de la región de prefijo y la región de sufijo. Los procedimientos de conversión a binario determinados para la región de prefijo y la región de sufijo pueden ser diferentes unos de los otros.
El codificador 14 de símbolo puede determinar un procedimiento de codificación aritmética para cada una de la cadena de bits de prefijo y la cadena de bits de sufijo. Los procedimientos de codificación aritmética determinados para la cadena de bits de prefijo y la cadena de bits de sufijo pueden ser diferentes unos de los otros.
Por consiguiente, el codificador 14 de símbolo puede convertir a binario la región de prefijo y la región de sufijo usando diferentes procedimientos únicamente en un procedimiento de conversión a binario de un procedimiento de decodificación de símbolo, o puede codificar la cadena de bits de prefijo y la cadena de bits de sufijo usando diferentes procedimientos únicamente en un procedimiento de codificación aritmética. También, el codificador 14 de símbolo puede codificar la región de prefijo (cadena de bits de prefijo) y la región de sufijo (cadena de bits de sufijo) usando diferentes procedimientos en ambos de los procedimientos de conversión a binario y codificación aritmética.
El procedimiento de conversión a binario seleccionado puede ser al menos uno de los procedimientos de conversión a binario general, conversión a binario unaria, conversión a binario unaria truncada, conversión a binario de Golomb exponencial, y conversión a binario de longitud fija.
El codificador 14 de símbolo puede realizar codificación de símbolo realizando codificación aritmética para realizar modelado de contexto en la cadena de bits de prefijo de acuerdo con localizaciones de bits y realizando codificación aritmética para omitir modelado de contexto en la cadena de bits de sufijo en un modo de desvío.
El codificador 14 de símbolo puede realizar individualmente la codificación de símbolo en la región de prefijo y la región de sufijo con respecto a símbolos que incluyen al menos uno de un modo de intra predicción e información de posición de coeficiente final de un coeficiente de transformación.
El codificador 14 de símbolo puede realizar también la codificación aritmética usando un contexto de un índice predeterminado que se asignó previamente a la cadena de bits de prefijo. Por ejemplo, el codificador 14 de símbolo puede realizar codificación aritmética usando un contexto de un índice predeterminado que se asignó previamente a cada localización de los bits de la cadena de bits de prefijo cuando el símbolo es información de posición de coeficiente final del coeficiente de transformación.
La unidad 16 de salida de secuencia de bits emite cadenas de bits generadas a través de la codificación de símbolo en forma de secuencias de bits.
El aparato 10 de codificación de vídeo puede realizar codificación aritmética en símbolos de bloques de un vídeo y emitir los símbolos.
El aparato 10 de codificación de vídeo puede incluir un procesador central (no mostrado) para controlar todo el codificador 12 de imagen, el codificador 14 de símbolo y la unidad 16 de salida de secuencia de bits. Como alternativa, el codificador 12 de imagen, el codificador 14 de símbolo y la unidad 16 de salida de secuencia de bits pueden operarse por procesadores (no mostrados) respectivamente instalados en el mismo, y todo el aparato 10 de codificación de vídeo puede operarse operando sistemáticamente el procesador (no mostrado). Como alternativa, el codificador 12 de imagen, el codificador 14 de símbolo, y la unidad 16 de salida de secuencia de bits pueden controlarse por un procesador externo (no mostrado) del aparato 10 de codificación de vídeo.
El aparato 10 de codificación de vídeo puede incluir al menos una unidad de almacenamiento de datos (no mostrada) para almacenar datos que se introducen/emiten a/desde el codificador 12 de imagen, el codificador 14 de símbolo y la unidad 16 de salida de secuencia de bits. El aparato 10 de codificación de vídeo puede incluir un controlador de memoria (no mostrado) para controlar entrada/salida de datos almacenados en la unidad de almacenamiento de datos (no mostrada).
El aparato 10 de codificación de vídeo se opera estando enlazado con un procesador de codificación de vídeo interno o un procesador de codificación de vídeo externo para realizar la codificación de vídeo incluyendo predicción y transformación, emitiendo de esta manera un resultado de la codificación de vídeo. El procesador de codificación de vídeo interno del aparato 10 de codificación de vídeo puede realizar una operación de codificación de vídeo básica no únicamente usando un procesador separado, sino también incluyendo un módulo de procesamiento de codificación de vídeo en el aparato 10 de codificación de vídeo, un aparato de operación central, o un aparato de operación de gráficos.
La Figura 2 es un diagrama de bloques de un aparato 20 de decodificación de vídeo, de acuerdo con una realización de la presente invención.
El aparato 20 de decodificación de vídeo puede decodificar los datos de vídeo codificados por el aparato 10 de codificación de vídeo a través de análisis, decodificación de símbolo, cuantificación inversa, transformación inversa, intra predicción/compensación de movimiento, etc., y restaurar los datos de vídeo cerca de los datos de vídeo originales del dominio espacial. En lo sucesivo, se describirá un procedimiento en el que el aparato 20 de decodificación de vídeo realiza decodificación aritmética en los símbolos analizados de una secuencia de bits para restaurar los símbolos.
El aparato 20 de decodificación de vídeo incluye un analizador 22, un decodificador 24 de símbolo y una unidad 26 de restauración de imagen.
El aparato 20 de decodificación de vídeo puede recibir una secuencia de bits que incluye datos codificados de un vídeo. El analizador 22 puede analizar símbolos de bloques de imagen desde la secuencia de bits.
El analizador 22 puede analizar los símbolos codificados a través de codificación aritmética con respecto a los bloques del vídeo desde la secuencia de bits.
El analizador 22 puede analizar símbolos que incluyen un modo de intra predicción del bloque del vídeo, información de posición de coeficiente final de un coeficiente de transformación, etc., desde la secuencia de bits recibida.
El decodificador 24 de símbolo determina un valor umbral para clasificar un símbolo actual en una cadena de bits de prefijo y una cadena de bits de sufijo. El decodificador 24 de símbolo puede determinar el valor umbral para clasificar el símbolo actual en la cadena de bits de prefijo y la cadena de bits de sufijo basándose en un tamaño de un bloque actual, es decir, al menos una de una anchura y una altura del bloque actual. El decodificador 24 de símbolo determina un procedimiento de decodificación aritmética para cada una de la cadena de bits de prefijo y la cadena de bits de sufijo. El decodificador 24 de símbolo realiza decodificación de símbolo usando el procedimiento de decodificación aritmética determinado para cada una de la cadena de bits de prefijo y la cadena de bits de sufijo.
Los procedimientos de decodificación aritmética determinados para la cadena de bits de prefijo y la cadena de bits de sufijo pueden ser diferentes unos de los otros.
El decodificador 24 de símbolo puede determinar un procedimiento de conversión a binario para cada una de la cadena de bits de prefijo y la cadena de bits de sufijo del símbolo. Por consiguiente, el decodificador 24 de símbolo puede realizar conversión a binario inversa en la cadena de bits de prefijo del símbolo usando el procedimiento de conversión a binario. Los procedimientos de conversión a binario determinados para la cadena de bits de prefijo y la cadena de bits de sufijo pueden ser diferentes unos de los otros.
También, el decodificador 24 de símbolo puede realizar decodificación aritmética usando el procedimiento de
decodificación aritmética determinado para cada una de la cadena de bits de prefijo y la cadena de bits de sufijo del símbolo, y puede realizar conversión a binario inversa usando el procedimiento de conversión a binario determinado para cada una de la cadena de bits de prefijo y la cadena de bits de sufijo generada a través de la decodificación aritmética.
Por consiguiente, el decodificador 24 de símbolo puede decodificar la cadena de bits de prefijo y la cadena de bits de sufijo usando diferentes procedimientos únicamente en un procedimiento de decodificación aritmética de un procedimiento de decodificación de símbolo, o puede realizar conversión a binario inversa usando diferentes procedimientos únicamente en un procedimiento de conversión a binario inversa. También, el decodificador 24 de símbolo puede decodificar la cadena de bits de prefijo y la cadena de bits de sufijo usando diferentes procedimientos en ambos procedimientos de decodificación aritmética y conversión a binario inversa.
El procedimiento de conversión a binario determinado para cada una de la cadena de bits de prefijo y la cadena de bits de sufijo del símbolo puede no únicamente ser un procedimiento de conversión a binario general, sino que puede ser también al menos un procedimiento de conversión a binario unaria, conversión a binario unaria truncada, conversión a binario de Golomb exponencial, y procedimientos de conversión a binario de longitud fija.
El decodificador 24 de símbolo puede realizar decodificación aritmética para realizar modelado de contexto en la cadena de bits de prefijo de acuerdo con localizaciones de bits. El decodificador 24 de símbolo puede usar un procedimiento de decodificación aritmética para omitir modelado de contexto en la cadena de bits de sufijo en un modo de desvío. Por consiguiente, el decodificador 24 de símbolo puede realizar decodificación de símbolo a través de la decodificación aritmética realizada en cada una de la cadena de bits de prefijo y la cadena de bits de sufijo del símbolo.
El decodificador 24 de símbolo puede realizar la decodificación aritmética en la cadena de bits de prefijo y la cadena de bits de sufijo de símbolos que incluyen al menos uno de un modo de intra predicción e información de posición de coeficiente final de un coeficiente de transformación.
El decodificador 24 de símbolo puede realizar decodificación aritmética usando un contexto de un índice predeterminado que se asignó previamente de acuerdo con localizaciones de los bits de la cadena de bits de prefijo cuando el símbolo es información acerca de la posición de coeficiente final del coeficiente de transformación.
La unidad 26 de restauración de imagen puede restaurar una región de prefijo y una región de sufijo de un símbolo realizando la decodificación aritmética y la conversión a binario inversa en cada una de la cadena de bits de prefijo y la cadena de bits de sufijo. La unidad 26 de restauración de imagen puede restaurar el símbolo sintetizando la región de prefijo y la región de sufijo del símbolo.
La unidad 26 de restauración de imagen realiza transformación inversa y predicción en el bloque actual usando el símbolo actual restaurado a través de la decodificación aritmética y la conversión a binario inversa. La unidad 26 de restauración de imagen puede restaurar bloques de imagen realizando operaciones, tales como cuantificación inversa, transformación inversa, o intra predicción/compensación de movimiento, usando los correspondientes símbolos para cada uno de los bloques de imagen.
El aparato 20 de decodificación de vídeo de acuerdo con una realización de la presente invención puede incluir un procesador central (no mostrado) para controlar todos del analizador 22, el decodificador 24 de símbolo, y la unidad 26 de restauración de imagen. Como alternativa, el analizador 22, el decodificador 24 de símbolo, y la unidad 26 de restauración de imagen puede operarse por procesadores (no mostrados) respectivamente instalados en el mismo, y todo el aparato 20 de decodificación de vídeo puede operarse operando sistemáticamente el procesador (no mostrado). Como alternativa, el analizador 22, el decodificador 24 de símbolo, y la unidad 26 de restauración de imagen pueden controlarse por un procesador externo (no mostrado) del aparato 20 de decodificación de vídeo.
El aparato 20 de decodificación de vídeo puede incluir al menos una unidad de almacenamiento de datos (no mostrada) para almacenar datos que se introducen/emiten a/desde el analizador 22, el decodificador 24 de símbolo, y la unidad 26 de restauración de imagen. El aparato 20 de decodificación de vídeo puede incluir un controlador de memoria (no mostrado) para controlar entrada/salida de datos almacenados en la unidad de almacenamiento de datos (no mostrada).
El aparato 20 de decodificación de vídeo se opera enlazándose con un procesador de decodificación de vídeo interno o un procesador de decodificación de vídeo externo para realizar decodificación de vídeo incluyendo transformación inversa. El procesador de decodificación de vídeo interno del aparato 20 de decodificación de vídeo puede realizar una operación de decodificación de vídeo básica no únicamente usando un procesador separado, sino también incluyendo un módulo de procesamiento de decodificación de vídeo en el aparato 20 de decodificación de vídeo, un aparato de operación central o un aparato de operación de gráficos.
La codificación aritmética binaria adaptativa basada en contexto (CABAC) se usa ampliamente como un procedimiento de codificación/decodificación aritmética basándose en un contexto para codificación/decodificación de símbolo. De acuerdo con la codificación/decodificación aritmética basada en contexto, cada bit de una cadena de bits de símbolo puede ser un binario de un contexto, y una localización de cada bit puede mapearse en un índice binario. Una longitud de la cadena de bits, es decir, una longitud del binario, puede variar de acuerdo con un tamaño de un valor de símbolo.
El modelado de contexto para determinar un contexto de un símbolo se requiere para realizar la codificación/decodificación aritmética basada en contexto. El contexto se renueva de acuerdo con localizaciones de bits de la cadena de bits de símbolo, es decir, en cada índice binario, para realizar el modelado de contexto, y por lo tanto se requiere un procedimiento de operación complicado.
De acuerdo con el aparato 10 de codificación de vídeo y el aparato 20 de decodificación de vídeo descritos con referencia a las Figuras 1 y 2, el símbolo se clasifica en la región de prefijo y la región de sufijo, y un procedimiento de conversión a binario relativamente sencillo puede usarse para la región de sufijo en comparación con la región de prefijo. También, la codificación/decodificación aritmética a través del modelado de contexto se realiza en la cadena de bits de prefijo, y el modelado de contexto no se realiza en la cadena de bits de sufijo, y por lo tanto puede reducirse una carga de una cantidad de operación para la codificación/decodificación aritmética basada en contexto. Por consiguiente, el aparato 10 de codificación de vídeo y el aparato 20 de decodificación de vídeo pueden mejorar la eficacia de un procedimiento de codificación/decodificación de símbolo realizando un procedimiento de conversión a binario que tiene una cantidad relativamente pequeña de carga de operación en la región de sufijo o la cadena de bits de sufijo u omitiendo el modelado de contexto durante la codificación/decodificación aritmética basada en contexto para codificación/decodificación de símbolo.
En lo sucesivo, se describirán diversas realizaciones para codificación aritmética que pueden realizarse por el aparato 10 de codificación de vídeo y el aparato 20 de decodificación de vídeo.
Las Figuras 3 y 4 son diagramas para describir codificación aritmética clasificando un símbolo en una cadena de bits de prefijo y una cadena de bits de sufijo de acuerdo con un valor umbral predeterminado, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 3, se describirá en detalle un procedimiento de realización de codificación de símbolo, de acuerdo con una realización de la presente invención, en información de posición de coeficiente final de un símbolo. La información de posición de coeficiente final es un símbolo que representa una localización de un coeficiente final, no 0, de entre coeficientes de transformación de un bloque. Puesto que un tamaño del bloque se define como una anchura y una altura, la información de posición de coeficiente final puede representarse por coordenadas bidimensionales, es decir, una coordenada x en una dirección de anchura y una coordenada y en una dirección de altura. Por conveniencia de descripción, la Figura 3 muestra un caso donde la codificación de símbolo se realiza en la coordenada x en la dirección de anchura de entre la información de posición de coeficiente final cuando una anchura de un bloque es w.
Un rango de la coordenada x de la información de posición de coeficiente final está dentro de la anchura del bloque, y por lo tanto la coordenada x de la información de posición de coeficiente final es igual o mayor que 0 e igual o menor que w-1. Para la codificación aritmética del símbolo, el símbolo puede clasificarse en una región de prefijo y una región de sufijo basándose en un valor umbral predeterminado th. Por lo tanto, la codificación aritmética puede realizarse en la cadena de bits de prefijo en la que se convierte a binario la región de prefijo, basándose en el contexto determinado a través del modelado de contexto. También, la codificación aritmética puede realizarse en la cadena de bits de sufijo en la que se convierte a binario la región de sufijo, en un modo de desvío en el que se omite el modelado de contexto.
En este punto, el valor umbral th para clasificar el símbolo en la región de prefijo y la región de sufijo puede determinarse basándose en la anchura w del bloque. Por ejemplo, el valor umbral th puede determinarse para que sea (w/2)-1 para dividir la cadena de bits por dos (fórmula de determinación de valor umbral 1). Como alternativa, la anchura w del bloque generalmente tiene un cuadrado de 2, y por lo tanto el valor umbral th puede determinarse basándose en un valor logarítmico de la anchura w (fórmula de determinación de valor umbral 2).
< fórmula de determinación de valor umbral 1 > th = (w/2) -1;
< fórmula de determinación de valor umbral 2 > th = (log2w << 1) -1;
En la Figura 3, de acuerdo con la fórmula de determinación de valor umbral 1, cuando la anchura w del bloque es 8, la fórmula proporciona el valor umbral th = (8/2) -1 = 3. Por lo tanto, en la coordenada x de la información de posición de coeficiente final, 3 puede clasificarse como la región de prefijo, y el resto de valores distintos de 3 pueden clasificarse como la región de sufijo. La región de prefijo y la región de sufijo pueden convertirse a binario de acuerdo con el procedimiento de conversión a binario determinado para cada una de la región de prefijo y la región de sufijo.
Cuando una coordenada x N de información de posición de coeficiente final actual es 5, la coordenada x de la información de posición de coeficiente final puede clasificarse como N = th 2 = 3 2. En otras palabras, en la coordenada x de la información de posición de coeficiente final, 3 puede clasificarse como la región de prefijo, y 2 puede clasificarse como la región de sufijo.
De acuerdo con una realización de la presente invención, la región de prefijo y la región de sufijo pueden convertirse a binario de acuerdo con diferentes procedimientos de conversión a binario determinados para la región de prefijo y la región de sufijo, respectivamente. Por ejemplo, la región de prefijo puede convertirse a binario de acuerdo con un procedimiento de conversión a binario unaria, y la región de sufijo puede convertirse a binario de acuerdo con un procedimiento de conversión a binario general.
Por consiguiente, después de que 3 se convierte a binario de acuerdo con el procedimiento de conversión a binario unaria, una cadena 32 de bits de prefijo '0001' puede generarse a partir de la región de prefijo, y después de que 2 se convierte a binario de acuerdo con el procedimiento de conversión a binario general, una cadena 34 de bits de sufijo '010' puede generarse a partir de la región de sufijo.
También, la codificación aritmética basada en contexto puede realizarse en la cadena 32 de bits de prefijo '0001' a través de modelado de contexto. Por lo tanto, un índice de contexto puede determinarse para cada binario de la cadena 32 de bits de prefijo '0001'.
La codificación aritmética puede realizarse en la cadena 34 de bits de sufijo '010' en un modo de desvío sin realizar modelado de contexto. La codificación aritmética puede realizarse sin realizar el modelado de contexto suponiendo que en el modo de desvío cada binario tiene un contexto de un estado de probabilidad igual, es decir, el contexto del 50 %.
Por consiguiente, la codificación aritmética basada en contexto puede realizarse en cada una de la cadena 32 de bits de prefijo '0001' y la cadena 34 de bits de sufijo '010' para completar la codificación de símbolo con respecto a la coordenada x N de la información de posición de coeficiente final actual.
Aunque se ha descrito la realización en la que se realiza la codificación de símbolo mediante la conversión a binario y la codificación aritmética, la decodificación de símbolo puede realizarse de la misma manera. En otras palabras, una cadena de bits de símbolos analizados puede clasificarse en una cadena de bits de prefijo y una cadena de bits de sufijo basándose en la anchura w del bloque, la decodificación aritmética puede realizarse en la cadena 32 de bits de prefijo a través del modelado de contexto, y la decodificación aritmética puede realizarse en la cadena 34 de bits de sufijo sin realizar el modelado de contexto. La conversión a binario inversa puede realizarse en la cadena 32 de bits de prefijo después de la decodificación aritmética usando el procedimiento de conversión a binario unaria, y la región de prefijo puede restaurarse. También, la conversión a binario inversa puede realizarse en la cadena 34 de bits de sufijo después de la codificación aritmética usando el procedimiento de conversión a binario general, y por lo tanto la región de sufijo puede restaurarse. El símbolo puede restaurarse sintetizando la región de prefijo y la región de sufijo restauradas.
Aunque se ha descrito la realización en la que se usa el procedimiento de conversión a binario unaria para la región de prefijo (cadena de bits de prefijo) y se usa el procedimiento de conversión a binario general para la región de sufijo (cadena de bits de sufijo), el procedimiento de conversión a binario no está limitado a lo mismo. Como alternativa, puede usarse procedimiento de conversión a binario unaria truncada para la región de prefijo (cadena de bits de prefijo), y puede usarse un procedimiento de conversión a binario de longitud fija para la región de sufijo (cadena de bits de sufijo).
Aunque únicamente se ha descrito la realización con respecto a la información de posición de coeficiente final en una dirección de anchura del bloque, puede usarse también una realización con respecto a una información de posición de coeficiente final en una dirección de altura del bloque.
También, no hay necesidad de realizar modelado de contexto en la cadena de bits de sufijo para realizar la codificación aritmética usando un contexto que tiene una probabilidad fija, pero es necesario realizar modelado de contexto variable en la cadena de bits de prefijo. El modelado de contexto a realizarse en la cadena de bits de prefijo puede determinarse de acuerdo con un tamaño del bloque.
<Tabla de mapeo de contexto>
En la tabla de mapeo de contexto, una localización de cada número corresponde al índice binario de la cadena de bits de prefijo, y el número indica un índice de contexto a usarse en una localización del bit correspondiente. Por conveniencia de descripción, por ejemplo, en un bloque de 4x4, la cadena de bits de prefijo está comprendida de un total de cuatro bits, y cuando k es 0, 1,2 y 3 de acuerdo con la tabla de mapeo de contexto, los índices de contexto 0, 1, 2 y 2 se determinan para un índice binario de orden k, y por lo tanto puede realizarse la codificación aritmética basándose en el modelado de contexto.
La Figura 4 muestra una realización en la que un modo de intra predicción incluye un intra modo de luminancia y un intra modo de crominancia que indica una dirección de intra predicción de un bloque de luminancia y un bloque de
crominancia, respectivamente. Cuando el modo de intra predicción es 6, una cadena 40 de bits de símbolo '0000001' se genera de acuerdo con un procedimiento de conversión a binario unaria. En este caso, la codificación aritmética puede realizarse en un primer bit 41 '0' de la cadena 40 de bits de símbolo del modo de intra predicción, a través de modelado de contexto, y la codificación aritmética puede realizarse en el resto de bits 45 '000001' de la cadena 40 de bits de símbolo, en un modo de desvío. En otras palabras, el primer bit 41 de la cadena 40 de bits de símbolo corresponde a una cadena de bits de prefijo, y el resto de bits 45 de la cadena 40 de bits de símbolo corresponde a una cadena de bits de sufijo.
Cuántos bits de la cadena 40 de bits de símbolo se codifican en codificación aritmética como la cadena de bits de prefijo a través del modelado de contexto y cuántos bits de la cadena 40 de bits de símbolo se codifican en codificación aritmética como la cadena de bits de sufijo en el modo de desvío puede determinarse de acuerdo con un tamaño de un bloque o un tamaño de un conjunto de bloques. Por ejemplo, con respecto a un bloque de 64x64, la codificación aritmética puede realizarse únicamente en un primer bit de entre las cadenas de bits de un modo de intra predicción, y la codificación aritmética puede realizarse en el resto de bits en un modo de desvío. Con respecto a los bloques que tienen otros tamaños, la codificación aritmética puede realizarse en todos los bits de las cadenas de bits del modo de intra predicción en el modo de desvío.
En general, la información acerca de los bits cercanos a un bit menos significativo (LSB) es relativamente menos importante que la información acerca de los bits cercanos a un bit más significativo (MSB) de una cadena de bits de símbolo. Por consiguiente, el aparato 10 de codificación de vídeo y el aparato 20 de decodificación de vídeo pueden seleccionar un procedimiento de codificación aritmética de acuerdo con un procedimiento de conversión a binario que tiene una precisión relativamente alta con respecto a la cadena de bits de prefijo cercana al MSB incluso aunque haya una carga de una cantidad de operación, y puede seleccionar un procedimiento de codificación aritmética de acuerdo con un procedimiento de conversión a binario que puede realizar una operación sencilla con respecto a la cadena de bits de sufijo cercana al LSB. También, el aparato 10 de codificación de vídeo y el aparato 20 de decodificación de vídeo pueden seleccionar un procedimiento de codificación aritmética basándose en modelado de contexto con respecto al modelado de contexto y puede seleccionar un procedimiento de codificación aritmética, no realizando modelado de contexto, con respecto a la cadena de bits de sufijo cercana al LSB.
En la descripción anterior, se ha descrito la realización en la que se realiza conversión a binario en la cadena de bits de prefijo y la cadena de bits de sufijo de la información de posición de coeficiente final del coeficiente de transformación usando diferentes procedimientos con referencia a la Figura 3. También, se ha descrito la realización en la que se realiza codificación aritmética en la cadena de bits de prefijo y la cadena de bits de sufijo de entre las cadenas de bits del modo de intra predicción usando diferentes procedimientos con referencia a la Figura 4.
Sin embargo, de acuerdo con diversas realizaciones de la presente invención, un procedimiento de codificación de símbolo en el que se usan procedimientos de codificación aritmética/conversión a binario individualmente determinados para la cadena de bits de prefijo y la cadena de bits de sufijo o se usan diferentes procedimientos de codificación aritmética/conversión a binario no están limitados a las realizaciones descritas con referencia a las Figuras 3 y 4, y pueden usarse diversos procedimientos de codificación aritmética/conversión a binario para diversos símbolos.
La Figura 5 es un diagrama de flujo para describir un procedimiento de codificación de vídeo, de acuerdo con una realización de la presente invención.
En la operación 51, se generan símbolos realizando predicción y transformación en bloques de imagen.
En las operaciones 53, un símbolo actual se clasifica en una región de prefijo y una región de sufijo basándose en un valor umbral determinado de acuerdo con un tamaño de un bloque actual.
En la operación 55, una cadena de bits de prefijo y una cadena de bits de sufijo se generan usando procedimientos de conversión a binario determinados individualmente para la región de prefijo y la región de sufijo del símbolo.
En la operación 57, se realiza codificación de símbolo usando procedimientos de codificación aritmética determinados individualmente para la cadena de bits de prefijo y la cadena de bits de sufijo.
En la operación 59, las cadenas de bits generadas a través de la codificación de símbolo se emiten en forma de secuencias de bits.
En la operación 57, la codificación de símbolo puede realizarse en la cadena de bits de prefijo usando un procedimiento de codificación aritmética para realizar modelado de contexto de acuerdo con localizaciones de bits, y la codificación de símbolo puede realizarse también en la cadena de bits de sufijo usando un procedimiento de codificación aritmética para omitir el modelado de contexto en un modo de desvío.
En la operación 57, cuando el símbolo es información de posición de coeficiente final de un coeficiente de transformación, la codificación aritmética puede realizarse usando un contexto de un índice predeterminado que se asignó previamente a las localizaciones de los bits de la cadena de bits de prefijo.
La Figura 6 es un diagrama de flujo para describir un procedimiento de decodificación de vídeo, de acuerdo con una
realización de la presente invención.
En la operación 61, se analizan símbolos de bloques de imagen desde una secuencia de bits recibida.
En la operación 63, un símbolo actual se clasifica en una cadena de bits de prefijo y una cadena de bits de sufijo basándose en un valor umbral determinado de acuerdo con un tamaño de un bloque actual.
En la operación 65, la decodificación aritmética se realiza usando un procedimiento de decodificación aritmética determinado para cada una de la cadena de bits de prefijo y la cadena de bits de sufijo del símbolo actual.
En la operación 67, después de la decodificación aritmética, se realiza conversión a binario inversa usando un procedimiento de conversión a binario determinado para cada una de la cadena de bits de prefijo y la cadena de bits de sufijo.
La región de prefijo y la región de sufijo del símbolo pueden restaurarse realizando la conversión a binario inversa usando el procedimiento de conversión a binario determinado para cada una de la cadena de bits de prefijo y la cadena de bits de sufijo.
En la operación 69, los bloques de imagen pueden restaurarse realizando transformación inversa y predicción en el bloque actual usando el símbolo actual restaurado a través de la decodificación aritmética y la conversión a binario inversa.
En la operación 65, la decodificación aritmética para determinar el modelado de contexto de acuerdo con las localizaciones de los bits puede realizarse en la cadena de bits de prefijo, y la decodificación aritmética para omitir el modelado de contexto puede realizarse en la cadena de bits de sufijo en un modo de desvío.
En la operación 65, cuando el símbolo es la información de posición de coeficiente final del coeficiente de transformación, la decodificación aritmética puede realizarse usando el contexto del índice predeterminado que se asignó previamente a las localizaciones de los bits de la cadena de bits de prefijo.
En el aparato 10 de codificación de vídeo de acuerdo con una realización de la presente invención y el aparato 20 de decodificación de vídeo de acuerdo con otra realización de la presente invención, los bloques en los que se dividen los datos de vídeo se dividen en unidades de codificación que tienen una estructura de árbol, se usan unidades de predicción para realizar intra predicción en las unidades de codificación, y se usa una unidad de transformación para transformar las unidades de codificación.
En lo sucesivo, se describirá un procedimiento y aparato para codificar un vídeo y un procedimiento y aparato para decodificar un vídeo basándose en una unidad de codificación que tiene una estructura de árbol, una unidad de predicción, y una unidad de transformación.
La Figura 7 es un diagrama de bloques de un aparato 100 de codificación de vídeo basado en unidades de codificación que tienen una estructura de árbol, de acuerdo con una realización de la presente invención.
El aparato 100 de codificación de vídeo que implica predicción de vídeo basándose en la unidad de codificación que tiene una estructura de árbol incluye un divisor 110 de unidad de codificación máxima, un determinador 120 de unidad de codificación, y una unidad 130 de salida. Por conveniencia de descripción, el aparato 100 de codificación de vídeo que implica predicción de vídeo basándose en la unidad de codificación que tiene una estructura de árbol se denominará como un aparato 100 de codificación de vídeo.
El divisor 110 de unidad de codificación máxima puede dividir una instantánea actual basándose en una unidad de codificación máxima para la instantánea actual de una imagen. Si la instantánea actual es mayor que la unidad de codificación máxima, los datos de imagen de la instantánea actual pueden dividirse en la al menos una unidad de codificación máxima. La unidad de codificación máxima de acuerdo con una realización de la presente invención puede ser una unidad de datos que tiene un tamaño de 32x32, 64x64, 128x128, 256x256, etc., en la que una forma de la unidad de datos es un cuadrado que tiene una anchura y longitud en cuadrados de 2. Los datos de imagen pueden emitirse al determinador 120 de unidad de codificación de acuerdo con la al menos una unidad de codificación máxima.
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 un número de veces que la unidad de codificación se divide espacialmente de la unidad de codificación máxima, y a medida que la profundidad se hace más profunda, las unidades de codificación más profundas de acuerdo con las profundidades pueden dividirse desde la unidad de codificación máxima a una unidad de codificación mínima. Una profundidad de la unidad de codificación máxima es una profundidad más superior y una profundidad de la unidad de codificación mínima es una profundidad más inferior. Puesto que un tamaño de una unidad de codificación que corresponde a cada profundidad se reduce a medida que la profundidad de la unidad de codificación máxima se hace profunda, una unidad de codificación que corresponde a una profundidad superior puede incluir una pluralidad de unidades de codificación que corresponden a profundidades inferiores.
Como se ha descrito anteriormente, los datos de imagen de la instantánea actual se dividen en las unidades de
codificación máxima de acuerdo con un tamaño máximo de la unidad de codificación, y cada una de las unidades de codificación máxima puede incluir unidades de codificación más profundas que se dividen de acuerdo con las profundidades. Puesto que la unidad de codificación máxima de acuerdo con una realización de la presente invención se divide de acuerdo con las profundidades, los datos de imagen de un dominio espacial incluidos en la unidad de codificación máxima pueden clasificarse jerárquicamente de acuerdo con las profundidades.
Puede predeterminarse una profundidad máxima y un tamaño máximo de una unidad de codificación, que limita el número total de veces que se dividen jerárquicamente una altura y una anchura de la unidad de codificación máxima.
El determinador 120 de unidad de codificación codifica al menos una región de división obtenida dividiendo una región de la unidad de codificación máxima de acuerdo con las profundidades, y determina una profundidad para emitir finalmente datos de imagen codificados de acuerdo con la al menos una región de división. En otras palabras, el determinador 120 de unidad de codificación determina una profundidad codificada codificando los datos de imagen en las unidades de codificación más profundas de acuerdo con las profundidades, de acuerdo con la unidad de codificación máxima de la instantánea actual, y seleccionando una profundidad que tiene el mínimo error de codificación. La profundidad codificada determinada y los datos de imagen codificados de acuerdo con la profundidad codificada determinada se emiten a la unidad 130 de salida.
Los datos de imagen en la unidad de codificación máxima se codifican basándose en las unidades de codificación más profundas que corresponden a al menos una profundidad igual a o por debajo de 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 mínimo error de codificación puede seleccionarse después de comparar errores de codificación de las unidades de codificación más profundas. Al menos una profundidad codificada puede seleccionarse para cada unidad de codificación máxima.
El tamaño de la unidad de codificación máxima se divide a medida que una unidad de codificación se divide jerárquicamente de acuerdo con las profundidades, y a medida que aumenta el número de unidades de codificación. También, incluso si las unidades de codificación corresponden a una misma profundidad en una unidad de codificación máxima, se determina si dividir cada una de las unidades de codificación que corresponden a la misma profundidad a una profundidad inferior midiendo un error de codificación de los datos de imagen de cada unidad de codificación, de manera separada. Por consiguiente, incluso cuando los datos de imagen se incluyen en una unidad de codificación máxima, los datos de imagen se dividen en regiones de acuerdo con las profundidades y los errores de codificación pueden diferenciarse de acuerdo con las regiones en la unidad de codificación máxima, y por lo tanto las profundidades codificadas pueden diferenciarse de acuerdo con las regiones en los datos de imagen. Por lo tanto, una o más profundidades codificadas pueden determinarse en una unidad de codificación máxima, y los datos de imagen de la unidad de codificación máxima pueden dividirse de acuerdo con unidades de codificación de al menos una profundidad codificada.
Por consiguiente, el determinador 120 de unidad de codificación puede determinar unidades de codificación que tienen una estructura de árbol incluidas en la unidad de codificación máxima. Las 'unidades de codificación que tienen una estructura de árbol' de acuerdo con una realización de la presente invención incluyen unidades de codificación que corresponden a una profundidad determinada para que sea la profundidad codificada, de entre todas las unidades de codificación más profundas incluidas en la unidad de codificación máxima. Una unidad de codificación de una profundidad codificada puede determinarse jerárquicamente de acuerdo con las profundidades en la misma región de la unidad de codificación máxima, y puede determinarse independientemente en diferentes regiones. De manera similar, una profundidad codificada en una región actual puede determinarse independientemente de una profundidad codificada en otra región.
Una profundidad máxima de acuerdo con una realización de la presente invención es un índice relacionado con el número de veces que se realiza división desde una unidad de codificación máxima a una unidad de codificación mínima. Una primera profundidad máxima de acuerdo con una realización de la presente invención puede indicar el número total de veces que se realiza división desde la unidad de codificación máxima a la unidad de codificación mínima. Una segunda profundidad máxima de acuerdo con una realización de la presente invención puede indicar el número total de niveles de profundidad desde la unidad de codificación máxima a la unidad de codificación mínima. Por ejemplo, cuando una profundidad de la unidad de codificación máxima es 0, una profundidad de una unidad de codificación, en la que la unidad de codificación máxima se divide una vez, puede establecerse a 1, y una profundidad de una unidad de codificación, en la que la unidad de codificación máxima se divide dos veces, puede establecerse a 2. En este punto, si la unidad de codificación mínima es una unidad de codificación en la que la unidad de codificación máxima se divide cuatro veces, existen 5 niveles de profundidad de profundidades 0, 1, 2, 3 y 4, y por lo tanto la primera profundidad máxima puede establecerse a 4, y la segunda profundidad máxima puede establecerse a 5.
La codificación y transformación de predicción puede realizarse de acuerdo con la unidad de codificación máxima. 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áxima.
Puesto que el número de unidades de codificación más profundas aumenta cada vez que se divide la unidad de
codificación máxima de acuerdo con las profundidades, incluyendo la codificación la codificación por predicción y la transformación se realizan 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áxima.
El aparato 100 de codificación de vídeo puede seleccionar de manera variable un tamaño o forma de una unidad de datos para codificar los datos de imagen. Para codificar los datos de imagen, se realizan operaciones, tal 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 de predicción en la unidad de codificación máxima, 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 ya 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 ya no se divide más y se convierte en una unidad de base para codificación de predicción se denominará ahora como una 'unidad de predicción'. Una partición obtenida dividiendo la unidad de predicción puede incluir una unidad de predicción o una unidad de datos obtenida dividiendo al menos una de una altura y una anchura de la unidad de predicción. Una partición es una unidad de datos que tiene una forma en la que se divide la unidad de predicción de la unidad de codificación, y la unidad de predicción puede ser una partición que tiene el mismo tamaño que la unidad de codificación.
Por ejemplo, cuando una unidad de codificación de 2Nx2N (donde N es un entero positivo) ya no se divide y se vuelve una unidad de predicción de 2Nx2N, y 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 de manera independiente en una unidad de predicción en una unidad de codificación, seleccionando de esta manera un modo de predicción que tiene un mínimo error de codificación.
El aparato 100 de codificación de vídeo puede realizar también la transformación en los datos de imagen en una unidad de codificación basándose no únicamente en la unidad de codificación para codificar los datos de imagen, sino también basándose en una unidad de datos que es diferente de la unidad de codificación. Para realizar la transformación en la unidad de codificación, la transformación puede realizarse basándose en una unidad de transformación que tiene un tamaño menor que o igual a la unidad de codificación. Por ejemplo, la unidad de transformación puede incluir una unidad de transformación para un intra modo y una unidad de transformación para un inter modo.
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 más pequeño. Por lo tanto, los datos residuales en la unidad de codificación pueden dividirse de acuerdo con la transformación que tiene una estructura de árbol de acuerdo con profundidades de transformación.
Una profundidad de transformación que indica el número de veces que se realiza división para alcanzar la unidad de transformación dividiendo la altura y anchura de la unidad de codificación puede establecerse también en la unidad de transformación. Por ejemplo, en una unidad de codificación actual de 2Nx2N, una profundidad de transformación puede ser 0 cuando el tamaño de una unidad de transformación es también 2Nx2N, puede ser 1 cuando el tamaño de unidad de transformación es NxN, y puede ser 2 cuando el tamaño de unidad de transformación es N/2xN/2. En otras palabras, la unidad de transformación que tiene una estructura de árbol puede establecerse de acuerdo con 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 información relacionada con codificación de predicción y transformación. Por consiguiente, el determinador 120 de unidad de codificación no únicamente determina una profundidad codificada que tiene un mínimo error 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.
Se describirá en detalle más adelante las unidades de codificación de acuerdo con una estructura de árbol en una unidad de codificación máxima y un procedimiento de determinación de una unidad de predicción/partición y una
unidad de transformación, de acuerdo con las realizaciones de la presente invención con referencia a las Figuras 7 a 19.
El determinador 120 de unidad de codificación 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 basada en multiplicadores de Lagrange.
La unidad 130 de salida emite los datos de imagen de la unidad de codificación máxima, que se codifican basándose en la al menos una profundidad codificada determinada por el determinador 120 de unidad de codificación, 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 obtenerse codificando datos residuales de una imagen.
La información acerca del modo de codificación de acuerdo con profundidad codificada puede incluir información acerca de la profundidad codificada, el tipo de partición en la unidad de predicción, el modo de predicción, y el tamaño de la unidad de transformación.
La información acerca de la profundidad codificada puede definirse usando información de división de acuerdo con las profundidades, que indica si la codificación se realiza 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, los datos de imagen en la unidad de codificación actual se codifican y emiten, y por lo tanto la información de división puede definirse para no dividir la unidad de codificación actual a una profundidad inferior. Como alternativa, si la profundidad actual de la unidad de codificación actual no es la profundidad codificada, la codificación se realiza en la unidad de codificación de la profundidad inferior, y por lo tanto la información de división puede definirse para dividir la unidad de codificación actual para obtener las unidades de codificación de la profundidad inferior.
Si la profundidad actual no es la profundidad codificada, la codificación se realiza 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 puede realizarse de manera recursiva la codificación para las unidades de codificación que tienen la misma profundidad.
Puesto que las unidades de codificación que tienen una estructura de árbol se determinan para una unidad de codificación máxima, y se determina la información acerca de al menos un modo de codificación para una unidad de codificación de una profundidad codificada, la información acerca de al menos un modo de codificación puede determinarse para una unidad de codificación máxima. También, una profundidad codificada de los datos de imagen de la unidad de codificación máxima puede ser diferente de acuerdo con las localizaciones puesto que los datos de imagen se dividen jerárquicamente de acuerdo con las profundidades, y por lo tanto la información acerca de la profundidad codificada y el modo de codificación puede establecerse para los datos de imagen.
Por consiguiente, la unidad 130 de salida 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 incluida en la unidad de codificación máxima.
La unidad mínima de acuerdo con una realización de la presente invención es una unidad de datos rectangular obtenida dividiendo la unidad de codificación mínima que constituye la profundidad más inferior por 4. Como alternativa, la unidad mínima puede ser una unidad de datos rectangular máxima que puede incluirse en todas las unidades de codificación, unidades de predicción, unidades de partición y unidades de transformación incluidas en la unidad de codificación máxima.
Por ejemplo, la información de codificación emitida a través de la unidad 130 de salida 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 grupos de instantáneas (GOP), y la información acerca de una profundidad máxima puede insertarse en un conjunto de parámetros de secuencia (SPS) o un conjunto de parámetros de instantánea (PPS).
También, la información acerca del tamaño máximo de la unidad de transformación permitida para el vídeo actual y la información acerca del tamaño mínimo de la unidad de transformación pueden emitirse mediante un encabezamiento de una secuencia de bits, un SPS o un PPS. La unidad 130 de salida puede codificar y emitir información de referencia, información de predicción de única dirección, información de tipo de corte que incluye un cuarto tipo de corte, etc., relacionada con la predicción anteriormente descrita con referencia a las Figuras 1 a 6.
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 como máximo 4 unidades de codificación de la profundidad inferior.
Por consiguiente, el aparato 100 de codificación de vídeo puede formar las unidades de codificación que tienen la estructura de árbol determinando unidades de codificación que tienen una forma óptima y un tamaño óptimo para cada unidad de codificación máxima, basándose en el tamaño de la unidad de codificación máxima y la profundidad máxima determinadas considerando características de la instantánea actual. También, puesto que la codificación puede realizarse en cada unidad de codificación máxima usando uno cualquiera de diversos modos de predicción y transformaciones, puede determinarse un modo de codificación óptimo considerando características de la unidad de codificación de diversos tamaños de imagen.
Por lo tanto, si una imagen que tiene alta resolución o una gran cantidad de datos se codifica en un macrobloque convencional, un número de macrobloques por instantánea aumenta excesivamente. Por consiguiente, un número de piezas de información comprimida generadas para cada macrobloque aumenta, y por lo tanto es difícil transmitir la información comprimida y disminuye la eficacia de compresión de datos. Sin embargo, usando el aparato 100 de codificación de vídeo, la eficacia de compresión de imagen puede aumentarse 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.
El aparato 100 de codificación de vídeo de la Figura 7 puede realizar operaciones del aparato 10 de codificación de vídeo descritas con referencia a la Figura 1.
El determinador 120 de unidad de codificación puede realizar operaciones del codificador 12 de imagen del aparato 10 de codificación de vídeo. El determinador 120 de unidad de codificación puede determinar una unidad de predicción para intra predicción de acuerdo con unidades de codificación que tienen una estructura de árbol para cada unidad de codificación máxima, realizar la intra predicción en cada unidad de predicción, determinar una unidad de transformación para transformación, y realizar transformación en cada unidad de transformación.
La unidad 130 de salida puede realizar operaciones de una unidad 14 de codificación de símbolo y una unidad 16 de salida de secuencia de bits del aparato 10 de codificación de vídeo. Se generan los símbolos para diversas unidades de datos, tales como una instantánea, un corte, una unidad de codificación máxima, una unidad de codificación, una unidad de predicción, y una unidad de transformación, y cada uno de los símbolos se clasifica en una región de prefijo y una región de sufijo de acuerdo con un valor umbral determinado basándose en un tamaño de la correspondiente unidad de datos. La unidad 130 de salida puede generar una cadena de bits de prefijo y una cadena de bits de sufijo usando un procedimiento de conversión a binario determinado para cada una de la región de prefijo y la región de sufijo del símbolo. Una cualquiera de una conversión a binario general, una conversión a binario unaria, una conversión a binario unaria truncada, una conversión a binario de Golomb exponencial, y una conversión a binario de longitud fija se selecciona para convertir a binario la región de prefijo y la región de sufijo, generando de esta manera la cadena de bits de prefijo y la cadena de bits de sufijo.
La unidad 130 de salida puede realizar codificación de símbolo realizando codificación aritmética determinada para cada una de la cadena de bits de prefijo y la cadena de bits de sufijo. La unidad 130 de salida puede realizar codificación de símbolo realizando codificación aritmética para realizar modelado de contexto de acuerdo con localizaciones de bits en la cadena de bits de prefijo y realizando codificación aritmética para omitir modelado de contexto en la cadena de bits de sufijo en un modo de desvío.
Por ejemplo, cuando se codifica información de posición de coeficiente final de un coeficiente de transformación de la unidad de transformación, el valor umbral para clasificar la cadena de bits de prefijo y la cadena de bits de sufijo puede determinarse de acuerdo con un tamaño (anchura o altura) de la unidad de transformación. Como alternativa, el valor umbral puede determinarse de acuerdo con tamaños de un corte que incluye la unidad de transformación actual, una unidad de codificación máxima, una unidad de codificación, una unidad de predicción, etc.
Como alternativa, puede determinarse por un índice máximo de un modo de intra predicción cuántos bits de una cadena de bits de símbolo se codifican en codificación aritmética como la cadena de bits de prefijo a través de modelado de contexto en el modo de intra predicción y cuántos bits de la cadena de bits de símbolo se codifican en codificación aritmética como la cadena de bits de sufijo en un modo de desvío. Por ejemplo, un total de 34 modos de intra predicción pueden usarse para unidades de predicción que tienen tamaños de 8x8, 16x16, y 32x32, un total de 17 modos de intra predicción pueden usarse para una unidad de predicción que tiene un tamaño de 4x4, y un número total de modos de intra predicción pueden usarse para una unidad de predicción que tiene un tamaño de 64x64. En este caso, puesto que las unidades de predicción que pueden usar el mismo número de los modos de intra predicción se consideran que tienen características estadísticas similares, un primer bit de entre las cadenas de bits en el modo de intra predicción puede codificarse a través del modelado de contexto para codificación aritmética con respecto a las unidades de predicción que tienen tamaños de 8x8, 16x16, y 32x32. También, todos los bits de entre las cadenas de bits en el modo de intra predicción pueden codificarse en el modo de desvío para codificación aritmética con
respecto al resto de unidades de predicción, es decir, las unidades de predicción que tienen tamaños de 4x4 y 64x64.
La unidad 130 de salida puede emitir las cadenas de bits generadas a través de la codificación de símbolo en forma de secuencias de bits.
La Figura 8 es un diagrama de bloques de un aparato 200 de decodificación de vídeo basado en una unidad de codificación que tiene una estructura de árbol, de acuerdo con una realización de la presente invención.
El aparato 200 de decodificación de vídeo que realiza predicción de vídeo basándose en la unidad de codificación que tiene una estructura de árbol incluye un receptor 210, un extractor 220 de datos de imagen e información de codificación, y un decodificador 230 de datos de imagen.
Las definiciones de diversos términos, tales como una unidad de codificación, una profundidad, una unidad de predicción, una unidad de transformación, e información acerca de diversos modos de codificación, para diversas operaciones del aparato 200 de decodificación de vídeo son idénticas a aquellas descritas con referencia a la Figura 7 y el aparato 100 de codificación de vídeo.
El receptor 210 recibe y analiza una secuencia de bits de un vídeo codificado. El extractor 220 de datos de imagen e información de codificación extrae datos de imagen codificados para cada unidad de codificación desde la secuencia de bits analizada, en el que las unidades de codificación tienen una estructura de árbol de acuerdo con cada unidad de codificación máxima, y emite los datos de imagen extraídos al decodificador 230 de datos de imagen. El extractor 220 de datos de imagen e información de codificación puede extraer información acerca de un tamaño máximo de una unidad de codificación de una instantánea actual, desde un encabezamiento acerca de la instantánea actual, o un SPS, o un PPS.
También, el extractor 220 de datos de imagen e información de codificación extrae información acerca de una profundidad codificada y un modo de codificación para las unidades de codificación que tienen una estructura de árbol de acuerdo con cada unidad de codificación máxima, 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 de datos de imagen. En otras palabras, los datos de imagen en una cadena de bits se dividen en la unidad de codificación máxima de modo que el decodificador 230 de datos de imagen decodifica los datos de imagen para cada unidad de codificación máxima.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con la unidad de codificación máxima puede establecerse para información acerca de al menos una unidad de codificación que corresponde a la profundidad codificada, y la información acerca de un modo de codificación puede incluir información acerca de un tipo de partición de una unidad de codificación correspondiente que corresponde a la profundidad codificada, 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áxima extraída por el extractor 220 de datos de imagen e información de codificación 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 la codificación para cada unidad de codificación más profunda de acuerdo con las profundidades de acuerdo con cada unidad de codificación máxima. Por consiguiente, el aparato 200 de decodificación de vídeo puede restaurar una imagen decodificando los datos de imagen de acuerdo con una profundidad codificada y un modo de codificación que genera el error de codificación mínimo.
Puesto que la información de codificación acerca de la profundidad codificada y el modo de codificación pueden asignarse a una unidad de datos predeterminada de entre una unidad de codificación correspondiente, una unidad de predicción, y una unidad mínima, el extractor 220 de datos de imagen e información de codificación puede extraer la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de datos predeterminadas. Las unidades de datos predeterminadas a las que se asigna la misma información acerca de la profundidad codificada y el modo de codificación pueden inferirse para que sean las unidades de datos incluidas en la misma unidad de codificación máxima.
El decodificador 230 de datos de imagen restaura la instantánea actual decodificando los datos de imagen en cada unidad de codificación máxima basándose en la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de codificación máxima. En otras palabras, el decodificador 230 de datos de imagen 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 incluidas en cada unidad de codificación máxima. Un procedimiento de decodificación puede incluir predicción que incluye intra predicción y compensación de movimiento, y transformación inversa.
El decodificador 230 de datos de imagen 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
profundidades codificadas.
También, el decodificador 230 de datos de imagen 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 de la unidad de transformación de acuerdo con las unidades de codificación que tienen una estructura de árbol, para realizar la transformación inversa de acuerdo con unidades de codificación máxima. Un valor de píxel de un dominio espacial en la unidad de codificación puede restaurarse a través de la transformación inversa.
El decodificador 230 de datos de imagen puede determinar al menos una profundidad codificada de una unidad de codificación máxima actual usando información de división de acuerdo con las profundidades. Si la información de división indica que los datos de imagen ya no se dividen en la profundidad actual, la profundidad actual es una profundidad codificada. Por consiguiente, el decodificador 230 de datos de imagen puede decodificar datos codificados de al menos una unidad de codificación que corresponde a cada profundidad codificada en la unidad de codificación máxima actual usando la información acerca del tipo de partición de la unidad de predicción, el modo de predicción, y el tamaño de unidad de transformación para cada unidad de codificación que corresponde a la profundidad codificada, y emite los datos de imagen de la unidad de codificación máxima actual.
En otras palabras, las unidades de datos que contienen la información de codificación que incluye la misma información de división pueden recogerse observando 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 recogidas pueden considerarse que son una unidad de datos a decodificarse por el decodificador 230 de datos de imagen en el mismo modo de codificación. La decodificación de la unidad de codificación actual puede realizarse obteniendo información acerca del modo de codificación para cada unidad de codificación determinada de tal manera.
También, el aparato 200 de decodificación de vídeo de la Figura 8 puede realizar operaciones del aparato 20 de decodificación de vídeo anteriormente descrito con referencia a la Figura 2.
El receptor 210 y el extractor 220 de datos de imagen e información de codificación pueden realizar operaciones del analizador 22 y el decodificador 24 de símbolo del aparato 20 de decodificación de vídeo. El decodificador 230 de datos de imagen puede realizar operaciones del decodificador 24 de símbolo del aparato 20 de decodificación de vídeo.
El receptor 210 recibe una secuencia de bits de una imagen, y el extractor 220 de datos de imagen e información de codificación analiza símbolos de bloques de imagen desde la secuencia de bits recibida.
El extractor 220 de datos de imagen e información de codificación puede clasificar un símbolo actual en una cadena de bits de prefijo y una cadena de bits de sufijo basándose en un valor umbral determinado de acuerdo con un tamaño de un bloque actual. Por ejemplo, cuando se decodifica la información de posición de coeficiente final del coeficiente de transformación de la unidad de transformación, el valor umbral para clasificar la cadena de bits de prefijo y la cadena de bits de sufijo puede determinarse de acuerdo con un tamaño (anchura o altura) de la unidad de transformación. Como alternativa, el valor umbral puede determinarse de acuerdo con tamaños del recorte que incluye la unidad de transformación actual, la unidad de codificación máxima, la unidad de codificación, la unidad de predicción, etc. Como alternativa, puede determinarse por el índice máximo del modo de intra predicción cuántos bits de la cadena de bits de símbolo se codifican en codificación aritmética como la cadena de bits de prefijo a través de modelado de contexto en el modo de intra predicción y cuántos bits de la cadena de bits de símbolo se codifican en codificación aritmética como la cadena de bits de sufijo en el modo de desvío.
La decodificación aritmética se realiza usando un procedimiento de decodificación aritmética determinado para cada una de la cadena de bits de prefijo y la cadena de bits de sufijo del símbolo actual. La decodificación aritmética para determinar el modelado de contexto de acuerdo con las posiciones de bits puede realizarse en la cadena de bits de prefijo, y la decodificación aritmética para omitir el modelado de contexto puede realizarse en la cadena de bits de sufijo usando el modo de desvío.
Después de la decodificación aritmética, se realiza conversión a binario inversa de acuerdo con un procedimiento de conversión a binario determinado para cada una de la cadena de bits de prefijo y la cadena de bits de sufijo. La región de prefijo y la región de sufijo del símbolo pueden restaurarse realizando la conversión a binario inversa de acuerdo con el procedimiento de conversión a binario determinado para cada una de la cadena de bits de prefijo y la cadena de bits de sufijo.
El decodificador 230 de datos de imagen puede restaurar bloques de imagen realizando transformación inversa y predicción en el bloque actual usando el símbolo actual restaurado a través de la decodificación aritmética y la conversión a binario inversa.
En consecuencia, 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 la codificación de manera recursiva para cada unidad de codificación máxima, y puede usar la información para decodificar la instantánea actual. En otras palabras, pueden codificarse las unidades de codificación que tienen la estructura de árbol determinadas para que sean las unidades de codificación óptimas en cada unidad de codificación máxima.
Por consiguiente, incluso si los datos de imagen tienen alta resolución y una gran cantidad de datos, los datos de imagen pueden decodificarse y restaurarse eficazmente usando un tamaño de una unidad de codificación y un modo de codificación, que se determinan de manera adaptativa de acuerdo con características de los datos de imagen, usando información acerca de un modo de codificación óptimo recibido desde un codificador.
La Figura 9 es un diagrama conceptual 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, una unidad de codificación de 32x32 puede dividirse en particiones de 32x32, 32x16, 16x32, o 16x16, una unidad de codificación de 16x16 puede dividirse en particiones de 16x16, 16x8, 8x16, o 8x8, y una unidad de codificación de 8x8 puede dividirse en particiones de 8x8, 8x4, 4x8, o 4x4.
En los datos 310 de vídeo, una resolución es 1920x1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 2. En los datos 320 de vídeo, una resolución es 1920x1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 3. En los datos 330 de vídeo, una resolución es 352x288, un tamaño máximo de una unidad de codificación es 16, y una profundidad máxima es 1. La profundidad máxima mostrada en la Figura 9 indica un número total de divisiones desde una unidad de codificación máxima a una unidad de decodificación mínima.
Si una resolución es alta o una cantidad de datos es grande, un tamaño máximo de una unidad de codificación puede ser grande para no únicamente aumentar 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 tienen una resolución superior a los datos 330 de vídeo puede ser 64.
Puesto que la profundidad máxima de los datos 310 de vídeo es 2, las unidades de codificación 315 de los datos 310 de vídeo pueden incluir una unidad de codificación máxima que tienen un tamaño de eje largo de 64, y las unidades de codificación que tienen tamaños de eje largo de 32 y 16 puesto que las profundidades se hacen profundas a dos capas dividiendo la unidad de codificación máxima dos veces. Mientras tanto, puesto que la profundidad máxima de los datos 330 de vídeo es 1, las unidades 335 de codificación de los datos 330 de vídeo pueden incluir una unidad de codificación máxima que tiene un tamaño de eje 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 la unidad de codificación máxima una vez.
Puesto que la profundidad máxima de los datos 320 de vídeo es 3, las unidades 325 de codificación de los datos 320 de vídeo pueden incluir una unidad de codificación máxima que tiene un tamaño de eje 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 la unidad de codificación máxima tres veces. A medida que una profundidad se hace profunda, puede expresarse de manera precisa la información detallada.
La Figura 10 es un diagrama de bloques de un codificador 400 de imagen basado en unidades de codificación, de acuerdo con una realización de la presente invención.
El codificador 400 de imagen realiza operaciones del determinador 120 de unidad de codificación del aparato 100 de codificación de vídeo para codificar datos de imagen. En otras palabras, un intra predictor 410 realiza intra predicción en unidades de codificación en un intra modo, de entre un fotograma 405 actual, y un estimador 420 de movimiento y un compensador 425 de movimiento realiza inter estimación y compensación de movimiento en unidades de codificación en un inter modo de entre el fotograma 405 actual 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 restaura como datos en un dominio espacial a través de un cuantificador 460 inverso y un transformador 470 inverso, y los datos restaurados en el dominio espacial se emiten como el fotograma 495 de referencia después de post-procesarse a través de una unidad 480 de desbloqueo y una unidad 490 de filtración 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.
Para que el codificador 400 de imagen se aplique en el aparato 100 de codificación de vídeo, todos los elementos del codificador 400 de imagen, 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, la unidad 480 de desbloqueo, y la unidad 490 de filtración en bucle realizan operaciones basándose en cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol mientras se considera la profundidad máxima de cada unidad de codificación máxima.
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áxima actual, y el transformador 430 determina el tamaño de unidad de transformación en cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol.
En particular, el codificador 450 por entropía puede realizar codificación de símbolo en la región de prefijo y la región de sufijo clasificando un símbolo en la región de prefijo y la región de sufijo de acuerdo con un valor umbral predeterminado y usando diferentes procedimientos de codificación aritmética y conversión a binario con respecto a la región de prefijo y la región de sufijo.
El valor umbral para clasificar el símbolo en la región de prefijo y la región de sufijo puede determinarse basándose en tamaños de unidades de datos del símbolo, es decir, un corte, una unidad de codificación máxima, una unidad de codificación, una unidad de predicción, una unidad de transformación, etc.
La Figura 11 es un diagrama de bloques de un decodificador 500 de imagen basado 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 la codificación requerida para decodificar desde una secuencia de bits 505. Los datos de imagen codificados se emiten como datos cuantificados inversos a través de un decodificador 520 por entropía y un cuantificador 530 inverso, y los datos cuantificados inversos se restauran en datos de imagen en un dominio espacial a través de un transformador 540 inverso.
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 pasan a través del intra predictor 550 y el compensador 560 de movimiento, pueden emitirse como un fotograma 595 restaurado después de post-procesarse a través de una unidad 570 de desbloqueo y una unidad 580 de filtración de bucle. También, los datos de imagen que se post-procesan a través de la unidad 570 de desbloqueo y la unidad 580 de filtración en bucle pueden emitirse como el fotograma 585 de referencia.
Para decodificar los datos de imagen en el decodificador 230 de datos de imagen del aparato 200 de decodificación de vídeo, el decodificador 500 de imagen puede realizar las operaciones que se realizan después del analizador 510.
Para que el decodificador 500 de imagen se aplique en el aparato 200 de decodificación de vídeo, todos los elementos del decodificador 500 de imagen, es decir, el analizador 510, el decodificador 520 por entropía, el cuantificador 530 inverso, el transformador 540 inverso, el intra predictor 550, el compensador 560 de movimiento, la unidad 570 de desbloqueo, y la unidad 580 de filtración en bucle realizan operaciones basándose en unidades de codificación que tienen una estructura de árbol para cada unidad de codificación máxima.
Específicamente, el intra predictor 550 y el compensador 560 de movimiento realizan operaciones basándose en particiones y un modo de predicción para cada una de las unidades de codificación que tienen una estructura de árbol, y el transformador 540 inverso realiza operaciones basándose en un tamaño de una unidad de transformación para cada unidad de codificación.
En particular, el decodificador 520 por entropía puede realizar decodificación de símbolo para cada una de una cadena de bits de prefijo y una cadena de bits de sufijo clasificando la cadena de bits de símbolo analizada en la cadena de bits de prefijo y la cadena de bits de sufijo de acuerdo con un valor umbral predeterminado y usando diferentes procedimientos de decodificación aritmética y conversión a binario con respecto a la cadena de bits de prefijo y la cadena de bits de sufijo.
El valor umbral para clasificar la cadena de bits de símbolo en la cadena de bits de prefijo y la cadena de bits de sufijo puede determinarse basándose en tamaños de unidades de datos del símbolo, es decir, un corte, una unidad de codificación máxima, una unidad de codificación, una unidad de predicción, una unidad de transformación, etc.
La Figura 12 es un diagrama que muestra 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. Una altura máxima, una anchura máxima y una profundidad máxima de unidades de codificación pueden determinarse de manera adaptativa de acuerdo con las características de la imagen, o pueden establecerse de manera diferente por un usuario. Los tamaños de 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. En este punto, la profundidad máxima indica un número total de veces que se realiza la división desde la unidad de codificación máxima a la unidad de codificación mínima. 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 de predicción de cada unidad de codificación más profunda, se muestran a lo largo de un eje horizontal de la estructura 600 jerárquica.
En otras palabras, una unidad 610 de codificación es una unidad de codificación máxima en la estructura 600 jerárquica, en el 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ínima.
La unidad de predicción y las particiones de una unidad de codificación están dispuestas a lo largo del eje horizontal de acuerdo con cada profundidad. En otras palabras, si la unidad 610 de codificación que tiene el tamaño de 64x64 y la profundidad de 0 es una unidad de predicción, la unidad de predicción puede dividirse en particiones incluidas en la unidad 610 de codificación, es decir una partición 610 que tiene un tamaño de 64x64, particiones 612 que tienen el tamaño de 64x32, particiones 614 que tienen el tamaño de 32x64, o particiones 616 que tienen el tamaño de 32x32.
De manera similar, una unidad de predicción de la unidad 620 de codificación que tiene el tamaño de 32x32 y la profundidad de 1 puede dividirse en particiones incluidas en la unidad 620 de codificación, es decir una partición 620 que tiene un tamaño de 32x32, particiones 622 que tienen un tamaño de 32x16, particiones 624 que tienen un tamaño de 16x32, y particiones 626 que tienen un tamaño de 16x16.
De manera similar, una unidad de predicción de la unidad 630 de codificación que tiene el tamaño de 16x16 y la profundidad de 2 puede dividirse en particiones incluidas en la unidad 630 de codificación, es decir una partición que tiene un tamaño de 16x16 incluida en la unidad 630 de codificación, particiones 632 que tienen un tamaño de 16x8, particiones 634 que tienen un tamaño de 8x16, y particiones 636 que tienen un tamaño de 8x8.
De manera similar, una unidad de predicción de la unidad 640 de codificación que tiene el tamaño de 8x8 y la profundidad de 3 puede dividirse en particiones incluidas en la unidad 640 de codificación, es decir una partición que tiene un tamaño de 8x8 incluida en la unidad 640 de codificación, particiones 642 que tienen un tamaño de 8x4, particiones 644 que tienen un tamaño de 4x8, y particiones 646 que tienen un tamaño de 4x4.
La unidad 650 de codificación que tiene el tamaño de 4x4 y la profundidad de 4 es la unidad de codificación mínima y una unidad de codificación de la profundidad más 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áxima, el determinador 120 de unidad de codificación del aparato 100 de codificación de vídeo realiza codificación para unidades de codificación que corresponden a cada profundidad incluida en la unidad 610 de codificación máxima.
Un 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 aumentan 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 mínimo error de codificación para la profundidad actual realizando codificación para cada unidad de predicción en las unidades de codificación que corresponden a la profundidad actual, a lo largo del eje horizontal de la estructura 600 jerárquica.
Como alternativa, puede buscarse el error de codificación mínimo comparando los mínimos errores de codificación de acuerdo con las profundidades, 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. Una profundidad y una partición que tienen el error de codificación mínimo en la unidad 610 de codificación pueden seleccionarse como la profundidad codificada y un tipo de partición de la unidad 610 de codificación.
La Figura 13 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.
El aparato 100 o 200 de codificación de vídeo codifica o decodifica una imagen de acuerdo con unidades de codificación que tienen tamaños menores o iguales a una unidad de codificación máxima para cada unidad de codificación máxima. 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 mayores que una unidad de codificación correspondiente.
Por ejemplo, en el aparato 100 o 200 de codificación de vídeo, si un tamaño de la unidad 710 de codificación es 64x64, la transformación puede realizarse usando las unidades 720 de transformación que tienen un tamaño de 32x32.
También, los datos de la unidad 710 de codificación que tiene el tamaño de 64x64 pueden codificarse realizando la transformación en cada una de las unidades de transformación que tiene 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 mínimo error de codificación.
La Figura 14 es un diagrama para describir información de codificación de unidades de codificación de acuerdo con las profundidades, de acuerdo con una realización de la presente invención.
La 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_0 que tiene un tamaño de 2Nx2N puede dividirse en una cualquiera de una partición 802 que tiene un tamaño de 2Nx2N, una partición 804 que tiene un tamaño de 2NxN, una partición 806 que tiene un tamaño de Nx2N, y una partición 808 que tiene un tamaño de NxN. En este punto, la información 800 acerca de un tipo de partición se establece para indicar una de la partición 804 que tiene un tamaño de 2NxN, la partición 806 que tiene un tamaño de Nx2N, y la partición 808 que tiene un tamaño de NxN.
La información 810 indica un modo de predicción de cada partición. Por ejemplo, la información 810 puede indicar un modo de codificación por predicción realizada en una partición indicada 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 a basarse cuando la transformación se realiza en una unidad de codificación actual. Por ejemplo, la unidad de transformación puede ser una primera unidad 822 de intra transformación, una segunda unidad 824 de intra transformación, una primera unidad 826 de inter transformación, o una segunda unidad 828 de inter transformación.
El extractor 220 de datos de imagen e información de codificación del aparato 200 de decodificación de vídeo pueden extraer y usar la información 800, 810, y 820 para decodificación, de acuerdo con cada unidad de codificación más profunda.
La Figura 15 es un diagrama que muestra 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 codificar por predicción una unidad 900 de codificación que tiene una profundidad de 0 y un tamaño de 2N_0x2N_0 puede incluir particiones de un tipo 912 de partición que tiene un tamaño de 2N_0x2N_0, un tipo 914 de partición que tiene un tamaño de 2N_0xN_0, un tipo 916 de partición que tiene un tamaño de N_0x2N_0, y un tipo 918 de partición que tiene un tamaño de N_0xN_0. La Figura 15 ú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 lo mismo, 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 de manera repetitiva 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 pueden 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.
Los errores de la codificación que incluyen la codificación por predicción en los tipos 912 a 918 de particiones se comparan, y se determina el mínimo error de codificación entre los tipos de partición. Si un error de codificación es el más pequeño en uno de los tipos 912 a 916 de partición, 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, una profundidad se cambia de 0 a 1 para
dividir el tipo 918 de partición en la operación 920, y la codificación se realiza de manera repetitiva en unidades 930 de codificació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 codificar por predicción la unidad 930 de codificación que tiene una profundidad de 1 y un tamaño de 2N_1x2N_1 (=N_0xN_0) puede incluir particiones de un tipo 942 de partición que tiene un tamaño de 2N_1x2N_1, un tipo 944 de partición que tiene un tamaño de 2N_1xN_1, un tipo 946 de partición que tiene un tamaño de N_1x2N_1, y un tipo 948 de partición que tiene un tamaño de N_1xN_1.
Si un error de codificación es el más pequeño en el tipo 948 de partición, una profundidad se cambia de 1 a 2 para dividir el tipo 948 de partición en la operación 950, y se realiza de manera repetitiva la codificación en unidades 960 de codificación, que tienen una profundidad de 2 y un tamaño de N_2xN_2 para buscar un error de codificación mínimo.
Cuando una profundidad máxima es d, la unidad de codificación de acuerdo con cada profundidad puede realizarse hasta cuando una profundidad se hace d-1, y la información de división puede codificarse hasta cuando una profundidad es una de 0 a d-2. En otras palabras, cuando se realiza la 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 de manera repetitiva 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 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 una unidad 900 de codificación máxima actual se determina para que sea d-1 y un tipo de partición de la unidad 900 de codificación máxima actual puede determinarse que es N_(d-1)xN_(d-1). También, puesto que la profundidad máxima es d y una unidad 980 de codificación mínima que tiene una profundidad más inferior de d-1 ya no se divide a una profundidad inferior, la información de división para la unidad 980 de codificación mínima no se establece.
Una unidad 999 de datos puede ser una 'unidad mínima' para la unidad de codificación máxima actual. Una unidad mínima de acuerdo con una realización de la presente invención puede ser una unidad de datos rectangular obtenida dividiendo una unidad 980 de codificación mínima por 4. Realizando la codificación de manera repetitiva, el aparato 100 de codificación de vídeo puede seleccionar una profundidad que tiene el mínimo error de codificación comparando errores de codificación de acuerdo con las profundidades de la unidad 900 de codificación para determinar una profundidad codificada, y establecer un tipo de partición correspondiente y un modo de predicción como un modo de codificación de la profundidad codificada.
Como tal, los errores de codificación mínimos de acuerdo con las profundidades se comparan en todas las profundidades de 1 a d, y una profundidad que tiene el mínimo error de codificación puede determinarse como una profundidad codificada. La profundidad codificada, el tipo de partición de la unidad de predicción, y el modo de predicción pueden codificarse y transmitirse como información acerca de un modo de codificación. También, puesto que una unidad de codificación se divide desde una profundidad de 0 a una profundidad codificada, únicamente la información de división de la profundidad codificada se establece a 0, y la información de división de profundidades excluyendo la profundidad codificada se establece a 1.
El extractor 220 de datos de imagen e información de codificación del aparato 200 de decodificación de vídeo pueden extraer y usar la información acerca de la profundidad codificada y la unidad de predicción de la unidad 900 de codificación para decodificar la partición 912. El aparato 200 de decodificación de vídeo puede determinar una profundidad, en la que 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 profundidad correspondiente para decodificación.
Las Figuras 16 a 18 son diagramas para describir una relación entre unidades de codificación, unidades de predicción, y unidades 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áxima. Las unidades 1060 de predicción son particiones de unidades de predicción de cada una de las unidades 1010 de codificación, y las unidades 1070 de transformación son unidades de transformación de cada una de las unidades 1010 de codificación.
Cuando una profundidad de una unidad de codificación máxima es 0 en las unidades 1010 de codificación, las
profundidades de las unidades 1012 y 1054 de codificación son 1, las profundidades de las unidades 1014, 1016, 1018, 1028, 1050, y 1052 de codificación son 2, las profundidades de las unidades 1020, 1022, 1024, 1026, 1030, 1032, y 1048 de codificación son 3, y las profundidades de las unidades 1040, 1042, 1044, y 1046 de codificación son 4.
En las unidades 1060 de predicción, algunas unidades 1014, 1016, 1022, 1032, 1048, 1050, 1052, y 1054 de codificación se obtienen dividiendo las unidades de codificación en las unidades 1010 de codificación. En otras palabras, los tipos de partición en las unidades 1014, 1022, 1050, y 1054 de codificación tienen un tamaño de 2NxN, los tipos de partición en las unidades 1016, 1048, y 1052 de codificación tienen un tamaño de Nx2N, y un tipo de partición de la unidad 1032 de codificación tiene un tamaño de NxN. Las unidades de predicción y particiones de las unidades 1010 de codificación son menores que o iguales a 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, y 1052 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, los aparatos 100 y 200 de codificación y 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, la codificación se realiza de manera recursiva en cada una de las unidades de codificación que tienen una estructura jerárquica en cada región de una unidad de codificación máxima para determinar una unidad de codificación óptima, y por lo tanto pueden obtenerse las unidades de codificación que tienen una estructura de árbol recursiva. La información de codificación puede incluir información de división acerca de una unidad de codificación, información acerca de un tipo de partición, información acerca de un modo de predicción, e información acerca de un tamaño de una unidad de transformación. La Tabla 1 muestra la información de codificación que puede establecerse por los aparatos 100 y 200 de codificación y decodificación de vídeo.
Tabla 1
La unidad 130 de salida 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 extractor 220 de datos de imagen e información de codificación 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 en una profundidad inferior, es una profundidad codificada, y por lo tanto la información acerca de un tipo de partición, modo de predicción, y un tamaño de una unidad de transformación puede definirse para la profundidad codificada. Si la unidad de codificación actual se divide adicionalmente de acuerdo con la información de división, la codificación se realiza de manera independiente en cuatro unidades de codificación de división de una profundidad inferior.
Un modo de predicción puede ser uno 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 tienen tamaños de 2Nx2N,
2NxN, Nx2N, y NxN, que se obtienen dividiéndose simétricamente una altura o una anchura de una unidad de predicción, y tipos de partición asimétrica que tienen tamaños de 2NxnU, 2NxnD, nLx2N, y nRx2N, que se obtienen dividiendo asimétricamente la altura o anchura de la unidad de predicción. Los tipos de partición asimétrica que tienen los tamaños de 2NxnU y 2NxnD pueden obtenerse respectivamente dividiendo la altura de la unidad de predicción en 1:3 y 3:1, y los tipos de partición asimétrica que tienen los tamaños de nLx2N y nRx2N pueden obtenerse respectivamente dividiendo la anchura de la unidad de predicción en 1:3 y 3:1.
El tamaño de 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 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 unidad de transformación puede ser N/2xN/2.
La información de codificación acerca de las unidades de codificación que tienen una estructura de árbol puede incluir al menos 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, una unidad de codificación correspondiente que corresponde a una profundidad codificada se determina usando información de codificación de una unidad de datos, y por lo tanto puede determinarse una distribución de profundidades codificadas en una unidad de codificación máxima.
Por consiguiente, si 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 a 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 y usarse.
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 19 es un diagrama para describir una relación entre una unidad de codificación, una unidad de predicción, y una unidad de transformación de acuerdo con la información de modo de codificación de la Tabla 1.
Una unidad 1300 de codificación máxima incluye las unidades 1302, 1304, 1306, 1312, 1314, 1316, y 1318 de codificación de profundidades codificadas. En este punto, puesto que la unidad 1318 de codificación es una unidad de codificación de una profundidad codificada, la información de división puede establecerse a 0. La información acerca de un tipo de partición de la unidad 1318 de codificación que tiene un tamaño de 2Nx2N puede establecerse para que sea uno de un tipo 1322 de partición que tiene un tamaño de 2Nx2N, un tipo 1324 de partición que tiene un tamaño de 2NxN, un tipo 1326 de partición que tiene un tamaño de Nx2N, un tipo 1328 de partición que tiene un tamaño de NxN, un tipo 1332 de partición que tiene un tamaño de 2NxnU, un tipo 1334 de partición que tiene un tamaño de 2NxnD, un tipo 1336 de partición que tiene un tamaño de nLx2N, y un tipo 1338 de partición que tiene un tamaño de nRx2N.
La información de división (bandera de tamaño TU) de una unidad de transformación es una clase de un índice de transformación, y un tamaño de unidad de transformación que corresponde al índice de transformación puede variar de acuerdo con un tipo de la unidad de predicción o la partición de la unidad de codificación.
Por ejemplo, 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 de la 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.
Haciendo referencia a la Figura 19, la bandera de tamaño de TU es una bandera que tiene un valor de 0 o 1, pero la bandera de tamaño de TU no está limitada a 1 bit, y una unidad de transformación puede dividirse jerárquicamente teniendo una estructura de árbol mientras la bandera de tamaño de TU aumenta desde 0. La bandera de tamaño de TU puede usarse como una realización del índice de transformación.
En este caso, si la información de división de la unidad de transformación se usa junto con el tamaño de unidad de transformación máxima y el tamaño de la unidad de transformación mínima, puede expresarse el tamaño de unidad de transformación que se usa realmente. El aparato 100 de codificación de vídeo puede codificar información de tamaño de unidad de transformación máxima, información de tamaño de unidad de transformación mínima, y la información de división de unidad de transformación máxima. La información de tamaño de unidad de transformación máxima codificada, información de tamaño de unidad de transformación mínima, y la información de división de unidad de transformación máxima pueden insertarse en un SPS. El aparato 200 de decodificación de vídeo puede realizar decodificación de vídeo usando la información de tamaño de unidad de transformación máxima, la información de tamaño de unidad de transformación mínima, y la información de división de unidad de transformación máxima.
Por ejemplo, si una unidad de codificación actual tiene un tamaño de 64x64 y el tamaño de unidad de transformación máxima es 32x32, cuando la información de división de unidad de transformación es 0, un tamaño de unidad de transformación puede establecerse a 32x32, cuando la información de división de unidad de transformación es 1, el tamaño de unidad de transformación puede establecerse a 16x16, y cuando la información de división de unidad de transformación es 2, el tamaño de unidad de transformación puede establecerse a 8x8.
Como alternativa, si la unidad de codificación actual tiene un tamaño de 32x32 y el tamaño de la unidad de transformación mínima es 32x32, cuando la información de división de unidad de transformación es 1, el tamaño de unidad de transformación puede establecerse a 32x32, y puesto que el tamaño de unidad de transformación es igual o mayor que 32x32, no puede establecerse más información de división de unidad de transformación.
Como alternativa, si la unidad de codificación actual tiene un tamaño de 64x64 y la información de división de unidad de transformación máxima es 1, la información de división de unidad de transformación puede establecerse a 0 o 1, y puede no establecerse otra información de división de unidad de transformación.
Por consiguiente, si la información de división de unidad de transformación máxima se define como 'MaxTransformSizelndex', si un tamaño de unidad de transformación mínima se define como 'MinTransformSize', y si un tamaño de unidad de transformación se define como 'RootTuSize' cuando la información de división de unidad de transformación es 0, 'CurrMinTuSize' que es un tamaño de unidad de transformación mínima disponible en la unidad de codificación actual puede definirse por la fórmula (1) a continuación
CurrMinTuSize
= max (MinTransformSize, RootTuSize/(2AMaxTransformSizelndex))... (1)
En comparación con 'CurrMinTuSize' que es el tamaño de la unidad de transformación mínima disponible en la unidad de codificación actual, 'RootTuSize' que es un tamaño de unidad de transformación cuando la información de división de unidad de transformación es 0 puede representar un tamaño de unidad de transformación máxima que puede adoptarse en un sistema. En otras palabras, de acuerdo con la fórmula (1), 'RootTuSize/(2AMaxTransformSizelndex)' es un tamaño de unidad de transformación en el que 'RootTuSize' se divide un número de veces que corresponde a la información de división de unidad de transformación máxima y 'MinTransformSize' es un tamaño de unidad de transformación mínima, y por lo tanto un valor menor de entre 'RootTuSize/(2AMaxTransformSizelndex)' y 'MinTransformSize' puede ser 'CurrMinTuSize' que es el tamaño de la unidad de transformación mínima disponible en la unidad de codificación actual.
'RootTuSize' que es el tamaño de unidad de transformación máxima 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 fórmula (2) a continuación. En la fórmula (1), 'MaxTransformSize' indica un tamaño de unidad de transformación máxima, y 'PUSize' indica un tamaño de unidad de predicción actual.
RootTuSize = min(MaxTransformSize, PUSize)....... (2)
En otras palabras, si el modo de predicción actual es un inter modo, 'RootTuSize' que es un tamaño de unidad de transformación cuando la información de división de unidad de transformación es 0 puede establecerse a un valor menor de entre el tamaño de unidad de transformación máxima y el tamaño de unidad de 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 fórmula (3) a continuación. 'PartitionSize' indica un tamaño de unidad de partición actual.
RootTuSize = min(MaxTransformSize, PartitionSize)....... (3)
En otras palabras, si el modo de predicción actual es un intra modo, 'RootTuSize' puede establecerse a un valor menor de entre el tamaño de unidad de transformación máxima y el tamaño de unidad de partición actual.
Sin embargo, el tamaño de unidad de transformación máxima actual 'RootTuSize' que varía de acuerdo con una unidad de modo de predicción de la partición es solamente un ejemplo, y un factor para determinar el tamaño de unidad de transformación máxima actual no está limitado a lo mismo.
Los datos de imagen de un dominio espacial se codifican para cada unidad de codificación que tiene una estructura de árbol usando un procedimiento de codificación de vídeo basándose en las unidades de codificación que tienen una estructura de árbol anteriormente descritas con referencia a las Figuras 7 a 19, y la decodificación se realiza en cada unidad de codificación máxima usando un procedimiento de decodificación de vídeo basándose en las unidades de codificación que tienen una estructura de árbol, y por lo tanto los datos de imagen del dominio espacial se restauran, restaurando de esta manera un vídeo que es una instantánea y una secuencia de instantáneas. El vídeo restaurado puede reproducirse por un aparato de reproducción, puede almacenarse en un medio de almacenamiento, o puede transmitirse mediante una red.
Las realizaciones de la presente invención pueden escribirse como programas informáticos y pueden implementarse en ordenadores digitales de uso general que ejecutan los programas usando un medio de grabación legible por ordenador. Ejemplos del medio de grabación legible por ordenador incluyen medio de almacenamiento magnético (por ejemplo, ROM, discos flexibles, discos duros, etc.) y medio de grabación óptico (por ejemplo, CD-ROM o DVD).
Si bien esta invención ha sido particularmente mostrada y descrita con referencia a las realizaciones preferentes de la misma, los expertos en la materia entenderán que se pueden realizar diversos cambios en la forma y los detalles sin apartarse del alcance de la invención tal como se define en las reivindicaciones adjuntas. Las realizaciones preferentes deben considerarse únicamente en un sentido solo descriptivo y no con fines de limitación. Por lo tanto, el alcance de la invención se define no por la descripción detallada de la invención sino por las reivindicaciones adjuntas, y todas las diferencias dentro del alcance de aplicación se interpretarán como incluidas en la presente invención.
Claims (3)
1. Un procedimiento para decodificar un vídeo, comprendiendo el procedimiento:
recibir (61) un flujo de bits que incluye información acerca de una última ubicación de coeficiente significativo de un bloque de transformación;
realizar (65) decodificación aritmética basada en contexto en una cadena de bits de prefijo de la última ubicación significativa del coeficiente entre la información acerca de la última ubicación significativa del coeficiente; cuando la cadena de bits del prefijo es mayor que un valor predeterminado, realizar (65) una decodificación aritmética en modo de derivación en una cadena de bits de sufijo de la última ubicación significativa del coeficiente entre la información acerca de la última ubicación del coeficiente significativa;
realizar (67) binarización inversa en la cadena de bits de prefijo de acuerdo con un esquema de binarización truncada para obtener un prefijo binarizado inverso;
realizar (67) binarización inversa sobre la cadena de bits de sufijo de acuerdo con el esquema de binarización de longitud fija para obtener un sufijo binarizado inverso; y
reconstruir un símbolo que indica la última ubicación significativa del coeficiente del bloque de transformación usando el prefijo binarizado inverso y el sufijo binarizado inverso,
en el que la decodificación aritmética basada en contexto de la cadena de bits de prefijo se realiza usando un índice de contexto determinado en función del tamaño del bloque de transformación y la ubicación de un bit de la cadena de bits de prefijo, en el que se reconstruye la última ubicación de coeficiente significativa del bloque de transformación actual combinando el prefijo binarizado inverso y el sufijo binarizado inverso, y
en el que la ubicación del último coeficiente significativo reconstruido indica una información sobre una coordenada x de la última ubicación significativa del coeficiente en una dirección de anchuras del bloque de transformación actual e información sobre una coordenada y de la última ubicación significativa del coeficiente en una dirección de alturas del bloque de transformación actual,
en el que el valor predeterminado es un punto de clasificación entre la cadena de bits del prefijo y la cadena de bits del sufijo, en el que el sufijo binarizado inverso es un valor restante de un símbolo que indica la última ubicación significativa del coeficiente del bloque de transformación después de que el prefijo binarizado inverso se excluye del símbolo.
2. Un procedimiento para codificar un vídeo, comprendiendo el procedimiento:
generar (51) un símbolo que indica una última ubicación de coeficiente de un bloque de transformación; realizar (55) binarización sobre un prefijo del símbolo de acuerdo con un esquema de binarización truncado para generar una cadena de bits de prefijo;
realizar (55) binarización sobre un sufijo del símbolo de acuerdo con un esquema de binarización de longitud fija para generar una cadena de bits de sufijo;
realizar (57) la codificación aritmética basada en contexto en la cadena de bits de prefijo para generar información sobre un prefijo de la última ubicación del coeficiente; y
realizar (57) la codificación aritmética del modo de derivación en la cadena de bits de un sufijo para generar información acerca de un sufijo de la última ubicación del coeficiente,
en el que la codificación aritmética basada en contexto se realiza mediante un índice de contexto determinado en función del tamaño del bloque de transformación y la ubicación de un bit de la cadena de bits del prefijo, y en el que la última ubicación significativa del coeficiente del bloque de transformación se clasifica en el prefijo del símbolo y el sufijo del símbolo basado en un valor predeterminado, y el valor predeterminado es un punto de clasificación entre el prefijo y el sufijo,
en el que el sufijo es un valor restante del símbolo que indica la última ubicación significativa del coeficiente del bloque de transformación después de que el prefijo se excluye del símbolo, y
indicando el símbolo la última ubicación del coeficiente significativo del bloque de transformación indica una coordenada x de la última ubicación significativa del coeficiente en una dirección de anchuras del bloque de transformación o una coordenada y de la última ubicación del coeficiente significativo en una dirección de alturas del bloque de transformación.
3. Un aparato (14) para codificar un vídeo, comprendiendo el aparato:
un codificador que está configurado para generar un símbolo que indica una última ubicación de coeficiente de un bloque de transformación; un binarizador de símbolos que está configurado para realizar binarización en un prefijo del símbolo de acuerdo con un esquema de binarización truncado para generar una cadena de bits de prefijo, y realizar binarización sobre un sufijo del símbolo de acuerdo con un esquema de binarización de longitud fija para generar una cadena de bits de sufijo; y
un codificador aritmético configurado para realizar la codificación aritmética basada en contexto en la cadena de bits de prefijo para generar información sobre un prefijo de la última ubicación del coeficiente, y realizar la codificación aritmética del modo de derivación en la cadena de bits de un sufijo para generar información acerca de un sufijo de la última ubicación del coeficiente, en el que la codificación aritmética basada en contexto se realiza mediante un índice de contexto determinado en función del tamaño del bloque de transformación y la ubicación de un bit de la cadena de bits del prefijo, y
en el que la última ubicación significativa del coeficiente del bloque de transformación se clasifica en el prefijo del
símbolo y el sufijo del símbolo basado en un valor predeterminado, el valor predeterminado es un punto de clasificación entre el prefijo y el sufijo,
en el que el sufijo es un valor restante del símbolo que indica la última ubicación significativa del coeficiente del bloque de transformación después de que el prefijo se excluye del símbolo, y
indicando el símbolo la última ubicación significativa del coeficiente del bloque de transformación indica una coordenada x de la última ubicación significativa del coeficiente en una dirección de anchuras del bloque de transformación o una coordenada y de la última ubicación del coeficiente significativo en una dirección de alturas del bloque de transformación.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161502038P | 2011-06-28 | 2011-06-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2816059T3 true ES2816059T3 (es) | 2021-03-31 |
Family
ID=47424665
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES12804190T Active ES2711671T3 (es) | 2011-06-28 | 2012-06-27 | Procedimiento de decodificación de vídeo usando decodificación |
ES17203278T Active ES2816059T3 (es) | 2011-06-28 | 2012-06-27 | 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 |
ES15153506.9T Active ES2655917T3 (es) | 2011-06-28 | 2012-06-27 | Aparato de decodificación de vídeo acompañado con decodificación aritmética y señalización bidimensional de un último coeficiente significativo |
ES18180918T Active ES2797423T3 (es) | 2011-06-28 | 2012-06-27 | Procedimiento de codificación y decodificación de vídeo usando codificación aritmética con una señalización bidimensional del último coeficiente significativo |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES12804190T Active ES2711671T3 (es) | 2011-06-28 | 2012-06-27 | Procedimiento de decodificación de vídeo usando decodificación |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES15153506.9T Active ES2655917T3 (es) | 2011-06-28 | 2012-06-27 | Aparato de decodificación de vídeo acompañado con decodificación aritmética y señalización bidimensional de un último coeficiente significativo |
ES18180918T Active ES2797423T3 (es) | 2011-06-28 | 2012-06-27 | Procedimiento de codificación y decodificación de vídeo usando codificación aritmética con una señalización bidimensional del último coeficiente significativo |
Country Status (27)
Country | Link |
---|---|
US (7) | US9565455B2 (es) |
EP (7) | EP2849445A1 (es) |
JP (6) | JP5735710B2 (es) |
KR (7) | KR101457399B1 (es) |
CN (9) | CN105516732A (es) |
AU (6) | AU2012276453B2 (es) |
BR (5) | BR122015021376A2 (es) |
CA (2) | CA2840481C (es) |
CY (2) | CY1119931T1 (es) |
DK (2) | DK2728866T3 (es) |
ES (4) | ES2711671T3 (es) |
HR (2) | HRP20180051T1 (es) |
HU (4) | HUE044112T2 (es) |
LT (2) | LT2728866T (es) |
MX (4) | MX337232B (es) |
MY (5) | MY160181A (es) |
NO (1) | NO3064648T3 (es) |
PH (4) | PH12017500999B1 (es) |
PL (4) | PL3402206T3 (es) |
PT (2) | PT2728866T (es) |
RS (2) | RS58373B1 (es) |
RU (4) | RU2618511C1 (es) |
SI (2) | SI2884749T1 (es) |
TR (1) | TR201902208T4 (es) |
TW (4) | TWI661716B (es) |
WO (1) | WO2013002555A2 (es) |
ZA (5) | ZA201400647B (es) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2711671T3 (es) * | 2011-06-28 | 2019-05-06 | Samsung Electronics Co Ltd | Procedimiento de decodificación de vídeo usando decodificación |
SG187781A1 (en) * | 2011-07-18 | 2013-03-28 | Panasonic Corp | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus |
CN106101727B (zh) | 2011-08-04 | 2019-10-08 | 寰发股份有限公司 | 基于上下文自适应二进制算术编码的方法及装置 |
EP2779648A4 (en) | 2011-11-07 | 2016-06-01 | Panasonic Ip Corp America | PICTURE CODING METHOD, PICTURE DECODING METHOD, PICTURE CODING DEVICE, PICTURE DECODING DEVICE, AND PICTURE CODING / DECODING DEVICE |
EP3637621B1 (en) | 2012-04-15 | 2023-06-07 | Samsung Electronics Co., Ltd. | Video decoding method using parameter update for de-binarization of entropy coded transformation coefficient, encoding apparatus using same for binarization |
GB2513111A (en) * | 2013-04-08 | 2014-10-22 | Sony Corp | Data encoding and decoding |
US9930348B2 (en) * | 2014-03-14 | 2018-03-27 | Qualcomm Incorporated | Coefficient level coding in a video coding process |
CN110691244B (zh) | 2014-06-20 | 2022-07-08 | 寰发股份有限公司 | 视频编码中的语法的二进制化和上下文自适应编码的方法和装置 |
US20160044339A1 (en) * | 2014-08-07 | 2016-02-11 | Qualcomm Incorporated | System and method for reordering of prefixes and suffixes in variable length coding to increase throughput |
CN107211136B (zh) * | 2015-01-30 | 2019-10-29 | 联发科技股份有限公司 | 具有大字母表的源样本的熵编码与熵解码的方法 |
KR102473209B1 (ko) * | 2015-12-14 | 2022-12-02 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US10142629B2 (en) * | 2015-12-28 | 2018-11-27 | Mediatek Inc. | Method and apparatus for entropy coding in image compression |
US10708164B2 (en) * | 2016-05-03 | 2020-07-07 | Qualcomm Incorporated | Binarizing secondary transform index |
EP3496401A1 (en) * | 2017-12-05 | 2019-06-12 | Thomson Licensing | Method and apparatus for video encoding and decoding based on block shape |
KR102527184B1 (ko) * | 2018-03-29 | 2023-05-03 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 변환 계수 블록 코딩 |
AU2018204786A1 (en) * | 2018-06-29 | 2020-01-16 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a transformed block of video samples |
PT3799690T (pt) * | 2018-07-11 | 2023-12-22 | Huawei Tech Co Ltd | Sinalização intramodo de luma |
WO2020101321A1 (ko) | 2018-11-12 | 2020-05-22 | 엘지전자 주식회사 | 고주파 제로잉을 기반으로 변환 계수를 코딩하는 방법 및 그 장치 |
KR20230154085A (ko) * | 2018-12-17 | 2023-11-07 | 엘지전자 주식회사 | 고주파 제로잉을 기반으로 변환 계수 스캔 순서를 결정하는 방법 및 장치 |
US11856196B2 (en) | 2019-01-13 | 2023-12-26 | Lg Electronics Inc. | Method and device for processing video signal |
US10986334B2 (en) * | 2019-03-09 | 2021-04-20 | Tencent America LLC | Method and apparatus for video coding |
CN117278752A (zh) | 2019-03-12 | 2023-12-22 | Lg 电子株式会社 | 基于变换的图像编译方法及其装置 |
JP7332873B2 (ja) * | 2019-09-10 | 2023-08-24 | 富士通株式会社 | 符号化回路、復号化回路、符号化方法、復号化方法、伝送装置、及び光伝送システム |
CN110995274B (zh) * | 2019-11-18 | 2022-02-08 | 中国科学院自动化研究所 | 一种解压缩方法及装置 |
JP7388900B2 (ja) * | 2019-12-06 | 2023-11-29 | 日本放送協会 | 符号化装置、復号装置、及びプログラム |
CN114079774B (zh) * | 2020-08-21 | 2024-05-31 | 北京三星通信技术研究有限公司 | 帧间预测信息的编解码方法及装置 |
CN114615504B (zh) * | 2020-12-04 | 2024-09-17 | 腾讯科技(深圳)有限公司 | 视频解码方法、视频编码方法、装置及设备 |
CN113422964B (zh) * | 2021-06-04 | 2024-07-30 | 绍兴市北大信息技术科创中心 | 一种串长度参数编解码方法和装置 |
CN113518222B (zh) * | 2021-06-07 | 2022-11-08 | 同济大学 | 不同类型串采用不同长度二值化方案的编解码方法及装置 |
JP2023026969A (ja) * | 2021-08-16 | 2023-03-01 | キヤノン株式会社 | 撮像システム、サーバ装置、サーバ装置の制御方法、プログラム、および記憶媒体 |
Family Cites Families (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2755527B1 (fr) * | 1996-11-07 | 1999-01-08 | Thomson Multimedia Sa | Procede de prediction compensee en mouvement et codeur utilisant un tel procede |
US6859840B2 (en) | 2001-01-29 | 2005-02-22 | Kasenna, Inc. | Prefix caching for media objects |
PT1467491E (pt) * | 2002-05-02 | 2007-03-30 | Fraunhofer Ges Forschung | Codificação aritmética de coeficientes de transformação |
DE10301362B4 (de) * | 2003-01-16 | 2005-06-09 | GEMAC-Gesellschaft für Mikroelektronikanwendung Chemnitz mbH | Blockdatenkompressionssystem, bestehend aus einer Kompressionseinrichtung und einer Dekompressionseinrichtung, und Verfahren zur schnellen Blockdatenkompression mit Multi-Byte-Suche |
US6900748B2 (en) * | 2003-07-17 | 2005-05-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Method and apparatus for binarization and arithmetic coding of a data value |
US7379608B2 (en) * | 2003-12-04 | 2008-05-27 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. | Arithmetic coding for transforming video and picture data units |
US7599435B2 (en) * | 2004-01-30 | 2009-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Video frame encoding and decoding |
JP4418762B2 (ja) * | 2004-05-07 | 2010-02-24 | キヤノン株式会社 | 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 |
DE102004049156B4 (de) | 2004-10-08 | 2006-07-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codierschema für einen ein zeitlich veränderliches Graphikmodell darstellenden Datenstrom |
KR100647295B1 (ko) * | 2004-11-10 | 2006-11-23 | 삼성전자주식회사 | 비디오 디코더에서의 인접 정보 처리 장치 및 방법과 그방법을 수행하기 위한 프로그램이 저장된 기록 매체 |
US7430238B2 (en) * | 2004-12-10 | 2008-09-30 | Micronas Usa, Inc. | Shared pipeline architecture for motion vector prediction and residual decoding |
US20060153293A1 (en) * | 2005-01-12 | 2006-07-13 | Ulead Systems, Inc. | Method for transcoding compressed data |
KR100703776B1 (ko) | 2005-04-19 | 2007-04-06 | 삼성전자주식회사 | 향상된 코딩 효율을 갖는 컨텍스트 기반 적응적 산술 코딩및 디코딩 방법과 이를 위한 장치, 이를 포함하는 비디오코딩 및 디코딩 방법과 이를 위한 장치 |
KR100718134B1 (ko) * | 2005-07-21 | 2007-05-14 | 삼성전자주식회사 | 비트율에 적응적인 영상 데이터 이진 산술 부호화/복호화장치 및 방법 |
CN100466739C (zh) * | 2005-10-12 | 2009-03-04 | 华为技术有限公司 | Cabac解码系统及方法 |
KR100873636B1 (ko) * | 2005-11-14 | 2008-12-12 | 삼성전자주식회사 | 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치 |
WO2007065351A1 (en) | 2005-12-05 | 2007-06-14 | Huawei Technologies Co., Ltd. | Binarizing method and device thereof |
CN1984336A (zh) | 2005-12-05 | 2007-06-20 | 华为技术有限公司 | 一种二进制化方法及装置 |
US7778472B2 (en) * | 2006-03-27 | 2010-08-17 | Qualcomm Incorporated | Methods and systems for significance coefficient coding in video compression |
FR2900004A1 (fr) * | 2006-04-18 | 2007-10-19 | Thomson Licensing Sas | Procede et dispositif de decodage arithmetique |
US7262722B1 (en) * | 2006-06-26 | 2007-08-28 | Intel Corporation | Hardware-based CABAC decoder with parallel binary arithmetic decoding |
CN101175210B (zh) * | 2006-10-30 | 2010-08-11 | 中国科学院计算技术研究所 | 用于视频预测残差系数解码的熵解码方法及熵解码装置 |
JP4739167B2 (ja) * | 2006-10-31 | 2011-08-03 | キヤノン株式会社 | 正規化処理装置 |
JP4878262B2 (ja) | 2006-10-31 | 2012-02-15 | キヤノン株式会社 | エントロピー符号化装置 |
JP4825644B2 (ja) | 2006-11-14 | 2011-11-30 | ルネサスエレクトロニクス株式会社 | 画像復号装置、画像符号化装置、およびシステムlsi |
BRPI0720806B1 (pt) * | 2007-01-18 | 2023-03-28 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Corrente de dados de vídeo de qualidade escalonável |
CN101933331B (zh) * | 2007-09-06 | 2014-04-09 | 日本电气株式会社 | 视频编码装置、视频编码方法、视频解码方法 |
US8782379B2 (en) * | 2007-09-27 | 2014-07-15 | Qualcomm Incorporated | H.264 video decoder CABAC core optimization techniques |
US8938009B2 (en) * | 2007-10-12 | 2015-01-20 | Qualcomm Incorporated | Layered encoded bitstream structure |
US9008171B2 (en) | 2008-01-08 | 2015-04-14 | Qualcomm Incorporated | Two pass quantization for CABAC coders |
US8891615B2 (en) * | 2008-01-08 | 2014-11-18 | Qualcomm Incorporated | Quantization based on rate-distortion modeling for CABAC coders |
US8509555B2 (en) * | 2008-03-12 | 2013-08-13 | The Boeing Company | Error-resilient entropy coding for partial embedding and fine grain scalability |
US8705622B2 (en) | 2008-04-10 | 2014-04-22 | Qualcomm Incorporated | Interpolation filter support for sub-pixel resolution in video coding |
JP2009272739A (ja) * | 2008-05-01 | 2009-11-19 | Olympus Corp | 撮像装置 |
KR20090129926A (ko) | 2008-06-13 | 2009-12-17 | 삼성전자주식회사 | 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 |
JP5083579B2 (ja) * | 2008-06-23 | 2012-11-28 | 日本電気株式会社 | 復号処理装置、プロセッサ、電子機器、復号処理方法、及び復号処理プログラム |
CN102187583B (zh) * | 2008-08-19 | 2013-09-11 | 汤姆森特许公司 | 基于上下文的自适应二进制算术编码(cabac)的视频流兼容性 |
US20100054326A1 (en) * | 2008-08-26 | 2010-03-04 | General Instrument Corporation | Method and apparatus for detecting start and end of a video sequence |
EP2164176A1 (en) * | 2008-09-12 | 2010-03-17 | Thomson Licensing | Method for lossless compressing prefix-suffix-codes, method for decompressing a bit sequence representing integers or symbols encoded in compressed prefix-suffix-codes and storage medium or signal carrying compressed prefix-suffix-codes |
JP2010200281A (ja) * | 2009-02-27 | 2010-09-09 | Josho Gakuen | 復号装置、及びプログラム |
TWI387314B (zh) * | 2009-03-10 | 2013-02-21 | Univ Nat Central | Image processing apparatus and method thereof |
WO2011002914A1 (en) * | 2009-06-30 | 2011-01-06 | Massachusetts Institute Of Technology | System and method for providing high throughput entropy coding using syntax element partitioning |
US8948241B2 (en) | 2009-08-07 | 2015-02-03 | Qualcomm Incorporated | Signaling characteristics of an MVC operation point |
WO2011050641A1 (en) | 2009-10-28 | 2011-05-05 | Mediatek Singapore Pte. Ltd. | Video coding methods and video encoders and decoders with localized weighted prediction |
US20110110591A1 (en) | 2009-11-09 | 2011-05-12 | Ming-Hwa Sheu | Multi-point image labeling method |
JP4819940B2 (ja) * | 2009-12-04 | 2011-11-24 | 株式会社日立国際電気 | 動画像符号化装置 |
CN101771879B (zh) * | 2010-01-28 | 2011-08-17 | 清华大学 | 基于cabac的并行归一化编码实现电路及编码方法 |
CN103119849B (zh) | 2010-04-13 | 2017-06-16 | 弗劳恩霍夫应用研究促进协会 | 概率区间分割编码器和译码器 |
KR102574591B1 (ko) * | 2010-05-12 | 2023-09-06 | 인터디지털 매디슨 페턴트 홀딩스 에스에이에스 | 통합된 유효성 맵 코딩을 위한 방법 및 장치 |
PL3104616T3 (pl) | 2010-07-09 | 2017-10-31 | Samsung Electronics Co Ltd | Urządzenie do entropijnego dekodowania współczynników przekształcenia |
CN102014283A (zh) * | 2010-11-30 | 2011-04-13 | 上海大学 | 一阶差分前缀表示的图像数据无损压缩的编码方法 |
US9042440B2 (en) * | 2010-12-03 | 2015-05-26 | Qualcomm Incorporated | Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding |
US8976861B2 (en) * | 2010-12-03 | 2015-03-10 | Qualcomm Incorporated | Separately coding the position of a last significant coefficient of a video block in video coding |
JP5041060B2 (ja) * | 2010-12-27 | 2012-10-03 | ソニー株式会社 | 符号化装置及び符号化方法 |
WO2012134246A2 (ko) * | 2011-04-01 | 2012-10-04 | 엘지전자 주식회사 | 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치 |
CN107529708B (zh) | 2011-06-16 | 2019-05-07 | Ge视频压缩有限责任公司 | 解码器、编码器、解码和编码视频的方法及存储介质 |
ES2711671T3 (es) * | 2011-06-28 | 2019-05-06 | Samsung Electronics Co Ltd | Procedimiento de decodificación de vídeo usando decodificación |
SG187781A1 (en) * | 2011-07-18 | 2013-03-28 | Panasonic Corp | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus |
US9154792B2 (en) * | 2011-11-08 | 2015-10-06 | Qualcomm Incorporated | Progressive coding of position of last significant coefficient |
US9357185B2 (en) * | 2011-11-08 | 2016-05-31 | Qualcomm Incorporated | Context optimization for last significant coefficient position coding |
US9253481B2 (en) * | 2012-01-13 | 2016-02-02 | Qualcomm Incorporated | Determining contexts for coding transform coefficient data in video coding |
US9565435B2 (en) * | 2012-02-04 | 2017-02-07 | Google Technology Holdings LLC | Devices and methods for context reduction in last significant coefficient position coding |
US9237344B2 (en) * | 2012-03-22 | 2016-01-12 | Qualcomm Incorporated | Deriving context for last position coding for video coding |
US9621921B2 (en) * | 2012-04-16 | 2017-04-11 | Qualcomm Incorporated | Coefficient groups and coefficient coding for coefficient scans |
-
2012
- 2012-06-27 ES ES12804190T patent/ES2711671T3/es active Active
- 2012-06-27 RU RU2016117406A patent/RU2618511C1/ru active
- 2012-06-27 MY MYPI2016001182A patent/MY160181A/en unknown
- 2012-06-27 AU AU2012276453A patent/AU2012276453B2/en active Active
- 2012-06-27 CN CN201510919040.0A patent/CN105516732A/zh active Pending
- 2012-06-27 MY MYPI2016001180A patent/MY160179A/en unknown
- 2012-06-27 EP EP20140192917 patent/EP2849445A1/en not_active Ceased
- 2012-06-27 LT LTEP12804190.2T patent/LT2728866T/lt unknown
- 2012-06-27 MY MYPI2016001179A patent/MY160178A/en unknown
- 2012-06-27 CN CN201711346630.4A patent/CN107820098B/zh active Active
- 2012-06-27 HU HUE12804190A patent/HUE044112T2/hu unknown
- 2012-06-27 DK DK12804190.2T patent/DK2728866T3/en active
- 2012-06-27 EP EP12804190.2A patent/EP2728866B1/en active Active
- 2012-06-27 RU RU2014102581/07A patent/RU2586321C2/ru active
- 2012-06-27 EP EP15194151.5A patent/EP3013054A1/en not_active Ceased
- 2012-06-27 BR BR122015021376A patent/BR122015021376A2/pt not_active Application Discontinuation
- 2012-06-27 MX MX2015004485A patent/MX337232B/es unknown
- 2012-06-27 RS RS20190212A patent/RS58373B1/sr unknown
- 2012-06-27 PT PT12804190T patent/PT2728866T/pt unknown
- 2012-06-27 CN CN201711346186.6A patent/CN107835431B/zh active Active
- 2012-06-27 RS RS20180026A patent/RS56754B1/sr unknown
- 2012-06-27 CN CN201510919313.1A patent/CN105357541A/zh active Pending
- 2012-06-27 CA CA2840481A patent/CA2840481C/en active Active
- 2012-06-27 CA CA2975695A patent/CA2975695C/en active Active
- 2012-06-27 EP EP17203278.1A patent/EP3306939B1/en active Active
- 2012-06-27 BR BR122015021375A patent/BR122015021375A2/pt not_active Application Discontinuation
- 2012-06-27 MX MX2014000172A patent/MX2014000172A/es active IP Right Grant
- 2012-06-27 CN CN201280042529.9A patent/CN103782597A/zh active Pending
- 2012-06-27 JP JP2014518796A patent/JP5735710B2/ja active Active
- 2012-06-27 CN CN201711346005.XA patent/CN107835421B/zh active Active
- 2012-06-27 LT LTEP15153506.9T patent/LT2884749T/lt unknown
- 2012-06-27 PL PL18180918T patent/PL3402206T3/pl unknown
- 2012-06-27 PL PL12804190T patent/PL2728866T3/pl unknown
- 2012-06-27 US US14/130,052 patent/US9565455B2/en active Active
- 2012-06-27 ES ES17203278T patent/ES2816059T3/es active Active
- 2012-06-27 HU HUE17203278A patent/HUE051665T2/hu unknown
- 2012-06-27 PL PL15153506T patent/PL2884749T3/pl unknown
- 2012-06-27 TR TR2019/02208T patent/TR201902208T4/tr unknown
- 2012-06-27 WO PCT/KR2012/005087 patent/WO2013002555A2/ko active Application Filing
- 2012-06-27 MY MYPI2013004676A patent/MY160326A/en unknown
- 2012-06-27 DK DK15153506.9T patent/DK2884749T3/en active
- 2012-06-27 CN CN201510919253.3A patent/CN105357540B/zh active Active
- 2012-06-27 PL PL17203278T patent/PL3306939T3/pl unknown
- 2012-06-27 CN CN201510919014.8A patent/CN105554510B/zh active Active
- 2012-06-27 MX MX2015004496A patent/MX337230B/es unknown
- 2012-06-27 BR BR122015021374A patent/BR122015021374A2/pt not_active Application Discontinuation
- 2012-06-27 PT PT151535069T patent/PT2884749T/pt unknown
- 2012-06-27 HU HUE15153506A patent/HUE038521T2/hu unknown
- 2012-06-27 SI SI201231183T patent/SI2884749T1/en unknown
- 2012-06-27 HU HUE18180918A patent/HUE050522T2/hu unknown
- 2012-06-27 EP EP18180918.7A patent/EP3402206B1/en active Active
- 2012-06-27 ES ES15153506.9T patent/ES2655917T3/es active Active
- 2012-06-27 BR BR112013033708A patent/BR112013033708A2/pt not_active Application Discontinuation
- 2012-06-27 SI SI201231539T patent/SI2728866T1/sl unknown
- 2012-06-27 CN CN201711346980.0A patent/CN107835432B/zh active Active
- 2012-06-27 KR KR20120069481A patent/KR101457399B1/ko active IP Right Grant
- 2012-06-27 ES ES18180918T patent/ES2797423T3/es active Active
- 2012-06-27 BR BR122015021373A patent/BR122015021373A2/pt not_active Application Discontinuation
- 2012-06-27 MY MYPI2016001181A patent/MY160180A/en unknown
- 2012-06-27 EP EP15194152.3A patent/EP3021591A1/en not_active Withdrawn
- 2012-06-27 EP EP15153506.9A patent/EP2884749B1/en active Active
- 2012-06-28 TW TW106146130A patent/TWI661716B/zh active
- 2012-06-28 TW TW106124837A patent/TWI615020B/zh active
- 2012-06-28 TW TW101123244A patent/TWI562618B/zh active
- 2012-06-28 TW TW105134471A patent/TWI597975B/zh active
-
2014
- 2014-01-07 MX MX2015004494A patent/MX336876B/es unknown
- 2014-01-27 ZA ZA2014/00647A patent/ZA201400647B/en unknown
- 2014-05-07 KR KR1020140054356A patent/KR101560549B1/ko active IP Right Grant
- 2014-10-29 KR KR1020140148731A patent/KR101560550B1/ko active IP Right Grant
-
2015
- 2015-01-22 US US14/603,236 patent/US9247270B2/en active Active
- 2015-01-22 US US14/603,218 patent/US9258571B2/en active Active
- 2015-03-02 US US14/635,725 patent/US9668001B2/en active Active
- 2015-03-02 US US14/635,628 patent/US9554157B2/en active Active
- 2015-03-23 KR KR1020150040055A patent/KR101560551B1/ko active IP Right Grant
- 2015-03-23 KR KR1020150040056A patent/KR101560552B1/ko active IP Right Grant
- 2015-03-23 KR KR1020150040057A patent/KR101835641B1/ko active IP Right Grant
- 2015-04-16 JP JP2015084082A patent/JP5873200B2/ja active Active
- 2015-04-16 JP JP2015084086A patent/JP5873203B2/ja active Active
- 2015-04-16 JP JP2015084085A patent/JP5873202B2/ja active Active
- 2015-04-16 JP JP2015084083A patent/JP5934413B2/ja active Active
- 2015-04-16 JP JP2015084084A patent/JP5873201B2/ja active Active
- 2015-04-23 ZA ZA2015/02762A patent/ZA201502762B/en unknown
- 2015-04-23 ZA ZA2015/02760A patent/ZA201502760B/en unknown
- 2015-04-23 ZA ZA2015/02761A patent/ZA201502761B/en unknown
- 2015-04-23 ZA ZA2015/02759A patent/ZA201502759B/en unknown
-
2016
- 2016-03-01 NO NO16158000A patent/NO3064648T3/no unknown
- 2016-07-19 AU AU2016206259A patent/AU2016206259B2/en active Active
- 2016-07-19 AU AU2016206261A patent/AU2016206261B2/en active Active
- 2016-07-19 AU AU2016206260A patent/AU2016206260B2/en active Active
- 2016-07-19 AU AU2016206258A patent/AU2016206258B2/en active Active
-
2017
- 2017-04-17 RU RU2017113107A patent/RU2654491C1/ru active
- 2017-05-02 US US15/584,523 patent/US10091510B2/en active Active
- 2017-05-30 PH PH12017500999A patent/PH12017500999B1/en unknown
- 2017-05-30 PH PH12017501000A patent/PH12017501000B1/en unknown
- 2017-05-30 PH PH12017501001A patent/PH12017501001A1/en unknown
- 2017-05-30 PH PH12017501002A patent/PH12017501002A1/en unknown
-
2018
- 2018-01-04 AU AU2018200070A patent/AU2018200070B2/en active Active
- 2018-01-11 HR HRP20180051TT patent/HRP20180051T1/hr unknown
- 2018-02-22 CY CY20181100209T patent/CY1119931T1/el unknown
- 2018-02-28 KR KR1020180024732A patent/KR101917239B1/ko active IP Right Grant
- 2018-04-13 RU RU2018113469A patent/RU2689135C1/ru active
- 2018-08-31 US US16/119,706 patent/US10547842B2/en active Active
-
2019
- 2019-02-14 HR HRP20190301TT patent/HRP20190301T1/hr unknown
- 2019-02-28 CY CY20191100255T patent/CY1121340T1/el unknown
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
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 | |
ES2770609T3 (es) | Codificación por entropía de un vídeo y decodificación por entropía de un vídeo | |
ES2811038T3 (es) | Procedimiento y aparato para codificar vídeo y aparato para decodificar vídeo considerando un orden de omisión y de división | |
ES2776899T3 (es) | Aparato de decodificación de vídeo que usa actualización de parámetros para la desbinarización del coeficiente de transformación codificado por entropía, y procedimiento de codificación que usa el mismo para la binarización | |
ES2577116T3 (es) | Procedimiento y aparato de codificación de vídeo, y procedimiento y aparato de decodificación de vídeo | |
ES2683595T3 (es) | Procedimiento y aparato de decodificación de vídeo mediante predicción de movimiento usando partición arbitraria | |
ES2864024T3 (es) | Aparato de decodificación de vídeo en base a información de patrón de bloque codificado jerárquico | |
ES2834444T3 (es) | Aparato para codificación y decodificación de vídeo basadas en unidad de datos jerárquica que comprende predicción de parámetro de cuantificación |