[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

ES2981908T3 - Métodos y dispositivos para aplicar de forma selectiva el flujo óptico bidireccional y el refinamiento del vector de movimiento en el decodificador para la codificación de video - Google Patents

Métodos y dispositivos para aplicar de forma selectiva el flujo óptico bidireccional y el refinamiento del vector de movimiento en el decodificador para la codificación de video Download PDF

Info

Publication number
ES2981908T3
ES2981908T3 ES20752247T ES20752247T ES2981908T3 ES 2981908 T3 ES2981908 T3 ES 2981908T3 ES 20752247 T ES20752247 T ES 20752247T ES 20752247 T ES20752247 T ES 20752247T ES 2981908 T3 ES2981908 T3 ES 2981908T3
Authority
ES
Spain
Prior art keywords
current block
dmvr
prediction
current
bdof
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
ES20752247T
Other languages
English (en)
Inventor
Xiaoyu Xiu
Xianglin Wang
Tsung-Chuan Ma
Yi-Wen Chen
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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Application granted granted Critical
Publication of ES2981908T3 publication Critical patent/ES2981908T3/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/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/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/127Prioritisation of hardware or computational resources
    • 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
    • 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/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Los métodos de aplicación selectiva de flujo óptico bidireccional (BDOF) y refinamiento de vector de movimiento del lado del decodificador (DMVR) en bloques codificados entre modos empleados en estándares de codificación de video, como el diseño de codificación de video versátil (VVC) ahora vigente, se llevan a cabo en un dispositivo informático. En un método, cuando un bloque actual es elegible para ambas aplicaciones de DMVR y BDOF en función de una pluralidad de condiciones predefinidas, el dispositivo informático utiliza un criterio predefinido para clasificar el bloque actual y luego utiliza la clasificación para aplicar BDOF o DMVR, pero no ambos, en el bloque. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Métodos y dispositivos para aplicar de forma selectiva el flujo óptico bidireccional y el refinamiento del vector de movimiento en el decodificador para la codificación de video
Campo de la invención
La presente descripción en general se refiere a la codificación y compresión de video. De manera más específica, esta descripción se refiere a sistemas y métodos para realizar la codificación de videos con el uso de aplicaciones selectivas de flujo óptico bidireccional y refinamiento del vector de movimiento en el decodificador en bloques codificados en inter-modo.
Antecedentes de la invención
Esta sección proporciona información de antecedentes relacionada con la presente descripción. La información contenida en esta sección no necesariamente se debe interpretar en el sentido de que forma parte de la técnica anterior.
Se pueden usar diversas técnicas de codificación de video para comprimir datos de video. La codificación de video se puede realizar de acuerdo con uno o varios estándares de codificación de video. Algunos estándares de codificación de video ilustrativos incluyen la codificación de video versátil (VVC, por sus siglas en inglés), la codificación de modelos de prueba de exploración conjunta (JEM, por sus siglas en inglés), la codificación de videos de alta eficiencia (H.265/HEVC, por sus siglas en inglés), la codificación avanzada de video (H.264/AVC, por sus siglas en inglés) y la codificación de grupo de expertos en imágenes en movimiento (MPEG, por sus siglas en inglés).
La codificación de video por lo general usa métodos de predicción (por ejemplo, inter-predicción, intra-predicción o similares) que aprovechan la redundancia inherente en las imágenes o secuencias de video. Un objetivo de las técnicas de codificación de video es comprimir los datos de video en un formato que use una menor velocidad de bits y, al mismo tiempo, evitar o minimizar las degradaciones de la calidad del video.
Los métodos predictivos que se usan en la codificación de video normalmente incluyen realizar predicciones espaciales (intra-fotograma) y/o predicciones temporales (inter-fotograma) para reducir o eliminar la redundancia inherente en los datos de video, y normalmente se asocian con la codificación de video basada en bloques.
En la codificación de video basada en bloques, la señal de video de entrada se procesa bloque por bloque. Para cada bloque (también conocido como unidad de codificación (CU, por sus siglas en inglés)), se puede realizar una predicción espacial y/o una predicción temporal.
La predicción espacial (también conocida como “intra-predicción”) usa píxeles de las muestras de bloques contiguos ya codificados (que se denominan muestras de referencia) en la misma imagen/segmento de video para predecir el bloque actual. La predicción espacial reduce la redundancia espacial inherente en la señal de video.
Durante el proceso de decodificación, el flujo de bits se somete primero a una decodificación de entropía en la unidad de decodificación de entropía. El modo de codificación y la información de predicción se envían a la unidad de predicción espacial (en la intra-codificación) o a la unidad de predicción temporal (en la inter-codificación) para formar el bloque de predicción. Los coeficientes residuales de transformada se envían a la unidad de cuantificación inversa y a la unidad de transformada inversa para reconstruir el bloque residual. Después, se hace la suma del bloque de predicción y el bloque residual. El bloque reconstruido también se puede someter a un filtrado en bucle antes de almacenarlo en el almacén de imágenes de referencia. Posteriormente, el video reconstruido en el almacenamiento de imágenes de referencia se envía para accionar un dispositivo de visualización, y también se usa para predecir futuros bloques de video.
En los estándares de codificación de video más recientes, tal como el diseño de la versión actual del VVC, se han introducido nuevas herramientas de codificación en inter-modo, tal como el flujo óptico bidireccional (BDOF, por sus siglas en inglés) y el refinamiento del vector de movimiento en el decodificador (DMVR, por sus siglas en inglés). Estas nuevas herramientas de codificación en inter-modo por lo general ayudan a aumentar la eficiencia de la predicción con compensación de movimiento y, por tanto, mejoran la ganancia de codificación. Sin embargo, tal mejora puede ir acompañada del costo asociado a un aumento en la complejidad y la latencia.
Para lograr un equilibrio adecuado entre la mejora y el costo asociado a las nuevas herramientas de codificación en inter-modo, el diseño de la versión actual del VVC presenta restricciones en lo que respecta a cuándo habilitar las nuevas herramientas de codificación en inter-modo, tales como DMVR y BDOF, en un bloque codificado en inter-modo.
Sin embargo, las restricciones presentes en el diseño de la versión actual del VVC no necesariamente logran el mejor equilibrio entre la mejora y el costo. Por un lado, las restricciones presentes en el diseño de la versión actual del VVC permiten que tanto el DMVR como el BDOF se apliquen en el mismo bloque codificado en inter-modo, lo que aumenta la latencia debido a la dependencia entre las operaciones de las dos herramientas. Por otro lado, las restricciones presentes en el diseño de la versión actual del VVC pueden ser excesivamente permisivas en determinados casos en lo que respecta al DMVR, lo que da como resultado un aumento innecesario en la complejidad y la latencia, mientras que en algunos casos es poco permisivo en lo que respecta al BDOF, lo que da como resultado una oportunidad perdida de mejorar la ganancia de codificación.
Breve descripción de la invención
En esta sección se proporciona una breve descripción general de la descripción, pero no se trata de una descripción exhaustiva de su alcance total o de todos sus atributos.
De acuerdo con un primer aspecto de la presente descripción, un método de codificación de video se realiza en un dispositivo de cómputo que tiene uno o más procesadores y memoria que almacena una pluralidad de programas que se ejecutarán a través del o los procesadores. El método incluye clasificar un bloque actual elegible para ambas aplicaciones de DMVR y BDOF con base en una pluralidad de condiciones predefinidas en una de dos clases predefinidas, a saber, la clase DMVR y la clase BDOF, con el uso de un criterio predefinido basado en la información de modo del bloque actual. El método también incluye usar la clasificación del bloque actual al aplicar el DMVR o el BDOF, pero no ambos, al bloque actual.
De acuerdo con un segundo aspecto de la presente descripción, un método de codificación de video se realiza en un dispositivo de cómputo que tiene uno o más procesadores y memoria que almacena una pluralidad de programas que se ejecutarán a través del o los procesadores. El método incluye determinar si la predicción ponderada se habilita para un bloque actual elegible para la codificación por DMVR con base en una pluralidad de condiciones predefinidas. El método también incluye determinar si se usan diferentes ponderaciones al promediar las muestras de predicción de la lista 0 y las muestras de predicción de la lista 1 para el bloque actual. El método también incluye determinar si se deshabilita alguna aplicación de DMVR en el bloque actual con base en las dos determinaciones.
De acuerdo con un tercer aspecto de la presente descripción, un método de codificación de video se realiza en un dispositivo de cómputo que tiene uno o más procesadores y memoria que almacena una pluralidad de programas que se ejecutarán a través del o los procesadores. El método incluye habilitar la aplicación de BDOF en un bloque actual cuando el bloque actual se codifica como un modo de fusión de sub-bloques.
De acuerdo con un cuarto aspecto de la presente solicitud, un dispositivo de cómputo incluye uno o más procesadores, memoria y una pluralidad de programas almacenados en la memoria. Los programas, cuando se ejecutan a través del o los procesadores, hacen que el dispositivo de cómputo realice las operaciones antes descritas en los tres primeros aspectos de la presente solicitud.
Breve descripción de los dibujos
A continuación, se describirán conjuntos de realizaciones ilustrativas y no limitativas de la presente descripción junto con los dibujos anexos. Los expertos en la técnica relevante pueden implementar variaciones en la estructura, el método o la funcionalidad con base en los ejemplos que aquí se presentan, y tales variaciones se encuentran dentro del alcance de la presente descripción. En los casos en que no exista ningún conflicto, las enseñanzas de las diferentes realizaciones se pueden combinar entre sí, aunque no es necesario hacerlo.
La Figura 1 es un diagrama de bloques que muestra de forma ilustrativa un codificador de video híbrido basado en bloques que se puede usar junto con muchos estándares de codificación de video.
La Figura 2 es un diagrama de bloques que muestra de forma ilustrativa un decodificador de video que se puede usar junto con muchos estándares de codificación de video.
La Figura 3 es una ilustración de las divisiones de bloque en una estructura de árbol de múltiples tipos que se pueden usar junto con muchos estándares de codificación de video.
La Figura 4 es una ilustración del proceso del flujo óptico bidireccional (BDOF).
La Figura 5 es una ilustración de la coincidencia bilateral usada en el refinamiento del vector de movimiento en el decodificador (DMVR).
La Figura 6 es un diagrama de flujo que ilustra la operación del primer aspecto de la presente descripción.
La Figura 7 es un diagrama de flujo que ilustra la operación del segundo aspecto de la presente descripción.
La Figura 8 es un diagrama de flujo que ilustra la operación del tercer aspecto de la presente descripción.
Descripción detallada de la invención
Los términos usados en la presente descripción tienen por objeto ilustrar ejemplos específicos y no el de limitar la presente descripción. Las formas en singular “un/uno/una” y “el/la” que se usan en la presente descripción, así como en las reivindicaciones anexas, también hacen referencia a las formas en plural, a menos que otros significados se definan claramente en el contexto. Se debe observar que el término “y/o”, en la forma usada en la presente, hace referencia a todas las posibles combinaciones de uno o más elementos enumerados asociados.
Se entenderá que, aunque los términos “primero”, “segundo”, “tercero”, etc., se pueden usar en la presente para describir diversos tipos de información, la información no se debe ver limitada en virtud de tales términos. Estos términos sólo se usan para hacer la distinción entre una clase de información de otra. Por ejemplo, sin apartarse del alcance de la presente descripción, la primera información se puede denominar como segunda información; de igual modo, la segunda información también se puede denominar primera información. Como se usa en este documento, el término “si” se puede entender como “cuando” o “después de” o “en respuesta a”, dependiendo del contexto.
La referencia a lo largo de la especificación a “una realización”, “otra realización” o similar, ya sea en singular o en plural, significa que uno o más atributos, estructuras o características particulares que se describen en relación con una realización ejemplar, se incluyen por lo menos en una realización de la presente descripción. De este modo, la aparición de las frases “en una realización”, “en otra realización” o similares, ya sea en singular o en plural, en distintas partes a lo largo de esta especificación, no necesariamente se refieren todas a la misma realización. Además, los atributos, estructuras o características particulares en una o más realizaciones se pueden combinar de cualquier forma adecuada.
De manera conceptual, muchos estándares de codificación de video son similares, incluidos los que se mencionaron anteriormente en la sección de antecedentes. Por ejemplo, prácticamente todos los estándares de codificación de video usan un procesamiento basado en bloques y comparten diagramas de bloques de codificación de video similares para lograr la compresión del video.
La Figura 1 muestra de forma ilustrativa un diagrama de bloques de un codificador de video híbrido basado en bloques 100 que se puede usar junto con muchos estándares de codificación de video. En el codificador 100, un fotograma de video se divide en una pluralidad de bloques de video para su procesamiento. Para cada bloque de video dado, se forma una predicción con base ya sea en un enfoque de inter-predicción o en un enfoque de intrapredicción. En la inter-predicción, uno o más predictores se forman a través de la estimación del movimiento y la compensación del movimiento, con base en los píxeles de los fotogramas previamente reconstruidos. En la intrapredicción, los predictores se forman con base en los píxeles reconstruidos en un fotograma actual. A través de la decisión de modo, se puede elegir un mejor predictor para predecir un bloque actual.
Un residual de predicción, el cual representa la diferencia entre un bloque de video actual y su predictor, se envía a un circuito de transformada 102. Después, los coeficientes de transformada se envían del circuito de transformada 102 a un circuito de cuantificación 104 para la reducción de entropía. Posteriormente, los coeficientes cuantificados se alimentan al circuito de codificación de entropía 106 para generar un flujo de bits de video comprimidos. Como se muestra en la Figura 1, la información relacionada con la predicción 110 y que proviene de un circuito de inter-predicción y/o de un circuito de intra-predicción 112, tal como información de la división de bloques de video, vectores de movimiento, índice de imágenes de referencia y modo intra-predicción, también se alimenta a través del circuito de codificación de entropía 106 y se guarda en un flujo de bits de video comprimidos 114.
En el codificador 100, también se necesitan circuitos relacionados con el decodificador para la reconstrucción de píxeles para fines de predicción. En primer lugar, un residual de predicción se reconstruye a través de una cuantificación inversa 116 y un circuito de transformada inversa 118. Este residual de predicción reconstruido se combina con un predictor de bloque 120 para generar píxeles reconstruidos sin filtrar para un bloque de video actual.
La predicción temporal (también referida como “inter-predicción” o “predicción con compensación de movimiento”) usa píxeles reconstruidos de las imágenes de video ya codificadas para predecir el bloque de video actual. La predicción temporal reduce la redundancia temporal inherente en la señal de video. Una señal de predicción temporal para una CU determinada usualmente se señaliza mediante uno o más vectores de movimiento (MV, por sus siglas en inglés) que indican la cantidad y la dirección de movimiento entre la CU actual y su referencia temporal. De igual modo, si se admiten múltiples imágenes de referencia, adicionalmente se envía un índice de imagen de referencia, el cual se usa para identificar de qué imagen de referencia en el almacenamiento de imágenes de referencia proviene la señal de predicción temporal.
Después de realizar la predicción espacial y/o temporal, un circuito de decisión de modo intra/inter en el codificador 100 elige el mejor modo de predicción, por ejemplo con base en el método de optimización de la distorsión de velocidad. Después, el predictor de bloque se sustrae del bloque de video actual y el residual de predicción resultante se descorrelaciona con el uso del circuito de transformada 102 y el circuito de cuantificación 104. A los coeficientes residuales cuantificados resultantes se les aplica una cuantificación inversa mediante el circuito de cuantificación inversa 116, así como una transformada inversa mediante el circuito de transformada inversa 118, para formar el residual reconstruido, el cual después se agrega nuevamente al bloque de predicción para formar la señal reconstruida de la CU. Un filtrado adicional en bucle 115, tal como un filtro de desbloqueo, una desviación adaptativa de acuerdo con la muestra (SAO, por sus siglas en inglés) y/o un filtro en bucle adaptativo (ALF, por sus siglas en inglés), se puede aplicar, a la CU reconstruida antes de colocarla en el almacenamiento de imágenes de referencia de la memoria intermedia de imágenes 117 y usarla para codificar futuros bloques de video. Para formar el flujo de bits de video de salida, tanto un modo de codificación (inter o intra), como la información de modo de predicción, la información de movimiento y los coeficientes residuales cuantificados se envían a la unidad de codificación de entropía 106 para su posterior compresión y empaquetado para formar el flujo de bits.
Por ejemplo, un filtro de desbloqueo está disponible en AVC y HEVC, así como en la versión actual del VVC. En el HEVC, se define un filtro en bucle adicional denominado SAO (desviación adaptativa de acuerdo con la muestra) para mejorar aún más la eficiencia de codificación. En la versión actual del estándar VVC, otro filtro en bucle denominado ALF (filtro de bucle adaptativo) está sujeto a una investigación activa y existe una alta probabilidad de que se incluya en el estándar final.
Estas operaciones del filtro en bucle son opcionales. La realización de estas operaciones ayuda a mejorar la eficiencia de codificación y la calidad visual. Las operaciones también se pueden desactivar como una decisión presentada por el codificador 100 con el fin de evitar la complejidad computacional.
Se debe señalar que la intra-predicción por lo general se basa en píxeles reconstruidos sin filtrar, mientras que la inter-predicción se basa en píxeles reconstruidos filtrados si el codificador 100 activa estas opciones de filtrado.
La Figura 2 es un diagrama de bloques que muestra de forma ilustrativa un decodificador de video 200 que se puede usar junto con muchos estándares de codificación de video. Este decodificador 200 es similar a la sección relacionada con la reconstrucción que reside en el codificador 100 de la Figura 1. En el decodificador 200 (Figura 2), un flujo de bits de video entrante 201 primero se decodifica a través de una decodificación de entropía 202 para derivar los niveles de coeficiente cuantificados y la información relacionada con la predicción. Después, los niveles de coeficiente cuantificados se procesan a través de una cuantificación inversa 204 y una transformada inversa 206 para obtener un residual de predicción reconstruido. un mecanismo de predicción de bloques, implementado en un selector de modo intra/inter 212 se configura para realizar una intra-predicción 208 o una compensación de movimiento 210 con base en la información de predicción decodificada. Un conjunto de píxeles reconstruidos sin filtrar se obtiene al sumar el residual de predicción reconstruido de la transformada inversa 206 y un resultado predictivo generado por el mecanismo de predicción de bloques, con el uso de una sumadora 214.
El bloque reconstruido también se puede someter a un filtrado en bucle 209 antes de almacenarlo en la memoria intermedia de imágenes 213, la cual funciona como un almacenamiento de imágenes de referencia. Posteriormente, el video reconstruido en la memoria intermedia de imágenes se puede enviar para accionar un dispositivo de visualización, y también se puede usar para predecir futuros bloques de video. En situaciones en las que se activa un filtro en bucle 209, se realiza una operación de filtrado en esos píxeles reconstruidos para derivar una salida de video reconstruido 222.
En estándares de codificación de video, tales como el HEVC, los bloques se pueden dividir con base en árboles cuaternarios. En los estándares de codificación de video más recientes, tales como la versión actual del VVC, se emplean más métodos de división y una unidad de árbol de codificación (CTU, por sus siglas en inglés) se puede dividir en unidades de codificación (CU) para adaptarse a las distintas características locales con base en árboles cuaternarios, árboles binarios o árboles ternarios. La separación de la CU, la unidad de predicción (PU) y la unidad de transformada (TU) no existe en la mayoría de los modos de codificación en la versión actual del VVc , y cada CU siempre se usa como la unidad básica tanto para la predicción como para la transformada sin divisiones adicionales. Sin embargo, en algunos modos de codificación específicos, tal como el modo de intra-codificación de sub-divisiones, cada CU aún puede contener múltiples TU. En la estructura de árbol de múltiples tipos, una CTU se divide primero en una estructura de árbol cuaternario. Después, cada nodo de hoja de árbol cuaternario también se puede dividir en una estructura de árbol binario y ternario.
La Figura 3 muestra los cinco tipos de división empleados en la versión actual del VVC, a saber, la partición cuaternaria 301, la partición binaria horizontal 302, la partición binaria vertical 303, la partición ternaria horizontal 304 y la partición ternaria vertical 305. En situaciones en las que se usa la estructura de árbol de múltiples tipos, una CTU se divide primero en una estructura de árbol cuaternario. Después, cada nodo de hoja de árbol cuaternario también se puede dividir en una estructura de árbol binario y ternario.
Con el uso de una o más de las particiones de bloque ejemplares 301, 302, 303, 304 o 305 de la Figura 3, la predicción espacial y/o la predicción temporal se puede realizar con el uso de la configuración que se muestra en la Figura 1. La predicción espacial (o “intra-predicción”) usa píxeles de las muestras de bloques contiguos ya codificados (que se denominan muestras de referencia) en la misma imagen/segmento de video para predecir el bloque de video actual. La predicción espacial reduce la redundancia espacial inherente en la señal de video.
En los estándares de codificación de video más recientes, tal como la nueva versión del VVC, se han introducido nuevas herramientas de codificación en inter-modo, y dos ejemplos de las nuevas herramientas de codificación en inter-modo son: el flujo óptico bidireccional (BDOF) y el refinamiento de vector de movimiento en el decodificador (DMVR).
La bi-predicción convencional en la codificación de video es una combinación simple de dos bloques de predicción temporal obtenidos de las imágenes de referencia que ya se reconstruyeron. Sin embargo, debido a la limitación de la compensación de movimiento basada en bloques, podría haber un ligero movimiento restante que se puede observar entre las muestras de dos bloques de predicción, lo que reduce de este modo la eficiencia de predicción con compensación de movimiento. Para solucionar este problema, el BDOF se aplica en el diseño de la nueva versión del VVC para reducir la afectación de ese movimiento en cada muestra que se encuentre dentro de un bloque.
La Figura 4 es una ilustración del proceso del BDOF. El BDOF es un refinamiento de movimiento basado en muestras que se realiza adicionalmente a las predicciones con compensación de movimiento basadas en bloques cuando se usa la bi-predicción. El refinamiento de movimiento de cada sub-bloque 401 de 4 x 4 se calcula al minimizar una diferencia entre las muestras de predicción 402 y 403 de la lista 0 (L0) de imágenes de referencia y de la lista 1 (L1) de imágenes de referencia después de aplicar el BDOF dentro de una ventana de 6 x 6 alrededor del sub-bloque. Con base en el refinamiento de movimiento derivado de este modo, las muestras de bi-predicción final de la CU se calculan al interpolar las muestras de predicción de L0/L1 a lo largo de la trayectoria de movimiento con base en el modelo de flujo óptico.
El DMVR es una técnica de bi-predicción para bloques de fusión con dos MV inicialmente señalizadas que también se pueden refinar mediante la predicción de coincidencia bilateral.
La Figura 5 es una ilustración de la coincidencia bilateral usada en el DMVR. La coincidencia bilateral se usa para derivar información de movimiento de la CU 501 actual mediante la búsqueda de la coincidencia más cercana entre dos bloques 503 y 504 a lo largo de la trayectoria de movimiento 502 de la CU 501 actual en dos imágenes de referencia 505 y 506 diferentes. La función de costos usada en el proceso de coincidencia es la suma de diferencias absolutas (SAD, por sus siglas en inglés) determinada por sub-muestreo en filas. Una vez realizado el proceso de coincidencia, los MV 507 y 508 refinados se usan para la compensación de movimiento en la etapa de predicción, en el cálculo de la intensidad de contorno en el filtro de desbloqueo, la predicción de vector de movimiento temporal para imágenes posteriores y la predicción de vector de movimiento espacial en CTU cruzada para las CU posteriores. En el supuesto de una trayectoria de movimiento continuo, los vectores de movimiento MV0 507 y MV1 508 que apuntan hacia los dos bloques de referencia 503 y 504 deben ser proporcionales a las distancias temporales, es decir, TD0509 y TD1 510 (por sus siglas en inglés), entre la imagen actual 511 y las dos imágenes de referencia 505 y 506. En un caso especial, cuando la imagen actual 511 se encuentra temporalmente entre las dos imágenes de referencia 505 y 506 y la distancia temporal desde la imagen actual 511 hasta las dos imágenes de referencia 505 y 506 es la misma, la coincidencia bilateral se convierte en un MV bidireccional basado en espejo.
Para conseguir un equilibrio adecuado, por una parte, entre el aumento de la eficacia de codificación que las herramientas de codificación en inter-modo más recientes pueden aportar, tales como el BDOF y el DMVR, y, por otra parte, el aumento de la complejidad y la latencia asociadas con las herramientas de codificación en inter-modo más recientes, el diseño de la versión actual del VVC incluye restricciones en lo que respecta a cuándo se puede habilitar el BDOF o el DMVR para un bloque actual.
En el diseño de la versión actual del VVC, la función del BDOF se habilita solo cuando se mantienen todas las condiciones predefinidas del BDOF que se mencionan en la siguiente tabla:
En el diseño de la versión actual del VVC, la función del DMVR se habilita solo cuando se mantienen todas las condiciones predefinidas del DMVR que se mencionan en la siguiente tabla:
Las restricciones anteriores presentes en el diseño de la versión actual del VVC, aunque contribuyen a conseguir el equilibrio deseado entre la eficiencia de la codificación, por un lado, y la complejidad y la latencia, por otro lado, no resuelven por completo el problema.
Otro problema que presenta el diseño de la versión actual del VVC consiste en que, aunque ya se aplican varias restricciones a la habilitación del BDOF y DMVR, en algunos casos las dos herramientas de refinamiento de inter predicción en el decodificador, BDOF y DMVR, se pueden habilitar al codificar un bloque. En el diseño de la versión actual del VVC, cuando se habilitan las dos herramientas de refinamiento de inter-predicción en el decodificador, el BDOF depende de las muestras finales de DMVR con compensación de movimiento, lo que crea problemas de latencia para el diseño de hardware.
Un segundo problema que presenta el diseño de la versión actual del VVC es que, aunque ya se aplican varias restricciones a la habilitación del DMVR, las restricciones en su conjunto siguen siendo excesivamente permisivas en lo que respecta a la habilitación del DMVR, ya que existen casos en los que deshabilitar el DMVR y la consiguiente reducción de la complejidad y la latencia podrían conseguir un mejor equilibrio entre la eficiencia de la codificación, por un lado, y la complejidad y la latencia, por otro lado; sin embargo, el diseño de la versión actual del VVC habilitará el DMVR en estos casos.
Un tercer problema que presenta el diseño de la versión actual del VVC consiste en que las restricciones ya aplicadas a la habilitación de BDOF son en su conjunto poco permisivas en lo que respecta a la habilitación del BDOF, ya que existen casos en los que la habilitación del BDOF y el consiguiente aumento de la ganancia de codificación conseguirían un mejor equilibrio entre la eficiencia de la codificación, por un lado, y la complejidad y la latencia, por otro lado; sin embargo, el diseño de la versión actual del VVC no habilitará el BDOF en estos casos.
De acuerdo con un primer aspecto de la presente descripción, un bloque actual elegible para ambas aplicaciones de DMVR y BDOF con base en una pluralidad de condiciones predefinidas, el bloque actual se clasificará en una de dos clases predefinidas, a saber, la clase DMVR y la clase BDOF, con el uso de un criterio predefinido basado en la información de modo del bloque actual. Posteriormente, la clasificación del bloque actual se usará al aplicar el DMVR o el BDOF, pero no ambos, en el bloque actual. Este método se puede combinar con la versión actual del VVC, además de las condiciones predefinidas antes mencionadas, o se puede implementar de forma independiente.
La Figura 6 es un diagrama de flujo que ilustra la operación del primer aspecto de la presente descripción. Al procesar un bloque actual (601), la operación de este aspecto de la presente descripción puede aplicar una pluralidad de condiciones predefinidas en el bloque actual (602), y determinar si el bloque actual es elegible para ambas aplicaciones de DMVR y BDOF con base en la pluralidad de condiciones predefinidas (603). Si se determina que el bloque actual no es elegible para ambas aplicaciones de DMVR y BDOF con base en la pluralidad de condiciones predefinidas, la operación de este aspecto de la presente descripción puede continuar con el proceso presente en el diseño de la versión actual del VVC (604). Por otro lado, si se determina que el bloque actual es elegible para ambas aplicaciones de DMVR y BDOF con base en la pluralidad de condiciones predefinidas, la operación de este aspecto de la presente descripción puede clasificar el bloque actual en una de dos clases predefinidas, a saber, la clase DMVR y la clase BDOF, con el uso de un criterio predefinido basado en la información de modo del bloque actual (605). Posteriormente, la operación de este aspecto de la presente descripción se puede aplicar tanto al DMVR como al BDOF, pero no a ambos, en el bloque actual, con el uso del resultado de la clasificación del bloque actual (606). La aplicación de DMVR o de BDOF, pero no de ambos, en el bloque actual, con el uso del resultado de la clasificación del bloque actual (606), puede incluir continuar en la clase de DMVR (aplicando el DMVR, pero no el BDOF) si el bloque actual se clasifica en la clase DMVR (607) y continuar en la clase BDOF (aplicando el BDOF, pero no el DMVR) si el bloque actual se clasifica en la clase BDOF (608).
La pluralidad de condiciones predefinidas con base en las cuales el bloque actual es elegible para ambas aplicaciones de DMVR y BDOF puede ser, pero no es necesario, la pluralidad de condiciones predefinidas de BDOF y de condiciones predefinidas de DMVR que se describen en las tablas anteriores.
La información de modo usada como base para el criterio predefinido incluye, a título enunciativo y no limitativo, el modo de predicción, tal como usar o no el modo de fusión, el índice de modo de fusión, los vectores de movimiento, la forma de bloque, el tamaño de bloque y los valores de las muestras de predicción.
De acuerdo con una o más realizaciones de la presente descripción, el uso de la clasificación del bloque actual al aplicar el DMVR o el BDOF, pero no ambos, en el bloque actual, opcionalmente comprende señalizar un indicador para indicar la clasificación del bloque actual, es decir, en algunos ejemplos de esta realización, se señaliza un indicador para especificar si se aplica el BDOF o el DMVR al bloque, mientras que en algunos otros ejemplos de esta realización, no se señaliza ningún indicador.
De acuerdo con una o más realizaciones de la presente descripción, el uso de la clasificación del bloque actual al aplicar el DMVR o el BDOF, pero no ambos, en el bloque actual, también comprende aplicar el DMVR, pero no el BDOF, ya sea con la lista de candidatos de fusión existente o con una lista de candidatos de fusión generada por separado, en el bloque actual, cuando el bloque actual se clasifica en la clase DMVR. Es decir, en algunos ejemplos de esta realización, se genera una lista de candidatos de fusión por separado y se usa exclusivamente cuando el bloque actual se clasifica en la clase DMVR y el DMVR se aplica en el bloque actual. Se señaliza una sintaxis para indicar este modo de fusión de DMVR y también se señaliza un índice de fusión si el tamaño de la lista de candidatos de fusión de DMVR es mayor a uno. En algunos otros ejemplos de esta realización, no se genera ningún candidato de fusión por separado cuando el bloque actual se clasifica en la clase DMVR y el DMVR se aplica en el bloque actual, y la aplicación de DMVR en el bloque actual usa la lista de candidatos de fusión existente, y no se usa ninguna sintaxis ni señalización adicional.
De acuerdo con una o más realizaciones de la presente descripción, el uso de la clasificación del bloque actual al aplicar el DMVR o el BDOF, pero no ambos, en el bloque actual, también comprende aplicar el BDOF, pero no el DMVR, ya sea con la lista de candidatos de fusión existente o con una lista de candidatos de fusión generada por separado, en el bloque actual, cuando el bloque actual se clasifica en la clase BDOF. Es decir, en algunos ejemplos de esta realización, se genera una lista de candidatos de fusión por separado y se usa exclusivamente cuando el bloque actual se clasifica en la clase BDOF y el BDOF se aplica en el bloque actual. Se señaliza una sintaxis para indicar este modo de fusión de BDOF y también se señaliza un índice de fusión si el tamaño de la lista de candidatos de fusión de BDOF es mayor a uno. En algunos otros ejemplos de esta realización, no se genera ningún candidato de fusión por separado cuando el bloque actual se clasifica en la clase BDOF y el BDOF se aplica en el bloque actual, y la aplicación de BDOF en el bloque actual usa la lista de candidatos de fusión existente, y no se usa ninguna sintaxis ni señalización adicional.
De acuerdo con otra realización del primer aspecto de la presente descripción, clasificar el bloque actual en una de dos clases predefinidas, a saber, la clase DMVR y la clase BDOF, con el uso de un criterio predefinido basado en la información de modo del bloque actual, comprende clasificar el bloque actual en una clase DMVR cuando se cumple el criterio predefinido, y clasificar el bloque actual en la clase BDOF cuando no se cumple el criterio predefinido.
De acuerdo con otra realización del primer aspecto de la presente descripción, clasificar el bloque actual en una de dos clases predefinidas, a saber, la clase DMVR y la clase BDOF, con el uso de un criterio predefinido basado en la información de modo del bloque actual, comprende clasificar el bloque actual en la clase BDOF cuando se cumple el criterio predefinido, y clasificar el bloque actual en la clase DMVR cuando no se cumple el criterio predefinido.
De acuerdo con otra realización del primer aspecto de la presente descripción, el criterio predefinido comprende determinar si se elige el modo regular para el bloque actual.
De acuerdo con otra realización del primer aspecto de la presente descripción, el criterio predefinido comprende determinar si el índice de fusión codificado del bloque actual posee una propiedad matemática predefinida.
En otro ejemplo, la propiedad matemática predefinida comprende la propiedad de ser igual o mayor a un número de umbral predefinido.
De acuerdo con otra realización del primer aspecto de la presente descripción, el criterio predefinido comprende determinar si los vectores de movimiento del bloque actual cumplen una prueba predefinida.
En un ejemplo, la prueba predefinida comprende determinar si la suma de las magnitudes de todos los componentes del vector de movimiento es mayor a un número de umbral predefinido.
De acuerdo con otra realización del primer aspecto de la presente descripción, el criterio predefinido comprende determinar si el bloque actual tiene una forma predefinida.
En un ejemplo, la forma predefinida es la forma de un cuadrado.
De acuerdo con otra realización del primer aspecto de la presente descripción, el criterio predefinido comprende determinar si el tamaño de bloque del bloque actual posee una propiedad matemática predefinida.
En un ejemplo, la propiedad matemática predefinida comprende la propiedad de ser igual o mayor a un número de umbral predefinido.
De acuerdo con otra realización del primer aspecto de la presente descripción, el criterio predefinido comprende determinar si la suma de diferencias absolutas o la suma de diferencias cuadradas (SAD o SSD) entre las muestras de predicción de la lista 0 y las muestras de predicción de la lista 1 del bloque actual posee una propiedad matemática predefinida.
En un ejemplo, la propiedad matemática predefinida comprende la propiedad de ser mayor a un número de umbral predefinido.
De acuerdo con un segundo aspecto de la presente descripción, cuando un bloque actual es elegible para la codificación por DMVR con base en una pluralidad de condiciones predefinidas, se realiza una primera determinación con respecto a si la predicción ponderada se habilita para el bloque actual, y se realiza una segunda determinación con respecto a si se usan diferentes ponderaciones al promediar las muestras de predicción de la lista 0 y las muestras de predicción de la lista 1 para el bloque actual, y si se deshabilita una aplicación de DMVR en el bloque actual se puede determinar con base en la primera y segunda determinaciones. Este método se puede combinar con la versión actual del VVC, además de las condiciones predefinidas antes mencionadas, o se puede implementar de forma independiente.
La Figura 7 es un diagrama de flujo que ilustra un método ejemplar del segundo aspecto de la presente descripción. Al procesar un bloque actual (701), la operación de este aspecto de la presente descripción puede aplicar una pluralidad de condiciones predefinidas en el bloque actual (702), y determinar si el bloque actual es elegible para la codificación por DMVR con base en la pluralidad de condiciones predefinidas (703). Si se determina que el bloque actual no es elegible para la codificación por DMVR con base en la pluralidad de condiciones predefinidas, la operación de este aspecto de la presente descripción puede continuar con el proceso presente en el diseño de la versión actual del VVC (704). Por otra parte, si se determina que el bloque actual es elegible para la codificación por DMVR con base en la pluralidad de condiciones predefinidas, la operación de este aspecto de la presente descripción puede determinar si la predicción ponderada se habilita para el bloque actual (705) y también determinar si se usan diferentes ponderaciones al promediar las muestras de predicción de la lista 0 y las muestras de predicción de la lista 1 para el bloque actual (706), y, posteriormente, determinar si se deshabilita una aplicación de DMVR en el bloque actual con base en las dos determinaciones (707).
La pluralidad de condiciones predefinidas con base en las cuales el bloque actual es elegible para la codificación por DMVR puede ser, pero no es necesario, la pluralidad de condiciones predefinidas de DMVR que se describen en la tabla anterior.
De acuerdo con una realización del segundo aspecto de la presente descripción, determinar si se deshabilita la aplicación de DMVR en el bloque actual con base en las dos determinaciones comprende deshabilitar la aplicación de DMVR en el bloque actual cuando se determina que la predicción ponderada se habilita para el bloque actual.
De acuerdo con otra realización del segundo aspecto de la presente descripción, determinar si se deshabilita la aplicación de DMVR en el bloque actual con base en las dos determinaciones comprende deshabilitar la aplicación de DMVR en el bloque actual cuando se determina que diferentes ponderaciones se usan al promediar las muestras de predicción de la lista 0 y las muestras de predicción de la lista 1 para el bloque actual.
De acuerdo con otra realización del segundo aspecto de la presente descripción, determinar si se deshabilita la aplicación de DMVR en el bloque actual con base en las dos determinaciones comprende deshabilitar la aplicación de DMVR en el bloque actual cuando se determina que la predicción ponderada se habilita para el bloque actual y, al mismo tiempo, se determina que diferentes ponderaciones se usan al promediar las muestras de predicción de la lista 0 y las muestras de predicción de la lista 1 para el bloque actual.
De acuerdo con un tercer aspecto de la presente descripción, la aplicación de BDOF en un bloque actual se puede habilitar cuando el bloque actual se codifica como un modo de fusión de sub-bloques. Este método se puede combinar con la versión actual del VVC, además de las condiciones predefinidas antes mencionadas, o se puede implementar de forma independiente.
La Figura 8 es un diagrama de flujo que ilustra la operación del tercer aspecto de la presente descripción. Mientras se procesa un bloque actual (801), la operación de este aspecto de la presente descripción puede determinar si el bloque actual se codifica como un modo de fusión de sub-bloques (802). Si se determina que el bloque actual no se codifica como un modo de fusión de sub-bloques, la operación de este aspecto de la presente descripción puede continuar con el proceso presente en el diseño de la versión actual del VVC (803). Por otra parte, si se determina que el bloque actual se codifica como un modo de fusión de sub-bloques, la operación de este aspecto de la presente descripción puede habilitar la aplicación de BDOF en el bloque actual (804).
En uno o más ejemplos, las funciones descritas se pueden implementar en el hardware, software, firmware o en cualquier combinación de los mismos. Si se implementan en el software, las funciones se pueden almacenar o transmitir en un medio legible por ordenador, como una o más instrucciones o código, y ejecutar a través de una unidad de procesamiento basada en hardware. Los medios legibles por ordenador pueden incluir medios de almacenamiento legibles por ordenador, los cuales corresponden a un medio tangible, como los medios de almacenamiento de datos, o medios de comunicación, incluido cualquier medio que facilite la transferencia de un programa de cómputo de un lugar a otro, por ejemplo, de acuerdo con un protocolo de comunicación. De esta manera, los medios legibles por ordenador por lo general pueden corresponder a (1) medios de almacenamiento tangibles y legibles por ordenador que no sean transitorios o (2) un medio de comunicación, tal como una señal o una onda portadora. Los medios de almacenamiento de datos pueden ser cualquier medio disponible al que pueda acceder uno o más ordenadores o uno o más procesadores para recuperar instrucciones, código y/o estructuras de datos para poner en práctica las implementaciones que se describen en la presente solicitud. Un producto de programa de cómputo puede incluir un medio legible por ordenador.
Además, los métodos antes descritos se pueden implementar con el uso de un aparato que incluya uno o más circuitos, lo cual incluye circuitos integrados de aplicación específica (ASIC), procesadores de señales digitales (DSP), dispositivos de procesamiento de señales digitales (DSPD), dispositivos lógicos programables (PLD), matrices de puertas programables en campo (FPGA), controladores, microcontroladores, microprocesadores u otros componentes electrónicos; (por sus siglas en inglés, respectivamente). El aparato puede usar los circuitos en combinación con otros componentes de hardware o software para realizar los métodos antes descritos. Cada módulo, submódulo, unidad o subunidad anteriormente descrito se puede implementar por lo menos parcialmente con el uso de uno o más circuitos.
Otras realizaciones de la invención serán aparentes para los expertos en la técnica a partir de la consideración de la especificación y la práctica de la invención que se da a conocer en este documento. El objeto de esta solicitud es abarcar cualquier variación, uso o adaptación de la invención al apegarse a los principios generales de la misma y al incluir esas desviaciones de la presente descripción en la medida en que provengan de una práctica conocida o habitual en la técnica. Se pretende que la especificación y los ejemplos se consideren para fines ilustrativos solamente, en donde el verdadero alcance y espíritu de la invención se indican mediante las reivindicaciones anexas.
Se apreciará que la presente invención no se limita a los ejemplos exactos antes descritos e ilustrados en los dibujos que la acompañan, y se pueden hacer diversas modificaciones y cambios sin apartarse del alcance de la misma. Se pretende que el alcance de la invención se limite solamente por las siguientes anexas.

Claims (7)

REIVINDICACIONES
1. Un método para la codificación de video, el cual comprende:
en respuesta a un bloque actual que satisface una pluralidad de condiciones predefinidas que se usan para determinar que el que el bloque actual es elegible para el refinamiento del vector de movimiento del lado del decodificador, DMVR ponderada está habilitada para el bloque actual, y determinar si se usan diferentes ponderaciones al promediar las muestras predichas de la lista 0 y las muestras de predicción de la lista 1 para el bloque actual; y
determinar si se desactiva una aplicación de DMVR en el bloque actual con base en al menos una de las dos determinaciones,
en donde la pluralidad de condiciones predefinidas comprende:
el bloque actual usa la predicción bidireccional, con un vector de movimiento, MV, que apunta a una imagen de referencia anterior de referencia hacia delante que está antes de la imagen actual en el orden de visualización y otro MV que apunta a una imagen de referencia hacia atrás que está después de la imagen actual en el orden de visualización. que está después de la imagen actual en el orden de visualización, en donde la distancia entre la imagen actual y la imagen de referencia anterior y la distancia entre la imagen actual y la imagen de referencia posterior de referencia hacia atrás;
el bloque actual se codifica como modo de fusión y un candidato a fusión seleccionado es un candidato a fusión regular;
la altura del bloque actual es igual o mayor a 8;
el área del bloque actual es igual o mayor a 64;
el bloque actual no está codificado como modo afín;
el bloque actual no está codificado como modo de fusión de sub-bloques; y
el bloque actual no está codificado como modo fusión con diferencias de vector de movimiento, MMVD.
2. El método de la reivindicación 1, en donde determinar si deshabilitar la aplicación de DMVR en el bloque actual con base en al menos una de las dos determinaciones comprende deshabilitar la aplicación de DMVR en el bloque actual cuando se determina que la predicción ponderada está habilitada para el bloque actual.
3. El método de la reivindicación 1, en donde determinar si se deshabilita la aplicación de DMVR en el bloque actual con base en al menos una de las dos determinaciones comprende deshabilitar la aplicación de DMVR en el bloque actual cuando se determinan diferentes pesos a usar al promediar la lista 0 de muestras predichas y la lista 1 de muestras de predicción para el bloque actual.
4. El método de la reivindicación 1, en donde determinar si deshabilitar la aplicación de DMVR en el bloque actual basándose en al menos una de las dos determinaciones comprende deshabilitar la aplicación de DMVR en el bloque actual cuando se determina que la predicción ponderada está habilitada para el bloque actual y al mismo tiempo se determinan diferentes ponderaciones a usar cuando se promedian las muestras predichas de la lista 0 y las muestras predichas de la lista 1 para el bloque actual.
5. Un dispositivo informático que comprende:
uno o más procesadores;
un almacenamiento no transitorio acoplado a uno o más procesadores; y
una pluralidad de programas almacenados en el almacenamiento no transitorio que, cuando son ejecutados por el uno o más procesadores, hacen que el dispositivo informático realice el método de cualquiera de las reivindicaciones 1 a 4.
6. Un medio de almacenamiento no transitorio legible por ordenador que almacena una pluralidad de programas para ser ejecutados por un dispositivo informático que tiene uno o más procesadores, en donde la pluralidad de programas, cuando son ejecutados por el uno o más procesadores, hacen que el dispositivo informático realice el método de cualquiera de las reivindicaciones 1 a 4.
7. Un producto de programa de ordenador que comprende instrucciones que, cuando son ejecutadas por un dispositivo informático, hacen que éste dispositivo informático lleve a cabo el método de cualquiera de las reivindicaciones 1 a 4.
ES20752247T 2019-02-08 2020-02-08 Métodos y dispositivos para aplicar de forma selectiva el flujo óptico bidireccional y el refinamiento del vector de movimiento en el decodificador para la codificación de video Active ES2981908T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962803417P 2019-02-08 2019-02-08
PCT/US2020/017382 WO2020163837A1 (en) 2019-02-08 2020-02-08 Methods and devices for selectively applying bi-directional optical flow and decoder-side motion vector refinement for video coding

Publications (1)

Publication Number Publication Date
ES2981908T3 true ES2981908T3 (es) 2024-10-11

Family

ID=71029974

Family Applications (1)

Application Number Title Priority Date Filing Date
ES20752247T Active ES2981908T3 (es) 2019-02-08 2020-02-08 Métodos y dispositivos para aplicar de forma selectiva el flujo óptico bidireccional y el refinamiento del vector de movimiento en el decodificador para la codificación de video

Country Status (13)

Country Link
US (3) US20210368200A1 (es)
EP (3) EP3909247B1 (es)
JP (6) JP7232345B2 (es)
KR (4) KR20220046005A (es)
CN (7) CN113424537A (es)
DK (1) DK3909247T3 (es)
ES (1) ES2981908T3 (es)
FI (1) FI3909247T3 (es)
HU (1) HUE067106T2 (es)
MX (1) MX2021009529A (es)
PL (1) PL3909247T3 (es)
PT (1) PT3909247T (es)
WO (1) WO2020163837A1 (es)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220046005A (ko) 2019-02-08 2022-04-13 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 비디오 코딩을 위한 양방향 광학 흐름 및 디코더측 움직임 벡터 보정을 선택적으로 적용하기 위한 방법 및 장치
CN118612454A (zh) * 2019-02-14 2024-09-06 Lg 电子株式会社 基于dmvr的帧间预测方法和设备
CN118200548A (zh) * 2019-02-24 2024-06-14 Lg 电子株式会社 基于dmvr的帧间预测方法和设备
CN112004091B (zh) * 2020-07-31 2021-08-03 浙江大华技术股份有限公司 帧间预测方法及其相关装置
CN112132915B (zh) * 2020-08-10 2022-04-26 浙江大学 一种基于生成对抗机制的多样化动态延时视频生成方法
CN112055222B (zh) * 2020-08-21 2024-05-07 浙江大华技术股份有限公司 视频编解码方法、电子设备及计算机可读存储介质
CN112218075B (zh) * 2020-10-17 2022-10-28 浙江大华技术股份有限公司 候选列表的填充方法、电子设备、计算机可读存储介质
US11917165B2 (en) 2021-08-16 2024-02-27 Tencent America LLC MMVD signaling improvement
WO2023044247A1 (en) * 2021-09-16 2023-03-23 Qualcomm Incorporated Multiple inter predictors with decoder side motion vector derivation for video coding
US12132885B2 (en) 2021-09-16 2024-10-29 Qualcomm Incorporated Multiple inter predictors with decoder side motion vector derivation for video coding
EP4462774A1 (en) * 2022-01-09 2024-11-13 LG Electronics Inc. Image encoding/decoding method and device, and recording medium having bitstream stored thereon
WO2024117694A1 (ko) * 2022-12-01 2024-06-06 현대자동차주식회사 템플릿 매칭 기반 인터 예측을 이용하는 비디오 코딩을 위한 방법 및 장치

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011129672A2 (ko) * 2010-04-16 2011-10-20 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
GB2512829B (en) * 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
CN103561263B (zh) * 2013-11-06 2016-08-24 北京牡丹电子集团有限责任公司数字电视技术中心 基于运动矢量约束和加权运动矢量的运动补偿预测方法
CN108293131B (zh) * 2015-11-20 2021-08-31 联发科技股份有限公司 基于优先级运动矢量预测子推导的方法及装置
EP4072141A1 (en) * 2016-03-24 2022-10-12 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding video signal
WO2017205703A1 (en) * 2016-05-25 2017-11-30 Arris Enterprises Llc Improved weighted angular prediction coding for intra coding
US11638027B2 (en) * 2016-08-08 2023-04-25 Hfi Innovation, Inc. Pattern-based motion vector derivation for video coding
US11503286B2 (en) * 2016-11-28 2022-11-15 Electronics And Telecommunications Research Institute Method and device for filtering
BR112019012582A8 (pt) * 2016-12-22 2023-02-07 Mediatek Inc Método e aparelho de refinamento de movimento para codificação de vídeo
US10750203B2 (en) * 2016-12-22 2020-08-18 Mediatek Inc. Method and apparatus of adaptive bi-prediction for video coding
JP2018107580A (ja) 2016-12-26 2018-07-05 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
US20180199057A1 (en) * 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
US10523964B2 (en) * 2017-03-13 2019-12-31 Qualcomm Incorporated Inter prediction refinement based on bi-directional optical flow (BIO)
US10595035B2 (en) * 2017-03-22 2020-03-17 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
US10477237B2 (en) * 2017-06-28 2019-11-12 Futurewei Technologies, Inc. Decoder side motion vector refinement in video coding
IL271770B2 (en) * 2017-06-30 2024-03-01 Huawei Tech Co Ltd Search area for motion vector refinement
US11750832B2 (en) * 2017-11-02 2023-09-05 Hfi Innovation Inc. Method and apparatus for video coding
US11470308B2 (en) * 2018-09-21 2022-10-11 Vid Scale, Inc. Complexity reduction and bit-width control for bi-directional optical flow
US11146810B2 (en) * 2018-11-27 2021-10-12 Qualcomm Incorporated Decoder-side motion vector refinement
CN118337991A (zh) 2018-12-28 2024-07-12 索尼集团公司 图像编码装置和图像编码方法
CN113302935A (zh) 2019-01-02 2021-08-24 瑞典爱立信有限公司 视频编码/解码系统中的端运动细化
US11153590B2 (en) * 2019-01-11 2021-10-19 Tencent America LLC Method and apparatus for video coding
KR20220046005A (ko) 2019-02-08 2022-04-13 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 비디오 코딩을 위한 양방향 광학 흐름 및 디코더측 움직임 벡터 보정을 선택적으로 적용하기 위한 방법 및 장치

Also Published As

Publication number Publication date
CN113965746B (zh) 2022-08-12
CN116886925B (zh) 2024-11-08
CN116828185A (zh) 2023-09-29
FI3909247T3 (fi) 2024-06-20
US20210368166A1 (en) 2021-11-25
CN113424537A (zh) 2021-09-21
EP4333435A2 (en) 2024-03-06
WO2020163837A1 (en) 2020-08-13
KR102409275B1 (ko) 2022-06-14
JP2024114809A (ja) 2024-08-23
EP3909247A4 (en) 2022-06-29
EP4333435A3 (en) 2024-05-08
CN114286101B (zh) 2022-10-04
CN115209159B (zh) 2023-08-29
MX2021009529A (es) 2021-09-23
EP3909247A1 (en) 2021-11-17
KR20210132247A (ko) 2021-11-03
JP7339395B2 (ja) 2023-09-05
PL3909247T3 (pl) 2024-08-12
CN111294598A (zh) 2020-06-16
JP2023099145A (ja) 2023-07-11
JP2024012627A (ja) 2024-01-30
JP2022122911A (ja) 2022-08-23
JP7546721B2 (ja) 2024-09-06
KR20220083862A (ko) 2022-06-20
JP2022517134A (ja) 2022-03-04
KR20210102483A (ko) 2021-08-19
US20240297985A1 (en) 2024-09-05
KR102384240B1 (ko) 2022-04-08
CN113965746A (zh) 2022-01-21
EP4333436A2 (en) 2024-03-06
HUE067106T2 (hu) 2024-09-28
DK3909247T3 (da) 2024-04-15
CN111294598B (zh) 2022-01-21
US12108030B2 (en) 2024-10-01
CN116886925A (zh) 2023-10-13
CN116828185B (zh) 2024-08-16
US20210368200A1 (en) 2021-11-25
EP4333436A3 (en) 2024-05-01
CN114286101A (zh) 2022-04-05
EP3909247B1 (en) 2024-04-10
CN115209159A (zh) 2022-10-18
JP2024099849A (ja) 2024-07-25
PT3909247T (pt) 2024-05-13
KR20220046005A (ko) 2022-04-13
JP7232345B2 (ja) 2023-03-02

Similar Documents

Publication Publication Date Title
ES2981908T3 (es) Métodos y dispositivos para aplicar de forma selectiva el flujo óptico bidireccional y el refinamiento del vector de movimiento en el decodificador para la codificación de video
JP7368554B2 (ja) Dmvrのためのブロックサイズ制限
KR102706608B1 (ko) 비디오 코딩에서 장기 참조 픽처에 대한 제한받는 움직임 벡터 도출
TWI617185B (zh) 具有仿射運動補償的視訊編碼的方法以及裝置
US20190124332A1 (en) Inter-prediction mode based image processing method, and apparatus therefor
US20130022117A1 (en) Temporal block merge mode
US20190182505A1 (en) Methods and apparatuses of predictor-based partition in video processing system
US11871034B2 (en) Intra block copy for screen content coding
CN117014615B (zh) 视频编码方法、设备和非暂时性计算机可读存储介质