ES2993149T3 - Dmvr-based inter-prediction method and device - Google Patents

Dmvr-based inter-prediction method and device Download PDF

Info

Publication number
ES2993149T3
ES2993149T3 ES20759829T ES20759829T ES2993149T3 ES 2993149 T3 ES2993149 T3 ES 2993149T3 ES 20759829 T ES20759829 T ES 20759829T ES 20759829 T ES20759829 T ES 20759829T ES 2993149 T3 ES2993149 T3 ES 2993149T3
Authority
ES
Spain
Prior art keywords
case
current block
prediction
motion vector
dmvr
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
ES20759829T
Other languages
English (en)
Inventor
Naeri Park
Junghak Nam
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Application granted granted Critical
Publication of ES2993149T3 publication Critical patent/ES2993149T3/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/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/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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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 método de decodificación de imágenes según el presente documento comprende las etapas de: determinar si se cumple o no una condición de aplicación del refinamiento del vector de movimiento del lado del decodificador (DMVR) para aplicar el refinamiento del vector de movimiento para un bloque actual; derivar una suma mínima de diferencias absolutas (SAD) sobre la base de los vectores de movimiento L0 y L1 del bloque actual si se cumple la condición de aplicación del DMVR; derivar vectores de movimiento L0 y L1 refinados del bloque actual sobre la base de la SAD mínima; derivar muestras de predicción del bloque actual sobre la base de los vectores de movimiento L0 y L1 refinados; y generar muestras reconstruidas del bloque actual sobre la base de las muestras de predicción. Con respecto a si se cumple o no la condición de aplicación del DMVR, se determina que la condición de aplicación del DMVR se cumple si no se aplica un modo de predicción, en el que se combinan la interpredicción y la intrapredicción, al bloque actual. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Método y dispositivo de interpredicción basados en DMVR
Antecedentes de la descripción
Campo de la descripción
El presente documento se refiere a una tecnología de codificación de imágenes y, más específicamente, a un procedimiento y a un aparato para llevar a cabo la interpredicción basándose en un refinamiento de vector de movimiento del lado del decodificador (DMVR, por sus siglas en inglés).
Técnica relacionada
La demanda de imágenes y vídeo de alta resolución y alta calidad como, por ejemplo, una imagen de definición ultra alta (UHD, por sus siglas en inglés) y vídeo de 4K u 8K o más, está aumentando recientemente en diversos campos. A medida que los datos de imagen y vídeo se vuelven de alta resolución y alta calidad, la cantidad de información o el número de bits que se transmite relativamente aumenta en comparación con los datos de imagen y vídeo existentes. Por consiguiente, si los datos de imagen se transmiten usando un medio como, por ejemplo, la línea de banda ancha cableada o inalámbrica existente, o los datos de imagen y vídeo se almacenan usando el medio de almacenamiento existente, los costes de transmisión y los costes de almacenamiento se incrementan.
Además, los intereses y las demandas de medios inmersivos como, por ejemplo, realidad virtual (VR, por sus siglas en inglés), contenido de realidad artificial (AR, por sus siglas en inglés) o un holograma, están aumentando recientemente. La difusión de una imagen y vídeo que tienen características de imagen diferentes de las de las imágenes reales como, por ejemplo, imágenes de juegos, está aumentando.
Por consiguiente, existe la necesidad de una tecnología de compresión de imagen y vídeo de alta eficiencia para comprimir y transmitir o almacenar y reproducir de manera efectiva información de imágenes y vídeo de alta resolución y alta calidad que tengan tales diversas características. El documento WO2020/098643 se refiere a un método de procesamiento de vídeo que incluye determinar, para una conversión entre un bloque actual de un vídeo codificado usando una técnica de codificación de inter e intrapredicción combinadas (CIIP, por sus siglas en inglés) y una representación de flujo de bits del vídeo, un modo de intrapredicción del bloque actual independientemente de un modo de intrapredicción de un bloque vecino. El documento WO2020/163837 se refiere a métodos para aplicar selectivamente un flujo óptico bidireccional (BDOF, por sus siglas en inglés) y un refinamiento de vector de movimiento del lado del decodificador (DMVR) en bloques codificados intermodo empleados en estándares de codificación de vídeo como, por ejemplo, el diseño de codificación de vídeo versátil (VVC, por sus siglas en inglés) actual, se llevan a cabo en un dispositivo informático. El documento de CHEN J Y OTROS:"Algorithm description for Versatile Video Coding and Test Model 4 (VTM 4)",13. Reunión de JVET; 20190109 - 20190118; MARRAKECH;(THE JOINT VIDEO EXPLORATION TEAM OFISO/IEC JTC1/SC29/WG11EITU-T SG.16),n.2 JVET-M1002 16 de febrero de 2019 (16-02-2019) describen DMVR, BDOF y CIIP.
Compendio
Esta descripción provee un método y un aparato para aumentar la eficiencia de codificación de imágenes.
Esta descripción también provee un método y un aparato para una interpredicción eficiente.
Esta descripción también provee un método y un aparato para llevar a cabo una interpredicción basada en un refinamiento de vector de movimiento del lado del decodificador (DMVR).
Esta descripción también provee un método y un aparato para llevar a cabo una interpredicción basada en un flujo óptico bidireccional (BDOF).
Esta descripción también provee un método y un aparato para mejorar el rendimiento de predicción mediante la provisión de una condición para determinar si aplicar un DMVR para mejorar la eficiencia de codificación de imágenes y/o una condición para determinar si aplicar un BDOF.
Según un aspecto, se provee un método de decodificación de imágenes según la reivindicación 1.
Según otro aspecto, se provee un método de codificación de imágenes según la reivindicación 5. Se proveen aspectos adicionales según las reivindicaciones 6 y 7.
Según esta descripción, se puede aumentar la eficiencia de compresión de imagen/vídeo general.
Según esta descripción, la complejidad del cálculo puede reducirse y la eficiencia de codificación general puede mejorarse a través de una interpredicción eficiente.
Según esta descripción, se proponen diversas condiciones de aplicación en la aplicación de un DMVR y/o BDOF de refinamiento de información de movimiento durante un proceso de compensación de movimiento para mejorar la eficiencia en términos de complejidad y rendimiento.
Breve descripción de los dibujos
La FIG. 1 ilustra esquemáticamente un ejemplo de un sistema de codificación de vídeo/imagen que es aplicable a realizaciones de esta descripción.
La FIG. 2 es un diagrama que explica esquemáticamente la configuración de un aparato de codificación de vídeo/imagen que es aplicable a realizaciones de este documento.
La FIG. 3 es un diagrama que explica esquemáticamente la configuración de un aparato de decodificación de vídeo/imagen que es aplicable a realizaciones de este documento.
La FIG. 4 es un diagrama que explica una realización de un proceso de realización de refinamiento de vector de movimiento del lado del decodificador (DMVR) en una bipredicción verdadera.
La FIG. 5 es un diagrama que explica una realización de un proceso de realización de refinamiento de vector de movimiento del lado del decodificador (DMVR) usando una suma de diferencias absolutas (SAD, por sus siglas en inglés).
La FIG. 6 ilustra un ejemplo de representación de un método para llevar a cabo un proceso de decodificación a través de la comprobación de las condiciones de aplicación de DMVR y BDOF.
Las FIGS. 7 y 8 ilustran otro ejemplo de representación de un método para llevar a cabo un proceso de decodificación a través de la comprobación de las condiciones de aplicación de DMVR y BDOF.
La FIG. 9 es un diagrama de flujo que ilustra esquemáticamente un método de codificación que puede ser llevado a cabo por un aparato de codificación según una realización de esta descripción.
La FIG. 10 es un diagrama de flujo que ilustra esquemáticamente un método de decodificación que puede ser llevado a cabo por un aparato de decodificación según una realización de esta descripción.
La FIG. 11 ilustra un ejemplo de un sistema de transmisión continua de contenido al que son aplicables las realizaciones descritas en esta descripción.
Descripción de realizaciones a modo de ejemplo
Este documento puede modificarse de diversas maneras y puede tener diversas realizaciones, y las realizaciones específicas se ilustrarán en los dibujos y se describirán en detalle. Una expresión del número singular incluye expresiones plurales a menos que se exprese evidentemente lo contrario en el contexto. Un término como, por ejemplo, "incluir" o "tener" en esta memoria descriptiva, debe entenderse que indica la existencia de una característica, número, etapa, operación, elemento, parte o una combinación de los mismos descritos en la memoria descriptiva y no excluye la existencia o la posibilidad de la adición de una o más características, números, etapas, operaciones, elementos, partes o una combinación de los mismos.
Mientras tanto, los elementos en los dibujos descritos en este documento se ilustran independientemente en aras de la conveniencia de la descripción relacionada con diferentes funciones características. Esto no significa que cada uno de los elementos se implemente como hardware separado o software separado. Por ejemplo, al menos dos de los elementos pueden combinarse para formar un único elemento, o un único elemento puede dividirse en múltiples elementos. Una realización en la que los elementos se combinan y/o separan también se incluye en el alcance de los derechos de este documento a menos que se desvíe de la esencia de este documento.
A continuación, se describen realizaciones preferidas de este documento más específicamente con referencia a los dibujos anexos. En lo sucesivo, en los dibujos, se usa el mismo numeral de referencia en el mismo elemento, y se puede omitir una descripción redundante del mismo elemento.
Este documento se refiere a la codificación de vídeo/imagen. Por ejemplo, los métodos/realizaciones descritos en este documento pueden aplicarse a un método descrito en la codificación de vídeo versátil (VVC), la norma EVC (codificación de vídeo esencial, EVC, por sus siglas en inglés), la norma AOMedia Vídeo 1 (AV1, por sus siglas en inglés), la norma de codificación de vídeo de audio de 2.a generación (AVS2, por sus siglas en inglés) o la norma de codificación de vídeo/imagen de próxima generación (p. ej., H.267 o H.268, etc.).
Este documento presenta diversas realizaciones de codificación de vídeo/imagen, y las realizaciones pueden llevarse a cabo en combinación entre sí a menos que se describa lo contrario.
En este documento, el vídeo puede referirse a una serie de imágenes a lo largo del tiempo. La imagen se refiere, en general, a una unidad que representa una imagen en una zona horaria específica, y un segmento/mosaico es una unidad que constituye parte de una imagen en codificación. El segmento/mosaico puede incluir una o más unidades de árbol de codificación (CTU, por sus siglas en inglés). Una imagen puede consistir en uno o más segmentos/mosaicos. Una imagen puede consistir en uno o más grupos de mosaicos. Un grupo de mosaicos puede incluir uno o más mosaicos. Un ladrillo puede representar una región rectangular de filas de CTU dentro de un mosaico en una imagen. Un mosaico puede dividirse en múltiples ladrillos, cada uno de los cuales consiste en una o más filas de CTU dentro del mosaico. Un mosaico que no está dividido en múltiples ladrillos también puede denominarse ladrillo. Un escaneo de ladrillos es un ordenamiento secuencial específico de CTU que dividen una imagen en la que las CTU se ordenan consecutivamente en un escaneo de trama de CTU en un ladrillo, los ladrillos dentro de un mosaico se ordenan consecutivamente en un escaneo de trama de los ladrillos del mosaico, y los mosaicos en una imagen se ordenan consecutivamente en un escaneo de trama de los mosaicos de la imagen. Un mosaico es una región rectangular de CTU dentro de una columna de mosaicos particular y una fila de mosaicos particular en una imagen. La columna de mosaicos es una región rectangular de CTU que tiene una altura igual a la altura de la imagen y un ancho especificado por los elementos sintácticos en el conjunto de parámetros de imagen. La fila de mosaicos es una región rectangular de CTU que tiene una altura especificada por elementos sintácticos en el conjunto de parámetros de imagen y un ancho igual al ancho de la imagen. Un escaneo de mosaicos es un ordenamiento secuencial específico de CTU que dividen una imagen en la que las CTU se ordenan consecutivamente en un escaneo de trama de CTU en un mosaico, mientras que los mosaicos en una imagen se ordenan consecutivamente en un escaneo de trama de los mosaicos de la imagen. Un segmento incluye un número entero de ladrillos de una imagen que puede estar contenida exclusivamente en una única unidad NAL. Un segmento puede estar compuesto o bien de un cierto número de mosaicos completos o bien solamente por una secuencia consecutiva de ladrillos completos de un mosaico. Los grupos de mosaicos y segmentos se pueden usar indistintamente en este documento. Por ejemplo, en este documento, un grupo de mosaicos/encabezado de grupo de mosaicos puede denominarse segmento/encabezado de segmento.
Un píxel o un pel puede significar la unidad más pequeña que constituye una imagen. Asimismo, '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 píxel/valor de píxel de un componente de luma o solo un píxel/valor de píxel de un componente de croma.
Una unidad puede representar una unidad básica de procesamiento de imágenes. La unidad puede incluir al menos una de una región específica de la imagen e información relacionada con la región. Una unidad puede incluir un bloque de luma y dos bloques de croma (p. ej., cb, cr). La unidad puede usarse indistintamente con términos como, por ejemplo, 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.
En este documento, debe interpretarse que los términos "/" y "," indican "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". Asimismo, "A, B, C" puede significar "al menos uno de A, B y/o C".
Además, en el documento, debe interpretarse que el término "o" indica "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, debe interpretarse que el término "o" en este documento indica "de manera adicional o alternativa".
La FIG. 1 ilustra esquemáticamente un ejemplo de un sistema de codificación de vídeo/imagen al que se pueden aplicar realizaciones de este documento.
Con referencia a la FIG. 1, un sistema de codificación de vídeo/imagen puede incluir un primer dispositivo (dispositivo de origen) y un segundo dispositivo (dispositivo de recepción). El dispositivo de origen puede entregar información o datos de vídeo/imagen codificados en forma de un archivo o transmisión continua al dispositivo receptor a través de un medio o red de almacenamiento digital.
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.
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 vídeo/imagen puede incluir, por ejemplo, una o más cámaras, archivos de vídeo/imagen que incluyen vídeo/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 vídeo/imagen puede ser sustituido por un proceso de generación de datos relacionados.
El aparato de codificación puede codificar vídeo/imagen de entrada. El aparato de codificación puede llevar a cabo una serie de procedimientos como, por ejemplo, predicción, transformada y cuantificación para la eficiencia de compresión y codificación. Los datos codificados (información de vídeo/imagen codificada) pueden emitirse en forma de un flujo de bits.
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 transmisión continua. El medio de almacenamiento digital puede incluir diversos medios de almacenamiento como, por ejemplo, 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.
El aparato de decodificación puede decodificar el vídeo/imagen llevando a cabo una serie de procedimientos como, por ejemplo, descuantificación, transformada inversa y predicción correspondientes al funcionamiento del aparato de codificación.
El renderizador puede renderizar el vídeo/imagen decodificada. El vídeo/imagen renderizada puede mostrarse a través de la pantalla.
La FIG. 2 es un diagrama esquemático que ilustra una configuración de un aparato de codificación de vídeo/imagen al que se puede(n) aplicar la(s) realización(es) del presente documento. En lo sucesivo, el aparato de codificación de vídeo puede incluir un aparato de codificación de imágenes.
Con referencia a la FIG. 2, el aparato 200 de codificación incluye un particionador 210 de imágenes, un predictor 220, un procesador 230 residual y 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 pueden configurarse mediante al menos un componente de hardware (p. ej., un conjunto de chips o procesador de codificador) según una realización. Además, la memoria 270 puede incluir una memoria intermedia de imágenes decodificadas (DPB, por sus siglas en inglés) o puede configurarse mediante un medio de almacenamiento digital. El componente de hardware puede incluir además la memoria 270 como un componente interno/externo.
El particionador 210 de imágenes puede dividir una imagen (o un fotograma) de entrada introducida al aparato 200 de codificación en uno o más procesadores. Por ejemplo, el procesador puede denominarse unidad de codificación (CU, por sus siglas en inglés). En este caso, la unidad de codificación puede dividirse recursivamente según una estructura de árbol cuaternario árbol binario árbol ternario (QTBTTT, por sus siglas en inglés) a partir de una unidad de árbol de codificación (CTU) o una unidad de codificación más grande (LCU, por sus siglas en inglés). Por ejemplo, una unidad de codificación puede dividirse en múltiples unidades de codificación de una profundidad más profunda basándose en una estructura de árbol cuaternario, una estructura de árbol binario y/o una estructura ternaria. En este caso, por ejemplo, la estructura de árbol cuaternario puede aplicarse primero y la estructura de árbol binario y/o la estructura ternaria pueden aplicarse más tarde. Alternativamente, la estructura de árbol binario puede aplicarse primero. El procedimiento de codificación según este documento puede llevarse a cabo basándose en la unidad de codificación final que ya no está dividida. En este caso, la unidad de codificación más grande puede usarse como la unidad de codificación final basándose en la eficiencia de codificación según las características de imagen o, si fuera necesario, la unidad de codificación puede dividirse recursivamente en unidades de codificación de profundidad más profunda y 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 de predicción, transformada y reconstrucción, que se describirá más adelante. Como otro ejemplo, el procesador puede incluir además una unidad de predicción (PU, por sus siglas en inglés) o una unidad de transformada (TU, por sus siglas en inglés). En este caso, la unidad de predicción y la unidad de transformada pueden dividirse o dividirse a partir de la unidad de codificación final descrita anteriormente. La unidad de predicción puede ser una unidad de predicción de muestras, y la unidad de transformada puede ser una unidad para derivar un coeficiente de transformada y/o una unidad para derivar una señal residual del coeficiente de transformada.
La unidad puede usarse indistintamente con términos como, por ejemplo, bloque o área en algunos casos. En un caso general, un bloque MxN puede representar un conjunto de muestras o coeficientes de transformada compuestos de M columnas y N filas. Una muestra puede representar generalmente un píxel o un valor de un píxel, puede representar solo un píxel/valor de píxel de un componente de luma o representar solo un píxel/valor de píxel de un componente de croma. Una muestra puede usarse como un término correspondiente a una imagen para un píxel o un pel.
En el aparato 200 de codificación, una señal de predicción (bloque predicho, matriz de muestras de predicción) emitida desde el interpredictor 221 o el intrapredictor 222 se resta de una señal de imagen de entrada (bloque original, matriz de muestras originales) para generar un una señal residual (bloque residual, matriz de muestras residuales), y la señal residual generada se transmite al transformador 232. En este caso, como se muestra, una unidad para restar una señal de predicción (bloque predicho, matriz de muestras de predicción) de la señal de imagen de entrada (bloque original, matriz de muestras originales) en el codificador 200 puede denominarse restador 231. El predictor puede llevar a cabo la predicción en un bloque a procesar (en lo sucesivo, denominado bloque actual) y generar un bloque predicho que incluye muestras de predicción para el bloque actual. El predictor puede determinar si la intrapredicción o la interpredicción se aplican en un bloque actual o la CU. Como se describe más adelante en la descripción de cada modo de predicción, el predictor puede generar varios tipos de información relacionada con la predicción como, por ejemplo, información del modo de predicción, y transmitir la información generada al codificador 240 de entropía. La información sobre la predicción puede codificarse en el codificador 240 de entropía y emitirse en forma de un flujo de bits.
El intrapredictor 222 puede predecir el bloque actual haciendo referencia a las muestras en la imagen actual. Las muestras referenciadas pueden estar ubicadas en las proximidades del bloque actual o pueden estar ubicadas separadas según el modo de predicción. En la intrapredicción, los modos de predicción pueden incluir múltiples modos no direccionales y múltiples modos direccionales. El modo no direccional puede incluir, por ejemplo, un modo DC y un modo planar. El modo direccional puede incluir, por ejemplo, 33 modos de predicción direccional o 65 modos de predicción direccional según el grado de detalle de la dirección de predicción. Sin embargo, esto es meramente un ejemplo, se pueden usar más o menos modos de predicción direccionales dependiendo de la configuración. El intrapredictor 222 puede determinar el modo de predicción aplicado al bloque actual usando un modo de predicción aplicado a un bloque vecino.
El interpredictor 221 puede derivar un bloque predicho para el bloque actual basándose en un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia. En este caso, con el fin de reducir la cantidad de información de movimiento transmitida en el modo de interpredicción, la información de movimiento puede predecirse en unidades de bloques, subbloques o muestras basándose en la correlación de información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de movimiento y un índice de imágenes 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, bipredicción, etc.). En el caso de la interpredicción, el bloque vecino puede incluir un bloque vecino espacial presente en la imagen actual y un bloque vecino temporal presente en la imagen de referencia. La imagen de referencia que incluye el bloque de referencia y la imagen de referencia que incluye el bloque vecino temporal pueden ser iguales o diferentes. El bloque vecino temporal puede denominarse bloque de referencia co-localizado, una CU co-localizada (colCU, por sus siglas en inglés) y similares, y la imagen de referencia que incluye el bloque vecino temporal puede denominarse imagen co-localizada (colPic, por sus siglas en inglés). Por ejemplo, el interpredictor 221 puede configurar una lista de candidatos de información de movimiento basándose en bloques vecinos y generar información que indica qué candidato se usa para derivar un vector de movimiento y/o un índice de imágenes de referencia del bloque actual. La interpredicción puede llevarse a cabo basándose en diversos modos de predicción. Por ejemplo, en el caso de un modo de salto y un modo de fusión, el interpredictor 221 puede usar información de movimiento del bloque vecino como información de movimiento del bloque actual. En el modo de salto, a diferencia del modo de fusión, la señal residual puede no transmitirse. En el caso del modo de predicción de vector de movimiento (MVP, por sus siglas en inglés), el vector de movimiento del bloque vecino puede usarse como un predictor de vector de movimiento y el vector de movimiento del bloque actual puede indicarse señalando una diferencia de vector de movimiento.
El predictor 220 puede generar una señal de predicción basándose en diversos métodos de predicción descritos a continuación. Por ejemplo, el predictor puede no solo aplicar intrapredicción o interpredicción para predecir un bloque, sino también aplicar simultáneamente tanto intrapredicción como interpredicción. Esto puede denominarse inter e intrapredicción combinadas (CIIP). Además, el predictor puede basarse en un modo de predicción de copia intrabloque (IBC, por sus siglas en inglés) o un modo de paleta para la predicción de 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, por ejemplo, la codificación de contenido de pantalla (SCC, por sus siglas en inglés). La IBC lleva a cabo básicamente la predicción en la imagen actual, pero puede llevarse a cabo de manera similar a la interpredicción en la que se deriva un bloque de referencia en la imagen actual. Es decir, la IBC puede usar al menos una de las técnicas de interpredicción descritas en este 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 dentro de una imagen puede señalizarse basándose en información sobre la tabla de paleta y el índice de paleta.
La señal de predicción generada por el predictor (incluidos el interpredictor 221 y/o el intrapredictor 222) puede usarse para generar una señal reconstruida o para generar una señal residual. El transformador 232 puede generar coeficientes de transformada aplicando una 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, por sus siglas en inglés), una transformada de seno discreta (DST, por sus siglas en inglés), una transformada de karhunen-loeve (KLT, por sus siglas en inglés), una transformada basada en gráficos (GBT, por sus siglas en inglés) o una transformada condicionalmente no lineal (CNT, por sus siglas en inglés). En este caso, la GBT significa transformada obtenida de un gráfico cuando la información de relación entre píxeles se representa por el gráfico. La CNT se refiere a la transformada generada en base a una señal de predicción generada usando todos los píxeles reconstruidos previamente. Además, el proceso de transformada puede aplicarse a bloques de píxeles cuadrados que tienen el mismo tamaño o puede aplicarse a bloques que tienen un tamaño variable en lugar de cuadrado.
El cuantificador 233 puede cuantificar los coeficientes de transformada y transmitirlos 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) y emitir un flujo de bits. La información sobre los coeficientes de transformada cuantificados puede denominarse información residual. El cuantificador 233 puede reorganizar los coeficientes de transformada cuantificados tipo bloque en una forma de vector unidimensional basándose en un orden de escaneo de coeficientes y generar información sobre los coeficientes de transformada cuantificados basándose en los coeficientes de transformada cuantificados en la forma de vector unidimensional. Puede generarse información sobre coeficientes de transformada. El codificador 240 de entropía puede llevar a cabo diversos métodos de codificación como, por ejemplo, Golomb exponencial, codificación de longitud variable adaptativa al contexto (CAVLC, por sus siglas en inglés), codificación aritmética binaria adaptativa al contexto (CABAC, por sus siglas en inglés) y similares. El codificador 240 de entropía puede codificar la información necesaria para la reconstrucción de vídeo/imagen distinta de los coeficientes de transformada cuantificados (p. ej., valores de elementos sintácticos, etc.) juntos o por separado. La información codificada (p. ej., información de vídeo/imagen codificada) puede transmitirse o almacenarse en unidades de NAL (capa de abstracción de red, NAL, por sus siglas en inglés) en forma de un flujo de bits. La información de vídeo/imagen puede incluir además información sobre diversos conjuntos de parámetros como, por ejemplo, un conjunto de parámetros de adaptación (APS, por sus siglas en inglés), un conjunto de parámetros de imagen (PPS, por sus siglas en inglés), un conjunto de parámetros de secuencia (SPS, por sus siglas en inglés) o un conjunto de parámetros de vídeo (VPS, por sus siglas en inglés). Además, la información de vídeo/imagen puede incluir además información de restricción general. En este documento, la información y/o los elementos sintácticos transmitidos/señalizados del aparato de codificación al aparato de decodificación pueden incluirse en la información de vídeo/imagen. La información de vídeo/imagen puede codificarse a través del procedimiento de codificación descrito anteriormente e incluirse en el flujo de bits. El flujo de bits puede transmitirse a través de una red o puede almacenarse en un medio de almacenamiento digital. La red puede incluir una red de radiodifusión y/o una red de comunicación, y el medio de almacenamiento digital puede incluir diversos medios de almacenamiento como, por ejemplo, USB, SD, CD, DVD, Blu-ray, HDD, SSD y similares. Un transmisor (no se muestra) que transmite una señal emitida desde el codificador 240 de entropía y/o una unidad de almacenamiento (no se muestra) que almacena la señal puede incluirse como elemento interno/externo del aparato 200 de codificación y, alternativamente, el transmisor puede incluirse en el codificador 240 de entropía.
Los coeficientes de transformada cuantificados emitidos desde el cuantificador 233 pueden usarse para generar una señal de predicción. Por ejemplo, la señal residual (bloque residual o muestras residuales) puede reconstruirse aplicando descuantificación y transformada inversa a los coeficientes de transformada cuantificados a través del descuantificador 234 y el transformador 235 inverso. El sumador 250 suma la señal residual reconstruida a la señal de predicción emitida desde el interpredictor 221 o el intrapredictor 222 para generar una señal reconstruida (imagen reconstruida, bloque reconstruido, matriz de muestras reconstruidas). Si no hay ningún residuo para el bloque que va a procesarse como, por ejemplo, un caso donde se aplica el modo de salto, 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 de un siguiente bloque que va a procesarse en la imagen actual y puede usarse para la interpredicción de una imagen siguiente a través del filtrado como se describe a continuación.
Mientras tanto, el mapeo de luma con escalado de croma (LMCS, por sus siglas en inglés) puede aplicarse durante la codificación y/o reconstrucción de imágenes.
El filtro 260 puede mejorar la calidad de imagen subjetiva/objetiva aplicando filtrado a la señal reconstruida. Por ejemplo, el filtro 260 puede generar una imagen reconstruida modificada aplicando diversos métodos de filtrado a la imagen reconstruida y almacenar la imagen reconstruida modificada en la memoria 270, específicamente, una DPB de la memoria 270. Los diversos métodos de filtrado pueden incluir, por ejemplo, filtrado de desbloqueo, un desplazamiento adaptativo de muestra, un filtro de bucle adaptativo, un filtro bilateral y similares. El filtro 260 puede generar diversos tipos de información relacionada con el filtrado y transmitir 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 y emitida en forma de un flujo de bits.
La imagen reconstruida modificada transmitida a la memoria 270 puede usarse como la imagen de referencia en el interpredictor 221. Cuando la interpredicción se aplica a través del aparato de codificación, puede evitarse el desajuste de predicción entre el aparato 200 de codificación y el aparato de decodificación y puede mejorarse la eficiencia de codificación.
El DPB de la memoria 270 puede almacenar la imagen reconstruida modificada para su uso como una imagen de referencia en el interpredictor 221. La memoria 270 puede almacenar la información de movimiento del bloque del que se deriva (o codifica) la información de movimiento en la imagen actual y/o la información de movimiento de los bloques en la imagen que ya se han reconstruido. La información de movimiento almacenada puede transmitirse al interpredictor 221 y usarse como la información de movimiento del bloque vecino espacial o la información de movimiento del bloque vecino temporal. La memoria 270 puede almacenar muestras reconstruidas de bloques reconstruidos en la imagen actual y puede transferir las muestras reconstruidas al intrapredictor 222.
La FIG. 3 es un diagrama esquemático que ilustra una configuración de un aparato de decodificación de vídeo/imagen al que se puede(n) aplicar la(s) realización(es) del presente documento.
Con referencia a la FIG. 3, el aparato 300 de decodificación puede incluir un decodificador 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 321 inverso. El decodificador 310 de entropía, el procesador 320 residual, el predictor 330, el sumador 340 y el filtro 350 pueden configurarse mediante un componente de hardware (p. ej., un conjunto de chips de decodificador o un procesador) según una realización. Además, la memoria 360 puede incluir una memoria intermedia de imágenes decodificadas (DPB) o puede configurarse mediante un medio de almacenamiento digital. El componente de hardware puede incluir además la memoria 360 como un componente interno/externo.
Cuando se introduce un flujo de bits que incluye información de vídeo/imagen, el aparato 300 de decodificación puede reconstruir una imagen correspondiente a un proceso en el que la información de vídeo/imagen se procesa en el aparato de codificación de la FIG. 2. Por ejemplo, el aparato 300 de decodificación puede derivar unidades/bloques basándose en información relacionada con la partición de bloques obtenida a partir del flujo de bits. El aparato 300 de decodificación puede llevar a cabo una decodificación usando un procesador aplicado en el aparato de codificación. Por lo tanto, el procesador de decodificación puede ser una unidad de codificación, por ejemplo, y la unidad de codificación puede dividirse según una estructura de árbol cuaternario, una estructura de árbol binario y/o una estructura de árbol ternario de la unidad de árbol de codificación o la unidad de codificación más grande. Una o más unidades de transformada pueden derivarse de la unidad de codificación. La señal de imagen reconstruida decodificada y emitida a través del aparato 300 de decodificación puede reproducirse a través de un aparato de reproducción.
El aparato 300 de decodificación puede recibir una señal emitida desde el aparato de codificación de la FIG. 2 en forma de un flujo de bits, y la señal recibida puede decodificarse a través del decodificador 310 de entropía. Por ejemplo, el decodificador 310 de entropía puede analizar el flujo de bits para obtener información (p. ej., información de vídeo/imagen) necesaria para la reconstrucción de imágenes. La información de vídeo/imagen puede incluir además información sobre diversos conjuntos de parámetros como, por ejemplo, un conjunto de parámetros de adaptación (APS), un conjunto de parámetros de imagen (PPS), un conjunto de parámetros de secuencia (SPS) o un conjunto de parámetros de vídeo (VPS). Además, la información de vídeo/imagen puede incluir además información de restricción general. El aparato de decodificación puede decodificar además la imagen 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 descritos más adelante en este documento pueden decodificarse y obtenerse a partir del flujo de bits. Por ejemplo, el decodificador 310 de entropía decodifica la información en el flujo de bits basándose en un método de codificación como, por ejemplo, la codificación de Golomb exponencial, CAVLC o CABAC, y emite elementos sintácticos requeridos para la reconstrucción de imágenes y valores cuantificados de coeficientes de transformada para el residuo. Más específicamente, el método de decodificación de entropía CABAC puede recibir un bin correspondiente a cada elemento sintáctico en el flujo de bits, determinar un modelo de contexto usando una información de elemento sintáctico objetivo de decodificación, decodificar información de un bloque objetivo de decodificación o información de un símbolo/bin decodificado en una etapa anterior, y llevar a cabo una decodificación aritmética en el bin prediciendo una probabilidad de aparición de un bin según el modelo de contexto determinado, y generar un símbolo correspondiente al valor de cada elemento sintáctico. En este caso, el método de decodificación de entropía CABAC puede actualizar el modelo de contexto usando la información del símbolo/bin decodificado para un modelo de contexto de un siguiente símbolo/bin después de determinar el modelo de contexto. La información relacionada con la predicción entre la información decodificada por el decodificador 310 de entropía puede proveerse al predictor (al interpredictor 332 y al intrapredictor 331), y el valor residual en el que se llevó a cabo la decodificación de entropía en el decodificador 310 de entropía, es decir, los coeficientes de transformada cuantificados y la información de parámetros relacionada, puede introducirse en el procesador 320 residual. El procesador 320 residual puede derivar la señal residual (el bloque residual, las muestras residuales, la matriz de muestras residuales). Además, la información sobre el filtrado entre la información decodificada por el decodificador 310 de entropía puede proveerse al filtro 350. Mientras tanto, un receptor (no se muestra) para recibir una señal emitida desde el aparato de codificación puede configurarse además como un elemento interno/externo del aparato 300 de decodificación, o el receptor puede ser un componente del decodificador 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, y el aparato de decodificación puede clasificarse en un decodificador de información (decodificador de información de vídeo/imagen) y un decodificador de muestra (decodificador de muestra de vídeo/imagen). 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.
El descuantificador 321 puede descuantificar los coeficientes de transformada cuantificados y emitir los coeficientes de transformada. El descuantificador 321 puede reorganizar los coeficientes de transformada cuantificados en forma de una forma de bloque bidimensional. En este caso, la reorganización puede llevarse a cabo basándose en el orden de escaneo de coeficientes llevado a cabo en el aparato de codificación. El descuantificador 321 puede llevar a cabo la descuantificación en los coeficientes de transformada cuantificados usando un parámetro de cuantificación (p. ej., información de tamaño de etapa de cuantificación) y obtener coeficientes de transformada.
El transformador 322 inverso transforma inversamente los coeficientes de transformada para obtener una señal residual (bloque residual, matriz de muestras residuales).
El predictor puede llevar a cabo la predicción en el bloque actual y generar un bloque predicho que incluye muestras de predicción para el bloque actual. El predictor puede determinar si se aplica intrapredicción o interpredicción al bloque actual basándose en la información sobre la predicción emitida desde el decodificador 310 de entropía y puede determinar un modo de intrapredicción/interpredicción específico.
El predictor 320 puede generar una señal de predicción basándose en diversos métodos de predicción descritos a continuación. Por ejemplo, el predictor puede no solo aplicar intrapredicción o interpredicción para predecir un bloque, sino también aplicar simultáneamente intrapredicción e interpredicción. Esto puede denominarse inter e intrapredicción combinadas (CIIP). Además, el predictor puede basarse en un modo de predicción de copia intrabloque (IBC) o un modo de paleta para la predicción de 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, por ejemplo, la codificación de contenido de pantalla (SCC). La IBC lleva a cabo básicamente la predicción en la imagen actual, pero puede llevarse a cabo de manera similar a la interpredicción en la que se deriva un bloque de referencia en la imagen actual. Es decir, la IBC puede usar al menos una de las técnicas de interpredicción descritas en este 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 dentro de una imagen puede señalizarse basándose en información sobre la tabla de paleta y el índice de paleta.
El intrapredictor 331 puede predecir el bloque actual haciendo referencia a las muestras en la imagen actual. Las muestras referenciadas pueden estar ubicadas en las proximidades del bloque actual o pueden estar ubicadas separadas según el modo de predicción. En la intrapredicción, los modos de predicción pueden incluir múltiples modos no direccionales y múltiples modos direccionales. El intrapredictor 331 puede determinar el modo de predicción aplicado al bloque actual usando el modo de predicción aplicado al bloque vecino.
El interpredictor 332 puede derivar un bloque predicho para el bloque actual basándose en un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia. En este caso, para reducir la cantidad de información de movimiento transmitida en el modo de interpredicción, la información de movimiento puede predecirse en unidades de bloques, subbloques o muestras basándose en la correlación de información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de movimiento y un índice de imágenes 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, bipredicción, etc.). En el caso de la interpredicción, el bloque vecino puede incluir un bloque vecino espacial presente en la imagen actual y un bloque vecino temporal presente en la imagen de referencia. Por ejemplo, el interpredictor 332 puede configurar una lista de candidatos de información de movimiento basándose en bloques vecinos y derivar un vector de movimiento del bloque actual y/o un índice de imágenes de referencia basándose en la información de selección de candidatos recibida. La interpredicción puede llevarse a cabo basándose en diversos modos de predicción, y la información sobre la predicción puede incluir información que indica un modo de interpredicción para el bloque actual.
El sumador 340 puede generar una señal reconstruida (imagen reconstruida, bloque reconstruido, matriz de muestras reconstruidas) sumando la señal residual obtenida a la señal de predicción (bloque predicho, matriz de muestras predicha) emitida desde el predictor (incluidos el interpredictor 332 y/o el intrapredictor 331). Si no hay ningún residuo para el bloque que se va a procesar como, por ejemplo, cuando se aplica el modo de salto, el bloque predicho se puede usar como el bloque reconstruido.
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 en la imagen actual, puede emitirse a través de filtrado como se describe a continuación, o puede usarse para la interpredicción de una siguiente imagen.
Mientras tanto, el mapeo de luma con escalado de croma (LMCS) puede aplicarse en el proceso de decodificación de imágenes.
El filtro 350 puede mejorar la calidad de imagen subjetiva/objetiva aplicando filtrado a la señal reconstruida. Por ejemplo, el filtro 350 puede generar una imagen reconstruida modificada aplicando diversos métodos de filtrado a la imagen reconstruida y almacenar la imagen reconstruida modificada en la memoria 360, específicamente, una DPB de la memoria 360. Los diversos métodos de filtrado pueden incluir, por ejemplo, filtrado de desbloqueo, un desplazamiento adaptativo de muestra, un filtro de bucle adaptativo, un filtro bilateral y similares.
La imagen reconstruida (modificada) almacenada en la DPB de la memoria 360 puede usarse como una imagen de referencia en el interpredictor 332. La memoria 360 puede almacenar la información de movimiento del bloque del que se deriva (o decodifica) la información de movimiento en la imagen actual y/o la información de movimiento de los bloques en la imagen que ya se han reconstruido. La información de movimiento almacenada puede transmitirse al interpredictor 260 para utilizarse como la información de movimiento del bloque vecino espacial o la información de movimiento del bloque vecino temporal. La memoria 360 puede almacenar muestras reconstruidas de bloques reconstruidos en la imagen actual y transferir las muestras reconstruidas al intrapredictor 331.
En la presente descripción, las realizaciones descritas en el filtro 260, el interpredictor 221 y el intrapredictor 222 del aparato 200 de codificación pueden ser iguales a o aplicarse respectivamente para corresponder al filtro 350, al interpredictor 332 y al intrapredictor 331 del aparato 300 de decodificación. Lo mismo puede aplicarse también a la unidad 332 y al intrapredictor 331.
Como se ha descrito anteriormente, al llevar a cabo la codificación de vídeo, se lleva a cabo una predicción para mejorar la eficiencia de compresión. Un bloque predicho que incluye muestras de predicción para un bloque actual, es decir, un bloque de codificación objetivo, puede generarse a través de la predicción. En este caso, el bloque predicho incluye las muestras de predicción en un dominio espacial (o dominio de píxeles). El bloque predicho se deriva de manera idéntica en el aparato de codificación y el aparato de decodificación. El aparato de codificación puede mejorar la eficiencia de codificación de imágenes señalando, al aparato de decodificación, información sobre un residuo (información residual) entre el bloque original, no un valor de muestra original en sí mismo, del bloque original y el bloque predicho. El aparato de decodificación puede derivar un bloque residual que incluye muestras residuales en base a la información residual, puede generar una imagen reconstruida que incluye muestras reconstruidas sumando el bloque residual y el bloque predicho, y puede generar una imagen reconstruida que incluye los bloques reconstruidos.
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 el bloque residual entre el bloque original y el bloque predicho, puede derivar coeficientes de transformada llevando a cabo un procedimiento de transformada en las muestras residuales (matriz de muestras residuales) incluidas en el bloque residual, puede derivar coeficientes de transformada cuantificados llevando a cabo un procedimiento de cuantificación en los coeficientes de transformada, y puede señalizar información residual relacionada al aparato de decodificación (a través de un flujo de bits). En este caso, la información residual puede incluir información como, por ejemplo, información de valor, información de ubicación, esquema de transformada, núcleo de transformada y parámetro de cuantificación de los coeficientes de transformada cuantificados. El aparato de decodificación puede llevar a cabo un procedimiento de descuantificación/transformada inversa en base a la información residual, y puede derivar muestras residuales (o bloque residual). El aparato de decodificación puede generar una imagen reconstruida basándose en el bloque predicho y el bloque residual. Además, el aparato de codificación puede derivar un bloque residual descuantificando/transformando inversamente los coeficientes de transformada cuantificados para referencia a la interpredicción de una imagen posterior, y puede generar una imagen reconstruida.
Mientras tanto, como se describió anteriormente, la intrapredicción o interpredicción puede aplicarse cuando se lleva a cabo la predicción en el bloque actual. En lo sucesivo, se describirá un caso de aplicación de la interpredicción al bloque actual.
El predictor (más específicamente, interpredictor) del aparato de codificación/decodificación puede derivar muestras de predicción llevando a cabo la interpredicción en unidades del bloque. La interpredicción puede representar la predicción derivada por un método dependiente de los elementos de datos (p. ej., valores de muestra o información de movimiento) de una imagen(es) distinta(s) de la imagen actual. Cuando la interpredicción se aplica al bloque actual, un bloque predicho (matriz de muestras de predicción) para el bloque actual puede derivarse basándose en un bloque de referencia (matriz de muestras de referencia) especificado por el vector de movimiento en la imagen de referencia indicada por el índice de imágenes de referencia. En este caso, para reducir una cantidad de información de movimiento transmitida en el modo de interpredicción, la información de movimiento del bloque actual puede predecirse en unidades de un bloque, un subbloque o una muestra basándose en una correlación de la información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir el vector de movimiento y el índice de imágenes de referencia. La información de movimiento puede incluir además información de tipo de interpredicción (predicción L0, predicción L1, bipredicción, etc.). En el caso de aplicar la interpredicción, el bloque vecino puede incluir un bloque vecino espacial que está presente en la imagen actual y un bloque vecino temporal que está presente en la imagen de referencia. Una imagen de referencia que incluye el bloque de referencia y una imagen de referencia que incluye el bloque vecino temporal pueden ser iguales entre sí o diferentes entre sí. El bloque vecino temporal puede denominarse con un nombre como, por ejemplo, un bloque de referencia co-localizado, una CU co-localizada (colCU), etc., y la imagen de referencia que incluye el bloque vecino temporal puede denominarse una imagen co-localizada (colPic). Por ejemplo, una lista de candidatos de información de movimiento puede configurarse basándose en los bloques vecinos del bloque actual y una información de indicador o índice que indica qué candidato se selecciona (usa) puede señalizarse para derivar el vector de movimiento y/o índice de imágenes de referencia del bloque actual. La interpredicción puede llevarse a cabo 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, la información de movimiento del bloque actual puede ser la misma que la información de movimiento del bloque vecino seleccionado. En el caso del modo de salto, la señal residual puede no transmitirse a diferencia del modo de fusión. En el caso de un modo de predicción de vector 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 vector 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.
La información de movimiento puede incluir además información de movimiento L0 y/o información de movimiento L1 según el tipo de interpredicción (predicción L0, predicción L1, bipredicción, etc.). Un vector de movimiento de dirección L0 puede denominarse vector de movimiento L0 o MVL0 y un vector de movimiento de dirección L1 puede denominarse vector de movimiento L1 o MVL1. Una predicción basada en el vector de movimiento L0 puede denominarse predicción L0, una predicción basada en el vector de movimiento L1 puede denominarse predicción L1, y una predicción basada tanto en el vector de movimiento L0 como en el vector de movimiento L1 puede denominarse bipredicción. Aquí, el vector de movimiento L0 puede indicar un vector de movimiento asociado a una lista de imágenes de referencia L0 y el vector de movimiento L1 puede indicar un vector de movimiento asociado a una lista de imágenes de referencia L1. La lista de imágenes de referencia L0 puede incluir imágenes antes de la imagen actual en un orden de salida y la lista de imágenes de referencia L1 puede incluir imágenes posteriores a la imagen actual en el orden de salida, como las imágenes de referencia. Las imágenes anteriores pueden denominarse una imagen directa (referencia) y las imágenes posteriores pueden denominarse una imagen inversa (referencia). La lista de imágenes de referencia L0 puede incluir además las imágenes posteriores a la imagen actual en el orden de salida como las imágenes de referencia. En este caso, las imágenes anteriores pueden indexarse primero en la lista de imágenes de referencia L0 y las imágenes posteriores pueden indexarse a continuación. La lista de imágenes de referencia L1 puede incluir además las imágenes antes de la imagen actual en el orden de salida como las imágenes de referencia. En este caso, las imágenes posteriores pueden indexarse primero en la lista de imágenes de referencia L1 y las imágenes anteriores pueden indexarse a continuación. En este caso, el orden de salida puede corresponder a un orden de recuento de orden de imágenes (POC, por sus siglas en inglés).
Además, se pueden usar varios modos de interpredicción en la aplicación de la interpredicción al bloque actual. Por ejemplo, se pueden usar varios modos que incluyen un modo de fusión, un modo de salto, un modo de predicción de vector de movimiento (MVP), un modo afín, un modo de predicción de vector de movimiento histórica (HMVP, por sus siglas en inglés) y similares. Un modo de refinamiento de vector de movimiento del lado del decodificador (DMVR), un modo de resolución de vector de movimiento adaptativo (AMVR, por sus siglas en inglés), un flujo óptico bidireccional (BDOF), etc., se pueden usar además como un modo auxiliar. El modo afín puede denominarse modo de predicción de movimiento afín. El modo MVP puede denominarse modo de predicción de vector de movimiento avanzada (AMVP, por sus siglas en inglés). En la presente descripción, algunos modos y/o candidatos de información de movimiento derivados por algunos modos pueden incluirse en uno de candidatos relacionados con la información de movimiento de otros modos.
La información de modo de predicción que indica el modo de interpredicción del bloque actual puede señalizarse del aparato de codificación al aparato de decodificación. En este caso, la información de modo de predicción puede incluirse en el flujo de bits y recibirse por el aparato de decodificación. La información de modo de predicción puede incluir información de índice que indica uno de múltiples modos candidatos. Alternativamente, el modo de interpredicción puede indicarse a través de una 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, si aplicar el modo de fusión puede indicarse mediante la señalización de un indicador de fusión cuando no se aplica el modo de salto, y se indica que se aplica el modo MVP o un indicador para la distinción adicional puede señalizarse adicionalmente cuando no se aplica el modo de fusión. El modo afín puede señalizarse como un modo independiente o señalizarse como un modo dependiente del modo de fusión o del modo MVP. Por ejemplo, el modo afín puede incluir un modo de fusión afín y un modo de MVP afín.
Además, la información de movimiento del bloque actual puede usarse en la aplicación de la interpredicción al bloque actual. El dispositivo 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 dispositivo de codificación puede buscar un bloque de referencia similar que tiene una alta correlación en unidades de un píxel fraccionario dentro de un intervalo de búsqueda predeterminado en la imagen de referencia usando un bloque original en una imagen original para el bloque actual y derivar la información de movimiento a través del bloque de referencia buscado. La similitud del bloque puede derivarse en base a una diferencia de valores de muestra basados en fase. Por ejemplo, la similitud del bloque puede calcularse basándose en una suma de diferencias absolutas (SAD) entre el bloque actual (o una plantilla del bloque actual) y el bloque de referencia (o la plantilla del bloque de referencia). En este caso, la información de movimiento puede derivarse basándose en un bloque de referencia que tiene una SAD más pequeña en un área de búsqueda. La información de movimiento derivada puede señalizarse al dispositivo de decodificación según diversos métodos basados en el modo de interpredicción.
Un bloque predicho para el bloque actual puede derivarse en base a la información de movimiento derivada según el modo de interpredicción. El bloque predicho puede incluir muestras de predicción (matriz de muestras de predicción) del bloque actual. Cuando el vector de movimiento (MV, por sus siglas en inglés) del bloque actual indica una unidad de muestra fraccionaria, se puede llevar a cabo un procedimiento de interpolación y las muestras de predicción del bloque actual se pueden derivar en base a muestras de referencia de la unidad de muestra fraccionaria en la imagen de referencia a través del procedimiento de interpolación. Cuando la interpredicción afín se aplica al bloque actual, las muestras de predicción pueden generarse basándose en una muestra/subbloque-unidad MV. Cuando se aplica la bipredicción, las muestras de predicción derivadas a través de una suma ponderada o un promedio ponderado de muestras de predicción derivadas en base a la predicción L0 (es decir, una predicción que usa una imagen de referencia en la lista de imágenes de referencia L0 y MVL0) y las muestras de predicción (según una fase) derivadas en base a la predicción L1 (es decir, una predicción que usa una imagen de referencia en la lista de imágenes de referencia L1 y MVL1) pueden usarse como las muestras de predicción del bloque actual. Cuando se aplica la bipredicción, si la imagen de referencia usada para la predicción L0 y la imagen de referencia usada para la predicción L1 se ubican en diferentes direcciones temporales basándose en la imagen actual (es decir, si la predicción corresponde a la bipredicción y la predicción bidireccional), esto puede denominarse bipredicción verdadera.
Las muestras reconstruidas y las imágenes reconstruidas pueden generarse en base a las muestras de predicción derivadas y, a continuación, el procedimiento como, por ejemplo, el filtrado en bucle, etc., puede llevarse a cabo como se ha descrito anteriormente.
Mientras tanto, dado que el movimiento del bloque actual se predice basándose en el vector de movimiento del bloque vecino sin una diferencia de vector de movimiento (MVD, por sus siglas en inglés) en el modo de salto y/o el modo de fusión, el modo de salto y/o el modo de fusión muestran una limitación en una predicción de movimiento. Para mejorar la limitación del modo de salto y/o del modo de fusión, el vector de movimiento puede refinarse aplicando un modo de refinamiento de vector de movimiento del lado del decodificador (DMVR), un modo de flujo óptico bidireccional (BDOF), etc. Los modos DMVR y BDOF pueden usarse cuando se aplica la bipredicción verdadera al bloque actual.
La FIG. 4 es un diagrama para describir una realización de un proceso de realización de un refinamiento de vector de movimiento del lado del decodificador (DMVR) en una predicción de par verdadera.
El DMVR es un método en el que el decodificador lleva a cabo la predicción de movimiento refinando la información de movimiento del bloque vecino. Cuando se aplica el DMVR, el decodificador puede derivar la información de movimiento refinada a través de la comparación de costes basándose en una plantilla generada usando la información de movimiento del bloque vecino en el modo de fusión/salto. En este caso, la precisión de la predicción de movimiento puede aumentarse y el rendimiento de compresión puede mejorarse sin información de señalización adicional.
En la presente descripción, por conveniencia de la descripción, se describe principalmente el aparato de decodificación, pero el DMVR según la realización de la presente descripción puede llevarse a cabo en el mismo método incluso en el aparato de codificación.
Con referencia a la FIG. 4, el aparato de decodificación puede derivar bloques de predicción (es decir, bloques de referencia) identificados por vectores de movimiento iniciales (o información de movimiento) en la dirección de la lista0 y la lista1 (p. ej., MV0 y MV1) y generar una plantilla (o una plantilla bilateral) por una suma ponderada (p. ej., promediado) de las muestras de predicción derivadas (etapa 1). En este caso, los vectores de movimiento iniciales (MV0 y MV1) pueden representar vectores de movimiento derivados usando la información de movimiento del bloque vecino en el modo de fusión/salto.
Además, el aparato de decodificación puede derivar vectores de movimiento (p. ej., MV0' y MV1') para minimizar una diferencia entre la plantilla y el área de muestra de la imagen de referencia a través de una operación de coincidencia de plantilla (etapa 2). En este caso, el área de muestra puede indicar un área vecina de un bloque de predicción inicial en la imagen de referencia y el área de muestra puede denominarse área vecina, área de referencia, área de búsqueda, intervalo de búsqueda, espacio de búsqueda, etc. La operación de coincidencia de plantilla puede incluir una operación de cálculo de un valor de medición de coste entre la plantilla y el área de muestra de la imagen de referencia. Por ejemplo, la suma de diferencias absolutas (SAD) puede usarse para la medición de costes. Como ejemplo, como una función de coste, se puede usar la SAD normalizada. En este caso, el coste de coincidencia se puede dar como SAD(T - media(T), 2 * P[x] - 2 * media(P[x])). Aquí, T representa la plantilla y P[x] representa el bloque en el área de búsqueda. Además, un vector de movimiento para calcular el coste de plantilla mínimo para cada una de las dos imágenes de referencia puede considerarse como un vector de movimiento actualizado (reemplazando el vector de movimiento inicial). Como se ilustra en la FIG. 8, el aparato de decodificación puede generar un resultado de predicción bilateral final (es decir, un bloque de predicción bilateral final) usando los vectores de movimiento actualizados MV0' y MV1'. Como una realización, puede usarse una iteración múltiple para derivar el vector de movimiento actualizado (o nuevo) para adquirir el resultado de predicción bilateral final.
En una realización, el aparato de decodificación puede llamar a un proceso de DMVR para mejorar la precisión de una predicción de compensación de movimiento inicial (es decir, la predicción de compensación de movimiento a través del modo de fusión/salto convencional). Por ejemplo, el aparato de decodificación puede llevar a cabo el proceso de DMVR cuando el modo de predicción del bloque actual es el modo de fusión o el modo de salto y la bipredicción bilateral en la que las imágenes de referencia bilaterales están ubicadas en direcciones opuestas basándose en la imagen actual en un orden de visualización se aplica al bloque actual.
La FIG. 5 es un diagrama para describir una realización de un proceso de realización de un refinamiento de vector de movimiento del lado del decodificador (DMVR) usando la suma de diferencias absolutas (SAD).
Como se ha descrito anteriormente, el aparato de decodificación puede medir el coste de coincidencia utilizando la SAD en la realización del DMVR. Como una realización, en la FIG. 5, se describirá un método para refinar el vector de movimiento calculando una suma media de diferencia absoluta (MRSAD, por sus siglas en inglés) entre las muestras de predicción en dos imágenes de referencia sin generar la plantilla. En otras palabras, el método de la FIG.
5 muestra una realización de coincidencia bilateral usando la MRSAD.
Con referencia a la FIG. 5, el aparato de decodificación puede derivar un píxel adyacente de un píxel (muestra) indicado por el vector de movimiento de dirección de lista0 (L0) MV0 en la imagen de referencia L0 y derivar un píxel adyacente de un píxel (muestra) indicado por el vector de movimiento de dirección de lista1 (L1) MV1 en la imagen de referencia L1. Además, el aparato de decodificación puede medir el coste de coincidencia calculando la MRSAD entre el bloque de predicción L0 (es decir, el bloque de referencia L0) identificado por el vector de movimiento que indica el píxel adyacente derivado en la imagen de referencia L0 y el bloque de predicción L1 (es decir, el bloque de referencia L1) identificado por el vector de movimiento que indica el píxel adyacente derivado en la imagen de referencia L1. En este caso, el aparato de decodificación puede seleccionar un punto de búsqueda (es decir, un área de búsqueda que tiene la SAD mínima entre el bloque de predicción L0 y el bloque de predicción L1) que tiene un coste mínimo como un par de vectores de movimiento refinados. En otras palabras, el par de vectores de movimiento refinados puede incluir un vector de movimiento L0 refinado que indica una posición de píxel (bloque de predicción L0) que tiene el coste mínimo en la imagen de referencia L0 y un vector de movimiento L1 refinado que indica una posición de píxel (bloque de predicción L1) que tiene el coste mínimo en la imagen de referencia L1.
Como la realización, al calcular el coste de coincidencia, después de establecer el área de búsqueda de la imagen de referencia, se puede llevar a cabo una predicción unilateral usando un filtro de interpolación DCTIF de 8 tomas regular. Además, como ejemplo, puede usarse precisión de 16 bits para el cálculo de la MRSAD y pueden no aplicarse operaciones de recorte y/o redondeo antes del cálculo de la MRSAD considerando una memoria intermedia interna.
Cuando la bipredicción verdadera se aplica al bloque actual como se ha descrito anteriormente, el BDOF puede usarse para refinar una señal de bipredicción. Cuando la bipredicción se aplica al bloque actual, el flujo óptico bidireccional (BDOF) puede usarse para calcular información de movimiento mejorada y generar las muestras de predicción basándose en la información de movimiento calculada. Por ejemplo, el BDOF puede aplicarse a un nivel de subbloque de 4 x 4. En otras palabras, el BDOF puede llevarse a cabo en unidades de 4 x 4 subbloques en el bloque actual. Alternativamente, el BDOF puede aplicarse solo a un componente de luma. Alternativamente, el BDOF puede aplicarse solo a un componente de croma y aplicarse al componente de luma y al componente de croma.
El modo BDOF se basa en un concepto de flujo óptico suponiendo que un movimiento de objeto es suave como se indica por un nombre del modo BDOF. Un refinamiento de movimiento (v<x>, v<y>) se puede calcular minimizando un valor de diferencia entre las muestras de predicción L0 y L1 para cada uno de los 4 x 4 subbloques. Además, el refinamiento de movimiento puede usarse para ajustar los valores de muestra de bipredicción en 4 x 4 subbloques.
Mientras tanto, puede verse que el DMVR y el BDOF como técnicas que llevan a cabo la predicción refinando la información de movimiento (en este caso, la bipredicción verdadera representa un caso de realización de la predicción/compensación de movimiento en una imagen de referencia de la otra dirección basándose en la imagen del bloque actual) al momento de aplicar la bipredicción verdadera es una técnica de refinamiento que tiene un concepto similar en que se supone que el movimiento de un objeto en la imagen se realiza a una velocidad predeterminada y en una dirección predeterminada. Sin embargo, cuando se lleva a cabo la bipredicción verdadera, dado que una condición para aplicar el DMVR y una condición para aplicar el BDOF son diferentes entre sí, debe llevarse a cabo un proceso de comprobación de las condiciones repetidamente múltiples veces para cada técnica. Por lo tanto, la presente descripción propone un método que puede mejorar la eficiencia en términos de complejidad y rendimiento del decodificador mejorando el proceso de comprobación de la condición en la determinación del modo de predicción aplicado al bloque actual.
La Tabla 1 a continuación muestra una condición para aplicar el DMVR durante la bipredicción verdadera convencional. Cuando se satisfacen todas las condiciones enumeradas a continuación, puede aplicarse el DMVR.
Tabla 1
Con referencia a la Tabla 1, 1) si aplicar el DMVR puede determinarse en base a la información de indicador (p. ej., sps_dmvr_enabled_flag) señalizada en una sintaxis de conjunto de parámetros de secuencia (SPS). En este caso, la información de indicador (p. ej., sps_dmvr_enabled_flag) puede representar si está habilitado el DMVR basado en bipredicción verdadera. Por ejemplo, cuando sps_dmvr_enabled_flag es 1 (es decir, cuando el DMVR basado en bipredicción verdadera está habilitado), se puede determinar que se satisface una condición para si el DMVR está habilitado.
2) Si aplicar el DMVR puede determinarse basándose en información de indicador (p. ej., merge_flag) que representa si la interpredicción se lleva a cabo usando el modo de fusión/modo de salto. Por ejemplo, cuando merge_flag es 1 (es decir, cuando la interpredicción se lleva a cabo usando el modo de fusión/modo de salto), puede determinarse que se satisface una condición para si aplicar el modo de fusión/modo de salto.
3) Si aplicar el DMVR puede determinarse en base a la información de indicador (p. ej., mmvd_flag) que representa si la interpredicción se lleva a cabo usando el modo de fusión con el modo de diferencia de vector de movimiento (MMVD, por sus siglas en inglés). Por ejemplo, cuando mmvd_flag es 0 (es decir, cuando no se usa el modo MMVD), puede determinarse que se satisface una condición para si aplicar el modo MMVD.
4) Si aplicar el DMVR puede determinarse en base a si se usa la predicción bilateral (bipredicción). En este caso, la predicción bilateral puede representar una interpredicción llevada a cabo basándose en imágenes de referencia que existen en diferentes direcciones basándose en la imagen actual. Por ejemplo, cuando predFlagL0[0][0] = 1 y predFlagL0[1][1] = 1, se puede determinar que se aplica la predicción bilateral y se puede determinar que se satisface una condición para si llevar a cabo la predicción bilateral.
5) Si aplicar el DMVR puede determinarse en base a si se lleva a cabo la bipredicción verdadera y las distancias entre la imagen actual y las imágenes de referencia bilaterales son las mismas entre sí. En otras palabras, se puede determinar si una distancia entre la imagen actual y una imagen de referencia L0 (es decir, una imagen de referencia en la lista de imágenes de referencia L0) y una distancia entre la imagen actual y una imagen de referencia L1 (es decir, una imagen de referencia en la lista de imágenes de referencia L1) son iguales entre sí. Por ejemplo, cuando DiffPicOrderCnt(currPic, RefPicList0 [refIdxL0]) - DiffPicOrderCnt(currPic, RefPicList1 [ refIdxL1 ] ) = 0, se determina que se lleva a cabo la bipredicción verdadera y las distancias entre la imagen actual y las imágenes de referencia bilaterales son las mismas entre sí para determinar que se satisface una condición para si las distancias de las imágenes de referencia bilaterales son las mismas entre sí.
6) Si aplicar el DMVR puede determinarse en base a si una altura de un bloque actual es mayor que un umbral. Por ejemplo, cuando la altura del bloque actual es igual a o mayor que 8, se puede determinar que se satisface una condición de tamaño (altura) de bloque actual.
7) Si aplicar el DMVR puede determinarse en base a si el tamaño del bloque actual es mayor que el umbral. Por ejemplo, cuando el tamaño del bloque actual, altura * ancho es igual a o mayor que 64, se puede determinar que se satisface la condición de tamaño de bloque actual (altura * ancho).
El aparato de decodificación puede determinar si aplicar el DMVR dependiendo de si se satisfacen las condiciones 1) a 7) de la Tabla 1 anterior. En otras palabras, cuando se satisfacen las condiciones 1) a 7) de la Tabla 1 anterior, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el DMVR y cuando incluso no se satisface ninguna de las condiciones de la Tabla 1 anterior, el aparato de decodificación no aplica el DMVR.
La Tabla 2 a continuación muestra una condición para aplicar el BDOF durante la bipredicción verdadera convencional. Cuando se satisfacen todas las condiciones enumeradas a continuación, puede aplicarse el BDOF.
Tabla 2
Con referencia a la Tabla 2 anterior, 1) si aplicar el BDOF puede determinarse en base a la información de indicador (p. ej., sps_bdof_enabled_flag) señalizada en la sintaxis del conjunto de parámetros de secuencia (SPS). En este caso, la información de indicador (p. ej., sps_dmvr_enabled_flag) puede representar si el BDOF basado en bipredicción verdadera está habilitado. Por ejemplo, cuando sps_bdof_enabled_flag es 1 (es decir, cuando se habilita el BDOF basado en bipredicción verdadera), puede determinarse que se satisface una condición para si se habilita el BDOF.
2) Si aplicar el BDOF puede determinarse en base a si se usa la predicción bilateral. En este caso, la predicción bilateral puede representar una interpredicción llevada a cabo basándose en imágenes de referencia que existen en diferentes direcciones basándose en la imagen actual. Por ejemplo, cuando tanto predFlagL0] como predFlagL1 son 1, puede determinarse que se aplica la predicción bilateral y puede determinarse que se satisface una condición para si llevar a cabo la predicción bilateral.
3) Si aplicar el BDOF puede determinarse en base a si se lleva a cabo la bipredicción verdadera. En otras palabras, se puede determinar si la imagen de referencia L0 (es decir, la imagen de referencia en la lista de imágenes de referencia L0) y la imagen de referencia L1 (es decir, la imagen de referencia en la lista de imágenes de referencia L1) están ubicadas en direcciones temporalmente diferentes en base a la imagen actual. Por ejemplo, cuando DiffPicOrderCnt(currPic refPicList0[refIdxL0]) * DiffPicOrderCnt(currPic, refPicList1 [refIdxL1 ]) es menor que 0, se determina que las imágenes de referencia bilaterales están ubicadas en diferentes direcciones en base a la imagen actual para determinar que se satisface la condición para si se lleva a cabo la vi-predicción verdadera.
4) Si aplicar el BDOF puede determinarse basándose en si se usa el modo afín. En este caso, si se usa el modo afín puede determinarse derivando MotionModelIdc. Por ejemplo, cuando el MotionModelIdc derivado es 0, se puede determinar que el modo afín no se usa y, en este caso, se puede determinar que se satisface una condición para si aplicar el modo afín.
5) Si aplicar el BDOF puede determinarse basándose en información de indicador (p. ej., merge_subblock_flag) que representa si la interpredicción se lleva a cabo en unidades de los subbloques. Por ejemplo, cuando merge_subblock_flag es 0 (es decir, cuando el modo de fusión no se aplica en unidades de los subbloques), puede determinarse que se satisface una condición para si aplicar el modo de fusión en unidades de los subbloques.
6) Si aplicar el BDOF puede determinarse en base a si existe GBi. En este caso, si existe GBi puede determinarse basándose en información de índice de GBi (p. ej., GbiIdx). Por ejemplo, cuando GbiIdx es 0 (es decir, cuando GbiIdx es por defecto), se puede determinar que se satisface una condición para si existe GBi.
7) Si aplicar el BDOF puede determinarse en base a si el bloque actual es un bloque de luma que incluye el componente de luma. Por ejemplo, cuando se satisface un índice (p. ej., cIdx) que indica si el bloque actual es el bloque de luma (es decir, cuando el bloque actual es el bloque de luma), se puede determinar que se satisface una condición para si el bloque actual es el bloque de luma.
El aparato de decodificación puede determinar si aplicar el DMVR dependiendo de si se satisfacen las condiciones 1) a 7) de la Tabla 2 anterior. En otras palabras, cuando se satisfacen las condiciones 1) a 7) de la Tabla 2 anterior, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el BDOF y cuando incluso no se satisface ninguna de las condiciones de la Tabla 2 anterior, el aparato de decodificación no aplica el BDOF.
Como se ha descrito anteriormente, algunas de las condiciones de aplicación del DMVR y el BDOF son las mismas y algunas son similares o diferentes. En el esquema convencional, dado que la comprobación de condición se lleva a cabo para cada técnica incluso cuando la condición es la misma, aumenta la complejidad para llevar a cabo la bipredicción. Por lo tanto, la presente descripción propone una condición eficiente para aplicar el DMVR y el BDOF durante la bipredicción.
Cuando el modo de fusión/salto se compara con el modo AMVP, el modo de fusión/salto tiene una precisión relativamente menor que el modo AMVP y, como resultado, el refinamiento de la información de movimiento usando el método de DMVR es eficaz en términos de rendimiento. Sin embargo, el modo BDOF puede aplicarse incluso en el modo AMVP además del modo de fusión/salto a diferencia del DMVR y, como tal, la complejidad para llevar a cabo el BDOF en comparación con el rendimiento puede aumentar cuando se aplica el BDOF en el modo AMVP. Por consiguiente, la realización propone un método para aplicar incluso el BDOF en el modo de fusión/salto de manera similar al DMVR.
En este caso, como una realización propuesta en la presente descripción, la condición de aplicación del BDOF puede incluir las condiciones presentadas en la Tabla 3 a continuación.
Tabla 3
Con referencia a la Tabla 3 anterior, si aplicar el BDOF puede determinarse en base a la información de indicador (p. ej., merge_flag) que representa si la interpredicción se lleva a cabo usando el modo de fusión/modo de salto. Por ejemplo, cuando merge_flag es 1 (es decir, cuando la interpredicción se lleva a cabo usando el modo de fusión/modo de salto), puede determinarse que se satisface una condición para si aplicar el modo de fusión/modo de salto. Por consiguiente, el BDOF también puede aplicarse en el modo de fusión/salto de manera similar al DMVR.
En otras palabras, en la realización, junto con una condición aplicada en el caso del modo de fusión/salto, si aplicar el BDOF puede determinarse en base a una condición aplicada cuando el BDOF está habilitado, una condición aplicada en el caso de la predicción bilateral, una condición aplicada cuando se lleva a cabo la bipredicción verdadera, una condición aplicada cuando se usa la predicción afín, una condición aplicada cuando no se aplica el modo de fusión basado en subbloques, una condición aplicada cuando el índice GBi es por defecto y una condición aplicada cuando el bloque actual es el bloque de luma.
Por consiguiente, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 3 anterior y cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el BDOF. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 3 anterior, el aparato de decodificación puede no aplicar el BDOF. El aparato de codificación también puede aplicar las condiciones de la Tabla 3 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
El método para llevar a cabo la bipredicción verdadera basándose en las condiciones enumeradas en la Tabla 3 anterior puede aplicarse independientemente al DMVR y al BDOF o puede aplicarse en la misma condición para el DMVR y el BDOF.
Mientras tanto, cuando las condiciones enumeradas en la realización son las mismas que las condiciones descritas en las Tablas 1 y 2 anteriores, se aplica de manera similar una operación o significado detallado y, como resultado, se omitirá una descripción detallada para cada condición. Además, se omitirán los contenidos duplicados incluso en las realizaciones que se describirán a continuación.
El aparato de codificación/decodificación puede configurarse mediante diversos tipos de hardware y una preferencia de una relación de complejidad con respecto a rendimiento puede ser diferente. Por lo tanto, la realización propone un método que puede refinar la información de movimiento aplicando el DMVR incluso en el modo AMVP además del modo de fusión/salto.
En este caso, como una realización propuesta en la presente descripción, la condición de aplicación del DMVR puede incluir las condiciones presentadas en la Tabla 4 a continuación.
Tabla 4
Con referencia a la Tabla 4 anterior, un proceso de determinación de si aplicar el DMVR puede omitirse en base a la información de indicador (p. ej., merge_flag) que representa si la interpredicción se lleva a cabo usando el modo de fusión/modo de salto. Como tal, al omitir una condición para si aplicar el modo de fusión/modo de salto, el DMVR puede aplicarse incluso en el modo AMVP además del modo de fusión/modo de salto.
Según la Tabla 4 anterior, si aplicar el DMVR puede determinarse en base a una condición aplicada cuando el DMVR está habilitado, una condición aplicada cuando no se usa el modo MMVD, una condición aplicada en el caso de la predicción bilateral, una condición aplicada en el caso de la bipredicción verdadera en la que las distancias entre la imagen actual y las imágenes de referencia bilaterales son las mismas entre sí, una condición aplicada cuando la altura del bloque actual es igual a o mayor que 8, y una condición aplicada cuando el tamaño (altura * ancho) del bloque actual es igual a o mayor que 64.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 4 anterior y cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el DMVR. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 4 anterior, el aparato de decodificación puede no aplicar el DMVR. El aparato de codificación también puede aplicar las condiciones de la Tabla 4 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
El método para llevar a cabo la bipredicción verdadera basándose en las condiciones enumeradas en la Tabla 4 anterior puede aplicarse independientemente al DMVR y al BDOF o puede aplicarse en la misma condición para el DMVR y el BDOF.
Mientras tanto, como una realización de la presente descripción, tanto el DMVR como el BDOF pueden aplicarse a un modo de fusión normal. En otras palabras, el DMVR y el BDOF pueden aplicarse cuando no se usa el modo de predicción de vector de movimiento temporal avanzada (ATMVP, por sus siglas en inglés), el modo afín no se usa y no se usa CPR. En este caso, la condición de aplicación del DMVR puede incluir las condiciones presentadas en la Tabla 5 a continuación.
Tabla 5
Con referencia a la Tabla 5 anterior, se determina si la condición aplicada cuando no se usa el modo afín (p. ej., cuando MotionModelIdc es 0) y la condición aplicada cuando no se usa el modo de fusión basado en subbloques (p. ej., cuando merge_subblock_flag es 0) se satisfacen para aplicar el DMVR solo en el modo de fusión normal.
Además, en la realización, junto con la condición para si se usa el modo afín y la condición para si se usa el modo de fusión basado en subbloques, si aplicar el DMVR puede determinarse basándose en la condición aplicada cuando el DMVR está habilitado, la condición aplicada cuando se usa el modo de fusión/modo de salto, la condición aplicada cuando no se usa el modo MMVD, la condición aplicada en el caso de la predicción bilateral, la condición aplicada en el caso de la bipredicción verdadera en la que las distancias entre la imagen actual y las imágenes de referencia bilaterales son las mismas entre sí, la condición aplicada cuando la altura del bloque actual es igual a o mayor que 8, y la condición aplicada cuando el tamaño (altura * ancho) del bloque actual es igual a o mayor que 64.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 5 anterior y cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el DMVR. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 5 anterior, el aparato de decodificación puede no aplicar el DMVR. El aparato de codificación también puede aplicar las condiciones de la Tabla 5 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
La condición para si aplicar el modo de fusión basado en subbloques (p. ej., merge_subblock_flag) entre las condiciones de aplicación de la Tabla 5 anterior incluye una condición duplicada entre las condiciones de aplicación de DMVR convencionales. Por consiguiente, como una realización de la presente descripción, puede eliminarse una condición duplicada con la condición (p. ej., merge_subblock_flag) para si aplicar el modo de fusión basado en subbloques. En este caso, la condición correspondiente puede eliminarse como se propone en la Tabla 6 a continuación.
Tabla 6
Con referencia a la Tabla 6 anterior, el modo de fusión basado en subbloques puede aplicarse cuando el tamaño del bloque actual es igual a o mayor que 8 x 8. Por consiguiente, dado que la condición (p. ej., merge_subblock_flag = 0) para si aplicar el modo de fusión basado en subbloques incluye una condición relacionada con el tamaño del bloque actual, pueden excluirse condiciones (p. ej., CbHeight y CbHeight*CbWidth) relacionadas con el tamaño del bloque actual entre las condiciones de aplicación del DMVR convencional. Por ejemplo, la condición para si la altura del bloque actual es igual a o mayor que 8 y la condición para si la altura * ancho del bloque actual es igual a o mayor que 64 pueden omitirse y si aplicar el DMVR puede determinarse usando las condiciones restantes enumeradas en la Tabla 6 anterior.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 6 anterior y cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el DMVR. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 6 anterior, el aparato de decodificación puede no aplicar el DMVR. El aparato de codificación también puede aplicar las condiciones de la Tabla 6 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
El método para llevar a cabo la bipredicción verdadera basándose en las condiciones enumeradas en la Tabla 5 o 6 anterior puede aplicarse independientemente al DMVR y al BDOF o puede aplicarse en la misma condición para el DMVR y el BDOF.
Como una realización de la presente descripción, para aumentar la precisión del vector de movimiento con baja complejidad, cuando el tamaño del bloque es pequeño, las técnicas de refinamiento como, por ejemplo, el DMVR y el BDOF, pueden no aplicarse. En el esquema convencional, la técnica de refinamiento se puede aplicar cuando el bloque actual es un bloque que es igual a o mayor que 8 x 8 y en el caso del DMVR de las técnicas de refinamiento, cuando el tamaño del bloque actual es grande, el refinamiento se aplica separando el bloque actual en 16 x 16 unidades y, como resultado, el DMVR puede no aplicarse a un bloque que es menor que 16 x 16. En este caso, la condición de aplicación del DMVR puede incluir las condiciones presentadas en la Tabla 7 a continuación.
Tabla 7
Con referencia a la Tabla 7 anterior, el DMVR puede no aplicarse al bloque que es menor que 16 x 16 cambiando las condiciones (p. ej., CbHeight y CbWidth) relacionadas con el tamaño del bloque actual. Por ejemplo, se puede usar una condición aplicada cuando la altura del bloque actual (p. ej., CbHeight) es igual a o mayor que 16 y una condición aplicada cuando el ancho del bloque actual (p. ej., CbWidth) es igual a o mayor que 16. Cuando se satisfacen las condiciones de aplicación relacionadas con el tamaño del bloque actual (es decir, cuando el tamaño del bloque actual es igual a o mayor que 16 x 16, puede aplicarse el DMVR y cuando no se satisfacen las condiciones de aplicación relacionadas con el tamaño del bloque actual (es decir, cuando el tamaño del bloque actual es menor que 16 x 16), puede no aplicarse el DMVR.
Además, en la realización, junto con las condiciones (p. ej., CbHeight y CbWidth) relacionadas con el tamaño del bloque actual, si aplicar el DMVR puede determinarse basándose en las condiciones de aplicación restantes enumeradas en la Tabla 7 anterior.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 7 anterior y cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el DMVR. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 7 anterior, el aparato de decodificación puede no aplicar el DMVR. El aparato de codificación también puede aplicar las condiciones de la Tabla 7 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
Como una realización de la presente descripción, cuando el bloque actual es el bloque que es menor que 16 x 16, el BDOF puede no aplicarse además del DMVR. En este caso, la condición de aplicación del BDOF puede incluir las condiciones presentadas en la Tabla 8 a continuación.
Tabla 8
Con referencia a la Tabla 8 anterior, el BDOF puede no aplicarse al bloque que es menor que 16 x 16 cambiando las condiciones (p. ej., CbHeight y CbWidth) relacionadas con el tamaño del bloque actual. Por ejemplo, se puede usar una condición aplicada cuando la altura del bloque actual (p. ej., CbHeight) es igual a o mayor que 16 y una condición aplicada cuando el ancho del bloque actual (p. ej., CbWidth) es igual a o mayor que 16. Cuando se satisfacen las condiciones de aplicación relacionadas con el tamaño del bloque actual (es decir, cuando el tamaño del bloque actual es igual a o mayor que 16 x 16, puede aplicarse el BDOF y cuando no se satisfacen las condiciones de aplicación relacionadas con el tamaño del bloque actual (es decir, cuando el tamaño del bloque actual es menor que 16 x 16), puede no aplicarse el BDOF.
Además, en la realización, junto con las condiciones (p. ej., CbHeight y CbWidth) relacionadas con el tamaño del bloque actual, si aplicar el BDOF puede determinarse basándose en las condiciones de aplicación restantes enumeradas en la Tabla 8 anterior.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 8 anterior y, cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el BDOF. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 8 anterior, el aparato de decodificación puede no aplicar el BDOF. El aparato de codificación también puede aplicar las condiciones de la Tabla 8 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
El método para llevar a cabo la bipredicción verdadera basándose en las condiciones enumeradas en la Tabla 7 u 8 anterior puede aplicarse independientemente al DMVR y al BDOF o puede aplicarse en la misma condición para el DMVR y el BDOF.
Como se ha descrito anteriormente, el DMVR se aplica cuando las distancias entre la imagen actual y las imágenes de referencia bilaterales son las mismas entre sí, mientras que el BDOF se aplica continuamente en el caso de la bipredicción verdadera aunque las distancias entre la imagen actual y las imágenes de referencia bilaterales sean diferentes entre sí. Por consiguiente, la presente descripción propone un método que puede aplicar de manera integral la condición relacionada con la distancia de imagen de referencia bilateral al DMVR y al BDOF para aumentar la eficiencia de codificación.
Como una realización propuesta en la presente descripción, la condición de aplicación del BDOF puede incluir las condiciones presentadas en la Tabla 9 a continuación.
Tabla 9
Con referencia a la Tabla 9 anterior, una condición relacionada con la distancia de imagen de referencia entre las condiciones de aplicación del BDOF (p. ej., DiffPicOrderCnt) se cambia para aplicar de manera similar la condición correspondiente al DMVR y al BDOF. Por ejemplo, se determina si DiffPicOrderCnt(currPic, RefPicList0 [refIdxL0]) -DiffPicOrderCnt(currPic, RefPicList1 [ refIdxL1 ]) es 0 para determinar si una distancia entre la imagen actual y una imagen de referencia L0 (es decir, una imagen de referencia en la lista de imágenes de referencia L0) y una distancia entre la imagen actual y una imagen de referencia L1 (es decir, una imagen de referencia en la lista de imágenes de referencia L1) son las mismas entre sí. En otras palabras, el BDOF puede aplicarse solo cuando las distancias entre la imagen actual y las imágenes de referencia bilaterales son las mismas entre sí. Como tal, como se añade una condición en la que se lleva a cabo la bipredicción verdadera y las distancias de imágenes de referencia bilaterales son las mismas entre sí, un intervalo de aplicación de BDOF es limitado, ahorrando de este modo complejidad de decodificación.
Además, en la realización, junto con las condiciones (p. ej., DiffPicOrderCnt) relacionadas con la distancia de imagen de referencia, si aplicar el BDOF puede determinarse en base a las condiciones de aplicación restantes enumeradas en la Tabla 9 anterior.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 9 anterior y, cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el BDOF. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 9 anterior, el aparato de decodificación puede no aplicar el BDOF. El aparato de codificación también puede aplicar las condiciones de la Tabla 9 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
Como una realización propuesta en la presente descripción, la condición de aplicación del DMVR puede incluir las condiciones presentadas en la Tabla 10 a continuación.
Tabla 10
Con referencia a la Tabla 10 anterior, una condición relacionada con la distancia de imagen de referencia entre las condiciones de aplicación del DMVR (p. ej., DiffPicOrderCnt) se cambia para aplicar de manera similar la condición correspondiente al DMVR y al BDOF. Por ejemplo, se determina si DiffPicOrderCnt( currPic, refPicList0[ refIdxL0 ] ) * DiffPicOrderCnt(currPic, refPicList1[ refIdxL1 ]) es menor que 0 para determinar si se lleva a cabo una bipredicción verdadera en la que las imágenes de referencia bilaterales se ubican en diferentes direcciones basándose en la imagen actual. En otras palabras, el DMVR puede aplicarse continuamente en el caso de la bipredicción verdadera, aunque las distancias entre la imagen actual y las imágenes de referencia bilaterales no sean las mismas entre sí. Como tal, como se aplica la condición para si se lleva a cabo la bipredicción verdadera, un vector de movimiento derivado considerando la complejidad de decodificación puede usarse sin escalado incluso cuando las distancias de imágenes de referencia bilaterales son diferentes.
Además, en la realización, junto con la condición (p. ej., DiffPicOrderCnt) relacionada con la distancia de imagen de referencia, si aplicar el DMVR puede determinarse basándose en las condiciones de aplicación restantes enumeradas en la Tabla 10 anterior.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 10 anterior y, cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el DMVR. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 10 anterior, el aparato de decodificación puede no aplicar el DMVR. El aparato de codificación también puede aplicar las condiciones de la Tabla 10 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
El método para llevar a cabo la bipredicción verdadera basándose en las condiciones enumeradas en la Tabla 9 o 10 anterior puede aplicarse independientemente al DMVR y al BDOF o puede aplicarse en la misma condición para el DMVR y el BDOF.
Mientras tanto, en cada bloque de referencia, puede ocurrir un caso donde la compensación de movimiento se lleva a cabo mediante una suma ponderada mediante un cambio en la luz. En este caso, dado que un fenómeno puede determinarse por GBi o compensación de iluminación local (LIC, por sus siglas en inglés), las condiciones de aplicación del DMVR y del BDOF pueden determinarse considerando la condición GBi o LIC.
Como una realización de la presente descripción, se propone un método para determinar si aplicar el DMVR considerando las condiciones de GBi y LIC. En este caso, la condición de aplicación del DMVR puede incluir las condiciones presentadas en la Tabla 11 a continuación.
Tabla 11
Con referencia a la Tabla 11, es posible determinar si aplicar el DMVR añadiendo una condición de GBi (p. ej., GbiIdx) y una condición de LIC (p. ej., LICFlag). En este caso, GBi puede representar una bipredicción generalizada capaz de aplicar diferentes pesos a la predicción L0 y la predicción L1 y, por ejemplo, representar la bipredicción generalizada usando GbiIdx. GbiIdx puede existir en el caso de la bipredicción, y representar un índice de ponderación de bipredicción. Por ejemplo, GbiIdx puede derivarse de un bloque vecino en el modo de fusión, o señalizarse del aparato de codificación al aparato de decodificación a través de un elemento sintáctico GbiIdx (p. ej., gbi_idx) en el modo MVP. Como ejemplo, GbiIdx puede indicar un peso de w aplicado a la predicción L1 y, en este caso, un peso de (1 -w) puede aplicarse a la predicción L0. Como otro ejemplo, GbiIdx puede indicar el peso de w aplicado a la predicción L0 y, en este caso, el peso de (1-w) puede aplicarse a la predicción L1.
Según la Tabla 11, si GbiIdx es 0 (es decir, si GbiIdx es un defecto), se puede determinar que satisface la condición de GBi, y si LICFlag es 0 (es decir, si existe LIC), se puede determinar que satisface la condición de LIC.
Además, en la realización, junto con la condición de GBi (p. ej., GbiIdx) y la condición de LIC (p. ej., LICFlag), si aplicar el DMVR puede determinarse basándose en las condiciones de aplicación restantes enumeradas en la Tabla 11 anterior.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 11 anterior y, cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el DMVR. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 11 anterior, el aparato de decodificación puede no aplicar el DMVR. El aparato de codificación también puede aplicar las condiciones de la Tabla 11 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
Como una realización de la presente descripción, se propone un método para determinar si aplicar el BDOF considerando las condiciones de GBi y LIC. En este caso, la condición de aplicación del BDOF puede incluir las condiciones presentadas en la Tabla 12 a continuación.
Tabla 12
Según la Tabla 12 anterior, si aplicar el BDOF puede determinarse añadiendo una condición de LIC (p. ej., LICFlag) junto con la condición de GBi convencional (p. ej., GbiIdx). Por ejemplo, cuando GbiIdx es 0 (es decir, cuando GbiIdx es por defecto), se determina que se satisface la condición para si existe GBi y cuando LICFlag es 0 (es decir, cuando existe LIC), se puede determinar que se satisface una condición para si existe LIC.
Por consiguiente, en la realización, junto con la condición de GBi (p. ej., GbiIdx) y la condición de LIC (p. ej., LICFlag), si aplicar el BDOF puede determinarse basándose en las condiciones de aplicación restantes enumeradas en la Tabla 12 anterior.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 12 anterior y, cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el BDOF. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 12 anterior, el aparato de decodificación puede no aplicar el BDOF. El aparato de codificación también puede aplicar las condiciones de la Tabla 12 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
El método para llevar a cabo la bipredicción verdadera basándose en las condiciones enumeradas en la Tabla 11 o 12 anterior puede aplicarse independientemente al DMVR y al BDOF o puede aplicarse en la misma condición para el DMVR y el BDOF.
Mientras tanto, dado que el DMVR y el BDOF derivan la información de movimiento a través del proceso de refinamiento en el aparato de decodificación, se produce un problema de complejidad de decodificación. Por consiguiente, la presente descripción propone un método que puede reducir la complejidad de decodificación permitiendo determinar si aplicar el DMVR y el BDOF usando el índice de fusión. En este caso, dado que tanto el DMVR como el BDOF llevan a cabo el refinamiento del vector de movimiento en un rango limitado, un efecto de refinamiento puede reducirse cuando el vector de movimiento es impreciso. Por consiguiente, la presente descripción propone un método que puede aplicar de manera limitante el DMVR y el BDOF solo cuando un valor que indica el índice de fusión es pequeño considerando la eficiencia del refinamiento.
En este caso, el índice de fusión puede ser un elemento sintáctico señalizado del aparato de codificación al aparato de decodificación. Por ejemplo, el aparato de codificación/decodificación puede configurar la lista de candidatos de fusión basándose en los bloques vecinos del bloque actual cuando el modo de fusión/modo de salto se aplica al bloque actual. En este caso, el aparato de codificación puede seleccionar un candidato de fusión óptimo entre los candidatos de fusión incluidos en la lista de candidatos de fusión basándose en el coste de distorsión de velocidad (RD, por sus siglas en inglés) y la información de índice de fusión de señal 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 aplicado al bloque actual en base a la lista de candidatos de fusión y la información de índice de fusión.
Como una realización de la presente descripción, un método para determinar si aplicar el DMVR usando el índice de fusión puede incluir las condiciones presentadas en la Tabla 13 a continuación.
Tabla 13
Con referencia a la Tabla 13 anterior, si aplicar el DMVR puede determinarse añadiendo una condición de índice de fusión (p. ej., merge_idx). Por ejemplo, cuando el índice de fusión (p. ej., merge_idx) es menor que 2, se puede determinar que se satisface la condición de índice de fusión. En este caso, un valor (umbral) del índice de fusión puede establecerse en 2, pero esto es solo un ejemplo y el valor correspondiente puede cambiarse según la eficiencia de codificación. Por consiguiente, en la realización, junto con la condición de índice de fusión (p. ej., merge_idx), si aplicar el DMVR puede determinarse basándose en las condiciones de aplicación restantes enumeradas en la Tabla 13 anterior. En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 13 anterior y, cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el DMVR. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 13 anterior, el aparato de decodificación puede no aplicar el DMVR. El aparato de codificación también puede aplicar las condiciones de la Tabla 13 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
Como una realización de la presente descripción, un método para determinar si aplicar el BDOF usando el índice de fusión puede incluir las condiciones presentadas en la Tabla 14 a continuación.
Tabla 14
Con referencia a la Tabla 14 anterior, si aplicar el BDOF puede determinarse añadiendo la condición para si se aplica el modo de fusión/modo de salto (p. ej., merge_flag) y la condición de índice de fusión (p. ej., merge_idx). Por ejemplo, cuando merge_flag no es 1 (es decir, cuando la interpredicción se lleva a cabo usando el modo de fusión/modo de salto) y merge_idex no es igual a o mayor que 2, solo si el valor del índice de fusión es pequeño, se puede determinar que se satisface la condición para aplicar de manera limitante el BDOF. En otras palabras, cuando merge_flag es 1 (es decir, cuando la interpredicción se lleva a cabo usando el modo de fusión/modo de salto) y merge_idex es menor que 2, solo si el valor del índice de fusión es pequeño, puede determinarse que se satisface la condición de índice de fusión y puede aplicarse el BDOF. En este caso, el valor (umbral) del índice de fusión puede establecerse en 2, pero esto es solo un ejemplo y el valor correspondiente puede cambiarse según la eficiencia de codificación.
En otras palabras, en la realización, junto con la condición para si se aplica el modo de fusión/modo de salto (p. ej., merge_flag) y la condición de índice de fusión (p.ej., merge_idx), si aplicar el BDOF puede determinarse en base a las condiciones de aplicación restantes enumeradas en la Tabla 14 anterior.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 14 anterior y, cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el BDOF. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 14 anterior, el aparato de decodificación puede no aplicar el BDOF. El aparato de codificación también puede aplicar las condiciones de la Tabla 14 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
El método para llevar a cabo la bipredicción verdadera basándose en las condiciones enumeradas en la Tabla 13 o 14 anterior puede aplicarse independientemente al DMVR y al BDOF o puede aplicarse en la misma condición para el DMVR y el BDOF.
Mientras tanto, en el modo de fusión/salto, la información de movimiento puede refinarse a través de la MMVD y, en este caso, dado que aumenta la complejidad de decodificación, el DMVR no se lleva a cabo cuando se aplica la MMVD. Sin embargo, cuando el DMVR se aplica sin considerar la MMVD, el DMVR puede aplicarse sin la condición de MMVD al considerar la mejora del rendimiento. En este caso, según una realización de la presente descripción, la condición de aplicación del DMVR puede incluir las condiciones presentadas en la Tabla 15 a continuación.
Tabla 15
Con referencia a la Tabla 15 anterior, se puede excluir una condición (p. ej., mmvd_flag) para si aplicar el modo MMVD entre las condiciones de aplicación del DMVR convencional. En otras palabras, se puede omitir un proceso de determinación de si mmvd_flag es 0 (es decir, si no se usa el modo MMVD) y si aplicar el DMVR se puede determinar en base a las condiciones enumeradas en la Tabla 15 anterior.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 15 anterior (con exclusión de la condición (p. ej., mmvd_flag) para si aplicar el modo MMVD) y, cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el DMVR. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 15 anterior, el aparato de decodificación puede no aplicar el DMVR. El aparato de codificación también puede aplicar las condiciones de la Tabla 15 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
Además, al contrario de la realización de la Tabla 15 descrita anteriormente, cuando la información de movimiento se refina a través de la MMVD en el modo de fusión/salto, si llevar a cabo el BDOF puede determinarse considerando la complejidad de decodificación. Por consiguiente, la presente descripción propone un método para determinar si aplicar el BDOF considerando la condición de MMVD. En este caso, según una realización de la presente descripción, la condición de aplicación del BDOF puede incluir las condiciones presentadas en la Tabla 16 a continuación.
Tabla 16
Con referencia a la Tabla 16 anterior, el BDOF puede no aplicarse cuando la información de movimiento se refina a través de la MMVD añadiendo la condición (p. ej., mmvd_flag) para si aplicar el modo MMVD. Por ejemplo, cuando mmvd_flag es 0 (es decir, cuando no se usa el modo MMVD), puede determinarse que se satisface la condición para si aplicar el modo MMVD.
Por consiguiente, en la realización, junto con la condición (p. ej., mmvd_flag) para si aplicar el modo MMVD, si aplicar el BDOF puede determinarse basándose en las condiciones de aplicación restantes enumeradas en la Tabla 16 anterior.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 16 anterior y, cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el BDOF. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 16 anterior, el aparato de decodificación puede no aplicar el BDOF. El aparato de codificación también puede aplicar las condiciones de la Tabla 16 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
El método para llevar a cabo la bipredicción verdadera basándose en las condiciones enumeradas en la Tabla 15 o 16 anterior puede aplicarse independientemente al DMVR y al BDOF o puede aplicarse en la misma condición para el DMVR y el BDOF.
Mientras tanto, en el caso de la AMVP, puede aplicarse una técnica de resolución de vector de movimiento adaptativo (AMVR). En este caso, cuando una resolución del vector de movimiento es alta, es decir, cuando se provee un redondeo de entero-pel o un redondeo de 4 enteros-pel, puede no ser apropiado aplicar la técnica en el caso del BDOF de llevar a cabo el refinamiento en el área limitada. Por consiguiente, la presente descripción propone un método que puede determinar llevar a cabo el BDOF según la condición de AMVR. En este caso, según una realización de la presente descripción, la condición de aplicación del BDOF puede incluir las condiciones presentadas en la Tabla 17 a continuación.
Tabla 17
Con referencia a la Tabla 17 anterior, si aplicar el BDOF puede determinarse añadiendo la condición de AMVR (p. ej., amvr_flag). En este caso, amvr_flag puede ser información que representa la solución de una diferencia de vectores de movimiento (MVD). Por ejemplo, en un caso donde amvr_flag es 0, el caso puede indicar que la resolución de la MVD se deriva en unidades de 1/4 de muestra (cuarto de muestra de luma) y en un caso donde amvr_flag no es 0, el caso puede indicar que la resolución de la MVD se deriva en unidades de muestra de luma entera o muestra de cuatro luma. Alternativamente, puede determinarse un caso inverso al mismo. Según una realización, como se presenta en la Tabla 20 anterior, en el caso donde amvr_flag no es 0, puede establecerse la condición de que se aplique el BDOF. En otras palabras, en el caso donde amvr_flag es 0, el BDOF puede limitarse a no aplicarse.
Por consiguiente, en la realización, junto con la condición de AMVR (p. ej., amvr_flag), si aplicar el BDOF puede determinarse basándose en las condiciones de aplicación restantes enumeradas en la Tabla 17 anterior.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 17 anterior y, cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el BDOF. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 17 anterior, el aparato de decodificación puede no aplicar el BDOF. El aparato de codificación también puede aplicar las condiciones de la Tabla 17 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
Mientras tanto, el DMVR y el BDOF pueden señalizarse, cada uno, en una sintaxis de conjunto de parámetros de secuencia (SPS). La Tabla 18 a continuación muestra un ejemplo de un elemento sintáctico que indica si el DMVR señalizado a través de la sintaxis de SPS está habilitado y si el BDOF está habilitado.
Tabla 18
Con referencia a la Tabla 18 anterior, sps_dmvr_enabled_flag puede señalizarse en la sintaxis de SPS y si está habilitado el DMVR basado en bipredicción verdadera puede representarse en base al elemento sintáctico. Por ejemplo, en un caso donde sps_dmvr_enabled_flag es 1, el caso puede indicar que el DMVR basado en bipredicción verdadera está habilitado y en un caso donde sps_dmvr_enabled_flag es 0, el caso puede indicar que el DMVR basado en bipredicción verdadera no está habilitado.
Además, sps_bdof_enabled_flag puede señalizarse en la sintaxis de SPS y si está habilitado el BDOF basado en bipredicción verdadera puede representarse basándose en el elemento sintáctico. Por ejemplo, en un caso donde sps_bdof_enabled_flag es 1, el caso puede indicar que el BDOF basado en bipredicción verdadera está habilitado y en un caso donde sps_bdof_enabled_flag es 0, el caso puede indicar que el BDOF basado en bipredicción verdadera no está habilitado.
Como se muestra en la Tabla 18, las condiciones de aplicación del DMVR y el BDOF pueden comprobarse usando un elemento sintáctico (p. ej., sps_dmvr_enabled_flag) que representa si el DMVR está habilitado y un elemento sintáctico (p. ej., sps_bdof_enabled_flag) que representa si el BDOF está habilitado.
La FIG. 6 ilustra un ejemplo que ilustra un método para llevar a cabo un proceso de decodificación comprobando las condiciones de aplicación de un DMVR y un BDOF.
Como se muestra en la Tabla 18, el método de la FIG. 6 puede aplicarse cuando se usa un elemento sintáctico (p. ej., sps_dmvr_enabled_flag) que representa si el DMVR está habilitado y un elemento sintáctico (p. ej., sps_bdof_enabled_flag) que representa si el BDOF está habilitado.
Con referencia a la FIG. 6, el aparato de decodificación puede derivar información de movimiento (p. ej., un vector de movimiento, un índice de imágenes de referencia, etc.) para un bloque actual (E600).
El aparato de decodificación puede comprobar una aplicación del DMVR (E610). En este caso, la condición de aplicación del DMVR puede comprobarse basándose en el elemento sintáctico (p. ej., sps_dmvr_enabled_flag) que representa si el DMVR está habilitado. Por ejemplo, cuando el DMVR está habilitado (p. ej., cuando sps_dmvr_enabled_flag es 1), se puede comprobar la condición de aplicación del DMVR.
El aparato de decodificación puede determinar si aplicar un proceso de DMVR en función de si se cumple la condición de aplicación del DMVR (E620).
Cuando se satisfacen todas las condiciones de aplicación del DMVR, el aparato de decodificación puede derivar información de movimiento refinada aplicando el proceso de DMVR (E630). Cuando al menos una de las condiciones de aplicación del DMVR no se satisface, el aparato de decodificación puede no aplicar el proceso de DMVR.
El aparato de decodificación puede derivar muestras de predicción del bloque actual basándose en información de movimiento derivada (no refinada) cuando no se aplica información de movimiento refinada o DMVR derivado cuando se aplica el DMVR (E640).
Además, el aparato de decodificación puede comprobar una condición de aplicación del BDOF (E650). En este caso, la condición de aplicación del BDOF DMVR puede comprobarse basándose en el elemento sintáctico (p. ej., sps_bdof_enabled_flag) que representa si el BDOF está habilitado. Por ejemplo, cuando el DMVR está habilitado (p. ej., cuando sps_bdof_enabled_flag es 1), se puede comprobar la condición de aplicación del DMVR.
Cuando se satisfacen todas las condiciones de aplicación del BDOF, el aparato de decodificación puede refinar muestras de predicción aplicando el proceso de BDOF (E670). Cuando al menos una de las condiciones de aplicación del BDOF no se satisface, el aparato de decodificación puede no aplicar el proceso de BDOF.
El aparato de decodificación puede derivar las muestras residuales para el bloque actual (E680) y derivar muestras reconstruidas basándose en las muestras de predicción refinadas derivadas cuando se aplican las muestras residuales y el BDOF o muestras de predicción (no refinadas) derivadas cuando no se aplica el BDOF (E690).
La presente descripción propone diversas realizaciones que pueden mejorar la eficiencia de codificación y reducir la complejidad armonizando las condiciones de aplicación mutua del DMVR y el BDOF al momento de aplicar el DMVR y el BDOF como se describió anteriormente. Al comprobar las condiciones de aplicación del DMVR y el BDOF según las realizaciones de la presente descripción y aplicar las condiciones de aplicación a un proceso de decodificación, las condiciones respectivas pueden comprobarse y aplicarse por separado, pero las condiciones de aplicación pueden comprobarse a la vez para mejorar la eficiencia de codificación. En otras palabras, la presente descripción propone un método que puede integrar y comprobar las condiciones de aplicación del DMVR y el BDOF a la vez.
Como una realización de la presente descripción, la información (p. ej.,) que indica si aplicar el refinamiento en el aparato de decodificación en la sintaxis del conjunto de parámetros de secuencia (SPS) se señala para llevar a cabo un proceso de comprobación de la condición de aplicación del DMVR/BDOF. A continuación, la Tabla 19 muestra un ejemplo de un elemento sintáctico (p. ej., sps_refinement_enabled_flag) que representa si aplicar el refinamiento en el aparato de decodificación señalizado a través de la sintaxis de SPS.
Tabla 19
Con referencia a la Tabla 19 anterior, sps_refinement_enabled_flag puede señalizarse en la sintaxis de SPS y puede representar si el refinamiento es aplicable en el aparato de decodificación en base al elemento sintáctico. Por ejemplo, cuando existe sps_refinement_enabled_flag (es decir, cuando sps_refinement_enabled_flag es verdadero), se puede determinar que el refinamiento es aplicable en el aparato de decodificación. En este caso, el aparato de decodificación obtiene el elemento sintáctico sps_dmvr_enabled_flag que representa si el DMVR está habilitado y el elemento sintáctico sps_bdof_enabled_flag que representa si el BDOF está habilitado para determinar las condiciones de aplicación del DMVR y el BDOF.
Las FIGS. 7 y 8 ilustran otro ejemplo que ilustra un método para llevar a cabo un proceso de decodificación comprobando las condiciones de aplicación de un DMVR y un BDOF.
El método de la FIG. 7 y el método de la FIG. 8 pueden aplicarse cuando el elemento sintáctico (p. ej., sps_refinement_enabled_flag) que representa si el refinamiento es aplicable en el aparato de decodificación se usa como se muestra en la Tabla 19 anterior. Además, se omitirá la descripción de contenidos duplicados de las FIGS. 7 y 8 con la FIG. 6 descrita anteriormente.
Con referencia a la FIG. 7, puede observarse que las condiciones de aplicación se comprueban de una vez en la etapa anterior sin comprobar las condiciones de aplicación respectivas del DMVR y el BDOF comparando con el proceso de la FIG. 6 anterior. Como una realización, en la etapa E710 de la FIG. 7, el aparato de decodificación puede comprobar una condición de aplicación de refinamiento. En este caso, la condición de aplicación de refinamiento se puede verificar en base a sps_refinement_enabled_flag que se muestra en la Tabla 19 anterior. Por ejemplo, el aparato de decodificación puede obtener el elemento sintáctico sps_dmvr_enabled_flag que representa si el DMVR está habilitado y el elemento sintáctico sps_bdof_enabled_flag que representa si el BDOF está habilitado cuando sps_refinement_enabled_flag es 1 y comprobar las condiciones de aplicación del DMVR y el BDOF en base a los elementos sintácticos obtenidos.
Además, con referencia a la FIG. 8, las condiciones de aplicación se comprueban de una vez en la etapa anterior sin comprobar las condiciones de aplicación respectivas del DMVR y el BDOF comparando con el proceso de la FIG. 6 anterior y se puede llevar a cabo un proceso de comprobación simple (la condición de aplicación del BDOF) con respecto a una condición diferente. Como una realización, en la etapa E810 de la FIG. 8, el aparato de decodificación puede comprobar la condición de aplicación de refinamiento. A continuación, en la etapa E850 de la FIG. 8, el aparato de decodificación puede comprobar simplemente además la condición de aplicación del BDOF que tiene una condición diferente de la condición de aplicación de refinamiento.
Mientras tanto, cuando la altura o el tamaño (Altura * Ancho) del bloque actual es menor que una longitud específica o un tamaño específico, aumenta una relación de cálculo de multiplicación/adición para compensación de movimiento. Por consiguiente, en una realización de la presente descripción, la aplicación del BDOF a un bloque que tiene una altura pequeña o un tamaño pequeño puede limitarse como en la condición de aplicación del DMVR para reducir el peor caso. En este caso, la condición de aplicación del BDOF puede incluir las condiciones presentadas en la Tabla 20 a continuación.
Tabla 20
Con referencia a la Tabla 20 anterior, el BDOF puede no aplicarse a un bloque que sea más pequeño que un tamaño específico añadiendo las condiciones (p. ej., CbHeight y CbWidth) relacionadas con el tamaño del bloque actual. Por ejemplo, se puede usar una condición aplicada cuando la altura del bloque actual (p. ej., CbHeight) es igual a o mayor que 8 y una condición aplicada cuando el tamaño del bloque actual (p. ej., CbHeight* CbWidth) es igual a o mayor que 64. Cuando se satisfacen las condiciones de aplicación relacionadas con el tamaño del bloque actual (es decir, cuando la altura del bloque actual es igual a o mayor que 8 y la altura * ancho del bloque actual es igual a o mayor que 64), puede aplicarse el BDOF y cuando no se satisfacen las condiciones de aplicación relacionadas con el tamaño del bloque actual, puede no aplicarse el BDOF.
Además, en la realización, junto con las condiciones (p. ej., CbHeight y CbHeight*CbWidth) relacionadas con el tamaño del bloque actual, si aplicar el BDOF puede determinarse basándose en las condiciones de aplicación restantes enumeradas en la Tabla 20 anterior.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 20 anterior y, cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el BDOF. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 20 anterior, el aparato de decodificación puede no aplicar el BDOF. El aparato de codificación también puede aplicar las condiciones de la Tabla 20 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
Mientras tanto, cuando la MMVD se aplica al bloque actual, la información de movimiento puede derivarse basándose en información (p. ej., índice de mmvd) en la MMVD. En este caso, la información sobre la MMVD puede incluir un índice de una MV base, un índice de distancia, un índice de dirección y similares. En particular, el índice de distancia (más específicamente, mmvd_distance_index[xCb][yCb]) puede usarse para representar una distancia desde la MV base y, por ejemplo, los índices de distancia 0 a 7 pueden representarse como {1/4, 1/2, 1, 2, 4, 8, 16, 32}, respectivamente. Al determinar el refinamiento de la información de movimiento en el DMVR y el BDOF, si el refinamiento se lleva a cabo considerando un píxel adyacente (muestra adyacente) y en este caso, cuando una distancia entre el píxel adyacente y la MV base es lejana, el valor del índice de distancia también aumenta. En tal caso, es difícil que considerar el píxel adyacente ayude a mejorar el rendimiento del DMVR y el BDOF. Por consiguiente, la presente descripción propone un método que puede determinar si aplicar el DMVR y el BDOF según el valor del índice de distancia (más específicamente, mmvd_distance_index[xCb][yCb]).
Como una realización de la presente descripción, si se aplica el DMVR puede determinarse considerando el índice de distancia y, en este caso, la condición de aplicación del DMVR puede incluir las condiciones presentadas en la Tabla 21 a continuación.
Tabla 21
Con referencia a la Tabla 21 anterior, una condición (p. ej., mmvd_flag) relacionada con la MMVD entre las condiciones de aplicación del DMVR se cambia para aplicar de manera limitante el DMVR en el modo MMVD. Por ejemplo, cuando mmvd_flag es 1 y mmvd_distance_index es mayor que 4, puede determinarse que se satisface una condición de índice de distancia de la MMVD. Por consiguiente, cuando se aplica el modo de MMVD, si se aplica el DMVR puede determinarse según el valor del índice de distancia (más específicamente, mmvd_distance_index[xCb][yCb]).
En este caso, el valor (umbral) de mmvd_distance_index puede establecerse en 4, pero esto es solo un ejemplo y el valor correspondiente puede cambiarse a diversos valores según el rendimiento y la eficiencia de codificación.
Por consiguiente, en la realización, junto con la condición (p. ej., mmvd_flag) para si aplicar la MMVD y la condición de índice de distancia (p. ej., mmvd_distance_index) de la MMVD, si aplicar el DMVR puede determinarse basándose en las condiciones de aplicación restantes enumeradas en la Tabla 21 anterior.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 21 anterior y, cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el DMVR. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 21 anterior, el aparato de decodificación puede no aplicar el DMVR. El aparato de codificación también puede aplicar las condiciones de la Tabla 21 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
Además, como una realización de la presente descripción, si aplicar el BDOF puede determinarse considerando el índice de distancia y, en este caso, la condición de aplicación del BDOF puede incluir las condiciones presentadas en la Tabla 22 a continuación.
Tabla 22
Con referencia a la Tabla 22 anterior, el BDOF puede aplicarse de manera limitante en el modo MMVD añadiendo la condición para si se aplica el modo de fusión/modo de salto (p. ej., merge_flag) y las condiciones (p. ej., mmvd_flag y mmvd_distance_index) relacionadas con la MMVD. Por ejemplo, cuando no existe merge_flag (es decir, cuando merge_flag no es 1) o cuando merge_flag es 1, mmvd_flag es 1 y la mmvd_distance_index es mayor que 4, se puede determinar que se satisface la condición de aplicar de manera limitativa el BDOF en el modo MMVD. Por consiguiente, cuando se aplica el modo MMVD, si aplicar el BDOF puede determinarse según el valor del índice de distancia (p. ej., mmvd_distance_index[xCb][yCb]).
En este caso, el valor (umbral) de mmvd_distance_index puede establecerse en 4, pero esto es solo un ejemplo y el valor correspondiente puede cambiarse a diversos valores según el rendimiento y la eficiencia de codificación.
Por consiguiente, en la realización, junto con la condición para si se aplica el modo de fusión/modo de salto (p. ej., merge_flag) y la condición relacionada con la MMVD (p. ej., mmvd_flag, mmvd_distance_index), si aplicar el BDOF puede determinarse en base a las condiciones de aplicación restantes enumeradas en la Tabla 22 anterior.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 22 anterior y, cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el BDOF. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 22 anterior, el aparato de decodificación puede no aplicar el BDOF. El aparato de codificación también puede aplicar las condiciones de la Tabla 22 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
El método para llevar a cabo la bipredicción verdadera basándose en las condiciones enumeradas en la Tabla 21 o 22 anterior puede aplicarse independientemente al DMVR y al BDOF o puede aplicarse en la misma condición para el DMVR y el BDOF.
Mientras tanto, un modo de intra e interpredicción combinadas (CIIP) para llevar a cabo simultáneamente la intrapredicción y la interpredicción puede aplicarse al bloque actual como se describió anteriormente. En este caso, un bloque de predicción (interbloque) en el que se lleva a cabo la interpredicción se combina con un método de intrapredicción para generar finalmente valores de muestra de predicción, mejorando de ese modo la precisión de predicción. Sin embargo, dado que el DMVR y el BDOF son técnicas de refinamiento del interbloque, la aplicación del modo CIIP puede no requerirse en términos del rendimiento en comparación con la complejidad. Por consiguiente, la presente descripción propone un método que puede determinar si aplicar el DMVR y el BDOF considerando la CIIP.
Como una realización de la presente descripción, si se aplica el DMVR puede determinarse considerando la CIIP y, en este caso, la condición de aplicación del DMVR puede incluir las condiciones presentadas en la Tabla 23 a continuación.
Tabla 23
Con referencia a la Tabla 23 anterior, el DMVR puede aplicarse de manera limitante según si aplicar la CIIP añadiendo una condición para si aplicar el modo CIIP (p. ej., ciip_flag). Por ejemplo, cuando ciip_flag es 0 (es decir, cuando no se aplica el modo CIIP), el DMVR puede aplicarse determinando que se satisface la condición para si aplicar el modo CIIP.
Por consiguiente, en la realización, junto con la condición (p. ej., ciip_flag) para si aplicar el modo CIIP, si aplicar el DMVR puede determinarse basándose en las condiciones de aplicación restantes enumeradas en la Tabla 23 anterior.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 23 anterior y, cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el DMVR. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 23 anterior, el aparato de decodificación puede no aplicar el DMVR. El aparato de codificación también puede aplicar las condiciones de la Tabla 23 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
Además, como una realización de la presente descripción, si aplicar el BDOF puede determinarse considerando la CIIP y en este caso, la condición de aplicación del BDOF puede incluir las condiciones presentadas en la Tabla 24 a continuación.
Tabla 24
Con referencia a la Tabla 24 anterior, el BDOF puede aplicarse de manera limitante según si aplicar la CIIP añadiendo la condición para si aplicar el modo CIIP (p. ej., ciip_flag). Por ejemplo, cuando ciip_flag es 0 (es decir, cuando no se aplica el modo CIIP), el BDOF puede aplicarse determinando que se satisface la condición para si aplicar el modo CIIP.
Por consiguiente, en la realización, junto con la condición (p. ej., ciip_flag) para si aplicar el modo CIIP, si aplicar el BDOF puede determinarse basándose en las condiciones de aplicación restantes enumeradas en la Tabla 24 anterior.
En otras palabras, el aparato de decodificación puede determinar si se satisfacen todas las condiciones enumeradas en la Tabla 24 anterior y, cuando se satisfacen todas las condiciones, el aparato de decodificación puede llevar a cabo la bipredicción verdadera aplicando el BDOF. Cuando no se satisface ninguna de las condiciones enumeradas en la Tabla 24 anterior, el aparato de decodificación puede no aplicar el BDOF. El aparato de codificación también puede aplicar las condiciones de la Tabla 24 anterior y el aparato de codificación puede llevar a cabo la bipredicción verdadera mediante un método correspondiente en el aparato de decodificación.
El método para llevar a cabo la bipredicción verdadera basándose en las condiciones enumeradas en la Tabla 23 o 24 anterior puede aplicarse independientemente al DMVR y al BDOF o puede aplicarse en la misma condición para el DMVR y el BDOF.
Los métodos enumerados en las Tablas 3 a 24 según la realización de la presente descripción descritas anteriormente pueden aplicarse en combinación. En otras palabras, si aplicar el DMVR y el BDOF puede determinarse comprobando la condición de aplicación de refinamiento y pueden aplicarse las condiciones mostradas en la Tabla 25 a continuación.
Tabla 25
Con referencia a la Tabla 25 anterior, se pueden usar una condición en la predicción bilateral cuando se aplica el DMVR o el BDOF, una condición aplicada en el caso de la bipredicción verdadera en la que las distancias entre la imagen actual y las imágenes de referencia bilaterales son las mismas entre sí, una condición aplicada cuando no se usa el modo MMVD, una condición aplicada cuando no se lleva a cabo la predicción afín, una condición aplicada cuando se aplica el modo de fusión basado en subbloques y una condición aplicada cuando el índice GBi es por defecto. En otras palabras, si aplicar el DMVR o BDOF puede determinarse según si se satisfacen las condiciones.
Además, puede añadirse una condición para determinar si el modo de fusión se aplica para el DMVR o determinar si el bloque actual es el bloque de luma para el BDOF.
Las condiciones de aplicación enumeradas en la Tabla 25 anterior son ejemplos y es evidente que diversas condiciones enumeradas en las realizaciones descritas anteriormente (las realizaciones en las Tablas 3 a 24 anteriores) pueden usarse en combinación.
La FIG. 9 es un diagrama de flujo que ilustra esquemáticamente un método de codificación que puede ser llevado a cabo por un aparato de codificación según una realización de esta descripción.
El método descrito en la FIG. 9 puede llevarse a cabo por el aparato 200 de codificación descrito en la FIG. 2. Específicamente, las etapas E900 a E930 de la FIG. 9 pueden llevarse a cabo por el predictor 220 y el interpredictor 221 descritos en la FIG. 2, y la etapa E940 de la FIG. 9 puede llevarse a cabo por el procesador 230 residual descrito en la FIG. 2, y la etapa E850 de la FIG. 9 puede llevarse a cabo por el codificador 240 de entropía descrito en la FIG.
2. Además, el método descrito en la FIG. 9 puede incluir las realizaciones descritas anteriormente en esta descripción. Por consiguiente, la explicación detallada del contenido duplicado con respecto a las realizaciones descritas anteriormente en la FIG. 9 se omitirá o simplificará.
Con referencia a la FIG. 9, el aparato de codificación puede determinar si se satisface una condición de aplicación de un DMVR para aplicar un refinamiento de vector de movimiento a un bloque actual (E900).
Es decir, el aparato de codificación puede determinar si aplicar un refinamiento de vector de movimiento en consideración de la eficiencia de codificación, complejidad y rendimiento de predicción. En este caso, el aparato de codificación puede determinar si aplicar el refinamiento al bloque actual usando diversas condiciones de aplicación descritas en la Tabla 1 a la Tabla 25 como anteriormente.
Como una realización, el aparato de codificación puede usar si se aplica al bloque actual un modo de predicción en el que se combinan una interpredicción y una intrapredicción como la condición de aplicación del DMVR. Es decir, si el modo de predicción en el que se combinan la interpredicción y la intrapredicción no se aplica al bloque actual, el aparato de codificación puede determinar que se satisface la condición de aplicación del DMVR.
En este caso, si el modo de predicción en el que se combinan la interpredicción y la intrapredicción se aplica al bloque actual puede representarse a través de información de indicador de interpredicción e intrapredicción combinadas (CIIP) (p. ej., ciip_flag). Por ejemplo, si un valor de ciip_flag es igual a 0, puede representarse que un modo de CIIP (es decir, el modo de predicción en el que se combinan la interpredicción y la intrapredicción) no se aplica al bloque actual, mientras que si el valor de ciip_flag es igual a 1, puede representarse que el modo de CIIP se aplica al bloque actual. Alternativamente, puede determinarse viceversa.
El aparato de codificación puede determinar el valor de ciip_flag dependiendo de si el modo CIIP se aplica al bloque actual, y codificar y señalizar esta información a un aparato de decodificación.
Además, según una realización, el aparato de codificación puede incluir, además, las siguientes condiciones como las condiciones de aplicación del DMVR.
1) Un caso en el que se habilita la inter bipredicción basada en DMVR, por ejemplo, un caso en el que un valor de sps_dmvr_enabled_flag es igual a 1
2) Un caso en el que se aplica un modo de fusión al bloque actual, por ejemplo, un caso en el que un valor de merge_flag es igual a 1
3 ) U n c a s o e n e l q u e u n m o d o d e f u s ió n c o n u n m o d o d e d i f e r e n c ia d e v e c to r d e m o v im ie n to ( M M V D ) n o s e a p l ic a a l b lo q u e a c tu a l, p o r e je m p lo , u n c a s o e n e l q u e u n v a lo r d e m m v d _ f la g e s ig u a l a 0
4 ) U n c a s o e n e l q u e s e l le v a a c a b o u n a b ip r e d ic c ió n b a s á n d o s e e n u n a im a g e n d e r e fe r e n c ia L 0 y u n a im a g e n d e r e fe r e n c ia L1 s e a p l ic a a l b lo q u e a c tu a l, p o r e je m p lo , u n c a s o d e p r e d F la g L 0 [0 ] [0 ]= 1 y p r e d F la g L 0 [1 ] [1 ]= 1 5 ) U n c a s o e n e l q u e u n a d is t a n c ia d e s d e la im a g e n d e r e fe r e n c ia L 0 y u n a d is t a n c ia d e s d e la im a g e n d e r e fe r e n c ia L1 s o n ig u a le s e n t r e s í e n b a s e a la im a g e n a c tu a l, p o r e je m p lo , u n c a s o e n e l q u e D if fP ic O r d e r C n t ( c u r r P ic , R e fP ic L is t0 [ r e f I d x L 0 ] ) - D if fP ic O r d e r C n t ( c u r r P ic , R e fP ic L is t1 [ r e f Id x L 1 ]) e s ig u a l a 0
6 ) U n c a s o e n e l q u e u n v a lo r d e in f o r m a c ió n d e ín d ic e d e p o n d e r a c ió n d e b ip r e d ic c ió n d e l b lo q u e a c tu a l e s ig u a l a 0 , p o r e je m p lo , u n c a s o e n e l q u e G b i Id x e s ig u a l a 0
7 ) U n c a s o e n e l q u e la a l t u r a d e l b lo q u e a c tu a l e s ig u a l a o m a y o r q u e 8 , p o r e je m p lo , u n c a s o e n e l q u e C b H e ig h t e s ig u a l a o m a y o r q u e 8
8 ) U n c a s o e n e l q u e u n a n c h o d e l b lo q u e a c tu a l e s ig u a l a o m a y o r q u e 8 , p o r e je m p lo , u n c a s o e n e l q u e C b W id th e s ig u a l a o m a y o r q u e 8 , y
9 ) U n c a s o e n e l q u e a l t u r a x a n c h o d e l b lo q u e a c tu a l e s m a y o r q u e 8 x 8 , p o r e je m p lo , u n c a s o e n e l q u e C b H e ig h t * C b W id th e s m a y o r q u e 64
E l a p a r a to d e c o d i f ic a c ió n p u e d e d e t e r m in a r q u e s e s a t is fa c e la c o n d ic ió n d e a p l ic a c ió n d e l D M V R e n c a s o d e q u e s e s a t is fa g a n a l m e n o s u n a o to d a s d e la s 1 ) a 9 ) .
E n e s te c a s o , a l d e t e r m in a r s i s e s a t is fa c e la c o n d ic ió n d e a p l ic a c ió n d e l D M V R , la s c o n d ic io n e s d e a p l ic a c ió n d e D M V R e n u m e r a d a s s o n m e r a m e n te a m o d o d e e je m p lo , y la s c o n d ic io n e s e n la T a b la 1 a la T a b la 25 c o m o s e d e s c r ib ió a n te r io r m e n te p u e d e n c o m b in a r s e y u s a r s e d e d iv e r s a s m a n e r a s .
E n e s te c a s o , e l v e c to r d e m o v im ie n to L 0 y e l v e c to r d e m o v im ie n to L1 p u e d e n s e r u n v e c to r d e m o v im ie n to e n u n a d ir e c c ió n d e p r e d ic c ió n L 0 y u n v e c to r d e m o v im ie n to e n u n a d ir e c c ió n d e p r e d ic c ió n L1 d e r iv a d o a p l ic a n d o u n m o d o d e fu s ió n / m o d o d e s a lto a l b lo q u e a c tu a l. P o r e je m p lo , e l a p a r a to d e c o d i f ic a c ió n p u e d e d e t e r m in a r s i e l m o d o d e s a lto o e l m o d o d e fu s ió n s e a p l ic a n a l b lo q u e a c tu a l. E n c a s o d e q u e e l m o d o d e s a lto o e l m o d o d e fu s ió n s e a p l iq u e a l b lo q u e a c tu a l, e l a p a r a to d e c o d i f ic a c ió n p u e d e c o n s t r u i r u n a l is ta d e c a n d id a t o s d e fu s ió n b a s á n d o s e e n b lo q u e s v e c in o s d e l b lo q u e a c tu a l. E n e s te m o m e n to , e s p o s ib le d e r iv a r u n b lo q u e d e r e fe r e n c ia q u e t ie n e u n a d i f e r e n c ia d e l b lo q u e a c tu a l, q u e e s m ín im a o ig u a l a o m e n o r q u e u n a r e fe r e n c ia e s p e c í f ic a , e n t r e lo s b lo q u e s d e r e fe r e n c ia in d ic a d o s p o r c a n d id a t o s d e fu s ió n in c lu id o s e n la l is ta d e c a n d id a to s d e fu s ió n . E n e s te c a s o , s e p u e d e s e le c c io n a r u n c a n d id a to d e fu s ió n r e la c io n a d o c o n e l b lo q u e d e r e fe r e n c ia d e r iv a d o , y la in f o r m a c ió n d e ín d ic e d e fu s ió n q u e in d ic a e l c a n d id a to d e fu s ió n s e le c c io n a d o s e p u e d e g e n e r a r y s e ñ a l iz a r a l a p a r a to d e d e c o d i f ic a c ió n . E n e s te m o m e n to , la in f o r m a c ió n d e m o v im ie n to ( v e c to r d e m o v im ie n to , ín d ic e d e im á g e n e s d e r e fe r e n c ia y s im i la r e s ) d e l b lo q u e a c tu a l p u e d e d e r iv a r s e u s a n d o la in f o r m a c ió n d e m o v im ie n to ( v e c to r d e m o v im ie n to , ín d ic e d e im á g e n e s d e r e fe r e n c ia y s im i la r e s ) d e l c a n d id a to d e fu s ió n s e le c c io n a d o . E n o t r a s p a la b r a s , e l v e c to r d e m o v im ie n to L 0 y e l v e c to r d e m o v im ie n to L1 d e l b lo q u e a c tu a l p u e d e n d e r iv a r s e e n b a s e a l v e c to r d e m o v im ie n to d e l b lo q u e v e c in o in d ic a d o p o r e l ín d ic e d e fu s ió n e n t r e lo s b lo q u e s v e c in o s d e l b lo q u e a c tu a l.
A d e m á s , p o r e je m p lo , e n c a s o d e q u e e l m o d o d e fu s ió n s e a p l iq u e a l b lo q u e a c tu a l, e l a p a r a to d e c o d i f ic a c ió n p u e d e d e te r m in a r s i s e a p l ic a u n a b ip r e d ic c ió n a l c a n d id a to d e fu s ió n (e s d e c ir , b lo q u e v e c in o ) in d ic a d o p o r e l ín d ic e d e fu s ió n . E n c a s o d e q u e la b ip r e d ic c ió n s e a p l iq u e a l b lo q u e v e c in o in d ic a d o p o r e l ín d ic e d e fu s ió n , e l a p a r a to d e c o d i f ic a c ió n p u e d e d e r iv a r la in fo r m a c ió n d e m o v im ie n to q u e in c lu y e e l v e c to r d e m o v im ie n to e n la d ir e c c ió n d e p r e d ic c ió n L 0 y e l v e c to r d e m o v im ie n to e n la d ir e c c ió n d e p r e d ic c ió n L1 d e l b lo q u e v e c in o in d ic a d o p o r e l ín d ic e d e fu s ió n .
C o m o u n a r e a l iz a c ió n , e l a p a r a to d e c o d i f ic a c ió n p u e d e c a lc u la r u n á r e a d e m u e s t r a q u e t ie n e la S A D m ín im a e n t r e m u e s t r a s d e p r e d ic c ió n (e s d e c ir , m u e s t r a s d e p r e d ic c ió n L 0 ) e n la im a g e n d e r e fe r e n c ia L 0 d e r iv a d a b a s á n d o s e e n e l v e c to r d e m o v im ie n to L 0 y m u e s t r a s d e p r e d ic c ió n ( e s d e c ir , m u e s t r a s d e p r e d ic c ió n L 1 ) e n la im a g e n d e r e fe r e n c ia L1 d e r iv a d a b a s á n d o s e e n e l v e c to r d e m o v im ie n to L 1. A d e m á s , e l a p a r a to d e c o d i f ic a c ió n p u e d e l le v a r a c a b o u n r e f in a m ie n to b a s a d o e n D M V R p a r a e l v e c to r d e m o v im ie n to L 0 y e l v e c to r d e m o v im ie n to L1 e n b a s e a l á r e a d e m u e s t r a q u e t ie n e la S A D m ín im a . D a d o q u e e l p r o c e s o d e c á lc u lo d e la S A D m ín im a y r e a l iz a c ió n d e l r e f in a m ie n to s e h a e x p l ic a d o c o n r e fe r e n c ia a la s F IG S . 4 y 5 , s e o m it i r á s u e x p l ic a c ió n d e ta l la d a .
E n e s te m o m e n to , a l l le v a r a c a b o e l r e f in a m ie n to b a s a d o e n D M V R , e l a p a r a to d e c o d i f ic a c ió n p u e d e d e r iv a r e l v e c to r d e m o v im ie n to L 0 r e f in a d o y e l v e c to r d e m o v im ie n to L1 r e f in a d o l le v a n d o a c a b o e l r e f in a m ie n to e n c a s o d e q u e la d is t a n c ia e n t r e la im a g e n d e r e fe r e n c ia L 0 y la im a g e n a c tu a l y la d is t a n c ia e n t r e la im a g e n d e r e fe r e n c ia L1 y la im a g e n a c tu a l s e a n ig u a le s e n t r e s í.
E l a p a r a to d e c o d i f ic a c ió n p u e d e d e r iv a r la s m u e s t r a s d e p r e d ic c ió n p a r a e l b lo q u e a c tu a l e n b a s e a l v e c to r d e m o v im ie n to L 0 r e f in a d o y a l v e c to r d e m o v im ie n to L1 r e f in a d o (E 930 ) .
S e g ú n u n a r e a l iz a c ió n , e l a p a r a to d e c o d i f ic a c ió n p u e d e d e t e r m in a r s i s e s a t is fa c e la c o n d ic ió n d e a p l ic a c ió n d e l B D O F p a r a a p l ic a r e l r e f in a m ie n to a la s m u e s t r a s d e p r e d ic c ió n d e l b lo q u e a c tu a l. E s d e c ir , e l a p a r a to d e c o d i f ic a c ió n p u e d e a p l ic a r e l r e f in a m ie n to a u n a s e ñ a l d e p r e d ic c ió n e n c o n s id e r a c ió n d e la e f ic ie n c ia d e c o d i f ic a c ió n , c o m p le j id a d y r e n d im ie n to d e p r e d ic c ió n . E n e s te c a s o , e l a p a r a to d e c o d i f ic a c ió n p u e d e d e t e r m in a r s i a p l ic a r e l r e f in a m ie n to a la s m u e s t r a s d e p r e d ic c ió n d e l b lo q u e a c tu a l u s a n d o v a r ia s c o n d ic io n e s d e a p l ic a c ió n e x p l ic a d a s c o n r e fe r e n c ia a la T a b la 1 a la T a b la 25 c o m o a n te r io r m e n te .
P o r e je m p lo , e l a p a r a to d e c o d i f ic a c ió n p u e d e u s a r s i e l m o d o d e p r e d ic c ió n e n e l q u e s e c o m b in a n la in te r p r e d ic c ió n y la in t r a p r e d ic c ió n s e a p l ic a a l b lo q u e a c tu a l c o m o la c o n d ic ió n d e a p l ic a c ió n d e l B D O F . C o m o s e h a d e s c r i to a n te r io r m e n te , e n c a s o d e q u e e l v a lo r d e la in f o r m a c ió n d e in d ic a d o r d e C I IP (p . e j. , c i ip _ f la g ) s e a ig u a l a 0 , e l a p a r a to d e c o d i f ic a c ió n p u e d e d e t e r m in a r q u e s e s a t is fa c e la c o n d ic ió n d e a p l ic a c ió n d e l B D O F .
A d e m á s , s e g ú n u n a r e a l iz a c ió n , e l a p a r a to d e c o d i f ic a c ió n p u e d e in c lu ir a d e m á s la s s ig u ie n te s c o n d ic io n e s c o m o la s c o n d ic io n e s d e a p l ic a c ió n d e l B D O F .
1 ) U n c a s o e n e l q u e s e h a b i l i t a la in t e r p r e d ic c ió n b a s a d a e n B D O F , p o r e je m p lo , u n c a s o e n e l q u e u n v a lo r d e s p s _ b d o f_ e n a b le d _ f la g e s ig u a l a 1
2 ) U n c a s o e n e l q u e n o s e a p l ic a u n m o d o d e fu s ió n b a s a d o e n s u b b lo q u e s a l b lo q u e a c tu a l, p o r e je m p lo , u n c a s o e n e l q u e u n v a lo r d e m e r g e _ s u b b lo c k _ f la g e s ig u a l a 0
3 ) U n c a s o e n e l q u e s e l le v a a c a b o u n a b ip r e d ic c ió n b a s á n d o s e e n la im a g e n d e r e fe r e n c ia L 0 y la im a g e n d e r e fe r e n c ia L1 s e a p l ic a a l b lo q u e a c tu a l, p o r e je m p lo , u n c a s o d e p r e d F la g L 0 = 1 y p r e d F la g L 1 = 1
4 ) U n c a s o e n e l q u e la d is t a n c ia d e s d e la im a g e n d e r e fe r e n c ia L 0 y la d is t a n c ia d e s d e la im a g e n d e r e fe r e n c ia L1 s o n ig u a le s e n t r e s í b a s á n d o s e e n la im a g e n a c tu a l, p o r e je m p lo , u n c a s o e n e l q u e D if fP ic O r d e r C n t ( c u r r P ic , R e fP ic L is t0 [ r e f I d x L 0 ] ) - D if fP ic O r d e r C n t ( c u r r P ic , R e fP ic L is t1 [ r e f Id x L 1 ]) e s ig u a l a 0
5 ) U n c a s o e n e l q u e u n v a lo r d e in f o r m a c ió n d e ín d ic e d e p o n d e r a c ió n d e b ip r e d ic c ió n d e l b lo q u e a c tu a l e s ig u a l a 0 , p o r e je m p lo , u n c a s o e n e l q u e G b i Id x e s ig u a l a 0
6 ) U n c a s o e n e l q u e n o s e a p l ic a u n m o d o a f ín a l b lo q u e a c tu a l, p o r e je m p lo , M o t io n M o d e l Id c e s ig u a l a 0 7 ) U n c a s o e n e l q u e la a l t u r a d e l b lo q u e a c tu a l e s ig u a l a o m a y o r q u e 8 , p o r e je m p lo , u n c a s o e n e l q u e C b H e ig h t e s ig u a l a o m a y o r q u e 8
8 ) U n c a s o e n e l q u e u n a n c h o d e l b lo q u e a c tu a l e s ig u a l a o m a y o r q u e 8 , p o r e je m p lo , u n c a s o e n e l q u e C b W id th e s ig u a l a o m a y o r q u e 8 , y
9 ) U n c a s o e n e l q u e a l t u r a x a n c h o d e l b lo q u e a c tu a l e s m a y o r q u e 8 x 8 , p o r e je m p lo , u n c a s o e n e l q u e C b H e ig h t * C b W id th e s m a y o r q u e 64
E l a p a r a to d e c o d i f ic a c ió n p u e d e d e t e r m in a r q u e s e s a t is fa c e la c o n d ic ió n d e a p l ic a c ió n d e l B D O F e n c a s o d e q u e s e s a t is fa g a n a l m e n o s u n a o to d a s d e la s 1 ) a 9 ).
E n e s te c a s o , a l d e t e r m in a r s i s e s a t is fa c e la c o n d ic ió n d e a p l ic a c ió n d e l B D O F , la s c o n d ic io n e s d e a p l ic a c ió n d e l B D O F e n u m e r a d a s s o n m e r a m e n te a m o d o d e e je m p lo , y la s c o n d ic io n e s e n la T a b la 1 a la T a b la 25 c o m o s e d e s c r ib ie r o n a n t e r io r m e n te p u e d e n c o m b in a r s e y u s a r s e d e d iv e r s a s m a n e r a s .
E l a p a r a to d e c o d i f ic a c ió n p u e d e d e r iv a r m u e s t r a s r e s id u a le s b a s á n d o s e e n la s m u e s t r a s d e p r e d ic c ió n ( E 940 ) , y p u e d e c o d i f i c a r in f o r m a c ió n d e im a g e n q u e in c lu y e in f o r m a c ió n s o b r e la s m u e s t r a s r e s id u a le s ( E 950 ) .
E s d e c ir , e l a p a r a to d e c o d i f ic a c ió n p u e d e d e r iv a r la s m u e s t r a s r e s id u a le s e n b a s e a la s m u e s t r a s o r ig in a le s d e l b lo q u e a c tu a l y la s m u e s t r a s d e p r e d ic c ió n d e l b lo q u e a c tu a l. A d e m á s , e l a p a r a to d e c o d i f ic a c ió n p u e d e g e n e r a r in fo r m a c ió n s o b r e la s m u e s t r a s r e s id u a le s . E n e s te c a s o , la in f o r m a c ió n s o b r e la s m u e s t r a s r e s id u a le s p u e d e in c lu ir in fo r m a c ió n d e v a lo r , in f o r m a c ió n d e u b ic a c ió n , t é c n ic a d e t r a n s fo r m a d a , n ú c le o d e t r a n s fo r m a d a e in f o r m a c ió n d e p a r á m e t r o s d e c u a n t i f ic a c ió n d e c o e f ic ie n te s d e t r a n s fo r m a d a c u a n t i f ic a d o s d e r iv a d o s l le v a n d o a c a b o la t r a n s fo r m a d a y c u a n t i f ic a c ió n d e la s m u e s t r a s r e s id u a le s .
El aparato de codificación puede codificar y emitir la información sobre las muestras residuales en forma de un flujo de bits, y puede transmitir la información de salida al aparato de decodificación a través de una red o un medio de almacenamiento.
Además, el aparato de codificación puede codificar y emitir la información derivada en las etapas E900 a E930 descritas más arriba en forma de un flujo de bits. Por ejemplo, la información de indicador de CIIP, la información de indicador habilitado de DMVR, la información de indicador de fusión, la información de indicador de MMVD, la información de indicador habilitado de BDOF y la información de indicador de fusión basada en subbloques pueden incluirse en la información de imagen que va a codificarse, y la información de imagen codificada puede señalizarse al aparato de decodificación.
La FIG. 10 es un diagrama de flujo que ilustra esquemáticamente un método de decodificación que puede ser llevado a cabo por un aparato de decodificación según una realización de esta descripción.
El método descrito en la FIG. 10 puede llevarse a cabo por el aparato 300 de decodificación descrito en la FIG. 3. Específicamente, las etapas E1000 a E1030 de la FIG. 10 pueden ser llevadas a cabo por el predictor 330 y el interpredictor 332 descritos en la FIG. 3, y la etapa E1040 de la FIG. 10 puede ser llevada a cabo por el sumador 340 descrito en la FIG. 3. Además, el método descrito en la FIG. 10 puede incluir las realizaciones descritas más arriba en esta descripción. Por consiguiente, la explicación detallada del contenido duplicado con respecto a las realizaciones descritas más arriba en la FIG. 10 se omitirá o simplificará.
Con referencia a la FIG. 10, el aparato de decodificación puede determinar si se satisface una condición de aplicación de un DMVR para aplicar un refinamiento de vector de movimiento a un bloque actual (E1000).
En este caso, el aparato de decodificación puede determinar si aplicar el refinamiento al bloque actual usando diversas condiciones de aplicación descritas en la Tabla 1 a la Tabla 25 como anteriormente.
Como una realización, el aparato de decodificación puede usar si se aplica al bloque actual un modo de predicción en el que se combinan una interpredicción y una intrapredicción como la condición de aplicación del DMVR. Es decir, si el modo de predicción en el que se combinan la interpredicción y la intrapredicción no se aplica al bloque actual, el aparato de decodificación puede determinar que se satisface la condición de aplicación del DMVR.
En este caso, si el modo de predicción en el que se combinan la interpredicción y la intrapredicción se aplica al bloque actual puede representarse a través de información de indicador de interpredicción e intrapredicción combinadas (CIIP) (p. ej., ciip_flag). Por ejemplo, si un valor de ciip_flag es igual a 0, puede representarse que un modo de CIIP (es decir, el modo de predicción en el que se combinan la interpredicción y la intrapredicción) no se aplica al bloque actual, mientras que si el valor de ciip_flag es igual a 1, puede representarse que el modo de CIIP se aplica al bloque actual. Alternativamente, puede determinarse viceversa.
Por ejemplo, el aparato de decodificación puede obtener un flujo de bits del aparato de codificación, y puede decodificar la información de indicador CIIP incluida en el flujo de bits. Además, el aparato de decodificación puede determinar que se satisface la condición de aplicación del DMVR en caso de que el valor de la información de indicador de CIIP sea igual a 0.
Además, según una realización, la condición de aplicación del DMVR puede incluir, además, las siguientes condiciones.
1) Un caso en el que se habilita la inter bipredicción basada en DMVR, por ejemplo, un caso en el que un valor de sps_dmvr_enabled_flag es igual a 1
2) Un caso en el que se aplica un modo de fusión al bloque actual, por ejemplo, un caso en el que un valor de merge_flag es igual a 1
3) Un caso en el que un modo de fusión con un modo de diferencia de vector de movimiento (MMVD) no se aplica al bloque actual, por ejemplo, un caso en el que un valor de mmvd_flag es igual a 0
4) Un caso en el que se lleva a cabo una bipredicción basándose en una imagen de referencia L0 y una imagen de referencia L1 se aplica al bloque actual, por ejemplo, un caso de predFlagL0[0][0]=1 y pred FlagL0[1 ][1]=1
5) Un caso en el que una distancia desde la imagen de referencia L0 y una distancia desde la imagen de referencia L1 son iguales entre sí en base a la imagen actual, por ejemplo, un caso en el que DiffPicOrderCnt(currPic, RefPicList0 [refIdxL0]) - DiffPicOrderCnt(currPic, RefPicList1 [ refIdxL1 ]) es igual a 0
6) Un caso en el que un valor de información de índice de ponderación de bipredicción del bloque actual es igual a 0, por ejemplo, un caso en el que GbiIdx es igual a 0
7) Un caso en el que la altura del bloque actual es igual a o mayor que 8, por ejemplo, un caso en el que CbHeight es igual a o mayor que 8
8) Un caso en el que un ancho del bloque actual es igual a o mayor que 8, por ejemplo, un caso en el que CbWidth e s ig u a l a o m a y o r q u e 8 , y
9 ) U n c a s o e n e l q u e a l t u r a x a n c h o d e l b lo q u e a c tu a l e s m a y o r q u e 8 x 8 , p o r e je m p lo , u n c a s o e n e l q u e C b H e ig h t * C b W id th e s m a y o r q u e 64
E l a p a r a to d e d e c o d i f ic a c ió n p u e d e d e t e r m in a r q u e s e s a t is fa c e la c o n d ic ió n d e a p l ic a c ió n d e l D M V R e n c a s o d e q u e s e s a t is fa g a n a l m e n o s u n a o to d a s d e 1 ) a 9 ) .
E n e s te c a s o , a l d e t e r m in a r s i s e s a t is fa c e la c o n d ic ió n d e a p l ic a c ió n d e l D M V R , la s c o n d ic io n e s d e a p l ic a c ió n d e D M V R e n u m e r a d a s s o n m e r a m e n te a m o d o d e e je m p lo , y la s c o n d ic io n e s e n la T a b la 1 a la T a b la 25 c o m o s e d e s c r ib ie r o n a n t e r io r m e n te p u e d e n c o m b in a r s e y u s a r s e d e d iv e r s a s m a n e r a s .
E n e s te c a s o , e l v e c to r d e m o v im ie n to L 0 y e l v e c to r d e m o v im ie n to L1 p u e d e n s e r u n v e c to r d e m o v im ie n to e n u n a d ir e c c ió n d e p r e d ic c ió n L 0 y u n v e c to r d e m o v im ie n to e n u n a d ir e c c ió n d e p r e d ic c ió n L1 d e r iv a d o s a p l ic a n d o u n m o d o d e f u s ió n / m o d o d e s a lto p a r a e l b lo q u e a c tu a l. P o r e je m p lo , e l a p a r a to d e d e c o d i f ic a c ió n p u e d e d e t e r m in a r s i e l m o d o d e s a lt o o e l m o d o d e fu s ió n s e a p l ic a n a l b lo q u e a c tu a l. E n c a s o d e q u e e l m o d o d e s a lto o e l m o d o d e fu s ió n s e a p l iq u e a l b lo q u e a c tu a l, e l a p a r a to d e d e c o d i f ic a c ió n p u e d e c o n s t r u i r u n a l is ta d e c a n d id a t o s d e fu s ió n b a s á n d o s e e n b lo q u e s v e c in o s d e l b lo q u e a c tu a l. E n e s te m o m e n to , s e p u e d e s e le c c io n a r u n c a n d id a to d e fu s ió n d e la l is ta d e c a n d id a t o s d e fu s ió n e n b a s e a la in f o r m a c ió n d e ín d ic e d e fu s ió n q u e s e s e ñ a la d e s d e e l a p a r a to d e c o d i f ic a c ió n . El a p a r a to d e d e c o d i f ic a c ió n p u e d e d e r iv a r in f o r m a c ió n d e m o v im ie n to ( v e c to r d e m o v im ie n to , ín d ic e d e im á g e n e s d e r e fe r e n c ia y s im i la r e s ) d e l b lo q u e a c tu a l u s a n d o la in f o r m a c ió n d e m o v im ie n to ( v e c to r d e m o v im ie n to , ín d ic e d e im á g e n e s d e r e fe r e n c ia y s im i la r e s ) d e l c a n d id a to d e fu s ió n s e le c c io n a d o . E s d e c ir , la in f o r m a c ió n d e m o v im ie n to d e l c a n d id a to d e fu s ió n s e le c c io n a d o p o r e l ín d ic e d e fu s ió n e n t r e c a n d id a t o s d e fu s ió n in c lu id o s e n la l is ta d e c a n d id a to s d e fu s ió n p u e d e u s a r s e c o m o la in f o r m a c ió n d e m o v im ie n to d e l b lo q u e a c tu a l. E n o t r a s p a la b r a s , e l v e c to r d e m o v im ie n to L 0 y e l v e c to r d e m o v im ie n to L1 d e l b lo q u e a c tu a l p u e d e n d e r iv a r s e e n b a s e a l v e c to r d e m o v im ie n to d e l b lo q u e v e c in o in d ic a d o p o r e l ín d ic e d e f u s ió n e n t r e lo s b lo q u e s v e c in o s d e l b lo q u e a c tu a l.
A d e m á s , p o r e je m p lo , e n c a s o d e q u e e l m o d o d e fu s ió n s e a p l iq u e a l b lo q u e a c tu a l, e l a p a r a to d e d e c o d i f ic a c ió n p u e d e d e te r m in a r s i s e a p l ic a u n a b ip r e d ic c ió n a l c a n d id a to d e fu s ió n (e s d e c ir , b lo q u e v e c in o ) in d ic a d o p o r e l ín d ic e d e fu s ió n . E n c a s o d e q u e la b ip r e d ic c ió n s e a p l iq u e a l b lo q u e v e c in o in d ic a d o p o r e l ín d ic e d e fu s ió n , e l a p a r a to d e d e c o d i f ic a c ió n p u e d e d e r iv a r la in fo r m a c ió n d e m o v im ie n to q u e in c lu y e e l v e c to r d e m o v im ie n to e n la d ir e c c ió n d e p r e d ic c ió n L 0 y e l v e c to r d e m o v im ie n to e n la d ir e c c ió n d e p r e d ic c ió n L1 d e l b lo q u e v e c in o in d ic a d o p o r e l ín d ic e d e fu s ió n .
C o m o u n a r e a l iz a c ió n , e l a p a r a to d e d e c o d i f ic a c ió n p u e d e c a lc u la r u n á r e a d e m u e s t r a q u e t ie n e la S A D m ín im a e n t r e m u e s t r a s d e p r e d ic c ió n (e s d e c ir , m u e s t r a s d e p r e d ic c ió n L 0 ) e n la im a g e n d e r e fe r e n c ia L 0 d e r iv a d a b a s á n d o s e e n e l v e c to r d e m o v im ie n to L 0 y m u e s t r a s d e p r e d ic c ió n (e s d e c ir , m u e s t r a s d e p r e d ic c ió n L 1 ) e n la im a g e n d e r e fe r e n c ia L1 d e r iv a d a b a s á n d o s e e n e l v e c to r d e m o v im ie n to L 1. A d e m á s , e l a p a r a to d e d e c o d i f ic a c ió n p u e d e l le v a r a c a b o u n r e f in a m ie n to b a s a d o e n D M V R p a r a e l v e c to r d e m o v im ie n to L 0 y e l v e c to r d e m o v im ie n to L1 e n b a s e a l á r e a d e m u e s t r a q u e t ie n e la S A D m ín im a . D a d o q u e e l p r o c e s o d e c á lc u lo d e la S A D m ín im a y r e a l iz a c ió n d e l r e f in a m ie n to s e h a e x p l ic a d o c o n r e fe r e n c ia a la s F IG S . 4 y 5 , s e o m it i r á s u e x p l ic a c ió n d e ta l la d a .
E n e s te m o m e n to , a l l le v a r a c a b o e l r e f in a m ie n to b a s a d o e n D M V R , e l a p a r a to d e d e c o d i f ic a c ió n p u e d e d e r iv a r e l v e c to r d e m o v im ie n to L 0 r e f in a d o y e l v e c to r d e m o v im ie n to L1 r e f in a d o l le v a n d o a c a b o e l r e f in a m ie n to e n c a s o d e q u e la d is t a n c ia e n t r e la im a g e n d e r e fe r e n c ia L 0 y la im a g e n a c tu a l y la d is t a n c ia e n t r e la im a g e n d e r e fe r e n c ia L1 y la im a g e n a c tu a l s e a n ig u a le s e n t r e s í.
E l a p a r a to d e d e c o d i f ic a c ió n p u e d e d e r iv a r la s m u e s t r a s d e p r e d ic c ió n p a r a e l b lo q u e a c tu a l e n b a s e a l v e c to r d e m o v im ie n to L 0 r e f in a d o y a l v e c to r d e m o v im ie n to L1 r e f in a d o ( E 1030 ) .
S e g ú n u n a r e a l iz a c ió n , e l a p a r a to d e d e c o d i f ic a c ió n p u e d e d e t e r m in a r s i s e s a t is fa c e la c o n d ic ió n d e a p l ic a c ió n d e l B D O F p a r a a p l ic a r e l r e f in a m ie n to a la s m u e s t r a s d e p r e d ic c ió n d e l b lo q u e a c tu a l.
E n e s te c a s o , e l a p a r a to d e d e c o d i f ic a c ió n p u e d e d e t e r m in a r s i a p l ic a r e l r e f in a m ie n to a la s m u e s t r a s d e p r e d ic c ió n d e l b lo q u e a c tu a l u s a n d o d iv e r s a s c o n d ic io n e s d e a p l ic a c ió n e x p l ic a d a s c o n r e fe r e n c ia a la T a b la 1 a la T a b la 25 c o m o a n te r io r m e n te .
A d e m á s , s e g ú n u n a r e a l iz a c ió n , la s c o n d ic io n e s d e a p l ic a c ió n d e l B D O F p u e d e n in c lu ir a d e m á s la s s ig u ie n te s c o n d ic io n e s .
1 ) U n c a s o e n e l q u e s e h a b i l i t a la in t e r p r e d ic c ió n b a s a d a e n B D O F , p o r e je m p lo , u n c a s o e n e l q u e u n v a lo r d e s p s _ b d o f_ e n a b le d _ f la g e s ig u a l a 1
2 ) U n c a s o e n e l q u e n o s e a p l ic a u n m o d o d e fu s ió n b a s a d o e n s u b b lo q u e s a l b lo q u e a c tu a l, p o r e je m p lo , u n c a s o e n e l q u e u n v a lo r d e m e r g e _ s u b b lo c k _ f la g e s ig u a l a 0
3 ) U n c a s o e n e l q u e s e l le v a a c a b o u n a b ip r e d ic c ió n b a s á n d o s e e n la im a g e n d e r e fe r e n c ia L 0 y la im a g e n d e r e fe r e n c ia L1 s e a p l ic a a l b lo q u e a c tu a l, p o r e je m p lo , u n c a s o d e p r e d F la g L 0 = 1 y p r e d F la g L 1 = 1
4 ) U n c a s o e n e l q u e la d is t a n c ia d e s d e la im a g e n d e r e fe r e n c ia L 0 y la d is t a n c ia d e s d e la im a g e n d e r e fe r e n c ia L1 s o n ig u a le s e n t r e s í b a s á n d o s e e n la im a g e n a c tu a l, p o r e je m p lo , u n c a s o e n e l q u e D if fP ic O r d e r C n t ( c u r r P ic , R e fP ic L is t0 [ r e f I d x L 0 ] ) - D if fP ic O r d e r C n t ( c u r r P ic , R e fP ic L is t1 [ r e f Id x L 1 ]) e s ig u a l a 0
5 ) U n c a s o e n e l q u e u n v a lo r d e in f o r m a c ió n d e ín d ic e d e p o n d e r a c ió n d e b ip r e d ic c ió n d e l b lo q u e a c tu a l e s ig u a l a 0 , p o r e je m p lo , u n c a s o e n e l q u e G b i Id x e s ig u a l a 0
6 ) U n c a s o e n e l q u e n o s e a p l ic a u n m o d o a f ín a l b lo q u e a c tu a l, p o r e je m p lo , M o t io n M o d e l Id c e s ig u a l a 0 7 ) U n c a s o e n e l q u e la a l t u r a d e l b lo q u e a c tu a l e s ig u a l a o m a y o r q u e 8 , p o r e je m p lo , u n c a s o e n e l q u e C b H e ig h t e s ig u a l a o m a y o r q u e 8
8 ) U n c a s o e n e l q u e u n a n c h o d e l b lo q u e a c tu a l e s ig u a l a o m a y o r q u e 8 , p o r e je m p lo , u n c a s o e n e l q u e C b W id th e s ig u a l a o m a y o r q u e 8 , y
9 ) U n c a s o e n e l q u e a l t u r a x a n c h o d e l b lo q u e a c tu a l e s m a y o r q u e 8 x 8 , p o r e je m p lo , u n c a s o e n e l q u e C b H e ig h t * C b W id th e s m a y o r q u e 64
E l a p a r a to d e d e c o d i f ic a c ió n p u e d e d e t e r m in a r q u e s e s a t is fa c e la c o n d ic ió n d e a p l ic a c ió n d e l B D O F e n c a s o d e q u e s e s a t is fa g a n a l m e n o s u n a o to d a s d e 1 ) a 9 ).
E n e s te c a s o , a l d e t e r m in a r s i s e s a t is fa c e la c o n d ic ió n d e a p l ic a c ió n d e l B D O F , la s c o n d ic io n e s d e a p l ic a c ió n d e l B D O F e n u m e r a d a s s o n m e r a m e n te a m o d o d e e je m p lo , y la s c o n d ic io n e s e n la T a b la 1 a la T a b la 25 c o m o s e d e s c r ib ie r o n a n t e r io r m e n te p u e d e n c o m b in a r s e y u s a r s e d e d iv e r s a s m a n e r a s .
E l a p a r a to d e d e c o d i f ic a c ió n p u e d e g e n e r a r m u e s t r a s r e c o n s t r u id a s p a r a e l b lo q u e a c tu a l b a s á n d o s e e n la s m u e s t r a s d e p r e d ic c ió n ( E 1040 ) .
C o m o u n a r e a l iz a c ió n , e l a p a r a to d e d e c o d i f ic a c ió n p u e d e u s a r d ir e c ta m e n te la s m u e s t r a s d e p r e d ic c ió n c o m o la s m u e s t r a s r e c o n s t r u id a s s e g ú n e l m o d o d e p r e d ic c ió n , o p u e d e g e n e r a r la s m u e s t r a s r e c o n s t r u id a s a ñ a d ie n d o la s m u e s t r a s r e s id u a le s a la s m u e s t r a s d e p r e d ic c ió n .
E n c a s o d e q u e e x is t a la m u e s t r a r e s id u a l p a r a e l b lo q u e a c tu a l, e l a p a r a to d e d e c o d i f ic a c ió n p u e d e r e c ib i r la in f o r m a c ió n s o b r e e l r e s id u o p a r a e l b lo q u e a c tu a l. L a in f o r m a c ió n s o b r e e l r e s id u o p u e d e in c lu i r c o e f ic ie n te s d e t r a n s fo r m a d a p a r a la s m u e s t r a s r e s id u a le s . E l a p a r a to d e d e c o d i f ic a c ió n p u e d e d e r iv a r la s m u e s t r a s r e s id u a le s (o m a t r iz d e m u e s t r a s r e s id u a le s ) p a r a e l b lo q u e a c tu a l e n b a s e a la in f o r m a c ió n r e s id u a l. E l a p a r a to d e d e c o d i f ic a c ió n p u e d e g e n e r a r la s m u e s t r a s r e c o n s t r u id a s b a s á n d o s e e n la s m u e s t r a s d e p r e d ic c ió n y la s m u e s t r a s r e s id u a le s , y p u e d e d e r iv a r u n b lo q u e r e c o n s t r u id o o u n a im a g e n r e c o n s t r u id a b a s á n d o s e e n la s m u e s t r a s r e c o n s t r u id a s .
E n la s r e a l iz a c io n e s d e s c r i t a s a n te r io r m e n te , a u n q u e lo s m é to d o s s e h a n d e s c r i t o b a s á n d o s e e n lo s d ia g r a m a s d e f lu jo e n fo r m a d e u n a s e r ie d e e ta p a s o u n id a d e s , la s r e a l iz a c io n e s d e e s te d o c u m e n to n o s e l im ita n a l o r d e n d e la s e ta p a s , y a lg u n a s d e la s e ta p a s p u e d e n l le v a r s e a c a b o e n u n o r d e n d i f e r e n te d e l d e o t r a s e ta p a s o p u e d e n l le v a r s e a c a b o s im u l tá n e a m e n te a o t r a s e ta p a s . A d e m á s , lo s la s p e r s o n a s c o n e x p e r ie n c ia e n la té c n ic a e n te n d e r á n q u e la s e ta p a s m o s t r a d a s e n e l d ia g r a m a d e f lu jo n o s o n e x c lu y e n te s y la s e ta p a s p u e d e n in c lu i r e ta p a s a d ic io n a le s o q u e u n a o m á s e ta p a s e n e l d ia g r a m a d e f lu jo p u e d e n e l im in a r s e s in a fe c ta r a l a lc a n c e d e lo s d e r e c h o s d e e s te d o c u m e n to . E l m é to d o d e s c r i t o a n t e r io r m e n te s e g ú n e s te d o c u m e n to p u e d e im p le m e n ta r s e e n fo r m a d e s o f tw a r e , y e l a p a r a to d e c o d i f ic a c ió n y /o e l a p a r a to d e d e c o d i f ic a c ió n s e g ú n e s te d o c u m e n to p u e d e n in c lu ir s e e n u n a p a r a to p a r a l le v a r a c a b o p r o c e s a m ie n to d e im á g e n e s , p o r e je m p lo , T V , u n o r d e n a d o r , u n te lé f o n o in t e l ig e n te , u n d e c o d i f i c a d o r o u n d is p o s i t iv o d e v is u a l iz a c ió n .
E n e s te d o c u m e n to , c u a n d o la s r e a l iz a c io n e s s e im p le m e n ta n e n fo r m a d e s o f tw a r e , e l m é to d o d e s c r i t o a n te r io r m e n te c o d if ic a c ió n . P o r e je m p lo , c u a n d o e l c o n te n id o s e re c ib e d e l s e rv id o r d e c o d if ic a c ió n , e l c o n te n id o p u e d e re c ib irs e e n t ie m p o re a l. En e s te c a s o , c o n e l f in d e p ro v e e r u n s e rv ic io d e t r a n s m is ió n c o n t in u a s u a v e , e l s e rv id o r d e tra n s m is ió n c o n t in u a p u e d e a lm a c e n a r e l f lu jo d e b its d u ra n te un t ie m p o p re d e te rm in a d o .
E je m p lo s d e l d is p o s it iv o d e u s u a r io p u e d e n in c lu ir u n te lé fo n o m ó v il, u n te lé fo n o in te lig e n te , u n o rd e n a d o r p o r tá t i l, un te rm in a l d e ra d io d ifu s ió n d ig ita l, u n a s is te n te d ig ita l p e rs o n a l (P D A , p o r s u s s ig la s e n in g lé s ) , u n re p ro d u c to r m u lt im e d ia<p o r tá t i l (P M P , p o r s u s s ig la s e n in g lé s ), n a v e g a c ió n , un P C d e p iz a rra , P C d e ta b le ta ,>ultrabooks,<d is p o s it iv o s p o n ib le s>(p. e j., re lo je s in te lig e n te s , g a fa s in te lig e n te s , p a n ta lla s m o n ta d a s e n la c a b e z a ) , te le v is o re s d ig ita le s , o rd e n a d o r d e s o b re m e s a , s e ñ a liz a c ió n d ig ita l y s im ila re s .
C a d a s e rv id o r e n e l s is te m a d e t r a n s m is ió n c o n t in u a d e c o n te n id o p u e d e s e r o p e ra d o c o m o u n s e rv id o r d is tr ib u id o , e n c u y o c a s o lo s d a to s re c ib id o s d e c a d a s e rv id o r p u e d e n s e r d is tr ib u id o s .

