ES3046821T3 - Device for removing redundant syntax from merge data syntax - Google Patents

Device for removing redundant syntax from merge data syntax

Info

Publication number
ES3046821T3
ES3046821T3 ES24187933T ES24187933T ES3046821T3 ES 3046821 T3 ES3046821 T3 ES 3046821T3 ES 24187933 T ES24187933 T ES 24187933T ES 24187933 T ES24187933 T ES 24187933T ES 3046821 T3 ES3046821 T3 ES 3046821T3
Authority
ES
Spain
Prior art keywords
current block
mode
merge
prediction
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES24187933T
Other languages
English (en)
Inventor
Hyeongmoon Jang
Naeri Park
Seunghwan Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Application granted granted Critical
Publication of ES3046821T3 publication Critical patent/ES3046821T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/507Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un dispositivo de decodificación según el presente documento comprende un procesador configurado para realizar los pasos de determinar un modo de predicción de un bloque actual sobre la base de información sobre un modo de predicción obtenida de un flujo de bits; construir una lista de candidatos de fusión sobre la base del modo de predicción; derivar información de movimiento del bloque actual sobre la base de la lista de candidatos de fusión; y generar muestras de predicción del bloque actual sobre la base de la información de movimiento, en donde el flujo de bits incluye información sobre un indicador disponible de fusión entre imágenes y predicción intraimagen (CIIP) combinada que indica si el CIIP está disponible, y el paso de determinación puede incluir un paso de adquisición de un indicador de fusión regular del flujo de bits sobre la base del indicador disponible de CIIP. (Traducción automática con Google Translate, sin valor legal)

Description

