ES3057180T3 - Image encoding/decoding method and apparatus for performing prediction on basis of reconfigured prediction mode type of leaf node, and bitstream transmission method - Google Patents
Image encoding/decoding method and apparatus for performing prediction on basis of reconfigured prediction mode type of leaf node, and bitstream transmission methodInfo
- Publication number
- ES3057180T3 ES3057180T3 ES20910040T ES20910040T ES3057180T3 ES 3057180 T3 ES3057180 T3 ES 3057180T3 ES 20910040 T ES20910040 T ES 20910040T ES 20910040 T ES20910040 T ES 20910040T ES 3057180 T3 ES3057180 T3 ES 3057180T3
- Authority
- ES
- Spain
- Prior art keywords
- current block
- type
- prediction mode
- mode
- prediction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree 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
Se proporciona un método y un aparato de codificación/decodificación de imágenes. El método de decodificación de imágenes, según la presente divulgación, puede comprender los siguientes pasos: obtener un bloque actual correspondiente a un nodo hoja con una estructura de árbol de partición según un tipo de modo de predicción predeterminado; reconfigurar el tipo de modo de predicción del bloque actual; obtener información del modo de predicción del bloque actual según el tipo de modo de predicción reconfigurado; y generar un bloque de predicción del bloque actual según la información del modo de predicción. La reconfiguración del tipo de modo de predicción del bloque actual se realiza según al menos uno de los siguientes: tipo de segmento y tamaño del bloque actual. (Traducción automática con Google Translate, sin valor legal)
Description
[0001] DESCRIPCIÓN
[0002] Método y aparato de codificación/decodificación de imágenes para realizar predicción en base al tipo de modo de predicción reconfigurado de nodo hoja, y método de transmisión de flujo de bits
[0003] Campo técnico
[0004] La presente divulgación se refiere a un método y aparato de codificación/decodificación de imágenes y un método de transmisión de un flujo de bits y, más particularmente, a un método y aparato de codificación/decodificación de imágenes para realizar predicción en base a un tipo de modo de predicción restablecido de un nodo hoja, y un método de transmisión de un flujo de bits generado por el método/aparato de codificación de imágenes de la presente divulgación.
[0005] Técnica anterior
[0006] Recientemente, la demanda de imágenes de alta resolución y alta calidad, tal como imágenes de alta definición (HD) e imágenes de ultra alta definición (UHD), está aumentando en diversos campos. A medida que se mejoran la resolución y la calidad de los datos de imagen, la cantidad de información o bits transmitidos aumenta relativamente en comparación con los datos de imagen existentes. Un aumento en la cantidad de información o bits transmitidos provoca un aumento en el coste de transmisión y el coste de almacenamiento. Por ejemplo, a partir del documento "Versatile Video Coding (Borrador 7) " de Benjamin Bross et al. (16. Reunión JVET; 01/10/2019 - 22/10/2019; GINEBRA), se conoce un método de codificación de imágenes donde el modo de predicción de una unidad de codificación depende del tipo de segmento de la unidad de codificación. Por consiguiente, existe la necesidad de tecnología de compresión de imágenes de alta eficiencia para transmitir, almacenar y reproducir información de manera efectiva en imágenes de alta resolución y alta calidad.
[0007] Divulgación
[0008] Problema técnico
[0009] Un objeto de la presente divulgación es proporcionar un método y aparato de codificación/decodificación de imágenes con eficiencia de codificación/decodificación mejorada.
[0010] Otro objeto de la presente divulgación es proporcionar un método y aparato de codificación/decodificación de imágenes para restablecer un tipo de modo de predicción en base a al menos uno de un tipo de segmento o tamaño de un bloque actual.
[0011] Otro objeto de la presente divulgación es proporcionar un método y aparato de codificación/decodificación de imágenes para codificar/decodificar información del modo de predicción en base a un tipo de modo de predicción restablecido de un bloque actual.
[0012] Otro objeto de la presente divulgación es proporcionar un método de transmisión de un flujo de bits generado por un método o aparato de codificación de imágenes según la presente divulgación.
[0013] Solución técnica
[0014] La invención se expone en el conjunto de reivindicaciones adjuntas.
[0015] Efectos ventajosos
[0016] Según la presente divulgación, es posible proporcionar un método de codificación/decodificación de imágenes con eficiencia de codificación/decodificación mejorada.
[0017] Según la presente divulgación, es posible proporcionar un método de codificación/decodificación de imágenes para restablecer un tipo de modo de predicción en base a al menos uno de un tipo de segmento o tamaño de un bloque actual.
[0018] Según la presente divulgación, es posible proporcionar un método de codificación/decodificación de imágenes para codificar/decodificar información del modo de predicción en base a un tipo de modo de predicción restablecido de un bloque actual.
[0019] Descripción de los dibujos
[0020] La FIG.1 es una vista que muestra esquemáticamente un sistema de codificación de vídeo, al que es aplicable una realización de la presente divulgación.
[0021] La FIG. 2 es una vista que muestra esquemáticamente un aparato de codificación de imágenes, al que es aplicable una realización de la presente divulgación.
[0022] La FIG. 3 es una vista que muestra esquemáticamente un aparato de decodificación de imágenes, al que es aplicable una realización de la presente divulgación.
[0023] La FIG.4 es una vista que ilustra una estructura de particionamiento de una imagen según una realización. La FIG. 5 es una vista que muestra una realización de un tipo de particionamiento de un bloque según una estructura de árbol multitipo.
[0024] La FIG. 6 es una vista que muestra un mecanismo de señalización de información de división de bloques en un árbol cuaternario con estructura de árbol multitipo anidada según la presente divulgación.
[0025] La FIG.7 es una vista que muestra un ejemplo en el que una CTU se particiona en múltiples CU aplicando un árbol multitipo después de aplicar un árbol cuaternario.
[0026] La FIG. 8 muestra patrones de división redundantes que pueden ocurrir en la división de árbol binario y la división de árbol ternario.
[0027] La FIG. 9A es una vista que ilustra una dirección de intra predicción según una realización de la presente divulgación.
[0028] La FIG. 9B es una vista que ilustra una dirección de intra predicción según otra realización de la presente divulgación.
[0029] La FIG. 10 es un diagrama de flujo que ilustra un método de codificación de vídeo/imagen basado en inter predicción.
[0030] La FIG. 11 es una vista que ilustra la configuración de una unidad de inter predicción 180 según la presente divulgación.
[0031] La FIG. 12 es un diagrama de flujo que ilustra un método de decodificación de vídeo/imagen basado en inter predicción.
[0032] La FIG. 13 es una vista que ilustra la configuración de una unidad de inter predicción 260 según la presente divulgación.
[0033] La FIG.14 es una vista que ilustra un ejemplo de sintaxis de coding_unit que incluye información del modo de predicción.
[0034] La FIG. 15 es una vista que ilustra modos de predicción aplicables a un bloque actual según un tipo de segmento y tamaño del bloque actual.
[0035] Las FIG. 16, 18 y 19 son vistas que ilustran la sintaxis de coding_unit según ejemplos que no pertenecen a la presente invención, y la Fig. 17 es una vista que ilustra la sintaxis de coding_unit según una realización de la presente divulgación.
[0036] La FIG. 20 es un diagrama de flujo que ilustra un método de codificación de imágenes según una realización de la presente divulgación.
[0037] La FIG.21 es un diagrama de flujo que ilustra un método de decodificación de imágenes según una realización de la presente divulgación.
[0038] La FIG.22 es una vista que muestra un sistema de transmisión continua de contenidos, al que es aplicable una realización de la presente divulgación.
[0039] Modo de la invención
[0040] En lo sucesivo, se describirán en detalle las realizaciones de la presente divulgación con referencia a los dibujos adjuntos para ser implementadas fácilmente por los expertos en la técnica. Sin embargo, la presente divulgación puede implementarse de diversas formas diferentes, y no está limitada a las realizaciones descritas en la presente memoria.
[0041] Al describir la presente divulgación, si se determina que la descripción detallada de una función o construcción conocida relacionada hace que el alcance de la presente divulgación sea innecesariamente ambiguo, se omitirá
la descripción detallada de la misma. En los dibujos, se omiten las partes no relacionadas con la descripción de la presente divulgación, y se asignan números de referencia similares a partes similares.
[0042] En la presente divulgación, cuando un componente está "conectado", "acoplado" o "vinculado" a otro componente, puede incluir no solo una relación de conexión directa, sino también una relación de conexión indirecta en la que está presente un componente intermedio. Además, cuando un componente "incluye" o "tiene" otros componentes, significa que pueden incluirse además otros componentes, en lugar de excluir otros componentes a menos que se indique lo contrario.
[0043] En la presente divulgación, los términos primero, segundo, etc. pueden utilizarse solo con el propósito de distinguir un componente de otros componentes, y no limitan el orden o importancia de los componentes a menos que se indique lo contrario. Por consiguiente, dentro del alcance de la presente divulgación, un primer componente en una realización puede denominarse segundo componente en una realización y, de manera similar, un segundo componente en una realización puede denominarse primer componente en una realización. En la presente divulgación, los componentes que se distinguen entre sí pretenden describir claramente cada característica, y no significan que los componentes estén necesariamente separados. Es decir, una pluralidad de componentes pueden integrarse e implementarse en una unidad de hardware o software, o un componente puede distribuirse e implementarse en una pluralidad de unidades de hardware o software. Por lo tanto, incluso si no se indica lo contrario, dichas realizaciones en las que los componentes están integrados o el componente está distribuido también están incluidas en el alcance de la presente divulgación.
[0044] En la presente divulgación, los componentes descritos en diversas realizaciones no significan necesariamente componentes esenciales, y algunos componentes pueden ser componentes opcionales. Por consiguiente, una realización que consiste en un subconjunto de componentes descritos en una realización también está incluida en el alcance de la presente divulgación. Además, las realizaciones que incluyen otros componentes además de los componentes descritos en las diversas realizaciones están incluidas en el alcance de la presente divulgación.
[0045] La presente divulgación se refiere a la codificación y decodificación de una imagen, y los términos utilizados en la presente divulgación pueden tener un significado general comúnmente utilizado en el campo técnico, al que pertenece la presente divulgación, a menos que se definan nuevamente en la presente divulgación.
[0046] En la presente divulgación, una "imagen" se refiere generalmente a una unidad que representa una imagen en un período de tiempo específico, y un segmento/mosaico es una unidad de codificación que constituye una parte de una imagen, y una imagen puede estar compuesta por uno o más segmentos/mosaicos. Además, un segmento/mosaico puede incluir una o más unidades de árbol de codificación (CTU).
[0047] En la presente divulgación, un "píxel" o un "pel" puede significar una unidad más pequeña que constituye una imagen (o imagen). Además, "muestra" puede utilizarse como un término correspondiente a un píxel. Una muestra puede representar generalmente un píxel o un valor de un píxel, y puede representar solo un valor de píxel/píxel de un componente de luma o solo un valor de píxel/píxel de un componente de croma.
[0048] En la presente divulgación, una "unidad" puede representar una unidad básica de procesamiento de imágenes. La unidad puede incluir al menos una de una región específica de la imagen e información relacionada con la región. La unidad puede utilizarse indistintamente con términos tales como "matriz de muestras", "bloque" o "área" en algunos casos. En un caso general, un bloque de MxN puede incluir muestras (o matrices de muestras) o un conjunto (o matriz) de coeficientes de transformación de M columnas y N filas.
[0049] En la presente divulgación, "bloque actual" puede significar uno de "bloque de codificación actual", "unidad de codificación actual", "bloque objetivo de codificación", "bloque objetivo de decodificación" o "bloque objetivo de procesamiento". Cuando se realiza una predicción, "bloque actual" puede significar "bloque de predicción actual" o "bloque objetivo de predicción". Cuando se realiza una transformación (transformación inversa)/cuantificación (descuantificación), "bloque actual" puede significar "bloque de transformación actual" o "bloque objetivo de transformación". Cuando se realiza un filtrado, "bloque actual" puede significar "bloque objetivo de filtrado".
[0050] Además, en la presente divulgación, un "bloque actual" puede significar un bloque que incluye tanto un bloque de componente de luma como un bloque de componente de croma o "un bloque de luma de un bloque actual" a menos que se indique explícitamente como un bloque de croma. El bloque de componente de croma del bloque actual puede expresarse incluyendo una descripción explícita de un bloque de componente de luma, tal como "bloque de luma" o "bloque de luma actual". Además, el bloque de componente de croma del bloque actual puede expresarse explícitamente incluyendo una descripción explícita del bloque de componente de croma, tal como "bloque de croma" o "bloque de croma actual".
[0051] En la presente divulgación, el término "/" y "," debe interpretarse para indicar "y/o". Por ejemplo, la expresión "A/B" y "A, B" puede significar "A y/o B". Además, "A/B/C" y "A/B/C" pueden significar "al menos uno de A, B y/o C".
[0052] En la presente divulgación, el término "o" debe interpretarse para indicar "y/o". Por ejemplo, la expresión "A o B" puede comprender 1) solo "A", 2) solo "B" y/o 3) tanto "A como B". En otras palabras, en la presente divulgación, el término "o" debe interpretarse para indicar "adicionalmente o alternativamente".
[0053] Visión general del sistema de codificación de vídeo
[0054] La FIG.1 es una vista que muestra un sistema de codificación de vídeo, al que es aplicable una realización de la presente divulgación.
[0055] El sistema de codificación de vídeo según la invención puede incluir un aparato de codificación 10 y un aparato de decodificación 20. El aparato de codificación 10 puede entregar información o datos de vídeo y/o imagen codificados al aparato de decodificación 20 en forma de archivo o transmisión continua a través de un medio o red de almacenamiento digital.
[0056] El aparato de codificación 10 según la invención puede incluir un generador de fuente de vídeo 11, una unidad de codificación 12 y un transmisor 13. El aparato de decodificación 20 puede incluir un receptor 21, una unidad 22 de decodificación y un renderizador 23. La unidad de codificación 12 puede denominarse unidad de codificación de vídeo/imagen, y la unidad de decodificación 22 puede denominarse unidad de decodificación de vídeo/imagen. El transmisor 13 puede incluirse en la unidad de codificación 12. El receptor 21 puede incluirse en la unidad de decodificación 22. El renderizador 23 puede incluir una pantalla y la pantalla puede configurarse como un dispositivo separado o un componente externo.
[0057] El generador de fuente de vídeo 11 puede adquirir un vídeo/imagen a través de un proceso de captura, síntesis o generación del vídeo/imagen. El generador de fuente de vídeo 11 puede incluir un dispositivo de captura de vídeo/imagen y/o un dispositivo de generación de vídeo/imagen. El dispositivo de captura de video/imagen puede incluir, por ejemplo, una o más cámaras, archivos de video/imagen que incluyen video/imágenes capturadas previamente y similares. El dispositivo de generación de vídeo/imagen puede incluir, por ejemplo, ordenadores, tabletas y teléfonos inteligentes, y puede generar (electrónicamente) vídeo/imágenes. Por ejemplo, puede generarse un vídeo/imagen virtual a través de un ordenador o similar. En este caso, el proceso de captura de video/imagen puede sustituirse por un proceso de generación de datos relacionados.
[0058] La unidad de codificación 12 puede codificar un vídeo/imagen de entrada. La unidad de codificación 12 puede realizar una serie de procedimientos tales como predicción, transformación y cuantificación para la eficiencia de compresión y codificación. La unidad de codificación 12 puede emitir datos codificados (información de vídeo/imagen codificada) en forma de flujo de bits.
[0059] El transmisor 13 puede transmitir la información de vídeo/imagen codificada o la salida de datos en forma de flujo de bits al receptor 21 del aparato de decodificación 20 a través de un medio de almacenamiento digital o una red en forma de un archivo o transmisión continua. El medio de almacenamiento digital puede incluir diversos medios de almacenamiento tales como USB, SD, CD, DVD, Blu-ray, HDD, SSD y similares. El transmisor 13 puede incluir un elemento para generar un archivo multimedia a través de un formato de archivo predeterminado y puede incluir un elemento para la transmisión a través de una red de difusión/comunicación. El receptor 21 puede extraer/recibir el flujo de bits del medio de almacenamiento o la red y transmitir el flujo de bits a la unidad de decodificación 22.
[0060] La unidad de decodificación 22 puede decodificar el vídeo/imagen realizando una serie de procedimientos tales como descuantificación, transformación inversa y predicción correspondientes a la operación de la unidad de codificación 12.
[0061] El renderizador 23 puede renderizar el vídeo/imagen decodificado. El vídeo/imagen renderizado puede visualizarse a través de la pantalla.
[0062] Visión general del aparato de codificación de imágenes
[0063] La FIG. 2 es una vista que muestra esquemáticamente un aparato de codificación de imágenes, al que es aplicable una realización de la presente divulgación.
[0064] Como se muestra en la FIG. 2, el aparato de codificación de imágenes 100 puede incluir un particionador de imágenes 110, un sustractor 115, un transformador 120, un cuantificador 130, un descuantificador 140, un transformador inverso 150, un sumador 155, un filtro 160, una memoria 170, una unidad de inter predicción 180, una unidad de intra predicción 185 y un codificador de entropía 190. La unidad de inter predicción 180 y la unidad de intra predicción 185 pueden denominarse colectivamente "unidad de predicción". El transformador
120, el cuantificador 130, el descuantificador 140 y el transformador inverso 150 pueden incluirse en un procesador residual. El procesador residual puede incluir además el restador 115.
[0066] Todos o al menos algunos de la pluralidad de componentes que configuran el aparato de codificación de imágenes 100 pueden configurarse mediante un componente de hardware (por ejemplo, un codificador o un procesador) en algunas realizaciones. Además, la memoria 170 puede incluir una memoria intermedia de imágenes decodificadas (DPB) y puede configurarse mediante un medio de almacenamiento digital.
[0068] El particionador de imágenes 110 puede particionar una imagen de entrada (o una imagen o un fotograma) introducida en el aparato de codificación de imágenes 100 en una o más unidades de procesamiento. Por ejemplo, la unidad de procesamiento puede denominarse unidad de codificación (CU). La unidad de codificación puede adquirirse particionando recursivamente una unidad de árbol de codificación (CTU) o una unidad de codificación más grande (LCU) según una estructura de árbol cuaternario, árbol binario y árbol ternario (QT/BT/TT). Por ejemplo, una unidad de codificación puede particionarse en una pluralidad de unidades de codificación de una profundidad más profunda en base a una estructura de árbol cuaternario, una estructura de árbol binario y/o una estructura ternaria. Para el particionamiento de la unidad de codificación, puede aplicarse primero una estructura de árbol cuaternario y la estructura de árbol binario y/o la estructura ternaria pueden aplicarse más adelante. El procedimiento de codificación según la presente divulgación puede realizarse en base a la unidad de codificación final que ya no está particionada. La unidad de codificación más grande puede utilizarse como la unidad de codificación final o la unidad de codificación de profundidad más profunda adquirida particionando la unidad de codificación más grande puede utilizarse como la unidad de codificación final. Aquí, el procedimiento de codificación puede incluir un procedimiento de predicción, transformación y reconstrucción, que se describirá más adelante. Como otro ejemplo, la unidad de procesamiento del procedimiento de codificación puede ser una unidad de predicción (PU) o una unidad de transformación (TU). La unidad de predicción y la unidad de transformación pueden dividirse o particionarse a partir de la unidad de codificación final. La unidad de predicción puede ser una unidad de predicción de muestras, y la unidad de transformación 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.
[0070] La unidad de predicción (la unidad de inter predicción 180 o la unidad de intra predicción 185) puede realizar la predicción en un bloque que va a procesarse (bloque actual) y generar un bloque predicho que incluye muestras de predicción para el bloque actual. La unidad de predicción puede determinar si se aplica intra predicción o inter predicción sobre la base del bloque actual o de la CU. La unidad de predicción puede generar diversa información relacionada con la predicción del bloque actual y transmitir la información generada al codificador de entropía 190. La información sobre la predicción puede codificarse en el codificador de entropía 190 y emitirse en forma de flujo de bits.
[0072] La unidad de intra predicción 185 puede predecir el bloque actual haciendo referencia a las muestras en la imagen actual. Las muestras referidas pueden ubicarse en las proximidades del bloque actual o pueden ubicarse separadas según el modo de intra predicción y/o la técnica de intra predicción. Los modos de intra predicción pueden incluir una pluralidad de modos no direccionales y una pluralidad de modos direccionales. El modo no direccional puede incluir, por ejemplo, un modo DC y un modo planar. El modo direccional puede incluir, por ejemplo, 33 modos de predicción direccional o 65 modos de predicción direccional según el grado de detalle de la dirección de predicción. Sin embargo, esto es meramente un ejemplo, pueden utilizarse más o menos modos de predicción direccional dependiendo de un ajuste. La unidad de intra predicción 185 puede determinar el modo de predicción aplicado para el bloque actual utilizando un modo de predicción aplicado para un bloque vecino.
[0074] La unidad de inter predicción 180 puede derivar un bloque predicho para el bloque actual en base a un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia. En este caso, para reducir la cantidad de información de movimiento transmitida en el modo de inter predicción, la información de movimiento puede predecirse en unidades de bloques, subbloques o muestras en base a la correlación de información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de movimiento y un índice de imagen de referencia. La información de movimiento puede incluir además información de dirección de inter predicción (predicción L0, predicción L1, predicción Bi, etc.). En el caso de inter predicción, el bloque vecino puede incluir un bloque vecino espacial presente en la imagen actual y un bloque vecino temporal presente en la imagen de referencia. La imagen de referencia que incluye el bloque de referencia y la imagen de referencia que incluye el bloque vecino temporal pueden ser la misma o diferentes. El bloque vecino temporal puede denominarse bloque de referencia colocalizado, CU co-localizada (colCU) y similares. La imagen de referencia que incluye el bloque vecino temporal puede denominarse imagen co-localizada (colPic). Por ejemplo, la unidad de inter predicción 180 puede configurar una lista de candidatos de información de movimiento en base a bloques vecinos y generar información que especifica qué candidato se utiliza para derivar un vector de movimiento y/o un índice de imagen de referencia del bloque actual. La inter predicción puede realizarse en base a diversos modos de predicción. Por ejemplo, en el caso de un modo de omisión y un modo de fusión, la unidad de inter predicción 180 puede utilizar información de movimiento del bloque vecino como información de movimiento del bloque
actual. En el caso del modo de omisión, a diferencia del modo de fusión, puede no transmitirse la señal residual. En el caso del modo de predicción de vector de movimiento (MVP), el vector de movimiento del bloque vecino puede utilizarse como un predictor de vector de movimiento, y el vector de movimiento del bloque actual puede señalizarse codificando una diferencia del vector de movimiento y un indicador para un predictor de vector de movimiento. La diferencia del vector de movimiento puede significar una diferencia entre el vector de movimiento del bloque actual y el predictor de vector de movimiento.
[0076] La unidad de predicción puede generar una señal de predicción en base a diversos métodos de predicción y técnicas de predicción descritos a continuación. Por ejemplo, la unidad de predicción puede no solo aplicar intra predicción o inter predicción, sino también aplicar simultáneamente tanto intra predicción como inter predicción, para predecir el bloque actual. Un método de predicción para aplicar simultáneamente tanto intra predicción como inter predicción para la predicción del bloque actual puede denominarse predicción combinada inter e intra (CIIP). Además, la unidad de predicción puede realizar una copia intrabloque (IBC) para la predicción del bloque actual. La copia intrabloque puede utilizarse para la codificación de contenido de imagen/vídeo de un juego o similar, por ejemplo, la codificación de contenido de pantalla (SCC). IBC es un método de predicción de una imagen actual utilizando un bloque de referencia reconstruido previamente en la imagen actual en una ubicación distinta del bloque actual por una distancia predeterminada. Cuando se aplica IBC, la ubicación del bloque de referencia en la imagen actual puede codificarse como un vector (vector de bloque) correspondiente a la distancia predeterminada. IBC realiza básicamente predicción en la imagen actual, pero puede realizarse de manera similar a la inter predicción en que se deriva un bloque de referencia dentro de la imagen actual. Es decir, IBC puede utilizar al menos una de las técnicas de inter predicción descritas en la presente divulgación.
[0078] La señal de predicción generada por la unidad de predicción puede utilizarse para generar una señal reconstruida o para generar una señal residual. El sustractor 115 puede generar una señal residual (bloque residual o matriz de muestras residuales) sustrayendo la señal de predicción (bloque predicho o matriz de muestras de predicción) emitida desde la unidad de predicción de la señal de imagen de entrada (bloque original o matriz de muestras originales). La señal residual generada puede transmitirse al transformador 120.
[0080] El transformador 120 puede generar coeficientes de transformación aplicando una técnica de transformación a la señal residual. Por ejemplo, la técnica de transformación puede incluir al menos una de una transformada de coseno discreta (DCT), una transformada de seno discreta (DST), una transformada de karhunen-loeve (KLT), una transformada basada en grafos (GBT) o una transformada condicionalmente no lineal (CNT). Aquí, la GBT significa transformada obtenida de un gráfico cuando la información de relación entre píxeles se representa mediante el gráfico. La CNT se refiere a la transformación adquirida en base a una señal de predicción generada utilizando todos los píxeles reconstruidos previamente. Además, el proceso de transformación puede aplicarse para bloques de píxeles cuadrados que tienen el mismo tamaño o puede aplicarse para bloques que tienen un tamaño variable en lugar de cuadrado.
[0082] El cuantificador 130 puede cuantificar los coeficientes de transformación y transmitirlos al codificador de entropía 190. El codificador de entropía 190 puede codificar la señal cuantificada (información sobre los coeficientes de transformación cuantificados) y emitir un flujo de bits. La información sobre los coeficientes de transformación cuantificados puede denominarse información residual. El cuantificador 130 puede reorganizar los coeficientes de transformación cuantificados en forma de bloque en forma de vector unidimensional en base a en un orden de escaneo de coeficientes y generar información sobre los coeficientes de transformación cuantificados en base a los coeficientes de transformación cuantificados en forma de vector unidimensional.
[0083] El codificador de entropía 190 puede realizar diversos métodos de codificación tales como, por ejemplo, Golomb exponencial, codificación de longitud variable adaptativa al contexto (CAVLC), codificación aritmética binaria adaptativa al contexto (CABAC) y similares. El codificador de entropía 190 puede codificar la información necesaria para la reconstrucción de vídeo/imagen distinta de los coeficientes de transformación cuantificados (por ejemplo, valores de elementos de sintaxis, etc.) de forma conjunta o por separado. La información codificada (por ejemplo, información de vídeo/imagen codificada) puede transmitirse o almacenarse en unidades de capas de abstracción de red (NAL) en forma de flujo de bits. La información de vídeo/imagen puede incluir además información sobre diversos conjuntos de parámetros tales como un conjunto de parámetros de adaptación (APS), un conjunto de parámetros de imagen (PPS), un conjunto de parámetros de secuencia (SPS) o un conjunto de parámetros de vídeo (VPS). Además, la información de vídeo/imagen puede incluir además información general de restricciones. La información señalizada, la información transmitida y/o los elementos de sintaxis descritos en la presente divulgación pueden codificarse a través del procedimiento de codificación descrito anteriormente e incluirse en el flujo de bits.
[0085] El flujo de bits puede transmitirse a través de una red o puede almacenarse en un medio de almacenamiento digital. La red puede incluir una red de difusión y/o una red de comunicación, y el medio de almacenamiento digital puede incluir diversos medios de almacenamiento tales como USB, SD, CD, DVD, Blu-ray, HDD, SSD y similares. Un transmisor (no mostrado) que transmite una señal emitida desde el codificador de entropía 190 y/o una unidad de almacenamiento (no mostrada) que almacena la señal puede incluirse como elemento
interno/externo del aparato de codificación de imágenes 100. Alternativamente, el transmisor puede proporcionarse como el componente del codificador de entropía 190.
[0086] Los coeficientes de transformación cuantificados emitidos desde el cuantificador 130 pueden utilizarse para generar una señal residual. Por ejemplo, la señal residual (bloque residual o muestras residuales) puede reconstruirse aplicando descuantificación y transformación inversa a los coeficientes de transformación cuantificados a través del descuantificador 140 y el transformador inverso 150.
[0087] El sumador 155 suma la señal residual reconstruida a la señal de predicción emitida desde la unidad de inter predicción 180 o la unidad de intra predicción 185 para generar una señal reconstruida (imagen reconstruida, bloque reconstruido, matriz de muestras reconstruidas). Si no hay ningún residuo para el bloque que va a procesarse, tal como un caso donde se aplica el modo de omisión, el bloque predicho puede utilizarse como el bloque reconstruido. El sumador 155 puede denominarse reconstructor o generador de bloques reconstruidos. La señal reconstruida generada puede utilizarse para la intra predicción de un siguiente bloque que va a procesarse en la imagen actual y puede utilizarse para la inter predicción de una siguiente imagen a través del filtrado como se describe a continuación.
[0088] El filtro 160 puede mejorar la calidad de imagen subjetiva/objetiva aplicando filtrado a la señal reconstruida. Por ejemplo, el filtro 160 puede generar una imagen reconstruida modificada aplicando diversos métodos de filtrado a la imagen reconstruida y almacenar la imagen reconstruida modificada en la memoria 170, específicamente, una DPB de la memoria 170. Los diversos métodos de filtrado pueden incluir, por ejemplo, filtrado de desbloqueo, un desplazamiento adaptativo de muestras, un filtro de bucle adaptativo, un filtro bilateral y similares. El filtro 160 puede generar diversa información relacionada con el filtrado y transmitir la información generada al codificador de entropía 190 como se describe más adelante en la descripción de cada método de filtrado. La información relacionada con el filtrado puede codificarse mediante el codificador de entropía 190 y emitirse en forma de flujo de bits.
[0089] La imagen reconstruida modificada transmitida a la memoria 170 puede utilizarse como la imagen de referencia en la unidad de inter predicción 180. Cuando se aplica inter predicción a través del aparato de codificación de imágenes 100, puede evitarse el desajuste de predicción entre el aparato de codificación de imágenes 100 y el aparato de decodificación de imágenes y puede mejorarse la eficiencia de codificación.
[0090] La DPB de la memoria 170 puede almacenar la imagen reconstruida modificada para su uso como imagen de referencia en la unidad de inter predicción 180. La memoria 170 puede almacenar la información de movimiento del bloque a partir del cual que se deriva (o codifica) la información de movimiento en la imagen actual y/o la información de movimiento de los bloques en la imagen que se han reconstruido previamente. La información de movimiento almacenada puede transmitirse a la unidad de inter predicción 180 y utilizarse como la información de movimiento del bloque vecino espacial o la información de movimiento del bloque vecino temporal. La memoria 170 puede almacenar muestras reconstruidas de bloques reconstruidos en la imagen actual y puede transferir las muestras reconstruidas a la unidad de intra predicción 185.
[0091] Visión general del aparato de decodificación de imágenes
[0092] La FIG. 3 es una vista que muestra esquemáticamente un aparato de decodificación de imágenes, al que es aplicable una realización de la presente divulgación.
[0093] Como se muestra en la FIG. 3, el aparato de decodificación de imágenes 200 puede incluir un decodificador de entropía 210, un descuantificador 220, un transformador inverso 230, un sumador 235, un filtro 240, una memoria 250, una unidad de inter predicción 260 y una unidad de intra predicción 265. La unidad de inter predicción 260 y la unidad de intra predicción 265 pueden denominarse colectivamente "unidad de predicción". El descuantificador 220 y el transformador inverso 230 pueden incluirse en un procesador residual.
[0094] Todos o al menos algunos de una pluralidad de componentes que configuran el aparato de decodificación de imágenes 200 pueden configurarse mediante un componente de hardware (por ejemplo, un decodificador o un procesador) según una realización. Además, la memoria 250 puede incluir una memoria intermedia de imágenes decodificadas (DPB) o puede configurarse mediante un medio de almacenamiento digital.
[0095] El aparato de decodificación de imágenes 200, que ha recibido un flujo de bits que incluye información de vídeo/imagen, puede reconstruir una imagen realizando un proceso correspondiente a un proceso realizado mediante el aparato de codificación de imágenes 100 de la FIG. 2. Por ejemplo, el aparato de decodificación de imágenes 200 puede realizar decodificación utilizando una unidad de procesamiento aplicada en el aparato de codificación de imágenes. Por lo tanto, la unidad de procesamiento de decodificación puede ser una unidad de codificación, por ejemplo. La unidad de codificación puede adquirirse particionando una unidad de árbol de codificación o una unidad de codificación más grande. La señal de imagen reconstruida decodificada y emitida a través del aparato de decodificación de imágenes 200 puede reproducirse a través de un aparato de reproducción (no mostrado).
[0096] El aparato de decodificación de imágenes 200 puede recibir una señal emitida desde el aparato de codificación de imágenes de la FIG. 2 en forma de flujo de bits. La señal recibida puede decodificarse a través del decodificador de entropía 210. Por ejemplo, el decodificador de entropía 210 puede analizar el flujo de bits para derivar información (por ejemplo, información de vídeo/imagen) necesaria para la reconstrucción de imágenes (o reconstrucción de imágenes). La información de vídeo/imagen puede incluir además información sobre diversos conjuntos de parámetros tales como un conjunto de parámetros de adaptación (APS), un conjunto de parámetros de imagen (PPS), un conjunto de parámetros de secuencia (SPS) o un conjunto de parámetros de vídeo (VPS). Además, la información de vídeo/imagen puede incluir además información general de restricciones. El aparato de decodificación de imágenes puede decodificar además la imagen en base a la información sobre el conjunto de parámetros y/o la información general de restricciones. La información señalizada/recibida y/o los elementos de sintaxis descritos en la presente divulgación pueden decodificarse a través del procedimiento de decodificación y obtenerse a partir del flujo de bits. Por ejemplo, el decodificador de entropía 210 decodifica la información en el flujo de bits en base a un método de codificación tal como la codificación exponencial de Golomb, CAVLC o CABAC, y emite valores de elementos de sintaxis requeridos para la reconstrucción de imágenes y valores cuantificados de coeficientes de transformación para el residuo. Más específicamente, el método de decodificación de entropía CABAC puede recibir un bin correspondiente a cada elemento de sintaxis en el flujo de bits, determinar un modelo de contexto utilizando una información de elemento de sintaxis objetivo de decodificación, decodificar información de un bloque vecino y un bloque objetivo de decodificación o información de un símbolo/bin decodificado en una etapa anterior, y realizar decodificación aritmética en el bin prediciendo una probabilidad de ocurrencia de un bin según el modelo de contexto determinado, y generar un símbolo correspondiente al valor de cada elemento de sintaxis. En este caso, el método de decodificación de entropía CABAC puede actualizar el modelo de contexto utilizando la información del símbolo/bin decodificado para un modelo de contexto de un siguiente símbolo/bin después de determinar el modelo de contexto. La información relacionada con la predicción entre la información decodificada por el decodificador de entropía 210 puede proporcionarse a la unidad de predicción (la unidad de inter predicción 260 y la unidad de intra predicción 265), y el valor residual sobre el cual se realizó la decodificación de entropía en el decodificador de entropía 210, es decir, los coeficientes de transformación cuantificados y la información de parámetros relacionada, puede introducirse en el descuantificador 220. Además, la información sobre el filtrado entre la información decodificada por el decodificador de entropía 210 puede proporcionarse al filtro 240. Mientras tanto, un receptor (no mostrado) para recibir una señal emitida desde el aparato de codificación de imágenes puede configurarse además como un elemento interno/externo del aparato de decodificación de imágenes 200, o el receptor puede ser un componente del decodificador de entropía 210.
[0098] Mientras tanto, el aparato de decodificación de imágenes según la presente divulgación puede denominarse aparato de decodificación de vídeo/imagen/imagen. El aparato de decodificación de imágenes puede clasificarse en un decodificador de información (decodificador de información de vídeo/imagen/imagen) y un decodificador de muestras (decodificador de muestras de vídeo/imagen/imagen). El decodificador de información puede incluir el decodificador de entropía 210. El decodificador de muestras puede incluir al menos uno del descuantificador 220, el transformador inverso 230, el sumador 235, el filtro 240, la memoria 250, la unidad de inter predicción 260 o la unidad de intra predicción 265.
[0100] El descuantificador 220 puede descuantificar los coeficientes de transformación cuantificados y emitir los coeficientes de transformación. El descuantificador 220 puede reorganizar los coeficientes de transformación cuantificados en forma de un bloque bidimensional. En este caso, la reorganización puede realizarse en base al orden de escaneo de coeficientes realizado en el aparato de codificación de imágenes. El descuantificador 220 puede realizar la descuantificación en los coeficientes de transformación cuantificados utilizando un parámetro de cuantificación (por ejemplo, información de tamaño de paso de cuantificación) y obtener coeficientes de transformación.
[0102] El transformador inverso 230 puede transformar inversamente los coeficientes de transformación para obtener una señal residual (bloque residual, matriz de muestras residuales).
[0104] La unidad de predicción puede realizar la predicción en el bloque actual y generar un bloque predicho que incluye muestras de predicción para el bloque actual. La unidad de predicción puede determinar si se aplica intra predicción o inter predicción para el bloque actual en base a la información sobre la predicción emitida desde el decodificador de entropía 210 y puede determinar un modo de intra/inter predicción específico (técnica de predicción).
[0106] Es lo mismo que lo descrito en la unidad de predicción del aparato de codificación de imágenes 100, que la unidad de predicción puede generar la señal de predicción en base a diversos métodos (técnicas) de predicción que se describirán más adelante.
[0108] La unidad de intra predicción 265 puede predecir el bloque actual haciendo referencia a las muestras en la imagen actual. La descripción de la unidad de intra predicción 185 se aplica igualmente para la unidad de intra predicción 265.
[0109] La unidad de inter predicción 260 puede derivar un bloque predicho para el bloque actual en base a un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia. En este caso, para reducir la cantidad de información de movimiento transmitida en el modo de inter predicción, la información de movimiento puede predecirse en unidades de bloques, subbloques o muestras en base a la correlación de información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de movimiento y un índice de imagen de referencia. La información de movimiento puede incluir además información de dirección de inter predicción (predicción L0, predicción L1, predicción Bi, etc.). En el caso de inter predicción, el bloque vecino puede incluir un bloque vecino espacial presente en la imagen actual y un bloque vecino temporal presente en la imagen de referencia. Por ejemplo, la unidad de inter predicción 260 puede configurar una lista de candidatos de información de movimiento en base a bloques vecinos y derivar un vector de movimiento del bloque actual y/o un índice de imagen de referencia en base a la información de selección de candidatos recibida. La inter predicción puede realizarse en base a diversos modos de predicción, y la información sobre la predicción puede incluir información que especifica un modo de inter predicción para el bloque actual.
[0111] El sumador 235 puede generar una señal reconstruida (imagen reconstruida, bloque reconstruido, matriz de muestras reconstruidas) sumando la señal residual obtenida a la señal de predicción (bloque predicho, matriz de muestras predicha) emitida desde la unidad de predicción (incluyendo la unidad de inter predicción 260 y/o la unidad de intra predicción 265). Si no hay ningún residuo para el bloque que va a procesarse, tal como cuando se aplica el modo de omisión, el bloque predicho puede utilizarse como el bloque reconstruido. La descripción del sumador 155 es igualmente aplicable al sumador 235. El sumador 235 puede denominarse reconstructor o generador de bloques reconstruidos. La señal reconstruida generada puede utilizarse para la intra predicción de un siguiente bloque que va a procesarse en la imagen actual y puede utilizarse para la inter predicción de una siguiente imagen a través del filtrado como se describe a continuación.
[0113] El filtro 240 puede mejorar la calidad de imagen subjetiva/objetiva aplicando filtrado a la señal reconstruida. Por ejemplo, el filtro 240 puede generar una imagen reconstruida modificada aplicando diversos métodos de filtrado a la imagen reconstruida y almacenar la imagen reconstruida modificada en la memoria 250, específicamente, una DPB de la memoria 250. Los diversos métodos de filtrado pueden incluir, por ejemplo, filtrado de desbloqueo, un desplazamiento adaptativo de muestras, un filtro de bucle adaptativo, un filtro bilateral y similares.
[0115] La imagen reconstruida (modificada) almacenada en la DPB de la memoria 250 puede utilizarse como imagen de referencia en la unidad de inter predicción 260. La memoria 250 puede almacenar la información de movimiento del bloque a partir del cual que se deriva (o decodifica) la información de movimiento en la imagen actual y/o la información de movimiento de los bloques en la imagen que se han reconstruido previamente. La información de movimiento almacenada puede transmitirse a la unidad de inter predicción 260 para utilizarse como la información de movimiento del bloque vecino espacial o la información de movimiento del bloque vecino temporal. La memoria 250 puede almacenar muestras reconstruidas de bloques reconstruidos en la imagen actual y transferir las muestras reconstruidas a la unidad de intra predicción 265.
[0117] En la presente divulgación, las realizaciones descritas en el filtro 160, la unidad de inter predicción 180 y la unidad de intra predicción 185 del aparato de codificación de imágenes 100 pueden aplicarse de forma igual o correspondiente al filtro 240, la unidad de inter predicción 260 y la unidad de intra predicción 265 del aparato de decodificación de imágenes 200.
[0119] Visión general del particionamiento de imágenes
[0121] El método de codificación de vídeo/imagen según la presente divulgación puede realizarse en base a una estructura de particionamiento de imágenes de la siguiente manera. Específicamente, los procedimientos de predicción, procesamiento residual (transformación (inversa), (des)cuantificación, etc.), codificación de elementos de sintaxis y filtrado, que se describirán más adelante, pueden realizarse en base a una CTU, CU (y/o TU, PU) derivada en base a la estructura de particionamiento de imágenes. La imagen puede particionarse en unidades de bloque y el procedimiento de particionamiento de bloques puede realizarse en el particionador de imágenes 110 del aparato de codificación. La información relacionada con el particionamiento puede codificarse mediante el codificador de entropía 190 y transmitirse al aparato de decodificación en forma de flujo de bits. El decodificador de entropía 210 del aparato de decodificación puede derivar una estructura de particionamiento de bloques de la imagen actual en base a la información relacionada con el particionamiento obtenida a partir del flujo de bits, y en base a esto, puede realizar una serie de procedimientos (por ejemplo, predicción, procesamiento residual, reconstrucción de bloques/imágenes, filtrado en bucle, etc.) para la decodificación de imágenes. Un tamaño de CU y un tamaño de TU pueden ser iguales o una pluralidad de TU pueden estar presentes en un área de CU. Mientras tanto, el tamaño de CU puede representar generalmente un tamaño de CB de componente de luma (de muestra). El tamaño de TU puede representar generalmente un tamaño de TB de componente de luma (de muestra). Un tamaño de CB o TB de componente de croma (de muestra) puede derivarse en base a un tamaño de CB o TB de componente de luma (de muestra) según una relación de componentes según un formato de croma (formato de color, por ejemplo, 4:4:4, 4:2:2, 4:2:0, etc.)
de una imagen/imagen. El tamaño de TU puede derivarse en base a MaxTbSize que especifica un tamaño de TB máximo disponible. Por ejemplo, cuando el tamaño de la CU es mayor que MaxTbSize, una pluralidad de TU (TB) de MaxTbSize puede derivarse a partir de la CU y la transformación/transformación inversa puede realizarse en unidades de TU (TB). Además, por ejemplo, cuando se aplica intra predicción, puede derivarse un modo/tipo de intra predicción en unidades de CU (o CB), y puede realizarse un procedimiento de derivación de muestras de referencia vecinas y generación de muestras de predicción en unidades TU (o TB). En este caso, una o una pluralidad de TU (o TB) pueden estar presentes en un área de CU (o CB) y, en este caso, la pluralidad de TU (o TB) pueden compartir el mismo modo/tipo de intra predicción.
[0122] Además, en la codificación y decodificación de imágenes según la presente divulgación, una unidad de procesamiento de imágenes puede tener una estructura jerárquica. Por ejemplo, una imagen puede particionarse en uno o más mosaicos o grupos de mosaicos. Un grupo de mosaicos puede incluir uno o más mosaicos. Un mosaico puede incluir una o más CTU. La CTU puede particionarse en una o más CU, como se describió anteriormente. El mosaico puede consistir en una región rectangular que incluye las CTU ensambladas en una fila específica y una columna específica en una imagen. El grupo de mosaicos puede incluir un número entero de mosaicos según un escaneo ráster de mosaicos. Una cabecera de grupo de mosaicos puede señalizar información/parámetros aplicables a un grupo de mosaicos correspondiente. Cuando un aparato de codificación/decodificación tiene un procesador multinúcleo, puede realizarse en paralelo un procedimiento de codificación/decodificación para el mosaico o grupo de mosaicos. Aquí, el grupo de mosaicos puede tener uno de los tipos de grupo de mosaicos que incluyen un grupo de mosaicos intra (I), un grupo de mosaicos predictivo (P) y un grupo de mosaicos bipredictivo (B). Para bloques en el grupo de mosaicos I, puede no utilizarse la inter predicción y puede utilizarse solo la intra predicción para la predicción. Por supuesto, incluso en este caso, un valor de muestra original puede codificarse y señalizarse sin predicción. Para bloques en el grupo de mosaicos P, puede utilizarse intra predicción o inter predicción, y puede utilizarse solo intra predicción cuando se emplea inter predicción. Mientras tanto, para bloques en el grupo de mosaicos B, puede utilizarse intra predicción o inter predicción, y puede utilizarse hasta bipredicción cuando se utiliza inter predicción.
[0123] En un aparato de codificación, un mosaico/grupo de mosaicos, un segmento y un tamaño de unidad de codificación máximo y mínimo pueden determinarse según las características (por ejemplo, resolución) de una imagen y en consideración de la eficiencia de codificación o el procesamiento paralelo y puede incluirse información sobre la misma o información capaz de derivar la misma en un flujo de bits.
[0124] En un aparato de decodificación, puede obtenerse información que especifica un segmento de una imagen actual, un mosaico/grupo de mosaicos o una CTU en un mosaico se particiona en una pluralidad de unidades de codificación. Cuando dicha información se obtiene (transmite) solo bajo condiciones específicas, la eficiencia puede aumentar.
[0125] La cabecera de segmento o la cabecera de grupo de mosaicos (sintaxis de cabecera de grupo de mosaicos) puede incluir información/parámetros comúnmente aplicables al segmento o grupo de mosaicos. El APS (sintaxis de APS) o el PPS (sintaxis de PPS) pueden incluir información/parámetros comúnmente aplicables a una o más imágenes. El SPS (sintaxis de SPS) puede incluir información/parámetros comúnmente aplicables a una o más secuencias. El VPS (sintaxis de VPS) puede incluir información/parámetros comúnmente aplicables a todo el vídeo. En la presente divulgación, la sintaxis de nivel superior puede incluir al menos una de la sintaxis de APS, la sintaxis de PPS, la sintaxis de SPS o la sintaxis de VPS.
[0126] Además, por ejemplo, la información sobre el particionamiento y la construcción del mosaico/grupo de mosaicos puede construirse en una etapa de codificación a través de la sintaxis de nivel superior y transmitirse a un aparato de decodificación en forma de flujo de bits.
[0127] Estructura de particionamiento
[0128] Las imágenes pueden particionarse en una secuencia de unidades de árbol de codificación (CTU). La CTU puede corresponder a un bloque de árbol de codificación (CTB). Alternativamente, la CTU puede incluir un bloque de árbol de codificación de muestras de luma y dos bloques de árbol de codificación de muestras de croma correspondientes. Por ejemplo, para una imagen que contiene tres matrices de muestras, la CTU puede incluir un bloque de NxN de muestras de luma y dos bloques correspondientes de muestras de croma. La FIG.
[0129] 4 muestra un ejemplo en el que una imagen se particiona en CTU.
[0130] Un tamaño máximo permisible de una CTU para codificación y predicción puede ser diferente del de una CTU para transformación. Por ejemplo, incluso cuando un tamaño máximo de un bloque de luma en la CTU para transformación es 64x64, un tamaño máximo de un bloque de luma para la CTU para codificación y predicción puede ser 128x128.
[0131] Además, una imagen puede particionarse en una o más filas de mosaicos y una o más columnas de mosaicos. Un mosaico puede ser una secuencia de CTU que cubren una región rectangular en una imagen.
[0132] Un mosaico puede particionarse en una o más zonas, y cada zona puede consistir en una pluralidad de filas de CTU en un mosaico. En la presente divulgación, un mosaico que no está particionado en una pluralidad de zonas puede denominarse zona.
[0133] Un segmento puede incluir una pluralidad de mosaicos en una imagen o una pluralidad de zonas en un mosaico. Pueden soportarse dos modos de un segmento. Uno puede ser un modo de segmento de escaneo ráster y el otro puede ser un modo de segmento rectangular.
[0134] En el modo de segmento ráster, un segmento puede incluir una pluralidad de mosaicos consecutivos dentro de una imagen según un orden de escaneo ráster. En la presente divulgación, un segmento según el modo de segmento de escaneo ráster puede denominarse segmento de escaneo ráster.
[0135] En el modo de segmento rectangular, un segmento puede incluir una pluralidad de zonas que construyen una región rectangular dentro de una imagen. En la presente divulgación, un segmento según el modo de segmento rectangular puede denominarse segmento rectangular. Puede existir una pluralidad de zonas incluidas en el segmento rectangular según el orden de escaneo ráster de zonas del segmento.
[0136] Visión general del particionamiento de CTU
[0137] Como se describió anteriormente, la unidad de codificación (CU) puede adquirirse particionando recursivamente la unidad de árbol de codificación (CTU) o la unidad de codificación más grande (LCU) según una estructura de árbol cuaternario/árbol binario/árbol ternario (QT/BT/TT). Por ejemplo, la CTU puede particionarse primero en estructuras de árbol cuaternario. A continuación, los nodos hoja de la estructura de árbol cuaternario pueden particionarse además mediante una estructura de árbol multitipo.
[0138] El particionamiento según el árbol cuaternario significa que una CU (o CTU) actual se particiona en cuatro partes iguales. Particionando según el árbol cuaternario, la CU actual puede particionarse en cuatro CU que tienen la misma anchura y la misma altura. Cuando la CU actual ya no se particiona en la estructura de árbol cuaternario, la CU actual corresponde al nodo hoja de la estructura de árbol cuaternario. La CU correspondiente al nodo hoja de la estructura de árbol cuaternario puede no particionarse más y puede utilizarse como la unidad de codificación final descrita anteriormente. Alternativamente, la CU correspondiente al nodo hoja de la estructura de árbol cuaternario puede particionarse además mediante una estructura de árbol multitipo. La FIG. 5 es una vista que muestra una realización de un tipo de particionamiento de un bloque según una estructura de árbol multitipo. El particionamiento según la estructura de árbol multitipo puede incluir dos tipos de división según una estructura de árbol binario y dos tipos de división según una estructura de árbol ternario. Los dos tipos de división según la estructura de árbol binario pueden incluir división binaria vertical (SPLIT_BT_VER) y división binaria horizontal (SPLIT_BT_HOR). División binaria vertical (SPLIT_BT_VER) significa que la CU actual se divide en dos partes iguales en la dirección vertical. Como se muestra en la FIG.
[0139] 5, mediante división binaria vertical, pueden generarse dos CU que tienen la misma altura que la CU actual y que tienen una anchura que es la mitad de la anchura de la CU actual. División binaria horizontal (SPLIT_BT_HOR) significa que la CU actual se divide en dos partes iguales en la dirección horizontal. Como se muestra en la FIG. 5, mediante división binaria horizontal, pueden generarse dos CU que tienen una altura que es la mitad de la altura de la CU actual y que tienen la misma anchura que la CU actual.
[0140] Dos tipos de división según la estructura de árbol ternario pueden incluir división ternaria vertical (SPLIT_TT_VER) y división ternaria horizontal (SPLIT_TT_HOR). En la división ternaria vertical (SPLIT_TT_VER ), la CU actual se divide en la dirección vertical en una relación de 1:2:1. Como se muestra en la FIG. 5, mediante división ternaria vertical, pueden generarse dos CU que tienen la misma altura que la CU actual y que tienen una anchura que es 1/4 de la anchura de la CU actual y una CU que tiene la misma altura que la CU actual y que tiene una anchura que es la mitad de la anchura de la CU actual. En la división ternaria horizontal (SPLIT_TT_HOR), la CU actual se divide en la dirección horizontal en una relación de 1:2:1. Como se muestra en la FIG.4, mediante división ternaria horizontal, pueden generarse dos CU que tienen una altura que es 1/4 de la altura de la CU actual y que tienen la misma anchura que la CU actual y una CU que tiene una altura que es la mitad de la altura de la CU actual y que tiene la misma anchura que la CU actual. La FIG. 6 es una vista que muestra un mecanismo de señalización de información de división de bloques en un árbol cuaternario con estructura de árbol multitipo anidada según la presente divulgación.
[0141] Aquí, la CTU se trata como el nodo raíz del árbol cuaternario, y se particiona por primera vez en una estructura de árbol cuaternario. Se señaliza información (por ejemplo, qt_split_flag) que especifica si se realiza división de árbol cuaternario en la CU actual (CTU o nodo (QT_node) del árbol cuaternario). Por ejemplo, cuando qt_split_flag tiene un primer valor (por ejemplo, "1"), la CU actual puede particionarse en árbol cuaternario. Además, cuando qt_split_flag tiene un segundo valor (por ejemplo, "0"), la CU actual no se particiona en árbol cuaternario, sino que se convierte en el nodo hoja (QT_leaf_node) del árbol cuaternario. Cada nodo hoja de
árbol cuaternario puede a continuación particionarse además en estructuras de árbol multitipo. Es decir, el nodo hoja del árbol cuaternario puede convertirse en el nodo (MTT_node) del árbol multitipo. En la estructura de árbol multitipo, se señaliza un primer indicador (por ejemplo, Mtt_split_cu_flag) para especificar si el nodo actual está particionado adicionalmente. Si el nodo correspondiente está particionado adicionalmente (por ejemplo, si el primer indicador es 1), puede señalizarse un segundo indicador (por ejemplo, Mtt_split_cu_vertical_flag) para especificar la dirección de división. Por ejemplo, la dirección de división puede ser una dirección vertical si el segundo indicador es 1 y puede ser una dirección horizontal si el segundo indicador es 0. A continuación, puede señalizarse un tercer indicador (por ejemplo, Mtt_split_cu_binary_flag) para especificar si el tipo de división es un tipo de división binario o un tipo de división ternario. Por ejemplo, el tipo de división puede ser un tipo de división binario cuando el tercer indicador es 1 y puede ser un tipo de división ternario cuando el tercer indicador es 0. El nodo del árbol multitipo adquirido mediante división binaria o división ternaria puede particionarse además en estructuras de árbol multitipo. Sin embargo, el nodo del árbol multitipo puede no particionarse en estructuras de árbol cuaternario. Si el primer indicador es 0, el nodo correspondiente del árbol multitipo ya no se divide sino que se convierte en el nodo hoja (MTT_leaf_node) del árbol multitipo. La CU correspondiente al nodo hoja del árbol multitipo puede utilizarse como la unidad de codificación final descrita anteriormente.
[0142] En base a mtt_split_cu_vertical_flag y mtt_split_cu_binary_flag puede derivarse un modo de división de árbol multitipo (MttSplitMode) de una CU como se muestra en la Tabla 1 a continuación. En la siguiente descripción, el modo de división de árbol multitipo puede denominarse tipo de división de árbol multitipo o tipo de división.
[0144] [Tabla 1]
[0146]
[0149] La FIG.7 es una vista que muestra un ejemplo en el que una CTU se particiona en múltiples CU aplicando un árbol multitipo después de aplicar un árbol cuaternario. En la FIG. 7, los bordes de bloque en negrita 710 representan una particionamiento de árbol cuaternario y los bordes restantes 720 representan una particionamiento de árbol multitipo. La CU puede corresponder a un bloque de codificación (CB). En una realización, la CU puede incluir un bloque de codificación de muestras de luma y dos bloques de codificación de muestras de croma correspondientes a las muestras de luma.
[0151] Un tamaño de CB o TB (de muestra) del componente de croma puede derivarse en base a un tamaño de CB o TB (de muestra) del componente de luma según la relación de componentes según el formato de color (formato de croma, por ejemplo, 4:4:4, 4:2:2, 4:2:0 o similar) de la imagen/imagen. En el caso de formato de color 4:4:4, el tamaño de CB/TB del componente de croma puede establecerse igual que el tamaño de CB/TB del componente de luma. En el caso de formato de color 4:2:2, la anchura de CB/TB del componente de croma puede establecerse a la mitad de la anchura de CB/TB del componente de luma y la altura de CB/TB del componente de croma puede establecerse a la altura de CB/TB del componente de luma. En el caso de formato de color 4:2:0, la anchura de CB/TB del componente de croma puede establecerse a la mitad de la anchura de CB/TB del componente de luma y la altura de CB/TB del componente de croma puede establecerse a la mitad de la altura de CB/TB del componente de luma.
[0153] En una realización, cuando el tamaño de la CTU es 128 en base a la unidad de muestra de luma, el tamaño de la CU puede tener un tamaño de 128x128 a 4x4 que es el mismo tamaño que la CTU. En una realización, en el caso de formato de color (o formato de croma) 4:2:0, un tamaño de CB de croma puede tener un tamaño de 64x64 a 2x2.
[0155] Mientras tanto, en una realización, el tamaño de CU y el tamaño de TU pueden ser el mismo. Alternativamente, puede haber una pluralidad de TU en una región de CU. El tamaño de TU representa generalmente un tamaño del bloque de transformación (TB) (de muestra) del componente de luma.
[0157] El tamaño de TU puede derivarse en base a un tamaño de TB permisible más grande maxTbSize que es un valor predeterminado. Por ejemplo, cuando el tamaño de CU es mayor que maxTbSize, una pluralidad de TU (TB) que tienen maxTbSize puede derivarse a partir de la CU y la transformación/transformación inversa puede realizarse en unidades de TU (TB). Por ejemplo, el tamaño de TB de luma permisible más grande puede ser 64x64 y el tamaño de TB de croma permisible más grande puede ser 32x32. Si la anchura o altura del CB particionado según la estructura de árbol es mayor que la anchura o altura de transformación más grande, el CB puede particionarse automáticamente (o implícitamente) hasta que se satisfaga el límite de tamaño de TB en las direcciones horizontal y vertical.
[0158] Además, por ejemplo, cuando se aplica intra predicción, puede derivarse un modo/tipo de intra predicción en unidades de CU (o CB) y puede realizarse un procedimiento de derivación de muestras de referencia vecinas y generación de muestras de predicción en unidades de TU (o TB). En este caso, puede haber una o una pluralidad de TU (o TB) en una región de CU (o CB) y, en este caso, la pluralidad de TU o (TB) puede compartir el mismo modo/tipo de intra predicción.
[0160] Mientras tanto, para un esquema de árbol de codificación de árbol cuaternario con árbol multitipo anidado, pueden señalizarse los siguientes parámetros como elementos de sintaxis de SPS desde el aparato de codificación al aparato de decodificación. Por ejemplo, se señaliza al menos uno de un tamaño de CTU que es un parámetro que representa el tamaño de nodo raíz de un árbol cuaternario, MinQTSize que es un parámetro que representa el tamaño mínimo de nodo hoja de árbol cuaternario permitido, MaxBtSize que es un parámetro que representa el tamaño máximo de nodo raíz de árbol binario permitido, MaxTtSize que es un parámetro que representa el tamaño máximo de nodo raíz de árbol ternario permitido, MaxMttDepth que es un parámetro que representa la profundidad de jerarquía máxima permitida de división de árbol multitipo desde un nodo hoja de árbol cuaternario, MinBtSize que es un parámetro que representa el tamaño mínimo de nodo hoja de árbol binario permitido, o MinTtSize que es un parámetro que representa el tamaño mínimo de nodo hoja de árbol ternario permitido.
[0162] Como una realización de uso de formato de croma 4:2:0, el tamaño de CTU puede establecerse en bloques de luma de 128x128 y dos bloques de croma de 64x64 correspondientes a los bloques de luma. En este caso, MinOtSize puede establecerse en 16x16, MaxBtSize puede establecerse en 128x128, MaxTtSize puede establecerse en 64x64, MinBtSize y MinTtSize pueden establecerse en 4x4, y MaxMttDepth puede establecerse en 4. El particionamiento de árbol cuaternario puede aplicarse para la CTU para generar nodos hoja de árbol cuaternario. El nodo hoja de árbol cuaternario puede denominarse nodo hoja QT. Los nodos hoja de árbol cuaternario pueden tener un tamaño desde un tamaño de 16x16 (por ejemplo, el MinOtSize) hasta un tamaño de 128x128 (por ejemplo, el tamaño de CTU). Si el nodo hoja QT es de 128x128, puede no particionarse adicionalmente en un árbol binario/árbol ternario. Esto se debe a que, en este caso, incluso si se particiona, supera MaxBtSize y MaxTtSize (por ejemplo, 64x64). En otros casos, los nodos hoja QT pueden particionarse además en un árbol multitipo. Por lo tanto, el nodo hoja QT es el nodo raíz para el árbol multitipo, y el nodo hoja QT puede tener un valor de profundidad de árbol multitipo (mttDepth) de 0. Si la profundidad de árbol multitipo alcanza MaxMttDepth (por ejemplo, 4), puede no considerarse además el particionamiento adicional. Si la anchura del nodo de árbol multitipo es igual a MinBtSize y menor o igual a 2xMinTtSize, entonces puede no considerarse ningún particionamiento horizontal adicional. Si la altura del nodo de árbol multitipo es igual a MinBtSize y menor o igual a 2xMinTtSize, puede no considerarse ningún particionamiento vertical adicional. Cuando no se considera el particionamiento, el aparato de codificación puede omitir la señalización de la información de particionamiento. En este caso, el aparato de decodificación puede derivar información de particionamiento con un valor predeterminado.
[0164] Mientras tanto, una CTU puede incluir un bloque de codificación de muestras de luma (en lo sucesivo denominado "bloque de luma") y dos bloques de codificación de muestras de croma correspondientes a los mismos (en lo sucesivo denominados "bloques de croma"). El esquema de árbol de codificación descrito anteriormente puede aplicarse igualmente o por separado para el bloque de luma y el bloque de croma de la CU actual. Específicamente, los bloques de luma y croma en una CTU pueden particionarse en la misma estructura de árbol de bloques y, en este caso, la estructura de árbol se representa como SINGLE_TREE. Alternativamente, los bloques de luma y croma en una CTU pueden particionarse en estructuras de árbol de bloques separadas y, en este caso, la estructura de árbol puede representarse como DUAL_TREE. Es decir, cuando la CTU se particiona en árboles duales, la estructura de árbol de bloques para el bloque de luma y la estructura de árbol de bloques para el bloque de croma pueden estar presentes por separado. En este caso, la estructura de árbol de bloques para el bloque de luma puede denominarse DUAL_TREE_LUMA y la estructura de árbol de bloques para el componente de croma puede denominarse DUAL_TREE_CHROMA. Para los grupos de segmentos/mosaicos P y B, los bloques de luma y croma en una CTU pueden limitarse a tener la misma estructura de árbol de codificación. Sin embargo, para los grupos de segmentos/mosaicos I, los bloques de luma y croma pueden tener una estructura de árbol de bloques separada entre sí. Si se aplica la estructura de árbol de bloques separada, el CTB de luma puede particionarse en CU en base a una estructura de árbol de codificación particular, y el CTB de croma puede particionarse en CU de croma en base a otra estructura de árbol de codificación. Es decir, esto significa que una CU en un grupo de segmentos/mosaicos I, al que se aplica la estructura de árbol de bloques separada, puede incluir un bloque de codificación de componentes de luma o bloques de codificación de dos componentes de croma y una CU de un grupo de segmentos/mosaicos P o B puede incluir bloques de tres componentes de color (un componente de luma y dos componentes de croma).
[0166] Aunque se ha descrito una estructura de árbol de codificación de árbol cuaternario con un árbol multitipo anidado, una estructura en la que se particiona una CU no se limita a la misma. Por ejemplo, la estructura de BT y la estructura de TT pueden interpretarse como un concepto incluido en una estructura de árbol de particionamiento múltiple (MPT), y la CU puede interpretarse como particionada a través de la estructura de QT y la estructura de MPT. En un ejemplo donde la CU se particiona a través de una estructura de QT y una
estructura de MPT, puede señalizarse un elemento de sintaxis (por ejemplo, MPT_split_type) que incluye información sobre en cuántos bloques se particiona el nodo hoja de la estructura de QT y un elemento de sintaxis (por ejemplo, MPT_split_mode) que incluye información sobre en cuál de las direcciones vertical y horizontal se particiona el nodo hoja de la estructura QT para determinar una estructura de particionamiento. En otro ejemplo, la CU puede particionarse de manera diferente a la estructura QT, estructura BT o estructura TT. Es decir, a diferencia de que la CU de menor profundidad se particiona en 1/4 de la CU de mayor profundidad según la estructura QT, la CU de menor profundidad se particiona en 1/2 de la CU de mayor profundidad según la estructura BT, o la CU de menor profundidad se particiona en 1/4 o 1/2 de la CU de mayor profundidad según la estructura TT, la CU de menor profundidad puede particionarse en 1/5, 1/3, 3/8, 3/5, 2/3 o 5/8 de la CU de mayor profundidad en algunos casos, y el método de particionamiento de la CU no se limita a ello.
[0167] De esta manera, la estructura de bloques de codificación de árbol cuaternario con el árbol multitipo puede proporcionar una estructura de particionamiento de bloques muy flexible. Debido a los tipos de partición soportados en un árbol multitipo, diferentes patrones de partición pueden dar como resultado potencialmente la misma estructura de bloques de codificación en algunos casos. En el aparato de codificación y el aparato de decodificación, limitando la ocurrencia de dichos patrones de partición redundantes, puede reducirse una cantidad de datos de información de particionamiento.
[0168] Por ejemplo, la FIG. 8 muestra patrones de división redundantes que pueden ocurrir en la división de árbol binario y la división de árbol ternario. Como se muestra en la FIG.8, la división binaria continua 810 y 820 para una dirección de niveles de dos pasos tiene la misma estructura de bloques de codificación que la división binaria para una división central después de la división ternaria. En este caso, puede prohibirse la división de árbol binario para los bloques centrales 830 y 840 de división de árbol ternario. Esta prohibición es aplicable a las CU de todas las imágenes. Cuando se prohíbe dicha división específica, la señalización de elementos de sintaxis correspondientes puede modificarse reflejando este caso prohibido, reduciendo de este modo el número de bits señalizados para la división. Por ejemplo, como se muestra en el ejemplo mostrado en la FIG.
[0169] 9, cuando se prohíbe la división de árbol binario para el bloque central de la CU, no se señaliza un elemento de sintaxis mtt_split_cu_binary_flag que especifica si la división es división binaria o división ternaria y el valor del mismo puede derivarse como 0 mediante un aparato de decodificación.
[0170] Visión general de la intra predicción
[0171] En lo sucesivo, se describirá la intra predicción según la presente divulgación.
[0172] La intra predicción puede indicar una predicción que genera muestras de predicción para un bloque actual en base a muestras de referencia en una imagen a la que pertenece el bloque actual (en lo sucesivo denominada imagen actual). Cuando se aplica intra predicción al bloque actual, pueden derivarse muestras de referencia vecinas que van a utilizarse para la intra predicción del bloque actual. Las muestras de referencia vecinas del bloque actual pueden incluir una muestra adyacente a un límite izquierdo del bloque actual que tiene un tamaño de nWxnH y un total de 2xnH muestras adyacentes a la parte inferior izquierda, una muestra adyacente a un límite superior del bloque actual y un total de 2xnW muestras adyacentes a la parte superior derecha, y una muestra adyacente a la parte superior izquierda del bloque actual. Alternativamente, las muestras de referencia vecinas del bloque actual pueden incluir una pluralidad de columnas de muestras vecinas superiores y una pluralidad de filas de muestras vecinas izquierdas. Además, las muestras de referencia vecinas del bloque actual pueden incluir un total de nH muestras adyacentes a un límite derecho del bloque actual que tiene un tamaño de nWxnH, un total de nW muestras adyacentes a un límite inferior del bloque actual, y una muestra adyacente a la parte inferior derecha del bloque actual.
[0173] Algunas de las muestras de referencia vecinas del bloque actual aún no se han decodificado o pueden no estar disponibles. En este caso, un decodificador puede construir muestras de referencia vecinas que van a utilizarse para la predicción, sustituyendo las muestras no disponibles con muestras disponibles. Alternativamente, las muestras de referencia vecinas que van a utilizarse para la predicción pueden construirse utilizando la interpolación de muestras disponibles.
[0174] Cuando se derivan las muestras de referencia vecinas, (i) puede derivarse una muestra de predicción en base al promedio o la interpolación de muestras de referencia vecinas del bloque actual y (ii) puede derivarse la muestra de predicción en base a una muestra de referencia presente en una dirección (de predicción) específica con respecto a la muestra de predicción entre las muestras de referencia vecinas del bloque actual. El caso de (i) puede denominarse modo no direccional o modo no angular y el caso de (ii) puede denominarse modo direccional o modo angular.
[0175] Además, la muestra de predicción puede generarse a través de interpolación con una primera muestra vecina ubicada en una dirección de predicción del modo de intra predicción del bloque actual y una segunda muestra vecina ubicada en la dirección opuesta en base a una muestra objetivo de predicción del bloque actual entre
las muestras de referencia vecinas. El caso descrito anteriormente puede denominarse intra predicción por interpolación lineal (LIP).
[0176] Además, pueden generarse muestras de predicción de croma en base a muestras de luma utilizando un modelo lineal. Este caso puede denominarse modo de modelo lineal (LM).
[0177] Además, puede derivarse una muestra de predicción temporal del bloque actual en base a muestras de referencia vecinas filtradas, y la muestra de predicción del bloque actual puede derivarse mediante la suma ponderada de la muestra de predicción temporal y al menos una muestra de referencia derivada según el modo de intra predicción entre las muestras de referencia vecinas existentes, es decir, las muestras de referencia vecinas sin filtrar. Este caso puede denominarse intra predicción dependiente de la posición (PDPC).
[0178] Además, puede seleccionarse una línea de muestras de referencia con la mayor precisión de predicción de entre múltiples líneas de muestras de referencia vecinas del bloque actual para derivar una muestra de predicción utilizando una muestra de referencia ubicada en una dirección de predicción en la línea correspondiente y, en este momento, la información (por ejemplo, intra_luma_ref_idx) en la línea de muestras de referencia utilizada puede codificarse y señalizarse en un flujo de bits. Este caso puede denominarse intra predicción de línea de referencia múltiple (MRL) o intra predicción basada en MRL.
[0179] Además, el bloque actual puede dividirse en subparticiones verticales u horizontales para realizar intra predicción con respecto a cada subpartición en base al mismo modo de intra predicción. En este momento, las muestras de referencia vecinas de intra predicción pueden derivarse en unidades de subparticiones. Es decir, una muestra reconstruida de una subpartición anterior en orden de codificación/decodificación puede utilizarse como una muestra de referencia vecina de una subpartición actual. En este caso, el modo de intra predicción para el bloque actual se aplica igualmente a las subparticiones y las muestras de referencia vecinas se derivan y se utilizan en unidades de subparticiones, aumentando de este modo el rendimiento de intra predicción. Dicho método de predicción puede denominarse intra subparticiones (ISP) o intra predicción basada en ISP.
[0180] La técnica de intra predicción puede denominarse con diversos términos tales como tipo de intra predicción o modo de intra predicción adicional para distinguirla de un modo de intra predicción direccional o no direccional. Por ejemplo, la técnica de intra predicción (tipo de intra predicción o el modo de intra predicción adicional) puede incluir al menos uno de LIP, LM, PDPC, MRL, ISP o MIP.
[0181] El procedimiento de intra predicción puede incluir un paso de determinación de modo/tipo de intra predicción, un paso de derivación de muestras de referencia vecinas y un paso de derivación de muestras de predicción basado en modo/tipo de intra predicción. Además, si es necesario, puede realizarse además postfiltrado con respecto a la muestra de predicción derivada.
[0182] La FIG. 9A es una vista que ilustra una dirección de intra predicción según una realización de la presente divulgación.
[0183] Un modo de intra predicción puede incluir dos modos de intra predicción no direccionales y 33 modos de intra predicción direccionales. Los modos de intra predicción no direccionales pueden incluir un modo planar y un modo DC, y los modos de intra predicción direccionales pueden incluir los modos de intra predicción #2 a #34. El modo de intra predicción planar puede denominarse modo planar y el modo de intra predicción DC puede denominarse modo DC.
[0184] Alternativamente, para capturar cualquier dirección de borde presentada en vídeo natural, como se muestra en la FIG.9A, el modo de intra predicción puede incluir dos modos de intra predicción no direccionales y 65 modos de intra predicción direccionales extendidos. Los modos de intra predicción no direccionales pueden incluir un modo de predicción planar y un modo de predicción DC, y los modos de intra predicción direccionales extendidos pueden incluir los modos de intra predicción #2 a #66. El modo de intra predicción es aplicable a bloques que tienen todos los tamaños y tanto a un componente luma (bloque de luma) como a un componente croma (bloque de croma).
[0185] Alternativamente, el modo de intra predicción puede incluir dos modos de intra predicción no direccionales y 129 modos de intra predicción direccionales. Los modos de intra predicción no direccionales pueden incluir un modo de predicción planar y un modo de predicción DC, y los modos de intra predicción direccionales pueden incluir los modos de intra predicción #2 a #130.
[0186] Mientras tanto, el modo de intra predicción puede incluir además un modo de modelo lineal entre componentes (CCLM) para muestras de croma además de los modos de intra predicción descritos anteriormente. El modo CCLM puede dividirse en L_CCLM, T_CCLM, LT_CCLM según se consideren las muestras izquierdas, las muestras superiores o ambas para la derivación de parámetros de LM y puede aplicarse solo a un componente de croma.
[0187] El modo de intra predicción puede indexarse, por ejemplo, como se muestra en la Tabla 2 a continuación.
[0188] [Tabla 2]
[0190]
[0192] Con referencia a la Tabla 2, como modo de intra predicción no direccional, un numero de modo de un modo plano puede ser 0 y un numero de modo de un modo DC puede ser 1. Además, los números de modo de una pluralidad de modos de intra predicción direccionales pueden ser de 2 a 66. Además, un modo de intra predicción adicional, los números de modo de un modo LT_CCLM, un modo L_CCLM y un modo T_CCLM pueden ser de 81 a 83.
[0193] La FIG. 9B es una vista que ilustra una dirección de intra predicción según otra realización de la presente divulgación. En la FIG.9B, una dirección de línea punteada muestra un modo de ángulo amplio que se aplica sólo a un bloque no cuadrado.
[0194] Para capturar cualquier dirección de borde presentada en vídeo natural, como se muestra en la FIG. 9B, el modo de intra predicción según una realización puede incluir dos modos de intra predicción no direccionales y 93 modos de intra predicción direccionales. Los modos de intra predicción no direccionales pueden incluir un modo de predicción planar y un modo de predicción DC, y los modos de intra predicción direccionales pueden incluir los modos de intra predicción #2 a #80 a #-1 a #-14, tal como se denota mediante la flecha de la FIG.
[0195] 9B. El modo planar puede denotarse mediante INTRA_PLANAR, y el modo DC puede denotarse mediante INTRA_DC. Además, el modo de intra predicción direccional puede indicarse mediante INTRA_ANGULAR-14 a INTRA_ANGULAR-1 e INTRA_ANGULAR2 a INTRA_ANGULAR80.
[0196] El aparato de codificación de imágenes puede codificar información de modo/tipo de intra predicción que especifica un modo de intra predicción aplicado para el bloque actual y señalizarlo a través de un flujo de bits. En un ejemplo, la información de modo/tipo de intra predicción puede incluir información de indicador (por ejemplo, intra_luma_mpm_flag y/o intra_chroma_mpm_flag) que especifica si se aplica un modo más probable (MPM) o un modo restante para el bloque actual. Cuando se aplica el MPM para el bloque actual, la información de modo/tipo de intra predicción puede incluir información de índice (por ejemplo, intra_luma_mpm_idx y/o intra_chroma_mpm_idx) que especifica uno de los candidatos de modo de intra predicción (candidatos de MPM). En contraste, cuando no se aplica el MPM para el bloque actual, la información de modo/tipo de intra predicción puede incluir además información de modo restante (por ejemplo, intra_luma_mpm_remainder y/o intra_chroma_mpm_remainder) que especifica uno de los modos de intra predicción restantes excluyendo los candidatos de modo de intra predicción (candidatos de MPM). El aparato de decodificación de imágenes puede determinar el modo de intra predicción del bloque actual en base a la información de modo/tipo de intra predicción recibida a través del flujo de bits.
[0197] La información de modo/tipo de intra predicción puede codificarse/decodificarse a través de diversos métodos de codificación descritos en la presente divulgación. Por ejemplo, la información de modo/tipo de intra predicción puede codificarse/decodificarse a través de codificación de entropía (por ejemplo, CABAC, CAVLC) en base a un código binario truncado (rice).
[0198] Visión general de la inter predicción
[0199] En lo sucesivo, se describirá la inter predicción según la presente divulgación.
[0200] La unidad de predicción de un aparato de codificación de imágenes/aparato de decodificación de imágenes puede realizar inter predicción en unidades de bloques para derivar una muestra de predicción. La inter predicción puede representar la predicción derivada de una manera que depende de elementos de datos (por ejemplo, valores de muestra, información de movimiento, etc.) de imagen(es) distintos de una imagen actual. Cuando se aplica inter predicción al bloque actual, puede derivarse un bloque predicho (bloque de predicción o una matriz de muestras de predicción) para el bloque actual en base en un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia indicada mediante un índice de imagen de referencia. En este caso, para reducir la cantidad de información de movimiento transmitida en un modo de inter predicción, la información de movimiento del bloque actual puede predecirse en unidades de bloques, subbloques o muestras, en base a la correlación de información de movimiento entre un bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de
movimiento y un índice de imagen de referencia. La información de movimiento puede incluir además información de tipo de inter predicción (predicción L0, predicción L1, predicción Bi, etc.). Cuando se aplica inter predicción, el bloque vecino puede incluir un bloque vecino espacial presente en la imagen actual y un bloque vecino temporal presente en la imagen de referencia. Una imagen de referencia que incluye el bloque de referencia y una imagen de referencia que incluye el bloque vecino temporal pueden ser el mismo o diferentes. El bloque vecino temporal puede denominarse bloque de referencia co-localizado, CU co-localizada (ColCU) o colBlock, y la imagen de referencia que incluye el bloque vecino temporal puede denominarse imagen colocalizada (colPic) o colPicture. Por ejemplo, puede construirse una lista de candidatos de información de movimiento en base a los bloques vecinos del bloque actual, y puede señalizarse información de indicador o índice que especifica qué candidato se selecciona (utiliza) para derivar el vector de movimiento del bloque actual y/o el índice de imagen de referencia.
[0202] La inter predicción puede realizarse en base a diversos modos de predicción. Por ejemplo, en el caso de un modo de omisión y un modo de fusión, la información de movimiento del bloque actual puede ser igual a la información de movimiento del bloque vecino seleccionado. En el caso del modo de omisión, puede no transmitirse una señal residual a diferencia del modo de fusión. En el caso de un modo de predicción de información de movimiento (MVP), el vector de movimiento del bloque vecino seleccionado puede utilizarse como un predictor de vector de movimiento y puede señalizarse una diferencia del vector de movimiento. En este caso, el vector de movimiento del bloque actual puede derivarse utilizando una suma del predictor de vector de movimiento y la diferencia del vector de movimiento. En la presente divulgación, el modo MVP puede tener el mismo significado que la predicción de vector de movimiento avanzada (AMVP).
[0204] La información de movimiento puede incluir información de movimiento L0 y/o información de movimiento L1 según el tipo de inter predicción (predicción L0, predicción L1, predicción Bi, etc.). El vector de movimiento en una dirección L0 puede denominarse vector de movimiento L0 o MVL0, y el vector de movimiento en una dirección L1 puede denominarse vector de movimiento L1 o MVL1. La predicción basada en el vector de movimiento L0 puede denominarse predicción L0, la predicción basada en el vector de movimiento L1 puede denominarse predicción L1, y la predicción basada tanto en el vector de movimiento L0 como en el vector de movimiento L1 puede denominarse predicción Bi. Aquí, el vector de movimiento L0 puede especificar un vector de movimiento asociado con una lista de imágenes de referencia L0 (L0) y el vector de movimiento L1 puede especificar un vector de movimiento asociado con una lista de imágenes de referencia L1 (L1). La lista de imágenes de referencia L0 puede incluir imágenes antes de la imagen actual en orden de salida como imágenes de referencia, y la lista de imágenes de referencia L1 puede incluir imágenes después de la imagen actual en orden de salida. Las imágenes anteriores pueden denominarse imágenes (de referencia) hacia adelante y las imágenes posteriores pueden denominarse imágenes (de referencia) hacia atrás. La lista de imágenes de referencia L0 puede incluir además imágenes después de la imagen actual en orden de salida como imágenes de referencia. En este caso, dentro de la lista de imágenes de referencia L0, las imágenes anteriores pueden indexarse primero y las imágenes posteriores pueden indexarse a continuación. La lista de imágenes de referencia L1 puede incluir además imágenes antes de la imagen actual en orden de salida como imágenes de referencia. En este caso, dentro de la lista de imágenes de referencia L1, las imágenes posteriores pueden indexarse primero y las imágenes anteriores pueden indexarse a continuación. Aquí, el orden de salida puede corresponder al orden de recuento de orden de imágenes (POC).
[0206] La FIG. 10 es un diagrama de flujo que ilustra un método de codificación de vídeo/imagen basado en inter predicción, y la FIG. 11 es una vista que ilustra la configuración de una unidad de inter predicción 180 que puede utilizarse en un método de codificación según la presente divulgación.
[0208] El método de codificación de la FIG.10 puede realizarse mediante el aparato de codificación de imágenes de la FIG. 2. Específicamente, el paso S1010 puede realizarse mediante la unidad de inter predicción 180, y el paso S1020 puede realizarse mediante el procesador residual. Específicamente, el paso S1020 puede realizarse mediante el restador 115. El paso S1030 puede realizarse mediante el codificador de entropía 190. La información de predicción del paso S1030 puede derivarse mediante la unidad de inter predicción 180, y la información residual del paso S1030 puede derivarse mediante el procesador residual. La información residual es información sobre las muestras residuales. La información residual puede incluir información sobre coeficientes de transformación cuantificados para las muestras residuales. Como se describió anteriormente, las muestras residuales pueden derivarse como coeficientes de transformación a través del transformador 120 del aparato de codificación de imágenes, y los coeficientes de transformación pueden derivarse como coeficientes de transformación cuantificados a través del cuantificador 130. La información sobre los coeficientes de transformación cuantificados puede codificarse mediante el codificador de entropía 190 a través de un procedimiento de codificación residual.
[0210] Con referencia a las FIG. 10 y 11 en conjunto, el aparato de codificación de imágenes puede realizar inter predicción en un bloque actual (S1010). El aparato de codificación de imágenes puede derivar un modo de inter predicción e información de movimiento del bloque actual y generar muestras de predicción del bloque actual. Aquí, los procedimientos de determinación de modo de inter predicción, derivación de información de movimiento y generación de muestras de predicción pueden realizarse simultáneamente o puede realizarse
cualquiera de los mismos antes de los otros procedimientos. Por ejemplo, como se muestra en la FIG. 11, la unidad de inter predicción 180 del aparato de codificación de imágenes puede incluir una unidad de determinación de modo de predicción 181, una unidad de derivación de información de movimiento 182 y una unidad de derivación de muestras de predicción 183. La unidad de determinación de modo de predicción 181 puede determinar el modo de predicción del bloque actual, la unidad de derivación de información de movimiento 182 puede derivar la información de movimiento del bloque actual, y la unidad de derivación de muestras de predicción 183 puede derivar las muestras de predicción del bloque actual. Por ejemplo, la unidad de inter predicción 180 del aparato de codificación de imágenes puede buscar un bloque similar al bloque actual dentro de un área predeterminada (área de búsqueda) de imágenes de referencia a través de estimación de movimiento, y derivar un bloque de referencia cuya diferencia con respecto al bloque actual es igual o menor que un criterio predeterminado o un mínimo. En base a esto, puede derivarse un índice de imagen de referencia que especifica una imagen de referencia en la que se ubica el bloque de referencia, y puede derivarse un vector de movimiento en base a una diferencia de posición entre el bloque de referencia y el bloque actual. El aparato de codificación de imágenes puede determinar un modo que se aplica al bloque actual entre diversos modos de predicción. El aparato de codificación de imágenes puede comparar los costes de distorsión de velocidad (RD) para los diversos modos de predicción y determinar un modo de predicción óptimo del bloque actual. Sin embargo, el método de determinación del modo de predicción del bloque actual mediante el aparato de codificación de imágenes no se limita al ejemplo anterior, y pueden utilizarse diversos métodos.
[0212] Por ejemplo, cuando se aplica un modo de omisión o un modo de fusión al bloque actual, el aparato de codificación de imágenes puede derivar candidatos de fusión a partir de bloques vecinos del bloque actual y construir una lista de candidatos de fusión utilizando los candidatos de fusión derivados. Además, el aparato de codificación de imágenes puede derivar un bloque de referencia cuya diferencia con respecto al bloque actual es igual o menor que un criterio predeterminado o un mínimo, entre los bloques de referencia especificados por los candidatos de fusión incluidos en la lista de candidatos de fusión. En este caso, puede seleccionarse un candidato de fusión asociado con el bloque de referencia derivado, y la información de índice de fusión que especifica el candidato de fusión seleccionado puede generarse y señalizarse a un aparato de decodificación de imágenes. La información de movimiento del bloque actual puede derivarse utilizando la información de movimiento del candidato de fusión seleccionado.
[0214] Como otro ejemplo, cuando se aplica un modo MVP al bloque actual, el aparato de codificación de imágenes puede derivar candidatos de predictor de vector de movimiento (mvp) a partir de los bloques vecinos del bloque actual y construir una lista de candidatos mvp utilizando los candidatos mvp derivados. Además, el aparato de codificación de imágenes puede utilizar el vector de movimiento del candidato mvp seleccionado de entre los candidatos mvp incluidos en la lista de candidatos mvp como el mvp del bloque actual. En este caso, por ejemplo, el vector de movimiento que indica el bloque de referencia derivado por la estimación de movimiento descrita anteriormente puede utilizarse como el vector de movimiento del bloque actual, un candidato mvp con un vector de movimiento que tiene la diferencia más pequeña con respecto al vector de movimiento del bloque actual entre los candidatos mvp puede ser el candidato mvp seleccionado. Puede derivarse una diferencia del vector de movimiento (MVD) que es una diferencia obtenida sustrayendo el mvp del vector de movimiento del bloque actual. En este caso, la información de índice que especifica el candidato mvp seleccionado y la información sobre el MVD pueden señalizarse al aparato de decodificación de imágenes. Además, cuando se aplica el modo MVP, el valor del índice de imagen de referencia puede construirse como información de índice de imagen de referencia y señalizarse por separado al aparato de decodificación de imágenes.
[0216] El aparato de codificación de imágenes puede derivar muestras residuales en base a las muestras de predicción (S1020). El aparato de codificación de imágenes puede derivar las muestras residuales a través de la comparación entre muestras originales del bloque actual y las muestras de predicción. Por ejemplo, la muestra residual puede derivarse sustrayendo una muestra de predicción correspondiente de una muestra original.
[0217] El aparato de codificación de imágenes puede codificar información de imagen que incluye información de predicción e información residual (S1030). El aparato de codificación de imágenes puede emitir la información de imagen codificada en forma de flujo de bits. La información de predicción puede incluir información del modo de predicción (por ejemplo, indicador de omisión, indicador de fusión o índice de modo, etc.) e información sobre información de movimiento como información relacionada con el procedimiento de predicción. Entre la información del modo de predicción, el indicador de omisión especifica si un modo de omisión se aplica al bloque actual, y el indicador de fusión especifica si el modo de fusión se aplica al bloque actual. Alternativamente, la información del modo de predicción puede especificar uno de una pluralidad de modos de predicción, tal como un índice de modo. Cuando el indicador de omisión y el indicador de fusión son 0, puede determinarse que se aplica el modo MVP al bloque actual. La información sobre la información de movimiento puede incluir información de selección de candidatos (por ejemplo, índice de fusión, indicador mvp o índice mvp) que es información para derivar un vector de movimiento. Entre la información de selección de candidatos, el índice de fusión puede señalizarse cuando se aplica el modo de fusión al bloque actual y puede ser información para seleccionar uno de los candidatos de fusión incluidos en una lista de candidatos de fusión. Entre la información de selección de candidatos, pueden señalizarse el indicador mvp o el índice mvp cuando el modo MVP se aplica al bloque actual y puede ser información para seleccionar uno de los candidatos mvp
en una lista de candidatos mvp. Además, la información sobre la información de movimiento puede incluir información sobre el MVD descrito anteriormente y/o la información de índice de imagen de referencia. Además, la información sobre la información de movimiento puede incluir información que especifica si aplicar predicción L0, predicción L1 o predicción Bi. La información residual es información sobre las muestras residuales. La información residual puede incluir información sobre coeficientes de transformación cuantificados para las muestras residuales.
[0218] El flujo de bits de salida puede almacenarse en un medio de almacenamiento (digital) y transmitirse al aparato de decodificación de imágenes o puede transmitirse al aparato de decodificación de imágenes a través de una red.
[0219] Como se describió anteriormente, el aparato de codificación de imágenes puede generar una imagen reconstruida (una imagen que incluye muestras reconstruidas y un bloque reconstruido) en base a las muestras de referencia y las muestras residuales. Esto es para que el aparato de codificación de imágenes derive el mismo resultado de predicción que el realizado mediante el aparato de decodificación de imágenes, aumentando de este modo la eficiencia de codificación. Por consiguiente, el aparato de codificación de imágenes puede almacenar la imagen reconstruida (o las muestras reconstruidas y el bloque reconstruido) en una memoria y utilizar la misma como imagen de referencia para la inter predicción. Como se describió anteriormente, un procedimiento de filtrado en bucle es aplicable además a la imagen reconstruida.
[0220] La FIG. 12 es un diagrama de flujo que ilustra un método de decodificación de vídeo/imagen basado en inter predicción, y la FIG.13 es una vista que ilustra la configuración de una unidad de inter predicción 260.
[0221] El aparato de decodificación de imágenes puede realizar la operación correspondiente a la operación realizada por el aparato de codificación de imágenes. El aparato de decodificación de imágenes puede realizar la predicción en un bloque actual en base a la información de predicción recibida y derivar muestras de predicción. El método de decodificación de la FIG.12 puede realizarse mediante el aparato de decodificación de imágenes de la FIG. 3. Específicamente, los pasos S1210 a S1230 pueden realizarse mediante la unidad de inter predicción 260, y la información de predicción del paso S1210 y la información residual del paso S1240 pueden obtenerse a partir de un flujo de bits mediante el decodificador de entropía 210. El procesador residual del aparato de decodificación de imágenes puede derivar muestras residuales para un bloque actual en base a la información residual. Por ejemplo, el descuantificador 220 del procesador residual puede realizar la descuantificación en base a coeficientes de transformación descuantificados derivados en base a la información residual para derivar coeficientes de transformación, y el transformador inverso 230 del procesador residual puede realizar la transformación inversa en los coeficientes de transformación para derivar las muestras residuales para el bloque actual. El paso S1350 puede ser realizado mediante el sumador 235 o el reconstructor.
[0222] Con referencia a las FIG. 12 y 13 en conjunto, el aparato de decodificación de imágenes puede determinar el modo de predicción del bloque actual en base a la información de predicción recibida (S1210). El aparato de decodificación de imágenes puede determinar qué modo de inter predicción se aplica al bloque actual en base a la información del modo de predicción en la información de predicción.
[0223] Por ejemplo, puede determinarse si el modo de omisión se aplica al bloque actual en base al indicador de omisión. Además, puede determinarse si el modo de fusión o el modo MVP se aplican al bloque actual en base al indicador de fusión. Alternativamente, puede seleccionarse uno de diversos candidatos de modo de inter predicción en base al índice de modo. Los candidatos de modo de inter predicción pueden incluir un modo de omisión, un modo de fusión y/o un modo MVP o pueden incluir diversos modos de inter predicción que se describirán a continuación.
[0224] El aparato de decodificación de imágenes puede derivar la información de movimiento del bloque actual en base al modo de inter predicción determinado (S1220). Por ejemplo, cuando se aplica el modo de omisión o el modo de fusión al bloque actual, el aparato de decodificación de imágenes puede construir una lista de candidatos de fusión, que se describirá a continuación, y seleccionar uno de los candidatos de fusión incluidos en la lista de candidatos de fusión. La selección puede realizarse en base a la información de selección de candidatos descrita anteriormente (índice de fusión). La información de movimiento del bloque actual puede derivarse utilizando la información de movimiento del candidato de fusión seleccionado. Por ejemplo, la información de movimiento del candidato de fusión seleccionado puede utilizarse como la información de movimiento del bloque actual.
[0225] Como otro ejemplo, cuando se aplica el modo MVP al bloque actual, el aparato de decodificación de imágenes puede construir una lista de candidatos mvp y utilizar el vector de movimiento de un candidato mvp seleccionado de entre los candidatos mvp incluidos en la lista de candidatos mvp como un mvp del bloque actual. La selección puede realizarse en base a la información de selección de candidatos descrita anteriormente (indicador mvp o índice mvp). En este caso, la MVD del bloque actual puede derivarse en base
a información sobre la MVD, y el vector de movimiento del bloque actual puede derivarse en base a la mvp y MVD del bloque actual. Además, el índice de imagen de referencia del bloque actual puede derivarse en base a la información de índice de imagen de referencia. Una imagen indicada por el índice de imagen de referencia en la lista de imágenes de referencia del bloque actual puede derivarse como una imagen de referencia a la que se hace referencia para la inter predicción del bloque actual.
[0226] El aparato de decodificación de imágenes puede generar muestras de predicción del bloque actual en base a información de movimiento del bloque actual (S1230). En este caso, la imagen de referencia puede derivarse en base al índice de imagen de referencia del bloque actual, y las muestras de predicción del bloque actual pueden derivarse utilizando las muestras del bloque de referencia indicadas por el vector de movimiento del bloque actual en la imagen de referencia. En algunos casos, puede realizarse además un procedimiento de filtrado de muestras de predicción en todas o algunas de las muestras de predicción del bloque actual.
[0227] Por ejemplo, como se muestra en la FIG. 13, la unidad de inter predicción 260 del aparato de decodificación de imágenes puede incluir una unidad de determinación de modo de predicción 261, una unidad de derivación de información de movimiento 262 y una unidad de derivación de muestras de predicción 263. En la unidad de inter predicción 260 del aparato de decodificación de imágenes, la unidad de determinación de modo de predicción 261 puede determinar el modo de predicción del bloque actual en base a la información del modo de predicción recibida, la unidad de derivación de información de movimiento 262 puede derivar la información de movimiento (un vector de movimiento y/o un índice de imagen de referencia, etc.) del bloque actual en base a la información de movimiento recibida, y la unidad de derivación de muestras de predicción 263 puede derivar las muestras de predicción del bloque actual.
[0228] El aparato de decodificación de imágenes puede generar muestras residuales del bloque actual en base a la información residual recibida (S1240). El aparato de decodificación de imágenes puede generar las muestras reconstruidas del bloque actual en base a las muestras de predicción y las muestras residuales y generar una imagen reconstruida en base a esto (S1250). Después de esto, un procedimiento de filtrado en bucle es aplicable a la imagen reconstruida como se describió anteriormente.
[0229] Como se describió anteriormente, el procedimiento de inter predicción puede incluir el paso de determinar un modo de inter predicción, el paso de derivar información de movimiento según el modo de predicción determinado, y el paso de realizar predicción (generar muestras de predicción) en base a la información de movimiento derivada. El procedimiento de inter predicción puede realizarse mediante el aparato de codificación de imágenes y el aparato de decodificación de imágenes, como se describió anteriormente.
[0230] Visión general de la predicción de copia intra bloque (IBC)
[0231] En lo sucesivo, se describirá la predicción IBC según la presente divulgación.
[0232] La predicción IBC puede realizarse mediante una unidad de predicción de un aparato de codificación/decodificación de imágenes. La predicción IBC puede denominarse simplemente IBC. IBC puede utilizarse para la codificación de contenido de imagen/vídeo tal como la codificación de contenido de pantalla (SCC). La predicción IBC puede realizarse básicamente en la imagen actual, pero puede realizarse de manera similar a la inter predicción en que se deriva un bloque de referencia dentro de la imagen actual. Es decir, IBC puede utilizar al menos una de las técnicas de inter predicción descritas en la presente divulgación. Por ejemplo, IBC puede utilizar al menos uno de los métodos de derivación de información de movimiento (vector de movimiento) descritos anteriormente. Al menos una de las técnicas de inter predicción puede modificarse parcialmente y utilizarse en consideración de la predicción IBC. IBC puede referirse a una imagen actual y, por lo tanto, puede denominarse referencia a la imagen actual (CPR).
[0233] Para IBC, el aparato de codificación de imágenes puede realizar emparejamiento de bloques (BM) y derivar un vector de bloque óptimo (o vector de movimiento) para un bloque actual (o una CU actual). El vector de bloque derivado puede señalizarse al aparato de decodificación de imágenes a través de un flujo de bits utilizando un método similar a la señalización de información de movimiento (vector de movimiento) en la inter predicción descrita anteriormente. El aparato de decodificación de imágenes puede derivar un bloque de referencia para el bloque actual en la imagen actual a través del vector de bloque señalizado, y derivar una señal de predicción (bloque predicho o muestras de predicción) para el bloque actual a través de este. Aquí, el vector de bloque puede especificar el desplazamiento desde el bloque actual a un bloque de referencia ubicado en un área previamente reconstruida en la imagen actual. Por consiguiente, el vector de bloque (o el vector de movimiento) puede denominarse vector de desplazamiento. En lo sucesivo, en IBC, el vector de movimiento puede corresponder al vector de bloque o al vector de desplazamiento. El vector de movimiento del bloque actual puede incluir un vector de movimiento (vector de movimiento de luma) para un componente de luma o un vector de movimiento (vector de movimiento de croma) para un componente de croma. Por ejemplo, el vector de movimiento de luma para una CU codificada por IBC puede ser una unidad de muestra entera (es decir, precisión de número entero). El vector de movimiento de croma puede recortarse en unidades de muestra enteras. Como describió anteriormente, IBC puede utilizar al menos una de las técnicas de inter predicción y,
por ejemplo, el vector de movimiento de luma puede codificarse/decodificarse utilizando el modo de fusión o el modo MVP descritos anteriormente.
[0234] Cuando se aplica el modo de fusión para un bloque IBC de luma, puede construirse una lista de candidatos de fusión para el bloque IBC de luma de manera similar a la lista de candidatos de fusión en el modo de inter predicción. Sin embargo, la lista de candidatos de fusión para el bloque IBC de luma puede no incluir un bloque candidato temporal, a diferencia de la lista de candidatos de fusión en el modo de inter predicción.
[0235] Cuando se aplica el modo MVP para el bloque IBC de luma, puede construirse una lista de candidatos mvp para el bloque IBC de luma de manera similar a la lista de candidatos mvp en el modo de inter predicción. Sin embargo, la lista de candidatos de fusión para el bloque IBC de luma puede no incluir un bloque candidato temporal, a diferencia de la lista de candidatos mvp en el modo de inter predicción.
[0236] En IBC, se deriva un bloque de referencia a partir de un área previamente reconstruida en la imagen actual. En este caso, para reducir el consumo de memoria y la complejidad del aparato de decodificación de imágenes, sólo puede hacerse referencia a un área predefinida entre áreas previamente reconstruidas en la imagen actual. El área predefinida puede incluir una CTU actual en la que se incluye el bloque actual. Restringiendo el área reconstruida referenciable al área predefinida, el modo IBC puede implementarse en hardware utilizando una memoria en chip local.
[0237] El aparato de codificación de imágenes para realizar IBC puede buscar el área predefinida para determinar un bloque de referencia con el menor coste de RD y derivar un vector de movimiento (vector de bloque) en base a las posiciones del bloque de referencia determinado y el bloque actual.
[0238] La información del modo de predicción en IBC puede señalizarse a nivel de CU. Por ejemplo, la información de indicador que especifica si se aplica un modo de omisión/fusión IBC para el bloque actual y/o la información de indicador que especifica si se aplica un modo AMVP de IBC para el bloque actual puede señalizarse a través de la sintaxis de coding_unit.
[0239] En el caso del modo de omisión/fusión IBC, puede señalizarse un índice de candidato de fusión para especificar un vector de bloque que va a utilizarse para la predicción del bloque de luma actual entre los vectores de bloque incluidos en la lista de candidatos de fusión. En este caso, la lista de candidatos de fusión puede incluir bloques vecinos codificados por IBC. Como se describió anteriormente, la lista de candidatos de fusión puede incluir un candidato de fusión espacial, pero puede no incluir un candidato de fusión temporal. Además, la lista de candidatos de fusión puede incluir además candidatos a predictor de vector de movimiento basados en historial (HMVP) y/o candidatos por pares.
[0240] En el caso del modo MVP de IBC, puede codificarse una diferencia de vector de bloque utilizando el mismo método que una diferencia del vector de movimiento del modo de inter predicción descrito anteriormente. En el modo MVP de IBC, el método de predicción de vector de bloque puede realizarse en base a una lista de candidatos mvp que incluye dos candidatos como predictores, de manera similar al modo MVP. Uno de los dos candidatos puede derivarse a partir de un bloque vecino izquierdo del bloque actual y el otro candidato puede derivarse a partir de un bloque vecino superior del bloque actual. En este caso, solo cuando el bloque vecino izquierdo o el bloque vecino superior se codifican por IBC, los candidatos pueden derivarse a partir del bloque vecino correspondiente. Si el bloque vecino izquierdo o el bloque vecino superior no está disponible (por ejemplo, no está codificado por IBC), puede incluirse un vector de bloque predeterminado por defecto en la lista de candidatos mvp como predictor. Además, en el caso del modo MVP de IBC, puede realizarse una predicción de vector de bloque similar al modo MVP en la que se señaliza información (por ejemplo, indicador) que especifica uno de dos predictores de vector de bloque como información de selección de candidatos y se utiliza para la decodificación de imágenes. La lista de candidatos mvp puede incluir un candidato HMVP y/o un vector de movimiento cero como el vector de bloque por defecto.
[0241] El candidato HMVP puede denominarse candidato MVP basado en historial, y un candidato MVP utilizado antes de codificar/decodificar el bloque actual, un candidato de fusión o un candidato de vector de bloque puede almacenarse en una lista HMVP como candidatos HMVP. Después de esto, cuando la lista de candidatos de fusión del bloque actual o la lista de candidatos mvp no incluye un número máximo de candidatos, los candidatos almacenados en la lista HMVP pueden agregarse a la lista de candidatos de fusión o la lista de candidatos mvp del bloque actual como candidatos HMVP.
[0242] El candidato por pares puede significar un candidato derivado promediando dos candidatos seleccionados según un orden predeterminado de entre candidatos incluidos en la lista de candidatos de fusión del bloque actual.
[0243] La información del modo de predicción (por ejemplo, pred_mode_ibc_flag) que especifica si se aplica IBC para el bloque actual puede señalizarse a nivel de CU. Por ejemplo, pred_mode_ibc_flag puede señalizarse a través de la sintaxis de coding_unit. En este caso, pred_mode_ibc_flag que tiene un primer valor (por ejemplo, 0)
puede especificar que no se aplica IBC para el bloque actual. Por el contrario, pred_mode_ibc_flag que tiene un segundo valor (por ejemplo, 1) puede especificar que se aplica IBC para el bloque actual.
[0244] Mientras tanto, IBC puede no soportar el modo de fusión y el modo de omisión. Además, IBC no tiene ninguna restricción sobre el tamaño máximo de bloque y puede no aplicarse para un bloque de croma que tenga un número de muestras menor que 16.
[0245] Como se describió anteriormente, para generar el bloque de predicción del bloque actual, pueden utilizarse diversos modos de predicción tales como un modo de intra predicción, un modo de inter predicción o IBC. El aparato de codificación de imágenes puede codificar y señalizar información del modo de predicción predeterminada a través de un flujo de bits, para especificar el modo de predicción para el bloque actual. Además, el aparato de decodificación de imágenes puede determinar el modo de predicción para el bloque actual en base a la información del modo de predicción predeterminada obtenida a partir del flujo de bits. En lo sucesivo, se describirá en detalle un método de codificación/decodificación de información del modo de predicción.
[0246] La FIG.14 es una vista que ilustra un ejemplo de sintaxis de coding_unit que incluye información del modo de predicción, y la FIG. 15 es una vista que ilustra modos de predicción aplicables a un bloque actual según un tipo y tamaño de segmento del bloque actual.
[0247] En primer lugar, con referencia a la FIG. 14, la sintaxis de coding_unit puede incluir cu_skip_flag, pred_mode_flag, pred_mode_ibc_flag y pred_mode_plt_flag como información del modo de predicción. Específicamente, cu_skip_flag puede especificar si se aplica un modo de omisión para el bloque actual. Por ejemplo, cu_skip_flag que tiene un primer valor (por ejemplo, 0) puede especificar que no se aplica el modo de omisión para el bloque actual. Por el contrario, cu_skip_flag que tiene un segundo valor (por ejemplo, 1) puede especificar que se aplica el modo de omisión para el bloque actual. En el caso donde cu_skip_flag tiene un segundo valor (por ejemplo, 1), cuando el segmento actual es un segmento P o B, después de analizar cu_skip_flag, no puede analizarse sintácticamente ningún elemento de sintaxis excepto pred_mode_ibc_flag y las estructuras de sintaxis de merge_data. Por el contrario, en el caso donde cu_skip_flag tiene un segundo valor (por ejemplo, 1), cuando el segmento actual es un segmento I, después de analizar cu_skip_flag no puede analizarse ningún elemento de sintaxis excepto merge_idx. En el caso donde cu_skip_flag no está presente, cu_skip_flag puede inferirse como un primer valor (por ejemplo, 0).
[0248] pred_mode_flag puede especificar cuál de un modo de inter predicción y un modo de intra predicción se aplica para el bloque actual. Por ejemplo, pred_mode_flag que tiene un primer valor (por ejemplo, 0) puede especificar que se aplica el modo de inter predicción para el bloque actual. Por el contrario, pred_mode_flag que tiene un segundo valor (por ejemplo, 1) puede especificar que se aplica el modo de intra predicción para el bloque actual. En el caso donde pred_mode_flag no está presente, pred_mode_flag puede inferirse de la siguiente manera.
[0249] - Primera condición de inferencia: cuando tanto la anchura cbWidth como la altura cbHeight del bloque actual son 4, pred_mode_flag se infiere como un segundo valor (por ejemplo, 1).
[0250] - Segunda condición de inferencia: en el caso donde no se satisface la primera condición, cuando el tipo de modo de predicción modeType de del bloque actual es MODE_TYPE_INTRA que especifica que solo están disponibles un modo de intra predicción, IBC y un modo de paleta, pred_mode_flag se infiere como un segundo valor (por ejemplo, 1).
[0251] - Tercera condición de inferencia: en el caso donde no se satisfacen tanto la primera como la segunda condiciones, cuando el tipo de modo de predicción modeType del bloque actual es MODE_TYPE_INTER que especifica que sólo está disponible un modo de inter predicción, pred_mode_flag se infiere como un primer valor (por ejemplo, 0).
[0252] - Cuarta condición de inferencia: en el caso donde no se satisfacen todas las condiciones primera a tercera, pred_mode_flag se infiere como un segundo valor (por ejemplo, 1) cuando el tipo de segmento slice_type del bloque actual es un segmento I y pred_mode_flag se infiere como un primer valor (por ejemplo, 0) cuando el tipo de segmento slice_type del bloque actual es un segmento P o B.
[0253] pred_mode_ibc_flag puede especificar si se aplica IBC para el bloque actual. Por ejemplo, pred_mode_ibc_flag que tiene un primer valor (por ejemplo, 0) puede especificar que no se aplica IBC para el bloque actual. Por el contrario, pred_mode_ibc_flag que tiene un segundo valor (por ejemplo, 1) puede especificar que se aplica IBC para el bloque actual. Cuando pred_mode_ibc_flag no está presente, pred_mode_ibc_flag puede inferirse de la siguiente manera.
[0254] - Quinta condición de inferencia: cuando cu_skip_flag tiene un segundo valor (por ejemplo, 1) y tanto la anchura cbWidth como la altura cbHeight del bloque actual son 4, pred_mode_ibc_flag se infiere como un segundo valor (por ejemplo, 1).
[0255] - Sexta condición de inferencia: en el caso donde no se satisface la quinta condición de inferencia, cuando cu_skip_flag tiene un segundo valor (por ejemplo, 1) y el tipo de modo de predicción modeType del bloque actual es MODE_TYPE_INTRA, pred_mode_ibc_flag puede inferirse como un segundo valor (por ejemplo, 1). - Séptima condición de inferencia: en el caso donde no se satisfacen tanto la quinta como la sexta condiciones, cuando la anchura cbWidth o la altura cbHeight del bloque actual es 128, red_mode_ibc_flag se infiere como un primer valor (por ejemplo, 0).
[0256] - Octava condición de inferencia: en el caso donde no se satisfacen todas las condiciones quinta a séptima, cuando el tipo de modo de predicción modeType del bloque actual es MODE_TYPE_INTER, pred_mode_ibc_flag se infiere como un primer valor (por ejemplo, 0).
[0257] - Novena condición de inferencia: en el caso donde no se satisfacen todas las condiciones quinta a octava, cuando la estructura de división treeType del bloque actual es DUAL_TREE_CHROMA, pred_mode_ibc_flag se infiere como un primer valor (por ejemplo, 0).
[0258] - Décima condición de inferencia: en el caso donde no se satisfacen todas las condiciones quinta a novena, pred_mode_ibc_flag se infiere como el mismo valor que sps_ibc_enabled_flag obtenido a través de un conjunto de parámetros de secuencia (SPS) cuando el tipo de segmento slice_type del bloque actual es un segmento I, y pred_mode_ibc_flag se infiere como un primer valor (por ejemplo, 0) cuando el tipo de segmento slice_type del bloque actual es un segmento P o B. Aquí, sps_ibc_enabled_flag especifica si IBC está disponible a nivel de secuencia. Por ejemplo, sps_ibc_enabled_flag que tiene un primer valor (por ejemplo, 0) especifica que IBC no está disponible, y sps_ibc_enabled_flag que tiene un segundo valor (por ejemplo, 1) especifica que IBC está disponible.
[0259] pred_mode_plt_flag puede especificar si se aplica un modo de paleta para el bloque actual. Por ejemplo, pred_mode_plt_flag que tiene un primer valor (por ejemplo, 0) puede especificar que no se aplica el modo de paleta para el bloque actual. Por el contrario, pred_mode_plt_flag que tiene un segundo valor (por ejemplo, 1) puede especificar que se aplica el modo de paleta para el bloque actual. En el caso donde pred_mode_plt_flag no está presente, pred_mode_plt_flag puede inferirse como un primer valor (por ejemplo, 0).
[0260] Mientras tanto, la información del modo de predicción descrita anteriormente puede señalizarse en base al tamaño cbWidth x cbHeight del bloque actual. Por ejemplo, las condiciones de señalización 1420, 1430 y 1440 de cada uno de cu_skip_flag, pred_mode_flag y pred_mode_ibc_flag pueden incluir una condición detallada con respecto a si el tamaño cbWidth x cbHeight del bloque actual es 4x4. Además, las condiciones de señalización 1420, 1440 y 1450 de cada uno de cu_skip_flag, pred_mode_ibc_flag y pred_mode_plt_flag pueden incluir una condición detallada con respecto a si el tamaño cbWidth x cbHeight del bloque actual es menor o igual a 64x64.
[0261] Además, la información del modo de predicción descrita anteriormente puede señalizarse en base al tipo de modo de predicción modeType del bloque actual. Por ejemplo, las condiciones de señalización 1420 y 1440 de cada uno de cu_skip_flag y pred_mode_ibc_flag pueden incluir una condición detallada con respecto a si el tipo de modo de predicción modeType del bloque actual es MODE_TYPE_INTRA. Además, la condición de señalización 1450 de pred_mode_flag puede incluir una condición detallada con respecto a si el tipo de modo de predicción modeType del bloque actual es MODE_TYPE_ALL que especifica que todos los modos de predicción están disponibles. Además, la condición de señalización 1450 de pred_mode_plt_flag puede incluir una condición detallada con respecto a si el tipo de modo de predicción modeType del bloque actual es MODE_TYPE_INTER que especifica que solo está disponible la inter predicción.
[0262] Sin embargo, para el bloque actual que tiene un tamaño de 4x4, el modo de inter predicción puede no aplicarse y pueden solo aplicarse el modo de intra predicción y el modo de paleta. Esto significa que el tipo de modo de predicción modeType del bloque actual que tiene el tamaño de 4x4 se define solo como MODE_TYPE_INTRA. Por consiguiente, cuando la información del modo de predicción se señaliza determinando por separado si el tamaño cbWidth x cbHeight del bloque actual es 4x4 y si el tipo de modo de predicción modeType del bloque actual es MODE_TYPE_INTRA, la condición de señalización se complica y puede ocurrir un problema de que sustancialmente se determina repetidamente la misma condición.
[0263] Mientras tanto, pueden aplicarse el modo de inter predicción e IBC de manera restrictiva para el bloque actual. Por ejemplo, con referencia a la FIG.15, como el caso donde IBC está disponible a nivel de secuencia ('sí' de 1510) y el tipo de segmento slice_type del bloque actual no es un segmento I ('sí' de 1520), cuando el tamaño de CU del bloque actual es mayor que 64x64 ('no' de 1540), IBC puede no aplicarse para el bloque actual (1561). Además, como el caso donde IBC está disponible a nivel de secuencia ('sí' de 1510) y el tipo de
segmento slice_type del bloque actual es un segmento I ('no' de 1520), cuando el tamaño de CU del bloque actual es menor o igual a 64x64 ('sí' de 1550), el modo de inter predicción puede no aplicarse para el bloque actual (1571). Por el contrario, cuando el tamaño de CU del bloque actual es mayor que 64x64 ('no' de 1550), tanto el modo de inter predicción como IBC pueden no aplicarse para el bloque actual (1572). Mientras tanto, cuando IBC no está disponible en el nivel de secuencia ('no' de 1510), IBC puede no aplicarse para el bloque actual (1581, 1582). Además, como el caso donde IBC no está disponible en el nivel de secuencia ('no' de 1510), cuando el tipo de segmento slice_type del bloque actual es un segmento I ('no' de 1530), el modo de inter predicción puede no aplicarse para el bloque actual (1582). De esta manera, solo en el caso donde el tipo de segmento slice_type del bloque actual no es un segmento I ('no' de 1520) y el tamaño de tamaño de CU del bloque actual es menor o igual a 64x64 ('sí' de 1540), tanto el modo de inter predicción como IBC pueden aplicarse para el bloque actual.
[0264] Sin embargo, como la condición de señalización común 1410 de cu_skip_flag, pred_mode_flag y pred_mode_ibc_flag, en el caso donde IBC está disponible en el nivel de secuencia (sps_ibc_enabled_flag == 1), incluso cuando el tipo de segmento slice_type del bloque actual es un segmento I o el tamaño cbWidth x cbHeight del bloque actual es mayor que 64x64, cu_skip_flag puede señalizarse según la condición de señalización 1420 separada. Por ejemplo, cuando el tamaño cbWidth x cbHeight del bloque actual no es 4x4 y el tipo de modo de predicción modeType del bloque actual no es MODE_TYPE_INTRA, puede señalizarse cu_skip_flag. Según la condición de señalización 1420 de cu_skip_flag, dado que cu_skip_flag puede señalizarse incluso para el bloque actual para el que puede no aplicarse el modo de inter predicción y/o IBC, los bits de transmisión pueden desperdiciarse innecesariamente. Además, cuando cu_skip_flag tiene un segundo valor (por ejemplo, 1) que especifica que se aplica el modo de omisión se señaliza para el bloque actual para el que puede no aplicarse el modo de inter predicción y/o IBC, puede ocurrir un problema de que es imposible que ocurra la decodificación del bloque actual.
[0265] Para resolver los problemas descritos anteriormente, el tipo de modo de predicción modeType del bloque actual puede restablecerse a MODE_TYPE_INTRA en base al tipo de segmento del bloque actual y el tamaño del bloque actual. Además, en base al tipo de modo de predicción modeType restablecido, puede señalizarse la información del modo de predicción del bloque actual.
[0266] En lo sucesivo, se describirán en detalle las realizaciones de la presente divulgación con referencia a los dibujos adjuntos.
[0267] Realización 1
[0268] La FIG.16 es una vista que ilustra la sintaxis de coding_unit según un ejemplo que no pertenece a la presente invención. La información del modo de predicción (cu_skip_flag, pred_mode_flag pred_mode_ibc_flag y pred_mode_plt_flag) incluida en la sintaxis de coding_unit se describió anteriormente con referencia a la FIG.
[0269] 14 y se omitirá una descripción repetida de la misma.
[0270] Con referencia a la FIG.16, el tipo de modo de predicción modeType del bloque actual puede establecerse en un valor de entrada de llamada de la sintaxis de coding_unit. Aquí, el bloque actual es un objetivo de aplicación de la sintaxis de coding_unit llamada recursivamente y puede corresponder al nodo hoja de la estructura de árbol de división. Además, el tipo de modo de predicción modeType del bloque actual puede restablecerse en base al tamaño cbWidth x cbHeight del bloque actual (1610). Por ejemplo, el tipo de modo de predicción modeType del bloque actual puede restablecerse en base a un resultado de comparar el tamaño cbWidth x cbHeight del bloque actual con un valor de referencia predeterminado.
[0271] El valor de referencia puede determinarse como 4x4, que es un tamaño de bloque en el que solo están disponibles el modo de intra predicción y el modo de paleta, como se muestra en la FIG. 16. En este caso, el tipo de modo de predicción modeType del bloque actual puede restablecerse a MODE_TYPE_INTRA en base a si el tamaño cbWidth x cbHeight del bloque actual es 4x4. Por ejemplo, cuando tanto la anchura cbWidth como la altura cbHeight del bloque actual son 4, el tipo de modo de predicción modeType del bloque actual puede restablecerse a MODE_TYPE_INTRA. Por el contrario, cuando al menos una de la anchura cbWidth o la altura cbHeight del bloque actual no es 4, el de tipo de modo de predicción modeType del bloque actual puede restablecerse al valor de entrada de llamada de la sintaxis de coding_unit (es decir, se mantiene el valor original).
[0272] Como si el tamaño cbWidth x cbHeight del bloque actual es 4x4 se refleja en el tipo de modo de predicción modeType, a partir de las condiciones de señalización 1620, 1630 y 1640 de cada uno de cu_skip_flag, pred_mode_flag y pred_mode_ibc_flag, pueden eliminarse condiciones detalladas con respecto a si el tamaño cbWidth x cbHeight del bloque actual es 4x4. Es decir, en el caso de cu_skip_flag, pred_mode_flag y pred_mode_ibc_flag sin determinar por separado si el tamaño cbWidth x cbHeight del bloque actual es 4x4, puede señalizarse en base al tipo de modo de predicción modeType. Por ejemplo, cuando el tipo de modo de predicción modeType del bloque actual es MODE_TYPE_INTRA no se señalizan cu_skip_flag y pred_mode_flag, puede señalizarse pred_mode_ibc_flag según otras condiciones detalladas.
[0273] En otro ejemplo, el valor de referencia puede determinarse a 64x64, que es un tamaño de bloque máximo en el que está disponible IBC. Además, el tipo de modo de modo de predicción modeType del bloque actual puede restablecerse a MODE_TYPE_INTRA en base a si el tamaño cbWidth x cbHeight del bloque actual es mayor que 64x64. Por ejemplo, en el caso donde al menos una de la anchura cbWidth o la altura cbHeight del bloque actual es mayor que 64, el tipo de modo de predicción modeType del bloque actual puede restablecerse a MODE_TYPE_INTRA. Por el contrario, en el caso donde tanto la anchura cbWidth como la altura cbHeight del bloque actual son menores o iguales a 64, el tipo de modo de modo de predicción modeType del bloque actual puede restablecerse al valor de entrada de llamada de la sintaxis de coding_unit (es decir, se mantiene el valor original).
[0274] Como si el tamaño cbWidth x cbHeight del bloque actual es mayor que 64x64 se refleja en el tipo de modo de predicción modeType, la señalización de cu_skip_flag para el bloque actual mayor que 64x64 puede limitarse en base al tipo de modo de predicción modeType (1620). En este caso, cu_skip_flag puede inferirse como un primer valor (por ejemplo, 0).
[0275] Como se describió anteriormente, según la Realización 1 de la presente divulgación, dado que no es necesario determinar por separado si el tamaño cbWidth x cbHeight del bloque actual es 4x4 para señalizar la información del modo de predicción del bloque actual, la condición de señalización de la información del modo de predicción puede simplificarse (es decir, depuración de la sintaxis de coding_unit). Además, restableciendo el tipo de modo de predicción modeType del bloque actual de 4x4 o mayor que 64x64 a MODE_TYPE_INTRA la señalización de cu_skip_flag puede limitarse para el bloque actual para el que puede no aplicarse el modo de inter predicción y/o IBC.
[0276] Realización 2
[0277] La FIG.17 es una vista que ilustra la sintaxis de coding_unit según una realización de la presente divulgación. La información del modo de predicción (cu_skip_flag, pred_mode_flag pred_mode_ibc_flag y pred_mode_plt_flag) incluida en la sintaxis de coding_unit se describió anteriormente con referencia a la FIG.
[0278] 14 y se omitirá una descripción repetida de la misma.
[0279] Con referencia a la FIG.17, el tipo de modo de predicción modeType del bloque actual puede establecerse en un valor de entrada de llamada de la sintaxis de coding_unit. Aquí, el bloque actual es un objetivo de aplicación de la sintaxis de coding_unit llamada recursivamente y puede corresponder al nodo hoja de la estructura de árbol de división. Además, el tipo de modo de modo de predicción modeType del bloque actual se restablece en base al tipo de segmento slice_type del bloque actual y el tamaño cbWidth x cbHeight del bloque actual (1710). En particular, el tipo de modo de modo de predicción modeType del bloque actual se restablece en base a si el tipo de segmento slice_type del bloque actual es un segmento I (primera condición de restablecimiento) y un resultado de comparar el tamaño cbWidth x cbHeight del bloque actual con un valor de referencia predeterminado (segunda condición de restablecimiento).
[0280] En un ejemplo que no pertenece a la presente invención, el valor de referencia puede determinarse como 4x4, que es un tamaño de bloque en el que solo están disponibles el modo de intra predicción y el modo de paleta, como se muestra en la FIG. 17. En este caso, cuando tanto la anchura cbWidth como la altura cbHeight del bloque actual son 4, la segunda condición de restablecimiento puede ser verdadera. Por el contrario, cuando al menos una de la anchura cbWidth o la altura cbHeight del bloque actual no es 4, la segunda condición de restablecimiento puede ser falsa.
[0281] En un ejemplo de la presente invención, el valor de referencia predeterminado se determina como 64x64, que es un tamaño de bloque máximo en el que está disponible IBC. En este caso, cuando tanto la anchura cbWidth como la altura cbHeight del bloque actual son menores o iguales a 64, la segunda condición de restablecimiento puede ser verdadera. Por el contrario, cuando al menos una de la anchura cbWidth o la altura cbHeight del bloque actual es mayor que 64, la segunda condición de restablecimiento puede ser falsa.
[0282] En un ejemplo que no pertenece a la presente invención, la primera condición de restablecimiento y la segunda condición de restablecimiento pueden construir una condición OR, como se muestra en la FIG.16. Por ejemplo, cuando al menos una de la primera condición de restablecimiento o la segunda condición de restablecimiento es verdadera, el tipo de modo de predicción modeType del bloque actual puede restablecerse a MODE_TYPE_INTRA. Por el contrario, cuando tanto la primera condición de restablecimiento como la segunda condición de restablecimiento son falsas, el tipo de modo de predicción modeType del bloque actual puede restablecerse al valor de entrada de llamada de la sintaxis de coding_unit. Es decir, en este caso, el tipo de modo de predicción modeType del bloque actual puede mantenerse como un valor original.
[0283] Según la presente invención, la primera condición de restablecimiento y la segunda condición de restablecimiento construyen una condición AND. En particular, cuando tanto la primera condición de restablecimiento como la segunda condición de restablecimiento son verdaderas, el tipo de modo de predicción modeType del bloque actual se restablece a MODE_TYPE_INTRA. Por el contrario, cuando al menos una de
la primera condición de restablecimiento o la segunda condición de restablecimiento es falsa, el tipo de modo de predicción modeType del bloque actual se restablece al valor de entrada de llamada de la sintaxis de coding_unit. Es decir, en este caso, el tipo de modo de predicción modeType del bloque actual puede mantenerse como un valor original.
[0284] Como el tipo de segmento slice_type del bloque actual y el tamaño cbWidth x cbHeight del bloque actual se reflejan en el tipo de modo de predicción modeType, a partir de las condiciones de señalización 1720, 1730 y 1740 de cada uno de cu_skip_flag, pred_mode_flag y pred_mode_ibc_flag puede eliminarse una primera condición detallada con respecto a si el tipo de segmento slice_type del bloque actual es un segmento I y una segunda condición detallada con respecto a si el tamaño cbWidth x cbHeight del bloque actual es 4x4. Es decir, en el caso de cu_skip_flag, pred_mode_flag y pred_mode_ibc_flag, sin determinar por separado la primera condición detallada y la segunda condición detallada, puede señalizarse en base al tipo de modo de predicción el modeType del bloque actual. Por ejemplo, cuando el tipo de modo de predicción modeType del bloque actual es MODE_TYPE_INTRA pueden no señalizarse cu_skip_flag y pred_mode_flag, puede señalizarse pred_mode_ibc_flag según otras condiciones detalladas. Además, para el bloque actual para el que puede no aplicarse el modo de inter predicción y/o IBC, la señalización de cu_skip_flag y pred_mode_ibc_flag puede limitarse (1720, 1740). En este caso, cada uno de cu_skip_flag y pred_mode_ibc_flag puede inferirse como un primer valor (por ejemplo, 0).
[0285] Mientras tanto, a medida que las condiciones de señalización 1720, 1730 y 1740 de cada uno de cu_skip_flag, pred_mode_flag y pred_mode_ibc_flag se simplifican, la semántica de cada uno de pred_mode_flag y pred_mode_ibc_flag descrita anteriormente con referencia a la FIG.14 puede cambiarse parcialmente.
[0286] En un ejemplo, entre las condiciones de inferencia primera a cuarta de pred_mode_flag descritas anteriormente con referencia a la FIG. 14, puede eliminarse la primera condición de inferencia con respecto a si el tamaño cbWidth x cbHeight del bloque actual es 4x4. Además, las condiciones de inferencia quinta a décima de pred_mode_ibc_flag descritas anteriormente con referencia a la FIG. 14 pueden sustituirse por las siguientes condiciones.
[0287] - Undécima condición de inferencia: en el caso donde i) IBC está disponible en el nivel de secuencia (sps_ibc_enabled_flag == 1), ii) el tamaño cbWidth x cbHeight del bloque actual es menor que 128x128, iii) cu_skip_flag tiene un primer valor (por ejemplo, 0), iv) el tipo de modo de predicción modeType del bloque actual es MODE_TYPE_INTRA y v) la estructura de división treeType del bloque actual no es DUAL_TREE_CHROMA, pred_mode_ibc_flag se infiere como un segundo valor (por ejemplo, 1).
[0288] - Duodécima condición de inferencia: en el caso donde no se satisface la undécima condición de inferencia, se infiere pred_mode_ibc_flag como un primer valor (por ejemplo, 0).
[0289] En otro ejemplo, de las condiciones de inferencia primera a cuarta de pred_mode_flag descritas anteriormente con referencia a la FIG.14, la primera condición de inferencia con respecto a si el tamaño cbWidth x cbHeight del bloque actual es 4x4 puede eliminarse, y la cuarta condición de inferencia puede cambiarse a que pred_mode_flag se infiera como un primer valor (por ejemplo, 0) independientemente del tipo de segmento slice_type del bloque actual.
[0290] En otro ejemplo, de las condiciones de inferencia quinta a décima de pred_mode_flag descritas anteriormente con referencia a la FIG. 14, puede eliminarse la quinta condición de inferencia con respecto a si el tamaño cbWidth x cbHeight del bloque actual es 4x4, y la décima condición de inferencia puede cambiarse a que pred_mode_flag se infiera como un primer valor (por ejemplo, 0) independientemente del tipo de segmento slice_type del bloque actual.
[0291] Mientras tanto, a medida que las condiciones de señalización 1720, 1730 y 1740 de cada uno de cu_skip_flag, pred_mode_flag y pred_mode_ibc_flag se simplifican, a partir de la condición de señalización 1750 de pred_mode_plt_flag puede eliminarse la tercera condición detallada con respecto a si cu_skip_flag tiene un primer valor (por ejemplo, 0) y la cuarta condición detallada con respecto a si el tipo de modo de predicción modeType del bloque actual es MODE_TYPE_INTER. Es decir, en el caso de pred_mode_plt_flag, sin determinar por separado la tercera condición detallada y la cuarta condición detallada, puede señalizarse en base al valor de una variable CuPredMode determinada en base a pred_mode_flag. Aquí, CuPredMode especifica el modo de predicción del bloque actual, y puede determinarse como MODE_INTER o MODE_INTRA en base a pred_mode_flag. Por ejemplo, cuando pred_mode_flag tiene un primer valor (por ejemplo, 0), puede determinarse CuPredMode como MODO_INTER, especificando que el modo de predicción del bloque actual es un modo de inter predicción. Por el contrario, cuando pred_mode_flag tiene un segundo valor (por ejemplo, 1), puede determinarse que CuPredMode es MODO_INTRA, especificando que el modo de predicción del bloque actual es un modo de intra predicción.
[0292] Como se describió anteriormente, según la Realización 2 de la presente divulgación, dado que no es necesario determinar por separado si el tipo de segmento slice_type del bloque actual es un segmento I y si el tamaño
cbWidth x cbHeight del bloque actual es 4x4 para señalizar la información del modo de predicción del bloque actual, la condición de señalización de la información del modo de predicción puede simplificarse (es decir, depuración de la sintaxis de coding_unit). Además, restableciendo, a MODE_TYPE_INTRA el tipo de modo de predicción modeType del bloque actual de 4x4 o mayor que 64x64 mientras pertenece al segmento I, la señalización de cu_skip_flag puede limitarse para el bloque actual para el que pueden no aplicarse el modo de inter predicción y/o IBC.
[0293] Realización 3
[0294] La FIG.18 es una vista que ilustra la sintaxis de coding_unit según otro ejemplo que no pertenece a la presente invención. La información del modo de predicción (cu_skip_flag, pred_mode_flag, pred_mode_ibc_flag y pred_mode_plt_flag) incluida en la sintaxis de coding_unit se describió anteriormente con referencia a la FIG.
[0295] 14 y se omitirá una descripción repetida de la misma.
[0296] Con referencia a la FIG.18, el tipo de modo de predicción modeType del bloque actual puede establecerse en un valor de entrada de llamada de la sintaxis de coding_unit. Aquí, el bloque actual es un objetivo de aplicación de la sintaxis de coding_unit llamada recursivamente y puede corresponder al nodo hoja de la estructura de árbol de división. Además, el modo de modo de predicción modeType del bloque actual puede restablecerse en base al tipo de segmento slice_type del bloque actual (1810). Por ejemplo, en el caso donde el tipo de segmento slice_type del bloque actual es un segmento I, el tipo de modo de predicción modeType del bloque actual puede restablecerse a MODE_TYPE_INTRA. Por el contrario, en el caso donde el tipo de segmento slice_type del bloque actual no es un segmento I (por ejemplo, segmento P o B), el tipo de modo de predicción modeType del bloque actual puede restablecerse al valor de entrada de llamada de la sintaxis de coding_unit. Es decir, en este caso, el tipo de modo de predicción modeType del bloque actual puede mantenerse como un valor original.
[0297] Por lo tanto, incluso en el caso donde IBC está disponible en el nivel de secuencia como la condición de señalización común 1820 de cu_skip_flag, pred_mode_flag y pred_mode_ibc_flag (sps_ibc_enabled_flag == 1), cuando el tipo de segmento slice_type del bloque actual es un segmento I, dado que el tipo de modo de predicción modeType es MODE_TYPE_INTRA, la señalización de cu_skip_flag puede limitarse según la condición de señalización 1830 separada.
[0298] Mientras tanto, en un ejemplo, la condición de restablecimiento 1810 del tipo de modo de predicción modeType puede incluir además una condición con respecto al tamaño cbWidth x cbHeight del bloque actual. Por ejemplo, el tipo de modo de predicción modeType del bloque actual puede restablecerse a MODE_TYPE_INTRA en base a si el tipo de segmento slice_type del bloque actual es un segmento I y un resultado de comparar el tamaño cbWidth x cbHeight del bloque actual con un valor de referencia predeterminado. Aquí, el valor de referencia predeterminado puede determinarse en 4x4, que es un tamaño de bloque en el que solo están disponibles el modo de intra predicción y el modo de paleta o 64x64 que es un tamaño de bloque máximo en el que está disponible IBC. Además, la condición con respecto al tipo de segmento slice_type del bloque actual y la condición con respecto al tamaño cbWidth x cbHeight del bloque actual pueden construir una condición OR o una condición AND. Por ejemplo, en el caso donde el tipo de segmento slice_type del bloque actual es un segmento I o al menos una de la anchura cbWidth o la altura cbHeight del bloque actual supera 64, el tipo de modo de predicción modeType del bloque actual puede restablecerse a MODE_TYPE_INTRA. Alternativamente, solo en el caso donde el tipo de segmento slice_type del bloque actual es un segmento I y al menos una de la anchura cbWidth o la altura cbHeight del bloque actual supera 64, el tipo de modo de predicción modeType del bloque actual puede restablecerse a MODE_TYPE_INTRA.
[0299] Como se describió anteriormente, según la Realización 3 de la presente divulgación, restableciendo el tipo de modo de predicción modeType del bloque actual que pertenece al segmento I a MODE_TYPE_INTRA, la señalización de cu_skip_flag puede limitarse para el bloque actual para el que puede no aplicarse el modo de inter predicción. Además, restableciendo el tipo de modo de predicción modeType del bloque actual de 4x4 o mayor que 64x64 a MODE_TYPE_INTRA, la señalización de cu_skip_flag puede limitarse para el bloque actual para el que pueden no aplicarse el modo de inter predicción y/o IBC.
[0300] Realización 4
[0301] La FIG.19 es una vista que ilustra la sintaxis de coding_unit según otro ejemplo que no pertenece a la presente invención. La información del modo de predicción (cu_skip_flag, pred_mode_flag pred_mode_ibc_flag y pred_mode_plt_flag ) incluida en la sintaxis de coding_unit se describió anteriormente con referencia a la FIG.
[0302] 14 y se omitirá una descripción repetida de la misma.
[0303] Con referencia a la FIG.19, el tipo de modo de predicción modeType del bloque actual puede establecerse en un valor de entrada de llamada de la sintaxis de coding_unit. Aquí, el bloque actual es un objetivo de aplicación de la sintaxis de coding_unit llamada recursivamente y puede corresponder al nodo hoja de la estructura de
árbol de división. A diferencia de las Realizaciones 1 a 3 de la presente divulgación descritas anteriormente, puede omitirse el proceso de restablecimiento del tipo de modo de predicción modeType.
[0304] La condición de señalización 1920 de cu_skip_flag puede incluir una condición detallada con respecto a si el tipo de segmento slice_type del bloque actual es un segmento I. Por ejemplo, en el caso donde el tipo de segmento slice_type del bloque actual es un segmento I, cu_skip_flag puede no señalizarse. Por el contrario, en el caso donde el tipo de segmento slice_type del bloque actual no es un segmento I (por ejemplo, segmento P o B), cu_skip_flag puede señalizarse según otras condiciones detalladas. Es decir, cu_skip_flag puede señalizarse explícitamente para el bloque actual que pertenece al segmento P o B.
[0305] Por lo tanto, incluso en el caso donde IBC está disponible a nivel de secuencia como la condición de señalización común 1910 de cu_skip_flag, pred_mode_flag y pred_mode_ibc_flag (sps_ibc_enabled_flag == 1), cuando el tipo de segmento slice_type del bloque actual es un segmento I, dado que el tipo de segmento slice_type es un segmento I, la señalización de cu_skip_flag puede limitarse según la condición de señalización separada 1920.
[0306] Como se describió anteriormente, según la Realización 4 de la presente divulgación, la señalización de cu_skip_flag puede limitarse para el bloque actual que pertenece al segmento I.
[0307] Método de codificación de imágenes
[0308] En lo sucesivo, se describirá en detalle un método de codificación de una imagen mediante un aparato de codificación de imágenes en base a las realizaciones descritas anteriormente. El aparato de codificación de imágenes puede incluir una memoria y al menos un procesador, y el método de codificación de imágenes puede realizarse mediante el al menos un procesador.
[0309] La FIG. 20 es un diagrama de flujo que ilustra un método de codificación de imágenes según una realización de la presente divulgación.
[0310] Con referencia a la FIG. 20, el aparato de codificación de imágenes obtiene un bloque actual correspondiente a un nodo hoja de una estructura de árbol de división en base a un tipo de modo de predicción predeterminado (por ejemplo, modeType) (S2010). Aquí, el tipo de modo de predicción predeterminado es el tipo de modo de predicción del bloque actual y puede determinarse en base a la información de características del modo de predicción (por ejemplo, modeTypeCondition) de un bloque de capa superior. Por ejemplo, en el caso donde la información de características del modo de predicción del bloque de capa superior tiene un primer valor (por ejemplo, 0), puede determinarse que el tipo de modo de predicción predeterminado es un tipo de modo de predicción de un bloque de capa superior. Por el contrario, en el caso donde la información de características del modo de predicción del bloque de capa superior tiene un segundo valor (por ejemplo, 1), puede determinarse que el tipo de modo de predicción predeterminado es MODE_TYPE_INTRA. Por el contrario, en el caso donde la información de características del modo de predicción del bloque de capa superior tiene un tercer valor (por ejemplo, 2), puede determinarse que el tipo de modo de predicción predeterminado es MODE_TYPE_INTRA o MODE_TYPE_INTER.
[0311] Mientras tanto, la información de características del modo de predicción del bloque de capa superior puede tener cualquiera de los valores primero a tercero (por ejemplo, 0, 1 y 2) en base a una condición predeterminada.
[0312] Específicamente, en el caso donde se satisface al menos una de las Condiciones 1-1 a 1-4 a continuación, la información de características del modo de predicción del bloque de capa superior puede determinarse como un primer valor (por ejemplo, 0).
[0313] - Condición 1-1: el bloque de capa superior se incluye en un segmento I, cada CTU incluida en el segmento correspondiente se divide implícitamente en árbol cuaternario en CU de muestras de luma de 64x64, y la CU de muestras de luma es un nodo raíz de un árbol dual.
[0314] - Condición 1-2: el tipo de modo de predicción (por ejemplo, modeTypeCurr) del bloque de capa superior no es MODE_TYPE_ALL.
[0315] - Condición 1-3: el formato de color del bloque de capa superior es un formato monocromático (por ejemplo, sps_chroma_format_idc == 0).
[0316] - Condición 1-4: el formato de color del bloque de capa superior es un formato 4:4:4 (por ejemplo, sps_chroma_format_idc == 3).
[0317] En el caso donde no se satisfacen todas las condiciones descritas anteriormente y se satisface al menos una de las Condiciones 2-1 a 2-3 a continuación, la información de características del modo de predicción del bloque de capa superior puede determinarse como un segundo valor (por ejemplo, 1).
[0318] - Condición 2-1: el producto de la anchura y altura del bloque de capa superior es 64 y el modo de división del bloque de capa superior es un modo de división de árbol cuaternario.
[0319] - Condición 2-2: el producto de la anchura y la altura del bloque de capa superior es 64 y el modo de división del bloque de capa superior es un modo de división ternario horizontal o un modo de división ternario vertical. - Condición 2-3: el producto de la anchura y la altura del bloque de capa superior es 32 y el modo de división del bloque de capa superior es un modo de división binario horizontal o un modo de división binario vertical. En el caso donde no se satisfacen todas las condiciones descritas anteriormente y se satisface al menos una de las Condiciones 3-1 a 3-4 a continuación, la información de características del modo de predicción del bloque de capa superior que pertenece al segmento I puede determinarse como un segundo valor (por ejemplo, 1) y la información de características del modo de predicción del bloque de capa superior que no pertenece al segmento I puede determinarse como un tercer valor (por ejemplo, 2).
[0320] - Condición 3-1: el producto de la anchura y altura del bloque de capa superior es 64 y el modo de división del bloque de capa superior es un modo de división binario horizontal o un modo de división binario vertical. - Condición 3-2: el producto de la anchura y la altura del bloque de capa superior es 128 y el modo de división del bloque de capa superior es un modo de división ternario horizontal o un modo de división ternario vertical. - Condición 3-3: la anchura del bloque de capa superior es 8 y el modo de división del bloque de capa superior es un modo de división binario vertical.
[0321] - Condición 3-4: la anchura del bloque de capa superior es 16, la división de árbol cuaternario del bloque de capa superior está ahora permitida (por ejemplo, split_qt_flag == 0), y el modo de división del bloque de capa superior es un modo de división ternario vertical.
[0322] Mientras tanto, en el caso donde no se satisfacen todas las condiciones descritas anteriormente, la información de características del modo de predicción del bloque de capa superior puede determinarse como un primer valor (por ejemplo, 0).
[0323] El aparato de codificación de imágenes puede determinar el tipo de modo de predicción del bloque actual en base a la información de características del modo de predicción del bloque de capa superior determinada según las condiciones descritas anteriormente. Además, el aparato de codificación de imágenes puede obtener el bloque actual dividiendo el bloque de capa superior en base al tipo de modo de predicción determinado. Por ejemplo, cuando el tipo de modo de predicción del bloque actual es MODE_TYPE_INTRA el aparato de codificación de imágenes puede obtener el bloque actual dividiendo el bloque de capa superior con una estructura de árbol dual. Por el contrario, cuando el tipo de modo de predicción del bloque actual no es MODE_TYPE_INTRA (por ejemplo, MODE_TYPE_ALL o MODE_TYPE_INTER), el aparato de codificación de imágenes puede obtener el bloque actual dividiendo el bloque de capa superior según la estructura de división del bloque de capa superior.
[0324] El aparato de codificación de imágenes restablece el tipo de modo de predicción del bloque actual (S2020). En un ejemplo que no pertenece a la presente invención, el tipo de modo de predicción del bloque actual puede restablecerse a un tipo intra (por ejemplo, MODE_TYPE_INTRA) en base al tamaño del bloque actual.
[0325] Por ejemplo, cuando al menos una de la anchura o la altura del bloque actual es mayor que 64, el tipo de modo de predicción del bloque actual puede restablecerse a MODE_TYPE_INTRA. Por el contrario, cuando tanto la anchura como la altura del bloque actual son menores que 64, el tipo de modo de predicción del bloque actual puede restablecerse al valor de entrada de llamada (es decir, el tipo de modo de predicción de S2010) de la sintaxis de coding_unit. De esta manera, como si el tamaño del bloque actual es mayor que 64x64 se refleja en el tipo de modo de predicción, para el bloque actual mayor que 64x64, la señalización de cu_skip_flag puede limitarse en base al tipo de modo de predicción.
[0326] Alternativamente, cuando tanto la anchura como la altura del bloque actual son 4, el tipo de modo de predicción del bloque actual puede restablecerse a MODE_TYPE_INTRA. Por el contrario, cuando al menos una de la anchura o la altura del bloque actual no es 4, el tipo de modo de predicción del bloque actual puede restablecerse al valor de entrada de llamada descrito anteriormente (es decir, el tipo de modo de predicción de S2010) de la sintaxis de coding_unit. De esta manera, cuando si el tamaño del bloque actual es 4x4 se refleja en el tipo de modo de predicción, en el caso de cu_skip_flag, pred_mode_flag y pred_mode_ibc_flag, sin
determinar por separado si el tamaño del bloque actual es 4x4, puede señalizarse en base al tipo de modo de predicción.
[0327] En otro ejemplo que no pertenece a la presente invención, el tipo de modo de predicción del bloque actual puede restablecerse a un tipo intra (por ejemplo, MODE_TYPE_INTRA) en base al tipo de segmento del bloque actual. Por ejemplo, en el caso donde el tipo de segmento del bloque actual es un segmento I, el tipo de modo de predicción del bloque actual puede restablecerse a MODE_TYPE_INTRA. Por el contrario, en el caso donde el tipo de segmento del bloque actual no es un segmento I (por ejemplo, segmento P o B), el tipo de modo de predicción del bloque actual puede restablecerse al valor de entrada de llamada descrito anteriormente (es decir, el tipo de modo de predicción de S2010) de la sintaxis de coding_unit. De esta manera, como si el tipo de segmento del bloque actual es un segmento I se refleja en el tipo de modo de predicción, la señalización de cu_skip_flag para el bloque actual que pertenece al segmento I puede limitarse. Por ejemplo, como se describió anteriormente con referencia a la FIG. 18, como IBC está disponible en el nivel de secuencia (sps_ibc_enabled_flag == 1), incluso cuando la condición de señalización común 1820 de cu_skip_flag, pred_mode_flag y pred_mode_ibc_flag es verdadera, en el caso donde el tipo de modo de predicción modeType del bloque actual es MODE_TYPE_INTRA, la señalización de cu_skip_flag puede limitarse según la condición de señalización separada 1830.
[0328] En la presente invención, el tipo de modo de predicción del bloque actual se restablece a un tipo intra (por ejemplo, MODE_TYPE_INTRA) en base al tipo de segmento del bloque actual y el tamaño del bloque actual. En particular, en el caso donde el tipo de segmento del bloque actual es un segmento I y al menos una de la anchura o la altura del bloque actual es mayor que 64, el tipo de modo de predicción del bloque actual se restablece a MODE_TYPE_INTRA. Por el contrario, en el caso donde el tipo de segmento del bloque actual no es un segmento I (por ejemplo, segmento P o B) o tanto la anchura como la altura del bloque actual son menores o iguales a 64, el tipo de modo de predicción del bloque actual se restablece al valor de entrada de llamada descrito anteriormente (es decir, el tipo de modo de predicción de S2010) de la sintaxis de coding_unit. De esta manera, como si el tipo de segmento del bloque actual es un segmento I y si el tamaño del bloque actual supera 64x64 se reflejan en el tipo de modo de predicción, la señalización de cu_skip_flag puede limitarse para el bloque actual para el que pueden no aplicarse el modo de inter predicción y/o IBC.
[0329] El aparato de codificación de imágenes codifica la información del modo de predicción del bloque actual en base al restablecimiento del tipo de modo de predicción según el método descrito anteriormente (S2030). Aquí, la información del modo de predicción del bloque actual puede incluir cu_skip_flag que especifica si se aplica el modo de omisión, pred_mode_flag que especifica si se aplica el modo de intra predicción o el modo de inter predicción, pred_mode_ibc_flag que especifica si se aplica IBC y pred_mode_plt_flag que especifica si se aplica el modo de paleta. Los detalles de la información del modo de predicción descrita anteriormente se describieron anteriormente con referencia a las FIG.14 a 19.
[0330] Como se describió anteriormente, según el método de codificación de imágenes de una realización de la presente divulgación, el tipo de modo de predicción del bloque actual puede restablecerse a un tipo de modo de predicción predeterminado (por ejemplo, MODE_TYPE_INTRA) en base al tipo de segmento y al tamaño del bloque actual. Además, la información del modo de predicción del bloque actual se codifica en base al tipo de modo de predicción restablecido. Por lo tanto, la condición de señalización de la información del modo de predicción puede simplificarse y la señalización de cu_skip_flag puede limitarse para el bloque actual para el que pueden no aplicarse el modo de inter predicción y/o IBC.
[0331] Método de decodificación de imágenes
[0332] En lo sucesivo, se describirá en detalle un método de decodificación de una imagen mediante un aparato de decodificación de imágenes en base a las realizaciones descritas anteriormente. El aparato de decodificación de imágenes puede incluir una memoria y al menos un procesador, y el método de decodificación de imágenes puede realizarse mediante el al menos un procesador.
[0333] La FIG.21 es un diagrama de flujo que ilustra un método de decodificación de imágenes según una realización de la presente divulgación.
[0334] Con referencia a la FIG.21, el aparato de decodificación de imágenes obtiene un bloque actual correspondiente a un nodo hoja de una estructura de árbol de división en base a un tipo de modo de predicción predeterminado (por ejemplo, modeType) (S2110). Aquí, el tipo de modo de predicción predeterminado es el tipo de modo de predicción del bloque actual y puede determinarse en base a la información de características del modo de predicción (por ejemplo, modeTypeCondition) de un bloque de capa superior. Por ejemplo, en el caso donde la información de características del modo de predicción del bloque de capa superior tiene un primer valor (por ejemplo, 0), el tipo de modo de predicción predeterminado puede determinarse como un tipo de modo de predicción de un bloque de capa superior. Por el contrario, en el caso donde la información de características del modo de predicción del bloque de capa superior tiene un segundo valor (por ejemplo, 1), el tipo de modo de predicción predeterminado puede determinarse como MODE_TYPE_INTRA. Por el contrario, en el caso
donde la información de características del modo de predicción del bloque de capa superior tiene un tercer valor (por ejemplo, 2), el tipo de modo de predicción predeterminado puede determinarse como MODE_TYPE_INTRA o MODE_TYPE_INTER. Mientras tanto, la información de características del modo de predicción del bloque de capa superior puede tener cualquiera de los valores primero a tercero (por ejemplo, 0, 1 y 2) en base a una condición predeterminada, y la condición predeterminada se describió anteriormente con referencia a la FIG.20.
[0335] De esta manera, el aparato de decodificación de imágenes puede determinar el tipo de modo de predicción del bloque actual en base a la información de características del modo de predicción del bloque de capa superior. Además, el aparato de decodificación de imágenes puede obtener el bloque actual dividiendo el bloque de capa superior en base al tipo de modo de predicción determinado. Por ejemplo, cuando el tipo de modo de predicción del bloque actual es MODE_TYPE_INTRA el aparato de decodificación de imágenes puede obtener el bloque actual dividiendo el bloque de capa superior con una estructura de árbol dual. Por el contrario, cuando el tipo de modo de predicción del bloque actual no es MODE_TYPE_INTRA (por ejemplo, MODE_TYPE_ALL o MODE_TYPE_INTER), el aparato de decodificación de imágenes puede obtener el bloque actual dividiendo el bloque de capa superior según la estructura de división del bloque de capa superior.
[0336] El aparato de decodificación de imágenes restablece el tipo de modo de predicción del bloque actual (S2120). En un ejemplo que no pertenece a la presente invención, el tipo de modo de predicción del bloque actual puede restablecerse a un tipo intra (por ejemplo, MODE_TYPE_INTRA) en base al tamaño del bloque actual.
[0337] Por ejemplo, cuando al menos una de la anchura o la altura del bloque actual es mayor que 64, el tipo de modo de predicción del bloque actual puede restablecerse a MODE_TYPE_INTRA. Por el contrario, cuando tanto la anchura como la altura del bloque actual son menores que 64, el tipo de modo de predicción del bloque actual puede restablecerse al valor de entrada de llamada (es decir, el tipo de modo de predicción de S2110) de la sintaxis de coding_unit. Alternativamente, cuando tanto la anchura como la altura del bloque actual son 4, el tipo de modo de predicción del bloque actual puede restablecerse a MODE_TYPE_INTRA. Por el contrario, cuando al menos una de la anchura o la altura del bloque actual no es 4, el tipo de modo de predicción del bloque actual puede restablecerse al valor de entrada de llamada descrito anteriormente (es decir, el tipo de modo de predicción de S2110) de la sintaxis de coding_unit.
[0338] En otro ejemplo que no pertenece a la presente invención, el tipo de modo de predicción del bloque actual puede restablecerse a un tipo de modo de predicción predeterminado (por ejemplo, MODE_TYPE_INTRA ) en base al tipo de segmento del bloque actual. Por ejemplo, en el caso donde el tipo de segmento del bloque actual es un segmento I, el tipo de modo de predicción del bloque actual puede restablecerse a MODE_TYPE_INTRA. Por el contrario, en el caso donde el tipo de segmento del bloque actual no es un segmento I (por ejemplo, segmento P o B), el tipo de modo de predicción del bloque actual puede restablecerse al valor de entrada de llamada descrito anteriormente (es decir, el tipo de modo de predicción de S2110) de la sintaxis de coding_unit.
[0339] En la invención, el tipo de modo de predicción del bloque actual se restablece a un tipo de modo de predicción predeterminado (por ejemplo, MODE_TYPE_INTRA ) en base al tipo de segmento del bloque actual y el tamaño del bloque actual. En particular, en el caso donde el tipo de segmento del bloque actual es un segmento I y al menos una de la anchura o la altura del bloque actual es mayor que 64, el tipo de modo de predicción del bloque actual se restablece a MODE_TYPE_INTRA. Por el contrario, en el caso donde el tipo de segmento del bloque actual no es un segmento I (por ejemplo, segmento P o B) o tanto la anchura como la altura del bloque actual son menores o iguales a 64, el tipo de modo de predicción del bloque actual se restablece al valor de entrada de llamada descrito anteriormente (es decir, el tipo de modo de predicción de S2110) de la sintaxis de coding_unit.
[0340] El aparato de decodificación de imágenes obtiene la información del modo de predicción del bloque actual en base al restablecimiento del tipo de modo de predicción según el método descrito anteriormente (S2130). Por ejemplo, el aparato de decodificación de imágenes puede obtener la información del modo de predicción del bloque actual, analizando la sintaxis de coding_unit incluida en un flujo de bits en base al tipo de modo de predicción restablecido. Aquí, la información del modo de predicción del bloque actual puede incluir cu_skip_flag que especifica si se aplica el modo de omisión, pred_mode_flag que especifica si se aplica el modo de intra predicción o el modo de inter predicción, pred_mode_ibc_flag que especifica si se aplica IBC y pred_mode_plt_flag que especifica si se aplica el modo de paleta. Los detalles de la información del modo de predicción descrita anteriormente se describieron anteriormente con referencia a las FIG.14 a 19.
[0341] El aparato de decodificación de imágenes genera el bloque de predicción del bloque actual en base a la información del modo de predicción del bloque actual (S2140). Específicamente, el aparato de decodificación de imágenes determina el modo de predicción del bloque actual en base a la información del modo de predicción del bloque actual. Además, el aparato de decodificación de imágenes genera el bloque de predicción del bloque actual, realizando una predicción en base al modo de predicción determinado.
[0342] Como se describió anteriormente, según el método de decodificación de imágenes de una realización de la presente divulgación, el tipo de modo de predicción del bloque actual se restablece a un tipo de modo de predicción predeterminado (por ejemplo, MODE_TYPE_INTRA ) en base al tipo de segmento y al tamaño del bloque actual. Además, la información del modo de predicción del bloque actual se obtiene en base al tipo de modo de predicción restablecido. Por lo tanto, la condición de análisis de sintaxis de la información del modo de predicción puede simplificarse y, para el bloque actual para el que puede no aplicarse el modo de inter predicción y/o IBC, puede inferirse cu_skip_flag como un primer valor (por ejemplo, 0) sin decodificarse. Aunque los métodos ejemplares de la presente divulgación descritos anteriormente se representan como una serie de operaciones para mayor claridad de la descripción, no se pretende limitar el orden en el que se realizan los pasos, y los pasos pueden realizarse simultáneamente o en un orden diferente según sea necesario. Para implementar el método según la presente divulgación, los pasos descritos pueden incluir además otros pasos, pueden incluir pasos restantes excepto algunos de los pasos, o pueden incluir otros pasos adicionales excepto algunos pasos.
[0343] En la presente divulgación, el aparato de codificación de imágenes o el aparato de decodificación de imágenes que realiza una operación predeterminada (paso) puede realizar una operación (paso) de confirmación de una condición o situación de ejecución de la operación correspondiente (paso). Por ejemplo, si se describe que se realiza una operación predeterminada cuando se satisface una condición predeterminada, el aparato de codificación de imágenes o el aparato de decodificación de imágenes pueden realizar la operación predeterminada después de determinar si se satisface la condición predeterminada.
[0344] Las diversas realizaciones de la presente divulgación no son una lista de todas las combinaciones posibles y pretenden describir aspectos representativos de la presente divulgación, y los asuntos descritos en las diversas realizaciones pueden aplicarse independientemente o en combinación de dos o más.
[0345] Diversas realizaciones de la presente divulgación pueden implementarse en hardware, firmware, software o una combinación de los mismos. En el caso de implementar la presente divulgación mediante hardware, la presente divulgación puede implementarse con circuitos integrados de aplicación específica (ASIC), procesadores de señales digitales (DSP), dispositivos de procesamiento de señales digitales (DSPD), dispositivos lógicos programables (PLD), matrices de puertas programables por campo (FPGA), procesadores generales, controladores, microcontroladores, microprocesadores, etc.
[0346] Además, el aparato de decodificación de imágenes y el aparato de codificación de imágenes, a los que se aplican las realizaciones de la presente divulgación, pueden incluirse en un dispositivo de transmisión y recepción de difusión multimedia, un terminal de comunicación móvil, un dispositivo de vídeo de cine en casa, un dispositivo de vídeo de cine digital, una cámara de vigilancia, un dispositivo de chat de vídeo, un dispositivo de comunicación en tiempo real tal como comunicación de vídeo, un dispositivo de transmisión continua móvil, un medio de almacenamiento, una videocámara, un dispositivo de provisión de servicio de vídeo bajo demanda (VoD), un dispositivo de vídeo OTT (over the top video), un dispositivo de provisión de servicio de transmisión continua de Internet, un dispositivo de vídeo tridimensional (3D), un dispositivo de vídeo de videotelefonía, un dispositivo de vídeo médico y similares, y pueden utilizarse para procesar señales de vídeo o señales de datos. Por ejemplo, los dispositivos de vídeo OTT pueden incluir una consola de juegos, un reproductor de blu-ray, una TV de acceso a Internet, un sistema de cine en casa, un teléfono inteligente, un ordenador personal de tableta, un grabador de vídeo digital (DVR) o similares.
[0347] La FIG.22 es una vista que muestra un sistema de transmisión continua de contenidos, al que es aplicable una realización de la presente divulgación.
[0348] Como se muestra en la FIG.22, el sistema de transmisión continua de contenidos, al que se aplica la realización de la presente divulgación, puede incluir en gran medida un servidor de codificación, un servidor de transmisión continua, un servidor web, un almacenamiento de medios, un dispositivo de usuario y un dispositivo de entrada multimedia.
[0349] El servidor de codificación comprime los contenidos introducidos desde dispositivos de entrada multimedia, tal como un teléfono inteligente, una cámara, una videocámara, etc., en datos digitales para generar un flujo de bits y transmite el flujo de bits al servidor de transmisión continua. Como otro ejemplo, cuando los dispositivos de entrada multimedia tal como teléfonos inteligentes, cámaras, videocámaras, etc., generan directamente un flujo de bits, puede omitirse el servidor de codificación.
[0350] El flujo de bits puede generarse mediante un método de codificación de imágenes o un aparato de codificación de imágenes, al que se aplica la realización de la presente divulgación, y el servidor de transmisión continua puede almacenar temporalmente el flujo de bits en el proceso de transmitir o recibir el flujo de bits.
[0351] El servidor de transmisión continua transmite los datos multimedia al dispositivo de usuario en base a una solicitud del usuario a través del servidor web, y el servidor web sirve como medio para informar al usuario de
un servicio. Cuando el usuario solicita un servicio deseado desde el servidor web, el servidor web puede entregarlo a un servidor de transmisión continua, y el servidor de transmisión continua puede transmitir datos multimedia al usuario. En este caso, el sistema de transmisión continua de contenidos puede incluir un servidor de control separado. En este caso, el servidor de control sirve para controlar un comando/respuesta entre dispositivos en el sistema de transmisión continua de contenidos.
[0352] El servidor de transmisión continua puede recibir contenidos desde un almacenamiento de medios y/o un servidor de codificación. Por ejemplo, cuando los contenidos se reciben desde el servidor de codificación, los contenidos pueden recibirse en tiempo real. En este caso, para proporcionar un servicio de transmisión continua fluido, el servidor de transmisión continua puede almacenar el flujo de bits durante un tiempo predeterminado. Ejemplos del dispositivo de usuario pueden incluir un teléfono móvil, un teléfono inteligente, un ordenador portátil, un terminal de difusión digital, un asistente digital personal (PDA), un reproductor multimedia portátil (PMP), navegación, un ordenador personal tipo pizarra, ordenador personal de tableta, ultrabooks, dispositivos para llevar puestos (por ejemplo, relojes inteligentes, gafas inteligentes, pantallas montadas en la cabeza), televisores digitales, ordenador de escritorio, señalización digital y similares.
[0353] Cada servidor en el sistema de transmisión continua de contenidos puede operarse como un servidor distribuido, en cuyo caso los datos recibidos desde cada servidor pueden distribuirse.
[0354] El alcance de la divulgación incluye software o comandos ejecutables por máquina (por ejemplo, un sistema operativo, una aplicación, firmware, un programa, etc.) para permitir que las operaciones según los métodos de diversas realizaciones se ejecuten en un aparato o un ordenador, un medio legible por ordenador no transitorio que tiene dicho software o comandos almacenados en el mismo y ejecutables en el aparato o el ordenador.
[0355] Aplicabilidad industrial
[0356] Las realizaciones de la presente divulgación pueden utilizarse para codificar o decodificar una imagen.
Claims (13)
1. REIVINDICACIONES
1. Un método de decodificación de imágenes realizado mediante un aparato de decodificación de imágenes, comprendiendo el método de decodificación de imágenes:
obtener (S2110) un bloque actual correspondiente a un nodo hoja de una estructura de árbol de división en base a un tipo de modo de predicción predeterminado;
determinar (S2120) un tipo de modo de predicción del bloque actual como un tipo intra MODE_TYPE_INTRA o el tipo de modo de predicción predeterminado;
obtener (S2130) información del modo de predicción del bloque actual en base al tipo de modo de predicción determinado; y
generar (S2140) un bloque de predicción del bloque actual en base a la información del modo de predicción obtenida,
en donde, en base a que el tipo de segmento del bloque actual es un segmento I y al menos una de una anchura o la altura del bloque actual es mayor que 64, se determina el tipo de modo de predicción del bloque actual como el tipo intra MODE_TYPE_INTRA.
2. El método de decodificación de imágenes de la reivindicación 1, en donde, en base al que el tipo de segmento del bloque actual es un segmento P o B, se determina el tipo de modo de predicción del bloque actual como el tipo de modo de predicción predeterminado.
3. El método de decodificación de imágenes de la reivindicación 1, en donde, en base a que una anchura y altura del bloque actual es menor o igual a 64, se determina el tipo de modo de predicción del bloque actual como el tipo de modo de predicción predeterminado.
4. El método de decodificación de imágenes de la reivindicación 1, en donde, en base a que el tipo de modo de predicción determinado es el tipo intra MODE_TYPE_INTRA la información del modo de predicción no comprende información sobre un modo de omisión.
5. El método de decodificación de imágenes de la reivindicación 4, en donde la información sobre el modo de omisión se infiere como un primer valor que especifica que el modo de omisión no se aplica para el bloque actual.
6. El método de decodificación de imágenes de la reivindicación 1, en donde el tipo de modo de predicción predeterminado se determina en base a la información de características del modo de predicción de un bloque de capa superior del bloque actual, siendo la información de características del modo de predicción del bloque de capa superior información que pertenece al bloque de capa superior utilizado para determinar un tipo de modo de predicción de un bloque obtenido dividiendo el bloque de capa superior, y siendo el bloque actual el bloque obtenido dividiendo el bloque de capa superior.
7. El método de decodificación de imágenes de la reivindicación 1, en donde el bloque actual se obtiene determinando una estructura de división en base al tipo de modo de predicción predeterminado y dividiendo un bloque de capa superior del bloque actual en base a la estructura de división determinada.
8. El método de decodificación de imágenes de la reivindicación 7, en donde, en base a que el tipo de modo de predicción predeterminado es el tipo intra MODE_TYPE_INTRA se determina que la estructura de división es una estructura de árbol dual.
9. El método de decodificación de imágenes de la reivindicación 7, en donde, en base a que el tipo de modo de predicción predeterminado no es el tipo intra MODE_TYPE_INTRA, se determina que la estructura de división es la misma estructura que la estructura de división del bloque de capa superior.
10. Un método de codificación de imágenes realizado mediante un aparato de codificación de imágenes, comprendiendo el método de codificación de imágenes:
obtener (S2010) un bloque actual correspondiente a un nodo hoja de una estructura de árbol de división en base a un tipo de modo de predicción predeterminado;
determinar (S2020) un tipo de modo de predicción del bloque actual como un tipo intra MODE_TYPE_INTRA o el tipo de modo de predicción predeterminado; y
codificar (S2030) la información del modo de predicción del bloque actual en base al tipo de modo de predicción determinado,
en donde, en base a que el tipo de segmento del bloque actual es un segmento I y al menos una de una anchura o altura del bloque actual es mayor que 64, se determina el tipo de modo de predicción del bloque actual como el tipo intra MODE_TYPE_INTRA.
11. El método de codificación de imágenes de la reivindicación 10, en donde, en base a que el tipo de modo de predicción determinado es el tipo intra MODE_TYPE_INTRA la información del modo de predicción no comprende información sobre un modo de omisión.
12. Un método de transmisión de un flujo de bits generado por un método de codificación de imágenes, comprendiendo el método de codificación de imágenes:
obtener (S2010) un bloque actual correspondiente a un nodo hoja de una estructura de árbol de división en base a un tipo de modo de predicción predeterminado;
determinar (S2020) un tipo de modo de predicción del bloque actual como un tipo intra MODE_TYPE_INTRA o el tipo de modo de predicción predeterminado; y
codificar (S2030) la información del modo de predicción del bloque actual en base al tipo de modo de predicción determinado,
en donde, en base a que el tipo de segmento del bloque actual es un segmento I y al menos una de una anchura o altura del bloque actual es mayor que 64, se determina el tipo de modo de predicción del bloque actual como el tipo intra MODE_TYPE_INTRA.
13. Un medio de registro legible por ordenador no transitorio que almacena un flujo de bits generado por un método de codificación de imágenes, comprendiendo el método de codificación de imágenes:
obtener (S2010) un bloque actual correspondiente a un nodo hoja de una estructura de árbol de división en base a un tipo de modo de predicción predeterminado;
determinar (S2020) un tipo de modo de predicción del bloque actual como un tipo intra MODE_TYPE_INTRA o el tipo de modo de predicción predeterminado; y
codificar (S2030) la información del modo de predicción del bloque actual en base al tipo de modo de predicción determinado,
en donde, en base a que el tipo de segmento del bloque actual es un segmento I y al menos una de una anchura o altura del bloque actual es mayor que 64, se determina el tipo de modo de predicción del bloque actual como el tipo intra MODE_TYPE_INTRA.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201962956093P | 2019-12-31 | 2019-12-31 | |
| US202062959943P | 2020-01-11 | 2020-01-11 | |
| US202062980442P | 2020-02-24 | 2020-02-24 | |
| PCT/KR2020/019287 WO2021137577A1 (ko) | 2019-12-31 | 2020-12-31 | 리프 노드의 재설정된 예측 모드 타입에 기반하여 예측을 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES3057180T3 true ES3057180T3 (en) | 2026-02-26 |
Family
ID=76686671
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES20910040T Active ES3057180T3 (en) | 2019-12-31 | 2020-12-31 | Image encoding/decoding method and apparatus for performing prediction on basis of reconfigured prediction mode type of leaf node, and bitstream transmission method |
Country Status (18)
| Country | Link |
|---|---|
| US (2) | US12113975B2 (es) |
| EP (2) | EP4604553A3 (es) |
| JP (2) | JP7444998B2 (es) |
| KR (1) | KR20220115971A (es) |
| CN (5) | CN119946278A (es) |
| AU (3) | AU2020416341B2 (es) |
| BR (1) | BR112022013083A2 (es) |
| CA (2) | CA3296461A1 (es) |
| ES (1) | ES3057180T3 (es) |
| FI (1) | FI4087244T3 (es) |
| HR (1) | HRP20251583T1 (es) |
| LT (1) | LT4087244T (es) |
| MX (5) | MX2022008084A (es) |
| PL (1) | PL4087244T3 (es) |
| PT (1) | PT4087244T (es) |
| RS (1) | RS67538B1 (es) |
| SI (1) | SI4087244T1 (es) |
| WO (1) | WO2021137577A1 (es) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119946278A (zh) * | 2019-12-31 | 2025-05-06 | Lg电子株式会社 | 图像解码设备、图像编码设备及比特流发送设备 |
| US11930208B2 (en) * | 2020-01-10 | 2024-03-12 | Tencent America LLC | Method and apparatus for signaling skip mode flag |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010131903A2 (en) * | 2009-05-12 | 2010-11-18 | Lg Electronics Inc. | Method and apparatus for processing a video signal |
| CA2934930C (en) * | 2010-04-23 | 2018-12-11 | M&K Holdings Inc. | Encoding of image coefficients divided into a plurality of sub-blocks, whereby the scan pattern is determined by the intra-prediction mode |
| MX2013005754A (es) * | 2010-11-25 | 2013-08-01 | Lg Electronics Inc | Metodo para señalizar informacion de imagen, y metodo para decodificar informacion de imagen utilizando el mismo. |
| CN104378640B (zh) * | 2011-10-17 | 2017-11-24 | 株式会社Kt | 解码视频信号的方法 |
| WO2016195460A1 (ko) * | 2015-06-05 | 2016-12-08 | 한양대학교 산학협력단 | 화면 내 예측에 대한 부호화/복호화 방법 및 장치 |
| CN117221597A (zh) * | 2016-06-22 | 2023-12-12 | Lx 半导体科技有限公司 | 图像编码/解码方法以及图像数据的传输方法 |
| WO2018080135A1 (ko) | 2016-10-28 | 2018-05-03 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
| JP2020031252A (ja) * | 2016-12-22 | 2020-02-27 | シャープ株式会社 | 画像復号装置及び画像符号化装置 |
| WO2019098464A1 (ko) * | 2017-11-14 | 2019-05-23 | 삼성전자 주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
| US10771781B2 (en) | 2018-03-12 | 2020-09-08 | Electronics And Telecommunications Research Institute | Method and apparatus for deriving intra prediction mode |
| KR20190107581A (ko) * | 2018-03-12 | 2019-09-20 | 한국전자통신연구원 | 인트라 예측 모드의 유도를 위한 방법 및 장치 |
| KR102392701B1 (ko) * | 2019-01-15 | 2022-04-28 | 엘지전자 주식회사 | 변환 스킵 플래그를 이용한 영상 코딩 방법 및 장치 |
| EP3991411A4 (en) * | 2019-07-29 | 2022-08-24 | Beijing Bytedance Network Technology Co., Ltd. | Palette mode coding in prediction process |
| JP7309046B2 (ja) * | 2019-09-02 | 2023-07-14 | 北京字節跳動網絡技術有限公司 | カラーフォーマットに基づいたビデオ領域のパーティション |
| CN121585812A (zh) * | 2019-09-07 | 2026-02-27 | 北京达佳互联信息技术有限公司 | 视频数据的解码和编码方法以及装置 |
| US20210092405A1 (en) * | 2019-09-19 | 2021-03-25 | Qualcomm Incorporated | Matrix combination for matrix-weighted intra prediction in video coding |
| JP7332795B2 (ja) * | 2019-09-21 | 2023-08-23 | 北京字節跳動網絡技術有限公司 | クロマ・イントラモードのベースとなるサイズ制約 |
| CN113875256B (zh) * | 2019-12-23 | 2024-05-31 | 腾讯美国有限责任公司 | 进行视频解码的方法、装置及存储介质 |
| CN119946278A (zh) * | 2019-12-31 | 2025-05-06 | Lg电子株式会社 | 图像解码设备、图像编码设备及比特流发送设备 |
-
2020
- 2020-12-31 CN CN202510092438.5A patent/CN119946278A/zh active Pending
- 2020-12-31 CN CN202510092433.2A patent/CN119946275A/zh active Pending
- 2020-12-31 PT PT209100403T patent/PT4087244T/pt unknown
- 2020-12-31 LT LTEPPCT/KR2020/019287T patent/LT4087244T/lt unknown
- 2020-12-31 RS RS20251282A patent/RS67538B1/sr unknown
- 2020-12-31 CN CN202510092435.1A patent/CN119946276A/zh active Pending
- 2020-12-31 KR KR1020227022064A patent/KR20220115971A/ko not_active Ceased
- 2020-12-31 EP EP25187455.8A patent/EP4604553A3/en active Pending
- 2020-12-31 AU AU2020416341A patent/AU2020416341B2/en active Active
- 2020-12-31 CN CN202510092436.6A patent/CN119946277A/zh active Pending
- 2020-12-31 FI FIEP20910040.3T patent/FI4087244T3/fi active
- 2020-12-31 MX MX2022008084A patent/MX2022008084A/es unknown
- 2020-12-31 US US17/789,939 patent/US12113975B2/en active Active
- 2020-12-31 CN CN202080097605.0A patent/CN115176465B/zh active Active
- 2020-12-31 EP EP20910040.3A patent/EP4087244B1/en active Active
- 2020-12-31 JP JP2022540750A patent/JP7444998B2/ja active Active
- 2020-12-31 CA CA3296461A patent/CA3296461A1/en active Pending
- 2020-12-31 HR HRP20251583TT patent/HRP20251583T1/hr unknown
- 2020-12-31 SI SI202030700T patent/SI4087244T1/sl unknown
- 2020-12-31 CA CA3166540A patent/CA3166540A1/en active Pending
- 2020-12-31 BR BR112022013083A patent/BR112022013083A2/pt unknown
- 2020-12-31 ES ES20910040T patent/ES3057180T3/es active Active
- 2020-12-31 PL PL20910040.3T patent/PL4087244T3/pl unknown
- 2020-12-31 WO PCT/KR2020/019287 patent/WO2021137577A1/ko not_active Ceased
-
2022
- 2022-06-28 MX MX2025012917A patent/MX2025012917A/es unknown
- 2022-06-28 MX MX2025012915A patent/MX2025012915A/es unknown
- 2022-06-28 MX MX2025012916A patent/MX2025012916A/es unknown
- 2022-06-28 MX MX2025012918A patent/MX2025012918A/es unknown
-
2024
- 2024-02-22 JP JP2024025563A patent/JP7841007B2/ja active Active
- 2024-03-06 AU AU2024201463A patent/AU2024201463B2/en active Active
- 2024-09-05 US US18/825,219 patent/US20240430422A1/en active Pending
-
2026
- 2026-02-20 AU AU2026201282A patent/AU2026201282A1/en active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES3025197T3 (en) | Inter prediction method based on history-based motion vector, and device therefor | |
| ES2966115T3 (es) | Métodos de codificación de imagen basados en historial | |
| ES3040713T3 (en) | Signaling method and device for merge data syntax in video/image coding system | |
| ES2985144T3 (es) | Método de codificación/decodificación de imagen y dispositivo para señalizar información de predicción de la componente de crominancia según que el modo de paleta sea aplicable y método para transmitir un tren de bits | |
| ES2988060T3 (es) | Método y dispositivo para eliminar la sintaxis redundante de la sintaxis de datos de fusión | |
| US12075043B2 (en) | Video encoding/decoding method and device using segmentation limitation for chroma block, and method for transmitting bitstream | |
| ES2987305T3 (es) | Procedimiento y dispositivo para señalización sintáctica en sistema de codificación de vídeo/imagen | |
| KR20220153124A (ko) | 루마 샘플 위치를 참조하여 크로마 블록의 예측 모드를 결정하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
| ES3014418T3 (en) | Video encoding/decoding method and apparatus for performing pdpc and method for transmitting bitstream | |
| ES2994112T3 (en) | Image encoding/decoding method and device, and method for transmitting bitstream | |
| ES2987119T3 (es) | Dispositivo y método de codificación de imágenes basado en filtrado | |
| ES3018507T3 (es) | Método y dispositivo para procesar información de imagen para la codificación de imágenes/vídeos | |
| JP7554881B2 (ja) | クロマブロックの最大変換サイズ設定を用いた画像符号化/復号化方法、装置、及びビットストリームを伝送する方法 | |
| JP7492067B2 (ja) | クロマ変換ブロックの最大サイズ制限を用いた画像符号化/復号化方法、装置、及びビットストリームを伝送する方法 | |
| JP7671393B2 (ja) | クロマ成分符号化ブロックの最大変換サイズ制限を用いた画像符号化/復号化方法、装置、及びビットストリームを伝送する方法 | |
| AU2024201463B2 (en) | Image encoding/decoding method and apparatus for performing prediction on basis of reconfigured prediction mode type of leaf node, and bitstream transmission method | |
| ES3004864T3 (en) | Image decoding/encoding method for performing bdof, and method for transmitting bitstream | |
| US12058342B2 (en) | Image encoding/decoding method and device using IBC prediction, and method for transmitting bitstream |