ES2703458A2 - Metodo y aparato para procesar senales de video - Google Patents

Metodo y aparato para procesar senales de video Download PDF

Info

Publication number
ES2703458A2
ES2703458A2 ES201990009A ES201990009A ES2703458A2 ES 2703458 A2 ES2703458 A2 ES 2703458A2 ES 201990009 A ES201990009 A ES 201990009A ES 201990009 A ES201990009 A ES 201990009A ES 2703458 A2 ES2703458 A2 ES 2703458A2
Authority
ES
Spain
Prior art keywords
block
current block
coding
fusion
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
ES201990009A
Other languages
English (en)
Other versions
ES2703458R1 (es
Inventor
Bae Keun Lee
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.)
KT Corp
Original Assignee
KT Corp
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 KT Corp filed Critical KT Corp
Publication of ES2703458A2 publication Critical patent/ES2703458A2/es
Publication of ES2703458R1 publication Critical patent/ES2703458R1/es
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Picture Signal Circuits (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

Método y aparato para procesar señales de vídeo. Un método para decodificar un video de acuerdo con la presente invención puede comprender: derivar un candidato de fusión espacial para un bloque actual, generar una lista de candidatos de fusión para el bloque actual basado en el candidato de fusión espacial, obtener información de movimiento para el bloque actual basado en fusionar la lista de candidatos y realizar la compensación de movimiento para el bloque actual utilizando la información de movimiento. Aquí, el bloque actual no tiene una forma predefinida o no tiene un tamaño igual o mayor que un tamaño predefinido, el candidato de fusión del bloque actual se deriva basándose en un bloque que tiene la forma predefinida o que tiene un tamaño igual o mayor que el tamaño predefinido, comprendiendo el bloque el bloque actual.

Description

DESCRIPCIÓN
Método y aparato para procesar señales de video
Campo técnico
La presente invención se refiere a un método y a un aparato para procesar señales de video.
Antecedentes de la técnica
Recientemente, la demanda de imágenes de alta resolución y alta calidad como imágenes de alta definición (HD) e imágenes de ultra alta definición (UHD) ha aumentado en varios campos de aplicación. Sin embargo, los datos de imagen de mayor resolución y calidad tienen cantidades cada vez mayores de datos en comparación con los datos de imagen convencionales. Por lo tanto, cuando se transmiten datos de imágenes utilizando un medio como las redes de banda ancha convencionales e inalámbricas, o cuando se almacenan datos de imágenes utilizando un medio de almacenamiento convencional, aumentan los costes de transmisión y almacenamiento. Para resolver estos problemas que ocurren con un aumento en la resolución y la calidad de los datos de imagen, se pueden utilizar técnicas de codificación/decodificación de imagen de alta eficiencia.
La tecnología de compresión de imágenes incluye varias técnicas, entre ellas: una técnica de interpredicción de predicción de un valor de píxel incluido en una imagen actual a partir de una imagen anterior o posterior de la imagen actual; una técnica de intrapredicción de predicción de un valor de píxel incluido en una imagen actual utilizando información de píxeles en la imagen actual; una técnica de codificación por entropía de asignar un código corto a un valor con una frecuencia de aparición alta y asignar un código largo a un valor con una frecuencia de aparición baja; etc. Los datos de imagen pueden comprimirse de manera efectiva mediante el uso de dicha tecnología de compresión de imagen, y pueden transmitirse o almacenarse.
Mientras tanto, con la demanda de imágenes de alta resolución, la demanda de contenido de imágenes estereográficas, que es un nuevo servicio de imágenes, también ha aumentado. Se está discutiendo una técnica de compresión de video para proporcionar efectivamente contenido de imágenes estereográficas con alta resolución y resolución ultraalta.
Divulgación
Problema técnico
Un objeto de la presente invención es proporcionar un método y un aparato para realizar eficazmente la interpredicción para un bloque objetivo de codificación/decodificación en la codificación/decodificación de una señal de video.
Un objeto de la presente invención es proporcionar un método y un aparato para derivar un candidato de fusión basado en un bloque que tiene una forma predeterminada o un tamaño predeterminado para codificar/decodificar una señal de video.
Un objeto de la presente invención es proporcionar un método y un aparato para realizar una fusión en paralelo en una unidad de una forma predeterminada o un tamaño predeterminado en la codificación/decodificación de una señal de video.
Los objetivos técnicos a alcanzar por la presente invención no están limitados a los problemas técnicos mencionados anteriormente. Y otros problemas técnicos que no se mencionan se entenderán de manera evidente para los expertos en la materia a partir de la siguiente descripción.
Solución técnica
Un método y un aparato para decodificar una señal de video de acuerdo con la presente invención puede derivar un candidato de fusión espacial para un bloque actual, generar una lista de candidatos de fusión para el bloque actual basado en el candidato de fusión espacial, obtener información de movimiento para el bloque actual en la lista de candidatos de fusión, y realizar la compensación de movimiento para el bloque actual utilizando la información de movimiento.
Un método y un aparato para codificar una señal de video de acuerdo con la presente invención pueden derivar un candidato de fusión espacial para un bloque actual, generar una lista de candidatos de fusión para el bloque actual basado en el candidato de fusión espacial, obtener información de movimiento para el bloque actual en la lista de candidatos de fusión, y realizar la compensación de movimiento para el bloque actual utilizando la información de movimiento.
En el método y el aparato para codificar/decodificar una señal de video de acuerdo con la presente invención, si el bloque actual no tiene una forma predefinida o no tiene un tamaño igual o mayor que un tamaño predefinido, el candidato de fusión del bloque actual puede derivarse basándose en un bloque que tiene la forma predefinida o que tiene un tamaño igual o mayor que el tamaño predefinido, comprendiendo el bloque, el bloque actual.
En el método y el aparato para codificar/decodificar una señal de video de acuerdo con la presente invención, la forma predefinida puede ser una forma cuadrada.
En el método y el aparato para codificar/decodificar una señal de video según la presente invención, el bloque actual puede tener un mismo candidato de fusión espacial que un bloque vecino incluido en el bloque de la forma cuadrada con el bloque actual.
En el método y el aparato para codificar/decodificar una señal de video de acuerdo con la presente invención, si el bloque actual y el candidato de fusión espacial se incluyen en una misma región de estimación de fusión, se puede determinar que el candidato de fusión espacial no está disponible.
En el método y el aparato para codificar/decodificar una señal de video de acuerdo con la presente invención, la región de estimación de fusión puede tener una forma no cuadrada.
En el método y el aparato para codificar/decodificar una señal de video de acuerdo con la presente invención, si la región de estimación de fusión tiene una forma no cuadrada, puede haber una cantidad de formas candidatas de candidatos de fusión que la región de estimación de fusión pueda restringir por un número predefinido.
Las características resumidas brevemente anteriormente para la presente invención son solo aspectos ilustrativos de la descripción detallada de la invención que sigue, pero no limitan el alcance de la invención.
Efectos ventajosos
De acuerdo con la presente invención , se puede realizar una interpredicción eficiente para un bloque objetivo de codificación/decodificación.
De acuerdo con la presente invención, un candidato de fusión puede derivarse basándose en un bloque que tiene una forma predeterminada o un tamaño predeterminado.
De acuerdo con la presente invención, una fusión se puede realizar en paralelo en una unidad de una forma predeterminada o un tamaño predeterminado.
De acuerdo con la presente invención, la intrapredicción para un bloque objetivo de codificación/decodificación puede realizarse seleccionando al menos una de una pluralidad de líneas de referencia.
De acuerdo con la presente invención, una línea de referencia puede derivarse basándose en un bloque que tiene una forma predeterminada o que tiene un tamaño igual o mayor que un tamaño predeterminado.
De acuerdo con la presente invención, un filtro intra puede aplicarse a al menos una de una pluralidad de líneas de referencia.
De acuerdo con la presente invención, un modo de intrapredicción o un número del modo de intrapredicción puede determinarse adaptativamente de acuerdo con una línea de referencia utilizada para la intrapredicción de un bloque actual.
Los efectos obtenibles por la presente invención no están limitados a los efectos mencionados anteriormente, y los expertos en la técnica pueden entender claramente otros efectos no mencionados a partir de la siguiente descripción.
Descripción de los dibujos
La figura 1 es un diagrama de bloques que ilustra un dispositivo para codificar un video de acuerdo con una realización de la presente invención.
La figura 2 es un diagrama de bloques que ilustra un dispositivo para decodificar un video de acuerdo con una realización de la presente invención.
La figura 3 es un diagrama que ilustra un ejemplo de partición jerárquica de un bloque de codificación basado en una estructura de árbol de acuerdo con una realización de la presente invención.
La figura 4 es un diagrama que ilustra un tipo de partición en el que se permite la partición basada en árbol binario de acuerdo con una realización de la presente invención.
La figura 5 es un diagrama que ilustra un ejemplo en el que solo se permite una partición basada en árbol binario de un tipo predeterminado de acuerdo con una realización de la presente invención.
La figura 6 es un diagrama para explicar un ejemplo en el que la información relacionada con el número permitido de partición de árbol binario se codifica/decodifica, de acuerdo con una realización a la que se aplica la presente invención.
La figura 7 es un diagrama que ilustra un modo de partición aplicable a un bloque de codificación de acuerdo con una realización de la presente invención.
La figura 8 es un diagrama de flujo que ilustra un método de interpredicción de acuerdo con una realización de la presente invención.
La figura 9 es un diagrama que ilustra un proceso de derivar información de movimiento de un bloque actual cuando se aplica un modo de fusión a un bloque actual.
La figura 10 ilustra un proceso de derivación de información de movimiento de un bloque actual cuando se aplica un modo AMVP al bloque actual.
La figura 11 es un diagrama que muestra un candidato de fusión espacial de un bloque actual.
La figura 12 es un diagrama que muestra un bloque coubicado de un bloque actual.
La figura 13 es un diagrama para explicar un ejemplo de cómo obtener un vector de movimiento de un candidato de fusión temporal al escalar un vector de movimiento de un bloque coubicado.
La figura 14 es un diagrama que muestra un ejemplo de derivación de un candidato de fusión de un bloque no cuadrado sobre la base de un bloque cuadrado.
La figura 15 es un diagrama para explicar un ejemplo en el que se deriva un candidato de fusión de un bloque particionado de árbol binario basado en un bloque de nodo superior.
La figura 16 es un diagrama que ilustra un ejemplo de la determinación de la disponibilidad de un candidato de fusión espacial de acuerdo con una región de estimación de fusión.
La figura 17 es un diagrama de flujo que ilustra procesos de obtención de una muestra residual de acuerdo con una realización a la que se aplica la presente invención.
Modo de la invención
Se puede hacer una variedad de modificaciones a la presente invención y existen varias realizaciones de la presente invención, ahora se proporcionarán ejemplos de las mismas, con referencia a los dibujos y se describirán en detalle. Sin embargo, la presente invención no está limitada a las mismas y puede interpretarse que los ejemplos de realizaciones incluyen todas las modificaciones, equivalentes o sustitutos de un concepto técnico y un alcance técnico de la presente invención. Los números de referencia similares se refieren al elemento similar descrito en los dibujos.
Los términos utilizados en la memoria, "primero", "segundo", etc. se pueden usar para describir varios componentes, pero los componentes no deben considerarse como limitados a los términos. Los términos solo se utilizan para distinguir un componente de otro componente. Por ejemplo, el "primer" componente puede denominarse el "segundo" componente sin apartarse del alcance de la presente invención, y el "segundo" componente también puede denominarse de manera similar el "primer" componente. El término 'y/o' incluye una fusión de una pluralidad de elementos o cualquiera de una pluralidad de términos.
Se entenderá que cuando se hace referencia simplemente a un elemento como 'conectado a' o 'acoplado a' otro elemento sin estar 'directamente conectado a' o 'directamente acoplado a' otro elemento en la presente descripción, puede estar 'directamente conectado a’ o 'directamente acoplado a’ otro elemento o estar conectado o acoplado a otro elemento, teniendo el otro elemento que interviene entre los mismos. En contraste, debe entenderse que cuando se hace referencia a un elemento como "directamente acoplado" o "directamente conectado" a otro elemento, no hay elementos intermedios presentes.
Los términos utilizados en la presente memoria descriptiva se utilizan simplemente para describir realizaciones particulares, y no pretenden limitar la presente invención. Una expresión utilizada en singular abarca la expresión del plural, a menos que tenga un significado claramente diferente en el contexto. En la presente memoria, debe entenderse que términos tales como "incluyendo", "teniendo", etc. pretenden indicar la existencia de las características, números, etapas, acciones, elementos, partes o combinaciones de los mismos descritos en la memoria, y no pretenden excluir la posibilidad de que una o más características, números, etapas, acciones, elementos, partes o combinaciones de los mismos puedan existir o agregarse.
A continuación, describirán realizaciones preferidas de la presente invención en detalle con referencia a los dibujos adjuntos. En lo sucesivo, los mismos elementos constituyentes en los dibujos se indican con los mismos números de referencia, y se omitirá una descripción repetida de los mismos elementos.
La figura 1 es un diagrama de bloques que ilustra un dispositivo para codificar un video de acuerdo con una realización de la presente invención.
Haciendo referencia a la figura 1, el dispositivo 100 para codificar un video puede incluir: un módulo de partición de imágenes 110, módulos de predicción 120 y 125, un módulo de transformación 130, un módulo de cuantificación 135, un módulo de reorganización 160, un módulo de codificación de entropía 165, un módulo de cuantificación inversa 140, un módulo de transformación inversa 145, un módulo de filtro 150 y una memoria 155.
Las partes constitutivas mostradas en la figura 1 se muestran de forma independiente para representar funciones características diferentes entre sí en el dispositivo para codificar un video. Por lo tanto, no significa que cada parte constitutiva esté constituida en una unidad constitutiva de hardware o software separado. En otras palabras, cada parte constitutiva incluye cada una de las partes constitutivas enumeradas por conveniencia. Por lo tanto, al menos dos partes constitutivas de cada parte constitutiva pueden combinarse para formar una parte constitutiva o una parte constitutiva puede dividirse en una pluralidad de partes constitutivas para realizar cada función. La realización en la que se combina cada parte constitutiva y la realización en la que se divide una parte constitutiva también se incluyen en el alcance de la presente invención, si no se apartan de la esencia de la presente invención.
Además, algunos de los constituyentes pueden no ser constituyentes indispensables que realizan funciones esenciales de la presente invención, pero pueden ser constituyentes selectivos que mejoran solo el rendimiento de los mismos. La presente invención puede implementarse incluyendo solo las partes constitutivas indispensables para implementar la esencia de la presente invención, excepto los constituyentes utilizados para mejorar el rendimiento. La estructura que incluye solo los constituyentes indispensables, excepto los constituyentes selectivos utilizados para mejorar solo el rendimiento, también se incluye en el alcance de la presente invención.
El módulo de partición de imágenes 110 puede dividir una imagen de entrada en una o más unidades de procesamiento. Aquí, la unidad de procesamiento puede ser una unidad de predicción (PU), una unidad de transformación (TU) o una unidad de codificación (CU). El módulo de partición de imágenes 110 puede dividir una imagen en combinaciones de múltiples unidades de codificación, unidades de predicción y unidades de transformación, y puede codificar una imagen seleccionando una fusión de unidades de codificación, unidades de predicción y unidades de transformación con un criterio predeterminado (por ejemplo, en función del coste).
Por ejemplo, una imagen puede dividirse en varias unidades de codificación. Se puede usar una estructura de árbol recursiva, tal como una estructura de árbol cuádruple, para dividir una imagen en unidades de codificación. Una unidad de codificación que se divide en otras unidades de codificación con una imagen o una unidad de codificación mayor como una raíz puede particionarse con nodos secundarios correspondientes al número de unidades de codificación particionadas. Una unidad de codificación que ya no está particionada por una limitación predeterminada sirve como un nodo de hoja. Es decir, cuando se supone que solo es posible una partición cuadrada para una unidad de codificación, una unidad de codificación se puede dividir como máximo en otras cuatro unidades de codificación.
De aquí en adelante, en la realización de la presente invención, la unidad de codificación puede significar una unidad que realiza la codificación, o una unidad que realiza la decodificación.
Una unidad de predicción puede ser una de las particiones divididas en una forma cuadrada o rectangular que tiene el mismo tamaño en una sola unidad de codificación, o una unidad de predicción puede ser una de las particiones particionadas para tener una forma/tamaño diferente en una sola unidad de codificación.
Cuando se genera una unidad de predicción sometida a intrapredicción basada en una unidad de codificación y la unidad de codificación no es la unidad de codificación más pequeña, la intrapredicción puede realizarse sin dividir la unidad de codificación en múltiples unidades de predicción NxN.
Los módulos de predicción 120 y 125 pueden incluir un módulo de interpredicción 120 que realiza la interpredicción y un módulo de intrapredicción 125 que realiza la intrapredicción. Se puede determinar si realizar la interpredicción o la intrapredicción para la unidad de predicción, y la información detallada (por ejemplo, un modo de intrapredicción, un vector de movimiento, una imagen de referencia, etc.) según cada método de predicción. Aquí, la unidad de procesamiento sujeta a predicción puede ser diferente de la unidad de procesamiento para la cual se determina el método de predicción y el contenido detallado. Por ejemplo, el método de predicción, el modo de predicción, etc. pueden estar determinados por la unidad de predicción, y la unidad de transformación puede realizar la predicción. Se puede ingresar un valor residual (bloque residual) entre el bloque de predicción generado y un bloque original al módulo de transformación 130. Además, la información del modo de predicción, la información del vector de movimiento, etc. utilizada para la predicción puede codificarse con el valor residual mediante el módulo de codificación de entropía 165 y puede transmitirse a un dispositivo para decodificar un video. Cuando se usa un modo de codificación particular, es posible transmitir a un dispositivo para decodificar video codificando el bloque original tal como es sin generar el bloque de predicción a través de los módulos de predicción 120 y 125.
El módulo de interpredicción 120 puede predecir la unidad de predicción basándose en la información de al menos una de una imagen anterior o una imagen posterior de la imagen actual, o puede predecir la unidad de predicción basándose en la información de algunas regiones codificadas en la imagen actual, en algunos casos. El módulo de interpredicción 120 puede incluir un módulo de interpolación de imágenes de referencia, un módulo de predicción de movimiento y un módulo de compensación de movimiento.
El módulo de interpolación de imágenes de referencia puede recibir información de imágenes de referencia desde la memoria 155 y puede generar información de píxeles de un píxel entero o menos que el píxel entero de la imagen de referencia. En el caso de píxeles de luz, se puede usar un filtro de interpolación basado en DCT de 8 derivaciones con diferentes coeficientes de filtro para generar información de píxeles de un píxel entero o menor que un píxel entero en una unidad de 1/4 de píxel. En el caso de señales cromáticas, se puede usar un filtro de interpolación basado en DCT de 4 derivaciones que tiene un coeficiente de filtro diferente para generar información de píxeles de un píxel entero o menos de un píxel entero en una unidad de 1/8 de píxel.
El módulo de predicción de movimiento puede realizar la predicción de movimiento basándose en la imagen de referencia interpolada por el módulo de interpolación de imagen de referencia. Como métodos para calcular un vector de movimiento, se pueden utilizar varios métodos, tal como un algoritmo de coincidencia de bloques basado en búsqueda completa (FBMA), una búsqueda en tres etapas (TSS), un nuevo algoritmo de búsqueda en tres etapas (NTS), etc. El vector de movimiento puede tener un valor de vector de movimiento en una unidad de 1/2 píxel o 1/4 de píxel basado en un píxel interpolado. El módulo de predicción de movimiento puede predecir una unidad de predicción actual cambiando el método de predicción de movimiento. Como métodos de predicción de movimiento se pueden utilizar varios métodos, tal como el método de omisión, el método de fusión, el método AMVP (Predicción avanzada de vectores de movimiento), el método de copia de intrabloque, etc.
El módulo de intrapredicción 125 puede generar una unidad de predicción basada en información de píxeles de referencia adyacente a un bloque actual que es información de píxeles en la imagen actual. Cuando el bloque vecino de la unidad de predicción actual es un bloque sometido a interpredicción y, por lo tanto, un píxel de referencia es un píxel sometido a interpredicción, el píxel de referencia incluido en el bloque sometido a interpredicción puede ser reemplazado por información de píxeles de referencia de un bloque vecino sujeto a intrapredicción. Es decir, cuando un píxel de referencia no está disponible, se puede usar al menos un píxel de referencia de píxeles de referencia disponibles en lugar de información de píxeles de referencia no disponible.
Los modos de predicción en intrapredicción pueden incluir un modo de predicción direccional que usa información de píxeles de referencia dependiendo de la dirección de la predicción y un modo de predicción no direccional que no usa información direccional para realizar la predicción. Un modo para predecir la información de luma puede ser diferente de un modo para predecir la información de croma, y para predecir la información de croma se puede utilizar la información de modo de intrapredicción utilizada para predecir la información de luma o la información de señal de luma predicha.
Al realizar la intrapredicción, cuando el tamaño de la unidad de predicción es el mismo que el tamaño de la unidad de transformación, la intrapredicción se puede realizar en la unidad de predicción en función de los píxeles situados en la izquierda, la parte superior izquierda y la parte superior de la unidad de predicción. Sin embargo, al realizar la intrapredicción, cuando el tamaño de la unidad de predicción es diferente del tamaño de la unidad de transformación, la intrapredicción puede realizarse utilizando un píxel de referencia basado en la unidad de transformación. Además, la intrapredicción utilizando una partición NxN puede usarse solo para la unidad de codificación más pequeña.
En el método de intrapredicción, se puede generar un bloque de predicción después de aplicar un filtro AIS (alisado intra adaptativo) a un píxel de referencia en función de los modos de predicción. El tipo de filtro AIS aplicado al píxel de referencia puede variar. Para realizar el método de intrapredicción, se puede predecir un modo de intrapredicción de la unidad de predicción actual a partir del modo de intrapredicción de la unidad de predicción adyacente a la unidad de predicción actual. En la predicción del modo de predicción de la unidad de predicción actual mediante el uso de información de modo predicha desde la unidad de predicción vecina, cuando el modo de intrapredicción de la unidad de predicción actual es el mismo que el modo de intrapredicción de la unidad de predicción vecina, la información indica que los modos de predicción de la unidad de predicción actual y la unidad de predicción vecina son iguales entre sí pueden transmitirse usando información de señalización predeterminada. Cuando el modo de predicción de la unidad de predicción actual es diferente del modo de predicción de la unidad de predicción vecina, se puede realizar la codificación de entropía para codificar la información del modo de predicción del bloque actual.
Además, un bloque residual que incluye información sobre un valor residual que es diferente entre la unidad de predicción sometida a predicción y el bloque original de la unidad de predicción puede generarse basándose en las unidades de predicción generadas por los módulos de predicción 120 y 125. El bloque residual generado puede introducirse en el módulo de transformación 130.
El módulo de transformación 130 puede transformar el bloque residual que incluye la información sobre el valor residual entre el bloque original y la unidad de predicción generada por los módulos de predicción 120 y 125 mediante el uso de un método de transformación, tal como transformada discreta de coseno (DCT), transformada de seno discreta (DST), y KLT. La aplicación de DCT, DST o KLT para transformar el bloque residual puede determinarse en función de la información del modo de intrapredicción de la unidad de predicción utilizada para generar el bloque residual.
El módulo de cuantización 135 puede cuantizar los valores transformados en un dominio de frecuencia mediante el módulo de transformación 130. Los coeficientes de cuantificación pueden variar según el bloque o la importancia de una imagen. Los valores calculados por el módulo de cuantificación 135 pueden proporcionarse al módulo de cuantización inversa 140 y al módulo de reorganización 160.
El módulo de reorganización 160 puede reorganizar los coeficientes de los valores residuales cuantificados.
El módulo de reorganización 160 puede cambiar un coeficiente en forma de un bloque bidimensional en un coeficiente en forma de un vector unidimensional a través de un método de exploración de coeficientes. Por ejemplo, el módulo de reorganización 160 puede explorar desde un coeficiente DC a un coeficiente en un dominio de alta frecuencia usando un método de exploración en zigzag para cambiar los coeficientes para que estén en la forma de vectores unidimensionales. Según el tamaño de la unidad de transformación y el modo de intrapredicción, la exploración en dirección vertical donde se exploran los coeficientes en forma de bloques bidimensionales en la dirección de la columna o la exploración en dirección horizontal donde se exploran los coeficientes en forma de bloques bidimensionales, se puede usar la dirección de la fila, en lugar de la exploración en zigzag. Es decir, puede determinarse el método de exploración entre los siguientes: zigzag, exploración en dirección vertical y exploración en dirección horizontal, según el tamaño de la unidad de transformación y el modo de intrapredicción.
El módulo de codificación de entropía 165 puede realizar la codificación de entropía basándose en los valores calculados por el módulo de reorganización 160. La codificación de entropía puede utilizar varios métodos de codificación, por ejemplo, codificación de Golomb exponencial, codificación de longitud variable adaptada al contexto (CAVLC) y codificación de aritmética binaria adaptada al contexto (CABAC).
El módulo de codificación de entropía 165 puede codificar una variedad de información, tal como información de coeficiente de valor residual e información de tipo de bloque de la unidad de codificación, información de modo de predicción, información de unidad de partición, información de unidad de predicción, información de unidad de transformación, información de vector de movimiento, información de cuadro de referencia, información de interpolación de bloque, información de filtrado, etc. del módulo de reorganización 160 y los módulos de predicción 120 y 125.
El módulo de codificación de entropía 165 puede codificar por entropía los coeficientes de la entrada de la unidad de codificación del módulo de reorganización 160.
El módulo de cuantización inversa 140 puede cuantizar inversamente los valores cuantificados por el módulo de cuantificación 135 y el módulo de transformación inversa 145 puede transformar inversamente los valores transformados por el módulo de transformación 130. El valor residual generado por el módulo de cuantización inversa 140 y el módulo de transformación inversa 145 puede combinarse con la unidad de predicción predicha por un módulo de estimación de movimiento, un módulo de compensación de movimiento y el módulo de intrapredicción de los módulos de predicción 120 y 125, de manera que se puede generar un bloque reconstruido.
El módulo de filtro 150 puede incluir al menos uno de los siguientes: un filtro de desbloqueo, una unidad de corrección de desplazamiento y un filtro de bucle adaptativo (ALF).
El filtro de desbloqueo puede eliminar la distorsión del bloque que se produce debido a los límites entre los bloques en la imagen reconstruida. Para determinar si se debe realizar el desbloqueo, los píxeles incluidos en varias filas o columnas en el bloque pueden ser una base para determinar si se aplica el filtro de desbloqueo al bloque actual. Cuando el filtro de desbloqueo se aplica al bloque, se puede aplicar un filtro fuerte o un filtro débil, dependiendo de la fuerza de filtrado de desbloqueo requerida. Además, al aplicar el filtro de desbloqueo, el filtrado en dirección horizontal y el filtrado en dirección vertical pueden procesarse en paralelo.
El módulo de corrección de desplazamiento puede corregir el desplazamiento con la imagen original en una unidad de un píxel en la imagen sujeta a desbloqueo. Para realizar la corrección de desplazamiento en una imagen particular, es posible usar un método para aplicar el desplazamiento en consideración a la información de borde de cada píxel o un método de partición de píxeles de una imagen en el número predeterminado de regiones, determinando una región que está sujeta a realizar un desplazamiento, y aplicar el desplazamiento a la región determinada.
El filtrado de bucle adaptativo (ALF) se puede realizar según el valor obtenido al comparar la imagen reconstruida filtrada y la imagen original. Los píxeles incluidos en la imagen se pueden dividir en grupos predeterminados, se puede determinar un filtro que se aplicará a cada uno de los grupos y se puede realizar un filtrado individual para cada grupo. La información sobre si aplicar ALF y una señal de luz puede ser transmitida por unidades de codificación (CU). La forma y el coeficiente de filtro de un filtro para ALF pueden variar dependiendo de cada bloque. Además, el filtro para ALF en la misma forma (forma fija) puede aplicarse independientemente de las características del bloque de destino de la aplicación.
La memoria 155 puede almacenar el bloque reconstruido o la imagen calculada a través del módulo de filtro 150. El bloque o imagen reconstruida almacenada pueden proporcionarse a los módulos de predicción 120 y 125 para realizar la interpredicción.
La figura 2 es un diagrama de bloques que ilustra un dispositivo para decodificar un video de acuerdo con una realización de la presente invención.
Haciendo referencia a la figura 2, el dispositivo 200 para decodificar un video puede incluir: un módulo de decodificación de entropía 210, un módulo de reorganización 215, un módulo de cuantificación inversa 220, un módulo de transformación inversa 225, módulos de predicción 230 y 235, un módulo de filtro 240 y una memoria 245.
Cuando se ingresa un flujo de bits de video desde el dispositivo para codificar un video, el flujo de bits de entrada se puede decodificar según un proceso inverso del dispositivo para codificar un video.
El módulo de decodificación de entropía 210 puede realizar la decodificación de entropía de acuerdo con un proceso inverso de codificación de entropía del módulo de codificación de entropía del dispositivo para codificar un video. Por ejemplo, según los métodos realizados por el dispositivo para codificar un video, se pueden aplicar varios métodos, tal como la codificación exponencial de Golomb, la codificación de longitud variable adaptada al contexto (CAVLC) y la codificación aritmética binaria adaptada al contexto (CABAC).
El módulo de decodificación de entropía 210 puede decodificar información sobre la intrapredicción e interpredicción realizada por el dispositivo para codificar un video.
El módulo de reorganización 215 puede realizar una reorganización en la entropía del flujo de bits decodificado por el módulo de decodificación de entropía 210 en base al método de reorganización utilizado en el dispositivo para codificar un video. El módulo de reorganización puede reconstruir y reorganizar los coeficientes en forma de vectores unidimensionales al coeficiente en forma de bloques bidimensionales. El módulo de reorganización 215 puede recibir información relacionada con la exploración de coeficientes realizado en el dispositivo para codificar un video y puede realizar una reorganización a través de un método de exploración inverso de los coeficientes según el orden de exploración realizado en el dispositivo para codificar un video.
El módulo de cuantización inversa 220 puede realizar una cuantificación inversa basada en un parámetro de cuantificación recibido desde el dispositivo para codificar un video y los coeficientes reorganizados del bloque.
El módulo de transformación inversa 225 puede realizar la transformación inversa, es decir, DCT inversa, DST inversa y KLT inversa, que es el proceso inverso de transformación, es decir, DCT, DST y KLT, realizada por el módulo de transformación en el resultado de cuantificación mediante el dispositivo para codificar un video. La transformación inversa se puede realizar en función de una unidad de transferencia determinada por el dispositivo para codificar un video. El módulo de transformación inversa 225 del dispositivo para decodificar un video puede realizar esquemas de transformación selectivamente (por ejemplo, DCT, DST y KLT) dependiendo de múltiples datos, como el método de predicción, el tamaño del bloque actual, la dirección de predicción, etc.
Los módulos de predicción 230 y 235 pueden generar un bloque de predicción basado en información sobre la generación de bloque de predicción recibida desde el módulo de decodificación de entropía 210 y la información de imagen o bloque previamente decodificada recibida desde la memoria 245.
Como se describió anteriormente, al igual que la operación del dispositivo para codificar un video, al realizar la intrapredicción, cuando el tamaño de la unidad de predicción es el mismo que el tamaño de la unidad de transformación, la intrapredicción se puede realizar en la unidad de predicción en función de los píxeles situados en la izquierda, la parte superior izquierda y la parte superior de la unidad de predicción. Al realizar la intrapredicción, cuando el tamaño de la unidad de predicción es diferente del tamaño de la unidad de transformación, la intrapredicción puede realizarse utilizando un píxel de referencia basado en la unidad de transformación. Además, la intrapredicción utilizando una partición NxN puede usarse solo para la unidad de codificación más pequeña.
Los módulos de predicción 230 y 235 pueden incluir un módulo de determinación de unidad de predicción, un módulo de interpredicción y un módulo de intrapredicción. El módulo de determinación de la unidad de predicción puede recibir una variedad de información, tal como información de la unidad de predicción, información del modo de predicción de un método de intrapredicción, información sobre la predicción de movimiento de un método de interpredicción, etc. Desde el módulo de descodificación de entropía 210, puede dividir una unidad de codificación actual en unidades de predicción, y puede determinar si la interpredicción o intrapredicción se realiza en la unidad de predicción. Al utilizar la información requerida en la interpredicción de la unidad de predicción actual recibida del dispositivo para codificar un video, el módulo de interpredicción 230 puede realizar la interpredicción en la unidad de predicción actual según la información de al menos una imagen anterior o una imagen posterior de la imagen actual, incluyendo la unidad de predicción actual. Alternativamente, la interpredicción se puede realizar en base a la información de algunas regiones prereconstruidas en la imagen actual, incluida la unidad de predicción actual.
Para realizar la interpredicción, se puede determinar para la unidad de codificación cuál de un modo de omisión, un modo de fusión, un modo AMVP y un modo de copia entre bloques se utiliza como método de predicción de movimiento de la unidad de predicción incluida en la unidad de codificación.
El módulo de intrapredicción 235 puede generar un bloque de predicción basado en información de píxeles en la imagen actual. Cuando la unidad de predicción es una unidad de predicción sujeta a intrapredicción, la intrapredicción puede realizarse en base a la información del modo de intrapredicción de la unidad de predicción recibida desde el dispositivo para codificar un video. El módulo de intrapredicción 235 puede incluir un filtro de suavizado intra adaptativo (AIS), un módulo de interpolación de píxeles de referencia y un filtro de CC. El filtro AIS realiza el filtrado en el píxel de referencia del bloque actual, y la aplicación del filtro puede determinarse según el modo de predicción de la unidad de predicción actual. El filtrado AIS se puede realizar en el píxel de referencia del bloque actual utilizando el modo de predicción de la unidad de predicción y la información del filtro AIS recibida desde el dispositivo para codificar un video. Cuando el modo de predicción del bloque actual es un modo en el que no se realiza el filtrado AIS, el filtro AIS puede no aplicarse.
Cuando el modo de predicción de la unidad de predicción es un modo de predicción en el que la intrapredicción se realiza en función del valor de píxel obtenido al interpolar el píxel de referencia, el módulo de interpolación de píxeles de referencia puede interpolar el píxel de referencia para generar el píxel de referencia de un píxel entero o menos que un píxel entero. Cuando el modo de predicción de la unidad de predicción actual es un modo de predicción en el que se genera un bloque de predicción sin interpolación del píxel de referencia, el píxel de referencia no puede ser interpolado. El filtro de CC puede generar un bloque de predicción a través del filtrado cuando el modo de predicción del bloque actual es un modo de CC.
El bloque o la imagen reconstruidos pueden proporcionarse al módulo de filtro 240. El módulo de filtro 240 puede incluir el filtro de desbloqueo, el módulo de corrección de desplazamiento y el ALF.
La información sobre si el filtro de desbloqueo se aplica o no al bloque o imagen correspondiente, y la información sobre cuál de los filtros, fuertes o débiles, se aplica cuando se aplica el filtro de desbloqueo puede recibirse desde el dispositivo para codificar un video. El filtro de desbloqueo del dispositivo para decodificar un video puede recibir información sobre el filtro de desbloqueo del dispositivo para codificar un video, y puede realizar un filtrado de desbloqueo en el bloque correspondiente.
El módulo de corrección de desplazamiento puede realizar la corrección de desplazamiento en la imagen reconstruida basándose en el tipo de corrección de desplazamiento y la información del valor de desplazamiento aplicada a una imagen al realizar la codificación.
El ALF se puede aplicar a la unidad de codificación en función de la información sobre si se debe aplicar el ALF, la información del coeficiente de ALF, etc., recibida desde el dispositivo para codificar un video. La información ALF puede proporcionarse como incluida en un conjunto de parámetros particular.
La memoria 245 puede almacenar la imagen o bloque reconstruido para usar como imagen o bloque de referencia y puede proporcionar la imagen reconstruida a un módulo de salida.
Como se describió anteriormente, en la realización de la presente invención, por conveniencia de explicación, la unidad de codificación se usa como un término que representa una unidad para la codificación, pero la unidad de codificación puede servir como una unidad que realiza la decodificación así como la codificación.
Además, un bloque actual puede representar un bloque objetivo para ser codificado/decodificado. Y, el bloque actual puede representar un bloque de árbol de codificación (o una unidad de árbol de codificación), un bloque de codificación (o una unidad de codificación), un bloque de transformación (o una unidad de transformación), un bloque de predicción (o una unidad de predicción), o similares, dependiendo de una etapa de codificación/decodificación.
Una imagen puede codificarse/decodificarse dividiéndose en bloques de base que tienen una forma cuadrada o una forma no cuadrada. En este momento, se puede hacer referencia al bloque base como una unidad de árbol de codificación. La unidad de árbol de codificación se puede definir como una unidad de codificación del tamaño más grande permitido dentro de una secuencia o un segmento. La información sobre si la unidad de árbol de codificación tiene una forma cuadrada o si tiene una forma no cuadrada o la información sobre el tamaño de la unidad del árbol de codificación se puede señalar a través de un conjunto de parámetros de secuencia, un conjunto de parámetros de imagen o un encabezado de segmento. La unidad del árbol de codificación se puede dividir en particiones de menor tamaño. En este momento, si se supone que la profundidad de una partición generada al dividir la unidad de árbol de codificación es 1, la profundidad de una partición generada al dividir la partición que tiene la profundidad 1 se puede definir como 2. Es decir, una partición generada al dividir una partición que tiene una profundidad k en la unidad de árbol de codificación puede definirse como que tiene una profundidad k+1.
Una partición de tamaño arbitrario generada al dividir una unidad de árbol de codificación puede definirse como una unidad de codificación. La unidad de codificación puede dividirse recursivamente o dividirse en unidades de base para realizar predicción, cuantificación, transformación o filtrado en bucle, y similares. Por ejemplo, una partición de tamaño arbitrario generada al dividir la unidad de codificación se puede definir como una unidad de codificación, o se puede definir como una unidad de transformación o una unidad de predicción, que es una unidad base para realizar la predicción, cuantificación, transformación o filtrado en bucle y similares.
La partición de una unidad de árbol de codificación o una unidad de codificación se puede realizar en base a al menos una de una línea vertical y una línea horizontal. Además, el número de líneas verticales o líneas horizontales que dividen la unidad de árbol de codificación o la unidad de codificación puede ser al menos una o más. Por ejemplo, la unidad del árbol de codificación o la unidad de codificación se puede dividir en dos particiones usando una línea vertical o una línea horizontal, o la unidad del árbol de codificación o la unidad de codificación se puede dividir en tres particiones usando dos líneas verticales o dos líneas horizontales. Alternativamente, la unidad del árbol de codificación o la unidad de codificación se pueden dividir en cuatro particiones que tienen una longitud y una anchura de 1/2 utilizando una línea vertical y una línea horizontal.
Cuando una unidad de árbol de codificación o una unidad de codificación se divide en una pluralidad de particiones utilizando al menos una línea vertical o al menos una línea horizontal, las particiones pueden tener un tamaño uniforme o un tamaño diferente. Alternativamente, cualquier partición puede tener un tamaño diferente de las particiones restantes.
En las realizaciones descritas a continuación, se supone que una unidad de árbol de codificación o una unidad de codificación se divide en una estructura de árbol cuádruple o una estructura de árbol binario. Sin embargo, también es posible dividir una unidad de árbol de codificación o una unidad de codificación utilizando un número mayor de líneas verticales o un número mayor de líneas horizontales.
La figura 3 es un diagrama que ilustra un ejemplo de partición jerárquica de un bloque de codificación basado en una estructura de árbol de acuerdo con una realización de la presente invención.
Una señal de video de entrada se decodifica en unidades de bloque predeterminadas. Tal unidad predeterminada para decodificar la señal de entrada de video es un bloque de codificación. El bloque de codificación puede ser una unidad que realiza predicción, transformación y cuantificación intra/inter. Además, un modo de predicción (por ejemplo, modo de intrapredicción o modo de interpredicción) se determina en una unidad de un bloque de codificación, y los bloques de predicción incluidos en el bloque de codificación pueden compartir el modo de predicción determinado. El bloque de codificación puede ser un bloque cuadrado o no cuadrado que tenga un tamaño arbitrario en un rango de 8x8 a 64x64, o puede ser un bloque cuadrado o no cuadrado que tenga un tamaño de 128x128, 256x256 o más.
Específicamente, el bloque de codificación se puede dividir jerárquicamente en función de al menos uno de un árbol cuádruple y un árbol binario. Aquí, la partición basada en árbol cuádruple puede significar que un bloque de codificación 2Nx2N se divide en cuatro bloques de codificación NxN, y la partición basada en árbol binario puede significar que un bloque de codificación se divide en dos bloques de codificación. Incluso si se realiza la partición basada en árbol binario, puede existir un bloque de codificación de forma cuadrada en la profundidad inferior.
La partición basada en árboles binarios se puede realizar de manera simétrica o asimétrica. El bloque de codificación dividido en función del árbol binario puede ser un bloque cuadrado o un bloque no cuadrado, tal como una forma rectangular. Por ejemplo, un tipo de partición en el que se permite la partición basada en árbol binario puede comprender al menos uno de un tipo simétrico de 2NxN (unidad de codificación no cuadrada direccional horizontal) o Nx2N (unidad de codificación no cuadrada de dirección vertical), tipo asimétrico de nLx2N, nRx2N, 2NxnU o 2NxnD.
La partición basada en árbol binario se puede permitir de forma limitada a una partición de tipo simétrico o asimétrico. En este caso, la construcción de la unidad del árbol de codificación con bloques cuadrados puede corresponder a la partición CU de árbol cuádruple, y la construcción de la unidad del árbol de codificación con bloques simétricos no cuadrados puede corresponder a la división de árbol binario. La construcción de la unidad de árbol de codificación con bloques cuadrados y bloques no cuadrados simétricos puede corresponder a la partición CU de árbol cuádruple y binario.
La partición basada en árbol binario se puede realizar en un bloque de codificación donde ya no se realiza la partición basada en árbol cuádruple. La partición basada en árbol cuádruple ya no se puede realizar en el bloque de codificación particionado en base al árbol binario.
Además, la partición de una profundidad inferior se puede determinar según el tipo de partición de una profundidad superior. Por ejemplo, si se permite la partición basada en árbol binario en dos o más profundidades, solo se puede permitir el mismo tipo que la partición de árbol binario de la profundidad superior en la profundidad inferior. Por ejemplo, si la partición basada en árbol binario en la profundidad superior se realiza con el tipo 2NxN, la partición basada en árbol binario en la profundidad inferior también se realiza con el tipo 2NxN. Alternativamente, si la partición basada en árbol binario en la profundidad superior se realiza con el tipo Nx2N, la partición basada en árbol binario en la profundidad inferior también se realiza con el tipo Nx2N.
Por el contrario, también es posible permitir, en una profundidad más baja, solo un tipo diferente de un tipo de partición de árbol binario de una profundidad superior.
Puede ser posible limitar solo un tipo específico de partición basada en árbol binario para ser usada para secuencia, segmento, unidad de árbol de codificación o unidad de codificación. Como ejemplo, solo se puede permitir el tipo 2NxN o el tipo Nx2N de partición basada en árbol binario para la unidad de árbol de codificación. Un tipo de partición disponible puede estar predefinida en un codificador o un decodificador. O la información sobre el tipo de partición disponible o sobre el tipo de partición no disponible puede codificarse y luego enviarse a través de un flujo de bits.
La figura 5 es un diagrama que ilustra un ejemplo en el que solo se permite un tipo específico de partición basada en árbol binario. La figura 5A muestra un ejemplo en el que solo se permite el tipo Nx2N de partición basada en árbol binario, y la figura 5B muestra un ejemplo en el que solo se permite el tipo 2NxN de partición basada en árbol binario. Para implementar la partición adaptativa basada en el árbol cuádruple o árbol binario, se puede usar la información que indica la partición basada en árbol cuádruple, la información sobre el tamaño/profundidad del bloque de codificación que la partición basada en árbol cuádruple permite, la información que indica la partición basada en árbol binario, la información sobre el tamaño/profundidad del bloque de codificación que permite la partición basada en árbol binario, la información sobre el tamaño/profundidad del bloque de codificación en la que no se permite la partición basada en árbol binario, la información sobre si la partición basada en árbol binario se realiza en una dirección vertical o una dirección horizontal, etc.
Además, se puede obtener información sobre el número de veces que se permite una partición de árbol binario, una profundidad a la que se permite la partición de árbol binario, o el número de las profundidades a las que se permite la partición de árbol binario para una unidad de árbol de codificación o una unidad de codificación específica. La información puede codificarse en una unidad de una unidad de árbol de codificación o una unidad de codificación, y puede transmitirse a un decodificador a través de un flujo de bits.
Por ejemplo, una sintaxis 'max_binary_depth_idx_minus1' que indica una profundidad máxima a la que se permite la partición del árbol binario puede codificarse/decodificarse a través de un flujo de bits. En este caso, max_binary_depth_idx_minus1 1 puede indicar la profundidad máxima a la que se permite la partición del árbol binario.
Con referencia al ejemplo mostrado en la figura 6, en la figura 6, la división del árbol binario se ha realizado para una unidad de codificación que tiene una profundidad de 2 y una unidad de codificación que tiene una profundidad de 3. En consecuencia, al menos uno de los datos que indica el número de veces que se ha realizado la partición del árbol binario en la unidad del árbol de codificación (es decir, 2 veces), la información que indica la profundidad máxima a la que se ha permitido la partición del árbol binario en la unidad del árbol de codificación (es decir, la profundidad 3), o el número de profundidades en las que se realizó la partición del árbol binario en la unidad del árbol de codificación (es decir, 2 (profundidad 2 y profundidad 3)) puede codificarse/decodificarse a través de un flujo de bits.
Como otro ejemplo, al menos uno de los datos sobre el número de veces que se permite la partición del árbol binario, la profundidad a la que se permite la partición del árbol binario, o el número de las profundidades a las que se permite la partición del árbol binario se puede obtener para cada secuencia o cada sector. Por ejemplo, la información se puede codificar en una unidad de una secuencia, una imagen o una unidad de división y transmitir a través de un flujo de bits. En consecuencia, al menos uno de los números de la partición del árbol binario en un primer segmento, la profundidad máxima en la que se permite la partición del árbol binario en el primer segmento, o el número de profundidades en que la partición del árbol binario se realiza en el primer segmento puede ser la diferencia de un segundo segmento. Por ejemplo, en el primer segmento, la partición de árbol binario puede permitirse solo para una profundidad, mientras que, en el segundo segmento, la partición de árbol binario puede permitirse para dos profundidades.
Como otro ejemplo, la cantidad de veces que se permite la partición del árbol binario, la profundidad a la que se permite la partición del árbol binario, o la cantidad de profundidades a las que se permite la partición del árbol binario se puede configurar de manera diferente según un identificador de nivel de tiempo (TemporalID) de un segmento o una imagen. Aquí, el identificador de nivel temporal (TemporalID) se usa para identificar cada una de una pluralidad de capas de video que tienen una escalabilidad de al menos una de vista, espacial, temporal o de calidad.
Como se muestra en la figura 3, el primer bloque de codificación 300 con la profundidad de partición (profundidad de división) de k puede dividirse en múltiples segundos bloques de codificación basados en el árbol cuádruple. Por ejemplo, los segundos bloques de codificación 310 a 340 pueden ser bloques cuadrados que tienen la mitad del ancho y la mitad de la altura del primer bloque de codificación, y la profundidad de partición del segundo bloque de codificación se puede aumentar a k+1.
El segundo bloque de codificación 310 con la profundidad de partición de k+1 puede dividirse en múltiples terceros bloques de codificación con la profundidad de partición de k+2. La partición del segundo bloque de codificación 310 se puede realizar utilizando selectivamente uno de los cuatro árboles y el árbol binario dependiendo de un método de partición. Aquí, el método de partición se puede determinar en función de al menos una de las informaciones que indican la partición basada en árboles cuádruples y la información que indica la partición basada en árboles binarios.
Cuando el segundo bloque de codificación 310 se divide según el árbol cuádruple, el segundo bloque de codificación 310 se puede dividir en cuatro terceros bloques de codificación 310a que tienen la mitad del ancho y la mitad del segundo bloque de codificación, y la profundidad de partición del tercer bloque de codificación 310a se puede aumentar a k+2. En contraste, cuando el segundo bloque de codificación 310 se divide en función del árbol binario, el segundo bloque de codificación 310 se puede dividir en dos terceros bloques de codificación. Aquí, cada uno de los dos terceros bloques de codificación puede ser un bloque no cuadrado que tiene un ancho medio y la mitad de la altura del segundo bloque de codificación, y la profundidad de la partición se puede aumentar a k+2. El segundo bloque de codificación se puede determinar como un bloque no cuadrado de una dirección horizontal o vertical que depende de una dirección de partición, y la dirección de partición se puede determinar según la información sobre si la partición basada en árbol binario se realiza en una dirección vertical o una dirección horizontal.
Mientras tanto, el segundo bloque de codificación 310 puede determinarse como un bloque de codificación de hoja que ya no está particionado en función del árbol cuádruple o del árbol binario. En este caso, el bloque de codificación de hoja se puede usar como un bloque de predicción o un bloque de transformación.
Al igual que la partición del segundo bloque de codificación 310, el tercer bloque de codificación 310a puede determinarse como un bloque de codificación de hoja, o puede dividirse adicionalmente basándose en el árbol cuádruple o el árbol binario.
Mientras tanto, el tercer bloque de codificación 310b particionado en base al árbol binario puede dividirse adicionalmente en los bloques de codificación 310b-2 de una dirección vertical o los bloques de codificación 310b-3 de una dirección horizontal en base al árbol binario, y la profundidad de partición de los bloques de codificación relevantes se pueden aumentar a k+3. Alternativamente, el tercer bloque de codificación 310b puede determinarse como un bloque de codificación de hoja 310b-1 que ya no está particionado en base al árbol binario. En este caso, el bloque de codificación 310b-1 puede usarse como un bloque de predicción o un bloque de transformación. Sin embargo, el proceso de partición anterior se puede realizar de forma limitada en función de al menos una de las informaciones sobre el tamaño/profundidad del bloque de codificación que permite la partición basada en árboles cuádruples, se permite la información sobre el tamaño/profundidad del bloque de codificación de ese árbol binario basada en la partición, y no se permite la información sobre el tamaño/profundidad del bloque de codificación de esa partición basada en árbol binario.
Un número de un candidato que representa un tamaño de un bloque de codificación puede estar limitado a: un número predeterminado, o un tamaño de un bloque de codificación en una unidad predeterminada que puede tener un valor fijo. Como ejemplo, el tamaño del bloque de codificación en una secuencia o en una imagen puede limitarse a tener 256x256, 128x128 o 32x32. La información que indica el tamaño del bloque de codificación en la secuencia o en la imagen se puede señalar a través de un encabezado de secuencia o un encabezado de imagen.
Como resultado de la partición basada en un árbol cuádruple y un árbol binario, una unidad de codificación puede representarse como una forma cuadrada o rectangular de un tamaño arbitrario.
Un bloque de codificación se codifica utilizando al menos uno de los modos de omisión, intrapredicción, interpredicción o método de omisión. Una vez que se determina un bloque de codificación, se puede determinar un bloque de predicción a través de la partición predictiva del bloque de codificación. La partición predictiva del bloque de codificación se puede realizar mediante un modo de partición (Part_modo) que indica un tipo de partición del bloque de codificación. Un tamaño o una forma del bloque de predicción se puede determinar de acuerdo con el modo de partición del bloque de codificación. Por ejemplo, un tamaño de un bloque de predicción determinado de acuerdo con el modo de partición puede ser igual o menor que un tamaño de un bloque de codificación.
La figura 7 es un diagrama que ilustra un modo de partición que puede aplicarse a un bloque de codificación cuando el bloque de codificación está codificado por interpredicción.
Cuando un bloque de codificación se codifica por interpredicción, se puede aplicar uno de los 8 modos de partición al bloque de codificación, como en el ejemplo mostrado en la figura 4.
Cuando un bloque de codificación se codifica por intrapredicción, se puede aplicar un modo de partición PART_2Nx2N o un modo de partición PART_NxN al bloque de codificación.
PART_NxN puede aplicarse cuando un bloque de codificación tiene un tamaño mínimo. Aquí, el tamaño mínimo del bloque de codificación se puede predefinir en un codificador y un decodificador. O bien, la información sobre el tamaño mínimo del bloque de codificación puede ser señalizada a través de un flujo de bits. Por ejemplo, el tamaño mínimo del bloque de codificación se puede señalar a través de un encabezado de segmento, de modo que el tamaño mínimo del bloque de codificación se puede definir por segmento.
En general, un bloque de predicción puede tener un tamaño de 64x64 a 4x4. Sin embargo, cuando un bloque de codificación está codificado por interpredicción, se puede restringir que el bloque de predicción no tenga un tamaño de 4x4 para reducir el ancho de banda de la memoria cuando se realiza la compensación de movimiento.
La figura 8 es un diagrama de flujo que ilustra un método de interpredicción de acuerdo con una realización de la presente invención.
Haciendo referencia a la figura 8, se determina la información de movimiento de un bloque actual S810. La información de movimiento del bloque actual puede incluir al menos uno de un vector de movimiento relacionado con el bloque actual, un índice de imagen de referencia del bloque actual, o una dirección de interpredicción del bloque actual.
La información de movimiento del bloque actual puede obtenerse basándose en al menos uno de la información señalizada a través de un flujo de bits o información de movimiento de un bloque vecino adyacente al bloque actual.
La figura 9 es un diagrama que ilustra un proceso de derivar información de movimiento de un bloque actual cuando se aplica un modo de fusión a un bloque actual.
Si el modo de fusión se aplica al bloque actual, un candidato de fusión espacial se puede derivar de un bloque vecino espacial del bloque actual S910. El bloque vecino espacial puede significar al menos uno de los bloques adyacentes a una izquierda, una parte superior o una esquina (por ejemplo, al menos uno de una esquina superior izquierda, una esquina superior derecha o una esquina inferior izquierda) del bloque actual.
La información de movimiento de un candidato de fusión espacial se puede configurar para que sea la misma que la información de movimiento del bloque vecino espacial.
Un candidato de fusión temporal puede derivarse de un bloque vecino temporal del bloque actual S920. El bloque vecino temporal puede significar un bloque coubicado incluido en una imagen colocada. La imagen colocada tiene un recuento de orden de imagen (POC) diferente de la imagen actual, incluido el bloque actual. La imagen colocada puede determinarse como una imagen que tiene un índice predefinido en una lista de imágenes de referencia o puede determinarse mediante un índice señalizado desde un flujo de bits. El bloque vecino temporal puede determinarse para un bloque que tiene la misma posición y tamaño que el bloque actual en la imagen colocada o un bloque adyacente al bloque que tiene la misma posición y tamaño que el bloque actual. Por ejemplo, al menos uno de un bloque que incluye las coordenadas del centro del bloque que tiene la misma posición y tamaño que el bloque actual en la imagen colocada o un bloque adyacente a un límite inferior derecho del bloque que puede determinarse como el bloque vecino temporal.
La información de movimiento del candidato de fusión temporal puede determinarse basándose en la información de movimiento del bloque vecino temporal. Por ejemplo, un vector de movimiento del candidato de fusión temporal puede determinarse basándose en un vector de movimiento del bloque vecino temporal. Además, una dirección de interpredicción del candidato de fusión temporal se puede configurar para que sea la misma que una dirección de interpredicción del bloque vecino temporal. Sin embargo, un índice de imagen de referencia del candidato de fusión temporal puede tener un valor fijo. Por ejemplo, el índice de imagen de referencia del candidato de fusión temporal se puede establecer en '0'.
Con referencia a las figuras 11 a 16, se describirá con más detalle un ejemplo de cómo derivar candidatos de fusión.
A partir de entonces, se puede generar la lista de candidatos de fusión que incluya el candidato de fusión espacial y el candidato de fusión temporal S930. Si el número de candidatos de fusión incluidos en la lista de candidatos de fusión es menor que el número máximo de candidatos de fusión, se puede incluir un candidato de fusión combinado que combine dos o más candidatos de fusión o un candidato de fusión que tiene un vector de movimiento cero (0, 0) en la lista de candidatos de fusión.
Cuando se genera la lista de candidatos de fusión, al menos uno de los candidatos de fusión incluidos en la lista de candidatos de fusión puede especificarse basándose en un índice de candidato de fusión S940.
La información de movimiento del bloque actual se puede configurar para que sea igual a la información de movimiento del candidato de fusión especificado por el índice de candidato de fusión S950. Por ejemplo, cuando se selecciona el candidato de fusión espacial mediante el índice de candidato de fusión, la información de movimiento del bloque actual se puede configurar para que sea la misma que la información de movimiento del bloque vecino espacial. Alternativamente, cuando el candidato de fusión temporal se selecciona mediante el índice de candidato de fusión, la información de movimiento del bloque actual se puede configurar para que sea la misma que la información de movimiento del bloque vecino temporal.
La figura 10 ilustra un proceso de derivación de información de movimiento de un bloque actual cuando se aplica un modo AMVP al bloque actual.
Cuando el modo AMVP se aplica al bloque actual, al menos una de las direcciones de interpredicción de un índice de imagen de referencia del bloque actual puede decodificarse a partir de un flujo de bits S1010. Es decir, cuando se aplica el modo AMVP, al menos una de las direcciones de interpredicción o el índice de imagen de referencia del bloque actual se puede determinar en función de la información codificada a través del flujo de bits.
Un candidato de vector de movimiento espacial puede determinarse basándose en un vector de movimiento de un bloque adyacente espacial del bloque actual S1020. El candidato de vector de movimiento espacial puede incluir al menos uno de un primer candidato de vector de movimiento espacial derivado de un bloque vecino superior del bloque actual y un segundo candidato de vector de movimiento espacial derivado de un bloque vecino izquierdo del bloque actual. Aquí, el bloque vecino superior puede incluir al menos uno de los bloques adyacentes a una esquina superior o superior derecha del bloque actual, y el bloque vecino izquierdo del bloque actual puede incluir al menos uno de los bloques adyacentes a una esquina izquierda o una izquierda inferior del bloque actual. Un bloque adyacente a una esquina superior izquierda del bloque actual puede tratarse como el bloque vecino superior o como el bloque vecino izquierdo.
Cuando las imágenes de referencia entre el bloque actual y el bloque vecino espacial son diferentes, es posible obtener un vector de movimiento espacial escalando el vector de movimiento del bloque vecino espacial.
Un vector de movimiento temporal candidato puede determinarse basándose en un vector de movimiento de un bloque vecino temporal del bloque actual S1030. Si las imágenes de referencia entre el bloque actual y el bloque vecino temporal son diferentes, es posible obtener un vector de movimiento temporal escalando el vector de movimiento del bloque vecino temporal.
Se puede generar una lista de candidatos de vectores de movimiento que incluya el candidato de vectores de movimiento espacial y el candidato de vectores de movimiento temporal S1040.
Cuando se genera la lista de candidatos de vectores de movimiento, al menos uno de los candidatos de vectores de movimiento incluidos en la lista de candidatos de vectores de movimiento puede especificarse basándose en la información que especifica al menos uno de la lista de candidatos de vectores de movimiento S1050.
El candidato del vector de movimiento especificado por la información se establece como un valor de predicción del vector de movimiento del bloque actual. Y, un vector de movimiento del bloque actual se obtiene al agregar un valor de diferencia de vector de movimiento al valor de predicción de vector de movimiento 1060. En este momento, el valor de diferencia del vector de movimiento se puede analizar del flujo de bits.
Cuando se obtiene la información de movimiento del bloque actual, la compensación de movimiento para el bloque actual se puede realizar basándose en la información de movimiento obtenida S820. Más específicamente, la compensación de movimiento para el bloque actual puede realizarse en función de la dirección de interpredicción, el índice de imagen de referencia y el vector de movimiento del bloque actual.
El número máximo de candidatos de fusión que se pueden incluir en la lista de candidatos de fusión se puede señalar a través del flujo de bits. Por ejemplo, la información que indica el número máximo de candidatos de fusión se puede señalar a través de un parámetro de secuencia o un parámetro de imagen.
El número de candidatos de fusión espacial y candidatos de fusión temporal que pueden incluirse en la lista de candidatos de fusión puede determinarse de acuerdo con el número máximo de candidatos de fusión. Específicamente, el número de candidatos de fusión espacial y el número de candidatos de fusión temporal pueden ajustarse de manera que el número total de candidatos de fusión espacial y los candidatos de fusión temporal no exceda el número máximo N de candidatos de fusión. Por ejemplo, cuando el número máximo de candidatos de fusión es 5, 4 seleccionados de 5 candidatos de fusión espacial del bloque actual se pueden agregar a la lista de candidatos de fusión y 1 seleccionado de 2 candidatos de fusión temporal del bloque actual se puede agregar a la lista de candidatos de fusión. El número de candidatos de fusión temporal se puede ajustar según el número de candidatos de fusión espacial agregados a la lista de candidatos de fusión, o el número de candidatos de fusión espacial se puede ajustar según el número de candidatos de fusión temporal agregados a la lista de candidatos de fusión. Si el número de candidatos de fusión agregado a la lista de candidatos de fusión es menor que 5, se puede agregar un candidato de fusión combinado que combine al menos dos candidatos de fusión a la lista de candidatos de fusión o un candidato de fusión que tenga un vector de movimiento de (0, 0) puede ser agregado a la lista de candidatos de fusión.
Los candidatos de fusión se pueden agregar a la lista de candidatos de fusión en un orden predefinido. Por ejemplo, la lista de candidatos de fusión puede generarse en el orden del candidato de fusión espacial, el candidato de fusión temporal, el candidato de fusión combinado y el candidato de fusión que tiene un vector de movimiento cero. También es posible definir el orden para agregar el candidato de fusión diferente del orden enumerado.
La figura 11 es un diagrama que muestra un candidato de fusión espacial de un bloque actual. El candidato de fusión del bloque actual se puede derivar se puede derivar de un bloque vecino espacial del bloque actual. Por ejemplo, el candidato de fusión espacial puede incluir un candidato de fusión A1 derivado de un bloque adyacente a la izquierda del bloque actual, un candidato de fusión B1 derivado de un bloque adyacente a una parte superior del bloque actual, un candidato de fusión A0 derivado de un bloque adyacente a la parte inferior izquierda del bloque actual, un candidato de fusión B0 derivado de un bloque adyacente a la parte superior derecha del bloque actual o un candidato de fusión B2 derivado de un bloque adyacente a la parte superior izquierda del bloque actual. Los candidatos de fusión espacial se pueden buscar en un orden predeterminado. Por ejemplo, un orden de búsqueda de los candidatos de fusión espacial puede estar en A1, B1, B0, A0 y B2. En este momento, B2 puede ser incluido en la lista de candidatos de fusión solo cuando no existe un bloque que corresponde a A1, B1, B0 o A0, o cuando un bloque correspondiente a A1, B1, B0 o A0 no está disponible. Por ejemplo, si un bloque correspondiente a A1, B1, B0 o A0 se codifica en intrapredicción, el bloque puede determinarse como no disponible. Alternativamente, si el número de candidatos de fusión espacial y los candidatos de fusión temporal incluidos en la lista de candidatos de fusión es menor o igual que el número máximo de candidatos de fusión, es posible agregar B2 a la lista de candidatos de fusión como el siguiente orden de los candidatos de fusión temporales.
Para obtener el candidato de fusión temporal, se puede seleccionar una imagen colocada (col_pic) en una lista de imágenes de referencia. La imagen colocada puede ser una imagen en la lista de imágenes de referencia que tenga una diferencia menor en el número de orden de imágenes (POC) con la imagen actual o una imagen especificada por un índice de imagen de referencia. El candidato de fusión temporal se puede derivar en base a un bloque coubicado del bloque actual en el bloque colocado. En este momento, la información de la lista de imágenes de referencia utilizada para especificar el bloque de ubicación conjunta puede codificarse en una unidad de un bloque, un encabezado de división o una imagen y puede transmitirse a través del flujo de bits.
La figura 12 es un diagrama que muestra un bloque coubicado de un bloque actual. El bloque de ubicación conjunta indica un bloque correspondiente a una posición del bloque actual en la imagen colocada. Por ejemplo, el bloque de ubicación conjunta puede determinarse como un bloque H adyacente a la parte inferior derecha de un bloque que tiene las mismas coordenadas y tamaño que el bloque actual en la imagen colocada, o un bloque C3 que incluye una posición central del bloque. En este momento, el bloque C3 se puede determinar al bloque coubicado cuando la posición del bloque H no está disponible, cuando el bloque H está codificado por la intrapredicción o cuando el bloque H se encuentra fuera de una LCU en la que se incluye el bloque actual.
Alternativamente, un bloque adyacente a una esquina del bloque que tiene la misma coordenada y tamaño que el bloque actual en la imagen colocada puede determinarse como el bloque coubicado, o un bloque que tiene una coordenada dentro del bloque puede determinarse como el bloque coubicado. Por ejemplo, en el ejemplo mostrado en la figura 12, un bloque TL, BL o C0 puede determinarse como bloques coubicados.
También es posible derivar una pluralidad de candidatos de fusión temporal para el bloque actual de una pluralidad de bloques coubicados.
Se puede obtener un vector de movimiento del candidato de fusión temporal al escalar un vector de movimiento del bloque coubicado en la imagen colocada. La figura 13 es un diagrama para explicar un ejemplo de cómo obtener un vector de movimiento de un candidato de fusión temporal al escalar un vector de movimiento de un bloque coubicado. El vector de movimiento del candidato de fusión temporal se puede obtener al escalar el vector de movimiento del bloque coubicado utilizando al menos uno de una distancia temporal tb entre la imagen actual y la imagen de referencia del bloque actual y la distancia temporal td entre la imagen colocada y la imagen de referencia del bloque coubicado.
Un candidato de fusión puede derivarse basándose en un bloque que tiene una forma predeterminada o un bloque que tiene un tamaño igual o mayor que un tamaño predeterminado. Por consiguiente, si el bloque actual no tiene la forma predeterminada o si el tamaño del bloque actual es más pequeño que el tamaño predeterminado, el candidato de fusión del bloque actual puede derivarse basándose en el bloque de la forma predeterminada que incluye el bloque actual o el bloque del tamaño predeterminado o mayor, incluyendo el bloque actual. Por ejemplo, un candidato de fusión para una unidad de codificación de una forma no cuadrada puede derivarse basándose en una unidad de codificación de una forma cuadrada que incluye la unidad de codificación de la forma no cuadrada.
La figura 14 es un diagrama que muestra un ejemplo de derivar un candidato de fusión de un bloque no cuadrado sobre la base de un bloque cuadrado.
El candidato de fusión para el bloque no cuadrado puede derivarse basándose en el bloque cuadrado que incluye el bloque no cuadrado. Por ejemplo, en el ejemplo mostrado en la figura 14, un candidato de fusión de un bloque de codificación no cuadrado 0 y un bloque de codificación no cuadrado 1 puede derivarse sobre la base de un bloque cuadrado. Por consiguiente, el bloque de codificación 0 y el bloque de codificación 1 pueden usar al menos uno de los candidatos de fusión espacial A0, A1, A2, A3 y A4 derivados del bloque cuadrado.
Aunque no se muestra en la figura, también es posible derivar un candidato de fusión temporal para un bloque no cuadrado basado en un bloque cuadrado. Por ejemplo, el bloque de codificación 0 y el bloque de codificación 1 pueden usar un candidato de fusión temporal derivado de un bloque vecino temporal determinado en base a un bloque cuadrado.
Alternativamente, al menos uno de los candidatos de fusión espacial y el candidato de fusión temporal pueden derivarse en base a un bloque cuadrado, y el otro puede derivarse en base a un bloque no cuadrado. Por ejemplo, el bloque de codificación 0 y el bloque de codificación 1 pueden usar el mismo candidato de fusión espacial derivado de un bloque cuadrado, mientras que el bloque de codificación 0 y el bloque de codificación 1 pueden usar diferentes candidatos de fusión temporal, cada uno de los cuales se deriva por su posición.
En el ejemplo descrito anteriormente, se explica que el candidato de fusión se deriva en función del bloque cuadrado, pero también es posible derivar el candidato de fusión en base al bloque no cuadrado de la forma predeterminada. Por ejemplo, si el bloque actual es un bloque no cuadrado de forma 2Nxn (donde n es 1/2N), el candidato de fusión para el bloque actual puede derivarse basándose en un bloque no cuadrado de forma 2NxN, y si el bloque actual es un bloque no cuadrado de forma nx2N, el candidato de fusión para el bloque actual puede derivarse basándose en un bloque no cuadrado de forma Nx2N.
La información que indica la forma de un bloque o el tamaño de un bloque que es la base para derivar un candidato de fusión se puede señalar a través del flujo de bits. Por ejemplo, la información de forma de bloque que indica una forma cuadrada o una forma no cuadrada se puede señalar a través del flujo de bits. Alternativamente, el codificador/decodificador puede derivar un candidato de fusión en una regla predefinida como un bloque que tiene una forma predefinida o un bloque que tiene un tamaño igual o mayor que un tamaño predefinido.
En otro ejemplo, el candidato de fusión se puede derivar en base a una unidad de división de árbol cuádruple. Aquí, la unidad de división de árbol cuádruple puede representar una unidad de bloque que está dividida por un árbol cuádruple. Por ejemplo, si el bloque actual está dividido por un árbol binario, el candidato de fusión del bloque actual puede derivarse basándose en un bloque de nodo superior que está dividido por un árbol cuádruple. Si no hay nodos superiores divididos por el árbol cuádruple para el bloque actual, el candidato de fusión para el bloque actual puede derivarse basándose en una LCU que incluya el bloque actual o un bloque de un tamaño específico.
La figura 15 es un diagrama para explicar un ejemplo en el que se deriva un candidato de fusión de un bloque particionado de árbol binario basado en un bloque de nodo superior.
Un bloque 0 particionado de árbol binario de una forma no cuadrada y un bloque particionado 1 de árbol binario de una forma no cuadrada pueden usar al menos uno de los candidatos de fusión espacial A0, A1, A2, A3 y A4 derivados basados en el bloque superior de la unidad de árbol cuádruple. Por consiguiente, el bloque 0 y el bloque 1 pueden usar los mismos candidatos de fusión espacial.
Además, un bloque particionado de árbol binario 2 de una forma no cuadrada, un bloque particionado de árbol binario 3 de una forma no cuadrada y un bloque particionado 4 de árbol binario de una forma no cuadrada pueden usar al menos uno de B0, B1, B2, B3 y B4, derivados en base al bloque superior de la unidad de árbol cuádruple. Por lo tanto, los bloques 2, 3 y 4 pueden usar los mismos candidatos de fusión espacial.
Aunque no se muestra en la figura, un candidato de fusión temporal para un bloque particionado de árbol binario también puede derivarse en base al bloque superior basado en el árbol cuádruple. Por consiguiente, el bloque 0 y el bloque 1 pueden usar el mismo candidato de fusión temporal derivado del bloque vecino temporal determinado en base a la unidad de bloque de árbol cuádruple. El bloque 2, el bloque 3 y el bloque 4 también pueden usar el mismo candidato de fusión temporal derivado del bloque vecino temporal determinado en función de la unidad de bloque de árbol cuádruple.
Alternativamente, también es posible derivar al menos uno de los candidatos de fusión espacial y el candidato de fusión temporal sobre la base de la unidad de bloque de árbol binario y el otro puede derivarse sobre la base de la unidad de bloque de árbol cuádruple. Por ejemplo, el bloque 0 y el bloque 1 pueden usar el mismo candidato de fusión espacial derivado de la unidad de bloque de árbol cuádruple, pero pueden usar diferentes candidatos de fusión temporal, cada uno de los cuales se deriva en función de su ubicación.
La información que indica si se debe derivar un candidato de fusión basado en una unidad particionada de árbol cuádruple o una unidad particionada de árbol binario se puede señalar a través del flujo de bits. De acuerdo con la información, se puede determinar si se deriva el candidato de fusión del bloque particionado del árbol binario basado en el bloque del nodo superior particionado de árbol cuádruple. Alternativamente, el codificador/decodificador puede derivar el candidato de fusión basado en la unidad particionada de árbol cuádruple o la unidad particionada de un árbol binario, de acuerdo con reglas predefinidas.
Como se describió anteriormente, el candidato de fusión para el bloque actual puede derivarse en una unidad de un bloque (por ejemplo, en una unidad de un bloque de codificación o un bloque de predicción) o una unidad predefinida. En este momento, si alguno de los candidatos de fusión espacial del bloque actual existe en una región predeterminada, se puede determinar que no está disponible y luego se puede excluir del candidato de fusión espacial. Por ejemplo, si se define una región de procesamiento paralelo para el procesamiento paralelo entre bloques, se puede determinar que el candidato de fusión incluido en la región de procesamiento paralelo entre los candidatos de fusión espacial del bloque actual no está disponible. La región de procesamiento paralelo puede denominarse una región de estimación de fusión (MER). Los bloques en la región de procesamiento paralelo tienen la ventaja de poder fusionarse en paralelo.
La región de estimación de fusión puede tener una forma cuadrada o una forma no cuadrada. La región de estimación de fusión de la forma no cuadrada se puede limitar a una forma predeterminada. Por ejemplo, la región de estimación de fusión de la forma no cuadrada puede tomar la forma de 2NxN o Nx2N.
Al menos uno de la información que indica la forma de la región de estimación de fusión o la información que indica el tamaño de la región de estimación de fusión puede señalizarse a través del flujo de bits. Por ejemplo, la información sobre la forma o el tamaño de la región de estimación de fusión se puede señalar a través de un encabezado de sector, un parámetro de imagen o un parámetro de secuencia.
La información que indica la forma de la región de estimación de fusión puede ser una señalización de 1 bit. Por ejemplo, la sintaxis 'isrectagular_mer_flag' que indica si la región de estimación de fusión tiene una forma cuadrada o una forma no cuadrada se puede señalar a través del flujo de bits. Si un valor de isrectagular_mer_flag es 1, indica que la región de estimación de fusión tiene una forma no cuadrada y si un valor de isrectagular_mer_flag es 0, indica que la región de estimación de fusión tiene una forma cuadrada.
Si la región de estimación de fusión tiene una forma no cuadrada, al menos una de la información relacionada con un ancho, una altura o una relación entre el ancho y la altura se puede señalar a través del flujo de bits. Sobre la base de la información, se puede derivar el tamaño y/o la forma de la región de estimación de fusión sin forma cuadrada.
La figura 16 es un diagrama que ilustra un ejemplo de la determinación de la disponibilidad de un candidato de fusión espacial de acuerdo con una región de estimación de fusión.
Si la región de estimación de fusión tiene una forma Nx2N, y la región de estimación de fusión tiene un tamaño predeterminado, los candidatos de fusión espacial B0 y B3 incluidos en la misma región de estimación de fusión como un bloque 1 no pueden utilizarse como candidatos de fusión espacial para el bloque 1. Por consiguiente, el candidato de fusión espacial del bloque 1 puede estar compuesto de al menos uno de B1, B2 y B4, excepto los candidatos de fusión B0 y B3.
Del mismo modo, el candidato de fusión espacial C0 incluido en la misma región de estimación de fusión que un bloque 3 no se puede utilizar como candidato de fusión espacial para el bloque 3. Por consiguiente, el candidato de fusión espacial del bloque 3 puede estar compuesto de al menos uno de C1, C2, C3 y C4, excepto el candidato de fusión C0.
Las realizaciones anteriores se han descrito principalmente en el proceso de decodificación, pero el proceso de codificación se puede realizar en el mismo orden o en orden inverso al descrito.
La figura 17 es un diagrama de flujo que ilustra procesos de obtención de una muestra residual de acuerdo con una realización a la que se aplica la presente invención.
Primero, se puede obtener un coeficiente residual de un bloque actual S1710. Un decodificador puede obtener un coeficiente residual a través de un método de exploración de coeficientes. Por ejemplo, el decodificador puede realizar una exploración de coeficientes utilizando una exploración de jig-zag, una exploración derecha superior, una exploración vertical o una exploración horizontal, y puede obtener coeficientes residuales en forma de un bloque bidimensional.
Se puede realizar una cuantificación inversa sobre el coeficiente residual del bloque actual S1720.
Es posible determinar si se debe omitir una transformación inversa en el coeficiente residual descantado del bloque actual S1730. Específicamente, el decodificador puede determinar si se debe omitir la transformación inversa en al menos una de la dirección horizontal o vertical del bloque actual. Cuando se determina la aplicación de la transformación inversa en al menos una de las direcciones horizontal o vertical del bloque actual, se puede obtener una muestra residual del bloque actual transformando inversamente el coeficiente residual descuantificado del bloque actual. Aquí, la transformación inversa se puede realizar utilizando al menos uno de DCT, DST y KLT.
Cuando la transformada inversa se omite tanto en la dirección horizontal como en la vertical del bloque actual, la transformada inversa no se realiza en la dirección horizontal y vertical del bloque actual. En este caso, la muestra residual del bloque actual puede obtenerse escalando el coeficiente residual descuantificado con un valor predeterminado.
Omitir la transformada inversa en la dirección horizontal significa que la transformada inversa no se realiza en la dirección horizontal, pero la transformada inversa se realiza en la dirección vertical. En este momento, la escala se puede realizar en la dirección horizontal.
Omitir la transformada inversa en la dirección vertical significa que la transformada inversa no se realiza en la dirección vertical, sino que la transformada inversa se realiza en la dirección horizontal. En este momento, la escala se puede realizar en la dirección vertical.
Se puede determinar si se puede usar o no una técnica de omisión de transformación inversa para el bloque actual, dependiendo del tipo de partición del bloque actual. Por ejemplo, si el bloque actual se genera a través de una partición basada en un árbol binario, el esquema de omisión de transformación inversa puede estar restringido para el bloque actual. Por consiguiente, cuando el bloque actual se genera a través de la partición basada en árbol binario, la muestra residual del bloque actual se puede obtener mediante la transformación inversa del bloque actual. Además, cuando el bloque actual se genera a través de la partición basada en árbol binario, puede omitirse la codificación/decodificación de la información que indica si la transformación inversa se omite (por ejemplo, transform_skip_flag).
Alternativamente, cuando el bloque actual se genera a través de la partición basada en árbol binario, es posible limitar el esquema de omisión de transformación inversa a al menos una de la dirección horizontal o vertical. Aquí, la dirección en la que se limita el esquema de omisión de transformación inverso se puede determinar en función de la información decodificada del flujo de bits, o se puede determinar de forma adaptativa en función de al menos uno de un tamaño del bloque actual, una forma del bloque actual, o un modo de intrapredicción del bloque actual.
Por ejemplo, cuando el bloque actual es un bloque no cuadrado que tiene una anchura mayor que una altura, puede permitirse el esquema de omisión de transformación inverso solo en la dirección vertical y restringirse en la dirección horizontal. Es decir, cuando el bloque actual es 2NxN, la transformación inversa se realiza en la dirección horizontal del bloque actual, y la transformación inversa se puede realizar selectivamente en la dirección vertical.
Por otra parte, cuando el bloque actual es un bloque no cuadrado que tiene una altura mayor que una anchura, puede permitirse el esquema de omisión de transformación inverso solo en la dirección horizontal y restringirse en la dirección vertical. Es decir, cuando el bloque actual es Nx2N, la transformación inversa se realiza en la dirección vertical del bloque actual, y la transformación inversa se puede realizar selectivamente en la dirección horizontal.
En contraste con el ejemplo anterior, cuando el bloque actual es un bloque no cuadrado que tiene una anchura mayor que una altura, el esquema de omisión de transformación inversa puede permitirse solo en la dirección horizontal, y cuando el bloque actual es un bloque no cuadrado que tiene una altura mayor que una anchura, el esquema de omisión de transformación inversa puede permitirse solo en la dirección vertical.
La información que indica si se debe omitir o no la transformada inversa con respecto a la dirección horizontal o la información que indica si se debe omitir la transformación inversa con respecto a la dirección vertical se puede señalar a través de un flujo de bits. Por ejemplo, la información que indica si se debe omitir o no la transformación inversa en la dirección horizontal es un indicador de 1 bit, 'hor_transform_skip_flag', y la información que indica si se debe omitir la transformación inversa en la dirección vertical es un indicador de 1 bit 'ver_transform_skip_flag'. El codificador puede codificar al menos uno de 'hor_transform_skip_flag' o 'ver_transform_skip_flag' de acuerdo con la forma del bloque actual. Además, el decodificador puede determinar si se omite o no la transformación inversa en la dirección horizontal o en la dirección vertical utilizando al menos uno de "hor_transform_skip_flag" o "ver_transform_skip_flag".
Puede configurarse para omitir la transformación inversa para cualquier dirección del bloque actual en función del tipo de partición del bloque actual. Por ejemplo, si el bloque actual se genera a través de una partición basada en un árbol binario, se puede omitir la transformación inversa en la dirección horizontal o vertical. Es decir, si el bloque actual se genera mediante una partición basada en árbol binario, se puede determinar que la transformación inversa para el bloque actual se omite en al menos una dirección horizontal o vertical sin información de codificación/decodificación (por ejemplo, transform_skip_flag, hor_transform_skip_flag, ver_transform_skip_flag) que indica si se omite o no la transformación inversa del bloque actual.
Aunque las realizaciones descritas anteriormente se han descrito sobre la base de una serie de etapas o diagramas de flujo, no limitan el orden de las series temporales de la invención, y pueden realizarse simultáneamente o en diferentes órdenes según sea necesario. Además, cada uno de los componentes (por ejemplo, unidades, módulos, etc.) que constituyen el diagrama de bloques en las realizaciones descritas anteriormente puede implementarse mediante un dispositivo de hardware o software, y una pluralidad de componentes. O se puede combinar e implementar una pluralidad de componentes mediante un solo dispositivo de hardware o software. Las realizaciones descritas anteriormente pueden implementarse en forma de instrucciones de programa que pueden ejecutarse a través de diversos componentes de ordenador y grabarse en un medio de grabación legible por ordenador. El medio de grabación legible por ordenador puede incluir uno de los siguientes elementos, o una combinación de los mismos: comandos de programa, archivos de datos, estructuras de datos y similares. Ejemplos de medios legibles por ordenador incluyen medios magnéticos tales como discos duros, disquetes y cinta magnética; medios ópticos de grabación tales como CD-ROM y DVD; medios magneto-ópticos tales como discos ópticos; y dispositivos de hardware especialmente configurados para almacenar y ejecutar instrucciones de programa, tal como ROM, RAM, memoria flash y similares. El dispositivo de hardware puede configurarse para funcionar como uno o más módulos de software para realizar el proceso de acuerdo con la presente invención, y viceversa.
Aplicabilidad industrial
La presente invención puede aplicarse a dispositivos electrónicos que pueden codificar/decodificar un video.

Claims (13)

REIVINDICACIONES
1. Un método para la decodificación de un video, comprendiendo el método:
derivar un candidato de fusión espacial para un bloque actual;
generar una lista de candidatos de fusión para el bloque actual basada en el candidato de fusión espacial;
obtener información de movimiento para el bloque actual basada en la lista de candidatos de fusión; y
realizar compensación de movimiento para el bloque actual utilizando la información de movimiento,
en el que, si el bloque actual no tiene una forma predefinida o no tiene un tamaño igual o mayor que un tamaño predefinido, el candidato de fusión del bloque actual se deriva basándose en un bloque que tiene la forma predefinida o que tiene un tamaño igual o mayor que el tamaño predefinido, comprendiendo el bloque el bloque actual.
2. El método de la reivindicación 1, en el que la forma predefinida es una forma cuadrada.
3. El método de la reivindicación 2, en el que el bloque actual tiene un mismo candidato de fusión espacial que un bloque vecino incluido en el bloque de la forma cuadrada con el bloque actual.
4. El método de la reivindicación 1, en el que si el bloque actual y el candidato de fusión espacial se incluyen en una misma región de estimación de fusión, se determina que el candidato de fusión espacial no está disponible.
5. El método de la reivindicación 4, en el que la región de estimación de fusión tiene una forma cuadrada o una forma no cuadrada.
6. El método de la reivindicación 5, en el que si la región de estimación de fusión tiene forma no cuadrada, un número de formas candidatas de candidatos de fusión que la región de estimación de fusión puede tener se restringe mediante un número predefinido.
7. Un método para la codificación de un video, comprendiendo el método:
derivar un candidato de fusión espacial para un bloque actual;
generar una lista de candidatos de fusión para el bloque actual basada en el candidato de fusión espacial;
obtener información de movimiento para el bloque actual basada en la lista de candidatos de fusión; y
realizar compensación de movimiento para el bloque actual utilizando la información de movimiento,
en el que, si el bloque actual no tiene una forma predefinida o no tiene un tamaño igual o mayor que un tamaño predefinido, el candidato de fusión del bloque actual se deriva basándose en un bloque que tiene la forma predefinida o que tiene un tamaño igual o mayor que el tamaño predefinido, comprendiendo el bloque el bloque actual.
8. El método de la reivindicación 7, en el que la forma predefinida es en una forma cuadrada.
9. El método de la reivindicación 8, en el que el bloque actual tiene un mismo candidato de fusión espacial que un bloque vecino incluido en el bloque de la forma cuadrada con el bloque actual.
10. El método de la reivindicación 7, en el que si el bloque actual y el candidato de fusión espacial se incluyen en una misma región de estimación de fusión, se determina que el candidato de fusión espacial no está disponible.
11. El método de la reivindicación 10, en el que la región de estimación de fusión tiene una forma cuadrada o una forma no cuadrada.
12. El método de la reivindicación 11, en el que si la región de estimación de fusión tiene forma no cuadrada, se restringe el número de formas candidatas, de candidatos de fusión, que puede tener la región de estimación de fusión, a un número predefinido.
13. Un aparato para la decodificación de un video, comprendiendo el aparato:
una unidad de predicción para derivar un candidato de fusión espacial para un bloque actual, para generar una lista de candidatos de fusión para el bloque actual en función del candidato de fusión espacial, para obtener información de movimiento para el bloque actual en función de la lista de candidatos de fusión y para realizar movimiento de compensación por el bloque actual utilizando la información de movimiento, en el que, si el bloque actual no tiene una forma predefinida o no tiene un tamaño igual o mayor que un tamaño predefinido, el candidato de fusión del bloque actual se deriva basándose en un bloque que tiene la forma predefinida o que tiene un tamaño igual o mayor que el tamaño predefinido, comprendiendo el bloque el bloque actual.
ES201990009A 2016-08-03 2017-08-03 Metodo y aparato para procesar senales de video Pending ES2703458R1 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160099177 2016-08-03
PCT/KR2017/008415 WO2018026222A1 (ko) 2016-08-03 2017-08-03 비디오 신호 처리 방법 및 장치

Publications (2)

Publication Number Publication Date
ES2703458A2 true ES2703458A2 (es) 2019-03-08
ES2703458R1 ES2703458R1 (es) 2020-06-04

Family

ID=61073791

Family Applications (1)

Application Number Title Priority Date Filing Date
ES201990009A Pending ES2703458R1 (es) 2016-08-03 2017-08-03 Metodo y aparato para procesar senales de video

Country Status (6)

Country Link
US (2) US11503305B2 (es)
EP (1) EP3496400A4 (es)
KR (1) KR102424417B1 (es)
CN (5) CN116743991A (es)
ES (1) ES2703458R1 (es)
WO (1) WO2018026222A1 (es)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102424417B1 (ko) 2016-08-03 2022-07-22 주식회사 케이티 비디오 신호 처리 방법 및 장치
KR20190046704A (ko) * 2017-10-26 2019-05-07 한국전자통신연구원 비대칭 서브 블록 기반 영상 부호화/복호화 방법 및 장치
MX2020012042A (es) * 2018-05-17 2021-01-29 Panasonic Ip Corp America Dispositivo de codificacion, dispositivo de decodificacion, metodo de codificacion y metodo de decodificacion.
CN110662075B (zh) * 2018-06-29 2023-04-25 北京字节跳动网络技术有限公司 改进的时域运动矢量预测推导
CA3100986A1 (en) 2018-06-29 2020-01-02 Kt Corporation Method and apparatus for processing a video signal
CN112567755B (zh) * 2018-08-10 2022-11-08 华为技术有限公司 使用合并模式的译码方法、设备、***
EP3837841A4 (en) * 2018-09-03 2021-10-20 Huawei Technologies Co., Ltd. CODIFICATION PROCESS, DEVICE AND SYSTEM WITH MERGING MODE
JP7459069B2 (ja) 2018-09-21 2024-04-01 オッポ広東移動通信有限公司 映像信号符号化/復号化方法及びその装置
KR20240024335A (ko) * 2018-11-22 2024-02-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 서브 블록 기반 인터 예측을 위한 조정 방법
CN113853783B (zh) * 2019-05-25 2023-12-15 北京字节跳动网络技术有限公司 对帧内块复制编解码的块的块矢量的编解码
CN114208184A (zh) 2019-08-13 2022-03-18 北京字节跳动网络技术有限公司 基于子块的帧间预测中的运动精度
WO2021052507A1 (en) 2019-09-22 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Sub-picture coding and decoding of video

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102521802B1 (ko) * 2010-05-04 2023-04-13 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
CN107071460B (zh) 2010-12-14 2020-03-06 M&K控股株式会社 用于编码运动画面的设备
US9473789B2 (en) 2010-12-14 2016-10-18 M&K Holdings Inc. Apparatus for decoding a moving picture
US9621916B2 (en) 2010-12-14 2017-04-11 M&K Holdings Inc. Apparatus for encoding a moving picture
WO2012081949A2 (ko) * 2010-12-17 2012-06-21 한국전자통신연구원 인터 예측 방법 및 그 장치
JP2014501091A (ja) 2010-12-17 2014-01-16 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート インター予測方法及びその装置
US9143795B2 (en) 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding
US9866859B2 (en) 2011-06-14 2018-01-09 Texas Instruments Incorporated Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding
US9282338B2 (en) * 2011-06-20 2016-03-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
PL4009641T3 (pl) 2011-09-09 2024-02-26 Lg Electronics Inc. Sposób dekodowania obrazu, sposób kodowania obrazu, sposób przesyłania danych dla informacji obrazu, odczytywalny komputerowo nośnik przechowujący strumień bitów obejmujący zakodowane informacje obrazu
CN107105279B (zh) * 2011-09-23 2020-03-06 株式会社Kt 用于引导合并候选块的方法和使用该方法的设备
CN103828364B (zh) * 2011-09-29 2018-06-12 夏普株式会社 图像解码装置、图像解码方法及图像编码装置
CN110198441B (zh) * 2011-11-08 2022-01-11 韩国电子通信研究院 用于共享候选者列表的方法和装置
JP5561348B2 (ja) * 2011-12-16 2014-07-30 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
HUE043876T2 (hu) * 2011-12-16 2019-09-30 Jvc Kenwood Corp Dinamikus kép dekódoló eszköz, dinamikus kép dekódoló eljárás és dinamikus kép dekódoló program
US20130177083A1 (en) * 2012-01-05 2013-07-11 Qualcomm Incorporated Motion vector candidate index signaling in video coding
EP2920969A4 (en) 2012-11-13 2016-07-13 Intel Corp VIDEO CODEC ARCHITECTURE FOR VIDEOS OF THE NEXT GENERATION
EP2920962A4 (en) 2012-11-13 2016-07-20 Intel Corp ADAPTIVE TRANSFORMATION ENCODING OF CONTENT FOR NEXT GENERATION VIDEO
CN103974063A (zh) * 2013-01-28 2014-08-06 乐金电子(中国)研究开发中心有限公司 一种深度模型的编解码方法及视频编解码器
EP2952003B1 (en) * 2013-01-30 2019-07-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
WO2015006884A1 (en) * 2013-07-19 2015-01-22 Qualcomm Incorporated 3d video coding with partition-based depth inter coding
US10212444B2 (en) * 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
KR102424417B1 (ko) 2016-08-03 2022-07-22 주식회사 케이티 비디오 신호 처리 방법 및 장치

Also Published As

Publication number Publication date
CN116743991A (zh) 2023-09-12
KR20180015599A (ko) 2018-02-13
CN109644267A (zh) 2019-04-16
CN116506597A (zh) 2023-07-28
US20190182491A1 (en) 2019-06-13
KR102424417B1 (ko) 2022-07-22
US20230053392A1 (en) 2023-02-23
WO2018026222A1 (ko) 2018-02-08
US11503305B2 (en) 2022-11-15
EP3496400A4 (en) 2020-02-19
CN116634138A (zh) 2023-08-22
ES2703458R1 (es) 2020-06-04
CN116506596A (zh) 2023-07-28
EP3496400A1 (en) 2019-06-12
CN109644267B (zh) 2023-07-04

Similar Documents

Publication Publication Date Title
ES2786077B2 (es) Metodo y aparato para procesar una senal de video
ES2737874B2 (es) Metodo y aparato para procesar senal de video
ES2908214T3 (es) Filtración adaptativa de muestras de referencia para intra predicción usando líneas de píxeles distantes
ES2800551B2 (es) Método y aparato para tratar una señal de vídeo
ES2703607B2 (es) Método y aparato para procesar señales de vídeo
ES2817100B1 (es) Metodo y aparato para procesar senales de video
ES2703458A2 (es) Metodo y aparato para procesar senales de video
ES2800509B1 (es) Metodo y aparato para procesar senales de video
ES2830053B2 (es) Metodo y aparato para procesar senal de video
KR102559062B1 (ko) 비디오 신호 처리 방법 및 장치
ES2711474A2 (es) Metodo y aparato para procesar una senal de video
ES2711209A2 (es) Metodo y aparato para procesamiento de una senal de video
ES2972076T3 (es) Procedimiento de codificación/decodificación de señales de imagen y dispositivo para lo mismo
KR20180051424A (ko) 비디오 신호 처리 방법 및 장치
ES2688624A2 (es) Método y aparato para procesar señales de vídeo
ES2711223A2 (es) Metodo y aparato para procesar senales de video
ES2711230A2 (es) Metodo y aparato para procesar una senal de video
ES2711473A2 (es) Metodo y aparato para procesar una senal de video

Legal Events

Date Code Title Description
BA2A Patent application published

Ref document number: 2703458

Country of ref document: ES

Kind code of ref document: A2

Effective date: 20190308

EC2A Search report published

Ref document number: 2703458

Country of ref document: ES

Kind code of ref document: R1

Effective date: 20200528

FC2A Grant refused

Effective date: 20221205