[0001] DESCRIPCIÓN
[0002] Dispositivo para eliminar la sintaxis redundante de la sintaxis de datos de fusión
[0003] Antecedentes de la descripción
[0004] Campo de la descripción
[0005] Esta tecnología se refiere a un aparato para eliminar la sintaxis redundante de la sintaxis de los datos de fusión en un sistema de codificación de vídeo/imagen.
[0006] Técnica relacionada
[0007] Recientemente, la demanda de imagen/vídeo de alta resolución y alta calidad, tal como imagen/vídeo de 4K, 8K o más de Definición Ultra Alta (UHD), está aumentando en diversos campos. A medida que la resolución o calidad de imagen/vídeo se hace más alta, se transmite relativamente más cantidad de información o bits que para datos de imagen/vídeo convencionales. Por lo tanto, si los datos de imagen/vídeo se transmiten a través de un medio tal como una línea de banda ancha cableada/inalámbrica existente o se almacenan en un medio de almacenamiento heredado, los costes de transmisión y almacenamiento se aumentan fácilmente.
[0008] Además, están creciendo intereses y demandas de contenidos de realidad virtual (VR) y realidad artificial (AR), y medios inmersivos tales como hologramas; y también están creciendo la difusión de imágenes/vídeos que presentan características de imagen/vídeo diferentes de las de una imagen/vídeo real, tales como imágenes/vídeos de juegos. Por lo tanto, se requiere una técnica de compresión de imagen/vídeo altamente eficiente para comprimir y transmitir, almacenar o reproducir imágenes/vídeos de alta calidad y alta resolución que muestran diversas características como se ha descrito anteriormente.
[0009] Compendio
[0010] Un aspecto de la presente descripción es proporcionar un aparato para mejorar la eficiencia de codificación de imágenes.
[0011] Otro aspecto de la presente descripción es proporcionar un aparato para realizar eficientemente la interpredicción. Otro aspecto más de la presente descripción es proporcionar un aparato para eliminar la señalización innecesaria durante la interpredicción.
[0012] Otro aspecto más de la presente descripción es proporcionar un aparato para señalizar de manera eficiente información sobre un modo de fusión durante la interpredicción.
[0013] Otro aspecto más del presente documento es proporcionar un aparato para eliminar la sintaxis redundante de la sintaxis de los datos de fusión.
[0014] La invención se define por las reivindicaciones independientes adjuntas. Las reivindicaciones dependientes constituyen realizaciones de la invención.
[0015] Según la realización de la presente descripción, se puede mejorar la eficiencia de compresión de imagen/vídeo general. Según la realización de la presente descripción, la interpredicción puede realizarse de manera eficiente.
[0016] Según la realización de la presente descripción, la señalización de la sintaxis innecesaria puede eliminarse de manera eficiente durante la interpredicción.
[0017] Según la realización de la presente descripción, la información sobre el modo de fusión puede señalizarse de manera eficiente durante la interpredicción.
[0018] Según la realización de la presente descripción, es posible eliminar la sintaxis redundante de la sintaxis de datos de fusión.
[0019] Breve descripción de los dibujos
[0020] La FIG. 1 ilustra esquemáticamente un ejemplo de un sistema de codificación de vídeo/imagen al que son aplicables realizaciones de la presente descripción.
[0021] La FIG. 2 es un diagrama que explica esquemáticamente la configuración de un aparato de codificación de vídeo/imagen al que son aplicables realizaciones de la presente descripción.
[0022] La FIG. 3 es un diagrama que explica esquemáticamente la configuración de un aparato de decodificación de vídeo/imagen al que son aplicables las realizaciones de la presente descripción.
[0023] La FIG. 4 es un diagrama que representa esquemáticamente un interpredictor en un aparato de codificación. La FIG. 5 es un diagrama que representa esquemáticamente un interpredictor en un aparato de decodificación. La FIG. 6 es un diagrama que ilustra un candidato espacial que puede usarse para la interpredicción.
[0024] La FIG. 7 es un diagrama que ilustra un candidato temporal que puede usarse para la interpredicción.
[0025] La FIG. 8 es un diagrama que ilustra un proceso de predicción de vector de movimiento temporal basado en subbloques que puede usarse en interpredicción.
[0026] La FIG. 9 es un diagrama que ilustra un modo de partición que puede aplicarse a la interpredicción.
[0027] Las FIG. 10 y 11 representan esquemáticamente un ejemplo de un método de codificación de vídeo/imagen que incluye un método de interpredicción, y componentes asociados según una realización de este documento. Las FIG. 12 y 13 representan esquemáticamente un ejemplo de un método de decodificación de vídeo/imagen que incluye un método de interpredicción, y componentes asociados según una realización de este documento. La FIG. 14 ilustra un ejemplo de un sistema de transmisión continua de contenido al que son aplicables las realizaciones descritas en la presente descripción.
[0028] Descripción de realizaciones
[0029] La presente descripción puede modificarse de diversas formas, y las realizaciones específicas de la misma se describirán e ilustrarán en los dibujos. Sin embargo, las realizaciones no pretenden limitar la descripción, que se define por las reivindicaciones independientes adjuntas.
[0030] Mientras tanto, cada uno de los componentes en los dibujos descritos en esta descripción se muestran independientemente por conveniencia de la descripción con respecto a diferentes funciones características, y no significa que los componentes se implementen en hardware separado o software separado.
[0031] En este documento, el símbolo "/" y "," deben interpretarse como "y/o". Por ejemplo, la expresión "A/B" se interpreta como "A y/o B", y la expresión "A, B" se interpreta como "A y/o B". Adicionalmente, la expresión "A/B/C" significa "al menos uno de A, B y/o C". Además, la expresión "A, B, C" también significa "al menos uno de A, B y/o C". (En este documento, el término "/" y "," debe interpretarse para indicar "y/o". Por ejemplo, la expresión "A/B" puede significar "A y/o B". Además, "A, B" puede significar "A y/o B". Además, "A/B/C" puede significar "al menos uno de A, B y/o C". Además, "A/B/C" puede significar "al menos uno de A, B y/o C")
[0032] Adicionalmente, en el presente documento, el término "o" debe interpretarse como "y/o". Por ejemplo, la expresión "A o B" puede significar 1) solo "A", 2) solo "B" y/o 3) "tanto A como B". En otras palabras, el término "o" en el presente documento puede significar "adicional o alternativamente". (Además, en el documento, 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, el término "o" en este documento debe interpretarse para indicar "adicional o alternativamente").
[0033] Este documento se refiere a la codificación de vídeo/imagen. Por ejemplo, un método/realización descrito en este documento puede aplicarse a un método descrito en el estándar de codificación de vídeo versátil (VVC). Además, por ejemplo, un método/realización descritos en este documento puede aplicarse a un método descrito en el estándar de codificación de vídeo esencial (EVC), el estándar de Vídeo de AOmedia 1 (AV1), la 2a generación del estándar de codificación de vídeo de audio (AVS2) o el estándar de codificación de vídeo/imagen de próxima generación (por ejemplo, H.267, H.268 o similares).
[0034] A continuación en el presente documento, se describirán en detalle ejemplos de la presente realización con referencia a los dibujos adjuntos. Además, se usan números de referencia similares para indicar elementos similares en todos los dibujos, y se omitirán las mismas descripciones de los elementos similares.
[0035] La FIG. 1 ilustra un ejemplo de un sistema de codificación de vídeo/imagen al que se puede aplicar la presente descripción.
[0036] Con referencia a la FIG. 1, un sistema de codificación de vídeo/imagen puede incluir un dispositivo de origen y un dispositivo de recepción. El dispositivo de origen puede transmitir información o datos de vídeo/imagen codificados al dispositivo de recepción a través de un medio o red de almacenamiento digital en forma de un archivo o flujo continuo. El dispositivo de origen puede incluir una fuente de vídeo, un aparato de codificación y un transmisor. El dispositivo receptor puede incluir un receptor, un aparato de decodificación y un renderizador. El aparato de codificación puede denominarse aparato de codificación de vídeo/imagen, y el aparato de decodificación puede denominarse aparato de decodificación de vídeo/imagen. El transmisor puede incluirse en el aparato de codificación. El receptor puede estar incluido en el aparato de decodificación. El renderizador puede incluir una pantalla, y la pantalla puede configurarse como un dispositivo separado o un componente externo.
[0037] La fuente de vídeo puede adquirir vídeo/imagen a través de un proceso de captura, síntesis o generación del vídeo/imagen. La fuente de vídeo puede incluir un dispositivo de captura de vídeo/imagen y/o un dispositivo generador 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 generador 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, se puede generar un vídeo/imagen virtual a través de un ordenador o similar. En este caso, el proceso de captura de video/imagen puede ser sustituido por un proceso de generación de datos relacionados.
[0039] El aparato de codificación puede codificar vídeo/imagen de entrada. El aparato de codificación puede realizar una serie de procedimientos tales como predicción, transformación y cuantificación para la eficiencia de compactación y codificación. Los datos codificados (información de vídeo/imagen codificada) pueden emitirse en forma de un flujo de bits.
[0040] El transmisor puede transmitir la imagen/información de imagen codificada o datos emitidos en forma de un flujo de bits al receptor del dispositivo receptor a través de un medio de almacenamiento digital o una red en forma de un archivo o flujo continuo. 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 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 puede recibir/extraer el flujo de bits y transmitir el flujo de bits recibido al aparato de decodificación.
[0042] El aparato de decodificación puede decodificar el vídeo/imagen realizando una serie de procedimientos tales como descuantificación, transformada inversa y predicción correspondientes al funcionamiento del aparato de codificación.
[0043] El renderizador puede renderizar el vídeo/imagen decodificado. El vídeo/imagen renderizada puede mostrarse a través de la pantalla.
[0045] En este documento, puede omitirse al menos una de cuantificación/descuantificación y/o transformada/transformada inversa. En caso de que se omita la cuantificación/descuantificación, el coeficiente de transformada cuantificado puede denominarse un coeficiente de transformada. En caso de que se omita la transformada/transformada inversa, el coeficiente de transformada puede denominarse coeficiente o coeficiente residual, o puede denominarse todavía coeficiente de transformada para la unidad de expresión.
[0047] En este documento, el coeficiente de transformada cuantificado y el coeficiente de transformada pueden denominarse un coeficiente de transformada y un coeficiente de transformada escalado, respectivamente. En este caso, la información residual puede incluir información sobre el o los coeficientes de transformada, y la información sobre el o los coeficientes de transformada puede señalizarse a través de una sintaxis de codificación residual. Los coeficientes de transformada pueden derivarse basándose en la información residual (o información sobre el o los coeficientes de transformada), y los coeficientes de transformada escalados pueden derivarse a través de la transformada inversa (escalado) de los coeficientes de transformada. Las muestras residuales pueden derivarse en base a la transformada inversa (transformada) de los coeficientes de transformada escalados. Esto puede aplicarse/expresarse de la misma manera con respecto a otras partes de este documento.
[0049] En este documento, un video puede referirse a una serie de imágenes a lo largo del tiempo. Un fotograma generalmente se refiere a la unidad que representa una imagen en un momento particular, y un segmento/baldosa se refiere a la unidad que constituye una parte del fotograma en términos de codificación. Un segmento/baldosa puede incluir una o más unidades de árbol de codificación (CTU). Un fotograma puede consistir en uno o más segmentos/baldosa. Un fotograma puede consistir en uno o más grupos de baldosas. Un grupo de baldosas puede incluir una o más baldosas. Un ladrillo puede representar una región rectangular de filas de CTU dentro de una baldosa en un fotograma (un ladrillo puede representar una región rectangular de filas de CTU dentro de una baldosa en un fotograma). Una baldosa puede dividirse en múltiples ladrillos, cada uno de los cuales puede construirse con una o más filas CTU dentro de la baldosa (una baldosa puede dividirse en múltiples ladrillos, cada uno de los cuales consiste en una o más filas CTU dentro de la baldosa). Una baldosa que no está dividida en múltiples ladrillos también puede denominarse ladrillo. Un escaneo de ladrillos puede representar un ordenamiento secuencial específico de CTU que dividen un fotograma, en donde las CTU pueden ordenarse en un escaneo de trama de CTU dentro de un ladrillo, y los ladrillos dentro de una baldosa pueden ordenarse consecutivamente en un escaneo de trama de los ladrillos de la baldosa, y las baldosas en un fotograma pueden ordenarse consecutivamente en un escaneo de trama de las baldosas del fotograma (Un escaneo de ladrillos es un ordenamiento secuencial específico de CTU que dividen un fotograma en donde las CTU se ordenan consecutivamente en un escaneo de trama de CTU en un ladrillo, los ladrillos dentro de una baldosa se ordenan consecutivamente en un escaneo de trama de los ladrillos de la baldosa, y las baldosas en el fotograma se ordenan consecutivamente en un escaneo de trama de las baldosas del fotograma). Una baldosa es una columna de baldosas particular y una región rectangular de CTU dentro de una columna de baldosas particular (una baldosa es una región rectangular de CTU dentro de una columna de baldosas particular y una fila de baldosas particular en un fotograma). La columna de baldosas es una región rectangular de CTU, que tiene una altura igual a la altura del fotograma y un ancho que puede especificarse por elementos sintácticos en el conjunto de parámetros del fotograma (la columna de baldosas es una región rectangular de CTU que tiene una altura igual a la altura del fotograma y un ancho especificado por elementos sintácticos en el conjunto de parámetros del fotograma). La fila de baldosas es una región rectangular de CTU, que tiene un ancho especificado por los elementos sintácticos en el conjunto de parámetros del fotograma y una altura que puede ser igual a la altura del fotograma (la fila de baldosas es una región rectangular de CTU que tiene una altura especificada por los elementos sintácticos en el conjunto de parámetros del fotograma y un ancho igual al ancho del fotograma). Una exploración de baldosas puede representar un ordenamiento secuencial específico de CTU que dividen un fotograma, y las CTU pueden ordenarse consecutivamente en una exploración de trama de CTU en una baldosa, y los baldosas en un fotograma pueden ordenarse consecutivamente en una exploración de trama de los baldosas del fotograma (Una exploración de baldosas es un ordenamiento secuencial específico de CTU que dividen un fotograma en donde las CTU se ordenan consecutivamente en una exploración de trama de CTU en una baldosa, mientras que las baldosas en un fotograma se ordenan consecutivamente en una exploración de trama de los baldosas del fotograma). Un segmento puede incluir un número entero de ladrillos de un fotograma, y el número entero de ladrillos puede incluirse en una única unidad NAL (un segmento incluye un número entero de ladrillos de un fotograma que puede estar contenida exclusivamente en una única unidad NAL). Un segmento puede construirse con múltiples baldosas completas, o puede ser una secuencia consecutiva de ladrillos completos de una baldosa (un segmento puede consistir en una serie de baldosas completas o solo una secuencia consecutiva de ladrillos completos de una baldosa). En este documento, se pueden usar un grupo de baldosas y un segmento en lugar de uno de otro. Por ejemplo, en este documento, una cabecera de grupo de baldosas/grupo de baldosas puede denominarse cabecera de segmento/segmento.
[0051] Un píxel o un pel puede significar la unidad más pequeña que constituye un fotograma (o imagen). Además, 'muestra' puede usarse 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.
[0053] 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 del fotograma e información relacionada con la región. Una unidad puede incluir un bloque de luma y dos bloques de croma (por ejemplo cb, cr). La unidad puede usarse indistintamente con términos tales como bloque o área en algunos casos. En un caso general, un bloque MxN puede incluir muestras (o matrices de muestras) o un conjunto (o matriz) de coeficientes de transformada de M columnas y N filas.
[0055] La FIG. 2 es un diagrama que ilustra esquemáticamente una configuración de un aparato de codificación de vídeo/imagen al que se puede aplicar la presente descripción. En lo sucesivo, lo que se denomina aparato de codificación de vídeo puede incluir un aparato de codificación de imágenes.
[0057] Con referencia a la FIG. 2, el aparato 200 de codificación puede incluir y configurarse con un particionador 210 de imágenes, un predictor 220, un procesador 230 residual, un codificador 240 de entropía, un sumador 250, un filtro 260 y una memoria 270. El predictor 220 puede incluir un interpredictor 221 y un intrapredictor 222. El procesador 230 residual puede incluir un transformador 232, un cuantificador 233, un descuantificador 234 y un transformador 235 inverso. El procesador 230 residual puede incluir además un restador 231. El sumador 250 puede denominarse reconstructor o generador de bloques reconstruidos. El particionador 210 de imágenes, el predictor 220, el procesador 230 residual, el codificador 240 de entropía, el sumador 250 y el filtro 260, que se han descrito anteriormente, pueden configurarse mediante uno o más componentes de hardware (por ejemplo, conjuntos de chips o procesadores de codificador) según una realización. Además, la memoria 270 puede incluir una memoria intermedia de fotogramas descodificados (DPB) y también puede configurarse mediante un medio de almacenamiento digital. El componente de hardware puede incluir además la memoria 270 como un componente interno/externo.
[0059] El particionador 210 de imágenes puede dividir una entrada de imagen de entrada (o, fotograma, marco) al aparato 200 de codificación en una o más unidades de procesamiento. Como ejemplo, la unidad de procesamiento puede denominarse unidad de codificación (CU). En este caso, la unidad de codificación puede dividirse recursivamente según una estructura de árbol ternario de árbol binario de árbol cuádruple (QTBTTT) de una unidad de árbol de codificación (CTU) o la unidad de codificación más grande (LCU). Por ejemplo, una unidad de codificación puede dividirse en una pluralidad de unidades de codificación de una profundidad más profunda basándose en una estructura de árbol cuádruple, una estructura de árbol binario y/o una estructura de árbol ternario. En este caso, por ejemplo, se aplica primero la estructura de árbol cuádruple y la estructura de árbol binario y/o la estructura de árbol ternario pueden aplicarse más tarde. Alternativamente, la estructura de árbol binario también puede aplicarse en primer lugar. Un procedimiento de codificación según la presente descripción puede realizarse basándose en una unidad de codificación final que ya no se divide. En este caso, basándose en la eficiencia de codificación según características de imagen o similares, la unidad de codificación máxima puede usarse directamente como la unidad de codificación final, o según sea necesario, la unidad de codificación puede dividirse recursivamente en unidades de codificación de una profundidad más profunda, de manera que puede usarse una unidad de codificación que tiene un tamaño óptimo como la unidad de codificación final. En este caso, el procedimiento de codificación puede incluir un procedimiento tal como predicción, transformación y reconstrucción que se describirá más adelante. Como otro ejemplo, la unidad de procesamiento puede incluir además una unidad de predicción (PU) o una unidad de transformación (TU). En este caso, cada una de la unidad de predicción y la unidad de transformación puede dividirse o particionarse de la unidad de codificación final mencionada anteriormente. 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 inducir un coeficiente de transformación y/o una unidad para inducir una señal residual a partir del coeficiente de transformación.
[0060] La unidad puede usarse indistintamente con el término tal como un bloque o un área en algunos casos. En general, un bloque MxN puede representar muestras compuestas por M columnas y N filas o un grupo de coeficientes de transformada. La muestra puede representar generalmente un píxel o un valor del píxel, y también puede representar solo el valor de píxel/píxel de un componente de luma, y también representar solo el valor de píxel/píxel de un componente de croma. La muestra puede usarse como el término correspondiente a un píxel o un pel que configura un fotograma (o imagen).
[0062] El aparato 200 de codificación puede generar una señal residual (bloque residual, matriz de muestras residuales) restando una señal predicha (bloque predicho, matriz de muestras de predicción) emitida desde el interpredictor 221 o el intrapredictor 222 de la señal de imagen de entrada (bloque original, matriz de muestras originales), y la señal residual generada se transmite al transformador 232. En este caso, como se ilustra, el componente para restar la señal predicha (bloque predicho, matriz de muestras de predicción) de la señal de imagen de entrada (bloque original, matriz de muestras originales) dentro de un codificador 200 puede denominarse restador 231. El predictor puede realizar la predicción para un bloque a procesar (en lo sucesivo, denominado bloque actual), y generar un bloque predicho que incluye muestras de predicción del bloque actual. El predictor puede determinar si se aplica intrapredicción o si se aplica intrapredicción en unidades del bloque actual o la CU. El predictor puede generar diversa información sobre la predicción, tal como información de modo de predicción, para transferir la información generada al codificador 240 de entropía como se describe más adelante en la descripción de cada modo de predicción. La información sobre la predicción puede codificarse por el codificador 240 de entropía para emitirse en forma del flujo de bits.
[0064] El intrapredictor 222 puede predecir un bloque actual con referencia a muestras dentro de un fotograma actual. Las muestras referenciadas pueden ubicarse vecinas del bloque actual, o también pueden ubicarse alejadas del bloque actual según el modo de predicción. Los modos de predicción en la intrapredicció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 de CC o un modo plano. El modo direccional puede incluir, por ejemplo, 33 modos de predicción direccional o 65 modos de predicción direccional según el grado fino de la dirección de predicción. Sin embargo, esto es ilustrativo y los modos de predicción direccional que son más o menos que el número anterior pueden usarse según el ajuste. El predictor intra 222 también puede determinar el modo de predicción aplicado al bloque actual usando el modo de predicción aplicado al bloque vecino.
[0066] El interpredictor 221 puede inducir un bloque predicho del bloque actual basándose en un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en un fotograma de referencia. En este momento, para disminuir la cantidad de información de movimiento transmitida en el modo de interpredicción, la información de movimiento puede predecirse en unidades de un bloque, un subbloque o una muestra basándose en la correlación de la 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 fotograma de referencia. La información de movimiento puede incluir además información de dirección de interpredicción (predicción L0, predicción L1, predicción Bi o similares). En el caso de la interpredicción, el bloque vecino puede incluir un bloque vecino espacial existente dentro del fotograma actual y un bloque vecino temporal existente en el fotograma de referencia. El fotograma de referencia que incluye el bloque de referencia y el fotograma de referencia que incluye el bloque vecino temporal también pueden ser iguales entre sí, y también pueden ser diferentes entre sí. El bloque vecino temporal puede denominarse nombre tal como un bloque de referencia coubicado, una CU coubicada (colCU) o similar, y el fotograma de referencia que incluye el bloque vecino temporal también puede denominarse fotograma coubicado (colPic). Por ejemplo, el interpredictor 221 puede configurar una lista de candidatos de información de movimiento basándose en los bloques vecinos, y generar información que indica qué candidato se usa para derivar el vector de movimiento y/o el índice de fotograma de referencia del bloque actual. La interpredicción puede realizarse basándose en diversos modos de predicción y, por ejemplo, en el caso de un modo de salto y un modo de fusión, el interpredictor 221 puede usar la información de movimiento del bloque vecino como la información de movimiento del bloque actual. En el caso del modo de salto, la señal residual puede no transmitirse a diferencia del modo de fusión. Un modo de predicción de vector de movimiento (MVP) puede indicar el vector de movimiento del bloque actual usando el vector de movimiento del bloque vecino como un predictor de vector de movimiento, y señalando una diferencia de vector de movimiento.
[0068] El predictor 220 puede generar una señal predicha basándose en diversos métodos de predicción que se describirán más adelante. Por ejemplo, el predictor puede no solo aplicar la intrapredicción o la interpredicción para predecir un bloque, sino también aplicar simultáneamente la intrapredicción y la interpredicción. Esto puede denominarse inter e intrapredicción combinada (CIIP). Además, el predictor puede basarse en un modo de predicción de copia intrabloque (IBC) o un modo de paleta para realizar la predicción en un bloque. El modo de predicción de IBC o el modo de paleta pueden usarse para la codificación de imagen/vídeo de contenido de un juego o similar, tal como la codificación de contenido de pantalla (SCC). El IBC realiza básicamente la predicción en un fotograma actual, pero puede realizarse de manera similar a la interpredicción porque deriva un bloque de referencia en un fotograma actual. Es decir, el IBC puede usar al menos una de las técnicas de interpredicción descritas en el presente documento. El modo de paleta puede considerarse como un ejemplo de intracodificación o intrapredicción. Cuando se aplica el modo de paleta, un valor de muestra en un fotograma puede señalizarse basándose en información sobre un índice de paleta y una tabla de paleta.
[0069] La señal predicha generada a través del predictor (incluyendo el interpredictor 221 y/o el intrapredictor 222) puede usarse para generar una señal reconstruida o usarse para generar una señal residual.
[0070] El transformador 232 puede generar coeficientes de transformada aplicando la técnica de transformada a la señal residual. Por ejemplo, la técnica de transformada 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 gráficos (GBT) o una transformada condicionalmente no lineal (CNT). Aquí, cuando la información de relación entre píxeles se ilustra como un gráfico, la GBT significa la transformada obtenida del gráfico. La CNT significa la transformada que se adquiere basándose en una señal predicha generada usando todos los píxeles reconstruidos previamente. Además, el proceso de transformación también puede aplicarse a un bloque de píxeles que tiene el mismo tamaño del cuadrado, y también puede aplicarse al bloque que tiene un tamaño variable en lugar del cuadrado. El cuantificador 233 puede cuantificar los coeficientes de transformada para transmitir los coeficientes de transformada cuantificados al codificador 240 de entropía, y el codificador 240 de entropía puede codificar la señal cuantificada (información sobre los coeficientes de transformada cuantificados) a la señal cuantificada codificada al flujo de bits. La información sobre los coeficientes de transformada cuantificados puede denominarse información residual.
[0072] El cuantificador 233 puede reorganizar los coeficientes de transformada cuantificados que tienen una forma de bloque en una forma de vector unidimensional basándose en un orden de exploración de coeficientes, y también generar la información sobre los coeficientes de transformada cuantificados basándose en los coeficientes de transformada cuantificados de la forma de vector unidimensional.
[0074] El codificador 240 de entropía puede realizar diversos métodos de codificación, por ejemplo, tales como una codificación exponencial de Golomb, una codificación de longitud variable adaptativa al contexto (CAVLC) y una codificación aritmética binaria adaptativa al contexto (CABAC). El codificador 240 de entropía también puede codificar información (por ejemplo, valores de elementos sintácticos y similares) necesaria para reconstruir video/imagen distinta de los coeficientes de transformada cuantificados juntos o por separado. La información codificada (por ejemplo, información de vídeo/imagen codificada) puede transmitirse o almacenarse en unidades de la unidad de capa de abstracción de red (NAL) en forma del 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 fotograma (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 de restricción general. La información señalizada/transmitida y/o los elementos sintácticos que se describirán más adelante en este documento pueden codificarse a través del procedimiento de codificación mencionado anteriormente y, por lo tanto, incluirse en el flujo de bits. El flujo de bits puede transmitirse a través de una red, o almacenarse en un medio de almacenamiento digital. En este caso, la red puede incluir una red de radiodifusión y/o una red de comunicación, o similar, y el medio de almacenamiento digital puede incluir diversos medios de almacenamiento tales como USB, SD, CD, DVD, Blue-ray, HDD y SSD. Un transmisor (no ilustrado) para transmitir la señal emitida desde el codificador 240 de entropía y/o un almacenamiento (no ilustrado) para almacenar la señal pueden configurarse como los elementos internos/externos del aparato 200 de codificación, o el transmisor también puede incluirse en el codificador 240 de entropía.
[0076] Los coeficientes de transformada cuantificados emitidos desde el cuantificador 233 pueden usarse para generar una señal predicha. Por ejemplo, el descuantificador 234 y el transformador 235 inverso aplican descuantificación y transformación inversa a los coeficientes de transformación cuantificados, de manera que la señal residual (bloque residual o muestras residuales) puede reconstruirse. El sumador 250 suma la señal residual reconstruida a la señal predicha emitida desde el interpredictor 221 o el intrapredictor 222, de manera que puede generarse la señal reconstruida (fotograma reconstruido, bloque reconstruido, matriz de muestras reconstruidas). Como en el caso en donde se aplica el modo de salto, si no hay ningún residuo para el bloque que va a procesarse, el bloque predicho puede usarse como el bloque reconstruido. El sumador 250 puede denominarse reconstructor o generador de bloques reconstruidos. La señal reconstruida generada puede usarse para la intrapredicción del siguiente bloque que va a procesarse dentro del fotograma actual, y tal como se describe más adelante, también usarse para la interpredicción del siguiente fotograma a través de filtrado.
[0078] Mientras tanto, también puede aplicarse una correspondencia de luma con escalado de croma (LMCS) en un proceso de codificación y/o reconstrucción de fotogramas.
[0080] El filtro 260 puede aplicar filtrado a la señal reconstruida, mejorando por ello las cualidades subjetivas/objetivas de la imagen. Por ejemplo, el filtro 260 puede aplicar diversos procedimientos de filtrado al fotograma reconstruido para generar un fotograma reconstruido modificado, y almacenar el fotograma reconstruido modificado en la memoria 270, específicamente, el DPB de la memoria 270. Diversos métodos de filtrado pueden incluir, por ejemplo, un filtrado de desbloqueo, un desplazamiento adaptativo de muestra, un filtro de bucle adaptativo, un filtro bilateral y similares. El filtro 260 puede generar diversa información relacionada con el filtrado para transferir la información generada al codificador 240 de entropía, como se describe más adelante en la descripción de cada método de filtrado. La información relacionada con el filtrado puede ser codificada por el codificador 240 de entropía para ser emitida en forma del flujo de bits.
[0082] El fotograma reconstruido modificado transmitida a la memoria 270 puede usarse como el fotograma de referencia en el interpredictor 221. Si la interpredicción se aplica por el interpredictor, el aparato de codificación puede evitar el desajuste de predicción entre el aparato 200 de codificación y el aparato de decodificación, y también mejorar la eficiencia de codificación.
[0083] El DPB de la memoria 270 puede almacenar el fotograma reconstruido modificado que se utilizará como fotograma de referencia en el interpredictor 221. La memoria 270 puede almacenar información de movimiento del bloque en donde se deriva (o codifica) la información de movimiento dentro del fotograma actual y/o información de movimiento de los bloques dentro del fotograma previamente reconstruido. La información de movimiento almacenada puede transferirse al interpredictor 221 para utilizarse como información de movimiento del bloque vecino espacial o información de movimiento del bloque vecino temporal. La memoria 270 puede almacenar las muestras reconstruidas de los bloques reconstruidos dentro del fotograma actual, y transferir las muestras reconstruidas al intrapredictor 222.
[0085] La FIG. 3 es un diagrama para explicar esquemáticamente una configuración de un aparato de decodificación de vídeo/imagen al que es aplicable la presente descripción.
[0087] Con referencia a la FIG. 3, el aparato 300 de descodificación puede incluir y configurarse con un descodificador 310 de entropía, un procesador 320 residual, un predictor 330, un sumador 340, un filtro 350 y una memoria 360. El predictor 330 puede incluir un interpredictor 331 y un intrapredictor 332. El procesador 320 residual puede incluir un descuantificador 321 y un transformador 322 inverso. El decodificador 310 de entropía, el procesador 320 residual, el predictor 330, el sumador 340 y el filtro 350, que se han descrito anteriormente, pueden configurarse mediante uno o más componentes de hardware (por ejemplo, conjuntos de chips o procesadores de decodificador) según una realización. Además, la memoria 360 puede incluir una memoria intermedia de imágenes descodificadas (DPB) y puede configurarse mediante un medio de almacenamiento digital. El componente de hardware puede incluir además la memoria 360 como un componente interno/externo.
[0089] Cuando se introduce el flujo de bits que incluye la información de vídeo/imagen, el aparato 300 de descodificación puede reconstruir la imagen en respuesta a un proceso en donde la información de vídeo/imagen se procesa en el aparato de codificación ilustrado en la FIG. 2. Por ejemplo, el aparato 300 de decodificación puede derivar las unidades/bloques basándose en información relacionada con división de bloques adquirida a partir del flujo de bits. El aparato 300 de decodificación puede realizar la decodificación usando la unidad de procesamiento aplicada al aparato de codificación. Por lo tanto, la unidad de procesamiento para la decodificación puede ser, por ejemplo, una unidad de codificación, y la unidad de codificación puede dividirse según la estructura de árbol cuádruple, la estructura de árbol binario y/o la estructura de árbol ternario de la unidad de árbol de codificación o la unidad de codificación máxima. Una o más unidades de transformación pueden derivarse de la unidad de codificación. Además, la señal de imagen reconstruida descodificada y emitida a través del aparato 300 de descodificación puede reproducirse a través de un aparato de reproducción.
[0091] El aparato 300 de descodificación puede recibir la señal emitida desde el aparato de codificación ilustrado en la FIG.
[0092] 2 en forma del flujo de bits, y la señal recibida puede descodificarse a través del descodificador 310 de entropía. Por ejemplo, el decodificador 310 de entropía puede derivar la información (por ejemplo, información de vídeo/imagen) necesaria para la reconstrucción de imágenes (o reconstrucción de fotogramas) analizando sintácticamente el 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) y un conjunto de parámetros de vídeo (VPS). Además, la información de vídeo/imagen puede incluir además información de restricción general. El aparato de decodificación puede decodificar el fotograma además basándose en la información sobre el conjunto de parámetros y/o la información de restricción general. La información señalizada/recibida y/o los elementos sintácticos que se describirán más adelante en este documento pueden decodificarse a través del procedimiento de decodificación y adquirirse del flujo de bits. Por ejemplo, el decodificador 310 de entropía puede decodificar información dentro del flujo de bits basándose en un método de codificación tal como una codificación exponencial de Golomb, un CAVLC o un CABAC, y emitir un valor del elemento sintáctico necesario para la reconstrucción de imágenes, y los valores cuantificados del coeficiente de transformada relacionado con residuos. Más específicamente, el método de decodificación por entropía CABAC puede recibir un bin correspondiente a cada elemento sintáctico del flujo de bits, determinar un modelo de contexto usando información de elemento sintáctico a decodificar y decodificar información del bloque vecino y el bloque a decodificar o información del símbolo/bin decodificado en la etapa anterior, y generar un símbolo correspondiente a un valor de cada elemento sintáctico prediciendo la probabilidad de generación del bin según el modelo de contexto determinado para realizar la decodificación aritmética del bin. En este momento, el método de descodificación por entropía CABAC puede determinar el modelo de contexto y luego actualizar el modelo de contexto usando la información del símbolo/bin descodificado para un modelo de contexto de un siguiente símbolo/bin. La información sobre la predicción entre la información descodificada por el descodificador 310 de entropía puede proporcionarse al predictor (el interpredictor 332 y el intrapredictor 331), y un valor residual en donde la descodificación de entropía se realiza por el descodificador 310 de entropía, es decir, los coeficientes de transformada cuantificados y la información de parámetro relacionada pueden introducirse en el procesador 320 residual.
[0094] El procesador 320 residual puede derivar una señal residual (bloque residual, muestras residuales y matriz de muestras residuales). Además, la información sobre el filtrado entre la información descodificada por el descodificador 310 de entropía puede proporcionarse al filtro 350. Mientras tanto, un receptor (no ilustrado) para recibir la señal emitida desde el aparato de codificación puede configurarse además como el elemento interno/externo del aparato 300 de descodificación, o el receptor también puede ser un componente del descodificador 310 de entropía. Mientras tanto, el aparato de decodificación según este documento puede denominarse aparato de decodificación de vídeo/imagen/imagen, y el aparato de decodificación también puede clasificarse en un decodificador de información (decodificador de información de vídeo/imagen/fotograma) y un decodificador de muestra (decodificador de muestra de vídeo/imagen/fotograma). El decodificador de información puede incluir el decodificador 310 de entropía, y el decodificador de muestras puede incluir al menos uno del descuantificador 321, el transformador 322 inverso, el sumador 340, el filtro 350, la memoria 360, el interpredictor 332 y el intrapredictor 331.
[0096] El descuantificador 321 puede descuantificar los coeficientes de transformada cuantificados para emitir los coeficientes de transformada. El descuantificador 321 puede reorganizar los coeficientes de transformada cuantificados en una forma de bloque bidimensional. En este caso, la transposición puede realizarse basándose en un orden de exploración de coeficientes realizado por el aparato de codificación. El descuantificador 321 puede realizar la descuantificación para los coeficientes de transformada cuantificados usando un parámetro de cuantificación (por ejemplo, información de tamaño de paso de cuantificación), y adquirir los coeficientes de transformada.
[0098] El transformador 322 inverso transforma inversamente los coeficientes de transformada para adquirir la señal residual (bloque residual, matriz de muestras residuales).
[0100] El predictor 330 puede realizar la predicción del bloque actual y generar un bloque predicho que incluye las muestras de predicción del bloque actual. El predictor puede determinar si se aplica la intrapredicción o si se aplica la interpredicción al bloque actual basándose en la información sobre la predicción emitida desde el decodificador 310 de entropía, y determinar un modo de intrapredicción/interpredicción específico.
[0102] El predictor puede generar la señal predicha basándose en diversos métodos de predicción que se describirán más adelante. Por ejemplo, el predictor puede no solo aplicar la intrapredicción o la interpredicción para la predicción de un bloque, sino también aplicar la intrapredicción y la interpredicción al mismo tiempo. Esto puede denominarse inter e intrapredicción combinada (CIIP). Además, el predictor puede basarse en un modo de predicción de copia intrabloque (IBC), o un modo de paleta para realizar la predicción en un bloque. El modo de predicción de IBC o el modo de paleta pueden usarse para la codificación de imagen/vídeo de contenido de un juego o similar, tal como la codificación de contenido de pantalla (SCC). El IBC realiza básicamente la predicción en un fotograma actual, pero puede realizarse de manera similar a la interpredicción porque deriva un bloque de referencia en un fotograma actual. Es decir, el IBC puede usar al menos una de las técnicas de interpredicción descritas en el presente documento. El modo de paleta puede considerarse como un ejemplo de intracodificación o intrapredicción. Cuando se aplica el modo de paleta, la información sobre una tabla de paleta y un índice de paleta puede incluirse en la información de vídeo/imagen y señalizarse.
[0104] El predictor intra 331 puede predecir el bloque actual con referencia a las muestras dentro del fotograma actual. Las muestras referenciadas pueden ubicarse vecinas del bloque actual según el modo de predicción, o también pueden ubicarse lejos del bloque actual. Los modos de predicción en la intrapredicción pueden incluir una pluralidad de modos no direccionales y una pluralidad de modos direccionales. El predictor intra 331 también puede determinar el modo de predicción aplicado al bloque actual usando el modo de predicción aplicado al bloque vecino.
[0106] El interpredictor 332 puede inducir el bloque predicho del bloque actual basándose en el bloque de referencia (matriz de muestras de referencia) especificado por el vector de movimiento en el fotograma de referencia. En este momento, para disminuir la cantidad de la información de movimiento transmitida en el modo de interpredicción, la información de movimiento puede predecirse en unidades de un bloque, un subbloque o una muestra basándose en la correlación de la 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 fotograma de referencia. La información de movimiento puede incluir además información de dirección de interpredicción (predicción L0, predicción L1, predicción Bi o similares). En el caso de la interpredicción, el bloque vecino puede incluir un bloque vecino espacial existente dentro del fotograma actual y un bloque vecino temporal existente en el fotograma de referencia. Por ejemplo, el interpredictor 332 puede configurar una lista de candidatos de información de movimiento basándose en los bloques vecinos, y derivar el vector de movimiento y/o el índice de fotograma de referencia del bloque actual basándose en la información de selección de candidatos recibida. La interpredicción puede realizarse basándose en diversos modos de predicción, y la información sobre la predicción puede incluir información que indica el modo de la interpredicción del bloque actual.
[0108] El sumador 340 puede agregar la señal residual adquirida a la señal predicha (bloque predicho, matriz de muestras de predicción) emitida desde el predictor (incluyendo el interpredictor 332 y/o el intrapredictor 331) para generar la señal reconstruida (imagen reconstruida, bloque reconstruido, matriz de muestras reconstruidas). Como en el caso en donde se aplica el modo de salto, si no hay ningún residuo para el bloque que va a procesarse, el bloque predicho puede usarse como el bloque reconstruido.
[0110] El sumador 340 puede denominarse reconstructor o generador de bloques reconstruidos. La señal reconstruida generada puede usarse para la intrapredicción de un siguiente bloque que va a procesarse dentro de la imagen actual, y tal como se describe más adelante, también puede emitirse a través de filtrado o también puede usarse para la interpredicción de una imagen siguiente.
[0112] Mientras tanto, también puede aplicarse una correspondencia de luma con escalado de croma (LMCS) en el proceso de decodificación de fotogramas.
[0114] El filtro 350 puede aplicar filtrado a la señal reconstruida, mejorando de este modo las cualidades subjetivas/objetivas de la imagen. Por ejemplo, el filtro 350 puede aplicar diversos procedimientos de filtrado al fotograma reconstruido para generar un fotograma reconstruido modificado, y transmitir el fotograma reconstruido modificado a la memoria 360, específicamente, el DPB de la memoria 360. Diversos métodos de filtrado pueden incluir, por ejemplo, un filtrado de desbloqueo, un desplazamiento adaptativo de muestra, un filtro de bucle adaptativo, un filtro bidireccional y similares.
[0115] El fotograma reconstruido (modificado) almacenado en el DPB de la memoria 360 puede usarse como el fotograma de referencia en el interpredictor 332. La memoria 360 puede almacenar información de movimiento del bloque en donde se deriva (decodifica) la información de movimiento dentro de la imagen actual y/o información de movimiento de los bloques dentro del fotograma previamente reconstruido. La información de movimiento almacenada puede transferirse al interpredictor 260 para utilizarse como información de movimiento del bloque vecino espacial o información de movimiento del bloque vecino temporal. La memoria 360 puede almacenar las muestras reconstruidas de los bloques reconstruidos dentro del fotograma actual, y transferir las muestras reconstruidas almacenadas al intrapredictor 331.
[0117] En la presente memoria descriptiva, las realizaciones ejemplares descritas en el filtro 260, el interpredictor 221 y el intrapredictor 222 del aparato 200 de codificación pueden aplicarse igualmente a o para corresponder al filtro 350, el interpredictor 332 y el intrapredictor 331 del aparato 300 de decodificación, respectivamente.
[0119] El método de codificación de vídeo/imagen según la presente descripción puede realizarse basándose en la siguiente estructura de partición. Específicamente, los procedimientos de predicción, procesamiento residual (transformada (inversa) y (des)cuantificación), codificación de elementos sintácticos y filtrado que se describirán más adelante se pueden realizar en base a la CTU y la CU (y/o la TU y la PU) derivadas en base a la estructura de partición. El particionador 210 de imágenes del aparato de codificación descrito anteriormente puede realizar un procedimiento de división de bloques, y la información relacionada con la división puede procesarse (codificar) por el codificador 240 de entropía, y puede transferirse al aparato de decodificación en forma de un flujo de bits. El decodificador 310 de entropía del aparato de decodificación puede derivar la estructura de partición de bloques de la imagen actual en base a la información relacionada con la partición obtenida 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 y similares) para la decodificación de imágenes. El tamaño de CU y el tamaño de TU pueden ser iguales entre sí, o una pluralidad de TU puede estar presente dentro de una región de CU. Mientras tanto, el tamaño de la CU puede representar generalmente un tamaño de bloque de codificación (CB) de componente de luma (muestra). El tamaño de TU puede representar generalmente un tamaño de bloque de transformada (TB) de componente de luma (muestra). El tamaño de CB o TB de componente de croma (muestra) puede derivarse basándose en el tamaño de CB o TB de componente de luma (muestra) según una relación de componentes según un formato de color (formato de croma, por ejemplo, 4:4:4, 4:2:2, 4:2:0 y similares) de una imagen/fotograma. El tamaño de TU puede derivarse en base a tamañoTbMáx. Por ejemplo, si el tamaño de la CU es mayor que el tamañoTbMáx, una pluralidad de TU (TB) del tamañoTbMáx puede derivarse de la CU, y la transformada/transformada inversa puede realizarse en la unidad de TU (TB). Además, por ejemplo, en caso de que se aplique la intrapredicción, el modo/tipo de intrapredicción puede derivarse en la unidad de CU (o CB), y pueden realizarse procedimientos de obtención de muestras de referencia vecinas y generación de muestras de predicción en la unidad de TU (o TB). En este caso, una o una pluralidad de TU (o TB) pueden estar presentes 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 intrapredicción.
[0121] Además, en la codificación de vídeo/imagen según la presente descripción, una unidad de procesamiento de imágenes puede tener una estructura jerárquica. Un fotograma puede dividirse en una o más baldosas, ladrillos, segmento y/o grupos de baldosas. Un segmento puede incluir uno o más ladrillos. Un ladrillo puede incluir una o más filas de CTU dentro de una baldosa. El segmento puede incluir un número entero de ladrillos de una imagen. Un grupo de baldosas puede incluir una o más baldosas. Una baldosa puede incluir una o más CTU. La CTU puede dividirse en una o más CU. Una baldosa representa una región rectangular de CTU dentro de una columna de baldosas particular y una fila de baldosas particular en un fotograma. Un grupo de baldosas puede incluir un número entero de baldosas según un escaneo de trama de baldosas en el fotograma. Una cabecera de segmento puede transportar información/parámetros que pueden aplicarse al segmento correspondiente (bloques en el segmento). En caso de que el aparato de codificación/descodificación tenga un procesador de múltiples núcleos, los procesos de codificación/descodificación para los baldosas, segmentos, ladrillos y/o grupos de baldosas pueden procesarse en paralelo. En este documento, el segmento o el grupo de baldosas se pueden usar de manera intercambiable. Es decir, una cabecera de grupo de baldosas puede denominarse una cabecera de segmento. Aquí, el corte puede tener uno de los tipos de corte que incluyen corte intra (I), corte predictivo (P) y corte bipredictivo (B). En la predicción de bloques en el segmento I, puede que no se use interpredicción, y solo puede usarse intrapredicción. Por supuesto, incluso en este caso, la señalización puede realizarse codificando el valor de muestra original sin predicción. Con respecto a los bloques en el segmento P, se puede usar la intrapredicción o interpredicción, y en caso de usar la interpredicción, sólo se puede usar una unipredicción. Mientras tanto, con respecto a bloques en el segmento B, se puede usar la intrapredicción o interpredicción, y en caso de usar la interpredicción, se puede usar al máximo hasta la bipredicción.
[0123] El codificador puede determinar los tamaños de unidad de codificación de baldosa/grupo de baldosas, ladrillo, segmento y máximo y mínimo en consideración de la eficiencia de codificación o procesamiento paralelo según las características (por ejemplo, resolución) de una imagen de vídeo, e información para ellos o información capaz de inducirlos puede incluirse en el flujo de bits.
[0124] El decodificador puede obtener información que representa el grupo de baldosas/baldosas, ladrillo y segmento del fotograma actual, y si la CTU en la baldosa se ha dividido en una pluralidad de unidades de codificación. Haciendo que dicha información se obtenga (transmita) sólo bajo una condición específica, puede mejorarse la eficiencia.
[0125] La cabecera de segmento (sintaxis de cabecera de segmento) puede incluir información/parámetros que pueden aplicarse comúnmente al segmento. El APS (sintaxis de APS) o el PPS (sintaxis de PPS) pueden incluir información/parámetros que pueden aplicarse comúnmente a uno o más fotogramas. El SPS (sintaxis de SPS) puede incluir información/parámetros que pueden aplicarse comúnmente a una o más secuencias. El VPS (sintaxis de VPS) puede incluir información/parámetros que pueden aplicarse comúnmente a múltiples capas. El DPS (sintaxis de DPS) puede incluir información/parámetros que pueden aplicarse comúnmente a un vídeo general. El DPS puede incluir información/parámetros relacionados con la concatenación de una secuencia de vídeo codificada (CVS).
[0127] En este documento, una sintaxis de nivel superior puede incluir al menos una de la sintaxis APS, la sintaxis PPS, la sintaxis SPS, la sintaxis VPS, la sintaxis DPS y la sintaxis de cabecera de segmento.
[0129] Además, por ejemplo, la información sobre la partición y la configuración de la baldosa/grupo de baldosas/ladrillo/segmento puede configurarse mediante un extremo de codificación a través de la sintaxis de nivel superior, y puede transferirse al aparato de decodificación en forma de un flujo de bits.
[0131] En la codificación de imagen/vídeo, un fotograma que constituye una imagen/vídeo puede codificarse/decodificarse según un orden de decodificación. Un orden de fotograma, que corresponde a un orden de salida de fotogramas descodificados, puede establecerse de manera diferente al orden de descodificación, en base a qué predicción hacia atrás, así como predicción hacia delante, también puede realizarse en la interpredicción.
[0133] El procedimiento de decodificación de fotogramas puede incluir esquemáticamente un procedimiento de obtención de información de imagen/vídeo a partir de un flujo de bits (a través de decodificación), un procedimiento de reconstrucción de fotogramas y un procedimiento de filtrado en bucle para el fotograma reconstruido. El procedimiento de reconstrucción de fotogramas puede realizarse basándose en las muestras residuales y las muestras de predicción obtenidas a través de la inter/intrapredicción y el procedimiento residual (descuantificación, transformada inversa para el coeficiente de transformada cuantificado) descrito en el presente documento. A través del procedimiento de filtrado en bucle para el fotograma reconstruido que se ha generado a través del procedimiento de reconstrucción de fotograma, puede generarse un fotograma reconstruido modificado, que puede emitirse como un fotograma decodificado, y también puede almacenarse en la memoria intermedia de imagen de decodificación o una memoria 360 del aparato de decodificación y usarse como un fotograma de referencia en el procedimiento de interpredicción de la decodificación de fotograma posterior. Según las circunstancias, el procedimiento de filtrado en bucle puede omitirse y, en este caso, el fotograma reconstruido puede emitirse como un fotograma decodificado, y también puede almacenarse en la memoria intermedia de fotogramas de decodificación o una memoria 360 del aparato de decodificación y usarse como un fotograma de referencia en el procedimiento de interpredicción de la decodificación de fotogramas posterior. El procedimiento de filtrado en bucle puede incluir el procedimiento de filtrado de desbloqueo, el procedimiento de desplazamiento adaptativo de muestra (SAO), el procedimiento de filtro de bucle adaptativo (ALF) y/o el procedimiento de filtro bilateral como se ha descrito anteriormente, todos o algunos de los cuales pueden omitirse. Además, uno o algunos del procedimiento de filtrado de desbloqueo, el procedimiento de desplazamiento adaptativo de muestra (SAO), el procedimiento de filtro de bucle adaptativo (ALF) y el procedimiento de filtro bilateral pueden aplicarse secuencialmente, o todos ellos pueden aplicarse secuencialmente. Por ejemplo, después de aplicar el procedimiento de desbloqueo al fotograma reconstruido, el procedimiento SAO puede realizarse en el mismo. Alternativamente, por ejemplo, después de aplicar el procedimiento de filtrado de desbloqueo al fotograma reconstruido, el procedimiento de ALF puede realizarse en el mismo. Esto puede realizarse igualmente en el aparato de codificación.
[0135] El procedimiento de codificación de fotogramas puede incluir esquemáticamente un procedimiento de generación de un fotograma reconstruido para un fotograma actual y un procedimiento (opcional) de aplicación de filtrado en bucle al fotograma reconstruido, así como un procedimiento de codificación de información para reconstrucción de fotogramas (por ejemplo, información de predicción, información residual, información de partición o similares) y la salida en forma de un flujo de bits. El aparato de codificación puede derivar (modificar) muestras residuales de un coeficiente de transformada cuantificado a través del descuantificador 234 y el transformador 235 inverso, y puede generar un fotograma reconstruido basado en las muestras residuales (modificadas) y las muestras de predicción. El fotograma reconstruido generado de esta manera puede ser el mismo que el fotograma reconstruido descrito anteriormente generado en el aparato de decodificación. A través del procedimiento de filtrado en bucle para el fotograma reconstruido, puede generarse el fotograma reconstruido modificado, que puede almacenarse en la memoria intermedia de fotogramas de decodificación o una memoria 270, y usarse como un fotograma de referencia en el procedimiento de interpredicción de la codificación de fotograma posterior, de manera similar al caso del aparato de decodificación. Como se ha descrito anteriormente, todo o parte del procedimiento de filtrado en bucle puede omitirse según las circunstancias. En un caso en donde se realiza el procedimiento de filtrado en bucle, la información (parámetro) relacionada con el filtrado (en bucle) puede codificarse en el codificador 240 de entropía y emitirse en forma de un flujo de bits, y el aparato de decodificación puede realizar el procedimiento de filtrado en bucle de la misma manera que el del aparato de codificación basándose en la información relacionada con el filtrado.
[0137] A través de este procedimiento de filtrado en bucle, es posible reducir ruidos, tales como artefactos de desbloqueo y artefactos de llamada, que se generan durante la codificación de imagen/vídeo, y aumentar la calidad visual subjetiva/objetiva. Además, como el procedimiento de filtrado en bucle se realiza tanto en el aparato de codificación como en el aparato de decodificación, el aparato de codificación y el aparato de decodificación pueden derivar el mismo resultado de predicción, aumentar la fiabilidad de la codificación de fotograma y reducir la cantidad de datos que van a transmitirse para la codificación de fotograma.
[0139] Como se ha descrito anteriormente, el procedimiento de reconstrucción de fotogramas puede realizarse en el aparato de codificación así como en el aparato de decodificación. Basándose en la intrapredicción/interpredicción en cada unidad de bloque, puede generarse un bloque reconstruido, y puede generarse un fotograma reconstruido que incluye los bloques reconstruidos. En un caso en donde un grupo de imagen/segmento/baldosa actual es un grupo de imagen/segmento/baldosa I, los bloques incluidos en el grupo de imagen/segmento/baldosa actual pueden reconstruirse solo basándose en la intrapredicción. Mientras tanto, en un caso en donde un grupo de imagen/segmento/baldosa actual es un grupo de imagen/segmento/baldosa P o B, los bloques incluidos en el grupo de imagen/segmento/baldosa actual pueden reconstruirse basándose en la intrapredicción o interpredicción. En este caso, la interpredicción puede aplicarse a algunos de los bloques en el grupo de imágenes/segmentos/baldosas actual, y la intrapredicción puede aplicarse a algunos del resto de los bloques. Un componente de color del fotograma puede incluir un componente de luma y un componente de croma, y los métodos y realizaciones propuestos en este documento pueden aplicarse al componente de luma y al componente de croma a menos que se limite explícitamente por este documento.
[0141] Mientras tanto, como se ha descrito anteriormente, al realizar la codificación de vídeo, se realiza la predicción para mejorar la eficiencia de compresión. A través de esto, se puede generar un bloque predicho que incluye muestras de predicción para un bloque actual como un bloque a codificar (es decir, un bloque objetivo de codificación). Aquí, el bloque predicho incluye muestras de predicción en un dominio espacial (o dominio de píxeles). El bloque predicho se deriva de la misma manera en un aparato de codificación y un aparato de decodificación, y el aparato de codificación puede señalizar información (información residual) sobre el residuo entre el bloque original y el bloque predicho, en lugar de un valor de muestra original de un bloque original, al aparato de decodificación, aumentando de este modo la eficiencia de codificación de imágenes. El aparato de decodificación puede derivar un bloque residual que incluye muestras residuales en base a la información residual, añadir el bloque residual y el bloque predicho para generar bloques reconstruidos que incluyen muestras reconstruidas y generar una imagen reconstruida que incluye los bloques reconstruidos.
[0143] La información residual puede generarse a través de un procedimiento de transformada y cuantificación. Por ejemplo, el aparato de codificación puede derivar un bloque residual entre el bloque original y el bloque predicho, realizar un procedimiento de transformación en muestras residuales (matriz de muestras residuales) incluidas en el bloque residual para derivar coeficientes de transformación, realizar un procedimiento de cuantificación en los coeficientes de transformación para derivar coeficientes de transformación cuantificados e información residual relacionada con la señal al aparato de decodificación (a través de un flujo de bits). En este caso, la información residual puede incluir información de valor de los coeficientes de transformada cuantificados, información de ubicación, una técnica de transformada, un núcleo de transformada, un parámetro de cuantificación y similares. El aparato de decodificación puede realizar un procedimiento de descuantificación/transformada inversa en base a la información residual y derivar muestras residuales (o bloques residuales). El aparato de decodificación puede generar un fotograma reconstruido basándose en el bloque predicho y el bloque residual. Además, para referencia para la interpredicción de un fotograma posteriormente, el aparato de codificación también puede descuantificar/transformar inversamente los coeficientes de transformada cuantificados para derivar un bloque residual y generar un fotograma reconstruido basándose en los mismos.
[0145] En caso de que se aplique interpredicción al bloque actual, el predictor del aparato de codificación/aparato de descodificación puede derivar muestras de predicción realizando interpredicción en la unidad de un bloque. La interpredicción puede ser una predicción derivada de una manera que depende de elementos de datos (por ejemplo, valores de muestra o información de movimiento) de fotograma o fotogramas distintos del fotograma actual. En caso de que se aplique interpredicción al bloque actual, puede inducirse un bloque predicho (matriz de muestras de predicción) para el bloque actual basándose en un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en un fotograma de referencia indicado por un índice de fotograma de referencia. En este caso, para reducir una cantidad de información de movimiento que se transmite en un modo de interpredicción, la información de movimiento del bloque actual puede predecirse en la unidad de un bloque, un subbloque o una muestra basándose en 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 fotograma de referencia. La información de movimiento puede incluir además información de tipo de interpredicción (predicción L0, predicción L1, predicción Bi y similares). En caso de que se aplique la interpredicción, el bloque vecino puede incluir un bloque vecino espacial existente en la imagen actual y un bloque vecino temporal existente en el fotograma de referencia. El fotograma de referencia que incluye el bloque de referencia y el fotograma de referencia que incluye el bloque vecino temporal pueden ser iguales o diferentes entre sí. El bloque vecino temporal puede denominarse bloque de referencia coubicado o CU coubicada (colCU), y el fotograma de referencia que incluye el bloque vecino temporal puede denominarse fotograma coubicado (colPic). Por ejemplo, una lista de candidatos de información de movimiento puede configurarse basándose en bloques vecinos del bloque actual, y puede señalizarse información de indicador o índice que indica qué candidato se selecciona (usa) para derivar el vector de movimiento del bloque actual y/o el índice de fotograma de referencia. La interpredicción puede realizarse basándose en diversos modos de predicción y, por ejemplo, en caso de un modo de salto y un modo de fusión (normal), 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 salto, a diferencia del modo de fusión, la señal residual puede no transmitirse. En el caso de un modo de predicción de vectores de movimiento (MVP), el vector de movimiento del bloque vecino seleccionado puede usarse como un predictor de vector de movimiento, y puede señalizarse una diferencia de vectores de movimiento. En este caso, el vector de movimiento del bloque actual puede derivarse usando una suma del predictor de vector de movimiento y la diferencia de vector de movimiento.
[0147] Un procedimiento de codificación de vídeo/imagen basado en interpredicción puede incluir esquemáticamente, por ejemplo, lo siguiente.
[0149] La FIG. 4 es un diagrama que representa esquemáticamente un interpredictor en un aparato de codificación.
[0151] Con referencia a la FIG. 4, el aparato de codificación realiza interpredicción en un bloque actual. El aparato de codificación puede derivar la información de modo de interpredicción y de movimiento del bloque actual, y generar muestras de predicción del bloque actual. En este caso, la determinación del modo de interpredicción, la derivación de la información de movimiento y el procedimiento de generación de muestras de predicción pueden realizarse al mismo tiempo, o realizarse uno tras otro. Por ejemplo, el interpredictor 221 del aparato de codificación puede incluir un determinador 221_1 de modo de predicción, un derivador 221_2 de información de movimiento y un derivador 221_3 de muestra de predicción. El determinador 221_1 de modo de predicción puede determinar un modo de predicción para el bloque actual; el derivador 221_2 de información de movimiento puede derivar información de movimiento del bloque actual; y el derivador 221_3 de muestra de predicción puede derivar muestras de predicción del bloque actual. Por ejemplo, el interpredictor 221 del aparato de codificación puede buscar un bloque similar al bloque actual en una determinada región (región de búsqueda) de los fotogramas de referencia a través de estimación de movimiento, y derivar un bloque de referencia cuya diferencia del bloque actual es mínima, o menor o igual a un cierto nivel. Basándose en esto, puede derivarse el índice de fotograma de referencia que indica un fotograma de referencia en donde está ubicado el bloque de referencia, y basándose en la diferencia en posición entre el bloque de referencia y el bloque actual, puede derivarse el vector de movimiento. El aparato de codificación puede determinar un modo de entre varios modos de predicción, que se aplica al bloque actual. El aparato de codificación puede comparar los costes de distorsión de tasa (RD) para los diversos modos de predicción, y determinar el modo de predicción óptimo para el bloque actual.
[0153] Por ejemplo, en caso de que el modo de salto o el modo de fusión se aplique al bloque actual, el aparato de codificación puede configurar una lista de candidatos de fusión que se describirá más adelante, y puede derivar un bloque de referencia que tiene una diferencia del bloque actual, que es mínima o es igual o menor que una referencia predeterminada, entre los bloques de referencia indicados por los candidatos de fusión incluidos en la lista de candidatos de fusión. En este caso, se puede seleccionar un candidato de fusión relacionado con el bloque de referencia derivado, y la información de índice de fusión que indica el candidato de fusión seleccionado se puede generar y señalizar al aparato de decodificación. La información de movimiento del bloque actual puede derivarse usando la información de movimiento del candidato de fusión seleccionado.
[0155] Como otro ejemplo, en caso de que se aplique un modo (A)MVP al bloque actual, el aparato de codificación puede configurar una lista de candidatos (A)MVP que se describirá más adelante, y puede usar el vector de movimiento de un candidato de predictor de vector de movimiento (mvp) seleccionado entre los candidatos mvp incluidos en la lista de candidatos (A)MVP como la 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 usarse como el vector de movimiento del bloque actual, y el candidato mvp que tiene el vector de movimiento que tiene la diferencia más pequeña del vector de movimiento del bloque actual entre los candidatos mvp puede convertirse en el candidato mvp seleccionado. La diferencia de vector de movimiento (MVD), que es una diferencia obtenida restando la mvp del vector de movimiento del bloque actual, puede derivarse. En este caso, la información sobre la MVD puede señalizarse al aparato de decodificación. Además, en caso de que se aplique el modo (A)MVP, el valor de índice de fotograma de referencia puede configurarse como información de índice de fotograma de referencia, y puede señalizarse por separado al aparato de decodificación.
[0157] El aparato de codificación puede derivar muestras residuales en base a las muestras de predicción. El aparato de codificación puede derivar las muestras residuales a través de la comparación de las muestras originales del bloque actual con las muestras de predicción.
[0159] El aparato de codificación codifica información de imagen que incluye información de predicción e información residual. El aparato de codificación puede emitir la información de imagen codificada en forma de un flujo de bits. La información de predicción puede ser información relacionada con el procedimiento de predicción, y puede incluir información sobre la información del modo de predicción (por ejemplo, el indicador de salto, el indicador de fusión o el índice de modo) e información de movimiento. 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 el vector de movimiento. Además, la información sobre la información de movimiento puede incluir información sobre la MVD descrito anteriormente y/o la información de índice de fotograma de referencia. Además, la información sobre la información de movimiento puede incluir información que indica si se aplica predicción L0, predicción L1 o bipredicción. La información residual es información relacionada con las muestras residuales. La información residual puede incluir información sobre los coeficientes de transformada cuantificados para las muestras residuales.
[0160] El flujo de bits de salida puede almacenarse en un medio de almacenamiento (digital) para transferirse al aparato de decodificación, o puede transferirse al aparato de decodificación a través de una red.
[0162] Mientras tanto, como se ha descrito anteriormente, el aparato de codificación puede generar un fotograma reconstruido (incluyendo muestras reconstruidas y bloques reconstruidos) en base a las muestras de referencia y las muestras residuales. Esto es para que el aparato de codificación obtenga el mismo resultado de predicción que el realizado por el aparato de decodificación, y a través de esto, puede mejorarse la eficiencia de codificación. Por consiguiente, el aparato de codificación puede almacenar el fotograma reconstruido (o muestras reconstruidas o bloques reconstruidos) en una memoria, y puede utilizar el fotograma reconstruido almacenado como fotograma de referencia para la interpredicción. Como se ha descrito anteriormente, un procedimiento de filtrado en bucle puede aplicarse además al fotograma reconstruido.
[0164] Un procedimiento de decodificación de vídeo/imagen basado en interpredicción puede incluir esquemáticamente, por ejemplo, lo siguiente.
[0166] La FIG. 5 es un diagrama que representa esquemáticamente un interpredictor en un aparato de decodificación.
[0167] Con referencia a la FIG. 5, un aparato de decodificación puede realizar una operación correspondiente a la operación realizada por el aparato de codificación. El aparato de decodificación puede realizar la predicción para el bloque actual basándose en la información de predicción recibida, y puede derivar muestras de predicción.
[0169] Específicamente, el aparato de decodificación puede determinar el modo de predicción para el bloque actual basándose en la información de predicción recibida. El aparato de decodificación puede determinar qué modo de interpredicción se aplica al bloque actual basándose en la información de modo de predicción en la información de predicción.
[0171] Por ejemplo, el aparato de decodificación puede determinar si se aplica el modo de fusión o si se determina el modo (A)MVP con respecto al bloque actual basándose en el indicador de fusión. Además, el aparato de decodificación puede seleccionar uno de varios candidatos de modo de interpredicción basándose en el índice de modo. Los candidatos de modo de interpredicción pueden incluir un modo de salto, modo de fusión y/o modo de (A)MVP, o pueden incluir diversos modos de interpredicción que se describirán más adelante.
[0173] El aparato de decodificación deriva la información de movimiento del bloque actual basándose en el modo de interpredicción determinado. Por ejemplo, en caso de que el modo de salto o el modo de fusión se aplique al bloque actual, el aparato de decodificación puede configurar una lista de candidatos de fusión que se describirá más adelante, y puede seleccionar uno de los candidatos de fusión incluidos en la lista de candidatos de fusión. Tal selección puede realizarse basándose en la información de selección descrita anteriormente (índice de fusión). La información de movimiento del bloque actual puede derivarse usando la información de movimiento del candidato de fusión seleccionado. La información de movimiento del candidato de fusión seleccionado puede usarse como la información de movimiento del bloque actual.
[0175] Como otro ejemplo, en caso de que se aplique un modo (A)MVP al bloque actual, el aparato de descodificación puede configurar una lista de candidatos (A)MVP que se describirá más adelante, y puede usar el vector de movimiento de un candidato de predictor de vector de movimiento (mvp) seleccionado entre los candidatos mvp incluidos en la lista de candidatos (A)MVP como la mvp del bloque actual. Tal selección puede realizarse basándose en la información de selección descrita anteriormente (indicador mvp o índice mvp). En este caso, la MVD del bloque actual puede derivarse en base a la información sobre la MVD, y el vector de movimiento del bloque actual puede derivarse en base a la mvp del bloque actual y la MVD. Además, un índice de fotograma de referencia del bloque actual puede derivarse en base a la información de índice de fotograma de referencia. Un fotograma indicado por el índice de fotograma de referencia en la lista de fotogramas de referencia para el bloque actual puede derivarse como un fotograma de referencia a la que se hace referencia para la interpredicción del bloque actual.
[0177] Mientras tanto, como se describe más adelante, la información de movimiento del bloque actual puede derivarse sin configurar la lista de candidatos, y en este caso, la información de movimiento del bloque actual puede derivarse según el procedimiento descrito en el modo de predicción que se describirá más adelante. En este caso, la configuración de lista de candidatos descrita anteriormente puede omitirse.
[0179] El aparato de decodificación puede generar muestras de predicción para el bloque actual basándose en la información de movimiento del bloque actual. En este caso, el fotograma de referencia puede derivarse basándose en el índice de fotograma de referencia del bloque actual, y las muestras de predicción del bloque actual pueden derivarse usando muestras del bloque de referencia indicadas por el vector de movimiento del bloque actual en el fotograma de referencia. En este caso, como se describe más adelante, en algunos casos se puede realizar adicionalmente un procedimiento de filtrado de muestras de predicción para todas o partes de las muestras de predicción del bloque actual.
[0181] Por ejemplo, el interpredictor (332) del aparato de descodificación puede incluir una unidad (332_1) de determinación de modo de predicción, una unidad (332_2) de derivación de información de movimiento y una unidad (332_3) de derivación de muestra de predicción. La unidad (332_1) de determinación de modo de predicción puede determinar un modo de predicción para el bloque actual basándose en la información de modo de predicción recibida, la unidad 332_2) de obtención de información de movimiento (puede obtener información de movimiento (vector de movimiento y/o índice de fotograma de referencia) del bloque actual basándose en la información sobre la información de movimiento recibida, y la unidad (332_3) de obtención de muestra de predicción puede obtener muestras de predicción del bloque actual.
[0183] El aparato de decodificación genera muestras residuales para el bloque actual en base a la información residual recibida. El aparato de decodificación puede generar muestras reconstruidas para el bloque actual en base a las muestras de predicción y las muestras residuales, y en base a esto, puede generar un fotograma reconstruido. Después, como se ha descrito anteriormente, se puede aplicar además un procedimiento de filtrado en bucle al fotograma reconstruido.
[0185] Como se ha descrito anteriormente, un procedimiento de interpredicción puede incluir etapas de determinación de modo de interpredicción, derivación de información de movimiento según el modo de predicción determinado, y realización de predicción (generación de muestra de predicción) basándose en la información de movimiento derivada. Como se ha descrito anteriormente, el procedimiento de interpredicción puede realizarse por el aparato de codificación y el aparato de descodificación. En este documento, el aparato de codificación puede incluir el aparato de codificación y/o el aparato de decodificación.
[0187] Para la predicción del bloque actual en el fotograma, se pueden usar varios modos de interpredicción. Por ejemplo, se pueden usar varios modos, tales como un modo de fusión, modo de salto, modo de predicción de vectores de movimiento (MVP), modo afín, modo de fusión de subbloques, modo de fusión con MVD (MMVD) y modo de predicción de vectores de movimiento histórico (HMVP). Un modo de refinamiento de vector de movimiento del lado del decodificador (DMVR), un modo de resolución de vector de movimiento adaptativo (AMVR), una bipredicción con ponderación de nivel de CU (BCW) y un flujo óptico bidireccional (BDOF) pueden usarse además o en su lugar como modos incidentales. El modo afín puede denominarse un modo de predicción de movimiento afín. El modo MVP puede denominarse un modo de predicción de vector de movimiento avanzado (AMVP). En este documento, un cierto modo y/o un candidato de información de movimiento derivado por el cierto modo pueden incluirse como uno de candidatos relacionados con la información de movimiento de otro modo. Por ejemplo, el candidato de HMVP puede añadirse como un candidato de fusión del modo de fusión/salto, o puede añadirse como un candidato de mvp del modo de MVP.
[0188] La información de modo de predicción que indica un modo de interpredicción para el bloque actual puede señalizarse desde el aparato de codificación al aparato de decodificación. La información de modo de predicción puede incluirse en el flujo de bits, y puede recibirse en el aparato de decodificación. La información de modo de predicción puede incluir información de índice que indica uno de una pluralidad de modos candidatos. Además, el modo de interpredicción puede indicarse mediante señalización jerárquica de información de indicador. En este caso, la información de modo de predicción puede incluir uno o más indicadores. Por ejemplo, si aplicar el modo de salto puede indicarse mediante la señalización de un indicador de salto, y en caso de que no se aplique el modo de salto, si aplicar el modo de fusión puede indicarse mediante la señalización del indicador de fusión, y en caso de que no se aplique el modo de fusión, puede indicarse que se aplica el modo de MVP, o un indicador para división adicional puede señalizarse adicionalmente. El modo afín puede señalizarse como un modo independiente, o puede señalizarse como un modo dependiente al modo de fusión o al modo MVP. Por ejemplo, el modo afín puede incluir un modo de fusión afín y un modo de MVP afín.
[0190] Mientras tanto, puede señalizarse información que representa si se usa la predicción de la lista0 (L0), la predicción de la lista1 (L1) o la bipredicción descritas anteriormente para el bloque actual (unidad de codificación actual). La información puede denominarse información de dirección de predicción de movimiento, información de dirección de interpredicción o información de indicación de interpredicción, y puede configurarse/codificarse/señalizarse en forma de, por ejemplo, elemento sintáctico inter_pred_idc. Es decir, el elemento sintáctico inter_pred_idc puede representar si la predicción de la lista0 (L0), la predicción de la lista1 (L1) o la bipredicción descritas anteriormente se usan para el bloque actual (unidad de codificación actual). En este documento, por conveniencia en la explicación, el tipo de interpredicción (predicción L0, predicción L1 o predicción BI) indicado por el elemento sintáctico inter_pred_idc puede mostrarse como una dirección de predicción de movimiento. La predicción L0, la predicción L1 y la bipredicción pueden representarse como pred_L0, pred_L1 y pred_BI, respectivamente. Por ejemplo, el siguiente tipo de predicción puede representarse según un valor de elemento sintáctico inter_pred_idc.
[0192] Como se describió anteriormente, un fotograma imagen puede incluir uno o más segmentos. El corte puede tener uno de los tipos de fragmento que incluyen fragmento intra (I), fragmento predictivo (P) y fragmento bipredictivo (B). El tipo de segmento puede indicarse en base a la información de tipo de segmento. En la predicción de bloques en el segmento I, puede que no se use interpredicción, y solo puede usarse intrapredicción. Por supuesto, incluso en este caso, la señalización puede realizarse codificando el valor de muestra original sin predicción. Con respecto a los bloques en el segmento P, se puede usar la intrapredicción o interpredicción, y en caso de usar la interpredicción, sólo se puede usar una unipredicción. Mientras tanto, con respecto a bloques en el segmento B, se puede usar la intrapredicción o interpredicción, y en caso de usar la inter predicción, se puede usar al máximo hasta la bipredicción.
[0193] L0 y L1 pueden incluir fotogramas de referencia codificados/descodificados antes del fotograma actual. Por ejemplo, L0 puede incluir fotogramas de referencia antes y/o después del fotograma actual en el orden de POC, y L1 puede incluir fotogramas de referencia después y/o antes del fotograma actual en el orden de POC. En este caso, para L0, se puede asignar un índice de fotograma de referencia relativamente más bajo a las imágenes de referencia antes de la imagen actual en el orden de POC, y para L1, se puede asignar un índice de fotograma de referencia relativamente más bajo a las imágenes de referencia después del fotograma actual en el orden de POC. En el caso del segmento B, se puede aplicar la bipredicción, e incluso en este caso, se puede aplicar la bipredicción unidireccional, o se puede aplicar la bipredicción bidireccional. La bipredicción bidireccional puede denominarse bipredicción verdadera.
[0194] Específicamente, por ejemplo, la información sobre el modo de interpredicción para el bloque actual puede codificarse y señalizarse a nivel de una CU (sintaxis de CU), o puede determinarse implícitamente según las condiciones. En este caso, la información puede señalizarse explícitamente con respecto a algunos modos, y puede derivarse implícitamente con respecto a los modos restantes.
[0195] Por ejemplo, la sintaxis de CU puede transportar información sobre un modo de (inter) predicción como en la Tabla 1 a continuación.
[0196] [Tabla 1]
[0198]
[0199]
[0200]
[0201]
[0202]
[0203]
[0206] En este caso, cu_skip_flag puede representar si el modo de salto se aplica al bloque actual (CU).
[0207] pred_mode_flag igual a 0 especifica que la unidad de codificación actual esta codificada en el modo de interpredicción. pred_mode_flag igual a 1 especifica que la unidad de codificación actual esta codificada en el modo de intrapredicción.
[0208] pred_mode_ibc_flag igual a 1 especifica que la unidad de codificación actual está codificada en el modo de predicción de IBC. pred_mode_ibc_flag igual a 0 especifica que la unidad de codificación actual no está codificada en el modo de predicción de IBC.
[0210] pcm_flag[x0][y0] igual a 1 especifica que la estructura sintáctica pcm_sample( ) está presente y la estructura sintáctica transform_tree( ) no está presente en la unidad de codificación que incluye el bloque de codificación de luma en la ubicación (x0, y0). pcm_flag[x0][y0] igual a 0 especifica que la estructura sintáctica pcm_sample( ) no está presente. Es decir, pcm_flag puede representar si se aplica un modo de modulación de codificación de pulsos (PCM) al bloque actual. Si el modo PCM se aplica al bloque actual, la predicción, transformación y cuantificación pueden no aplicarse, y el valor de muestra original en el bloque actual puede codificarse y señalizarse.
[0212] intra_mip_flag[x0][y0] igual a 1 especifica que el tipo de intrapredicción para muestras de luma es intrapredicción basada en matriz (MIP), intra_mip_flag[x0][y0] igual a 0 especifica que el tipo de intrapredicción para muestras de luma no es intrapredicción basada en matriz. Es decir, intra_mip_flag puede representar si el modo (tipo) de predicción MIP se aplica al bloque actual (muestras de luma del bloque actual).
[0214] intra_chroma_pred_mode[x0][y0] especifica el modo de intrapredicción para muestras de croma en el bloque actual.
[0215] general_merge_flag[x0][y0] especifica si los parámetros de interpredicción para la unidad de codificación actual se infieren a partir de una partición interpredicha vecina. Es decir, general_merge_flag puede representar que se habilita una fusión regular, y cuando el valor general_merge_flag es 1, se habilitan el modo de fusión regular, el modo mmvd y el modo de subbloque de fusión (modo de fusión de subbloques). Por ejemplo, cuando el valor general_merge_flag es 1, la sintaxis de datos de fusión puede analizarse a partir de la información de vídeo/imagen codificada (o flujo de bits), y la sintaxis de datos de fusión puede configurarse/codificarse para incluir información como se representa en la Tabla 2 a continuación.
[0217] [Tabla 2]
[0220]
[0221]
[0224] En este caso, regular_merge_flag[x0][y0] igual a 1 especifica que se usa el modo de fusión regular para generar los parámetros de interpredicción de la unidad de codificación actual. Es decir, el regular_merge_flag representa si el modo de fusión (modo de fusión regular) se aplica al bloque actual.
[0225] mmvd_merge_flag[x0][y0] igual a 1 especifica que se usa el modo de fusión con la diferencia de vector de movimiento para generar los parámetros de interpredicción de la unidad de codificación actual. Es decir, la mmvd_merge_flag representa si el MMVD se aplica al bloque actual.
[0226] mmvd_cand_flag[x0][y0] especifica si el primer (0) o el segundo (1) candidato en la lista de candidatos de fusión se usa con la diferencia de vector de movimiento derivada de mmvd_distance_idx[x0][y0] y mmvd_direction_idx[x0][y0]. mmvd_distance_idx[x0][y0] especifica el índice usado para derivar MmvdDistance[x0][y0]. mmvd_direction_idx[x0][y0] especifica el índice utilizado para derivar MmvdSign[x0][y0].
[0227] El merge_subblock_flag[x0][y0] especifica si los parámetros de interpredicción basados en subbloques para la codificación actual. Es decir, la merge_subblock_flag puede representar si se aplica un modo de fusión de subbloques (o modo de fusión afln) al bloque actual.
[0228] merge_subblock_idx[x0][y0] especifica el índice de candidatos de fusión de la lista de candidatos de fusión basada en subbloques.
[0229] ciip_flag[x0][y0] especifica si la fusión entre imágenes y la predicción intra imagen combinadas se aplican para la unidad de codificación actual.
[0230] merge_triangle_idx0[x0][y0] especifica el primer índice de candidatos de fusión de la lista de candidatos de compensación de movimiento basada en la forma triangular.
[0231] merge_triangle_idx1[x0][y0] especifica el segundo índice de candidatos de fusión de la lista de candidatos de compensación de movimiento basada en la forma triangular.
[0232] merge_idx[x0][y0] especifica el índice de candidatos de fusión de la lista de candidatos de fusión.
[0233] Mientras tanto, con referencia de nuevo a la sintaxis de CU de la Tabla 1, mvp_10_flag[x0][y0] especifica el índice de predictor de vector de movimiento de la lista 0. Es decir, en caso de que se aplique el modo MVP, el mvp_10_flag puede representar un candidato que se selecciona para la derivación de MVP del bloque actual en la lista de candidatos de MVP.
[0234] ref_idx_l1 [x0][y0] tiene la misma semántica que ref_idx_10, con l0, L0 y la lista 0 sustituidos por l1, L1 y la lista 1, respectivamente.
[0235] inter_pred_idc[x0][y0] especifica si se usa lista0, lista1 o bipredicción para la unidad de codificación actual. sym_mvd_flag[x0][y0] igual a 1 especifica que los elementos sintácticos ref_idx_10[x0][y0] y ref_idx_l1 [x0][y0], y la estructura sintáctica mvd_coding(x0, y0, refList,cpIdx) para refList igual a 1 no están presentes. Es decir, sym_mvd_flag representa si la MVD simétrica se usa en la codificación de mvd.
[0236] ref_idx_l0[x0][y0] especifica el índice de fotograma de referencia de la lista 0 para la unidad de codificación actual. ref_idx_l1 [x0][y0] tiene la misma semántica que ref_idx_l0, con l0, L0 y la lista 0 reemplazados por l1, L1 y la lista 1, respectivamente.
[0237] inter_affine_flag [x0] [y0] igual a 1 especifica que para la unidad de codificación actual, cuando se descodifica un segmento P o B, se usa compensación de movimiento basada en modelo afín para generar las muestras de predicción de la unidad de codificación actual.
[0238] cu_affine_type_flag[x0][y0] igual a 1 especifica que para la unidad de codificación actual, cuando se descodifica un segmento P o B, se usa una compensación de movimiento basada en un modelo afín de 6 parámetros para generar las muestras de predicción de la unidad de codificación actual. cu_affine_type_flag[x0][y0] igual a 0 especifica que se usa una compensación de movimiento basada en un modelo afín de 4 parámetros para generar las muestras de predicción de la unidad de codificación actual.
[0239] amvr_flag[x0][y0] especifica la resolución de la diferencia de vectores de movimiento. Los índices de matriz x0, y0 especifican la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de codificación considerado en relación con la muestra de luma superior izquierda de la imagen. amvr_flag[x0][y0] igual a 0 especifica que la resolución de la diferencia de vector de movimiento es 1/4 de una muestra de luma. amvr_flag[x0][y0] igual a 1 especifica que la resolución de la diferencia de vector de movimiento se especifica además por amvr_precision_flag[x0] [y0]. amvr_precision_flag[x0][y0] igual a 0 especifica que la resolución de la diferencia de vectores de movimiento es una muestra de luma entera si inter_affine_flag[x0][y0] es igual a 0, y 1/16 de una muestra de luma de lo contrario. amvr_precision_flag[x0][y0] igual a 1 especifica que la resolución de la diferencia de vectores de movimiento es cuatro muestras de luma si inter_affine_flag[x0][y0] es igual a 0, y una muestra de luma entera de lo contrario. Los índices de matriz x0, y0 especifican la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de codificación considerado en relación con la muestra de luma superior izquierda de la imagen.
[0240] bcw_idx[x0][y0] especifica el índice de ponderación de bipredicción con ponderaciones de CU.
[0241] El aparato de codificación puede realizar interpredicción usando información de movimiento del bloque actual. El aparato de codificación puede derivar información de movimiento óptima para el bloque actual a través de un procedimiento de estimación de movimiento. Por ejemplo, el aparato de codificación puede buscar un bloque de referencia similar que tiene una alta correlación en la unidad de un píxel fraccionario dentro de un intervalo de búsqueda determinado en un fotograma de referencia usando el bloque original en el fotograma original para el bloque actual, y a través de esto, el aparato de codificación puede derivar información de movimiento. La similitud de bloque puede derivarse en base a una diferencia entre valores de muestra basados en fase. Por ejemplo, la similitud de bloque puede calcularse basándose en el SAD entre el bloque actual (o plantilla del bloque actual) y el bloque de referencia (o plantilla del bloque de referencia). En este caso, la información de movimiento puede derivarse basándose en el bloque de referencia que tiene el SAD más pequeño en el área de búsqueda. La información de movimiento derivada puede señalizarse al aparato de decodificación según varios métodos basados en el modo de interpredicción.
[0242] El aparato de codificación puede derivar muestra o muestras de predicción para el bloque actual basándose en la información de movimiento. El bloque actual que incluye las muestras de predicción puede denominarse un bloque predicho.
[0244] El bloque predicho puede incluir muestras de predicción (matriz de muestras de predicción) del bloque actual. En caso de que el vector de movimiento del bloque actual indique la unidad de muestra fraccional, se puede realizar un procedimiento de interpolación, y a través de esto, las muestras de predicción del bloque actual se pueden derivar en base a las muestras de referencia en la unidad de muestra fraccional en el fotograma de referencia. En caso de que se aplique interpredicción afín al bloque actual, el aparato de codificación puede generar las muestras de predicción basándose en el vector de movimiento (MV) en la unidad de muestra/subbloque. En caso de que se aplique la bipredicción, las muestras de predicción derivadas a través de una suma ponderada o promedio ponderado (según fases) de las muestras de predicción derivadas en base a la predicción L0 (es decir, predicción que usa el fotograma de referencia en la lista de fotogramas de referencia L0 y MVL0) y las muestras de predicción derivadas en base a la predicción L1 (es decir, predicción que usa el fotograma de referencia en la lista de fotogramas de referencia L1 y MVL1) pueden usarse como las muestras de predicción del bloque actual. Si el fotograma de referencia usada para la predicción L0 y el fotograma de referencia usada para la predicción L1 están ubicadas en diferentes direcciones temporales en base a la imagen actual cuando se aplica la bipredicción (es decir, en caso de corresponder a la bipredicción y la predicción bidireccional), pueden denominarse bipredicción verdadera.
[0246] Las muestras reconstruidas y un fotograma reconstruido pueden generarse en base a las muestras de predicción derivadas, y después de eso, pueden realizarse procedimientos de filtrado en bucle y similares.
[0248] La FIG. 6 es un diagrama que explica candidatos espaciales que pueden usarse para interpredicción.
[0250] En caso de que se aplique un modo de fusión durante la interpredicción, la información de movimiento del bloque actual no se transmite directamente, y la información de movimiento del bloque actual se induce usando información de movimiento de un bloque de predicción vecino. Por consiguiente, el aparato de codificación puede representar la información de movimiento del bloque actual transmitiendo información de indicador que representa que se usa el modo de fusión y un índice de fusión que representa qué bloque de predicción vecino se usa. El modo de fusión puede denominarse modo de fusión regular.
[0252] El aparato de codificación busca bloques candidatos de fusión que se usan para inducir la información de movimiento del bloque actual con el fin de realizar el modo de fusión. Por ejemplo, se pueden usar como máximo 5 bloques candidatos de fusión, pero en la presente realización, el número de bloques candidatos de fusión no se limita a ello. Además, la información sobre el número máximo de bloques candidatos de fusión puede transmitirse en una cabecera de segmento o cabecera de grupo de baldosas, pero la presente realización no se limita a esto. Después de encontrar los bloques candidatos de fusión, el aparato de codificación puede generar una lista de candidatos de fusión, y puede seleccionar el bloque candidato de fusión que tiene el coste más pequeño entre ellos como el bloque candidato de fusión final.
[0254] Este documento proporciona diversas realizaciones para los bloques candidatos de fusión que constituyen la lista de candidatos de fusión.
[0256] La lista de candidatos de fusión puede incluir, por ejemplo, 5 bloques de candidatos de fusión. Por ejemplo, se pueden usar 4 candidatos de fusión espacial y un candidato de fusión temporal. Como ejemplo específico, en el caso de los candidatos de fusión espacial, los bloques A<0>, A1, B<0>, B<1>, y B<2>Ilustrado en la FIG. 6 puede usarse como candidatos de fusión espacial. En lo sucesivo, el candidato de fusión espacial o candidato de MVP espacial que se describirá más adelante se puede denominar SMVP, y el candidato de fusión temporal o candidato de MVP temporal que se describirá más adelante se puede denominar TMVP.
[0258] La lista de candidatos de fusión para el bloque actual puede configurarse basándose en, por ejemplo, el siguiente procedimiento.
[0260] En primer lugar, el aparato de codificación (aparato de codificación/aparato de decodificación) puede insertar los candidatos de fusión espacial derivados buscando los bloques vecinos espaciales del bloque actual en la lista de candidatos de fusión. Por ejemplo, los bloques vecinos espaciales pueden incluir un bloque vecino de esquina inferior izquierda A<0>, bloque vecino izquierdo A<1>, bloque vecino de esquina superior izquierda B<0>, bloque vecino superior B<1>y bloque vecino de esquina superior izquierda B<2>del bloque actual. Sin embargo, esto es ejemplar, y bloques vecinos adicionales, tales como bloque vecino derecho, bloque vecino inferior, bloque vecino inferior derecho, pueden usarse adicionalmente como los bloques vecinos espaciales además de los bloques vecinos espaciales descritos anteriormente. El aparato de codificación puede detectar bloques habilitados buscando los bloques vecinos espaciales en base a la prioridad, y puede derivar la información de movimiento de los bloques detectados como los candidatos de fusión espacial. Por ejemplo, el aparato de codificación y/o el aparato de decodificación pueden buscar 5 bloques ilustrados en la FIG. 6 en el orden de A<1>, B<1>, B<0>, A<0>, y B<2>y puede configurar la lista de candidatos de fusión indexando secuencialmente los candidatos habilitados.
[0262] Además, el aparato de codificación puede insertar los candidatos de fusión temporales derivados buscando los bloques vecinos temporales del bloque actual en la lista de candidatos de fusión. El bloque vecino temporal puede ubicarse en un fotograma de referencia que es un fotograma diferente del fotograma actual en donde se ubica el bloque actual. El fotograma de referencia, en donde está ubicado el bloque vecino temporal, puede denominarse fotograma coubicado o colPic. El bloque vecino temporal puede buscarse en el orden de un bloque vecino de esquina inferior derecha y un bloque central inferior derecha del bloque coubicado para el bloque actual en el colPic.
[0264] Mientras tanto, el aparato de codificación puede identificar si el número de candidatos de fusión actuales es menor que el número de candidatos de fusión máximos. El número de candidatos de fusión máxima puede estar predefinido, o puede señalizarse desde el aparato de codificación al aparato de decodificación. Por ejemplo, el aparato de codificación puede generar información sobre el número de candidatos de fusión máximos, codificar la información y transferir la información codificada al aparato de decodificación en forma de un flujo de bits. Si se rellena el número de candidatos de fusión máxima, puede no realizarse un proceso de adición de candidatos posterior.
[0266] Si el número de candidatos de fusión actuales es menor que el número de candidatos de fusión máximos como resultado de la identificación, el aparato de codificación puede insertar los candidatos de fusión adicionales en la lista de candidatos de fusión. Los candidatos de fusión adicionales pueden incluir al menos uno de, por ejemplo, candidato o candidatos de fusión basado en historial, candidato o candidatos de fusión promedio por pares, ATMVP, candidato o candidatos de fusión bipredictiva combinada (en caso de que el tipo de grupo segmento/baldosa del grupo segmento/baldosa actual sea un tipo B) y/o candidato o candidatos de fusión de vector cero.
[0268] Si el número de candidatos de fusión actuales no es menor que el número de candidatos de fusión máximos como resultado de la identificación, el aparato de codificación puede finalizar la configuración de la lista de candidatos de fusión. En este caso, el aparato de codificación puede seleccionar el candidato de fusión óptimo entre los candidatos de fusión que constituyen la lista de candidatos de fusión basándose en el coste de distorsión de tasa (RD), y puede señalizar información de selección (por ejemplo, índice de fusión) que indica el candidato de fusión seleccionado al aparato de decodificación. El aparato de decodificación puede seleccionar el candidato de fusión óptimo basándose en la lista de candidatos de fusión y la información de selección.
[0270] La información de movimiento del candidato de fusión seleccionado puede usarse como la información de movimiento del bloque actual, y como se describió anteriormente, las muestras de predicción del bloque actual pueden derivarse basándose en la información de movimiento del bloque actual. El aparato de codificación puede derivar muestras residuales del bloque actual en base a las muestras de predicción, y puede señalizar información residual sobre las muestras residuales al aparato de decodificación. Como se ha descrito anteriormente, el aparato de decodificación puede generar muestras reconstruidas basándose en las muestras residuales derivadas basándose en la información residual y las muestras de predicción, y basándose en esto, el aparato de decodificación puede generar el fotograma reconstruido.
[0272] En caso de que el modo de salto se aplique durante la interpredicción, la información de movimiento del bloque actual puede derivarse de la misma manera que en el caso de que se aplique el modo de fusión. Sin embargo, en caso de que se aplique el modo de salto, la señal residual para el bloque correspondiente puede omitirse y, por lo tanto, las muestras de predicción pueden usarse inmediatamente como muestras reconstruidas. El modo de salto puede aplicarse, por ejemplo, cuando un valor del indicador de salto de CU (cu_skip_flag) es 1.
[0274] La FIG. 7 es un diagrama que explica un candidato temporal que puede usarse para la interpredicción.
[0276] En este caso, un candidato temporal puede representar el candidato de fusión temporal descrito anteriormente. Además, el vector de movimiento incluido en el candidato temporal puede corresponder a un candidato de mvp temporal.
[0278] En esta etapa, sólo se añade un candidato a la lista de candidatos. Particularmente, en la derivación de este candidato de fusión temporal, se deriva un vector de movimiento escalado en base a la CU coubicada que pertenece al fotograma de referencia coubicada (puede denominarse colPic). La lista de fotogramas de referencia que se utilizará para la derivación de la CU coubicada se señala explícitamente en la cabecera de segmento. El vector de movimiento escalado para el candidato de fusión temporal se obtiene como se ilustra por la línea de puntos en la FIG. 7, que se escala a partir del vector de movimiento de la CU coubicada usando las distancias de POC, tb y td, donde tb se define como la diferencia de POC entre el fotograma de referencia del fotograma actual y el fotograma actual y td se define como la diferencia de POC entre el fotograma de referencia del fotograma coubicado y el fotograma coubicado. El índice de fotograma de referencia del candidato de fusión temporal se establece igual a cero.
[0280] Además del modo de fusión, donde la información de movimiento implícitamente derivada se usa directamente para la generación de muestras de predicción de la CU actual, el modo de fusión con diferencias de vectores de movimiento (MMVD) se introduce en VVC. Debido a que se usan métodos de obtención de información de movimiento similares para el modo de salto y el modo de fusión, puede aplicarse MMVD al modo de salto. Un indicador de MMVD (por ejemplo, mmvd_flag) puede señalizarse justo después de enviar un indicador de salto y un indicador de fusión para especificar si se usa el modo de MMVD para una CU).
[0282] En MMVD, después de seleccionar un candidato de fusión, se refina aún más mediante la información de MVD señalizada. Cuando se aplica MMVD al bloque actual (es decir, cuando mmvd_flag es igual a 1), se puede señalizar información adicional para el MMVD.
[0283] La información adicional incluye un indicador de candidato de fusión (por ejemplo, mmvd_merge_flag) que indica si el primer (0) o el segundo (1) candidato en la lista de candidatos de fusión se usa con la diferencia de vector de movimiento, un índice para especificar la magnitud de movimiento (por ejemplo, mmvd_distance_idx) y un índice para la indicación de dirección de movimiento (por ejemplo, mmvd_direction_idx). En el modo MMVD, se selecciona uno para los dos primeros candidatos en la lista de fusión para usarse como base de MV. El indicador de candidato de fusión se señala para especificar cuál se usa.
[0284] El índice de distancia especifica la información de magnitud de movimiento e indica el desplazamiento predefinido desde el punto de partida.
[0285] Se añade un desplazamiento a la componente horizontal o a la componente vertical del MV de partida. La relación del índice de distancia y el desplazamiento predefinido se especifica en la Tabla 3.
[0286] [Tabla 3]
[0288]
[0291] En este caso, slice_fpel_mmvd_enabled_flag igual a 1 especifica que el modo de fusión con la diferencia de vectores de movimiento usa precisión de muestras enteras en el segmento actual. slice_fpel_mmvd_enabled_flag igual a 0 especifica que el modo de fusión con la diferencia de vectores de movimiento puede usar precisión de muestras fraccionales en el segmento actual. Cuando no está presente, se deduce que el valor de slice_fpel_mmvd_enabled_flag es 0. slice_fpel_mmvd_enabled_flag el elemento sintáctico puede señalizarse a través de (puede estar comprendido en) una cabecera de fragmento.
[0292] El índice de dirección representa la dirección de la MVD con respecto al punto de partida. El índice de dirección puede representar las cuatro direcciones como se muestra en la Tabla 4. Se observa que el significado del signo de MVD podría ser variante según la información de MVs iniciales. Cuando los MVs de partida son un MV o MVs de bipredicción sin predicción con ambas listas apuntan al mismo lado del fotograma actual (es decir, los POCs de dos referencias son ambos mayores que el POC del fotograma actual, o son ambos menores que el POC del fotograma actual), el signo en la Tabla 4 especifica el signo de desplazamiento de MV añadido al MV de partida. Cuando los MVs de partida son MVs de bipredicción con los dos MVs apuntando a los lados diferentes del fotograma actual (es decir, el POC de una referencia es mayor que el POC del fotograma actual, y el POC de la otra referencia es menor que el POC del fotograma actual), el signo en la Tabla 4 especifica el signo de desplazamiento de MV añadido al componente de MV de la lista0 del MV de partida y el signo para el MV de la lista1 tiene valor opuesto.
[0293] [Tabla 4]
[0296]
[0297] Ambos componentes de la fusión más el desplazamiento de MVD MmvdOffset[x0][y0] se derivan como sigue. [Ecuación 1]
[0298] MmvdOffset[ xO )[ yO ][ 0 ] = ( MmvdDistance[ xO ] [y 0 ] << 2 ) * MmvdSign[ xO ][ yO ][0] MmvdOffset[ xO J[ yO |[ 1 ] = ¡ MmvdDistance[ xO ]¡ yO ) << 2 ) * MmvdS¡gn[ xO j[ yO |[1] La FIG. 8 es un diagrama que explica un proceso de predicción de vector de movimiento temporal basado en subbloques que puede usarse durante la interpredicción.
[0299] El método de predicción de vectores de movimiento temporal basada en subbloques (SbTMVP) puede usarse para la interpredicción. De manera similar a la predicción de vector de movimiento temporal (TMVP), SbTMVP usa el campo de movimiento en el fotograma coubicado para mejorar la predicción de vector de movimiento y el modo de fusión para las CU en el fotograma actual. El mismo fotograma coubicado usado por TMVP se usa para SbTVMP. SbTMVP difiere de TMVP en los dos aspectos principales siguientes.
[0300] 1. TMVP predice movimiento a nivel de CU, pero SbTMVP predice movimiento a nivel de sub-CU.
[0301] 2. Mientras que el TMVP obtiene los vectores de movimiento temporales del bloque colocado en el fotograma coubicado (el bloque coubicado es el bloque inferior derecho o central (centro debajo derecho) con relación a la CU actual), el SbTMVP aplica un desplazamiento de movimiento antes de obtener la información de movimiento temporal del fotograma coubicado, donde el desplazamiento de movimiento se obtiene del vector de movimiento de uno de los bloques vecinos espaciales de la C<u>actual.
[0302] La FIG. 8 ilustra el proceso SbTVMP. SbTMVP predice los vectores de movimiento de las sub-CU dentro de la CU actual en dos etapas. En la primera etapa, se examina el vecino espacial A1. Si A1 tiene un vector de movimiento que usa el fotograma coubicado como su fotograma de referencia identificada, este vector de movimiento (puede denominarse MV temporal (tempVM)) se selecciona para que sea el desplazamiento de movimiento a aplicar). Si no se identifica tal movimiento, entonces el desplazamiento de movimiento se establece en (0, 0).
[0303] En la segunda etapa, se aplica el desplazamiento de movimiento identificado en la Etapa 1 (es decir, se añade a las coordenadas del bloque actual) para obtener información de movimiento de nivel sub-CU (vectores de movimiento e índices de referencia) a partir del fotograma coubicado como se muestra en la FIG. 8. El ejemplo de la FIG. 8 supone que el desplazamiento de movimiento se establece en el movimiento del bloque A1. A continuación, para cada sub­ Cu , la información de movimiento de su bloque correspondiente (la cuadrícula de movimiento más pequeña que cubre la muestra central) en el fotograma coubicado se usa para derivar la información de movimiento para la sub-CU. La muestra central (muestra central inferior derecha) puede corresponder a una muestra inferior derecha entre 4 muestras centrales en la sub-CU cuando el subbloque tiene una anchura y altura de longitud pares).
[0304] Después de identificar la información de movimiento de la sub-CU coubicada, se convierte en los vectores de movimiento y los índices de referencia de la sub-CU actual de una manera similar al proceso TMVP, donde se puede aplicar un escalado de movimiento temporal para alinear los fotogramas de referencia de los vectores de movimiento temporal con las de la CU actual.
[0305] Una lista de fusión basada en subbloques combinada que contiene tanto el candidato SbTVMP como los candidatos de fusión afines puede usarse para la señalización del modo de fusión afines (puede denominarse modo de fusión de subbloques (basado)). El modo SbTVMP se habilita/deshabilita mediante un indicador de conjunto de parámetros de secuencia (SPS). Si el modo SbTMVP está habilitado, el predictor de SbTMVP se añade como la primera entrada de la lista de candidatos de fusión de subbloque, y seguido por los candidatos de fusión afines. El tamaño máximo permitido de la lista de candidatos de fusión afines puede ser 5.
[0306] El tamaño de sub-CU usado en SbTMVP puede fijarse para que sea 8x8, y como se hace para el modo de fusión afín, el modo SbTMVP puede ser solo aplicable a la CU con tanto anchura como altura que son mayores o iguales a 8. La lógica de codificación del candidato de fusión de SbTMVP adicional es la misma que para los otros candidatos de fusión, es decir, para cada CU en el segmento P o B, puede realizarse una comprobación de RD adicional para decidir si usar el candidato de SbTMVP.
[0307] La FIG. 9 es un diagrama que explica un modo de particionamiento que puede aplicarse a la interpredicción.
[0308] Se puede usar un modo de partición triangular para la interpredicción. El modo de partición triangular solo se puede aplicar a CU que son 8x8 o más grandes. El modo de partición triangular se señala usando un indicador de nivel de CU como un tipo de modo de fusión, con otros modos de fusión que incluyen el modo de fusión regular, el modo de MMVD, el modo de CIIP y el modo de fusión de subbloques.
[0309] Cuando se usa este modo, una CU puede dividirse uniformemente en dos particiones en forma de triángulo, usando la división diagonal o la división antidiagonal como se muestra en la FIG. 9. Cada partición triangular en la CU se interpredijo usando su propio movimiento; solo se permite una unipredicción para cada partición, es decir, cada partición tiene un vector de movimiento y un índice de referencia. La restricción de movimiento de una predicción se aplica para garantizar que, al igual que la bipredicción convencional, solo se necesitan dos predicciones compensadas por movimiento para cada CU.
[0310] Si se usa el modo de partición triangular para la CU actual, entonces se señalizan adicionalmente un indicador que indica la dirección de la partición triangular (diagonal o antidiagonal), y dos índices de fusión (uno para cada partición). El número de tamaño máximo de candidato de TPM se señala explícitamente a nivel de segmento y especifica la binarización de sintaxis para los índices de fusión de TMP. Después de predecir cada una de las particiones triangulares, los valores de muestra a lo largo del borde diagonal o antidiagonal se ajustan usando un procesamiento de mezcla con pesos adaptativos. Esta es la señal de predicción para toda la CU, y el proceso de transformación y cuantificación se aplicará a toda la CU como en otros modos de predicción. Finalmente, el campo de movimiento de una CU predicha usando el modo de partición triangular se almacena en unidades 4x4. El modo de partición triangular no se usa en combinación con SBT, es decir, cuando el modo triangular señalizado es igual a 1, se deduce que cu_sbt_flag es 0 sin señalización.
[0311] La lista de candidatos de unipredicción se deriva directamente de la lista de candidatos de fusión construida como se ha descrito anteriormente.
[0312] Después de predecir cada partición triangular usando su propio movimiento, se aplica mezcla a las dos señales de predicción para derivar muestras alrededor del borde diagonal o antidiagonal.
[0313] La interpredicción e intrapredicción combinada se puede aplicar a un bloque actual. Un indicador adicional (por ejemplo, ciip_flag) puede señalizarse para indicar si el modo de inter/intrapredicción combinado (CIIP) se aplica a la CU actual. Por ejemplo, cuando una CU se codifica en modo de fusión, si la CU contiene al menos 64 muestras de luma (es decir, la anchura de la CU por la altura de la CU es igual o mayor que 64), y si tanto la anchura de la CU como la altura de la CU son menores que 128 muestras de luma, se señala el indicador adicional para indicar si el modo combinado de inter/intrapredicción (CIIP) se aplica a la CU actual. Como su nombre indica, la predicción CIIP combina una señal de interpredicción con una señal de intrapredicción. La señal de interpredicción en el modo CIIP P_inter se obtiene usando el mismo proceso de interpredicción aplicado al modo de fusión regular; y la señal de intrapredicción P_intra se obtiene siguiendo el proceso de intrapredicción regular con el modo planar. A continuación, las señales de intra e interpredicción se combinan usando promediado ponderado, donde el valor ponderado se calcula dependiendo de los modos de codificación de los bloques vecinos superior e izquierdo de la siguiente manera. Si el vecino superior está disponible e intracodificado, entonces establecer esIntraTop a 1, de lo contrario establecer esIntraTop a 0.
[0314] Si el vecino izquierdo está disponible e intracodificado, entonces establecer esIntra a 1, de lo contrario establecer esIntra a 0.
[0315] Si (isIntraLeft isIntraLeft) es igual a 2, entonces wt se establece en 3.
[0316] De lo contrario, si (isIntraLeft isIntraLeft) es igual a 1, entonces wt se establece en 2.
[0317] De lo contrario, se establece el peso a 1.
[0318] La predicción CIIP se forma como sigue.
[0319] f Ecuación 2]
[0322]
[0324] Mientras tanto, para generar un bloque predicho, el aparato de codificación puede inducir información de movimiento basándose en el modo de fusión regular descrito anteriormente, el modo de salto, el modo SbTMVP, el modo MMVD, el modo de partición triangular (modo de partición) y/o el modo CIIP. Cada modo puede habilitarse/deshabilitarse a través de un indicador de encendido/apagado para cada modo incluido en un conjunto de parámetros de secuencia (SPS). Si el indicador de encendido/apagado para un modo específico está deshabilitado, el aparato de codificación no señaliza una sintaxis que se transmite explícitamente para el modo de predicción correspondiente en la unidad de una CU o PU.
[0325] En este documento, para eliminar la señalización de sintaxis redundante, se describe un método para señalizar una sintaxis en consideración a un método de encendido/apagado y aplicación de un modo de fusión/salto.
[0326] Por ejemplo, en el caso de regular_merge_flag no están presentes posibles candidatos excepto por un modo de fusión regular con la condición de que no se permitan MMVD, fusión de subbloques, fusión de CIIP y fusión de triángulos y, por tanto, no es necesario señalizar el indicador (por ejemplo, indicador de fusión regular).
[0327] Además, no es necesario señalizar el indicador relacionado con mmvd (por ejemplo, mmvd_merge_flag) con la condición de que no se permitan la fusión de subbloques, la fusión de CIIP y la fusión de triángulos.
[0328] El indicador relacionado con subbloques (por ejemplo, merge_subblock_flag) no es necesario señalizar con la condición de que no se permitan la fusión de CIIP y la fusión de triángulos.
[0330] El indicador relacionado con CIIP (por ejemplo, ciip_flag) no es necesario señalizar con la condición de que no se permita la fusión de triángulos.
[0332] Según la sintaxis de datos de fusión de la Tabla 2, en caso de que los modos específicos para el modo de fusión/salto estén deshabilitados en todo o parcialmente, se produce una señalización redundante del indicador de encendido/apagado. Por consiguiente, en este documento, el siguiente método puede usarse para evitar la señalización redundante de la misma información (indicador) en un proceso de selección de un modo de fusión que se aplica al bloque actual.
[0334] Los siguientes dibujos se han preparado para explicar un ejemplo específico de este documento. Dado que los nombres de dispositivos y señales/información específicos descritos en los dibujos se presentan a modo de ejemplo, las características técnicas de la presente memoria descriptiva no se limitan a los nombres específicos usados en los siguientes dibujos.
[0336] Las FIG. 10 y 11 ilustran esquemáticamente un ejemplo de un método de codificación de vídeo/imagen que incluye un método de interpredicción y componentes relacionados según una realización de la presente descripción.
[0338] Un método de codificación desvelado en la FIG. 10 puede realizarse por un aparato 200 de codificación desvelado en la FIG.2. Específicamente, por ejemplo, S1000 a S1030 de la FIG. 10 pueden ser realizados por el predictor 220 del aparato 200 de codificación, y S1040 puede ser realizado por el procesador 230 residual del aparato 200 de codificación, y S1050 puede ser realizado por el codificador 240 de entropía del aparato 200 de codificación. El método de codificación desvelado en la FIG. 10 puede incluir las realizaciones descritas anteriormente del presente documento.
[0340] Específicamente, con referencia a las FIG. 10 y 11, el predictor del aparato de codificación puede determinar un modo de predicción del bloque actual (S1000). Como ejemplo, en caso de que se aplique interpredicción al bloque actual, el predictor del aparato de codificación puede determinar uno cualquiera de un modo de fusión regular, modo de salto, modo de MMVD, modo de fusión de subbloques, modo de partición y modo de CIIP como el modo de predicción del bloque actual.
[0342] En este caso, el modo de fusión regular puede definirse como un modo para inducir información de movimiento del bloque actual usando información de movimiento de un bloque vecino. El modo de salto puede definirse como un modo en donde un bloque predicho se usa como un bloque reconstruido. El modo MMVD puede aplicarse al modo de fusión o al modo de salto, y puede definirse como un modo de fusión (o salto) usando una diferencia de vector de movimiento. El modo de fusión de subbloques puede definirse como un modo de fusión basado en el subbloque. El modo de particionamiento puede definirse como un modo en donde la predicción se realiza a través de la división del bloque actual en dos particiones (diagonal o antidiagonal). El modo CIIP puede definirse como un modo en donde la fusión entre-fotogramas y la predicción intra-fotogramas se combinan entre sí.
[0344] El predictor del aparato de codificación puede configurar una lista de candidatos de fusión basándose en el modo de predicción del bloque actual (S1010). Por ejemplo, en caso de que el modo de predicción para el bloque actual se determine como el modo de fusión (regular), el predictor del aparato de codificación puede configurar la lista de candidatos de fusión (o la lista de candidatos de información de movimiento) en base a los bloques vecinos espaciales y los bloques vecinos temporales del bloque actual, y en base a esto, el predictor del aparato de codificación puede generar la información de movimiento.
[0346] El predictor del aparato de codificación puede derivar información de movimiento del bloque actual basándose en la lista de candidatos de fusión (S1020). La información de movimiento puede incluir un vector de movimiento y un índice de fotograma de referencia. Por ejemplo, en caso de que el modo de predicción para el bloque actual se determine como un modo de fusión (regular), el predictor del aparato de codificación puede configurar una lista de candidatos de fusión (o lista de candidatos de información de movimiento) en base a los bloques vecinos espaciales y los bloques vecinos temporales del bloque actual, y en base a esto, el predictor del aparato de codificación puede generar la información de movimiento. En este caso, el predictor del aparato de codificación puede derivar un bloque de referencia que tiene una diferencia del bloque actual, que es mínima o igual o menor que una referencia predeterminada buscando un bloque similar al bloque actual en una determinada área (área de búsqueda) de fotogramas de referencia a través de estimación de movimiento, y en base a esto, el predictor del aparato de codificación puede derivar un índice de fotograma de referencia que indica un fotograma de referencia en donde está ubicado el bloque de referencia. Además, el predictor del aparato de codificación puede derivar un vector de movimiento en base a la diferencia en la ubicación entre el bloque de referencia y el bloque actual.
[0348] El predictor del aparato de codificación puede derivar las muestras de predicción (bloque predicho) del bloque actual en base al modo de predicción del bloque actual y la información de movimiento del bloque actual (S1030). Además, el predictor del aparato de codificación puede generar información sobre el modo de predicción basándose en el modo de predicción. En este caso, la información sobre el modo de predicción puede incluir información de clasificación entre/intrapredicción e información de modo de interpredicción, y puede incluir diversos elementos sintácticos relacionados con la información.
[0349] El procesador residual del aparato de codificación puede derivar muestras residuales en base a las muestras originales (bloque original) para el bloque actual y las muestras de predicción (bloque predicho) para el bloque actual (S1040). Además, el procesador residual del aparato de codificación puede derivar información sobre las muestras residuales en base a las muestras residuales.
[0350] El codificador del aparato de codificación puede codificar información de imagen que incluye información sobre las muestras residuales e información sobre el modo de predicción (S1050). La información de imagen puede incluir información relacionada con la partición, información relacionada con el modo de predicción, información residual e información relacionada con el filtrado en bucle, y puede incluir diversos elementos sintácticos relacionados con la información. La información codificada por el codificador del aparato de codificación puede emitirse en forma de un flujo de bits. El flujo de bits puede transmitirse al aparato de decodificación a través de una red o un medio de almacenamiento.
[0351] Por ejemplo, la información de imagen puede incluir información sobre diversos conjuntos de parámetros, tales como el conjunto de parámetros de adaptación (APS), el conjunto de parámetros de imagen (PPS), el conjunto de parámetros de secuencia (SPS) o el conjunto de parámetros de vídeo (VPS). Además, la información de imagen puede incluir información sobre el modo de predicción para el bloque actual, tal como la sintaxis de la unidad de codificación y la sintaxis de los datos de fusión. En este caso, el conjunto de parámetros de secuencia puede incluir un indicador combinado de fusión entre fotogramas y predicción intra-fotograma (CIIP) habilitado (indicador habilitado para ciip) y un indicador habilitado para un modo de partición. La sintaxis de unidad de codificación puede incluir un indicador de salto de CU que representa si el modo de salto se aplica al bloque actual.
[0352] Para evitar la transmisión duplicada de la misma sintaxis, el aparato de codificación aplica partes o toda la condición de señalización regular_merge_flag y semántica relacionada, condición de señalización de MMVD_merge_flag y semántica relacionada, condición de señalización merge_subblock_flag y semántica relacionada, y/o condición de señalización de indicador CIIP y semántica relacionada en base a una condición en donde se permite (MMVDAllowed) MMVD (modo MMVD), una condición en donde se permite el subbloque de fusión (modo de fusión de subbloques) (MergeSubBlockAllowed), una condición en donde se permite (MergeCIIPAllowed) CIIP de fusión (modo CIIP), y/o una condición en donde se permite el triángulo de fusión (modo de división) (MergeTriangleAllowed).
[0353] Para esto, la sintaxis de datos de fusión se configura como en la Tabla 5 a continuación.
[0354] [Tabla 5]
[0356]
[0357]
[0360] En la Tabla 5, general_merge_flag[x0][y0] especifica si los parámetros de interpredicción para la unidad de codificación actual se infieren a partir de una partición interpredictiva vecina. Los índices de matriz x0, y0 especifican la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de codificación considerado en relación con la muestra de luma superior izquierda del fotograma.
[0361] Cuando general_merge_flag[x0][y0] no está presente, se deduce de la siguiente manera.
[0362] • Si cu_skip_flag[x0][y0] es igual a 1, se deduce que general_merge_flag[x0][y0] es igual a 1.
[0363] • De lo contrario, se deduce que general_merge_flag[x0][y0] es igual a 0.
[0364] En la Tabla 5, la condición en donde se permite el MMVD (modo MMVD) (MMVDAllowed), la condición en donde se permite el subbloque de fusión (modo de fusión de subbloques) (MelgeSubBlockAllowed), la condición en donde se permite la fusión CIIP (modo CIIP) (MergeCIIPAllowed), y/o la condición en donde se permite el triángulo de fusión (modo de división) (MelgeTriangleAllowed) se inducen según las siguientes condiciones.
[0365] Si todas las condiciones siguientes son verdaderas, la variable MMVDAllowed se establece igual a verdadera.
[0366] • general_merge_flag[x0][y0] es igual a 1
[0367] • sps_mmvd_enabled_flag es igual a 1
[0368] • cbWidth *cbHeight es mayor que 32
[0369] Si todas las siguientes condiciones son verdaderas, la variable MelgeSubblockRequest se establece igual a verdadera.
[0370] • general_merge_flag[x0][y0] es igual a 1
[0371] • MaxNumSubblockMergeCand > 0
[0372] • CbWidth es mayor o igual a 8 y cbHeight es mayor o igual a 8
[0373] Si todas las condiciones siguientes son verdaderas, la variable MergeCIIPAllowed se establece igual a verdadera.
[0374] • general_merge_flag[x0][y0] es igual a 1
[0375] • sps_ciip_enabled_Flag es igual a 1
[0376] • cu_skip flag[x0][y0] es igual a 0
[0377] • cbWidth * cbHeight es mayor o igual a 64
[0378] • CbWidth es menor que 128 y cbWdth es menor que 128
[0379] Si todas las siguientes condiciones son verdaderas, MergeTriangleRequest se establece igual a verdadera.
[0380] • general_merge_flag[x0][y0] es igual a 1
[0381] • sps_triangle_enalbed_Flag es igual a 1 y slice_type es igual a B
[0382] • NaxNumT riangleMergeCand es superior o igual a 2
[0383] • cbWidth * cbHeight es mayor o igual a 64
[0384] Entre las condiciones anteriores, MMVDAllowed significa una condición en donde el MMVD es permisible, y en este caso, la condición basada en el tamaño de bloque se cumple en caso de que el bloque actual no sea bloque 4x8 o bloque 8x4. Sin embargo, en caso de que se permita el MMVD de unipredicción en el bloque 4x8 y/o el bloque 8x4, puede mejorarse la eficiencia de compresión y, por tanto, puede cambiarse la condición de MMVDAllowed de la siguiente manera.
[0385] Si todas las condiciones siguientes son verdaderas, la variable MMVDAllowed se establece igual a verdadera.
[0386] • general_merge_flag[x0][y0] es igual a 1
[0387] • sps_mmvd_enabled_flag es igual a 1
[0388] Mientras tanto, regular_merge_flag[x0][y0] igual a 1 especifica que se usa el modo de fusión regular para generar los parámetros de interpredicción de la unidad de codificación actual. Los índices de matriz x0, y0 especifican la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de codificación considerado en relación con la muestra de luma superior izquierda del fotograma.
[0389] Con referencia a la Tabla 5, el indicador de fusión regular se incluye en la información de imagen y se señala en forma de un flujo de bits en caso de que al menos un valor de la condición basada en modo de MMVD (MMVDAllowed), la condición basada en modo de fusión de subbloques (MergeSubBlockAllowed), la condición basada en modo de CIIP (MergeCIIPAllowed) y la condición basada en modo de partición (MergeTriangleAllowed) sea 1.
[0390] Como ejemplo, en caso de que el CIIP esté habilitado, el indicador de fusión regular puede incluirse en el flujo de bits. El caso de que el CIIP esté habilitado puede determinarse en base a al menos uno de un indicador de fusión general, un indicador habilitado de CIIP, el tamaño de bloque actual y el indicador de salto de CU. Por ejemplo, el indicador de fusión regular puede incluirse en el flujo de bits en caso de que el valor de indicador de fusión general sea 1, el valor de indicador habilitado para CIIP sea 1, un producto de una altura del bloque actual y una anchura del bloque actual sea igual o mayor que 64, la altura del bloque actual o la anchura del bloque actual sea menor que 128, o el valor de indicador de salto sea 0. Además, el indicador de fusión regular puede incluirse en el flujo de bits en caso de que se satisfagan todas las condiciones basadas en el indicador de fusión general, el indicador habilitado de CIIP, el tamaño de bloque actual y el indicador de salto de CU.
[0391] Como otro ejemplo, el indicador de fusión regular puede incluirse en el flujo de bits en caso de que el modo de partición esté habilitado. El caso de que el modo de partición este habilitado puede determinarse basándose en al menos uno del indicador de fusión general, el indicador de habilitación de modo de partición que representa si el modo de partición está habilitado e información sobre el bloque actual. Por ejemplo, el indicador de fusión regular puede incluirse en el flujo de bits en caso de que el valor de indicador de fusión general sea 1, el valor de indicador habilitado de modo de división sea 1, el producto de la altura del bloque actual y la anchura del bloque actual sea igual o mayor que 64, el tipo de segmento del bloque actual sea un segmento B, o el número máximo de candidatos de modo de división sea igual o mayor que 2. Además, el indicador de fusión regular puede incluirse en el flujo de bits en caso de que se satisfagan todas las condiciones anteriores.
[0392] Cuando regular_merge_flag[x0][y0] no está presente en la sintaxis de datos de fusión, se deduce de la siguiente manera). Si todas las siguientes condiciones son verdaderas, se deduce que regular_merge_flag[x0][y0] es igual a 1.
[0393] • MMVDAllowed es igual a 0
[0394] • MergeSubBlockAllowed es igual a 0
[0395] • MergeCIIPAllowed es igual a 0
[0396] • MergeTriangleAllowed es igual a 0
[0397] • De lo contrario, se deduce que regular_merge_flag[x0][y0] es igual a 0.
[0398] Mientras tanto, mmvd_merge_flag[x0][y0] igual a 1 especifica que se usa el modo de fusión con la diferencia de vector de movimiento para generar los parámetros de interpredicción de la unidad de codificación actual. Los índices de matriz x0, y0 especifican la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de codificación considerado en relación con la muestra de luma superior izquierda del fotograma.
[0399] Con referencia a la Tabla 5, el indicador de fusión de MMVD puede incluirse en la información de imagen y puede señalizarse en forma de un flujo de bits en caso de que al menos un valor de la condición basada en modo de MMVD (MMVDAllowed), condición basada en modo de fusión de subbloques
[0400] (MergeSubBlockAllowed), condicion basada en modo CIIP (MergeCIIPAllowed) y condición basada en modo de partición (MergeTriangleAllowed) es 1.
[0401] Cuando mmvd_merge_flag[x0][y0] no está presente en la sintaxis de datos de fusión, se deduce de la siguiente manera. Si todas las siguientes condiciones son verdaderas, se deduce que mmvd_merge_flag[x0][y0] es igual a 1.
[0402] • regular_merge_flag[x0][y0] es igual a 0
[0403] • MMVDAllowed es igual a 0
[0404] • MergeSubBlockAllowed es igual a 0
[0405] • MergeCIIPAllowed es igual a 0
[0406] • MergeTriangleAllowed es igual a 0
[0407] • De lo contrario, se deduce que mmvd_merge_flag[x0][y0] es igual a 0.
[0408] mmvd_cand_flag[x0][y0] especifica si el primer (0) o el segundo (1) candidato en la lista de candidatos de fusión se usa con la diferencia de vector de movimiento derivada de mmvd_distance_idx[x0][y0] y mmvd_direction_idx[x0][y0]. Los índices de matriz x0, y0 especifican la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de codificación considerado en relación con la muestra de luma superior izquierda de la imagen. Cuando mmvd_cand_flag[x0][y0] no está presente, se deduce que es igual a 0.
[0409] mmvd_distance_idx[x0][y0] especifica el índice usado para derivar MmvdDistance[x0][y0] como se especifica en la Tabla 3. Los índices de matriz x0, y0 especifican la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de codificación considerado en relación con la muestra de luma superior izquierda del fotograma. mmvd_direction_idx[x0][y0] especifica el índice usado para derivar MmvdSign[x0][y0] como se especifica en la Tabla 4. Los índices de matriz x0, y0 especifican la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de codificación considerado en relación con la muestra de luma superior izquierda del fotograma.
[0410] Ambos componentes de la fusión más el desplazamiento de MVD MmvdOffset[x0][y0] se derivan como la Ecuación 1. merge_subblock_flag[x0][y0] especifica si los parámetros de interpredicción basados en subbloques para la unidad de codificación actual se infieren a partir de bloques vecinos. Los índices de matriz x0, y0 especifican la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de codificación considerado en relación con la muestra de luma superior izquierda del fotograma.
[0411] Con referencia a la Tabla 5, el indicador de subbloque de fusión puede incluirse en la información de imagen y puede señalizarse en forma de un flujo de bits en caso de que al menos un valor de la condición basada en modo de fusión de subbloques (MergeSubBlockAllowed), la condición basada en modo CIIP (MergeCIIPAllowed) y la condición basada en modo de partición (MergeTriangleAllowed) sea 1.
[0412] Cuando el indicador de merge_subblock[x0][y0] no está presente en la sintaxis de datos de fusión, se deduce como sigue. Si todas las siguientes condiciones son verdaderas, se deduce que el merge_subblock_flag[x0][y0] es igual a 1.
[0413] • regular_merge_flag[x0][y0] es igual a 0
[0414] • mmvd_merge_flag[x0][y0] es igual a 0
[0415] • MergeSubBlockAllowed es igual a 0
[0416] • MergeCIIPAllowed es igual a 0
[0417] • MergeTriangleAllowed es igual a 0
[0418] • De lo contrario, se deduce que merge_subblock_flag[x0][y0] es igual a 0.
[0419] merge_subblock_idx[x0] [y0] especifica el índice de candidatos de fusión de la lista de candidatos de fusión basada en subbloques donde x0, y0 especifican la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de codificación considerado en relación con la muestra de luma superior izquierda del fotograma.
[0420] Cuando merge_subblock_idx[x0][y0] no está presente, se deduce que es igual a 0.
[0421] Mientras tanto, ciip_flag[x0][y0] especifica si la fusión entre-fotogramas y la predicción intra-fotogramas combinadas se aplican para la unidad de codificación actual. Los índices de matriz x0, y0 especifican la ubicación (x0, y0) de la muestra de luma superior izquierda del bloque de codificación considerado en relación con la muestra de luma superior izquierda del fotograma.
[0422] Con referencia a la Tabla 5, el indicador de CIIP puede incluirse en la información de imagen, y puede señalizarse en forma de un flujo de bits en caso de que al menos un valor de la condición basada en modo de CIIP (MergeCIIPAllowed) y la condición basada en modo de partición (MergeTriangleAllowed) sea 1.
[0423] Por ejemplo, el indicador CIIP puede incluirse en el flujo de bits en caso de que se active el modo de partición. El caso de que el modo de partición este habilitado puede determinarse basándose en al menos uno del indicador de fusión general, el indicador de habilitación de modo de partición que representa si el modo de partición está habilitado e información sobre el bloque actual. Por ejemplo, el indicador CIIP puede incluirse en el flujo de bits en caso de que el valor de indicador de fusión general sea 1, el valor de indicador habilitado para modo de división sea 1, el producto de la altura del bloque actual y la anchura del bloque actual sea igual o mayor que 64, el tipo de segmento del bloque actual sea un segmento B, o el número máximo de candidatos de modo de división sea igual o mayor que 2. Además, el indicador CIIP puede incluirse en el flujo de bits en caso de que se satisfagan todas las condiciones anteriores. Cuando ciip_flag[x0][y0] no está presente, se deduce de la siguiente manera.
[0424] Si todas las condiciones siguientes son verdaderas, ciip_flag[x0][y0] se establece igual a 1.
[0425] • MergeCIIPAllowed es igual a 0
[0426] • MergeTriangleAllowed es igual a 0
[0427] • De lo contrario, ciip_flag[x0][y0] se establece igual a 0.
[0428] Cuando ciip_flag[x0][y0] es igual a 1, la variable IntraPredModeY[x][y] con x = xCb..xCb cbWidth - 1 e y = yCb..yCb cbHeight - 1 se establece para que sea igual a INTRA_PLANAR.
[0429] La variable MergeTriangleFlag[x0][y0], que especifica si se usa compensación de movimiento basada en la forma triangular para generar las muestras de predicción de la unidad de codificación actual, cuando se descodifica un segmento B, se deriva de la siguiente manera.
[0430] Si todas las condiciones siguientes son verdaderas, MergeTriangleFlag[x0][y0] se establece igual a 1.
[0431] • MergeTriangleAllowed es igual a 1
[0432] • regular_merge_flag[x0][y0] es igual a 0
[0433] • mmvd_merge_flag[x0][y0] es igual a 0
[0434] • El merge_subblock_flag[x0][y0] es igual a 0
[0435] • ciip_flag[x0][y0] es igual a 0
[0436] • De lo contrario, MergeTriangleFlag[x0][y0] es igual a 0.
[0437] Las FIG. 12 y 13 ilustran esquemáticamente un ejemplo de un método de decodificación de vídeo/imagen que incluye un método de interpredicción y componentes relacionados según una realización del presente documento.
[0438] Un método de descodificación desvelado en la FIG. 12 puede realizarse mediante un aparato 300 de descodificación desvelado en las FIG. 3 y 13. Específicamente, por ejemplo, S1200 a S1230 de la FIG. 12 pueden ser realizados por el predictor 330 del aparato 300 de descodificación. En este documento, el método de descodificación desvelado en la FIG. 12 puede incluir las realizaciones descritas anteriormente.
[0440] Haciendo referencia a las FIG. 12 y 13, el aparato de decodificación puede obtener información sobre el modo de predicción para el bloque actual a partir del flujo de bits, y basándose en esto, el aparato de decodificación puede determinar el modo de predicción para el bloque actual (S1200). Específicamente, el decodificador 310 de entropía del aparato de decodificación puede obtener información residual e información sobre el modo de predicción a partir de la señal recibida del aparato de codificación de la FIG. 2 en forma de un flujo de bits. En este caso, la información sobre el modo de predicción puede denominarse información relacionada con la predicción. La información sobre el modo de predicción puede incluir información de clasificación entre/intrapredicción e información de modo de interpredicción, y puede incluir diversos elementos sintácticos relacionados con la información.
[0442] En el flujo de bits, puede incluirse la información de imagen que incluye información sobre diversos conjuntos de parámetros, tales como conjunto de parámetros de adaptación (APS), conjunto de parámetros de imagen (PPS), conjunto de parámetros de secuencia (SPS) o conjunto de parámetros de vídeo (VPS). La información de imagen puede incluir además información sobre el modo de predicción para el bloque actual, tal como la sintaxis de la unidad de codificación y la sintaxis de los datos de fusión. El conjunto de parámetros de secuencia puede incluir un indicador habilitado de CIIP y un indicador habilitado para un modo de partición. La sintaxis de unidad de codificación puede incluir un indicador de salto de CU que representa si el modo de salto se aplica al bloque actual.
[0444] El predictor 320 del aparato de decodificación puede configurar una lista de candidatos de información de movimiento (o lista de candidatos de fusión) para el bloque actual basándose en el modo de predicción para el bloque actual (S1210). Además, el predictor 320 del aparato de descodificación puede seleccionar un candidato de fusión de la lista de candidatos de información de movimiento basándose en la información de selección de candidatos (índice de fusión) obtenida del flujo de bits, y puede derivar la información de movimiento del bloque actual usando la información de movimiento del candidato de fusión seleccionado (S1220).
[0446] Cuando se obtiene la información de movimiento del bloque actual, el predictor del aparato de descodificación puede generar muestras de predicción del bloque actual basándose en la información de movimiento del bloque actual (S1230).
[0447] Mientras tanto, el procesador 320 residual del aparato de decodificación puede generar muestras residuales en base a la información residual obtenida del flujo de bits.
[0449] El sumador 340 del aparato de decodificación puede generar muestras reconstruidas basándose en las muestras de predicción generadas por el predictor 330 y las muestras residuales generadas por el procesador 320 residual. La imagen reconstruida puede generarse basándose en las muestras reconstruidas. Después, según sea necesario, para mejorar la calidad subjetiva/objetiva de la imagen, se puede aplicar un procedimiento de filtrado en bucle, tal como filtrado de desbloqueo, procedimientos SAO y/o ALF, a la imagen reconstruida.
[0451] Como una realización, en la determinación del modo de predicción para el bloque actual, el predictor del aparato de decodificación puede obtener o analizar sintácticamente el indicador de fusión regular del flujo de bits en caso de que al menos un valor de la condición basada en modo de MMVD (MMVDAllowed ), la condición basada en modo de fusión de subbloques (MergeSubBlockAllowed), la condición basada en modo de CIIP (MergeCIIPAllowed) y la condición basada en modo de partición (MergeTriangleAllowed) sea 1.
[0453] Como ejemplo, en caso de que el CIIP esté habilitado, el aparato de decodificación puede analizar el indicador de fusión regular del flujo de bits. El caso de que el CIIP esté habilitado puede determinarse en base a al menos uno del indicador de fusión general, el indicador habilitado de CIIP, el tamaño de bloque actual y el indicador de salto de CU. Por ejemplo, el aparato de decodificación puede determinar que el CIIP está habilitado en caso de que el valor de indicador de fusión general sea 1, el valor de indicador habilitado de CIIP sea 1, el producto de la altura del bloque actual y la anchura del bloque actual sea igual o mayor que 64, la altura del bloque actual o la anchura del bloque actual sea menor que 128 o el valor de indicador de salto sea 0. Además, el aparato de decodificación puede determinar que el CIIP está habilitado en caso de que se satisfagan todas las condiciones basadas en el indicador de fusión general, el indicador habilitado de CIIP, el tamaño de bloque actual y el indicador de salto de CU.
[0455] Como otro ejemplo, el aparato de decodificación puede analizar el indicador de fusión regular del flujo de bits en caso de que el modo de partición esté habilitado. El caso de que el modo de partición este habilitado puede determinarse basándose en al menos uno del indicador de fusión general, el indicador de habilitación de modo de partición que representa si el modo de partición está habilitado e información sobre el bloque actual. Por ejemplo, el aparato de decodificación puede determinar que el modo de partición está habilitado en caso de que el valor de indicador de fusión general sea 1, el valor de indicador habilitado de modo de partición sea 1, el producto de la altura del bloque actual y la anchura del bloque actual sea igual o mayor que 64, el tipo de segmento del bloque actual sea un segmento B, o el número máximo de candidatos de modo de partición sea igual o mayor que 2. Además, el aparato de decodificación puede determinar que el modo de partición está habilitado en caso de que se satisfagan todas las condiciones anteriores.
[0457] Mientras tanto, al determinar el modo de predicción para el bloque actual, el predictor del aparato de decodificación puede obtener o analizar sintácticamente el indicador de fusión de MMVD del flujo de bits en caso de que al menos un valor de la condición basada en el modo de MMVD (MMVDAllowed), la condición basada en el modo de fusión de subbloques (MergeSubBlockAllowed), la condición basada en el modo de CIIP (MergeCIIPAllowed) y la condición basada en el modo de partición (MergeTriangleAllowed) sea 1.
[0459] Además, al determinar el modo de predicción para el bloque actual, el predictor del aparato de descodificación puede obtener o analizar sintácticamente el indicador de subbloque de fusión del flujo de bits en caso de que al menos un valor de la condición basada en el modo de fusión de subbloques (MergeSubBlockAllowed), la condición basada en el modo CIIP (MergeCIIPAllowed) y la condición basada en el modo de partición (MergeTriangleAllowed) sea 1.
[0460] Además, al determinar el modo de predicción para el bloque actual, el predictor del aparato de decodificación puede obtener o analizar sintácticamente el indicador de CIIP del flujo de bits en caso de que al menos un valor de la condición basada en el modo de CIIP (MergeCIIPAllowed) y la condición basada en el modo de partición (MergeTriangleAllowed) sea 1. Como ejemplo, el aparato de decodificación puede analizar el indicador CIIP del flujo de bits en caso de que el modo de partición esté habilitado. El caso de que el modo de partición este habilitado puede determinarse basándose en al menos uno del indicador de fusión general, el indicador de habilitación de modo de partición que representa si el modo de partición está habilitado e información sobre el bloque actual. Por ejemplo, el aparato de decodificación puede determinar que el modo de partición está habilitado en caso de que el valor de indicador de fusión general sea 1, el valor de indicador habilitado de modo de partición sea 1, el producto de la altura del bloque actual y la anchura del bloque actual sea igual o mayor que 64, el tipo de segmento del bloque actual sea un segmento B, o el número máximo de candidatos de modo de partición sea igual o mayor que 2. Además, el aparato de decodificación puede determinar que el modo de partición está habilitado en caso de que se satisfagan todas las condiciones anteriores.
[0462] Aunque el sistema ejemplar mencionado anteriormente se ha descrito sobre la base de un diagrama de flujo en donde las etapas o bloques se enumeran en secuencia, las etapas de la presente descripción no se limitan a un cierto orden. Por lo tanto, se puede realizar una determinada etapa en una etapa diferente o en un orden diferente o simultáneamente con respecto a la descrita anteriormente, siempre que cumpla con las reivindicaciones independientes adjuntas.
[0464] El método mencionado anteriormente según la presente descripción puede estar en forma de software, y el aparato de codificación y/o el aparato de descodificación según la presente descripción pueden incluirse en un dispositivo para realizar procesamiento de imágenes, por ejemplo, un TV, un ordenador, un teléfono inteligente, un decodificador, un dispositivo de visualización o similares.
[0466] Cuando las realizaciones se implementan en software en la presente descripción, el método mencionado anteriormente puede implementarse usando un módulo (procedimiento, función, etc.) que realiza la función mencionada anteriormente. El módulo puede almacenarse en la memoria y ejecutarse por el procesador. La memoria puede estar dispuesta en el procesador interna o externamente y conectada al procesador usando una variedad de medios bien conocidos. El procesador puede incluir Circuitos Integrados de Aplicación Específica (ASIC), otros conjuntos de chips, circuitos lógicos y/o procesadores de datos. La memoria puede incluir Memoria de Solo Lectura (ROM), Memoria de Acceso Aleatorio (RAM), memoria flash, tarjetas de memoria, medios de almacenamiento y/u otros dispositivos de almacenamiento. Es decir, las realizaciones descritas en el presente documento pueden implementarse y realizarse en un procesador, microprocesador, controlador o chip. Por ejemplo, las unidades funcionales mostradas en cada dibujo pueden implementarse y realizarse en un ordenador, procesador, microprocesador, controlador o chip. En este caso, la información para la implementación (por ejemplo, información sobre instrucciones) o un algoritmo puede almacenarse en un medio de almacenamiento digital.
[0468] Además, el aparato de decodificación y el aparato de codificación al que se aplica la presente descripción pueden incluirse en un transceptor de radiodifusió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 y un dispositivo de comunicación en tiempo real tal como comunicación de vídeo, un dispositivo de transmisión móvil, un medio de almacenamiento, videocámara, un proveedor de servicios de vídeo bajo demanda (VoD), un dispositivo de vídeo superior (OTT), un proveedor de servicios de transmisión de internet, un dispositivo de vídeo 3D, un dispositivo de realidad virtual (VR), un dispositivo de realidad aumentada (AR), un dispositivo de vídeo de teléfono de imagen, un terminal de vehículo (por ejemplo, un terminal de vehículo (incluyendo un vehículo autónomo), un terminal de avión, un terminal de barco, etc.) y un dispositivo de vídeo médico, y similares, y pueden usarse para procesar una señal de vídeo o una señal de datos. Por ejemplo, el dispositivo de vídeo OTT puede incluir una consola de juegos, un reproductor de Blu-ray, un TV conectado a Internet, un sistema de cine en casa, un teléfono inteligente, un ordenador personal tipo tableta, un grabador de vídeo digital (DVR) y similares.
[0470] Además, el método de procesamiento al que se aplica la presente descripción puede producirse en forma de un programa ejecutado por un ordenador y puede almacenarse en un medio de grabación legible por ordenador. Los datos multimedia que tienen una estructura de datos según la presente descripción también pueden almacenarse en el medio de grabación legible por ordenador. El medio de grabación legible por ordenador incluye todo tipo de dispositivos de almacenamiento y dispositivos de almacenamiento distribuidos en donde se almacenan datos legibles por ordenador. El medio de grabación legible por ordenador puede ser, por ejemplo, un disco Blu-ray (BD), un bus serie universal (USB), una ROM, una PRo M, una EPRo M, una EEPROM, una RAM, un CD-ROM, una cinta magnética, un disquete y un dispositivo de almacenamiento de datos ópticos. El medio de grabación legible por ordenador también incluye medios incorporados en forma de una onda portadora (por ejemplo, transmisión a través de Internet). Además, un flujo de bits generado por el método de codificación puede almacenarse en el medio de grabación legible por ordenador o transmitirse a través de una red de comunicación cableada o inalámbrica.
[0471] Además, una realización de la presente descripción puede realizarse como un producto de programa informático basado en un código de programa, y el código de programa puede ejecutarse en un ordenador mediante la realización del documento de presente descripción. El código de programa puede almacenarse en un portador legible por un ordenador.
[0472] La FIG. 14 ilustra un ejemplo de un sistema de transmisión continua de contenido al que se pueden aplicar las realizaciones descritas en este documento.
[0473] Con referencia a la FIG. 14, el sistema de transmisión de contenidos al que se aplica la o las realizaciones de este documento puede incluir en gran medida un servidor de codificación, un servidor de transmisión, un servidor web, un almacenamiento de medios, un dispositivo de usuario y un dispositivo de entrada multimedia.
[0474] El servidor de codificación comprime la entrada de contenido de dispositivos de entrada multimedia tales como un teléfono inteligente, una cámara, una videocámara, etc. en datos digitales para generar un flujo de bits y transmitir el flujo de bits al servidor de transmisión continua. Como otro ejemplo, cuando los dispositivos de entrada multimedia, tales como teléfonos inteligentes, cámaras, videocámara, etc., generan directamente un flujo de bits, el servidor de codificación puede omitirse.
[0475] El flujo de bits puede generarse mediante un procedimiento de codificación o un procedimiento de generación de flujo de bits al que se aplica la o las realizaciones del presente documento, y el servidor de transmisión puede almacenar temporalmente el flujo de bits en el proceso de transmisión o recepción del flujo de bits.
[0476] El servidor de transmisión continua transmite los datos multimedia al dispositivo de usuario basándose en una solicitud del usuario a través del servidor web, y el servidor web sirve como un medio para informar al usuario de un servicio. Cuando el usuario solicita un servicio deseado desde el servidor web, el servidor web lo entrega a un servidor de transmisión continua, y el servidor de transmisión continua transmite datos multimedia al usuario. En este caso, el sistema de transmisión continua de contenido 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 contenido. El servidor de transmisión puede recibir contenido desde un almacenamiento de medios y/o un servidor de codificación. Por ejemplo, cuando el contenido se recibe desde el servidor de codificación, el contenido puede recibirse en tiempo real. En este caso, con el fin de proporcionar un servicio de transmisión continua suave, el servidor de transmisión continua puede almacenar el flujo de bits durante un tiempo predeterminado.
[0477] Los ejemplos del dispositivo de usuario pueden incluir un teléfono móvil, un teléfono inteligente, un ordenador portátil, un terminal de radiodifusión digital, un asistente digital personal (PDA), un reproductor multimedia portátil (PMP), navegación, un PC de pizarra, PC de tableta, ultrabooks, dispositivos portátiles (por ejemplo, relojes inteligentes, gafas inteligentes, pantallas montadas en la cabeza), televisores digitales, ordenador de escritorio, señalización digital y similares.
[0478] Cada servidor en el sistema de transmisión de contenidos puede ser operado como un servidor distribuido, en cuyo caso los datos recibidos desde cada servidor pueden ser distribuidos.