Claims (7)

REIVINDICACIONES
1. Un método de decodificación de imágenes llevado a cabo por un aparato de decodificación, comprendiendo el método de decodificación de imágenes:
obtener información de indicador de inter e intra predicción combinadas, CIIP, de un flujo de bits; determinar (E1000) si se satisface una condición de aplicación de un refinamiento de vector de movimiento del lado del decodificador, DMVR, para aplicar un refinamiento de vector de movimiento a un bloque actual; derivar (E1010) una suma mínima de diferencias absolutas, SAD, en base a un vector de movimiento L0 y un vector de movimiento L1 del bloque actual en base a un caso donde se satisface la condición de aplicación del DMVR;
derivar (E1020) un vector de movimiento L0 refinado y un vector de movimiento L1 refinado para el bloque actual basándose en la SAD mínima basándose en un caso donde se satisface una condición de aplicación del DMVR; derivar (E1030) muestras de predicción para el bloque actual basándose en el vector de movimiento L0 refinado y el vector de movimiento L1 refinado y basándose en un caso donde se satisface la condición de aplicación del DMVR; y
generar (E1040) muestras reconstruidas para el bloque actual basándose en las muestras de predicción, en donde el DMVR se aplica al bloque actual basándose en un caso en el que un valor del indicador 1 habilitado para DMVR, un caso en el que un modo CIIP no se aplica al bloque actual, un caso en el que una distancia desde una imagen de referencia L0 y una distancia desde una imagen de referencia L1 son iguales entre sí basándose en una imagen actual, un caso en el que un modo de fusión se aplica al bloque actual, un caso en el que un modo de fusión con diferencia de vector de movimiento, MMVD, no se aplica al bloque actual, un caso en el que se lleva a cabo una bipredicción basándose en la imagen de referencia L0 y la imagen de referencia L1 se aplica al bloque actual, un caso en el que una altura del bloque actual es mayor que o igual a 8, y un caso en el que la altura x un ancho del bloque actual es mayor que o igual a 8x8,
en donde la derivación de las muestras de predicción incluye determinar si se satisface una condición de aplicación de un flujo óptico bidireccional, BDOF, para aplicar un refinamiento a las muestras de predicción,
en donde el BDOF se aplica a las muestras de predicción basándose en un caso en el que un valor del indicador habilitado para BDOF es 1, un caso en el que el modo CIIP no se aplica al bloque actual, un caso en el que la imagen de referencia L0 se ubica en dirección opuesta a la imagen de referencia L1 basándose en la imagen actual, un caso en el que la bipredicción se lleva a cabo basándose en la imagen de referencia L0 y la imagen de referencia L1 se aplica al bloque actual, un caso en el que el bloque actual es un componente de luma, un caso en el que un valor de información relacionada con el modelo de movimiento es 0, un caso en el que un modo de fusión basado en subbloques no se aplica al bloque actual, y un caso en el que un valor de información de índice de ponderación de bipredicción del bloque actual es igual a 0,
en donde la información de indicador de CIIP está relacionada con si el modo de CIIP se aplica al bloque actual, en donde el modo CIIP no se aplica al bloque actual basándose en un valor de la información de indicador CIIP que es igual a 0, y
en donde la información relacionada con el modelo de movimiento está relacionada con si se aplica un modo afín al bloque actual.
2. El método de decodificación de imágenes de la reivindicación 1, en donde la derivación de la SAD mínima comprende:
calcular un área de muestra que tiene la SAD mínima entre muestras de predicción en la imagen de referencia L0 que se deriva basándose en el vector de movimiento L0 y muestras de predicción en la imagen de referencia L1 que se deriva basándose en el vector de movimiento L1; y
llevar a cabo un refinamiento para el vector de movimiento L0 y el vector de movimiento L1 en base al área de muestra que tiene la SAD mínima.
3. El método de decodificación de imágenes de la reivindicación 2, que comprende además determinar si se aplica un modo de fusión al bloque actual,
en donde en caso de que el modo de fusión se aplique al bloque actual, el vector de movimiento L0 y el vector de movimiento L1 se derivan en base a un vector de movimiento de un bloque vecino indicado por un índice de fusión entre bloques vecinos del bloque actual, y
en donde el vector de movimiento L0 refinado y el vector de movimiento L1 refinado se derivan en caso de que la distancia desde la imagen de referencia L0 y la distancia desde la imagen de referencia L1 sean iguales entre sí en base a la imagen actual.
4. El método de decodificación de imágenes de la reivindicación 3, que comprende además determinar si se aplica una bipredicción al bloque vecino indicado por el índice de fusión en caso de que el modo de fusión se aplique al bloque actual, y
en donde en caso de que la bipredicción se aplique al bloque vecino indicado por el índice de fusión, el vector de movimiento del bloque vecino indicado por el índice de fusión incluye un vector de movimiento en una dirección de predicción L0 y un vector de movimiento en una dirección de predicción L1.
5. Un método de codificación de imágenes llevado a cabo por un aparato de codificación, comprendiendo el método de codificación de imágenes:
determinar (E900) si se satisface una condición de aplicación de un refinamiento de vector de movimiento del lado del decodificador, DMVR, para aplicar un refinamiento de vector de movimiento a un bloque actual;
derivar (E920) una suma mínima de diferencias absolutas, SAD, en base a un vector de movimiento L0 y un vector de movimiento L1 del bloque actual en base a un caso donde se satisface la condición de aplicación del DMVR;
derivar (E920) un vector de movimiento L0 refinado y un vector de movimiento L1 refinado para el bloque actual basándose en la SAD mínima basándose en un caso donde se satisface la condición de aplicación del DMVR;
derivar (E930) muestras de predicción para el bloque actual basándose en el vector de movimiento L0 refinado y el vector de movimiento L1 refinado y basándose en un caso donde se satisface la condición de aplicación del DMVR;
derivar (E940) muestras residuales basadas en las muestras de predicción; y
codificar (E950) información de imagen que incluye información sobre las muestras residuales e información de indicador de inter e intrapredicción combinadas, CIIP,
en donde el DMVR se aplica al bloque actual basándose en un caso en el que un valor del indicador 1 habilitado para DMVR, un caso en el que un modo CIIP no se aplica al bloque actual, un caso en el que una distancia desde una imagen de referencia L0 y una distancia desde una imagen de referencia L1 son iguales entre sí basándose en una imagen actual, un caso en el que un modo de fusión se aplica al bloque actual, un caso en el que un modo de fusión con modo de diferencia de vector de movimiento, MMVD, no se aplica al bloque actual, un caso en el que se lleva a cabo una bipredicción basándose en la imagen de referencia L0 y la imagen de referencia L1 se aplica al bloque actual, un caso en el que una altura del bloque actual es mayor que o igual a 8, y un caso en el que la altura x un ancho del bloque actual es mayor que o igual a 8x8,
en donde la derivación de las muestras de predicción incluye determinar si se satisface una condición de aplicación de un flujo óptico bidireccional, BDOF, para aplicar un refinamiento a las muestras de predicción,
en donde el BDOF se aplica a las muestras de predicción basándose en un caso en el que un valor del indicador habilitado para BDOF es 1, un caso en el que el modo CIIP no se aplica al bloque actual, un caso en el que la imagen de referencia L0 se ubica en dirección opuesta a la imagen de referencia L1 basándose en la imagen actual, un caso en el que la bipredicción se lleva a cabo basándose en la imagen de referencia L0 y la imagen de referencia L1 se aplica al bloque actual, un caso en el que el bloque actual es un componente de luma, un caso en el que un valor de información relacionada con el modelo de movimiento es 0, un caso en el que un modo de fusión basado en subbloques no se aplica al bloque actual, y un caso en el que un valor de información de índice de ponderación de bipredicción del bloque actual es igual a 0,
en donde la información de indicador de CIIP está relacionada con si el modo de CIIP se aplica al bloque actual,
en donde el modo CIIP no se aplica al bloque actual basándose en un valor de la información de indicador CIIP que es igual a 0, y
en donde la información relacionada con el modelo de movimiento está relacionada con si se aplica un modo afín al bloque actual.
6. Un medio de almacenamiento digital legible por ordenador que almacena un flujo de bits generado por un método, comprendiendo el método:
determinar (E900) si se satisface una condición de aplicación de un refinamiento de vector de movimiento del lado del decodificador, DMVR, para aplicar un refinamiento de vector de movimiento a un bloque actual;
derivar (E910) una suma mínima de diferencias absolutas, SAD, en base a un vector de movimiento L0 y un vector de movimiento L1 del bloque actual en base a un caso donde se satisface la condición de aplicación del DMVR;
obtener (E920) un vector de movimiento L0 refinado y un vector de movimiento L1 refinado para el bloque actual basándose en la SAD mínima basándose en un caso donde se satisface la condición de aplicación del DMVR;
derivar (E930) muestras de predicción para el bloque actual basándose en el vector de movimiento L0 refinado y el vector de movimiento L1 refinado y basándose en un caso donde se satisface la condición de aplicación del DMVR;
derivar (E940) muestras residuales basadas en las muestras de predicción; y
codificar (E950) información de imagen que incluye información sobre las muestras residuales e información de indicador de inter e intrapredicción combinadas, CIIP, para generar el flujo de bits,
en donde el DMVR se aplica al bloque actual basándose en un caso en el que un valor del indicador 1 habilitado para DMVR, un caso en el que un modo CIIP no se aplica al bloque actual, un caso en el que una distancia desde una imagen de referencia L0 y una distancia desde una imagen de referencia L1 son iguales entre sí basándose en una imagen actual, un caso en el que un modo de fusión se aplica al bloque actual, un caso en el que un modo de fusión con modo de diferencia de vector de movimiento, MMVD, no se aplica al bloque actual, un caso en el que se lleva a cabo una bipredicción basándose en la imagen de referencia L0 y la imagen de referencia L1 se aplica al bloque actual, un caso en el que una altura del bloque actual es mayor que o igual a 8, y un caso en el que la altura x un ancho del bloque actual es mayor que o igual a 8x8,
en donde la derivación de las muestras de predicción incluye determinar si se satisface la condición de aplicación del BDOF para aplicar un refinamiento a las muestras de predicción,
en donde el BDOF se aplica a las muestras de predicción basándose en un caso en el que un valor del indicador habilitado para BDOF es 1, un caso en el que el modo CIIP no se aplica al bloque actual, un caso en el que la imagen de referencia L0 se ubica en dirección opuesta a la imagen de referencia L1 basándose en la imagen actual, un caso en el que la bipredicción se lleva a cabo basándose en la imagen de referencia L0 y la imagen de referencia L1 se aplica al bloque actual, un caso en el que el bloque actual es un componente de luma, un caso en el que un valor de información relacionada con el modelo de movimiento es 0, un caso en el que un modo de fusión basado en subbloques no se aplica al bloque actual, y un caso en el que un valor de información de índice de ponderación de bipredicción del bloque actual es igual a 0,
en donde la información de indicador de CIIP está relacionada con si el modo de CIIP se aplica al bloque actual,
en donde el modo CIIP no se aplica al bloque actual basándose en un valor de la información de indicador CIIP que es igual a 0, y
en donde la información relacionada con el modelo de movimiento está relacionada con si se aplica un modo afín al bloque actual.
7. Un método para transmitir datos para información de imagen, comprendiendo el método:
obtener un flujo de bits de la información de imagen que incluye información sobre muestras residuales e información de indicador de inter e intrapredicción combinadas, CIIP,
en donde el flujo de bits se genera basándose en determinar (E900) si se satisface una condición de aplicación de un refinamiento de vector de movimiento del lado del decodificador, DMVR, para aplicar un refinamiento de vector de movimiento a un bloque actual, derivar (E910) una suma mínima de diferencias absolutas, SAD, basándose en un vector de movimiento L0 y un vector de movimiento L1 del bloque actual basándose en un caso donde se satisface la condición de aplicación del DMVR, derivar (E920) un vector de movimiento L0 refinado y un vector de movimiento L1 refinado para el bloque actual basándose en la SAD mínima basándose en un caso donde se satisface la condición de aplicación del DMVR, derivar (E930) muestras de predicción para el bloque actual basándose en el vector de movimiento L0 refinado y el vector de movimiento L1 refinado y basándose en un caso donde se satisface la condición de aplicación del DMVR, derivar (E940) muestras residuales basadas en las muestras de predicción, codificar (E950) la información de imagen que incluye la información sobre las muestras residuales; y
transmitir los datos que comprenden el flujo de bits de la información de imagen que incluye la información sobre las muestras residuales de la información de indicador CIIP,
en donde el DMVR se aplica al bloque actual basándose en un caso en el que un valor del indicador 1 habilitado para DMVR, un caso en el que un modo CIIP no se aplica al bloque actual, un caso en el que una distancia desde una imagen de referencia L0 y una distancia desde una imagen de referencia L1 son iguales entre sí basándose en una imagen actual, un caso en el que un modo de fusión se aplica al bloque actual, un caso en el que un modo de fusión con modo de diferencia de vector de movimiento, MMVD, no se aplica al bloque actual, un caso en el que se lleva a cabo una bipredicción basándose en la imagen de referencia L0 y la imagen de referencia L1 se aplica al bloque actual, un caso en el que una altura del bloque actual es mayor que o igual a 8, y un caso en el que la altura x un ancho del bloque actual es mayor que o igual a 8x8,
en donde la derivación de las muestras de predicción incluye determinar si se satisface la condición de aplicación del BDOF para aplicar un refinamiento a las muestras de predicción,
en donde el BDOF se aplica a las muestras de predicción basándose en un caso en el que un valor del indicador habilitado para BDOF es 1, un caso en el que el modo CIIP no se aplica al bloque actual, un caso en el que la imagen de referencia L0 se ubica en dirección opuesta a la imagen de referencia L1 basándose en la imagen actual, un caso en el que la bipredicción se lleva a cabo basándose en la imagen de referencia L0 y la imagen de referencia L1 se aplica al bloque actual, un caso en el que el bloque actual es un componente de luma, un caso en el que un valor de información relacionada con el modelo de movimiento es 0, un caso en el que un modo de fusión basado en subbloques no se aplica al bloque actual, y un caso en el que un valor de información de índice de ponderación de bipredicción del bloque actual es igual a 0,
en donde la información de indicador de CIIP está relacionada con si el modo de CIIP se aplica al bloque actual,
en donde el modo CIIP no se aplica al bloque actual basándose en un valor de la información de indicador CIIP que es igual a 0, y
en donde la información relacionada con el modelo de movimiento está relacionada con si se aplica un modo afín al bloque actual.
ES20759829T 2019-02-24 2020-02-07 Dmvr-based inter-prediction method and device Active ES2993149T3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962809722P 2019-02-24 2019-02-24
PCT/KR2020/001785 WO2020171444A1 (ko) 2019-02-24 2020-02-07 Dmvr 기반의 인터 예측 방법 및 장치

