ES2945186T3 - Método y aparato para la codificación de entropía basada en CABAC - Google Patents

Método y aparato para la codificación de entropía basada en CABAC Download PDF

Info

Publication number
ES2945186T3
ES2945186T3 ES19820207T ES19820207T ES2945186T3 ES 2945186 T3 ES2945186 T3 ES 2945186T3 ES 19820207 T ES19820207 T ES 19820207T ES 19820207 T ES19820207 T ES 19820207T ES 2945186 T3 ES2945186 T3 ES 2945186T3
Authority
ES
Spain
Prior art keywords
split
available
indicator
horizontal
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES19820207T
Other languages
English (en)
Inventor
Junghak Nam
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Application granted granted Critical
Publication of ES2945186T3 publication Critical patent/ES2945186T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Un método de decodificación de imágenes realizado por un dispositivo de decodificación según una realización de la presente invención comprende los pasos de: derivar un índice de contexto para un elemento de sintaxis de bandera dividida sobre la base de información de disponibilidad dividida de un bloque actual; determinar un modelo de contexto sobre la base del índice de contexto derivado; decodificar un valor del elemento de sintaxis de bandera dividida sobre la base de un CABAC, usando el modelo de contexto determinado; derivar una unidad de codificación actual del bloque actual sobre la base del valor del elemento de sintaxis de bandera dividida; derivar un bloque predicho sobre la base de la predicción inter o intra predicción para la unidad de codificación actual; y generar un bloque reconstruido sobre la base del bloque predicho. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Método y aparato para la codificación de entropía basada en CABAC
Antecedentes de la descripción
Campo de la descripción
La presente descripción se refiere a un método de codificación/descodificación de imágenes fijas o de imágenes de video y, más específicamente, a un método y un aparato para dividir una región en una estructura de árbol cuádruple (QT) y utilizar un modelo de contexto cuando se realiza la codificación de entropía CABAC basada en estructuras de árbol binario (BT) y árbol ternario (TT).
Técnica relacionada
La demanda de imágenes de alta resolución y alta calidad, tales como imágenes de Alta Definición (HD) e imágenes de Ultra Alta Definición (UHD), está aumentando en diferentes campos. Como los datos de imagen tienen alta resolución y alta calidad, la cantidad de información o bits que se van a transmitir aumenta en relación con los datos de imagen heredados. Por consiguiente, cuando los datos de imagen se transmiten utilizando un medio, tal como una línea de banda ancha cableada/inalámbrica convencional, o los datos de imagen se almacenan utilizando un medio de almacenamiento existente, se incrementan el coste de transmisión y el coste de almacenamiento de los mismos.
Por consiguiente, existe la necesidad de una técnica de compresión de imágenes muy eficiente para transmitir, almacenar y reproducir de forma eficiente información de imágenes de alta resolución y alta calidad.
El documento ("Codificación de Video Versátil (Borrador 1)", JVET-J1001, XP030151305) describe aspectos de la sintaxis de alto nivel para (“Versatile Video Coding”) Codificación de Video Versátil (VVC) para controlar un proceso de codificación para un nivel de secuencia, un nivel de imagen y un nivel de porción.
El documento ("Descripción del Experimento principal 1 (CE1): Partición", JVET-J1021, XP030248337) describe los parámetros de configuración de una división en un encabezado de secuencia y la derivación de los modos de división, incluidos BI_VER_SPLIT, BI_HOR_SPLIT, TRI_VER_SPLIT y TRI HOR SPLIT.
Compendio
Un objeto de la presente descripción es proporcionar un método y un aparato para mejorar la eficiencia de la codificación de imágenes.
Otro objeto de la presente descripción es proporcionar un método y un aparato para mejorar la eficiencia de una codificación de imágenes basada en CABAC.
Otro objeto más de la presente descripción es proporcionar un método y un aparato para determinar una estructura de bloques y una división de bloques en base a una estructura de árbol cuádruple (QT), una estructura de árbol binario (BT) y una estructura de árbol ternario (TT) en un proceso de compresión de una imagen.
Otro objeto más de la presente descripción es proporcionar un método y un aparato para codificar y descodificar una imagen de manera más eficiente utilizando un modelo de contexto, cuando se realiza una codificación de entropía según CABAC basada en la estructura de QT, la estructura de BT y la estructura de TT.
Las realizaciones preferidas de la presente invención se proporcionan como se define en las reivindicaciones adjuntas, mediante las cuales se va a establecer el alcance de la protección. Una realización ejemplar de la presente invención proporciona un método de descodificación de imágenes realizado por un aparato de descodificación según la reivindicación 1.
Otra realización ejemplar más de la presente invención proporciona un método de codificación de imágenes realizado por un aparato de codificación según la reivindicación 7.
Otra realización ejemplar más de la presente invención proporciona un medio de almacenamiento legible por ordenador que almacena un flujo de bits generado por un método según la reivindicación 14. Otra realización ejemplar de la presente descripción proporciona un método que comprende obtener un flujo de bits generado según la reivindicación 15.
La presente descripción puede mejorar la eficiencia total de compresión de imagen/vídeo.
La presente descripción puede mejorar la eficiencia de la codificación de imágenes basada en la predicción interna.
La presente descripción puede mejorar la eficiencia de la codificación de imágenes basada en el CABAC.
La presente descripción puede mejorar el retraso de la canalización, al implementar la predicción interna basada en el CCLM en el hardware.
La presente descripción puede determinar la estructura de bloques y la división de bloques en base a la estructura de árbol cuádruple (QT), la estructura de árbol binario (BT) y la estructura de árbol ternario (TT) en el proceso de compresión de la imagen.
La presente descripción puede codificar y descodificar la imagen de manera más eficiente utilizando el modelo de contexto, al realizar la codificación de entropía según el CABAC en base a la estructura de QT, la estructura de BT y la estructura de TT.
Breve descripción de los dibujos
La FIG. 1 es un diagrama para explicar esquemáticamente una configuración de un aparato de codificación según una realización ejemplar.
La FIG. 2 es un diagrama para explicar esquemáticamente una configuración de un aparato de descodificación según la realización ejemplar.
Las FIGS. 3A a 3C son diagramas que ilustran ejemplos de una división de QT, una división de BT y una división de TT.
La FIG. 4 es un diagrama de bloques que ilustra una configuración de un codificador de entropía.
La FIG. 5 es un diagrama de bloques que ilustra una configuración de un descodificador de entropía.
La FIG. 6 es un diagrama de flujo que ilustra una operación del codificador de entropía.
La FIG. 7 es un diagrama de flujo que ilustra una operación del descodificador de entropía.
La FIG.8 es un diagrama de flujo que ilustra una operación del aparato de codificación según la realización ejemplar.
La FIG. 9 es un diagrama de bloques que ilustra una configuración del aparato de codificación según la realización ejemplar.
La FIG. 10 es un diagrama de flujo que ilustra una operación del aparato de descodificación según la realización ejemplar.
La FIG. 11 es un diagrama de bloques que ilustra una configuración del aparato de descodificación según la realización ejemplar.
La FIG. 12 es un diagrama de estructura del sistema de transmisión de contenido según la realización ejemplar.
Descripción de realizaciones ejemplares
Una realización ejemplar de la presente descripción proporciona un método de descodificación de imágenes realizado por un aparato de descodificación. El método incluye: derivar un índice de contexto para un elemento de sintaxis de indicador de división en base a la información de disponibilidad de división de un bloque actual, determinar un modelo de contexto en base al índice de contexto derivado, descodificar un valor del elemento de sintaxis de indicador de división en base a la codificación aritmética binaria adaptativa basada en el contexto (CABAC) utilizando el modelo de contexto determinado, derivar una unidad de codificación actual del bloque actual en base al valor del elemento de sintaxis de indicador de división, derivar un bloque predicho en base a la predicción interna o la predicción interna para la unidad de codificación actual y generar un bloque reconstruido en base al bloque predicho, en el que el elemento de sintaxis de indicador de división incluye un indicador de división direccional que representa si el bloque actual está dividido verticalmente; la información de disponibilidad de división incluye información de indicador disponible de división horizontal de BT que representa si el bloque actual se puede dividir horizontalmente en base a una estructura de árbol binario (BT), información de indicador disponible de división horizontal de TT que representa si el bloque actual se puede dividir horizontalmente en base al árbol ternario (TT), información de indicador disponible de división vertical de BT que representa si el bloque actual se puede dividir verticalmente en base a la estructura de BT, e información de indicador disponible de división vertical de TT que representa si el bloque actual se puede dividir verticalmente en base a la estructura de TT; y el índice de contexto para el indicador de división direccional se obtiene en base a una cantidad de indicadores disponibles de división horizontal y una cantidad de indicadores disponibles de división vertical basadas en la información de indicador disponible de división horizontal BT, la información de indicador disponible de división horizontal de TT, la información de indicador disponible de división vertical de BT, y la información de indicador disponible de división vertical de TT.
Las realizaciones ejemplares específicas se ilustrarán en los dibujos y se describirán en detalle.
Mientras tanto, los elementos en los dibujos descritos en la descripción se dibujan de forma independiente con el fin de facilitar la explicación de diferentes funciones específicas, y no significa que los elementos estén incorporados por hardware o software independiente. Por ejemplo, se pueden combinar dos o más elementos de los elementos para formar un solo elemento, o se puede dividir un elemento en varios elementos. Las realizaciones en las que los elementos están combinados y/o divididos pertenecen a la invención tal como se define en las reivindicaciones.
La siguiente descripción se refiere a una codificación de vídeo/imagen. Por ejemplo, el método/realizaciones ejemplares descritos en este documento pueden aplicarse a un método descrito en un estándar de codificación de video versátil (VVC), un estándar de codificación de video esencial (EVC), un estándar AOMedia Video 1 (AV1), un estándar de 2a generación del estándar de codificación de audio y video (AVS2), o un estándar de codificación de video/imagen de última generación (p. ej., H.267, H.268 o similar).
De aquí en adelante, se describirán en detalle ejemplos de la presente realización con referencia a los dibujos adjuntos. Además, se utilizan números de referencia similares para indicar elementos similares a lo largo de los dibujos, y se omitirán las mismas descripciones de los elementos similares.
En la presente descripción, un video puede significar un conjunto de una serie de imágenes según el paso del tiempo. En general, una imagen significa una unidad que representa una imagen en un momento específico, una porción es una unidad que constituye una parte de la imagen. Una imagen puede estar compuesta de varias porciones, y los términos de una imagen y una porción pueden mezclarse entre sí según lo requiera la ocasión.
Un píxel o un pel puede significar una unidad mínima que constituye una imagen digital (o imagen). Además, una “muestra” puede utilizarse como un término correspondiente a un píxel. La muestra puede representar generalmente un píxel o un valor de un píxel, puede representar solo un píxel (un valor de píxel) de un componente de luminancia y puede representar solo un píxel (un valor de píxel) de un componente de crominancia.
Una unidad indica una unidad básica de procesamiento de imágenes. La unidad puede incluir al menos uno de un área específica e información acerca del área. Opcionalmente, la unidad se puede mezclar con términos tales como un bloque, un área o similares. En un caso típico, un bloque MxN puede representar un conjunto de muestras o coeficientes de transformación dispuestos en M columnas y N filas.
La FIG. 1 es un diagrama que ilustra brevemente una estructura de un aparato de codificación al que es aplicable la presente descripción. De aquí en adelante, un aparato de codificación/descodificación puede incluir un aparato de codificación/descodificación de vídeo y/o un aparato de codificación/descodificación de imágenes, y el aparato de codificación/descodificación de vídeo puede utilizarse como un concepto que comprende el aparato de codificación/descodificación de imágenes, o el aparato de codificación/descodificación de imágenes puede utilizarse como un concepto que comprende el aparato de codificación/descodificación de video.
Con referencia a la FIG. 1, un aparato 100 de codificación de video puede incluir un divisor 105 de imágenes, un predictor 110, un procesador residual 120, un codificador 130 de entropía, un sumador 140, un filtro 150 y una memoria 160. El procesador residual 120 puede incluir un sustractor 121, un transformador 122, un cuantificador 123, un reorganizador 124, un dispositivo 125 para descuantificar, un transformador inverso 126.
El divisor 105 de imágenes puede dividir una imagen de entrada en al menos una unidad de procesamiento.
En un ejemplo, la unidad de procesamiento puede denominarse unidad de codificación (CU). En este caso, la unidad de codificación se puede dividir de forma recurrente de la unidad de codificación más grande (LCU) según una estructura de árbol binario de árbol cuádruple (QTBT). Por ejemplo, una unidad de codificación se puede dividir en una pluralidad de unidades de codificación de mayor profundidad en base a una estructura de árbol cuádruple, una estructura de árbol binario y/o una estructura de árbol ternario. En este caso, por ejemplo, la estructura de árbol cuádruple se puede aplicar primero y la estructura de árbol binario y la estructura de árbol ternario se pueden aplicar más tarde. Alternativamente, la estructura de árbol binario/estructura de árbol ternario se puede aplicar primero. El procedimiento de codificación según la presente realización se puede realizar en base a una unidad de codificación final que no se divide más. En este caso, la unidad de codificación más grande puede utilizarse como la unidad de codificación final en base a la eficiencia de codificación, o similar, dependiendo de las características de la imagen, o la unidad de codificación se puede dividir de forma recurrente en unidades de codificación de menor profundidad según sea necesario y una unidad de codificación que tenga un tamaño óptimo puede utilizarse como la unidad de codificación final. Aquí, el procedimiento de codificación puede incluir un procedimiento tal como predicción, transformación y reconstrucción, que se describirá más adelante.
En otro ejemplo, la unidad de procesamiento puede incluir una unidad de codificación (CU), una unidad de predicción (PU) o un transformador (TU). La unidad de codificación se puede dividir desde la unidad de codificación más grande (LCU) en unidades de codificación de mayor profundidad según la estructura de árbol cuádruple. En este caso, la unidad de codificación más grande puede utilizarse directamente como la unidad de codificación final en base a la eficiencia de codificación, o similar, dependiendo de las características de la imagen, o la unidad de codificación se puede dividir de forma recurrente en unidades de codificación de mayor profundidad según sea necesario. y se puede utilizar una unidad de codificación que tenga un tamaño óptimo como una unidad de codificación final. Cuando se establece la unidad de codificación más pequeña (SCU), la unidad de codificación no se puede dividir en unidades de codificación menores que la unidad de codificación más pequeña. Aquí, la unidad de codificación final se refiere a una unidad de codificación que se divide o divide en una unidad de predicción o un transformador. La unidad de predicción es una unidad que se divide a partir de una unidad de codificación y puede ser una unidad de predicción de muestra. Aquí, la unidad de predicción se puede dividir en subbloques. El transformador se puede dividir a partir de la unidad de codificación según la estructura de árbol cuádruple y puede ser una unidad para derivar un coeficiente de transformación y/o una unidad para derivar una señal residual a partir del coeficiente de transformación. De aquí en adelante, la unidad de codificación puede denominarse bloque de codificación (CB), la unidad de predicción puede denominarse bloque de predicción (PB) y el transformador puede denominarse bloque de transformación (TB). El bloque de predicción o unidad de predicción puede hacer referencia a un área específica en forma de bloque en una imagen e incluir una matriz de muestras de predicción. Además, el bloque de transformación o transformador puede hacer referencia a un área específica en forma de bloque en una imagen e incluir el coeficiente de transformación o una matriz de muestras residuales.
El predictor 110 puede realizar una predicción en un bloque objetivo de procesamiento (de aquí en adelante, puede representar un bloque actual o un bloque residual), y puede generar un bloque predicho que incluye muestras de predicción para el bloque actual. Una unidad de predicción realizada en el predictor 110 puede ser un bloque de codificación, un bloque de transformación o un bloque de predicción.
El predictor 110 puede determinar si se aplica la predicción interna o si se aplican las entrepredicciones al bloque actual. Por ejemplo, el predictor 110 puede determinar si se aplica la predicción interna o las entrepredicciones en unidades de CU.
En el caso de la predicción interna, el predictor 110 puede derivar una muestra de predicción para el bloque actual en base a una muestra de referencia fuera del bloque actual en una imagen a la que pertenece el bloque actual (de aquí en adelante, una imagen actual). En este caso, el predictor 110 puede derivar la muestra de predicción en base a un promedio o interpolación de muestras de referencia vecinas del bloque actual (caso (I)), o puede derivar la muestra de predicción en base a una muestra de referencia existente en una dirección específica (predicción) en cuanto a una muestra de predicción entre las muestras de referencia vecinas del bloque actual (caso (ii)). El caso (a) puede denominarse modo no direccional o modo no angular, y el caso (ii) puede denominarse modo direccional o modo angular. En la predicción interna, los modos de predicción pueden incluir como ejemplo 33 modos direccionales y al menos dos modos no direccionales. Los modos no direccionales pueden incluir el modo DC y el modo plano. El predictor 110 puede determinar el modo de predicción que se va a aplicar al bloque actual utilizando el modo de predicción aplicado al bloque vecino.
En el caso de las entrepredicciones, el predictor 110 puede derivar la muestra de predicción para el bloque actual en base a una muestra especificada por un vector de movimiento en una imagen de referencia. El predictor 110 puede derivar la muestra de predicción para el bloque actual aplicando cualquiera de un modo de salto, un modo de fusión y un modo de predicción de vector de movimiento (MVP). En el caso del modo de salto y el modo de fusión, el predictor 110 puede utilizar información de movimiento del bloque vecino como información de movimiento del bloque actual. En el caso del modo de salto, a diferencia del modo de fusión, no se transmite una diferencia (residual) entre la muestra de predicción y una muestra original. En el caso del modo MVP, se utiliza un vector de movimiento del bloque vecino como predictor de vector de movimiento para derivar un vector de movimiento del bloque actual.
En el caso de las entrepredicciones, el bloque vecino puede incluir un bloque vecino espacial existente en la imagen actual y un bloque vecino temporal existente en la imagen de referencia. La imagen de referencia que incluye el bloque vecino temporal también puede denominarse imagen colocada (colPic). La información de movimiento puede incluir el vector de movimiento y un índice de imagen de referencia. La información tal como la información del modo de predicción y la información de movimiento puede codificarse (entropía) y luego emitirse como una forma de flujo de bits.
Cuando se utiliza información de movimiento de un bloque vecino temporal en el modo de salto y el modo de fusión, la imagen más alta en una lista de imágenes de referencia puede utilizarse como imagen de referencia. Las imágenes de referencia incluidas en la lista de imágenes de referencia pueden alinearse en base a una diferencia de recuento de orden de imágenes (POC) entre una imagen actual y una imagen de referencia correspondiente. Un POC corresponde a un orden de visualización y puede diferenciarse de un orden de codificación.
El sustractor 121 genera una muestra residual que es una diferencia entre una muestra original y una muestra de predicción. Si se aplica el modo de salto, es posible que la muestra residual no se genere como se describe anteriormente.
El transformador 122 transforma muestras residuales en unidades de un bloque de transformación para generar un coeficiente de transformación. El transformador 122 puede realizar la transformación en base al tamaño de un bloque de transformación correspondiente y un modo de predicción aplicado a un bloque de codificación o bloque de predicción que se superpone espacialmente con el bloque de transformación. Por ejemplo, las muestras residuales se pueden transformar utilizando el núcleo de transformación de la transformada de seno discreta (DST) si se aplica la predicción interna al bloque de codificación o el bloque de predicción se superpone con el bloque de transformación y el bloque de transformación es una matriz residual de 4x4 y se transforma utilizando el núcleo de transformación de la transformada de coseno discreta (DCT) en otros casos.
El cuantificador 123 puede cuantificar los coeficientes de transformación para generar coeficientes de transformación cuantificados.
El reorganizador 124 reorganiza los coeficientes de transformación cuantificados. El reorganizador 124 puede reorganizar los coeficientes de transformación cuantificados en forma de bloque en un vector unidimensional a través de un método de escaneo de coeficientes. Aunque el reorganizador 124 se describe como un componente separado, el reorganizador 124 puede ser parte del cuantificador 123.
El codificador 130 de entropía puede realizar la codificación de entropía en los coeficientes de transformación cuantificados. La codificación de entropía puede incluir un método de codificación, por ejemplo, un Golomb exponencial, una codificación de longitud variable adaptativa al contexto (CAVLC), una codificación aritmética binaria adaptativa al contexto (CABAC), o similares. El codificador 130 de entropía puede realizar la codificación, según una codificación de entropía o según un método preconfigurado, junto o por separado en la información (p. ej., un valor de elemento de sintaxis o similar) requerida para la reconstrucción de video además de los coeficientes de transformación cuantificados. La información codificada por entropía puede transmitirse o almacenarse en una unidad de una capa de abstracción de red (NAL) en forma de flujo de bits. El flujo de bits puede transmitirse a través de una red o almacenarse en un medio de almacenamiento digital. Aquí, la red puede incluir una red de transmisión o una red de comunicaciones, el medio de almacenamiento digital puede incluir diferentes medios de almacenamiento tales como USB, SD, CD, DVD, blue-ray, HDD, SDD, etc.
El descuantificador 125 descuantifica los valores (coeficientes de transformación) cuantificados por el cuantificador 123 y el transformador inverso 126 transforma inversamente los valores descuantificados por el descuantificador 125 para generar una muestra residual.
El sumador 140 añade una muestra residual a una muestra de predicción para reconstruir una imagen. La muestra residual puede añadirse a la muestra de predicción en unidades de un bloque para generar un bloque reconstruido. Aunque el sumador 140 se describe como un componente separado, el sumador 140 puede ser parte del predictor 110. Mientras tanto, el sumador 140 puede denominarse reconstructor o generador de bloques reconstruidos.
El filtro 150 puede aplicar filtrado de desbloqueo y/o un desplazamiento adaptativo de la muestra a la imagen reconstruida. Los artefactos en un límite de bloque en la imagen reconstruida o la distorsión en la cuantificación pueden corregirse a través del filtrado de desbloqueo y/o el desplazamiento adaptativo de la muestra. El desplazamiento adaptativo de la muestra se puede aplicar en unidades de una muestra después de completar el filtrado de desbloqueo. El filtro 150 puede aplicar un filtro de bucle adaptativo (ALF) a la imagen reconstruida. El ALF puede aplicarse a la imagen reconstruida a la que se ha aplicado el filtrado de desbloqueo y/o el desplazamiento adaptativo de la muestra.
La memoria 160 puede almacenar una imagen reconstruida (imagen descodificada) o información necesaria para la codificación/descodificación. Aquí, la imagen reconstruida puede ser la imagen reconstruida filtrada por el filtro 150. La imagen reconstruida almacenada puede utilizarse como una imagen de referencia para las (entre) predicciones de otras imágenes. Por ejemplo, la memoria 160 puede almacenar imágenes (de referencia) utilizadas para las entrepredicciones. Aquí, las imágenes utilizadas para las entrepredicciones pueden designarse según un conjunto de imágenes de referencia o una lista de imágenes de referencia.
La FIG. 2 es un diagrama que ilustra brevemente una estructura de un aparato de descodificación de vídeo/imagen al que es aplicable la presente descripción. De aquí en adelante, un aparato de descodificación de video puede incluir un aparato de descodificación de imágenes.
Con referencia a la FIG. 2, un aparato 200 de descodificación de video puede incluir un descodificador 210 de entropía, un procesador residual 220, un predictor 230, un sumador 240, un filtro 250 y una memoria 260. El procesador residual 220 puede incluir un reorganizador 221, un descuantificador 222, un transformador inverso 223. Además, aunque no se representa, el aparato 200 de descodificación de video puede incluir un receptor para recibir un flujo de bits que incluye información de video. El receptor se puede configurar como un módulo separado o se puede incluir en el descodificador 210 de entropía.
Cuando se introduce un flujo de bits que incluye información de video/imagen, el aparato 200 de descodificación de video puede reconstruir un video/imagen/imagen en asociación con un proceso mediante el cual se procesa la información de video en el aparato de codificación de video.
Por ejemplo, el aparato 200 de descodificación de video puede realizar la descodificación de video utilizando una unidad de procesamiento aplicada en el aparato de codificación de video. Así, el bloque de unidades de procesamiento de descodificación de vídeo puede ser, por ejemplo, una unidad de codificación y, en otro ejemplo, una unidad de codificación, una unidad de predicción o un transformador. La unidad de codificación puede separarse de la unidad de codificación más grande según la estructura de árbol cuádruple y/o la estructura de árbol binario y/o la estructura de árbol ternario.
Una unidad de predicción y un transformador pueden utilizarse además en algunos casos, y en este caso, el bloque de predicción es un bloque derivado o dividido de la unidad de codificación y puede ser una unidad de predicción de muestra. Aquí, la unidad de predicción se puede dividir en subbloques. El transformador puede separarse de la unidad de codificación según la estructura de árbol cuádruple y puede ser una unidad que obtenga un coeficiente de transformación o una unidad que obtenga una señal residual del coeficiente de transformación.
El descodificador 210 de entropía puede analizar el flujo de bits para dar salida a la información requerida para la reconstrucción de video o la reconstrucción de imágenes. Por ejemplo, el descodificador 210 de entropía puede descodificar información en el flujo de bits en base a un método de codificación tal como la codificación Golomb exponencial, CAVLC, CABAC o similar, y puede emitir un valor de un elemento de sintaxis requerido para la reconstrucción de video y un valor cuantificado de un coeficiente de transformación con respecto a uno residual.
Más específicamente, un método de descodificación de entropía CABAC puede recibir una clase correspondiente a cada elemento de sintaxis en un flujo de bits, determinar un modelo de contexto utilizando la información del elemento de sintaxis objetivo de descodificación y la información de descodificación de los bloques objetivo de descodificación vecinos o la información del símbolo/clase descodificado en una etapa anterior, predecir la probabilidad de generación de clases según el modelo de contexto determinado y realizar la descodificación aritmética de la clase para generar un símbolo correspondiente a cada valor de elemento de sintaxis. Aquí, el método de descodificación de entropía CABAC puede actualizar el modelo de contexto utilizando información de un símbolo/clase descodificado para un modelo de contexto del siguiente símbolo/clase después de la determinación del modelo de contexto.
La información acerca de la predicción entre la información descodificada en el descodificador 210 de entropía se puede proporcionar al predictor 250 y los valores residuales, es decir, los coeficientes de transformación cuantificados, en los que el descodificador 210 de entropía ha realizado la descodificación de entropía se pueden introducir en el reorganizador 221.
El reorganizador 221 puede reorganizar los coeficientes de transformación cuantificados en una forma de bloque bidimensional. El reorganizador 221 puede realizar la reorganización correspondiente al escaneo de coeficientes realizado por el aparato de codificación. Aunque el reorganizador 221 se describe como un componente separado, el reorganizador 221 puede ser parte del descuantificador 222.
El descuantificador 222 puede descuantificar los coeficientes de transformación cuantificados en base a un parámetro de (des)cuantificación para emitir un coeficiente de transformación. En este caso, la información para derivar un parámetro de cuantificación puede señalizarse desde el aparato de codificación.
El transformador inverso 223 puede transformar inversamente los coeficientes de transformación para derivar muestras residuales.
El predictor 230 puede realizar una predicción en un bloque actual y puede generar un bloque predicho que incluye muestras de predicción para el bloque actual. Una unidad de predicción realizada en el predictor 230 puede ser un bloque de codificación o puede ser un bloque de transformación o puede ser un bloque de predicción.
El predictor 230 puede determinar si aplicar la predicción interna o las entrepredicciones en base a la información de una predicción. En este caso, una unidad para determinar cuál se utilizará entre la predicción interna y las entrepredicciones puede ser diferente de una unidad para generar una muestra de predicción. Además, una unidad para generar la muestra de predicción también puede ser diferente en las entrepredicciones y la predicción interna. Por ejemplo, cuál se aplicará entre las entrepredicciones y la predicción interna puede determinarse en unidades de CU. Además, por ejemplo, en las entrepredicciones, la muestra de predicción puede generarse determinando el modo de predicción en unidades de PU, y en la predicción interna, la muestra de predicción puede generarse en unidades de TU determinando el modo de predicción en unidades de PU.
En el caso de la predicción interna, el predictor 230 puede derivar una muestra de predicción para un bloque actual en base a una muestra de referencia vecina en una imagen actual. El predictor 230 puede derivar la muestra de predicción para el bloque actual aplicando un modo direccional o un modo no direccional en base a la muestra de referencia vecina del bloque actual. En este caso, un modo de predicción que se va a aplicar al bloque actual puede determinarse utilizando un modo de predicción interna de un bloque vecino.
En el caso de las entrepredicciones, el predictor 230 puede derivar una muestra de predicción para un bloque actual en base a una muestra especificada en una imagen de referencia según un vector de movimiento. El predictor 230 puede derivar la muestra de predicción para el bloque actual utilizando uno de los modos de salto, el modo de fusión y el modo MVP. Aquí, la información de movimiento requerida para las entrepredicciones del bloque actual proporcionada por el aparato de codificación de video, por ejemplo, un vector de movimiento e información acerca de un índice de imagen de referencia, se puede adquirir o derivar en base a la información acerca de la predicción.
En el modo de salto y el modo de fusión, la información de movimiento de un bloque vecino puede utilizarse como información de movimiento del bloque actual. Aquí, el bloque vecino puede incluir un bloque vecino espacial y un bloque vecino temporal.
El predictor 230 puede construir una lista de candidatos de fusión utilizando información de movimiento de bloques vecinos disponibles y utilizar información indicada por un índice de fusión en la lista de candidatos de fusión como un vector de movimiento del bloque actual. El índice de fusión puede ser señalizado por el aparato de codificación. La información de movimiento puede incluir un vector de movimiento y una imagen de referencia. En el modo de salto y el modo de fusión, una imagen ordenada en primer lugar en la lista de imágenes de referencia puede utilizarse como imagen de referencia cuando se utiliza información de movimiento de un bloque vecino temporal.
En el caso del modo de salto, no se transmite una diferencia (residual) entre una muestra de predicción y una muestra original, a diferencia del modo de fusión.
En el caso del modo MVP, el vector de movimiento del bloque actual se puede derivar utilizando un vector de movimiento de un bloque vecino como predictor de vector de movimiento. Aquí, el bloque vecino puede incluir un bloque vecino espacial y un bloque vecino temporal.
Cuando se aplica el modo de fusión, por ejemplo, se puede generar una lista de candidatos de fusión utilizando un vector de movimiento de un bloque vecino espacial reconstruido y/o un vector de movimiento correspondiente a un bloque Col que es un bloque vecino temporal. Un vector de movimiento de un bloque candidato seleccionado de la lista de candidatos de fusión se utiliza como el vector de movimiento del bloque actual en el modo de fusión. La información antes mencionada acerca de la predicción puede incluir un índice de fusión que indica un bloque candidato que tiene el mejor vector de movimiento seleccionado de los bloques candidatos incluidos en la lista de candidatos de fusión. Aquí, el predictor 230 puede derivar el vector de movimiento del bloque actual utilizando el índice de fusión.
Cuando se aplica el modo MVP ((“Motion Vector Prediction”) Predicción de Vector de Movimiento) como otro ejemplo, se puede generar una lista de candidatos de predicción de vector de movimiento utilizando un vector de movimiento de un bloque vecino espacial reconstruido y/o un vector de movimiento correspondiente a un bloque Col que es un bloque vecino temporal. Es decir, el vector de movimiento del bloque vecino espacial reconstruido y/o el vector de movimiento correspondiente al bloque Col que es el bloque vecino temporal pueden utilizarse como candidatos de vector de movimiento. La información antes mencionada acerca de la predicción puede incluir un índice de vector de movimiento de predicción que indica el mejor vector de movimiento seleccionado de entre los candidatos de vector de movimiento incluidos en la lista. Aquí, el predictor 230 puede seleccionar un vector de movimiento de predicción del bloque actual de entre los candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento utilizando el índice de vector de movimiento. El predictor del aparato de codificación puede obtener una diferencia de vector de movimiento (MVD) entre el vector de movimiento del bloque actual y un predictor de vector de movimiento, codificar el MVD y emitir el MVD codificado en forma de flujo de bits. Es decir, el MVD puede obtenerse restando el predictor de vector de movimiento del vector de movimiento del bloque actual. Aquí, el predictor 230 puede adquirir un vector de movimiento incluido en la información acerca de la predicción y derivar el vector de movimiento del bloque actual añadiendo la diferencia de vector de movimiento al predictor de vector de movimiento. Además, el predictor puede obtener o derivar un índice de imágenes de referencia que indique una imagen de referencia a partir de la información antes mencionada acerca de la predicción.
El sumador 240 puede añadir una muestra residual a una muestra de predicción para reconstruir un bloque actual o una imagen actual. El sumador 240 puede reconstruir la imagen actual añadiendo la muestra residual a la muestra de predicción en unidades de un bloque. Cuando se aplica el modo de salto, no se transmite un residuo y, por lo tanto, la muestra de predicción puede convertirse en una muestra reconstruida. Aunque el sumador 240 se describe como un componente separado, el sumador 240 puede ser parte del predictor 230. Mientras tanto, el sumador 240 puede denominarse un generador de bloques reconstruidos reconstructor.
El filtro 250 puede aplicar filtrado de desbloqueo, desplazamiento adaptativo de muestra y/o ALF a la imagen reconstruida. Aquí, el desplazamiento adaptativo de la muestra se puede aplicar en unidades de una muestra después del filtrado de desbloqueo. El ALF puede aplicarse después del filtrado de desbloqueo y/o la aplicación del desplazamiento adaptativo de la muestra.
La memoria 260 puede almacenar una imagen reconstruida (imagen descodificada) o información necesaria para la descodificación. Aquí, la imagen reconstruida puede ser la imagen reconstruida filtrada por el filtro 250. Por ejemplo, la memoria 260 puede almacenar imágenes utilizadas para las entrepredicciones. Aquí, las imágenes utilizadas para las entrepredicciones pueden designarse según un conjunto de imágenes de referencia o una lista de imágenes de referencia. Una imagen reconstruida puede utilizarse como imagen de referencia para otras imágenes. La memoria 260 puede emitir imágenes reconstruidas en un orden de salida.
Mientras tanto, como se describió anteriormente, al realizar la codificación de video, se realiza la predicción para mejorar la eficiencia de la compresión. A través de esto, se puede generar un bloque predicho que incluye muestras de predicción para un bloque actual como un bloque que se ha de codificar (es decir, un bloque objetivo de codificación). Aquí, el bloque predicho incluye muestras de predicción en un dominio espacial (o dominio de píxeles). El bloque predicho se deriva de la misma manera en un aparato de codificación y un aparato de descodificación, y el aparato de codificación puede señalar información (información residual) sobre el residuo entre el bloque original y el bloque predicho, en lugar de un valor de muestra original de un bloque original, al aparato de descodificación, aumentando así la eficiencia de codificación de imágenes. El aparato de descodificación puede derivar un bloque residual que incluye muestras residuales en base a la información residual, añadir el bloque residual y el bloque predicho para generar bloques reconstruidos que incluyen muestras reconstruidas y generar una imagen reconstruida que incluye los bloques reconstruidos.
La información residual puede generarse a través de un procedimiento de transformación y cuantificación. Por ejemplo, el aparato de codificación puede derivar un bloque residual entre el bloque original y el bloque predicho, realizar un procedimiento de transformación en muestras residuales (matriz de muestras residuales) incluidas en el bloque residual para derivar coeficientes de transformación, realizar un procedimiento de cuantificación en los coeficientes de transformación para derivar coeficientes de transformación cuantificados e información residual relacionada con la señal al aparato de descodificación (a través de un flujo de bits). Aquí, la información residual puede incluir información de valor de los coeficientes de transformación cuantificados, información de posición, una técnica de transformación, un núcleo de transformación, un parámetro de cuantificación y similares. El aparato descodificador puede realizar un procedimiento de descuantificación/transformación inversa en base a la información residual y derivar muestras residuales (o bloques residuales). El aparato de descodificación puede generar una imagen reconstruida basada en el bloque predicho y el bloque residual. Además, como referencia para las entrepredicciones de una imagen posterior, el aparato de codificación también puede descuantificar/transformar inversamente los coeficientes de transformación cuantificados para derivar un bloque residual y generar una imagen reconstruida basada en él.
Las FIGS. 3A a 3C son diagramas que ilustran ejemplos de una división de QT, una división de BT y una división de TT.
En una codificación de video, un bloque se puede dividir en base a un árbol cuádruple (QT). Además, un subbloque dividido por el QT se puede dividir aún más de forma recurrente utilizando el QT. Un bloque de hoja que ya no está dividido por el QT se puede dividir mediante un árbol binario (BT), un árbol ternario (TT), un árbol de franjas (ST) o similares. El BT puede tener dos formas de división, tales como un BT horizontal (2NxN, 2NxN) y un BT vertical (Nx2N, Nx2N). El TT puede tener dos formas de división, tales como un TT horizontal (2Nxl/2N, 2NxN, 2Nxl/2N) y un TT vertical (1/2Nx2N, Nx2N, 1/2Nx2N). El ST puede tener dos formas de divisiones, tales como un ST horizontal (2Nxl/2N, 2Nxl/2N, 2Nx1/2N, 2Nxl/2N) y un ST vertical (1/2Nx2N, 1/2Nx2N, 1/2Nx2N, 1/2Nx2N)). Cada uno de los BT, TT y ST se puede dividir aún más de forma recurrente utilizando BT, TT y ST.
La FIG. 3A ilustra un ejemplo de la división QT. Un bloque A se puede dividir en cuatro subbloques (A0, A1, A2, A3) por el QT. El subbloque A1 se puede dividir nuevamente en cuatro subbloques (B0, B1, B2, B3) por el QT.
La FIG. 3B ilustra un ejemplo de la división BT. El bloque B3 que ya no está dividido por el QT se puede dividir en un BT vertical (C0, C1) o un BT horizontal (D0, D1). Al igual que el bloque C0, cada subbloque se puede dividir aún más de forma recurrente como la forma de un BT horizontal (E0, E1) o un BT vertical (F0, F1).
La FIG. 3C ilustra un ejemplo de la división de TT. El bloque B3 que ya no está dividido por el QT se puede dividir en un TT vertical (C0, C1, C2) o un TT horizontal (D0, D1, D2). Al igual que el bloque C1, cada subbloque se puede dividir aún más de forma recurrente como la forma de un TT horizontal (E0, E1, E2) o un TT vertical (F0, F1, F2).
La Tabla 1 a continuación expresa un ejemplo de codificación de sintaxis de árbol cuádruple, en el caso de utilizar BT y TT.
Tabla 1
Figure imgf000009_0001
Un elemento de sintaxis split_qt_flag representa si un bloque actual (codificación) se divide en cuatro por el QT. Cuando un valor del split_qt_flag es 0, significa que el bloque actual no está dividido por el QT, y cuando el valor del split_qt_flag es 1, significa que el bloque actual está dividido por el QT. El x0 y el y0 representan una ubicación superior izquierda de una imagen de luminancia.
La presente memoria descriptiva utiliza términos o frases específicos para definir información o conceptos específicos. Por ejemplo, la presente memoria descriptiva utiliza términos u frases específicos para definir un elemento de sintaxis específico. Como ejemplo, la presente memoria descriptiva define el elemento de sintaxis que representa si el bloque actual (codificación) se divide en 4 por el QT como "split_qt_flag", y define un elemento de sintaxis que representa si el bloque actual (codificación) se divide aún más como un "split_fur_flag". Sin embargo, "split_qt_flag" se puede reemplazar con diferentes términos, tales como qt_split_flag y QT split flag, y "split_fur_flag" se puede reemplazar con diferentes términos, tales como further_split_flag y fur_split_flag, de tal manera que los términos u frases específicos utilizados para definir la información o el concepto específico en la presente memoria descriptiva no debería interpretarse como limitado a esos nombres a lo largo de la memoria descriptiva, y debe interpretarse centrándose en diferentes operaciones, funciones y efectos según los contenidos representados por los términos.
La Tabla 2 a continuación expresa un ejemplo de las sintaxis para el árbol de codificación.
Tabla 2
Figure imgf000010_0001
El elemento de sintaxis split fur_flag representa si el bloque actual (codificación) se divide aún más. Cuando un valor del split_fur_flag es 0, significa que el bloque actual ya no está dividido, y cuando el valor de split_fur_flag es 1, significa que el bloque actual está dividido. El elemento de sintaxis split_bt_flag representa si el bloque actual se divide en base al BT o al TT. Cuando un valor de split_bt_flag es 1, significa que el bloque actual se divide en base al BT, y cuando el valor de split_bt_flag es 0, significa que el bloque actual se divide en base al TT.
Un tipo de división (SplitType) del bloque actual puede determinarse como se expresa en la Tabla 3 a continuación en base al elemento de sintaxis split_fur_flag y el elemento de sintaxis split_bt_flag.
Tabla 3
Figure imgf000010_0002
Con referencia a la Tabla 3, cuando el valor de split_fur_flag es 0 y el bloque actual ya no se divide, se puede confirmar que SplitType se determina como NO_SPLIT. Además, cuando el valor de split_fur_flag es 1 y el bloque actual está dividido, se puede confirmar que SplitType se determina como BT cuando el valor de split_bt_flag es 1, y SplitType se determina como TT cuando el valor del split_bt_flag es 0.
El elemento de sintaxis split_dir representa una dirección en la que se divide el bloque actual. Cuando un valor de split_dir es 0, significa que el bloque actual está dividido horizontalmente, y cuando el valor de split_dir es 1, significa que el bloque actual está dividido verticalmente. Se puede inducir un modo de división (SplitMode) del bloque como se expresa en la Tabla 4 a continuación, en base a SplitType y split_dir.
Tabla 4
Figure imgf000011_0001
Con referencia a la Tabla 4, cuando SpIitType es BT, se puede confirmar que SpIitMode se determina como el PART_BT_HOR, es decir, el modo de división horizontal BT cuando el valor del split dir es 0, y SplitMode se determina como el PART_BT_VER, es decir, el modo de división vertical BT cuando el valor de split dir es 1. Además, cuando SplitType es TT, se puede confirmar que SplitMode se determina como PART_TT_HOR, es decir, el modo de división horizontal de TT cuando el valor de split dir es 0, y SplitMode se determina como PART_TT_VER, es decir, el modo de división vertical de TT cuando el valor del split dir es 1.
Cuando la región de cada imagen se divide en la estructura de QT, el codificador y el descodificador pueden transmitir el elemento de sintaxis ajustando el grado de división del QT teniendo en cuenta la relación entre el rendimiento y la complejidad. Por ejemplo, pueden transmitirse los elementos de sintaxis tales como el tamaño máximo del bloque de QT (MaxQTSize), el tamaño mínimo del bloque de QT (MinQTSize) y la profundidad máxima de división del bloque de QT (MaxQTDepth). Aquí, el tamaño máximo del bloque QT puede significar el tamaño del bloque máximo dividido primero por el QT, y expresarse en forma de escala log2. El tamaño mínimo de bloque de QT puede significar el tamaño del bloque más pequeño por la división de QT, y expresarse en forma de escala log2. Además, la profundidad máxima de división de QT puede significar cuántas veces se permiten divisiones de QT a partir del tamaño máximo de bloque de QT.
Cuando la región de cada imagen se divide en la estructura QT y luego el bloque se divide en la estructura de BT, el codificador y el descodificador pueden transmitir el elemento de sintaxis ajustando el grado de división del BT teniendo en cuenta la relación entre el rendimiento y la complejidad. Por ejemplo, pueden transmitirse los elementos de sintaxis tales como el tamaño máximo del bloque de BT (MaxBTSize), el tamaño mínimo del bloque de BT (MinBTSize) y la profundidad máxima de división del bloque de BT (MaxBTDepth). Más específicamente, el tamaño máximo del bloque de BT puede significar el tamaño del bloque máximo en el que primero se permite la división de BT, y se expresa en forma de escala log2. El tamaño mínimo de bloque de BT puede significar el tamaño del bloque más pequeño por la división de BT y expresarse en forma de escala log2. Además, la profundidad máxima de división de BT puede significar cuántas veces se permiten divisiones de BT a partir del tamaño máximo de bloque de BT.
Cuando la región de cada imagen se divide en la estructura de QT y luego el bloque se divide en la estructura de TT, el codificador y el descodificador pueden transmitir el elemento de sintaxis ajustando el grado de división del TT teniendo en cuenta la relación entre rendimiento y complejidad. Por ejemplo, pueden transmitirse los elementos de sintaxis tales como el tamaño máximo del bloque de TT (MaxTTSize), el tamaño mínimo del bloque de TT (MinTTSize) y la profundidad máxima de división del bloque de TT (MaxTTDepth). Más específicamente, el tamaño máximo del bloque de TT puede significar el tamaño del bloque máximo en el que primero se permite la división de TT, y expresarse en forma de escala log2. El tamaño mínimo del bloque de TT puede significar el tamaño del bloque más pequeño por la división de TT, y expresarse en forma de escala log2. Además, la profundidad máxima de división de Tt puede significar cuántas veces se permiten divisiones de TT a partir del tamaño máximo del bloque de TT.
La FIG. 4 es un diagrama de bloques que ilustra una configuración de un codificador de entropía.
La FIG. 4 ilustra un diagrama de bloques esquemático del codificador de entropía al que se aplica la codificación aritmética binaria adaptativa basada en el contexto (CABAC).
Un codificador 400 de entropía al que se aplica la presente descripción incluye una unidad 410 de binarización, una unidad 420 de modelado de contexto, una unidad 430 de codificación aritmética binaria y una memoria 460, en la que la unidad 430 de codificación aritmética binaria puede incluir una unidad 440 de codificación binaria normal y una unidad 450 de codificación binaria de derivación. Aquí, la unidad 440 de codificación binaria normal y la unidad 450 de codificación binaria de derivación también pueden denominarse motor de codificación normal y motor de codificación de derivación, respectivamente.
La unidad 410 de binarización puede recibir la secuencia de símbolos de datos y realizar la binarización, emitiendo así una cadena de símbolos binarios (bin) compuesta por un valor binarizado de 0 o 1. La unidad 410 de binarización puede mapear los elementos de sintaxis con los símbolos binarios. Se pueden utilizar para la binarización varios procesos de binarización diferentes, por ejemplo, unario (U), unario truncado (TU), kth Exp-Golomb (EGk), procesos de longitud fija y similares. El proceso de binarización se puede seleccionar en base a la forma del elemento de sintaxis.
La cadena de clases emitida puede transmitirse a la unidad 420 de modelado de contexto.
La unidad 420 de modelado de contexto puede seleccionar la información de probabilidad necesaria para codificar el bloque actual de la memoria para transmitir la información de probabilidad a la unidad 430 de codificación aritmética binaria. Por ejemplo, la unidad 420 de modelado de contexto puede seleccionar una memoria de contexto en base a un elemento de sintaxis que se va a codificar y seleccionar la información de probabilidad necesaria para codificar el elemento de sintaxis actual a través de un índice de clase (binIdx). Aquí, el contexto significa información acerca de la probabilidad de ocurrencia del símbolo, y el modelado de contexto puede significar un proceso de estimación de la probabilidad de la clase necesario para la codificación aritmética binaria al recibir la clase, que es el resultado de la binarización.
La unidad 420 de modelado de contexto puede proporcionar la estimación de probabilidad (precisa) necesaria para lograr una eficiencia de codificación mejorada. Por lo tanto, pueden utilizarse diferentes modelos de contexto para diferentes símbolos binarios y la probabilidad del modelo de contexto puede actualizarse en base a los valores del símbolo binario previamente codificado. En este momento, los valores del símbolo binario previamente codificado se almacenan en la memoria 460, y la unidad 420 de modelado de contexto puede utilizar los valores del símbolo binario previamente codificado de la memoria 460.
Los símbolos binarios que tienen una distribución similar pueden compartir el mismo modelo de contexto. El modelo de contexto para cada símbolo binario puede utilizar al menos una de las informaciones de sintaxis de la clase, el índice de la clase (binIdx) que representa la ubicación de la clase en la cadena de clases y la probabilidad de la clase incluida en el bloque vecino del bloque en el que se incluye la clase, para estimar la probabilidad.
La unidad 430 de codificación aritmética binaria incluye la unidad 440 de codificación binaria normal y la unidad 450 de codificación binaria de derivación, y puede realizar la codificación de entropía para la cadena emitida y emitir los bits de datos comprimidos.
La unidad 440 de codificación binaria normal puede realizar la codificación aritmética basada en una división de intervalos recursiva.
Primero, una sección (o intervalo) que tenga un valor inicial de 0 o 1 se puede dividir en dos secciones inferiores en base a la probabilidad del símbolo binario. Los bits codificados pueden proporcionar un desplazamiento seleccionando una de las dos secciones inferiores que representan un valor del símbolo binario descodificado cuando se transforma en la fracción binaria.
Después del símbolo binario del modo descodificado, la sección puede actualizarse para hacer que la sección inferior seleccionada sea la misma, y el propio proceso de división de sección puede repetirse. La sección y el desplazamiento tienen una precisión de bits limitada y, por lo tanto, es posible que se requiera una nueva normalización para impedir el desbordamiento cada vez que la sección se reduce a un valor específico o menos. La nueva normalización puede ocurrir después de que se descodifique cada símbolo binario.
La unidad 450 de codificación binaria de derivación realiza la codificación sin el modelo de contexto, y puede realizar la codificación fijando la probabilidad de la clase codificada actualmente en 0,5. Esto se puede utilizar cuando es difícil determinar la probabilidad de la sintaxis o se requiere la codificación de alta velocidad.
La FIG. 5 es un diagrama de bloques que ilustra una configuración de un descodificador de entropía.
La FIG. 5 ilustra un diagrama de bloques esquemático del descodificador de entropía al que se aplica la codificación aritmética binaria adaptativa basada en el contexto (CABAC).
Un descodificador 500 de entropía puede incluir una unidad 510 de modelado de contexto, una unidad 520 de descodificación aritmética binaria, una memoria 550 y una unidad 560 de binarización inversa, y la unidad 520 de descodificación aritmética binaria puede incluir una unidad 530 de descodificación binaria normal y una unidad 540 de descodificación binaria de derivación.
El descodificador 500 de entropía puede recibir un flujo de bits y confirmar un indicador de derivación del mismo. Aquí, el indicador de derivación representa si el flujo de bits está en un modo de derivación, y el modo de derivación puede significar que la codificación se realiza fijando la probabilidad de la clase codificada actualmente en 0,5 sin utilizar el modelo de contexto.
Si el flujo de bits no está en el modo de derivación según el indicador de derivación, la unidad 530 de descodificación binaria normal puede realizar la descodificación aritmética binaria según un modo normal.
En este momento, la unidad 510 de modelado de contexto puede seleccionar la información de probabilidad necesaria para descodificar un flujo de bits actual de la memoria 550 para transmitir la información de probabilidad a la unidad 530 de descodificación binaria normal.
Mientras tanto, si el flujo de bits está en el modo de derivación según el indicador de derivación, la unidad 540 de descodificación binaria de derivación puede realizar la descodificación aritmética binaria según el modo de derivación.
La unidad 560 de binarización inversa puede recibir la clase de la forma binaria descodificada por la unidad 520 de descodificación aritmética binaria y transformar la clase en un valor de elemento de sintaxis en forma de número entero para emitir el valor de elemento de sintaxis transformado.
La FIG. 6 es un diagrama de flujo que ilustra una operación de un codificador de entropía.
El codificador de entropía del aparato de codificación puede realizar la binarización para el elemento (S610) de sintaxis.
El codificador de entropía puede determinar si realizar la codificación aritmética binaria según el modo normal o realizar la codificación aritmética binaria según el modo (S620) de derivación. Por ejemplo, el codificador de entropía puede confirmar si el flujo de bits está en el modo normal o en el modo de derivación en base al indicador de derivación, y cuando el indicador de derivación es 1, puede representar el modo de derivación, y cuando el indicador de derivación es 0, puede representar el modo normal.
Si se determina que la codificación aritmética binaria se va a realizar según el modo normal, el codificador de entropía puede seleccionar el modelo (S630) de probabilidad y realizar la codificación aritmética binaria en base al modelo (S640) de probabilidad. Además, el codificador de entropía puede actualizar el modelo (S650) de probabilidad y seleccionar de nuevo un modelo de probabilidad adecuado en base al modelo de probabilidad actualizado en la etapa S630.
Si se determina que la codificación aritmética binaria se va a realizar según el modo de derivación, el codificador de entropía puede realizar la codificación aritmética binaria en base a la probabilidad de 0,5 (S660).
La FIG. 7 es un diagrama de flujo que ilustra una operación del descodificador de entropía.
El descodificador de entropía del aparato de descodificación puede recibir el flujo de bits (S710).
El descodificador de entropía puede confirmar si el flujo de bits está en el modo normal o en el modo de derivación extrayendo el indicador de derivación del flujo de bits (S720). Aquí, el indicador de derivación puede determinarse previamente según el tipo de sintaxis.
Si el indicador de derivación representa el modo normal, el descodificador de entropía puede seleccionar el modelo (S730) de probabilidad y realizar la descodificación aritmética binaria en base al modelo (S740) de probabilidad seleccionado. Además, el descodificador de entropía puede actualizar el modelo (S750) de probabilidad y seleccionar de nuevo el modelo de probabilidad adecuado en base al modelo de probabilidad actualizado en la etapa S730.
Mientras tanto, si el indicador de derivación representa el modo de derivación, el descodificador de entropía puede realizar la descodificación aritmética binaria en base a la probabilidad de 0,5 (S760).
El descodificador de entropía puede realizar binarización inversa para la cadena (S770) de clases descodificada. Por ejemplo, el descodificador de entropía puede recibir la clase descodificada en forma binaria y transformar la clase en el valor del elemento de sintaxis en forma de número entero para emitir el valor del elemento de sintaxis.
La realización ejemplar de la presente descripción propone un método para determinar el modelo de contexto para la codificación de entropía CABAC. Como se describió anteriormente, split_bt_flag puede representar si el bloque actual se divide en BT o se divide en TT. El elemento de sintaxis split_bt_flag puede denominarse mtt_split_cu_binary_flag o similar. El modelo de contexto para el elemento de sintaxis split_bt_flag puede determinarse según la cantidad de BT y TT que se pueden dividir del bloque actual. La ecuación 1 a continuación expresa un valor del índice de contexto (Ctxldx) según la información de disponibilidad de división de bloques.
Ecuación 1
Crxldx - (availablcBTHOR && availablcBTVER) * 2 (availahlcTTHOR &&
availabletTVER)
En la presente memoria descriptiva, la "información de disponibilidad de división de bloques" puede representar una condición de división de bloques. La información de disponibilidad de división de bloques puede incluir la información de indicador disponible de división horizontal del árbol binario (BT) que representa si el bloque actual se puede dividir horizontalmente en base a la estructura BT, la información de indicador disponible de división horizontal del árbol ternario (TT) que representa si el bloque actual puede se dividirá horizontalmente en base a la estructura de TT, la información de indicador disponible de división vertical de BT que representa si el bloque actual se puede dividir verticalmente en base a la estructura BT, y la información de indicador disponible de división velica de TT que representa si el bloque actual se puede dividir verticalmente en base a la estructura de TT. Según la realización ejemplar, la información de disponibilidad de división de bloques se puede derivar en base a al menos una información de tamaño de bloque, información de profundidad de árbol de tipo múltiple e información de tamaño máximo de árbol múltiple.
En la Ecuación 1, el availableBTHOR puede representar la información del indicador disponible de división horizontal de BT, el availableBTVER puede representar la información del indicador disponible de división vertical de BT, el availableTTHOR puede representar la información del indicador disponible de división horizontal de TT y el availableTTVER puede representar la información del indicador disponible de división vertical de TT. Un intervalo de un valor de Ctxldx puede ser 0 o más y 3 o menos, por ejemplo.
La información del indicador disponible de división horizontal de BT puede indicarse mediante diferentes nombres, como available_BT_HOR y permitir SplitBTHor así como availableBTHOR. Del mismo modo, la información del indicador disponible de división vertical de BT se puede indicar mediante available_BT_VER, allowSplitBTVer, o similar, la información del indicador disponible de división horizontal de TT se puede indicar mediante available_TT_HOR, allowSplitTTHor, o similar, y la información del indicador disponible de división vertical de TT se puede indicar mediante available_TT_VER, allowSplitTTVer o similar.
La Tabla 5 a continuación expresa un ejemplo de los valores del CtxIdx según los valores de availableBTHOR, availableBTVER, availableTTHOR y availableTTVER.
Tabla 5
Figure imgf000014_0001
Cuando el valor de cada uno de los availableBTHOR, availableBTVER, availableTTHOR y availableTTVER es 0, representa que la división según cada estructura de división no está disponible, y cuando cada valor es 1, representa que la división según la estructura dividida está disponible. Si el valor del CtxIdx es N/A, puede representar que es innecesario determinar el valor del CtxIdx porque la señalización de la bandera split bt es innecesaria.
Según la realización ejemplar, se pueden utilizar cuatro modelos de contexto para codificar split_bt_flag. La Tabla 6 a continuación expresa un ejemplo de los valores iniciales (InitValue) del CABAC según los valores del CtxIdx.
Tabla 6
Figure imgf000014_0002
Como otro ejemplo, cuando el valor del CtxIdx es 0 o 3, se pueden utilizar los mismos valores iniciales del CABAC, y cuando se tiene la propiedad estadística similar, se pueden utilizar tres modelos de contexto para codificar split_bt_flag. Es decir, cuando el valor del CtxIdx es 3, el valor del Ctxldx puede ser reemplazado por 0. La Tabla 7 a continuación expresa un ejemplo de los valores iniciales del CABAC según los valores del CtxIdx, cuando se utilizan tres modelos de contexto.
Tabla 7
Figure imgf000015_0002
Otra realización ejemplar de la presente descripción propone otro método para determinar el modelo de contexto para la codificación de entropía CABAC. Como ejemplo, el elemento de sintaxis split_bt_flag puede señalarse primero para determinar si es la división de BT o la división de TT, y luego el elemento de sintaxis split_dir puede señalarse para determinar si es la división horizontal o la división vertical. El elemento de sintaxis split_dir también puede denominarse mtt_split_cu_vertical_flag en algunos casos. Como otro ejemplo, el elemento de sintaxis split_dir puede señalarse primero para determinar si es la división horizontal o la división vertical, y luego el elemento de sintaxis split_bt_flag puede señalarse para determinar si es la división de BT o la división de TT.
En este momento, el modelo de contexto para el elemento de sintaxis split_dir se determina según la cantidad de divisiones horizontales y verticales que se pueden dividir del bloque actual. La ecuación 2 a continuación expresa un valor del índice de contexto (CtxIdx) según la información de disponibilidad de división de bloques.
Ecuación 2
CtxIdx - (availableBTHOR &&. availableTTHOR) * 2 (availableBTVER & &
availableTTVER)
La Tabla 8 a continuación expresa un ejemplo de los valores del Ctxldx según los valores de availableBTHOR, availableBTVER, availableTTHOR y availableTTVER.
Tabla 3
Figure imgf000015_0001
En la Tabla 8, el caso donde el valor del CtxIdx es N/A puede representar el caso donde es innecesario determinar el valor del Ctxldx porque la señalización de split_dir_flag es innecesaria.
Según la realización ejemplar, con referencia a la Tabla 8, si el valor del availableBTHOR y el valor del availableTTHOR son 0 o los valores del availableBTVER y del availableTTVER son 0, se puede confirmar que el CtxIdx para split_dir no es derivado.
Según la realización ejemplar, con referencia a la Tabla 8, cuando un valor del (availableBTHOR II availableTTHOR) && (availableBTVER llavailableTTVER) es 0, se puede confirmar que el CtxIdx para split_dir no es derivado.
Según la realización ejemplar, se pueden utilizar cuatro modelos de contexto para codificar el split_dir_flag. La Tabla 9 a continuación expresa un ejemplo de los valores iniciales (InitValue) del CABAC según los valores del Ctxldx.
Tabla 9
Figure imgf000016_0001
Como otro ejemplo, cuando el valor del CtxIdx es 0 o 3, se utilizan los mismos valores iniciales del CABAC, y cuando tiene una propiedad estadística similar, se pueden utilizar tres modelos de contexto para codificar split_bt_flag. Es decir, cuando el valor del Ctxldx es 3, el valor del CtxIdx puede ser reemplazado por 0. La Tabla 10 a continuación expresa un ejemplo de los valores iniciales del CABAC según los valores del CtxIdx, en el caso de utilizar tres modelos de contexto.
Tabla 10
Figure imgf000016_0002
La realización ejemplar puede determinar la división del bloque según el tamaño de transformación. Se puede transmitir un tamaño de transformación disponible para la imagen o imagen actualmente descodificada desde la unidad de un conjunto de parámetros de secuencia (SPS), un conjunto de parámetros de imagen (PPS), un encabezado de porción (SH), una unidad de encabezado de una capa abstracta de red (NAL), o similar. Para el tamaño de transformación disponible, el tamaño de transformación correspondiente también se puede transmitir uno por uno, y el índice correspondiente también se puede transmitir en base a un conjunto de transformación predefinido. El terminal descodificador puede recibir y descodificar el índice para inducir el tamaño de transformación disponible.
Cuando se determina el tamaño de transformación disponible, se puede determinar el tamaño de la división de bloque disponible. Es decir, el tamaño de la división de bloque disponible se define para la imagen y la imagen actualmente descodificados. El tamaño de la división de bloque disponible puede estar determinado por el caso en el que la transformación está disponible. Por lo tanto, no se puede permitir la división del bloque en el que no existe la transformación.
El tamaño de la división de bloque disponible se determina para la imagen y la imagen, y luego se puede determinar si el bloque se puede dividir en la unidad de bloque, es decir, una unidad CU o PU. El tipo de división de bloque disponible se determina en base al tamaño del bloque actual. Es decir, los candidatos disponibles de BT o TT pueden configurarse horizontal y verticalmente. Alternativamente, se puede determinar si las divisiones de las tasas de 1/4, 3/4, las divisiones de las tasas de 3/8, 5/8, las divisiones de las tasas de 1/3, 2/3, las divisiones de las tasas de 1/5, e 4/5, o similares, además de la división de la tasa de 1/2 están disponibles.
Se configuran los candidatos de bloque disponibles divididos, y luego se puede determinar una división de bloque final mediante la sintaxis de división de bloque transmitida al descodificador. Si existe un candidato de bloque disponible o no existe ningún candidato de bloque disponible, es posible que no se transmita la sintaxis correspondiente.
La FIG. 8 es un diagrama de flujo que ilustra una operación del aparato de codificación según la realización ejemplar, y la FIG. 9 es un diagrama de bloques que ilustra una configuración del aparato de codificación según la realización ejemplar.
El aparato de codificación ilustrado en las FIGS. 8 y 9 puede realizar la operación correspondiente a la del aparato de descodificación que se describirá más adelante ilustrado en las FIGS. 10 y 11. Por lo tanto, el contenido que se describirá más adelante con referencia a las FIGS. 10 y 11 también pueden aplicarse igualmente al aparato de codificación ilustrado en las FIGS. 8 y 9.
Cada etapa ilustrada en la FIG. 8 puede ser realizada por el aparato 100 de codificación ilustrado en la FIG. 1. Más específicamente, S800 a S830 puede ser realizado por el codificador 130 de entropía ilustrado en la FIG. 1. Además, las operaciones según S800 a S830 se realizan en base a algunos de los contenidos descritos anteriormente con referencia a las FIGS. 3 a 7. Por lo tanto, la descripción de contenidos específicos que se superponen a los contenidos descritos anteriormente con referencia a las FIGS. 3 a 7 serán omitida o simplificada.
Como se ilustra en la FIG. 9, el aparato de codificación según la realización ejemplar puede incluir un módulo 105 de división de imágenes y el codificador 130 de entropía. Sin embargo, en algunos casos, todos los componentes ilustrados en la FIG. 9 pueden no ser componentes esenciales del aparato de codificación, y el aparato de codificación puede implementarse con una cantidad mayor o menor de componentes que los componentes ilustrados en la FIG. 9.
En el aparato de codificación según la realización ejemplar, cada módulo 105 de división de imágenes y el codificador 130 de entropía pueden implementarse mediante un chip separado, o dos o más componentes también pueden implementarse mediante un único chip.
El aparato de codificación según la realización ejemplar puede derivar una pluralidad de unidades de codificación diferentes dividiendo el bloque actual dentro de la imagen actual. Más específicamente, el módulo 105 de división de imágenes del aparato de codificación puede derivar una pluralidad de unidades de codificación diferentes dividiendo el bloque actual dentro de la imagen actual.
El aparato de codificación según la realización ejemplar puede derivar el elemento de sintaxis de indicador de división que representa la estructura dividida del bloque actual (S800). Más específicamente, el codificador 130 de entropía del aparato de codificación puede derivar el elemento de sintaxis de indicador de división que representa la estructura de división del bloque actual.
Según la realización ejemplar, el elemento de sintaxis de indicador de división puede incluir el indicador de división direccional que representa si el bloque actual está dividido verticalmente y el elemento de sintaxis dividida puede incluir el indicador de división BT que representa si el bloque actual está dividido en base a la estructura BT. El indicador de división direccional puede estar, por ejemplo, indicado por split_dir, y el indicador de división BT puede estar, por ejemplo, indicado por split_bt_flag.
El aparato de codificación según la realización ejemplar puede derivar el índice de contexto para el elemento de sintaxis de indicador de división en base a la información de disponibilidad de división del bloque actual (S810). Más específicamente, el codificador 130 de entropía del aparato de codificación puede derivar el índice de contexto para el elemento de sintaxis de indicador de división en base a la información de disponibilidad de división del bloque actual.
Según la realización ejemplar, la información de disponibilidad de división puede incluir la información de indicador disponible de división horizontal de BT que representa si el bloque actual se puede dividir horizontalmente en base a la estructura de BT, la información de indicador disponible de división horizontal de TT que representa si el bloque actual se puede dividir horizontalmente en base a la estructura de TT, la información de indicador disponible de división vertical de BT que representa si el bloque actual se puede dividir verticalmente en base a la estructura BT, y la información de indicador disponible de división vertical de TT que representa si el bloque actual se puede dividir verticalmente en base a la estructura de TT.
Según la realización ejemplar, la información de indicador disponible de división horizontal de BT puede indicarse mediante el availableBTHOR, la información de indicador disponible de división horizontal de TT puede indicarse mediante el availableTTHOR, la información de indicador disponible de división vertical de BT puede indicarse mediante el availableBTVER, y la información de indicador disponible de división vertical de TT puede indicarse mediante el availableTTVER.
Según la realización ejemplar, el índice de contexto para la división direccional se deriva en base a una cantidad de indicadores disponibles de división horizontal y una cantidad de indicadores disponibles de división vertical en base a la información de indicador disponible de división horizontal BT, la información de indicador disponible de división horizontal de TT, la información de indicador disponible de división vertical de BT, y la información de indicador disponible de división vertical de TT.
Según la realización ejemplar, si el índice de contexto para el indicador de división direccional se deriva puede determinarse en base a la información de indicador disponible de división horizontal de BT, la información de indicador disponible de división horizontal de TT, la información de indicador disponible de división vertical de BT y la información de indicador disponible de división vertical de TT.
Según la realización ejemplar, si el valor de la información de indicador disponible de división horizontal de BT y el valor de la información de indicador disponible de división horizontal de TT son 0, o el valor de la información de indicador disponible de división vertical de BT y el valor de la información de indicador disponible de división vertical de TT es 0, se caracteriza por que no se deriva el índice de contexto para el indicador de división vertical.
Según la realización ejemplar, cuando el valor de (availableBTHOR II availableTTHOR) && (availableBTVER II availableTTVER) es 0, el índice de contexto para el indicador de división vertical se puede no derivar.
Según la realización ejemplar, el índice de contexto para el indicador de división de BT se puede derivar en base a la información de indicador disponible de división horizontal de BT, la información de indicador disponible de división horizontal de TT, la información de indicador disponible de división vertical de BT y la información de indicador disponible de división vertical de TT.
Según la realización ejemplar, el índice de contexto para el indicador de división direccional se puede derivar en base a la Ecuación 3 a continuación.
Equation 3
Ctxldx = (availableBTHOR && availableTTHQR)*2 (availableBTVER &&
availableTTVER)
Según la realización ejemplar, el índice de contexto para el indicador de división de BT se puede derivar en base a la Ecuación 4 a continuación.
Equation 4
Ctxldx = (availableBTHOR && availableBTVER)*2 (availableTTHOR &&
availableTTVER)
El aparato de codificación según la realización ejemplar puede determinar el modelo de contexto en base al índice (S820) de contexto derivado. Más específicamente, el codificador 130 de entropía del aparato de codificación puede determinar el modelo de contexto en base al índice de contexto derivado.
El aparato de codificación según la realización ejemplar puede codificar el valor del elemento de sintaxis de indicador de división en base al CABAC utilizando el modelo (S830) de contexto determinado. Más específicamente, el codificador 130 de entropía del aparato de codificación puede codificar el valor del elemento de sintaxis de indicador de división en base al CABAC utilizando el modelo de contexto determinado.
Según el aparato de codificación y el método para hacer funcionar el aparato de codificación ilustrado en las FIGS. 8 y 9, el aparato de codificación puede derivar el elemento de sintaxis de indicador de división que representa la estructura de división del bloque actual (S800), derivar el índice de contexto para el elemento de sintaxis de indicador de división en base a la información de disponibilidad de división del bloque actual (S810), determinar el modelo de contexto en base al índice de contexto derivado (S820), y codificar el valor del elemento de sintaxis de indicador de división en base al CABAC utilizando el modelo (S830) de contexto determinado, y en este momento, se puede caracterizar por que el elemento de sintaxis de indicador de división puede incluir el indicador de división direccional que representa si el bloque actual está dividido verticalmente, la información de disponibilidad de división puede incluir la información de indicador disponible de división horizontal de BT que representa si el bloque actual se puede dividir verticalmente en base a la estructura de BT, la información de indicador disponible de división horizontal de TT que representa si el bloque actual se puede dividir horizontalmente en base a la estructura de TT, la información de indicador disponible de división vertical de BT que representa si el bloque actual se puede dividir verticalmente en base a la estructura de BT, y la información de indicador disponible de división vertical de TT que representa si el bloque actual se puede dividir verticalmente en base a la estructura de TT, y el índice de contexto para el indicador de división direccional se deriva en base a una cantidad de indicadores disponibles de división horizontal y una cantidad de indicadores disponibles de división vertical en base a la información del indicador disponible de división horizontal de BT, la información de indicador disponible de división horizontal de TT, la información de indicador disponible de división vertical de BT, y la información de indicador disponible de división vertical de TT. Es decir, como se ilustra en las FIGS. 8 y 9, cuando la codificación de entropía según CABAC se realiza en base a la estructura de QT, la estructura de BT y la estructura de TT, es posible realizar la codificación y la descodificación de manera más eficiente utilizando el modelo de contexto.
La FIG. 10 es un diagrama de flujo que ilustra una operación del aparato de descodificación según la realización ejemplar, y la FIG. 11 es un diagrama de bloques que ilustra una configuración del aparato de descodificación según la realización ejemplar.
Cada etapa ilustrada en la FIG. 10 puede ser realizada por el aparato 200 de descodificación ilustrado en la FIG. 2. Más específicamente, S1000 a S1030 puede ser realizado por el descodificador 210 de entropía ilustrado en la FIG.
2, S1040 puede ser realizado por el predictor 230 ilustrado en la FIG. 2, y S1050 puede ser realizado por el sumador 240 ilustrado en la FIG. 2. Además, las operaciones según S1000 a S1050 se realizan en base a algunos de los contenidos descritos anteriormente con referencia a las FIGS. 3 a 7. Por lo tanto, la descripción de los contenidos específicos que se superponen a los contenidos descritos anteriormente con referencia a las FIGS. 3 a 7 será omitida o simplificada.
Como se ilustra en la FIG. 11, el aparato de decodificación según la realización ejemplar puede incluir el descodificador 210 de entropía, el predictor 230 y el sumador 240. Sin embargo, en algunos casos, todos los componentes ilustrados en la FIG. 11 pueden no ser los componentes esenciales del aparato de descodificación, y el aparato de descodificación se puede implementar con una cantidad mayor o menor de componentes que los componentes ilustrados en la FIG. 11.
En el aparato de descodificación según la realización ejemplar, cada uno de los descodificadores 210 de entropía, el predictor 230 y el sumador 240 se puede implementar mediante un chip separado, o también se pueden implementar dos o más componentes mediante un único chip.
El aparato de descodificación según la realización ejemplar puede derivar el índice de contexto para el elemento de sintaxis de indicador de división en base a la información de disponibilidad de división del bloque actual (S1000). Más específicamente, el descodificador 210 de entropía del aparato de descodificación puede derivar el índice de contexto para el elemento de sintaxis de indicador de división en base a la información de disponibilidad de división del bloque actual.
Según la realización ejemplar, el elemento de sintaxis de indicador de división puede incluir el indicador de división direccional que representa si el bloque actual está dividido verticalmente y el elemento de sintaxis de división puede incluir el indicador de división de BT que representa si el bloque actual está dividido en base a la estructura de BT. El indicador de división direccional puede estar, por ejemplo, indicado por split_dir, y el indicador de división de BT puede ser, por ejemplo, split_bt_flag.
Según la realización ejemplar, la información de disponibilidad de división puede incluir la información de indicador disponible de división horizontal de BT que representa si el bloque actual se puede dividir horizontalmente en base a la estructura de BT, la información de indicador disponible de división horizontal de TT que representa si el bloque actual se puede dividir horizontalmente en base a la estructura de TT, la información de indicador disponible de división vertical de BT que representa si el bloque actual se puede dividir verticalmente en base a la estructura de BT, y la información de indicador disponible de división vertical de TT que representa si el bloque actual se puede dividir verticalmente en base a la estructura de TT.
A modo de ejemplo, la información de indicador disponible de división horizontal de BT puede indicarse mediante el availableBTHOR, la información de indicador disponible de división horizontal de TT puede indicarse mediante el availableTTHOR, la información de indicador disponible de división vertical de BT puede indicarse mediante el availableBTVER y la información de indicador disponible de división vertical de TT puede indicarse mediante el availableTTVER.
Según la realización ejemplar, el índice de contexto para el indicador de división direccional se deriva en base a una cantidad de indicadores disponibles de división horizontal y una cantidad de indicadores disponibles de división vertical en base a la información de indicador disponible de división horizontal de BT, la información de indicador disponible de división horizontal de TT, la información de indicador disponible de división vertical de BT, y la información de indicador disponible de división vertical de TT.
Según la realización ejemplar, si el índice de contexto para el indicador de división direccional se deriva puede determinarse en base a la información de indicador disponible de división horizontal de BT, la información de indicador disponible de división horizontal de TT, la información de indicador disponible de división vertical de BT y la información de indicador disponible de división vertical de TT.
Según la realización ejemplar, si el valor de la información de indicador disponible de división horizontal de BT y el valor de la información de indicador disponible de división horizontal de TT son 0, o el valor de la información de indicador disponible de división vertical de BT y el valor de la información de indicador disponible de división vertical de TT es 0, es posible que no se derive el índice de contexto para el indicador de división direccional.
Según la realización ejemplar, cuando el valor de (availableBTHOR II availableTTHOR) && (availableBTVER II availableTTVER) es 0, el índice de contexto para el indicador de división direccional se puede no derivar.
Según la realización ejemplar, el índice de contexto para el indicador de división de BT se puede derivar en base a la información de indicador disponible de división horizontal de BT, la información de indicador disponible de división horizontal de TT, la información de indicador disponible de división vertical de BT y la información de indicador disponible de división vertical de TT.
Según la realización ejemplar, el índice de contexto para el indicador de división direccional se puede derivar en base a la Ecuación 5 a continuación.
Equation 5
Ctxldx = (availableBTHOR && availableTTHOR)*2 (availableBTVER &&
availableTTVER)
Según la realización ejemplar, el índice de contexto para el indicador de división de BT se puede derivar en base a la Ecuación 6 a continuación.
Equation 6
Ctxldx = (availableBTHOR && availableBTVER)*2 (availableTTHOR &&
availableTTVER)
El aparato de descodificación según la realización ejemplar puede determinar el modelo de contexto en base al índice (S1010) de contexto derivado. Más específicamente, el descodificador 210 de entropía del aparato de descodificación puede determinar el modelo de contexto en base al índice de contexto derivado.
El aparato de descodificación según la realización ejemplar puede descodificar el valor del elemento de sintaxis de indicador de división en base a la codificación aritmética binaria adaptativa basada en el contexto (CABAC) utilizando el modelo (S1020) de contexto determinado. Más específicamente, el descodificador 210 de entropía del aparato de descodificación puede descodificar el valor del elemento de sintaxis de indicador de división en base al CABAC utilizando el modelo de contexto determinado.
El aparato de descodificación según la realización ejemplar puede derivar la unidad de codificación actual del bloque actual en base al valor del elemento (S1030) de sintaxis de indicador de división. Más específicamente, el descodificador 210 de entropía del aparato de descodificación puede derivar la unidad de codificación actual del bloque actual en base al valor del elemento de sintaxis de indicador de división.
El aparato de descodificación según la realización ejemplar puede derivar el bloque predicho en base a las entrepredicciones o la predicción interna para la unidad (S1040) de codificación actual. Más específicamente, el predictor 230 del aparato de descodificación puede derivar el bloque predicho en base a las entrepredicciones o la predicción interna para la unidad de codificación actual.
El aparato de descodificación según la realización ejemplar puede generar un bloque reconstruido en base al bloque predicho (S1050). Más específicamente, el sumador 240 del aparato de descodificación puede generar el bloque reconstruido en base al bloque predicho.
Según el aparato de descodificación y el método para hacer funcionar el aparato de descodificación ilustrado en las FIGS. 10 y 11, el aparato de descodificación puede derivar el índice de contexto para el elemento de sintaxis de indicador de división en base a la información de disponibilidad de división del bloque actual (S1000), determinar el modelo de contexto en base al índice (S1010) de contexto derivado, descodificar el valor del elemento de sintaxis de indicador de división en base a la codificación aritmética binaria adaptativa basada en el contexto (CABAC) utilizando el modelo (S1020) de contexto determinado, derivar la unidad de codificación actual del bloque actual en base al valor del elemento (S1030) de sintaxis de indicador de división, derivar el bloque predicho en base a las entrepredicciones o la predicción interna para la unidad (S1040) de codificación actual, y generar el bloque reconstruido en base al bloque predicho (S1050), y en este momento, se puede caracterizar por que el elemento de sintaxis de indicador de división puede incluir el indicador de división direccional que representa si el bloque actual está dividido verticalmente, la información de disponibilidad de división puede incluir la información de indicador disponible de división horizontal de BT que representa si el bloque actual se puede dividir horizontalmente en base a la estructura de BT, la información de indicador disponible de división horizontal de TT que representa si el bloque actual se puede dividir horizontalmente en base a la estructura de TT, la información de indicador disponible de división vertical de BT que representa si el bloque actual se puede dividir verticalmente en base a la estructura de BT, y la información de indicador disponible de división vertical de TT que representa si el bloque actual se puede dividir verticalmente en base a la estructura de TT; y el índice de contexto para el indicador de división direccional se deriva en base a una cantidad de indicadores disponibles de división horizontal y una cantidad de indicadores disponibles de división vertical en base a la información de indicador disponible de división horizontal de BT, la información de indicador disponible de división horizontal de TT, la información de indicador disponible de división vertical de BT, y la información de indicador disponible de división vertical de TT. Es decir, como se ilustra en las FIGS. 10 y 11, cuando la codificación de entropía según CABAC se realiza en base a la estructura de QT, la estructura de BT y la estructura de TT, es posible realizar la codificación y la descodificación de manera más eficiente utilizando el modelo de contexto.
Las realizaciones ejemplares descritas en la presente descripción se pueden implementar y realizar mediante un procesador, un microprocesador, un controlador o un chip. Por ejemplo, las unidades funcionales ilustradas en cada dibujo pueden ser implementadas y realizadas por un ordenador, el procesador, el microprocesador, el controlador o el chip.
Además, el descodificador y el codificador a los que se aplican las realizaciones ejemplares de la presente descripción se pueden incluir en un transceptor de transmisión multimedia, un terminal de comunicación móvil, un dispositivo de video de cine en casa, un dispositivo de video de cine digital, una cámara de vigilancia, un dispositivo de videochat, un dispositivo de comunicación en tiempo real tal como un dispositivo de comunicación de video, un dispositivo móvil de transmisión, un medio de almacenamiento, una videocámara, un dispositivo proveedor de servicios de video a la carta (VoD), un dispositivo de video “over the top” (OTT), un dispositivo proveedor de servicios de transmisión por Internet, un dispositivo de video tridimensional (3D), un dispositivo de video de telefonía de imagen, un dispositivo de video medial o similar, y utilizado para procesar una señal de video o una señal de datos. Por ejemplo, el dispositivo de video “over the top” (OTT) puede incluir una consola de juegos, un reproductor de Blue-ray, un televisor con acceso a Internet, un sistema de cine en casa, un teléfono inteligente, una tableta, una grabadora de video digital (DVR) o similares.
Además, el método de procesamiento al que se aplican las realizaciones ejemplares de la presente descripción se puede producir en forma de un programa ejecutado por un ordenador y almacenado en un medio de grabación legible por ordenador. Los datos multimedia que tienen una estructura de datos según la presente descripción también se pueden almacenar en un medio de grabación legible por ordenador. El medio de grabación legible por ordenador incluye todo tipo de dispositivos de almacenamiento y dispositivos de almacenamiento distribuido en los que se almacenan datos legibles por ordenador. El medio de grabación legible por ordenador puede incluir, por ejemplo, un disco Blu-ray (BD), un bus universal en serie (USB), una ROM, una PROM, una EPROM, una EEPrOm , una Ra M, un CD-ROM, una cinta magnética, un disquete y un dispositivo óptico de almacenamiento de datos. Además, el medio de grabación legible por ordenador incluye medios implementados en forma de una onda portadora (por ejemplo, transmisión a través de Internet). Además, un flujo de bits generado por el método de codificación puede almacenarse en un medio de grabación legible por ordenador o transmitirse a través de una red de comunicación alámbrica o inalámbrica.
Además, las realizaciones ejemplares de la presente descripción pueden incorporarse como un producto de programa informático mediante códigos de programa, y los códigos de programa pueden ejecutarse en un ordenador mediante las realizaciones ejemplares de la presente descripción. Los códigos de programa pueden almacenarse en un soporte legible por ordenador.
La FIG. 12 es un diagrama de estructura del sistema de transmisión de contenido según la realización ejemplar.
El sistema de transmisión de contenido al que se aplica la presente descripción puede incluir en gran medida un servidor de codificación, un servidor de transmisión, un servidor web, un almacenamiento de medios, un equipo de usuario y un dispositivo de entrada multimedia.
El servidor de codificación sirve para comprimir, en datos digitales, la entrada de contenido desde los dispositivos de entrada multimedia, tales como un teléfono inteligente, una cámara y una videocámara, para generar un flujo de bits y transmitir el flujo de bits al servidor de transmisión. Como otro ejemplo, si el dispositivo de entrada multimedia, tal como un teléfono inteligente, una cámara o una videocámara, genera directamente un flujo de bits, se puede omitir el servidor de codificación.
El flujo de bits se puede generar mediante el método de codificación o el método de generación de flujo de bits al que se aplica la presente descripción, y el servidor de transmisión puede almacenar temporalmente el flujo de bits en un proceso de transmisión o recepción del flujo de bits.
El servidor de transmisión transmite datos multimedia al equipo del usuario en base a la solicitud del usuario a través del servidor web, y el servidor web sirve como un medio que informa al usuario de qué servicio existe. Cuando el usuario solicita un servicio deseado al servidor web, el servidor web transfiere el servicio al servidor de transmisión, y el servidor de transmisión transmite datos multimedia al usuario. En este momento, el sistema de transmisión de contenido puede incluir un servidor de control separado y, en este caso, el servidor de control sirve para controlar instrucciones/respuestas entre equipos respectivos en el sistema de transmisión de contenido.
El servidor de transmisión puede recibir contenidos desde el almacenamiento de medios y/o el servidor de codificación. Por ejemplo, si los contenidos se reciben desde el servidor de codificación, los contenidos se pueden recibir en tiempo real. En este caso, el servidor de transmisión puede almacenar el flujo de bits durante un tiempo predeterminado para proporcionar el servicio de transmisión sin problemas.
Los ejemplos del equipo de usuario pueden incluir un teléfono móvil, un teléfono inteligente, un ordenador portátil, una terminal de transmisión digital, un asistente digital personal (PDA), un reproductor multimedia portátil (PMP), un dispositivo de navegación, un PC pizarra, una tableta, un ultrabook, un dispositivo portátil (p. ej., un terminal tipo reloj (reloj inteligente), un terminal tipo vidrio (vidrio inteligente), un dispositivo de visualización montado en la cabeza (HMD)), un televisor digital, un ordenador de sobremesa, una señalización digital o similar.
Los servidores respectivos en el sistema de transmisión de contenido pueden ser hechos funcionar como un servidor distribuido y, en este caso, los datos recibidos por cada servidor se pueden procesar de forma distribuida.
El método antes mencionado según la presente descripción se puede incorporar en forma de software, y el aparato de codificación y/o aparato de descodificación según la presente descripción se puede incluir en un aparato para realizar el procesamiento de imágenes, tal como un televisor, un ordenador, un teléfono inteligente, un descodificador o un dispositivo de visualización.
Cada una de las partes, módulos o unidades antes descritos puede ser un procesador o una parte de hardware que ejecuta procesos de implementación consecutivos almacenados en la memoria (o unidad de almacenamiento). Cada etapa descrita en la realización ejemplar mencionada anteriormente puede ser realizada por el procesador o las partes de hardware. Los módulos/bloques/unidades respectivos descritos en la realización ejemplar mencionada anteriormente pueden ser hechos funcionar como el hardware/el procesador. Además, los métodos proporcionados por la presente descripción pueden ejecutarse como un código. Este código puede escribirse en el medio de almacenamiento legible por el procesador y, por lo tanto, ser leído por el procesador proporcionado por el aparato.
En los ejemplos de realización antes mencionados, los métodos se explican en base a diagramas de flujo por medio de una serie de etapas o bloques, pero la presente descripción no se limita al orden de las etapas, y una determinada etapa puede ocurrir en un orden o etapa diferente al descrito anterior, o simultáneamente con el descrito anteriormente. Además, una persona con experiencia en la técnica puede entender que las etapas mostradas en un diagrama de flujo no son exclusivas y que se puede incorporar otra etapa o se pueden eliminar una o más etapas del diagrama de flujo cuando no afecte el alcance de la presente invención tal como se define en las reivindicaciones.
Cuando las realizaciones ejemplares según la presente descripción se realizan mediante software, los métodos antes mencionados pueden realizarse mediante módulos (procesos, funciones o similares) que realizan la función antes mencionada. El módulo puede ser almacenado en una memoria y ejecutado por un procesador. La memoria puede estar dentro o fuera del procesador y conectada al procesador a través de diferentes medios bien conocidos. El procesador puede incluir un circuito integrado de aplicación específica (ASIC), otro conjunto de chips, un circuito lógico y/o un dispositivo de procesamiento de datos. La memoria puede incluir una memoria de solo lectura (ROM), una memoria de acceso aleatorio (RAM), una memoria flash, una tarjeta de memoria, un medio de almacenamiento y/u otro dispositivo de almacenamiento.