Claims (3)

1. REIVINDICACIONES
1. Un aparato de descodificación para descodificar una imagen para codificación de vídeo versátil, VVC, el aparato de descodificación comprende:
una memoria; y
al menos un procesador conectado a la memoria, el al menos un procesador está configurado para: determinar un modo de predicción de un bloque actual basándose en información sobre el modo de predicción obtenido a partir de un flujo de bits;
configurar una lista de candidatos de fusión basándose en el modo de predicción;
derivar información de movimiento del bloque actual basándose en la lista de candidatos de fusión; y generar muestras de predicción del bloque actual basándose en la información de movimiento, en donde el flujo de bits incluye una fusión entre-fotograma y la predicción intra-fotograma, CIIP, combinadas, un indicador que representa si el CIIP está habilitado, un indicador de fusión general que representa si los parámetros de interpredicción para un bloque actual se infieren a partir de una partición interpredicha vecina, y un indicador de salto que representa si se aplica un modo de salto al bloque actual, y
en donde el modo de predicción del bloque actual se determina al:
obtener un indicador de fusión regular a partir del flujo de bits si todas las condiciones siguientes son verdaderas: un valor del indicador habilitado para CIIP que es igual a 1, un valor del indicador de fusión general que es igual a 1, un valor del indicador de salto que es igual a 0, un producto de una altura del bloque actual y un ancho del bloque actual que es mayor que o igual a 64, siendo la altura del bloque actual menor que 128, y siendo el ancho del bloque actual menor que 128, en donde el indicador de fusión regular representa si un modo de fusión se aplica al bloque actual, y
determinar un modo de fusión regular como el modo de predicción del bloque actual cuando un valor del indicador de fusión regular es igual a 1.
2. Un aparato de codificación para codificar una imagen para codificación de vídeo versátil, VVC, el aparato de codificación comprende:
una memoria; y
al menos un procesador conectado a la memoria, el al menos un procesador está configurado para:
determinar un modo de predicción de un bloque actual como un modo de fusión regular; configurar una lista de candidatos de fusión basándose en el modo de predicción;
derivar información de movimiento del bloque actual basándose en la lista de candidatos de fusión; derivar muestras de predicción del bloque actual basándose en la información de movimiento; derivar muestras residuales basadas en muestras de predicción; y
codificar información de imagen que incluye información sobre el modo de predicción generada basándose en el modo de predicción, e información residual generada basándose en las muestras residuales,
en donde la información de imagen incluye un indicador de fusión inter-fotograma y predicción intra-fotograma, CIIP, habilitados combinados que representan si el CIIP está habilitado, un indicador de fusión general que representa si los parámetros de interpredicción para un bloque actual se infieren a partir de una partición interpredicha vecina, y un indicador de salto que representa si se aplica un modo de salto al bloque actual,
en donde la información de imagen incluye un indicador de fusión regular si todas las condiciones siguientes son verdaderas: un valor del indicador habilitado para CIIP que es igual a 1, un valor del indicador de fusión general que es igual a 1, un valor del indicador de salto que es igual a 0, un producto de una altura del bloque actual y un ancho del bloque actual que es mayor que o igual a 64, la altura del bloque actual que es menor que 128, y el ancho del bloque actual que es menor que 128, en donde el indicador de fusión regular representa si un modo de fusión se aplica al bloque actual, y
en donde un valor del indicador de fusión regular que es igual a 1 representa que se determina que el modo de fusión regular es el modo de predicción del bloque actual.
3. Un aparato para transmitir datos de una imagen para codificación de vídeo versátil, VVC, el aparato comprende: al menos un procesador configurado para obtener un flujo de bits, en donde el flujo de bits se genera basándose en la determinación de un modo de predicción de un bloque actual como un modo de fusión regular, configurar una lista de candidatos de fusión en base al modo de predicción, derivar información de movimiento del bloque actual en base a la lista de candidatos de fusión, derivar muestras de predicción del bloque actual en base a la información de movimiento, derivar muestras residuales en base a las muestras de predicción y generar el flujo de bits codificando información de imagen que incluye información en el modo de predicción generada en base al modo de predicción, e información residual generada en base a las muestras residuales; y
un transmisor configurado para transmitir los datos que comprenden el flujo de bits,
en donde la información de imagen incluye un indicador de fusión inter-fotograma y predicción intra- fotograma, CIIP, habilitados combinados que representan si el CIIP está habilitado, un indicador de fusión general que representa si los parámetros de interpredicción para un bloque actual se infieren a partir de una partición interpredicha vecina, y un indicador de salto que representa si se aplica un modo de salto al bloque actual,
en donde la información de imagen incluye un indicador de fusión regular si todas las condiciones siguientes son verdaderas: un valor del indicador habilitado para CIIP que es igual a 1, un valor del indicador de fusión general que es igual a 1, un valor del indicador de salto que es igual a 0, un producto de una altura del bloque actual y un ancho del bloque actual que es mayor que o igual a 64, la altura del bloque actual que es menor que 128, y el ancho del bloque actual que es menor que 128, en donde el indicador de fusión regular representa si un modo de fusión se aplica al bloque actual, y
en donde un valor del indicador de fusión regular que es igual a 1 representa que se determina que el modo de fusión regular es el modo de predicción del bloque actual.
ES24187933T 2019-06-23 2020-06-23 Device for removing redundant syntax from merge data syntax Active ES3046821T3 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201962865289P 2019-06-23 2019-06-23