Publications (1)

Publication Number Publication Date
ES2993149T3 true ES2993149T3 (en) 2024-12-23

Family

ID=72144372

Family Applications (1)

Application Number Title Priority Date Filing Date
ES20759829T Active ES2993149T3 (en) 2019-02-24 2020-02-07 Dmvr-based inter-prediction method and device

Country Status (13)

Country Link
US (4) US11627323B2 (es)
EP (3) EP3913921B1 (es)
JP (4) JP7425079B2 (es)
KR (2) KR20250041186A (es)
CN (5) CN118200548A (es)
ES (1) ES2993149T3 (es)
FI (1) FI3913921T3 (es)
HR (1) HRP20241566T1 (es)
HU (1) HUE069501T2 (es)
MX (3) MX2021010158A (es)
PL (1) PL3913921T3 (es)
SI (1) SI3913921T1 (es)
WO (1) WO2020171444A1 (es)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3922028B1 (en) * 2019-03-08 2025-09-03 Beijing Dajia Internet Information Technology Co., Ltd. Bi-directional optical flow and decoder-side motion vector refinement for video coding
FI3941060T3 (fi) * 2019-03-12 2023-10-02 Lg Electronics Inc Dmvr:ään ja bdof:ään perustuva keskinäinen ennustusmenetelmä ja -laite
JP7092951B2 (ja) 2019-03-12 2022-06-28 ベイジン、ターチア、インターネット、インフォメーション、テクノロジー、カンパニー、リミテッド ビデオ符号化方法、コンピューティングデバイス、非一時的コンピュータ可読記憶媒体、及びプログラム
EP3932054B1 (en) * 2019-03-20 2024-04-24 Huawei Technologies Co., Ltd. Method and apparatus for prediction refinement with optical flow for an affine coded block
KR102772250B1 (ko) * 2019-03-22 2025-02-25 엘지전자 주식회사 Dmvr 기반의 인터 예측 방법 및 장치
CN112135141A (zh) * 2019-06-24 2020-12-25 华为技术有限公司 视频编码器、视频解码器及相应方法
US11223840B2 (en) * 2019-08-19 2022-01-11 Tencent America LLC Method and apparatus for video coding
US11917165B2 (en) * 2021-08-16 2024-02-27 Tencent America LLC MMVD signaling improvement
US11805245B2 (en) * 2021-08-16 2023-10-31 Mediatek Inc. Latency reduction for reordering prediction candidates
EP4412210A4 (en) * 2021-10-01 2025-10-08 Lg Electronics Inc IMAGE CODING METHOD AND DEVICE BASED ON DECODER-SIDE MOTION VECTOR REFINEMENT
WO2023131047A1 (en) * 2022-01-05 2023-07-13 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
US12160564B2 (en) * 2022-04-11 2024-12-03 Tencent America LLC Bilateral matching with affine motion
US12413745B2 (en) * 2022-04-12 2025-09-09 Qualcomm Incorporated Bi-directional prediction boundary pixel padding with out-of-picture-boundary motion vectors
US12568241B2 (en) * 2023-02-10 2026-03-03 Tencent America LLC Bi-prediction with CU level weight (BCW)
US12363314B1 (en) * 2023-07-21 2025-07-15 Zoom Communications, Inc. Constructing motion vector candidates list for video coding

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011129672A2 (ko) * 2010-04-16 2011-10-20 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
US11638027B2 (en) * 2016-08-08 2023-04-25 Hfi Innovation, Inc. Pattern-based motion vector derivation for video coding
WO2018174618A1 (ko) * 2017-03-22 2018-09-27 한국전자통신연구원 참조 블록을 사용하는 예측 방법 및 장치
US10477237B2 (en) * 2017-06-28 2019-11-12 Futurewei Technologies, Inc. Decoder side motion vector refinement in video coding
WO2020098648A1 (en) 2018-11-12 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Using combined inter intra prediction in video processing
WO2020098780A1 (en) * 2018-11-16 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Reference size for inter prediction interpolation
CN118488209A (zh) * 2018-12-31 2024-08-13 韩国电子通信研究院 图像编码/解码方法和发送比特流的方法
CN113965746B (zh) * 2019-02-08 2022-08-12 北京达佳互联信息技术有限公司 选择性地应用双向光流和解码器侧运动矢量细化来进行视频编解码的方法和设备
KR102635518B1 (ko) * 2019-03-06 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 변환된 단예측 후보의 사용