Claims (15)

REIVINDICACIONES
1. Un método de descodificación de imágenes realizado por un aparato de descodificación, comprendiendo el método:
derivar (S1000) un índice de contexto para un elemento de sintaxis de indicador de división en base a la información de disponibilidad de división de un bloque actual;
determinar (S1010) un modelo de contexto en base al índice de contexto derivado;
descodificar (S1020) un valor del elemento de sintaxis de indicador de división en base a la codificación aritmética binaria adaptativa basada en el contexto, CABAC, utilizando el modelo de contexto determinado;
derivar (S1030) una unidad de codificación actual del bloque actual en base al valor del elemento de sintaxis de indicador de división;
derivar (S1040) un bloque predicho en base a las entrepredicciones o la predicción interna para la unidad de codificación actual; y
generar (S1050) un bloque reconstruido en base al bloque predicho,
en donde el elemento de sintaxis del indicador de división comprende: un indicador de división direccional que representa si el bloque actual se ha de dividir verticalmente,
en donde la información de disponibilidad de división comprende: un árbol binario, BT, información de indicador disponible de división horizontal relacionada con si el bloque actual se puede dividir horizontalmente en base a una estructura de BT, un árbol ternario, TT, información de indicador disponible de división horizontal relacionada con si el bloque actual se puede dividir horizontalmente en base a una estructura de TT, una información de indicador disponible de división vertical de BT relacionada con si el bloque actual se puede dividir verticalmente en base a la estructura de BT, y una información de indicador disponible de división vertical de TT relacionada con si el bloque actual se puede dividir verticalmente en base a la estructura de TT,
caracterizado por que el índice de contexto para el indicador de división direccional se deriva en base a una cantidad de indicadores disponibles de división horizontal y a una cantidad de indicadores disponibles de división vertical, y
los indicadores disponibles de división horizontal incluyen la información de indicador disponible de división horizontal de BT con valor 1 y la información de indicador disponible de división horizontal de TT con valor 1, y los indicadores disponibles de división vertical incluyen la información de indicador disponible de división vertical de BT con valor 1 y la información de indicador disponible de división vertical de TT con valor 1.
2. El método de descodificación de imágenes de la reivindicación 1, en donde se determina si el índice de contexto para el indicador de división direccional se deriva en base a la información de indicador disponible de división horizontal de BT, la información de indicador disponible de división horizontal de TT, la información de indicador disponible de división vertical de BT y la Información de indicador disponible de división vertical de TT.
3. El método de descodificación de imágenes de la reivindicación 2, en donde cuando un valor de (availableBTHOR II availableTTHOR) && (availableBTVER llavailableTTVER) es 0, el índice de contexto para el indicador de división direccional no se deriva, donde el availableBTHOR representa la información de indicador disponible de división horizontal de BT, el availableTTHOR representa la información de indicador disponible de división horizontal de TT, el availableBTVER representa la información de indicador disponible de división vertical de BT, y el availableTTVER representa la información de indicador disponible de división vertical de TT.
4. El método de descodificación de imágenes de la reivindicación 1, en donde el elemento de sintaxis de división comprende además: un indicador de división de BT que representa si el bloque actual está dividido en base a la estructura de BT, y
en donde el índice de contexto para el indicador de división de BT se deriva en base a la información de indicador disponible de división horizontal de BT, la información de indicador disponible de división horizontal de TT, la información de indicador disponible de división vertical de BT y la información de indicador disponible de división vertical de TT.
5. El método de descodificación de imágenes de la reivindicación 1, en donde el índice de contexto para el indicador de división direccional se deriva en base a la siguiente ecuación,
Ctxldx = (availableBTHOR && availableTTH0R)*2 (availableBTVER &&
availableTTVER),
en la Ecuación, availableBTHOR representa la información de indicador disponible de división horizontal de BT, el availableTTHOR representa la información de indicador disponible de división horizontal de TT, el availableBTVER representa la información de indicador disponible de división vertical de BT y el availableTTVER representa la información del indicador disponible de división vertical de TT.
6. El método de descodificación de imágenes de la reivindicación 4, en donde el índice de contexto para el indicador de división de BT se deriva en base a la siguiente Ecuación,
Ctxldx = (availableBTHOR && availableBTVER)*2 (availableTTHOR &&
availableTTVER),
en la Ecuación, availableBTHOR representa la información de indicador disponible de división horizontal de BT, el availableTTHOR representa la información de indicador disponible de división horizontal de TT, el availableBTVER representa la información de indicador disponible de división vertical de BT y el availableTTVER representa la información de indicador disponible de división vertical de TT.
7. Un método de codificación de imágenes realizado por un aparato de codificación, comprendiendo el método:
derivar (S800) un elemento de sintaxis de indicador de división que representa una estructura de división de un bloque actual;
derivar (S810) un índice de contexto para el elemento de sintaxis de indicador de división en base a la información de disponibilidad de división del bloque actual;
determinar (S820) un modelo de contexto en base al índice de contexto derivado; y
codificar (S830) un valor del elemento de sintaxis de indicador de división en base a CABAC utilizando el modelo de contexto determinado,
en donde el elemento de sintaxis de indicador de división comprende: un indicador de división direccional que representa si el bloque actual está dividido verticalmente,
en donde la información de disponibilidad de división comprende: una información de indicador disponible de división horizontal de BT relacionada con si se permite que el bloque actual se divida horizontalmente en base a una estructura de BT, una información de indicador disponible de división horizontal de TT relacionada con si se permite que el bloque actual se divida horizontalmente en base a una estructura de TT, una información de indicador disponible de división vertical de BT relacionada con si se permite que el bloque actual se divida verticalmente en base a la estructura de BT, y una información de indicador disponible de división vertical de TT relacionada con si se permite que el bloque actual se divida verticalmente en base a la estructura de TT,
caracterizado por que el índice de contexto para el indicador de división direccional se deriva en base a una cantidad de indicadores disponibles de división horizontal y una cantidad de indicadores disponibles de división vertical, y
los indicadores disponibles de división horizontal incluyen la información de indicador disponible de división horizontal de BT con valor 1 y la información de indicador disponible de división horizontal de TT con valor 1, y los indicadores disponibles de división vertical incluyen la información de indicador disponible de división vertical de BT con valor 1 y la información de indicador disponible de división vertical de TT con valor 1.
8. El método de codificación de imágenes de la reivindicación 7, en donde se determina si el índice de contexto para el indicador de división direccional se deriva en base a la información de indicador disponible de división horizontal de BT, la información de indicador disponible de división horizontal de TT, la información de indicador disponible de división vertical de BT y la información de indicador disponible de división vertical de TT.
9. El método de codificación de imágenes de la reivindicación 7, en donde el elemento de sintaxis de división comprende además: un indicador de división de BT que representa si el bloque actual está dividido en base a la estructura de BT, y
en donde el índice de contexto para el indicador de división de BT se deriva en base a la información de indicador disponible de división horizontal de BT, la información de indicador disponible de división horizontal de TT, la información de indicador disponible de división vertical de BT y la información de indicador disponible de división vertical de TT.
10. El método de codificación de imágenes de la reivindicación 7, en donde el índice de contexto para el indicador de división direccional se deriva en base a la siguiente Ecuación,
Ctxldx - (availableBTHOR && availableTTH0R)*2 (availableBTVER &&
availableTTVER),
en la Ecuación, availableBTHOR representa la información de indicador disponible de división horizontal de BT, el availableTTHOR representa la información de indicador disponible de división horizontal de TT, el availableBTVER representa la información de indicador disponible de división vertical de BT y el availableTTVER representa la información de indicador disponible de división vertical de TT.
11. El método de codificación de imágenes de la reivindicación 9, en donde el índice de contexto para el indicador de división de BT se deriva en base a la siguiente Ecuación,
Ctxldx = (availableBTHOR && availableBTVER)*2 (availableTTHOR &&
availableTTVER),
en la Ecuación, availableBTHOR representa la información de indicador disponible de división horizontal de BT, el availableTTHOR representa la información de indicador disponible de división horizontal de TT, el availableBTVER representa la información de indicador disponible de división vertical de BT y el availableTTVER representa la información de indicador disponible de división vertical de TT.
12. El método de descodificación de imágenes de la reivindicación 1, en donde el índice de contexto para el indicador de división direccional en base a un caso en el que el valor de la información de indicador disponible de división horizontal de BT es 1 y el valor de la información de indicador disponible de división horizontal de TT es 0 es diferente del índice de contexto para el indicador de división direccional en base a un caso en el que el valor de la información de indicador disponible de división horizontal de BT es 1 y el valor de la información de indicador disponible de división horizontal de TT es 1.
13. El método de codificación de imágenes de la reivindicación 7, en donde el índice de contexto para el indicador de división direccional en base a un caso en el que el valor de la información de indicador disponible de división horizontal de BT es 1 y el valor de la información de indicador disponible de división horizontal de TT es 0 es diferente del índice de contexto para el indicador de división direccional en base a un caso en el que el valor de la información de indicador disponible de división horizontal de BT es 1 y el valor de la información de indicador disponible de división horizontal de TT es 1.
14. Un medio de almacenamiento legible por ordenador que almacena un flujo de bits generado por un método, comprendiendo el método:
derivar un elemento de sintaxis de indicador de división que representa una estructura de división de un bloque actual;
derivar un índice de contexto para el elemento de sintaxis de indicador de división en base a la información de disponibilidad de división del bloque actual;
determinar un modelo de contexto en base al índice de contexto derivado; y
generar el flujo de bits codificando un valor del elemento de sintaxis de indicador de división en base a CABAC utilizando el modelo de contexto determinado,
en donde el elemento de sintaxis de indicador de división comprende: un indicador de división direccional que representa si el bloque actual está dividido verticalmente,
en donde la información de disponibilidad de división comprende: una información de indicador disponible de división horizontal de BT relacionada con si se permite que el bloque actual se divida horizontalmente en base a una estructura de BT, una información de indicador disponible de división horizontal de TT relacionada con si se permite que el bloque actual se divida horizontalmente en base a una estructura de TT, una información de indicador disponible de división vertical de BT relacionada con si se permite que el bloque actual se divida verticalmente en base a la estructura de BT, y una información de indicador disponible de división vertical de TT relacionada con si se permite que el bloque actual se divida verticalmente en base a la estructura de TT,
caracterizado por que el índice de contexto para el indicador de división direccional se deriva en base a una cantidad de indicadores disponibles de división horizontal y una cantidad de indicadores disponibles de división vertical, y
los indicadores disponibles de división horizontal incluyen la información de indicador disponible de división horizontal de BT con valor 1 y la información de indicador disponible de división horizontal de TT con valor 1, y los indicadores disponibles de división vertical incluyen la información de indicador disponible de división vertical de BT con valor 1 y la información de indicador disponible de división vertical de TT con valor 1.
15. Un método que comprende obtener un flujo de bits, en donde el flujo de bits se genera derivando un elemento de sintaxis de indicador de división que representa una estructura de división de un bloque actual; derivando un índice de contexto para el elemento de sintaxis de indicador de división en base a la información de disponibilidad de división del bloque actual; determinando un modelo de contexto en base al índice de contexto derivado; generando el flujo de bits codificando un valor del elemento de sintaxis de indicador de división en base a CABAC utilizando el modelo de contexto determinado; y transmitiendo el flujo de bits
en donde el elemento de sintaxis de indicador de división comprende: un indicador de división direccional que representa si el bloque actual está dividido verticalmente,
en donde la información de disponibilidad de división comprende: una información de indicador disponible de división horizontal de BT relacionada con si se permite que el bloque actual se divida horizontalmente en base a una estructura de BT, una información de indicador disponible de división horizontal de TT relacionada con si se permite que el bloque actual se divida horizontalmente en base a una estructura de TT, una información de indicador disponible de división vertical de BT relacionada con si se permite que el bloque actual se divida verticalmente en base a la estructura de BT, y una información de indicador disponible de división vertical de TT relacionada con si se permite que el bloque actual se divida verticalmente en base a la estructura de TT,
caracterizado por que el índice de contexto para el indicador de división direccional se deriva en base a una cantidad de indicadores disponibles de división horizontal y a una cantidad de indicadores disponibles de división vertical, y
los indicadores disponibles de división horizontal incluyen la información de indicador disponible de división horizontal de BT con valor 1 y la información de indicador disponible de división horizontal de TT con valor 1, y los indicadores disponibles de división vertical incluyen la información de indicador disponible de división vertical de BT con valor 1 y la información de indicador disponible de división vertical de TT con valor 1.
ES19820207T 2018-06-15 2019-06-14 Método y aparato para la codificación de entropía basada en CABAC Active ES2945186T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20180069073 2018-06-15
US201862692887P 2018-07-02 2018-07-02
PCT/KR2019/007213 WO2019240539A1 (ko) 2018-06-15 2019-06-14 Cabac에 기반한 엔트로피 코딩 방법 및 그 장치