Publications (1)

Publication Number Publication Date
ES3046821T3 true ES3046821T3 (en) 2025-12-02

Family

ID=74061820

Family Applications (2)

Application Number Title Priority Date Filing Date
ES20831812T Active ES2988060T3 (es) 2019-06-23 2020-06-23 Método y dispositivo para eliminar la sintaxis redundante de la sintaxis de datos de fusión
ES24187933T Active ES3046821T3 (en) 2019-06-23 2020-06-23 Device for removing redundant syntax from merge data syntax

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES20831812T Active ES2988060T3 (es) 2019-06-23 2020-06-23 Método y dispositivo para eliminar la sintaxis redundante de la sintaxis de datos de fusión

Country Status (13)

Country Link
US (3) US12058336B2 (es)
EP (3) EP4607926A3 (es)
JP (3) JP7238172B2 (es)
KR (2) KR102702826B1 (es)
CN (4) CN114009016B (es)
ES (2) ES2988060T3 (es)
FI (1) FI3989584T3 (es)
HR (2) HRP20241227T1 (es)
HU (2) HUE068494T2 (es)
PL (2) PL3989584T3 (es)
RS (1) RS67270B1 (es)
SI (1) SI3989584T1 (es)
WO (1) WO2020262930A1 (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3989582B1 (en) * 2019-06-23 2024-08-07 LG Electronics Inc. Method and device for syntax signaling in video/image coding system
CN114009047B (zh) * 2019-06-23 2024-11-08 Lg电子株式会社 视频/图像编译系统中用于合并数据语法的信令方法和装置
WO2021015195A1 (ja) * 2019-07-24 2021-01-28 シャープ株式会社 画像復号装置、画像符号化装置、および画像復号方法
CN118339830A (zh) * 2021-11-25 2024-07-12 交互数字Ce专利控股有限公司 用于图片编码和解码的方法与设备
US20250184496A1 (en) * 2022-03-11 2025-06-05 Hyundai Motor Company Method and apparatus for encoding/decoding image and recording medium for storing bitstream
EP4561061A1 (en) * 2023-11-24 2025-05-28 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding video picture data

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102257335B1 (ko) 2010-11-25 2021-05-27 엘지전자 주식회사 영상 정보의 시그널링 방법 및 이를 이용한 영상 정보의 복호화 방법
US9374578B1 (en) * 2013-05-23 2016-06-21 Google Inc. Video coding using combined inter and intra predictors
WO2017082670A1 (ko) * 2015-11-12 2017-05-18 엘지전자 주식회사 영상 코딩 시스템에서 계수 유도 인트라 예측 방법 및 장치
WO2017209328A1 (ko) * 2016-06-03 2017-12-07 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측 방법 및 장치
JP7277590B2 (ja) 2019-01-18 2023-05-19 ウィルス インスティテュート オブ スタンダーズ アンド テクノロジー インコーポレイティド モーション補償を用いたビデオ信号処理方法及び装置
KR20200095982A (ko) * 2019-02-01 2020-08-11 주식회사 윌러스표준기술연구소 모션 벡터 차이를 사용하는 머지를 기반으로 한 모션 예측을 이용한 비디오 신호 처리 방법 및 장치
GB2582929A (en) * 2019-04-08 2020-10-14 Canon Kk Residual signalling
EP3989582B1 (en) 2019-06-23 2024-08-07 LG Electronics Inc. Method and device for syntax signaling in video/image coding system
CN114009047B (zh) 2019-06-23 2024-11-08 Lg电子株式会社 视频/图像编译系统中用于合并数据语法的信令方法和装置

Also Published As

Publication number Publication date
SI3989584T1 (sl) 2024-10-30
US20220232218A1 (en) 2022-07-21
EP4422180C0 (en) 2025-09-03
HUE073443T2 (hu) 2026-01-28
HRP20251238T1 (hr) 2025-12-05
ES2988060T3 (es) 2024-11-19
CN114009016A (zh) 2022-02-01
HUE068494T2 (hu) 2024-12-28
EP4607926A3 (en) 2025-11-12
JP2022535302A (ja) 2022-08-05
CN120263971A (zh) 2025-07-04
WO2020262930A1 (ko) 2020-12-30
EP4422180A3 (en) 2024-10-30
US20240348789A1 (en) 2024-10-17
JP7238172B2 (ja) 2023-03-13
KR20210150584A (ko) 2021-12-10
JP2024138415A (ja) 2024-10-08
PL3989584T3 (pl) 2024-10-28
EP4422180A2 (en) 2024-08-28
HRP20241227T1 (hr) 2024-11-22
EP4422180B1 (en) 2025-09-03
JP2023065569A (ja) 2023-05-12
EP3989584A1 (en) 2022-04-27
US20250324064A1 (en) 2025-10-16
EP4607926A2 (en) 2025-08-27
RS67270B1 (sr) 2025-10-31
JP7521030B2 (ja) 2024-07-23
EP3989584B1 (en) 2024-08-14
PL4422180T3 (pl) 2025-12-22
CN120302032A (zh) 2025-07-11
FI3989584T3 (fi) 2024-09-25
KR102702826B1 (ko) 2024-09-04
JP7817328B2 (ja) 2026-02-18
CN114009016B (zh) 2025-05-09
EP3989584A4 (en) 2023-06-14
CN120263970A (zh) 2025-07-04
KR20240136447A (ko) 2024-09-13
US12058336B2 (en) 2024-08-06
US12368861B2 (en) 2025-07-22

Similar Documents

Publication Publication Date Title
ES3046821T3 (en) Device for removing redundant syntax from merge data syntax
ES3040713T3 (en) Signaling method and device for merge data syntax in video/image coding system
US20250030851A1 (en) Video encoding/decoding method and device using segmentation limitation for chroma block, and method for transmitting bitstream
ES3052475T3 (en) Method and device for syntax signaling in video/image coding system
ES3063233T3 (en) Image decoding method and image encoding method for deriving weight index information for generation of prediction sample
ES3018507T3 (es) Método y dispositivo para procesar información de imagen para la codificación de imágenes/vídeos
US12262011B2 (en) Image encoding/decoding method, apparatus and method for transmitting bitstream using maximum transform size setting of chroma block
JP7684487B2 (ja) インター予測に基づく映像コーディング方法及び装置
US11533476B2 (en) Image encoding/decoding method and apparatus using IBC, and method for transmitting bitstream
US20230370642A1 (en) Image encoding/decoding method and device using maximum transform size restriction of chroma component encoding block, and method for transmitting bitstream
US20230353743A1 (en) Method and apparatus for encoding/decoding video using maximum size limitation of chroma transform block, and method for transmitting bitstream
ES3057180T3 (en) Image encoding/decoding method and apparatus for performing prediction on basis of reconfigured prediction mode type of leaf node, and bitstream transmission method
ES3061333T3 (en) Image/video coding method and device