Also Published As

Publication number Publication date
US20220224911A1 (en) 2022-07-14
JP2026026223A (ja) 2026-02-16
CN118200547A (zh) 2024-06-14
JP2024159869A (ja) 2024-11-08
CN118175305A (zh) 2024-06-11
MX2024014611A (es) 2025-01-09
US20240291998A1 (en) 2024-08-29
PL3913921T3 (pl) 2025-01-20
JP2023165935A (ja) 2023-11-17
EP4718841A2 (en) 2026-04-01
MX2021010158A (es) 2021-11-12
JP7783363B2 (ja) 2025-12-09
FI3913921T3 (fi) 2024-11-25
KR102783514B1 (ko) 2025-03-19
CN118175304A (zh) 2024-06-11
CN113574891A (zh) 2021-10-29
US12348733B2 (en) 2025-07-01
CN113574891B (zh) 2024-03-22
EP3913921B1 (en) 2024-10-23
EP4459986B1 (en) 2026-04-01
US11627323B2 (en) 2023-04-11
HUE069501T2 (hu) 2025-03-28
US20250294160A1 (en) 2025-09-18
EP4459986A3 (en) 2025-02-12
HRP20241566T1 (hr) 2025-01-17
SI3913921T1 (sl) 2025-04-30
KR20210111859A (ko) 2021-09-13
EP3913921A4 (en) 2022-03-30
JP2022521542A (ja) 2022-04-08
JP7543512B2 (ja) 2024-09-02
EP3913921A1 (en) 2021-11-24
US20230262229A1 (en) 2023-08-17
WO2020171444A1 (ko) 2020-08-27
KR20250041186A (ko) 2025-03-25
EP4459986A2 (en) 2024-11-06
MX2024014612A (es) 2025-01-09
US12003735B2 (en) 2024-06-04
CN118200548A (zh) 2024-06-14
JP7425079B2 (ja) 2024-01-30