Publications (1)

Publication Number Publication Date
ES2945186T3 true ES2945186T3 (es) 2023-06-29

Family

ID=68842043

Family Applications (1)

Application Number Title Priority Date Filing Date
ES19820207T Active ES2945186T3 (es) 2018-06-15 2019-06-14 Método y aparato para la codificación de entropía basada en CABAC

Country Status (11)

Country Link
US (3) US11330267B2 (es)
EP (2) EP4221208A1 (es)
KR (3) KR20240014595A (es)
CN (4) CN112514389B (es)
ES (1) ES2945186T3 (es)
FI (1) FI3809702T3 (es)
HR (1) HRP20230465T1 (es)
HU (1) HUE061846T2 (es)
PL (1) PL3809702T3 (es)
SI (1) SI3809702T1 (es)
WO (1) WO2019240539A1 (es)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI3809702T3 (fi) 2018-06-15 2023-05-11 Lg Electronics Inc Menetelmä ja laite CABAC-pohjaista entropiakoodausta varten
CN115428463A (zh) * 2020-04-02 2022-12-02 抖音视界有限公司 变换跳过模式下的系数编解码
CN117157979A (zh) * 2021-04-12 2023-12-01 Oppo广东移动通信有限公司 编解码方法、编码器、解码器以及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101791078B1 (ko) * 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
US9049452B2 (en) * 2011-01-25 2015-06-02 Mediatek Singapore Pte. Ltd. Method and apparatus for compressing coding unit in high efficiency video coding
EP2744202B1 (en) * 2011-08-11 2020-05-27 Sun Patent Trust Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, and image encoding/decoding apparatus
US9088796B2 (en) * 2011-11-07 2015-07-21 Sharp Kabushiki Kaisha Video decoder with enhanced CABAC decoding
US9237358B2 (en) * 2011-11-08 2016-01-12 Qualcomm Incorporated Context reduction for context adaptive binary arithmetic coding
JP6295951B2 (ja) * 2012-06-25 2018-03-20 ソニー株式会社 画像復号装置及び画像復号方法
US9088770B2 (en) * 2012-08-15 2015-07-21 Intel Corporation Size based transform unit context derivation
TWI669952B (zh) * 2012-09-18 2019-08-21 美商Vid衡器股份有限公司 使用圖塊及圖塊組的感興趣區域視訊編碼的方法及裝置
US9936201B2 (en) * 2015-01-27 2018-04-03 Qualcomm Incorporated Contexts for large coding tree units
US10212444B2 (en) * 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
US11095892B2 (en) * 2016-09-20 2021-08-17 Kt Corporation Method and apparatus for processing video signal
EP3306938A1 (en) * 2016-10-05 2018-04-11 Thomson Licensing Method and apparatus for binary-tree split mode coding
EP3306927A1 (en) * 2016-10-05 2018-04-11 Thomson Licensing Encoding and decoding methods and corresponding devices
WO2018110462A1 (ja) * 2016-12-16 2018-06-21 シャープ株式会社 画像復号装置及び画像符号化装置
KR102559063B1 (ko) * 2017-02-24 2023-07-24 주식회사 케이티 비디오 신호 처리 방법 및 장치
EP3383043A1 (en) * 2017-03-27 2018-10-03 Thomson Licensing Methods and apparatus for picture encoding and decoding
EP3701719B1 (en) * 2017-10-27 2024-02-21 Huawei Technologies Co., Ltd. Methods and apparatuses for signaling partioning information for picture encoding and decoding
WO2019131807A1 (en) * 2017-12-29 2019-07-04 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks for video coding
FI3809702T3 (fi) 2018-06-15 2023-05-11 Lg Electronics Inc Menetelmä ja laite CABAC-pohjaista entropiakoodausta varten