Similar Documents

Publication Publication Date Title
ES2993149T3 (en) Dmvr-based inter-prediction method and device
ES2841312T3 (es) Predicción de vectores de movimiento para modelos de movimiento afines en codificación de vídeo
ES3031994T3 (en) Limitation of the mvp derivation based on decoder-side motion vector derivation
ES3025197T3 (en) Inter prediction method based on history-based motion vector, and device therefor
ES2954447T3 (es) Predicción de vectores de movimiento
KR102261696B1 (ko) Fruc 를 위한 저 복잡도 설계
ES2669399T3 (es) Vector de movimiento predicho entre visualizaciones para vídeo 3D
ES2898862T3 (es) Derivación de información de movimiento para subbloques en codificación de vídeo
ES2755573T3 (es) Predicción de vector de movimiento temporal avanzada basada en unidades de subpredicción
ES2638416T3 (es) Predicción residual avanzada (ARP) más precisa para la codificación de texturas
ES3010265T3 (en) Inter-prediction method and device based on dmvr and bdof
ES3027360T3 (en) Method for encoding and decoding image information and device using same
KR102294260B1 (ko) 3차원 (3d) hevc 또는 다른 3d 코딩에서 서브 예측 유닛 (서브 pu) 모션 파라미터 상속 (mpi) 제어
ES2926196T3 (es) Codificación de imágenes basada en la predicción de movimiento afín usando la lista de candidatos de MVP afines
EP3510779A1 (en) Sub-pu based bi-directional motion compensation in video coding
KR20240104203A (ko) 가중 예측을 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
KR20210118188A (ko) Bdof 기반의 인터 예측 방법 및 장치
KR102679217B1 (ko) 움직임 벡터 차분들을 이용한 영상 코딩 방법 및 장치
ES2988060T3 (es) Método y dispositivo para eliminar la sintaxis redundante de la sintaxis de datos de fusión
JP2021517798A (ja) インター予測モードに基づいた映像処理方法及びそのための装置
KR102640262B1 (ko) 움직임 벡터 차분들을 이용한 영상 코딩 방법 및 장치
ES3030286T3 (en) Image encoding/decoding method and apparatus using maximum transform size setting for chroma block, and method for transmitting bitstream
KR102639614B1 (ko) 움직임 벡터 예측 기반 영상/비디오 코딩 방법 및 장치
ES3004864T3 (en) Image decoding/encoding method for performing bdof, and method for transmitting bitstream
KR102640263B1 (ko) 움직임 벡터를 이용한 영상 코딩 방법 및 장치