Also Published As

Publication number Publication date
WO2019240539A1 (ko) 2019-12-19
KR20210003285A (ko) 2021-01-11
EP3809702B1 (en) 2023-04-19
CN116527901A (zh) 2023-08-01
KR20240014595A (ko) 2024-02-01
EP3809702A4 (en) 2021-08-04
CN116527900A (zh) 2023-08-01
CN112514389A (zh) 2021-03-16
SI3809702T1 (sl) 2023-09-29
KR102627934B1 (ko) 2024-01-23
US11665349B2 (en) 2023-05-30
EP4221208A1 (en) 2023-08-02
EP3809702A1 (en) 2021-04-21
US20210099709A1 (en) 2021-04-01
CN116668694A (zh) 2023-08-29
CN112514389B (zh) 2023-06-23
KR20230003417A (ko) 2023-01-05
HRP20230465T1 (hr) 2023-09-15
HUE061846T2 (hu) 2023-08-28
US20230232007A1 (en) 2023-07-20
US20220132128A1 (en) 2022-04-28
PL3809702T3 (pl) 2023-08-14
KR102480472B1 (ko) 2022-12-23
US20230254490A1 (en) 2023-08-10
US11330267B2 (en) 2022-05-10
FI3809702T3 (fi) 2023-05-11

Similar Documents

Publication Publication Date Title
ES2966115T3 (es) Métodos de codificación de imagen basados en historial
CN111373753B (zh) 变换因子级别编码方法及其装置
JP2024071461A (ja) 映像コーディングシステムにおいて文脈コーディングされたサインフラグを使用する映像デコーディング方法及びその装置
ES2952457T3 (es) Método y aparato para construir un candidato de predicción en base a HMVP
ES2945186T3 (es) Método y aparato para la codificación de entropía basada en CABAC
US11843778B2 (en) Transform coefficient coding method and device therefor
JP2021503233A (ja) レジデュアルコーディング方法及びその装置
CN113678456A (zh) 用信号通知关于色度格式的信息的方法和装置
KR20210042168A (ko) 변환 계수 코딩 방법 및 그 장치
CN113767625A (zh) 基于mpm列表的帧内预测方法及其设备
CN111989919A (zh) 基于使用mpm列表的帧内预测的图像编码方法及设备
ES2953235T3 (es) Codificación de imágenes basada en transformadas
CN111587575B (zh) 基于高频归零确定变换系数扫描顺序的方法及其设备
US12003726B2 (en) Method and apparatus for CABAC-based entropy coding
KR20210060498A (ko) 변환 계수 코딩 방법 및 장치
US11509903B2 (en) Method and device for coding transform skip flag
JP2024024020A (ja) 変換に基づく映像コーディング方法及びその装置