ES2802817B2 - Metodo y aparato para procesar senal de video - Google Patents

Metodo y aparato para procesar senal de video Download PDF

Info

Publication number
ES2802817B2
ES2802817B2 ES202031254A ES202031254A ES2802817B2 ES 2802817 B2 ES2802817 B2 ES 2802817B2 ES 202031254 A ES202031254 A ES 202031254A ES 202031254 A ES202031254 A ES 202031254A ES 2802817 B2 ES2802817 B2 ES 2802817B2
Authority
ES
Spain
Prior art keywords
prediction
block
current block
snapshot
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES202031254A
Other languages
English (en)
Other versions
ES2802817R1 (es
ES2802817A2 (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 ES2802817A2 publication Critical patent/ES2802817A2/es
Publication of ES2802817R1 publication Critical patent/ES2802817R1/es
Application granted granted Critical
Publication of ES2802817B2 publication Critical patent/ES2802817B2/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/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
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Description

DESCRIPCIÓN
MÉTODO Y APARATO PARA PROCESAR SEÑAL DE VIDEO
Campo técnico
La presente invención se refiere a un método y un aparato para procesar señal de video.
Antecedentes de la técnica
En la actualidad, han aumentado las peticiones de imágenes de alta resolución y alta calidad a medida que han aumentado las imágenes de alta definición (HD) y de ultra alta definición (UHD) en diversos campos de aplicación. Sin embargo, los datos de resolución y calidad de imagen superiores tienen cantidades cada vez mayores de datos en comparación con los datos de imagen convencionales. Por lo tanto, cuando se transmiten datos de imagen usando un medio tal como redes de banda ancha inalámbricas y por cable convencionales, o cuando se almacenan datos de imagen usando un medio de almacenamiento convencional, aumenta el coste de transmisión y almacenamiento. Para resolver estos problemas que se producen con un aumento en la resolución y calidad de datos de imagen, pueden utilizarse técnicas de codificación/decodificación de imagen de alta eficiencia.
La tecnología de compresión de imagen incluye diversas técnicas, que incluyen: una técnica de inter predicción de predicción de un valor de píxel incluido en una instantánea actual desde una instantánea anterior o posterior de la instantánea actual; una técnica de intra predicción de predicción de un valor de píxel incluido en una instantánea actual que usa información de píxel en la instantánea actual; una técnica de codificación por entropía de asignación de un código corto a un valor con una alta frecuencia de aparición y asignar un código largo a un valor con una baja frecuencia de aparición; etc. Los datos de imagen pueden comprimirse de forma efectiva usando tal tecnología de compresión de imagen y pueden transmitirse o almacenarse.
Mientras tanto, con las demandas de imágenes de alta resolución, también han aumentado las demandas de contenido de imagen estereográfico, que es un nuevo servicio de imagen. Se está analizando una técnica de compresión de video para proporcionar de forma efectiva contenido de imagen estereográfico con alta resolución y ultra alta resolución.
Divulgación
Problema técnico
Un objeto de la presente invención se concibe para proporcionar un método y un aparato para predecir de forma eficiente un bloque objetivo de codificación/decodificación en la codificación/decodificación una señal de video.
Un objeto de la presente invención se concibe para proporcionar un método de predicción que combina una pluralidad de modos de predicción y un aparato usando los mismos en la codificación/decodificación una señal de video.
Un objeto de la presente invención se concibe para proporcionar un método y un aparato para realizar predicción en unidades de un subbloque en la codificación/decodificación una señal de video.
Los objetos técnicos a conseguir mediante la presente invención no se limitan a los problemas técnicos anteriormente mencionados. Y, otros problemas técnicos que no se mencionan se entenderán de forma evidente a 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 generar un primer bloque de predicción para un bloque actual basándose en un primer modo de predicción, generar un segundo bloque de predicción para un bloque actual basándose en un segundo modo de predicción y generar un bloque de predicción final del bloque actual basándose en el primer bloque de predicción y el segundo bloque de predicción.
Un método y un aparato para codificar una señal de video de acuerdo con la presente invención puede generar un primer bloque de predicción para un bloque actual basándose en un primer modo de predicción, generar un segundo bloque de predicción para un bloque actual basándose en un segundo modo de predicción y generar un bloque de predicción final del bloque actual basándose en el primer bloque de predicción y el segundo bloque de predicción.
En el método y el aparato para codificar/decodificar una señal de video de acuerdo con la presente invención, el primer modo de predicción puede ser diferente del segundo modo de predicción.
En el método y el aparato para codificar/decodificar una señal de video de acuerdo con la presente invención, el primer modo de predicción puede ser un modo de intra predicción y el segundo modo de predicción puede ser un modo de inter predicción.
En el método y el aparato para codificar/decodificar una señal de video de acuerdo con la presente invención, el primer modo de predicción puede ser un modo de inter predicción diferente del segundo modo de predicción, y el modo de inter predicción puede comprender al menos uno de un modo de salto, un modo de fusión, un modo AMVP (Predicción Avanzada de Vector de Movimiento) o un modo de referencia de instantánea actual.
En el método y el aparato para codificar/decodificar una señal de video de acuerdo con la presente invención, el bloque de predicción final puede obtenerse basándose en una operación de suma ponderada entre el primer bloque de predicción y el segundo bloque de predicción.
En el método y el aparato para codificar/decodificar una señal de video de acuerdo con la presente invención, pueden determinarse ponderaciones aplicadas al primer bloque de predicción y el segundo bloque de predicción basándose en un parámetro de predicción ponderada del bloque actual.
En el método y el aparato para codificar/decodificar una señal de video de acuerdo con la presente invención, puede determinarse si usar un método de predicción que combina el primer modo de predicción y el segundo modo de predicción basándose en una forma o un tamaño del bloque actual.
En el método y el aparato para codificar/decodificar una señal de video de acuerdo con la presente invención, el bloque actual puede comprender un primer subbloque y un segundo subbloque, un bloque de predicción final del primer subbloque puede generarse basándose en el primer bloque de predicción y un bloque de predicción final del segundo subbloque puede generarse basándose en el primer bloque de predicción y el segundo bloque de predicción.
Las características resumidas brevemente anteriormente para la presente invención son únicamente 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, un bloque objetivo de codificación/decodificación puede predecirse de forma eficiente.
De acuerdo con presente invención, un bloque objetivo de codificación/decodificación puede predecirse combinando una pluralidad de modos de predicción.
De acuerdo con presente invención, un método de predicción puede determinarse en unidades de un subbloque y una predicción puede realizarse en unidades de un subbloque.
Los efectos obtenibles mediante la presente invención no se limitan a los efectos anteriormente mencionados y otros efectos no mencionados pueden entenderse claramente por los expertos en la materia a partir de la descripción a continuació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 basándose 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 la que se permite 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 únicamente 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 información relacionada con el número permitido de partición de árbol binaria 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 procesos de obtención de una muestra residual de acuerdo con una realización a la que se aplica la presente invención.
La Figura 9 es un diagrama de flujo que ilustra un método de inter predicción de acuerdo con una realización a la que se aplica la presente invención.
La Figura 10 es un diagrama que ilustra procesos de obtención de información de movimiento de un bloque actual cuando un modo de fusión se aplica al bloque actual.
La Figura 11 es un diagrama que ilustra procesos de obtención de información de movimiento de un bloque actual cuando un modo AMVP se aplica al bloque actual.
La Figura 12 es un diagrama de flujo de un método de predicción ponderada bidireccional, de acuerdo con una realización de la presente invención.
La Figura 13 es un diagrama para explicar un principio de predicción ponderada bidireccional.
La Figura 14 es un diagrama que ilustra un orden de exploración entre bloques vecinos.
La Figura 15 es un diagrama de flujo que ilustra un método de predicción combinada de acuerdo con la presente invención.
Las Figuras 16 y 17 son diagramas que ilustran un ejemplo de generación de un bloque de predicción de un bloque actual basándose en una suma ponderada de una pluralidad de bloques de predicción obtenidos por diferentes modos de predicción.
La Figura 18 es un diagrama que ilustra un ejemplo en el que se realiza predicción en unidades de un subbloque.
La Figura 19 es un diagrama de flujo de un método de predicción de compensación de iluminación de acuerdo con la presente invención.
La Figura 20 es un diagrama de flujo de un método de predicción ponderada bidireccional basándose en compensación de iluminación.
La Figura 21 es un diagrama que ilustra un ejemplo de realización de predicción ponderada bidireccional usando un bloque de predicción al que se aplica compensación de iluminación.
Modo para la invención
Pueden realizarse una diversidad de modificaciones a la presente invención y existen diversas realizaciones de la presente invención, ejemplos de la cual se proporcionarán ahora con referencia a los dibujos y se describirán en detalle. Sin embargo, la presente invención no se limita a los mismos y las realizaciones ilustrativas pueden interpretarse como que incluyen todas las modificaciones, equivalentes o sustitutos en un concepto técnico y un alcance técnico de la presente invención. Los números de referencia similares hacen referencia al elemento similar descrito en los dibujos.
Los términos usados en la memoria descriptiva, 'primero', 'segundo', etc., pueden usarse para describir diversos componentes, pero los componentes no han de interpretarse como que se limitan a los términos. Los términos se usan únicamente para diferenciar un componente de otros componentes. Por ejemplo, el ‘primer’ componente puede nombrarse el ‘segundo’ componente sin alejarse del alcance de la presente invención y el ‘segundo’ componente puede nombrarse también de forma similar el ‘primer’ componente. El término ‘y/o’ incluye una combinación de una pluralidad de elementos o uno cualquiera de una pluralidad de términos.
Se entenderá que cuando un elemento se denomina de forma sencilla como que ‘se conecta a’ o ‘se acopla a’ otro elemento sin que ‘se conecte directamente a’ o ‘se acople directamente a’ otro elemento en la presente descripción, puede estar ‘directamente conectado a’ o ‘directamente acoplado a’ otro elemento o estar conectado a o acoplado a otro elemento, que tiene el otro elemento intermedio entre los mismos. En contraste, debería entenderse que cuando un elemento se denomina como que "se acopla directamente" o "se conecta directamente" a otro elemento, no hay elementos intermedios presentes.
Los términos usados en la presente memoria descriptiva se usan simplemente para describir realizaciones particulares, y no se pretende que limiten la presente invención. Una expresión usada en singular abarca la expresión del plural, a menos que tenga un significado claramente diferente en el contexto. En la presente memoria descriptiva, se ha de entender que los términos tales como “que incluye”, “que tiene”, etc., pretenden indicar la existencia de las características, números, etapas, acciones, elementos, partes o combinaciones de los mismos divulgadas en la memoria descriptiva, y no pretenden que excluyan la posibilidad de que puedan existir o puedan añadirse una o más otras características, números, etapas, acciones, elementos, partes, o combinaciones de los mismos.
En lo sucesivo, se describirán en detalle realizaciones preferidas de la presente invención con referencia a los dibujos adjuntos. En lo sucesivo, los mismos elementos constituyentes en los dibujos se indican por 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 instantánea 110, módulos de predicción 120 y 125, un módulo de transformada 130, un módulo de cuantificación 135, un módulo de reorganización 160, un módulo de codificación por entropía 165, un módulo de cuantificación inversa 140, un módulo de transformada inversa 145, un módulo de filtro 150 y una memoria 155.
Las partes constitucionales 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 constitucional se constituya de una unidad constitucional de hardware o software separada. En otras palabras, cada parte constitucional incluye cada una de las partes constitucionales enumeradas por conveniencia. Por lo tanto, al menos dos partes constitucionales de cada parte constitucional pueden combinarse para formar una parte constitucional o una parte constitucional puede dividirse en una pluralidad de partes constitucionales para realizar cada función. La realización donde se combina cada parte constitucional y la realización donde se divide una parte constitucional también están incluidas en el alcance de la presente invención, si no se alejan de la esencia de la presente invención.
También, algunos de los constituyentes pueden no ser constituyentes indispensables que realizan funciones esenciales de la presente invención sino ser constituyentes selectivos que mejoran únicamente el rendimiento de la misma. La presente invención puede implementarse incluyendo únicamente las partes constitucionales indispensables para implementar la esencia de la presente invención excepto los constituyentes usados al mejorar el rendimiento. La estructura que incluye únicamente los constituyentes indispensables excepto los constituyentes selectivos usados al mejorar únicamente el rendimiento también se incluye en el alcance de la presente invención.
El módulo de partición de instantánea 110 puede dividir una instantánea de entrada en una o más unidades de procesamiento. En este punto, la unidad de procesamiento puede ser una unidad de predicción (PU), una unidad de transformada (TU) o una unidad de codificación (CU). El módulo de partición de instantánea 110 puede dividir una instantánea en combinaciones de múltiples unidades de codificación, unidades de predicción y unidades de transformada, y puede codificar una instantánea seleccionando una combinación de unidades de codificación, unidades de predicción y unidades de transformada con un criterio predeterminado (por ejemplo, función de coste).
Por ejemplo, una instantánea puede dividirse en múltiples unidades de codificación.
Una estructura de árbol recursivo, tal como una estructura de árbol cuádruple, puede usarse para dividir una instantánea en unidades de codificación. Una unidad de codificación que se divide en otras unidades de codificación con una instantánea o una unidad de codificación más grande como una raíz puede dividirse con nodos hijo que corresponden al número de unidades de codificación divididas. Una unidad de codificación que ya no se divide más mediante una limitación predeterminada sirve como un nodo de hoja. Es decir, cuando se supone que únicamente es posible partición cuadrada para una unidad de codificación, una unidad de codificación puede dividirse en cuatro otras unidades de codificación como máximo.
En lo sucesivo, en la realización de la presente invención, la unidad de codificación puede significar una unidad que realiza codificación o una unidad que realiza decodificación.
Una unidad de predicción puede ser una de las particiones divididas en un cuadrado o una forma rectangular que tiene el mismo tamaño en una única unidad de codificación, o una unidad de predicción puede ser una de las divisiones divididas para tener una forma / tamaño diferente en una única unidad de codificación.
Cuando se genera una unidad de predicción sometida a intra predicción basándose en una unidad de codificación y la unidad de codificación no es la unidad de codificación más pequeña, puede realizarse intra predicción 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 inter predicción 120 que realiza inter predicción y un módulo de intra predicción 125 que realiza intra predicción. Puede determinarse si realizar inter predicción o intra predicción para la unidad de predicción y puede determinarse información detallada (por ejemplo, un modo de intra predicción, un vector de movimiento, una instantánea de referencia, etc.) de acuerdo con cada método de predicción. En este punto, la unidad de procesamiento sometida a predicción puede ser diferente de la unidad de procesamiento para la que se determina el método de predicción y contenido detallado. Por ejemplo, puede determinarse el método de predicción, el modo de predicción, etc., por la unidad de predicción y puede realizarse predicción por la unidad de transformada. Un valor residual (bloque residual) entre el bloque de predicción generado y un bloque original puede introducirse al módulo de transformada 130. También, la información de modo de predicción, la información de vector de movimiento, etc., usadas para predicción pueden codificarse con el valor residual por el módulo de codificación por entropía 165 y pueden 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 y como está sin generar el bloque de predicción a través de los módulos de predicción 120 y 125.
El módulo de inter predicción 120 puede predecir la unidad de predicción basándose en información de al menos una de una instantánea anterior o una instantánea posterior de la instantánea actual, o puede predecir la unidad de predicción basándose en información de algunas regiones codificadas en la instantánea actual, en algunos casos. El módulo de inter predicción 120 puede incluir un módulo de interpolación de instantánea 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 instantánea de referencia puede recibir información de instantánea de referencia desde la memoria 155 y puede generar información de píxel de un píxel entero o menor que el píxel entero desde la instantánea de referencia. En el caso de píxeles de luminancia, puede usarse un filtro de interpolación basado en DCT de 8 derivaciones, que tiene diferentes coeficientes de filtro para generar información de píxel de un píxel entero o menor que un píxel entero en unidades de 1/4 de píxel. En el caso de señales de crominancia, puede usarse un filtro de interpolación basado en DCT de 4 derivaciones que tiene diferente coeficiente para generar información de píxel de un píxel entero o menor que un píxel entero en unidades de 1/8 de píxel.
El módulo de predicción de movimiento puede realizar predicción de movimiento basándose en la instantánea de referencia interpolada por el módulo de interpolación de instantánea de referencia. Pueden usarse diversos métodos como métodos para calcular un vector de movimiento, tales como un algoritmo de coincidencia de bloque basado en búsqueda completa (FBMA), una búsqueda de tres etapas (TSS), un nuevo algoritmo de búsqueda de tres etapas (NTS), etc. El vector de movimiento puede tener un valor de vector de movimiento en unidades de 1/2 de píxel o de 1/4 de píxel basándose en un píxel de interpolación. 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. Pueden usarse diversos métodos como métodos de predicción de movimiento, tales como un método de salto, un método de fusión, un método de AMVP (Predicción Avanzada de Vector de Movimiento), un método de copia de intra bloque, etc.
El módulo de intra predicción 125 puede generar una unidad de predicción basándose en información del píxel de referencia que es vecino a un bloque actual que es información de píxel en la instantánea actual. Cuando el bloque vecino de la unidad de predicción actual es un bloque sometido a inter predicción y por lo tanto un píxel de referencia es un píxel sometido a inter predicción, el píxel de referencia incluido en el bloque sometido a inter predicción puede sustituirse por información de píxel de referencia de un bloque vecino sometido a intra predicción. Es decir, cuando un píxel de referencia no está disponible, puede usarse al menos un píxel de referencia de píxeles de referencia disponibles en lugar de información del píxel de referencia no disponible.
Los modos de predicción en intra predicción pueden incluir un modo de predicción direccional que usa información de píxel de referencia dependiendo de una dirección de predicción y un modo de predicción no direccional que no usa información direccional en la realización de la predicción. Un modo para predecir información de luminancia puede ser diferente de un modo para predecir información de crominancia, y para predecir la información de crominancia puede utilizarse información de modo de intra predicción para predecir información de luminancia o información de señal de luminancia predicha.
En la realización de intra predicción, cuando el tamaño de la unidad de predicción es el mismo que el tamaño de la unidad de transformada, puede realizarse intra predicción en la unidad de predicción basándose en píxeles situados a la izquierda, la parte superior izquierda y la parte superior de la unidad de predicción. Sin embargo, en la realización de intra predicción, cuando el tamaño de la unidad de predicción es diferente del tamaño de la unidad de transformada, puede realizarse intra predicción usando un píxel de referencia basándose en la unidad de transformada. También, puede usarse intra predicción usando partición NxN para únicamente la unidad de codificación más pequeña.
En el método de intra predicción, puede generarse un bloque de predicción después de aplicar un filtro de AIS (Suavizado Intra Adaptativo) a un píxel de referencia dependiendo de los modos de predicción. El tipo del filtro de AIS aplicado al píxel de referencia puede variar. Para realizar el método de intra predicción, puede predecirse un modo de intra predicción de la unidad de predicción actual desde el modo de intra predicción de la unidad de predicción vecina a la unidad de predicción actual. En la predicción del modo de predicción de la unidad de predicción actual usando información de modo predicha a partir de la unidad de predicción vecina, cuando el modo de intra predicción de la unidad de predicción actual es el mismo que el modo de intra predicción de la unidad de predicción vecina, puede transmitirse la información que 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í usando información de bandera 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, puede realizarse codificación por entropía para codificar información de modo de predicción del bloque actual.
También, puede generarse un bloque residual que incluye información sobre un valor residual que es una diferencia entre la unidad de predicción sometida a predicción y el bloque original de la unidad de predicción basándose en unidades de predicción generadas por los módulos de predicción 120 y 125. El bloque residual generado puede introducirse al módulo de transformada 130.
El módulo de transformada 130 puede transformar el bloque residual que incluye la información en el valor residual entre el bloque original y la unidad de predicción generados por los módulos de predicción 120 y 125 usando un método de transformada, tal como transformada de coseno discreta (DCT), transformada de seno discreta (DST) y KLT. Puede determinarse si aplicar DCT, DST o KLT para transformar el bloque residual basándose en información de modo de intra predicción de la unidad de predicción usada para generar el bloque residual.
El módulo de cuantificación 135 puede cuantificar valores transformados a un dominio de frecuencia por el módulo de transformada 130. Los coeficientes de cuantificación pueden variar dependiendo del bloque o importancia de una instantánea. Los valores calculados por el módulo de cuantificación 135 pueden proporcionarse al módulo de cuantificación inversa 140 y al módulo de reorganización 160.
El módulo de reorganización 160 puede reorganizar coeficientes de 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 coeficiente. Por ejemplo, el módulo de reorganización 160 puede explorar desde un coeficiente de CC a un coeficiente en el dominio de alta frecuencia usando un método de exploración en zigzag para cambiar los coeficientes para que estén en forma de vectores unidimensionales. Dependiendo del tamaño de la unidad de transformada y el modo de intra predicción, puede usarse exploración de dirección vertical donde se exploran los coeficientes en forma de bloques bidimensionales en la dirección de columna o exploración de dirección horizontal donde se exploran los coeficientes en forma de bloques bidimensionales en la dirección de fila en lugar de exploración en zigzag. Es decir, puede determinarse qué método de exploración se usa entre exploración en zigzag, exploración de dirección vertical y exploración de dirección horizontal dependiendo del tamaño de la unidad de transformada y el modo de intra predicción.
El módulo de codificación por entropía 165 puede realizar codificación por entropía basándose en los valores calculados por el módulo de reorganización 160. La codificación por entropía puede usar diversos métodos de codificación, por ejemplo, codificación de Golomb exponencial, codificación de longitud variable adaptativa según contexto (CAVLC) y codificación aritmética binaria adaptativa según contexto (CABAC).
El módulo de codificación por entropía 165 puede codificar una diversidad 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 transformada, información de vector de movimiento, información de fotograma de referencia, información de interpolación de bloque, información de filtrado, etc., desde el módulo de reorganización 160 y los módulos de predicción 120 y 125.
El módulo de codificación por entropía 165 puede codificar por entropía los coeficientes de la unidad de codificación introducidos desde el módulo de reorganización 160.
El módulo de cuantificación inversa 140 puede cuantificar de forma inversa los valores cuantificados por el módulo de cuantificación 135 y el módulo de transformada inversa 145 puede transformar de forma inversa los valores transformados por el módulo de transformada 130. El valor residual generado por el módulo de cuantificación inversa 140 y el módulo de transformada 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 intra predicción de los módulos de predicción 120 y 125 de tal forma que puede generarse un bloque reconstruido.
El módulo de filtro 150 puede incluir al menos uno de un filtro de desbloqueo, una unidad de corrección de desplazamiento y un filtro de bucle adaptativo (ALF).
El filtro de desbloqueo puede eliminar distorsión de bloque que se produce debido a los límites entre los bloques en la instantánea reconstruida. Para determinar si realizar desbloqueo, los píxeles incluidos en diversas filas o columnas en el bloque pueden ser una base de determinación de si aplicar el filtro de desbloqueo al bloque actual. Cuando el filtro de desbloqueo se aplica al bloque, puede aplicarse un filtro fuerte o un filtro débil dependiendo de la intensidad de filtrado de desbloqueo requerida. También, al aplicar el filtro de desbloqueo, puede procesarse en paralelo la filtrado de dirección horizontal y la filtrado de dirección vertical.
El módulo de corrección de desplazamiento puede corregir el desplazamiento con la instantánea original en unidades de un píxel en la instantánea sometida a desbloqueo. Para realizar la corrección de desplazamiento en una instantánea particular, es posible usar un método de aplicación de desplazamiento teniendo en cuenta información de borde de cada píxel o un método de partición de píxeles de una instantánea en el número predeterminado de regiones, determinar una región a someterse para realizar el desplazamiento y aplicar el desplazamiento a la región determinada.
Puede realizarse filtrado de bucle adaptativo (ALF) basándose en el valor obtenido comparando la instantánea reconstruida filtrada y la instantánea original. Los píxeles incluidos en la instantánea pueden dividirse en grupos predeterminados, puede determinarse un filtro a aplicar a cada uno de los grupos y puede realizarse filtrado para cada grupo de forma individual. La información sobre si aplicar ALF y una señal de luminancia puede transmitirse por unidades de codificación (CU). La forma y coeficiente de filtro de un filtro para ALF puede variar dependiendo de cada bloque. También, el filtro para ALF en la misma forma (forma fijada) puede aplicarse independientemente de las características del bloque objetivo de aplicación.
La memoria 155 puede almacenar el bloque o instantánea reconstruidos calculados a través del módulo de filtro 150. El bloque reconstruido almacenado o instantánea puede proporcionarse a los módulos de predicción 120 y 125 al llevar a cabo la inter predicció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 por entropía 210, un módulo de reorganización 215, un módulo de cuantificación inversa 220, un módulo de transformada inversa 225, módulos de predicción 230 y 235, un módulo de filtro 240 y una memoria 245.
Cuando se introduce un flujo de bits de video desde el dispositivo para codificar un video, el flujo de bits introducido puede decodificarse de acuerdo con un proceso inverso del dispositivo para codificar un video.
El módulo de decodificación por entropía 210 puede realizar decodificación por entropía de acuerdo con un proceso inverso de codificación por entropía mediante el módulo de codificación por entropía del dispositivo para codificar un video. Por ejemplo, pueden aplicarse diversos métodos correspondiendo a los métodos realizados por el dispositivo para codificar un video, tales como codificación de Golomb exponencial, codificación de longitud variable adaptativa según contexto (CAVLC) y codificación aritmética binaria adaptativa según contexto (CABAC).
El módulo de decodificación por entropía 210 puede decodificar información sobre intra predicción e inter predicción realizada por el dispositivo para codificar un video.
El módulo de reorganización 215 puede realizar reorganización en el flujo de bits decodificado por entropía mediante el módulo de decodificación por entropía 210 basándose en el método de reorganización usado 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 exploración de coeficiente realizada en el dispositivo para codificar un video y puede realizar reorganización mediante un método de exploración de forma inversa de los coeficientes basándose en el orden de exploración realizado en el dispositivo para codificar un video.
El módulo de cuantificación inversa 220 puede realizar cuantificación inversa basándose 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 transformada inversa 225 puede realizar la transformada inversa, es decir, DCT inversa, DST inversa y KLT inversa, que es el proceso inverso de la transformada, es decir, DCT, DST y KLT, realizado por el módulo de transformada en el resultado de cuantificación mediante el dispositivo para codificar un video. La transformada inversa puede realizarse basándose en una unidad de transferencia determinada mediante el dispositivo para codificar un video. El módulo de transformada inversa 225 del dispositivo para decodificar un video puede realizar de forma selectiva esquemas de transformada (por ejemplo, DCT, DST y KLT) dependiendo de múltiples piezas de información, tal 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 basándose en información sobre la generación de bloque de predicción recibida desde el módulo de decodificación por entropía 210 y la información de bloque o instantánea previamente decodificada recibida desde la memoria 245.
Como se ha descrito anteriormente, como la operación del dispositivo para codificar un video, en la realización de intra predicción, cuando el tamaño de la unidad de predicción es el mismo que el tamaño de la unidad de transformada, puede realizarse intra predicción en la unidad de predicción basándose en los píxeles situados a la izquierda, la parte superior izquierda y la parte superior de la unidad de predicción. En la realización de intra predicción, cuando el tamaño de la unidad de predicción es diferente del tamaño de la unidad de transformada, puede realizarse intra predicción usando un píxel de referencia basándose en la unidad de transformada. También, puede usarse intra predicción usando partición NxN para únicamente 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 inter predicción y un módulo de intra predicción. El módulo de determinación de unidad de predicción puede recibir una diversidad de información, tal como información de unidad de predicción, información de modo de predicción de un método de intra predicción, información sobre predicción de movimiento de un método de inter predicción, etc., desde el módulo de decodificación por entropía 210, puede dividir una unidad de codificación actual en unidades de predicción y puede determinar si se realiza inter predicción o intra predicción en la unidad de predicción. Usando información requerida en inter predicción de la unidad de predicción actual recibida desde el dispositivo para codificar un video, el módulo 230 de inter predicción puede realizar inter predicción en la unidad de predicción actual basándose en información de al menos una de una instantánea anterior o una instantánea posterior de la instantánea actual que incluye la unidad de predicción actual. Como alternativa, puede realizarse inter predicción basándose en información de algunas regiones previamente reconstruidas en la instantánea actual que incluye la unidad de predicción actual.
Para realizar inter predicción, puede determinarse para la unidad de codificación cuál de un modo de salto, un modo de fusión, un modo AMVP y un modo de copia de inter bloque se usa como el método de predicción de movimiento de la unidad de predicción incluida en la unidad de codificación.
El módulo de intra predicción 235 puede generar un bloque de predicción basándose en información de píxel en la instantánea actual. Cuando la unidad de predicción es una unidad de predicción sometida a intra predicción, puede realizarse intra predicción basándose en información de modo de intra predicción de la unidad de predicción recibida desde el dispositivo para codificar un video. El módulo de intra predicción 235 puede incluir un filtro de suavizado intra adaptativo (AIS), un módulo de interpolación de píxel de referencia y un filtro de CC. El filtro de AIS realiza filtrado en el píxel de referencia del bloque actual y puede determinarse si aplicar el filtro dependiendo del modo de predicción de la unidad de predicción actual. Puede realizarse filtrado de AIS en el píxel de referencia del bloque actual usando el modo de predicción de la unidad de predicción y la información de filtro de AIS recibida desde el dispositivo para codificar un video. Cuando el modo de predicción del bloque actual es un modo donde no se realiza filtrado de AIS, no puede aplicarse el filtro de AIS.
Cuando el modo de predicción de la unidad de predicción es un modo de predicción en el que se realiza intra predicción basándose en el valor de píxel obtenido interpolando el píxel de referencia, el módulo de interpolación de píxel de referencia puede interpolar el píxel de referencia para generar el píxel de referencia de un píxel entero o menor 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, no puede interpolarse el píxel de referencia. El filtro de CC puede generar un bloque de predicción a través de filtrado cuando el modo de predicción del bloque actual es un modo de CC.
El bloque reconstruido o instantánea puede 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 se aplica o no el filtro de desbloqueo al correspondiente bloque o instantánea y la información sobre cuál de un filtro fuerte y un filtro débil 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 desde el dispositivo para codificar un video y puede realizar filtrado de desbloqueo en el correspondiente bloque.
El módulo de corrección de desplazamiento puede realizar corrección de desplazamiento en la instantánea reconstruida basándose en el tipo de corrección de desplazamiento e información de valor de desplazamiento aplicados a una instantánea en la realización de codificación.
El ALF puede aplicarse a la unidad de codificación basándose en información sobre si aplicar el ALF, información de coeficiente de ALF, etc., recibida desde el dispositivo para codificar un video. La información de ALF puede proporcionarse como que se incluye en un conjunto de parámetros particular.
La memoria 245 puede almacenar la instantánea o bloque reconstruidos para su uso como una instantánea o bloque de referencia, y puede proporcionar la instantánea reconstruida a un módulo de salida.
Como se ha descrito 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 para representar una unidad para codificación, pero la unidad de codificación puede servir como una unidad para realizar decodificación así como codificación.
Además, un bloque actual puede representar un bloque objetivo a codificar/decodificar. 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 transformada (o una unidad de transformada), un bloque de predicción (o una unidad de predicción) o similares dependiendo de una etapa de codificación/decodificación.
Una instantánea puede codificarse/decodificarse dividiendo en bloques de base que tienen una forma cuadrada o una forma no cuadrada. En este momento, el bloque de base puede denominarse como una unidad de árbol de codificación. La unidad de árbol de codificación puede definirse como una unidad de codificación del tamaño más grande permitido dentro de una secuencia o un segmento. La información con respecto a si la unidad de árbol de codificación tiene una forma cuadrada o tiene una forma no cuadrada o información con respecto a un tamaño de la unidad de árbol de codificación puede señalizarse a través de un conjunto de parámetros de secuencia, un conjunto de parámetros de instantánea o un encabezamiento de segmento. La unidad de árbol de codificación puede dividirse en particiones de tamaño más pequeño. En este momento, si se supone que una profundidad de una partición generada dividiendo la unidad de árbol de codificación es 1, una profundidad de una partición generada dividiendo la partición que tiene la profundidad de 1 puede definirse como 2. Es decir, una partición generada dividiendo 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 dividiendo una unidad de árbol de codificación puede definirse como una unidad de codificación. La unidad de codificación puede dividirse de forma recursiva o dividirse en unidades de base para realizar predicción, cuantificación, transformada o filtrado en bucle y similares. Por ejemplo, una partición de tamaño arbitrario generada dividiendo la unidad de codificación puede definirse como una unidad de codificación o puede definirse como una unidad de transformada o una unidad de predicción, que es una unidad de base para realizar predicción, cuantificación, transformada o filtrado en bucle y similares.
La partición de una unidad de árbol de codificación o una unidad de codificación puede realizarse basándose en 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 uno o más. Por ejemplo, la unidad de árbol de codificación o la unidad de codificación puede dividirse en dos particiones usando una línea vertical o una línea horizontal, o la unidad de árbol de codificación o la unidad de codificación puede dividirse en tres particiones usando dos líneas verticales o dos líneas horizontales. Como alternativa, la unidad de árbol de codificación o la unidad de codificación puede dividirse en cuatro particiones que tienen una longitud y una anchura de 1/2 usando una línea vertical y una línea horizontal.
Cuando una unidad de árbol de codificación o una unidad de codificación se dividen en una pluralidad de particiones usando 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. Como alternativa, una partición cualquiera puede tener un tamaño diferente de las particiones restantes.
En las realizaciones descritas a continuación, se asume 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 usando 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 basándose 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. Una unidad por defecto de este tipo para decodificar la señal de video de entrada es un bloque de codificación. El bloque de codificación puede ser una unidad que realiza intra/inter predicción, transformada y cuantificación. Además, se determina un modo de predicción (por ejemplo, modo de intra predicción o modo de inter predicción) en unidades 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 tiene un tamaño arbitrario en un intervalo de 8x8 a 64x64, o puede ser un bloque cuadrado o no cuadrado que tiene un tamaño de 128x128, 256x256 o mayor.
Específicamente, el bloque de codificación puede dividirse jerárquicamente basándose en al menos uno de un árbol cuádruple y un árbol binario. En este punto, partición basada en árbol cuádruple puede significar que se divide un bloque de codificación de 2Nx2N en cuatro bloques de codificación de NxN, y partición basada en árbol binario puede significar que se divide un bloque de codificación en dos bloques de codificación. Incluso si se realiza la partición basada en árbol binario, puede existir un bloque de codificación con forma cuadrada en la profundidad inferior.
La partición basada en árbol binario puede realizarse simétrica o asimétricamente. El bloque de codificación dividido basándose en el á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 la 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 de 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 puede permitirse de forma limitada a una de una partición de tipo simétrico o una de tipo asimétrico. En este caso, construir la unidad de árbol de codificación con bloques cuadrados puede corresponder a partición de CU de árbol cuádruple y construir la unidad de árbol de codificación con bloques no cuadrados simétricos puede corresponder a partición de árbol binario. Construir la unidad de árbol de codificación con bloques cuadrados y bloques no cuadrados simétricos puede corresponder a partición de CU de árbol cuádruple y binario.
La partición basada en árbol binario puede realizarse en un bloque de codificación donde ya no se realiza partición basada en árbol cuádruple. La partición basada en árbol cuádruple ya no puede realizarse en el bloque de codificación dividido basándose en el árbol binario.
Adicionalmente, la partición de una profundidad inferior puede determinarse dependiendo de un tipo de partición de una profundidad superior. Por ejemplo, si se permite partición basada en árbol binario en dos o más profundidades, únicamente puede permitirse el mismo tipo que la partición de árbol binario de la profundidad superior en la profundidad inferior. Por ejemplo, si se realiza la partición basada en árbol binario en la profundidad superior con tipo 2NxN, se realiza también la partición basada en árbol binario en la profundidad inferior con tipo 2NxN. Como alternativa, si se realiza la partición basada en árbol binario en la profundidad superior con tipo Nx2N, se realiza también la partición basada en árbol binario en la profundidad inferior con tipo Nx2N.
Por el contrario, también es posible permitir, en una profundidad inferior, únicamente un tipo diferente de una partición de un árbol binario de una profundidad superior.
Puede ser posible limitar únicamente un tipo específico de partición basada en árbol binario para que se use para la secuencia, segmento, unidad de árbol de codificación o unidad de codificación. Como un ejemplo, únicamente puede permitirse 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 predefinirse en un codificador o un decodificador. O puede codificarse información sobre el tipo de partición disponible o sobre el tipo de partición disponible y a continuación señalizarse a través de un flujo de bits.
La Figura 5 es un diagrama que ilustra un ejemplo en el que únicamente se permite un tipo específico de partición basada en árbol binario. La Figura 5A muestra un ejemplo en el que únicamente se permite tipo Nx2N de partición basada en árbol binario y la Figura 5B muestra un ejemplo en el que únicamente se permite el tipo 2NxN de partición basada en árbol binario. Para implementar partición adaptativa basada en árbol cuádruple o árbol binario, puede usarse información que indica partición basada en árbol cuádruple, información sobre el tamaño/profundidad del bloque de codificación de que se permite partición basada en árbol cuádruple, información que indica partición basada en árbol binario, información sobre el tamaño/profundidad del bloque de codificación de que se permite partición basada en árbol binario, información sobre el tamaño/profundidad del bloque de codificación de que no se permite partición basada en árbol binario, información sobre si se realiza partición basada en árbol binario en una dirección vertical o una dirección horizontal, etc.
Además, puede obtenerse información sobre el número de veces que se permite una partición de árbol binario, una profundidad a la que se permite 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 unidades 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 partición de á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 de árbol binario.
Haciendo referencia al ejemplo mostrado en la Figura 6, en la Figura 6, la partición de á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. Por consiguiente, al menos una de información que indica el número de veces que se ha realizado la partición de árbol binario en la unidad de árbol de codificación (es decir, 2 veces), información que indica la profundidad máxima a la que se ha permitido la partición de árbol binario en la unidad de árbol de codificación (es decir, profundidad 3) o el número de profundidades en las que se ha realizado la partición de árbol binario en la unidad de á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, puede obtenerse al menos una de información sobre el número de veces que se permite la partición de árbol binario, la 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 cada secuencia o cada segmento. Por ejemplo, la información puede codificarse en unidades de una secuencia, una instantánea o una unidad de segmento y transmitirse a través de un flujo de bits. Por consiguiente, al menos uno del número de la partición de árbol binario en un primer segmento, la profundidad máxima en la que se permite la partición de árbol binario en el primer segmento o el número de profundidades en las que se realiza la partición de árbol binario en el primer segmento puede diferenciarse de un segundo segmento. Por ejemplo, en el primer segmento, puede permitirse partición de árbol binario para únicamente una profundidad, mientras que en el segundo segmento, puede permitirse partición de árbol binario para dos profundidades.
Como otro ejemplo, el número de veces que se permite la partición de árbol binario, la profundidad a la que se permite la partición de árbol binario o el número de profundidades a las que se permite la partición de árbol binario puede establecerse de forma diferente de acuerdo con un identificador de nivel de tiempo (TemporalID) de un segmento o una instantánea. En este punto, 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 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 de anchura y la mitad de altura del primer bloque de codificación, y la profundidad de partición del segundo bloque de codificación puede aumentarse 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 puede realizarse usando de forma selectiva uno del árbol cuádruple y el árbol binario dependiendo de un método de partición. En este punto, el método de partición puede determinarse basándose en al menos una de la información que indica partición basada en árbol cuádruple y la información que indica partición basada en árbol binario.
Cuando se divide el segundo bloque de codificación 310 basándose en el árbol cuádruple, el segundo bloque de codificación 310 puede dividirse en cuatro terceros bloques de codificación 310a que tienen la mitad de anchura y la mitad de altura del segundo bloque de codificación, y la profundidad de partición del tercer bloque de codificación 310a puede aumentarse a k+2. En contraste, cuando el segundo bloque de codificación 310 se divide basándose en el árbol binario, el segundo bloque de codificación 310 puede dividirse en dos terceros bloques de codificación. En este punto, cada uno de los dos terceros bloques de codificación puede ser un bloque no cuadrado que tiene una de la mitad de anchura y la mitad de altura del segundo bloque de codificación, y la profundidad de partición puede aumentarse a k+2. El segundo bloque de codificación puede determinarse como un bloque no cuadrado de una dirección horizontal o una dirección vertical dependiendo de una dirección de partición, y la dirección de partición puede determinarse basándose en la información sobre si se realiza partición basada en árbol binario 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 se divide basándose en el árbol cuádruple o el árbol binario. En este caso, el bloque de codificación de hoja puede usarse como un bloque de predicción o un bloque de transformada.
Como 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 dividido basándose en el árbol binario puede dividirse adicionalmente en bloques de codificación 310b-2 de una dirección vertical o bloques de codificación 310b-3 de una dirección horizontal basándose en el árbol binario, y la profundidad de partición de los bloques de codificación pertinentes puede aumentarse a k+3. Como alternativa, el tercer bloque de codificación 310b puede determinarse como un bloque de codificación de hoja 310b-1 que ya no se divide basándose en el árbol binario. En este caso, el bloque de codificación 310b-1 puede usarse como un bloque de predicción o un bloque de transformada. Sin embargo, el proceso de partición anterior puede realizarse de forma limitada basándose en al menos uno de: la información sobre el tamaño/profundidad del bloque de codificación que permite la partición basada en árbol cuádruple, la información sobre el tamaño/profundidad del bloque de codificación que permite la partición basada en árbol binario y la información sobre el tamaño/profundidad del bloque de codificación que no permite la partición basada en árbol binario.
Un número de un candidato que representa un tamaño de un bloque de codificación puede limitarse a un número predeterminado, o un tamaño de un bloque de codificación en una unidad predeterminada puede tener un valor fijo. Como un ejemplo, el tamaño del bloque de codificación en una secuencia o en una instantánea puede limitarse para que tenga 256x256, 128x128 o 32x32. La información que indica el tamaño del bloque de codificación en la secuencia o en la instantánea puede señalizarse a través de un encabezamiento de secuencia o un encabezamiento de instantánea.
Como resultado de la partición basada en un árbol cuádruple y un árbol binario, una unidad de codificación puede representarse como forma cuadrada o rectangular de un tamaño arbitrario.
Un bloque de codificación se codifica usando al menos uno de un modo de salto, intra predicción, inter predicción o un método de salto. Una vez que se determina un bloque de codificación, puede determinarse un bloque de predicción a través de partición predictivo del bloque de codificación. La partición predictivo del bloque de codificación puede realizarse por un modo de partición (Part_mode) que indica un tipo de partición del bloque de codificación. Un tamaño o una forma del bloque de predicción pueden determinarse 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 se codifica por inter predicción.
Cuando se codifica un bloque de codificación por inter predicción, puede aplicarse uno de 8 modos de partición al bloque de codificación, como en el ejemplo mostrado en la Figura 4.
Cuando se codifica un bloque de codificación por intra predicción, puede aplicarse un modo de partición PART_2Nx2N o un modo de partición PART_NxN al bloque de codificación.
Puede aplicarse PART_NxN cuando un bloque de codificación tiene un tamaño mínimo. En este punto, el tamaño mínimo del bloque de codificación puede predefinirse en un codificador y en un decodificador. O, puede señalizarse información con respecto al tamaño mínimo del bloque de codificación mediante un flujo de bits. Por ejemplo, el tamaño mínimo del bloque de codificación puede señalizarse a través de un encabezamiento de segmento, de modo que el tamaño mínimo del bloque de codificación puede definirse por cada segmento.
En general, un bloque de predicción puede tener un tamaño de 64*64 a 4*4. Sin embargo, cuando se codifica un bloque de codificación por inter predicción, puede restringirse que el bloque de predicción no tenga un tamaño de 4x4 para reducir ancho de banda de memoria cuando se realiza compensación de movimiento.
La Figura 8 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.
En primer lugar, puede obtenerse un coeficiente residual de un bloque actual S810. Un decodificador puede obtener un coeficiente residual a través de un método de exploración de coeficiente. Por ejemplo, el decodificador puede realizar una exploración de coeficiente usando una exploración en zigzag, una exploración vertical, o una exploración horizontal, y puede obtener coeficientes residuales en una forma de un bloque bidimensional.
Puede realizarse una cuantificación inversa en el coeficiente residual del bloque actual S820.
Se realiza de forma selectiva una transformada inversa de acuerdo con si saltar la transformada inversa en el coeficiente residual decuantificado del bloque actual S830. Específicamente, el decodificador puede determinar si se salta la transformada inversa en al menos una de una dirección horizontal o una dirección vertical del bloque actual. Cuando se determina aplicar la transformada inversa en al menos una de la dirección horizontal o la dirección vertical del bloque actual, puede obtenerse una muestra residual del bloque actual transformando de forma inversa el coeficiente residual decuantificado del bloque actual. En este punto, la transformada inversa puede realizarse usando al menos una de DCT, DST y KLT.
Cuando se salta la transformada inversa tanto en la dirección horizontal como la dirección vertical del bloque actual, no se realiza transformada inversa en la dirección horizontal y la dirección vertical del bloque actual. En este caso, la muestra residual del bloque actual puede obtenerse escalando el coeficiente residual decuantificado con un valor predeterminado.
Saltar la transformada inversa en la dirección horizontal significa que no se realiza la transformada inversa en la dirección horizontal pero se realiza la transformada inversa en la dirección vertical. En este momento, puede realizarse escalado en la dirección horizontal.
Saltar la transformada inversa en la dirección vertical significa que no se realiza la transformada inversa en la dirección vertical sino que la transformada inversa se realiza en la dirección horizontal. En este momento, puede realizarse escalado en la dirección vertical.
Puede determinarse si puede usarse o no una técnica de salto de transformada inversa para el bloque actual dependiendo de un tipo de partición del bloque actual. Por ejemplo, si el bloque actual se genera a través de una partición basada en árbol binario, puede restringirse el esquema de salto de transformada inversa para el bloque actual. Por consiguiente, cuando se genera el bloque actual a través de la partición basada en árbol binario, la muestra residual del bloque actual puede obtenerse mediante transformada inversa del bloque actual. Además, cuando se genera el bloque actual a través de partición basada en árbol binario, puede omitirse la codificación/decodificación de información que indica si se salta o no la transformada inversa (por ejemplo, transform_skip_flag).
Como alternativa, cuando se genera el bloque actual a través de partición basada en árbol binario, es posible limitar el esquema de salto de transformada inversa a al menos una de la dirección horizontal o la dirección vertical. En este punto, la dirección en la que se limita el esquema de salto de transformada inversa puede determinarse basándose en información decodificada desde el flujo de bits o puede determinarse de forma adaptativa basándose en al menos uno de un tamaño del bloque actual, una forma del bloque actual o un modo de intra predicció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 salto de transformada inversa únicamente en la dirección vertical y restringirse en la dirección horizontal. Es decir, cuando el bloque actual es 2NxN, se realiza la transformada inversa en la dirección horizontal del bloque actual y puede realizarse de forma selectiva la transformada inversa 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 salto de transformada inversa únicamente en la dirección horizontal y restringirse en la dirección vertical. Es decir, cuando el bloque actual es Nx2N, se realiza la transformada inversa en la dirección vertical del bloque actual y puede realizarse de forma selectiva la transformada inversa 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, puede permitirse el esquema de salto de transformada inversa únicamente en la dirección horizontal, y cuando el bloque actual es un bloque no cuadrado que tiene una altura mayor que una anchura, puede permitirse el esquema de salto de transformada inversa únicamente en la dirección vertical.
La información que indica si se salta o no la transformada inversa con respecto a la dirección horizontal o la información que indica si se salta la transformación inversa con respecto a la dirección vertical pueden señalizarse a través de un flujo de bits. Por ejemplo, la información que indica si se salta o no la transformada inversa en la dirección horizontal es una bandera de 1 bit, 'hor_transform_skip_flag' y la información que indica si se salta la transformada inversa en la dirección vertical es una bandera de 1 bit, 'ver_transform_skip_flag'. El codificador puede codificar al menos una 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 salta o no la transformada inversa en la dirección horizontal o en la dirección vertical usando al menos una de "hor_transform_skip_flag" o "ver_transform_skip_flag".
Puede establecerse saltar la transformada inversa para una dirección cualquiera del bloque actual dependiendo de un tipo de partición del bloque actual. Por ejemplo, si el bloque actual se genera a través de una partición basada en árbol binario, puede saltarse la transformada inversa en la dirección horizontal o dirección vertical. Es decir, si el bloque actual se genera por partición basada en árbol binario, puede determinarse que se salta la transformada inversa para el bloque actual en al menos una de una dirección horizontal o una dirección 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 salta o no la transformada inversa del bloque actual.
La Figura 9 es un diagrama de flujo que ilustra un método de Ínter predicción de acuerdo con una realización a la que se aplica la presente invención.
Haciendo referencia a la Figura 9, se determina información de movimiento de un bloque actual S910. 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 instantánea de referencia del bloque actual o una dirección de inter predicción del bloque actual.
La información de movimiento del bloque actual puede obtenerse basándose en al menos una de 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 10 es un diagrama que ilustra procesos de obtención de información de movimiento de un bloque actual cuando se aplica un modo de fusión al bloque actual.
Si el modo de fusión se aplica al bloque actual, un candidato de fusión espacial puede obtenerse a partir de un bloque vecino espacial del bloque actual S1010. El bloque vecino espacial puede comprender al menos uno de bloques adyacentes a la 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.
Puede establecerse que la información de movimiento del candidato de fusión espacial sea la misma que la información de movimiento del bloque vecino espacial.
Un candidato de fusión temporal puede obtenerse a partir de un bloque vecino temporal del bloque actual S1020. El bloque vecino temporal puede significar un bloque incluido en una instantánea coubicada. La instantánea coubicada tiene un recuento de orden de instantánea (POC) diferente de una instantánea actual que incluye el bloque actual. La instantánea coubicada puede determinarse como una instantánea que tiene un índice predefinido en una lista de instantáneas de referencia o puede determinarse mediante un índice señalizado a partir de un flujo de bits. El bloque vecino temporal puede determinarse para que sea un bloque que comprende coordinadas en un bloque coubicado que tiene la misma posición que el bloque actual en la instantánea coubicada, o un bloque adyacente al bloque coubicado. Por ejemplo, al menos uno de un bloque que incluye coordinadas centrales del bloque coubicado o un bloque adyacente al límite inferior izquierdo del bloque coubicado puede determinarse como el bloque vecino temporal.
Información de movimiento del candidato de fusión temporal puede determinarse basándose en 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 inter predicción del candidato de fusión temporal puede establecerse que sea la misma que una dirección de inter predicción del bloque vecino temporal. Sin embargo, un índice de instantánea de referencia del candidato de fusión temporal puede tener un valor fijo. Por ejemplo, el índice de instantánea de referencia del candidato de fusión temporal puede establecerse a '0'.
Posteriormente, puede generarse una lista de candidatos de fusión que incluye el candidato de fusión espacial y el candidato de fusión temporal S1030. Si el número de candidatos de fusión incluidos en la lista de candidatos de fusión es menor que un número máximo de candidatos de fusión, un candidato de fusión combinado que combina dos o más candidatos de fusión puede incluirse 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 S1040.
Información de movimiento del bloque actual puede establecerse que sea la misma que información de movimiento del candidato de fusión especificado por el índice de candidato de fusión S1050. Por ejemplo, cuando el candidato de fusión espacial se selecciona por el índice de candidato de fusión, la información de movimiento del bloque actual puede establecerse que sea la misma que la información de movimiento del bloque vecino espacial. Como alternativa, cuando el candidato de fusión temporal se selecciona por el índice de candidato de fusión, la información de movimiento del bloque actual puede establecerse que sea la misma que la información de movimiento del bloque vecino temporal.
La Figura 11 es un diagrama que ilustra procesos de obtención de información de movimiento de un bloque actual cuando se aplica un modo AMVP al bloque actual.
Cuando se aplica el modo AMVP al bloque actual, al menos una de una dirección de inter predicción del bloque actual o un índice de instantánea de referencia puede decodificarse a partir de un flujo de bits S1110. Es decir, cuando se aplica el modo AMVP, al menos una de la dirección de inter predicción o el índice de instantánea de referencia del bloque actual puede determinarse basándose en información codificada a través del flujo de bits.
Puede determinarse un candidato de vector de movimiento espacial basándose en un vector de movimiento de un bloque vecino espacial del bloque actual S1120. El candidato de vector de movimiento espacial puede incluir al menos uno de un primer candidato de vector de movimiento espacial obtenido a partir de un bloque vecino superior del bloque actual y un segundo candidato de vector de movimiento espacial obtenido a partir de a bloque vecino izquierdo del bloque actual. En este documento, el bloque vecino superior puede incluir al menos uno de bloques adyacentes a una parte superior o una esquina superior derecha del bloque actual, y el bloque vecino izquierdo del bloque actual puede incluir al menos uno de bloques adyacentes a la izquierda o una esquina inferior izquierda 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 instantáneas de referencia entre el bloque actual y el bloque vecino espacial son diferentes entre sí, también es posible obtener el vector de movimiento espacial escalando el vector de movimiento del bloque vecino espacial.
Puede determinarse un candidato de vector de movimiento temporal basándose en un vector de movimiento de un bloque vecino temporal del bloque actual S1130. Cuando instantáneas de referencia entre el bloque actual y el bloque vecino temporal son diferentes entre sí, también es posible obtener el vector de movimiento temporal escalando el vector de movimiento del bloque vecino temporal.
Puede generarse una lista de candidatos de vector de movimiento que incluye el candidato de vector de movimiento espacial y el candidato de vector de movimiento temporal S1140.
Cuando se genera la lista de candidatos de vector de movimiento, al menos uno de los candidatos de vector de movimiento incluidos en la lista de candidatos de vector de movimiento puede especificarse basándose en información que especifica al menos uno de la lista de candidatos de vector de movimiento S1150.
El vector de movimiento candidato especificado por la información puede ser establecido como un valor de predicción de vector de movimiento del bloque actual, y un valor de diferencia de vector de movimiento puede ser añadido al valor de predicción de vector de movimiento del bloque actual S1160. En este momento, el valor de diferencia de vector de movimiento puede analizarse a través del flujo de bits.
Cuando se obtiene información de movimiento del bloque actual, puede realizarse compensación de movimiento para el bloque actual basándose en la información de movimiento obtenida S920. Más específicamente, la compensación de movimiento para el bloque actual puede realizarse basándose en la dirección de inter predicción, el índice de instantánea de referencia y el vector de movimiento del bloque actual.
La dirección de inter predicción puede indicar N direcciones. En este documento, N es un número natural y puede ser 1,2 o 3 o más. Si la dirección de inter predicción indica N direcciones, significa que se realiza inter predicción del bloque actual basándose en N instantáneas de referencia o N bloques de referencia. Por ejemplo, cuando la dirección de inter predicción del bloque actual indica una unidirección, la inter predicción del bloque actual puede realizarse basándose en una instantánea de referencia. Por otra parte, cuando la inter predicción del bloque actual indica una bidirección, la inter predicción del bloque actual puede realizarse usando dos instantáneas de referencia o dos bloques de referencia.
También es posible determinar si se permite una predicción multidireccional para el bloque actual basándose en al menos uno de un tamaño o una forma del bloque actual. Por ejemplo, cuando una unidad de codificación tiene una forma cuadrada, se permite la predicción multidireccional para codificar/decodificar la misma. Por otra parte, cuando la unidad de codificación tiene una forma no cuadrada, únicamente se permite predicción unidireccional para codificar/decodificar la misma. Al contrario que los casos anteriores, también es posible establecer que la predicción multidireccional se permite para codificar/decodificar la unidad de codificación cuando tiene la form a no cuadrada, y únicam ente se perm ite la predicción un id irecciona l para cod ifica r/decod ifica r la unidad de codificación cuando tiene la form a cuadrada. C om o a lternativa, tam bién es posib le es tab lecer que la predicción m ultid ireccional no se perm ite para cod ificar/decod ifica r una unidad de predicción, cuando la unidad de predicción tiene la form a no cuadrada de 4x8 u 8x4 o sim ilar.
El índice de instantánea de re ferencia puede especifica r una instantánea de re ferencia a usar por in ter predicción del b loque actual. Específicam ente, el índice de instantánea de re ferencia puede especifica r una cualqu iera de instantáneas de re ferencia inclu idas en la lista de instantáneas de re ferencia . Por e jem plo, cuando la d irección de in te r predicción del b loque actual es b id ireccional, la instantánea de re ferencia (instantánea de re ferencia L0) inclu ida en la lista de instantáneas de re ferencia L0 se especifica m ediante un índice de instantánea de re ferencia L0, y la instantánea de re ferencia (instantánea de re ferencia L1) inclu ida en la lista de instantáneas de re ferencia L1 se especifica m ediante un índice de instantánea de re ferencia L1.
C om o a lternativa, una instantánea de re ferencia puede inclu irse en dos o más listas de instantáneas de referencia. Por consigu iente, incluso si el índ ice de instantánea de re ferencia de la instantánea de re ferencia inclu ida en la lista de instantáneas de re ferencia L0 y el índice de instantánea de re ferencia de la instantánea de re ferencia inclu ida en la lista de instantáneas de re ferencia L1 son d iferentes, órdenes tem pora les (recuento de orden de instantánea, P0 C) de am bas instantáneas de re ferencia pueden ser los m ism os.
El vec to r de m ovim iento puede usarse para especifica r una posición de un b loque de re ferencia , en la instantánea de re ferencia , que corresponde a un b loque de predicción del b loque actual. La in ter predicción del b loque actual puede rea lizarse basándose en el b loque de re ferencia , especificado por el vec to r de m ovim iento, en la instantánea de re ferencia . Por e jem plo, un píxel entero inclu ido en el b loque de re ferencia o un píxel no entero generado in terpo lando píxeles enteros puede generarse com o una m uestra de predicción del b loque actual. Tam bién es posible que b loques de re ferencia especificados por d iferentes vecto res de m ovim iento pueden inclu irse en la m ism a instantánea de referencia. Por e jem plo, cuando la instantánea de re ferencia se leccionada a partir de lista de instantáneas de re ferencia L0 y la instantánea de re ferencia se leccionada a partir de lista de instantáneas de referencia L1 son la misma, el bloque de referencia especificado por un vector de movimiento L0 y el bloque de referencia especificado por un vector de movimiento L1 puede incluirse en la misma instantánea de referencia.
Como se describe anteriormente, cuando la dirección de inter predicción del bloque actual indica dos o más direcciones, la compensación de movimiento para el bloque actual puede realizarse basándose en dos o más instantáneas de referencia o dos o más bloques de referencia.
Por ejemplo, cuando el bloque actual se codifica con predicción bidireccional, el bloque de predicción del bloque actual puede obtenerse basándose en dos bloques de referencia obtenidos a partir de dos instantáneas de referencia. También, cuando el bloque actual se codifica con predicción bidireccional, un bloque residual que indica la diferencia entre un bloque original y el bloque de predicción obtenido basándose en los dos bloques de referencia pueden codificarse/decodificarse.
Cuando se usan dos o más instantáneas de referencia, la compensación de movimiento para el bloque actual puede realizarse aplicando las mismas o diferentes ponderaciones a las respectivas instantáneas de referencia. En lo sucesivo, se describirá un método de realización de predicción ponderada en el bloque actual en detalle en las siguientes realizaciones cuando la dirección de inter predicción indica dos o más direcciones. Por conveniencia de explicación, se supone que la dirección de inter predicción del bloque actual es bidireccional. Sin embargo, incluso cuando la dirección de inter predicción del bloque actual indica tres o más, la siguiente realización puede aplicarse con aplicación. Además, la compensación de movimiento para el bloque actual usando dos imágenes de predicción se denominará como un método de predicción bidireccional o un método de codificación/decodificación de predicción bidireccional.
Cuando la predicción bidireccional se aplica al bloque actual, instantáneas de referencia usadas para la predicción bidireccional del bloque actual pueden incluir una instantánea cuyo orden temporal (recuento de orden de instantánea, POC) es anterior a la instantánea actual, una instantánea cuyo orden temporal es posterior a la instantánea actual o la instantánea actual. Por ejemplo, una de dos instantáneas de referencia puede ser una instantánea cuyo orden temporal es anterior a la instantánea actual y la otra instantánea puede ser una instantánea cuyo orden temporal es posterior a la instantánea actual. Como alternativa, una de las dos instantáneas de referencia puede ser la instantánea actual y la otra instantánea puede ser una instantánea cuyo orden temporal es anterior al bloque actual o cuyo orden temporal es posterior a la instantánea actual. Como alternativa, ambas dos instantáneas de referencia pueden tener órdenes temporales anteriores a la instantánea actual o pueden tener órdenes temporales posteriores a la instantánea actual. Como alternativa, ambas dos instantáneas de referencia puede ser la instantánea actual.
Pueden generarse dos bloques de predicción a partir de cada una de dos listas de instantáneas de referencia. Por ejemplo, puede generarse un bloque de predicción basándose en la instantánea de referencia L0 basándose en el vector de movimiento L0, y puede generarse un bloque de predicción basándose en la instantánea de referencia L1 basándose en el vector de movimiento L1. También es posible que el bloque de predicción generado por el vector de movimiento L0 y el bloque de predicción generado por el vector de movimiento L1 pueden generarse basándose en la misma instantánea de referencia.
Un bloque de predicción del bloque actual puede obtenerse basándose en un valor medio de los bloques de predicción generados basándose en ambas instantáneas de referencia. Por ejemplo, la Ecuación 1 muestra un ejemplo de obtención del bloque de predicción del bloque actual basándose en el valor medio de una pluralidad de los bloques de predicción.
[Ecuación 1]
Figure imgf000037_0001
En la Ecuación 1, P(x) indica una muestra de predicción final del bloque actual o una muestra de predicción bidireccionalmente predicha y PN(x) indica un valor de muestra de un bloque de predicción LN generado basándose en una instantánea de referencia LN. Por ejemplo, P0(x) puede significar una muestra de predicción del bloque de predicción generado basándose en la instantánea de referencia L0 y P1(x) puede significar una muestra de predicción del bloque de predicción generado basándose en la instantánea de referencia L1. Es decir, de acuerdo con la Ecuación 1, el bloque de predicción final del bloque actual puede obtenerse basándose en la suma ponderada de la pluralidad de los bloques de predicción generados basándose en la pluralidad de las instantáneas de referencia. En este momento, una ponderación de un valor fijo predefinido en el codificador/decodificador puede asignarse a cada bloque de predicción.
De acuerdo con una realización de la presente invención, el bloque de predicción final del bloque actual se obtiene basándose en la suma ponderada de una pluralidad de los bloques de predicción y la ponderación asignada a cada bloque de predicción puede determinarse de forma variable/adaptativa. Por ejemplo, cuando ambas instantáneas de referencia o ambos bloques de predicción tienen brillo diferente, es más efectivo realizar predicción bidireccional para el bloque actual aplicando diferentes ponderaciones a cada uno de los bloques de predicción que para realizar la predicción bidireccional para el bloque actual promediando los bloques de predicción. En lo sucesivo, por conveniencia de explicación, el método de predicción bidireccional cuando la ponderación asignada a cada uno de los bloques de predicción se determina de forma variable/adaptativa se denominará como 'predicción ponderada bidireccional'.
También es posible determinar si se permite o no la predicción ponderada bidireccional para el bloque actual basándose en al menos uno de un tamaño o una forma del bloque actual. Por ejemplo, si la unidad de codificación tiene una forma cuadrada, se permite codificar/decodificar la misma usando la predicción ponderada bidireccional, mientras que si la unidad de codificación tiene una forma no cuadrada, no se permite codificar/decodificar la misma usando la predicción ponderada bidireccional. Al contrario de los casos anteriores, también es posible establecer que se permite codificar/decodificar el bloque de codificación usando la predicción ponderada bidireccional cuando tiene la forma no cuadrada, y no se permite codificar/decodificar el bloque de codificación usando la predicción ponderada bidireccional cuando tiene la forma cuadrada. Como alternativa, también es posible establecer que la predicción ponderada bidireccional no se permite para codificar/decodificar la unidad de predicción cuando la unidad de predicción es una partición no cuadrada que tiene un tamaño de 4x8 u 8x4 o similar.
La Figura 12 es un diagrama de flujo de un método de predicción ponderada bidireccional, de acuerdo con una realización de la presente invención.
Para realizar la predicción ponderada bidireccional, puede determinarse un parámetro de predicción ponderada para el bloque actual S1210. El parámetro de predicción ponderada puede usarse para determinar una ponderación a aplicar a ambas instantáneas de referencia. Por ejemplo, como se representa en la Figura 13, puede aplicarse una ponderación de 1-w a un bloque de predicción generado basándose en una instantánea de referencia L0 y puede aplicarse una ponderación de w a un bloque de predicción generado basándose en una instantánea de referencia L1. Basándose en los parámetros de predicción ponderada, se determina la ponderación a aplicar a cada bloque de predicción S1220 y se realiza una operación de suma ponderada de una pluralidad de los bloques de predicción basándose en la ponderación determinada para generar un bloque predicho final del bloque actual S1230. Por ejemplo, el bloque de predicción final del bloque actual puede generarse basándose en la siguiente ecuación 2.
[Ecuación 2]
Figure imgf000039_0001
En la Ecuación 2, w representa el parámetro de predicción ponderada.
Como se muestra en la Ecuación 2, el bloque de predicción final P(x) del bloque actual puede obtenerse asignando la ponderación de 1-w al bloque de predicción P0 y asignando la ponderación de w al bloque de predicción P1. También es posible asignar la ponderación de w al bloque de predicción P0 y asignar la ponderación de 1-w al bloque de predicción P1, al contrario que lo mostrado en la Ecuación 2.
El parámetro de predicción ponderada puede determinarse basándose en una diferencia de brillo entre las instantáneas de referencia o puede determinarse basándose en una distancia entre la instantánea actual y las instantáneas de referencia (es decir, la diferencia de POC). Como alternativa, también es posible determinar el parámetro de predicción ponderada basándose en el tamaño o la forma del bloque actual.
El parámetro de predicción ponderada puede determinarse en unidades de un bloque (por ejemplo, una unidad de árbol de codificación, una unidad de codificación, una unidad de predicción o una unidad de transformada) o puede determinarse en unidades de un segmento o una instantánea.
En este momento, el parámetro de predicción ponderada puede determinarse basándose en parámetros de predicción ponderada de candidatos predefinidos.
Como un ejemplo, el parámetro de predicción ponderada puede determinarse que sea uno de valores predefinidos como -1/4, 1/4, 3/8, 1/2, 5/8, 3/4 o 5/4.
Como alternativa, después de determinar un conjunto de parámetros de predicción ponderada para el bloque actual, también es posible determinar el parámetro de predicción ponderada a partir de al menos uno de los parámetros de predicción ponderada candidatos incluidos en el conjunto de parámetros de predicción ponderada determinado. El conjunto de parámetro de predicción ponderada puede determinarse en unidades de un bloque (por ejemplo, una unidad de árbol de codificación, una unidad de codificación, una unidad de predicción o una unidad de transformada) o puede determinarse en unidades de un segmento o una instantánea.
Por ejemplo, si se selecciona uno de los conjuntos de parámetros de predicción ponderada w0 y w1, al menos uno de los parámetros de predicción ponderada candidatos incluidos en el conjunto de parámetros de predicción ponderada seleccionado puede determinarse como el parámetro de predicción ponderada para el bloque actual. Por ejemplo, se supone como 'w0 = {-1/4, 1/4, 3/8, 1/2, 5/8, 3/4, 5/4}' y 'w1 = {-3/8, 4, 3/8, 1/2, 5/8, 3/4}'. Cuando se selecciona el conjunto de parámetro de predicción ponderada w0, el parámetro de predicción ponderada w del bloque actual puede determinarse como uno de los parámetros de predicción ponderada candidatos -1/4, 1/4, 3/8, 1/2, 5/8, 3/4 y 5/4 incluidos en el w0.
El conjunto de parámetro de predicción ponderada disponible para el bloque actual puede determinarse de acuerdo con un orden temporal o una dirección temporal de la instantánea de referencia usada para la predicción bidireccional. El orden temporal puede indicar un orden de codificación/decodificación entre instantáneas o puede indicar un orden de salida (por ejemplo, POC) de las instantáneas. Además, la dirección temporal puede indicar si el orden temporal de la instantánea de referencia es anterior a o posterior a la instantánea actual.
Como un ejemplo, dependiendo de si dos instantáneas de referencia usadas para la predicción bidireccional tienen el mismo orden temporal, puede determinarse el conjunto de parámetro de predicción ponderada disponible a la instantánea actual. Por ejemplo, dependiendo de si la instantánea de referencia L0 y la instantánea de referencia L1 son la misma instantánea (es decir, siendo el orden temporal de las instantáneas el mismo) o si la instantánea de referencia L0 y la instantánea de referencia L1 son diferentes entre sí (es decir, siendo los órdenes temporales de las instantáneas diferentes), el conjunto de parámetro de predicción ponderada disponible para el bloque actual puede determinarse de forma variable.
Diferentes conjuntos de parámetros de predicción ponderada pueden significar que al menos uno de un valor absoluto, un signo o un número de parámetros de predicción ponderada incluidos en cada conjunto de parámetros de predicción ponderada son diferentes. Por ejemplo, cuando las direcciones temporales de la instantánea de referencia L0 y la instantánea de referencia L1 son la misma, puede usarse el conjunto de parámetro de predicción ponderada w0 = {-1/4, 1/4, 3/8, 1/2, 5/8, 5/4}, y cuando las direcciones temporales de la instantánea de referencia L0 y la instantánea de referencia L1 son diferentes, puede usarse el conjunto de parámetros de predicción ponderada w1 = {-3/8, -1/4, 1/4, 3/8, 1/2, / 8, 3/4}.
Como un ejemplo, dependiendo de si las direcciones temporales de las dos instantáneas de referencia usadas en la predicción bidireccional son la misma o no, el conjunto de parámetro de predicción ponderada disponible para la instantánea actual puede determinarse. Por ejemplo, el conjunto de parámetro de predicción ponderada disponible para el bloque actual puede determinarse de forma diferente entre cuando las direcciones temporales de las dos instantáneas de referencia son la misma y cuando las direcciones temporales de las dos instantáneas de referencia son diferentes. Específicamente, el parámetro de predicción ponderada del bloque actual puede determinarse de forma diferente de acuerdo con si tanto la instantánea de referencia L0 como la instantánea de referencia L1 son o no anteriores a la instantánea actual, si tanto la instantánea de referencia L0 como la instantánea de referencia L1 son o no posteriores a la instantánea actual o si las direcciones temporales de la instantánea de referencia L0 y la instantánea de referencia L1 son o no diferentes.
El número de parámetros de predicción ponderada candidatos disponibles o el número de conjuntos de parámetros de predicción ponderada disponibles puede establecerse de forma diferente para cada bloque, cada segmento o cada instantánea. Por ejemplo, el número de parámetros de predicción ponderada candidatos disponibles o el número de conjuntos de parámetros de predicción ponderada disponible puede señalizarse en unidades de un segmento. Por consiguiente, el número de parámetros de predicción ponderada candidatos disponibles o el número de conjuntos de parámetros de predicción ponderada disponible puede ser diferente para cada segmento.
El parámetro de predicción ponderada puede obtenerse a partir de un bloque vecino adyacente al bloque actual. En este documento, el bloque vecino adyacente al bloque actual puede incluir al menos uno de un bloque vecino espacial o un bloque vecino temporal del bloque actual.
Como un ejemplo, el parámetro de predicción ponderada del bloque actual puede establecerse a un valor mínimo o un valor máximo entre parámetros de predicción ponderada de bloques vecinos adyacentes al bloque actual o puede establecerse a un valor medio de parámetros de predicción ponderada de bloques vecinos.
Como un ejemplo, el parámetro de predicción ponderada del bloque actual puede obtenerse a partir de un bloque vecino ubicado en una posición predeterminada entre bloques vecinos adyacentes al bloque actual. En este documento, la posición determinada puede determinarse de forma variable o fija. Específicamente, la posición del bloque vecino se determina mediante un tamaño del bloque actual (por ejemplo, una unidad de codificación, una unidad de predicción o una unidad de transformada), una posición del bloque actual en la unidad de árbol de codificación, una forma del bloque actual (por ejemplo, un tipo de partición del bloque actual) o un índice de partición del bloque actual. Como alternativa, la posición del bloque vecino puede predefinirse en el codificador/decodificador y determinarse de forma fija.
Como un ejemplo, el parámetro de predicción ponderada del bloque actual puede obtenerse a partir de un bloque vecino al que se aplica la predicción ponderada bidireccional entre bloques vecinos adyacentes al bloque actual. Específicamente, el parámetro de predicción ponderada del bloque actual puede obtenerse a partir de un parámetro de predicción ponderada de un primer bloque vecino detectado al que se aplica la predicción ponderada bidireccional cuando los bloques vecinos adyacentes al bloque actual se explora en un orden predeterminado. La Figura 14 es un diagrama que ilustra un orden de exploración entre bloques vecinos. En la Figura 14, se realiza la exploración en el orden de un bloque vecino izquierdo, un bloque vecino superior, un bloque vecino superior derecho, un bloque vecino inferior izquierdo y un bloque vecino superior izquierdo, pero la presente invención no se limita al ejemplo ilustrado. Cuando se realiza la exploración siguiendo el orden predefinido, el parámetro de predicción ponderada del primer bloque vecino detectado al que la predicción ponderada bidireccional puede usarse como el parámetro de predicción ponderada del bloque actual.
Como alternativa, cuando se realiza la exploración siguiendo el orden predefinido, también es posible establecer el parámetro de predicción ponderada del primer bloque vecino detectado al que se aplica la predicción bidireccional ponderada como el valor de predicción de parámetro de predicción ponderada del bloque actual. En este caso, el parámetro de predicción ponderada del bloque actual puede obtenerse usando el valor de predicción de parámetro de predicción ponderada y el valor residual de parámetro de predicción ponderada.
Como un ejemplo, también es posible obtener el parámetro de predicción ponderada del bloque actual a partir de un bloque vecino espacial o temporal fusionado con información de movimiento del bloque actual o a partir de un bloque vecino espacial o temporal usado para obtener una predicción de valor de vector de movimiento del bloque actual.
También es posible señalizar información para determinar el parámetro de predicción ponderada a través de un flujo de bits. Por ejemplo, el parámetro de predicción ponderada del bloque actual puede determinarse basándose en al menos una de información que indica un valor del parámetro de predicción ponderada, información de índice que especifica uno de los parámetros de predicción ponderada candidatos o información de índice de conjunto que especifica uno de los conjuntos de parámetros de predicción ponderada.
En parámetros de predicción ponderada de conversión a binario y codificación, la palabra de código binaria más pequeña puede correlacionarse con un parámetro de predicción ponderada que tiene la mayor frecuencia de uso estadísticamente. Por ejemplo, conversión a binario unaria truncada puede realizarse en el parámetro de predicción ponderada como se muestra en la Tabla 1 a continuación. La Tabla 1 es un ejemplo en caso de cMax es 6.
[Tabla 1]
Figure imgf000043_0001
Figure imgf000044_0001
El m étodo de conversión a b inario unaria truncada m ostrado en la Tabla 1 es básicam ente el m ism o que un m étodo de conversión a b inario unaria excepto que se realiza una conversión después de rec ib ir el va lo r m áxim o (cM ax) de la entrada por ade lantado. La Tabla 2 m uestra la conversión a b inario unaria truncada con cM ax de 13.
[Tabla 2]
Figure imgf000044_0002
Durante la conversión a b inario de parám etro de predicción ponderada, tam bién es posib le usar d iferentes palabras de código b inarias depend iendo de si las d irecciones tem pora les de las instantáneas de re ferencia usadas para la predicción b id ireccional son o no las m ism as. Por e jem plo, la Tabla 3 ilustra palabras de código b inarias de acuerdo con si las d irecciones tem pora les de la instantánea de re ferencia L0 y la instantánea de re ferencia L1 son o no la m ism a.
[Tabla 3]
Figure imgf000044_0003
Figure imgf000045_0001
Tam bién es posible dete rm inar el parám etro de predicción de ponderación del b loque actual de acuerdo con una d ife rencia de orden tem pora l entre la instantánea actual y la instantánea de re ferencia . Aquí, la d iferencia de orden tem pora l puede ind icar d iferencia de orden de codificación /decodificación entre instantáneas o d iferencia de orden de salida entre instantáneas (por e jem plo, un va lo r de d iferencia de P0C). Por e jem plo, el parám etro de predicción ponderada de la instantánea actual puede dete rm inarse basándose en al m enos una de la d iferencia de va lo r P0C entre la instantánea actual y la instantánea de re ferencia L0 (en lo sucesivo denom inada com o una prim era d istancia de re ferencia ) y la d iferencia de va lo r P0C entre la instantánea actual y la instantánea de re ferencia L1 (en lo sucesivo denom inada com o una segunda distancia de referencia).
Específicam ente, el parám etro de predicción ponderada del b loque actual puede dete rm inarse basándose en una re lación entre la prim era d istancia de re ferencia y la segunda distancia de re ferencia . Cuando la prim era d istancia de re ferencia es w y la segunda d istancia de re ferencia es h, w /(w h) puede usarse com o el parám etro de predicción ponderada del b loque actual. Por e jem plo, cuando la prim era d istancia de re ferencia y la segunda distancia de re ferencia son la m ism a, el parám etro de predicción ponderada del b loque actual puede dete rm inarse com o 1/2. A dem ás, cuando la prim era d istancia de re ferencia es 1 y la segunda d istancia de re ferencia es 3, el parám etro de predicción ponderada del b loque actual puede dete rm inarse com o 1/4.
C om o a lternativa, cuando la prim era d istancia de re ferencia es w y la segunda distancia de re ferencia es h, tam bién es posib le usar un parám etro de predicción ponderada cand ida to que tiene un va lo r más s im ila r a w /(w h) entre parám etros de predicción ponderada cand idatos com o el parám etro de predicción ponderada del b loque actual.
C om o a lternativa, tam bién es posib le conve rtir a b inario el parám etro de predicción ponderada del b loque actual ten iendo en cuenta la prim era d istancia de re ferencia y la segunda distancia de re ferencia . La Tabla 4 m uestra pa labras de código b inarias basándose en la prim era d istancia de re ferencia y la segunda distancia de referencia.
[Tabla 4]
Figure imgf000046_0001
En el e jem plo m ostrado en la Tabla 4, cuando la prim era d istancia de re ferencia y la segunda distancia de re ferencia son la m ism a, la probabilidad de que el parám etro de predicción ponderada se establecerá a 1/2 es alta. Como resultado, la palabra código más pequeña puede asignarse a 1/2 cuando la primera distancia de referencia y la segunda distancia de referencia son la misma.
Cuando la primera distancia de referencia y la segunda distancia de referencia son diferentes, la palabra de código binaria más pequeña puede correlacionarse con el parámetro de predicción ponderada que es estadísticamente el más frecuentemente usado. Por ejemplo, cuando la primera distancia de referencia es mayor que la segunda distancia de referencia, la probabilidad de que una mayor ponderación se asignará a la instantánea de referencia L1 es alta. Por consiguiente, la palabra de código binaria más pequeña puede correlacionarse con el parámetro de predicción ponderada mayor de 1/2. Por otra parte, cuando la primera distancia de referencia es menor que la segunda distancia de referencia, la probabilidad de que una mayor ponderación se asignará a la instantánea de referencia L0 es alta. Por consiguiente, la palabra de código binaria más pequeña puede correlacionarse con el parámetro de predicción ponderada más pequeño que 1/2.
Al contrario que el ejemplo mostrado en la Tabla 4, también es posible correlacionar la palabra de código binaria más pequeña con el parámetro de predicción ponderada más pequeño que 1/2 cuando la primera distancia de referencia es mayor que la segunda distancia de referencia, y correlacionar la palabra de código binaria más pequeña con el parámetro de predicción ponderada mayor de 1/2 cuando la primera distancia de referencia es menor que la segunda distancia de referencia.
También es posible realizar predicción en un bloque actual combinando dos o más modos de predicción. Modo de predicción combinado puede ser una combinación de un modo de inter predicción y un modo de intra predicción o una combinación de dos o más métodos inter predicción. En este documento, los métodos inter predicción pueden incluir al menos uno de un modo de salto, un modo de fusión, un modo AMVP o un modo de referencia de instantánea actual. El modo de referencia de instantánea actual representa un método de inter predicción usando una instantánea actual que incluye el bloque actual como una instantánea de referencia. Cuando se usa el modo de referencia de instantánea actual, puede obtenerse un bloque de predicción del bloque actual a partir de un área reconstruida anterior al bloque actual. También es posible clasificar el modo de referencia de instantánea actual como uno de los modos de intra predicción en lugar del modo de inter predicción. Como alternativa, el modo de referencia de instantánea actual puede entenderse para ser una realización de un modo de salto, un modo de fusión, o un modo AMVP. Como alternativa, también es posible construir el modo de predicción combinado con dos o más modos de intra predicción (por ejemplo, un modo de predicción direccional y un modo de predicción no direccional o dos o más modos de predicción direccionales, etc.).
En lo sucesivo, se describirá en detalle un método de realización de predicción en el bloque actual combinando dos o más modos de predicción.
La Figura 15 es un diagrama de flujo que ilustra un método de predicción combinada de acuerdo con la presente invención.
Primero, basándose en un primer modo de predicción, puede generarse un primer bloque de predicción para un bloque actual S1510. A continuación, basándose en un segundo modo de predicción, puede generarse un segundo bloque de predicción para el bloque actual S1520. El primer modo de predicción y el segundo modo de predicción pueden ser diferentes modos de predicción. Uno cualquiera del primer bloque de predicción o el segundo bloque de predicción puede generarse mediante la predicción multidireccional.
Puede determinarse un parámetro de predicción ponderada para el bloque actual S1530. Ya que la realización para determinar el parámetro de predicción ponderada se ha descrito en detalle con referencia a la Figura 12, se omitirá una descripción detallada de la misma en la presente realización.
Ponderaciones a aplicar al primer bloque de predicción y el segundo bloque de predicción se determinan basándose en el parámetro de predicción ponderada S1540. Y, puede generarse un bloque de predicción final del bloque actual realizando una operación de suma ponderada de una pluralidad de bloques de predicción basándose en las ponderaciones determinadas S1550.
Las Figuras 16 y 17 son diagramas que ilustran un ejemplo de generación de un bloque de predicción de un bloque actual, basándose en una suma ponderada de una pluralidad de bloques de predicción obtenidos por diferentes modos de predicción.
Haciendo referencia a la Figura 16, puede generarse un bloque de predicción P0 basándose en una instantánea de referencia L0 o una instantánea de referencia L1 (Ínter predicción) y puede generarse un bloque de predicción P1 basándose en muestras vecinas codificadas/decodificadas anteriores al bloque actual (intra predicción). En este caso, puede generarse un bloque de predicción del bloque actual basándose en la operación de suma ponderada del bloque de predicción P0 y el bloque de predicción P1.
Haciendo referencia a la Figura 17, puede generarse un bloque de predicción P0 basándose en una instantánea de referencia L0 o una instantánea de referencia L1 y puede generarse un bloque de predicción P1 basándose en la instantánea actual en el modo de referencia de instantánea actual. En este caso, puede generarse un bloque de predicción del bloque actual basándose en la operación de suma ponderada del bloque de predicción P0 y el bloque de predicción P1.
Puede determinarse basándose en información señalizada a través de un flujo de bits si usar o no el método de predicción combinada que combina dos o más modos de predicción. Por ejemplo, información que indica al menos uno de un modo de intra predicción, un modo de inter predicción o un modo de predicción combinado puede señalizarse a través del flujo de bits. También es posible restringir el uso del modo de predicción combinado dependiendo de un tamaño o una forma de un bloque. Por ejemplo, si el tamaño del bloque actual es igual a o menor que 8x8, o si el bloque actual tiene una forma no cuadrada, el uso del modo de predicción combinado puede restringirse.
Un modo de predicción del bloque actual puede determinarse en unidades de un subbloque. Por ejemplo, cuando el bloque actual se divide en N particiones, el modo de predicción puede determinarse individualmente para cada una de las N particiones. El tipo de partición del bloque actual puede ser simétrico o asimétrico. Por consiguiente, los subbloques pueden tener una forma cuadrada o una forma no cuadrada. Puede determinarse si usar un único modo de predicción o el modo de predicción combinado en unidades de un subbloque.
En este momento, el modo de predicción para cada subbloque puede determinarse teniendo en cuenta una distancia desde una muestra de referencia. Por ejemplo, cuando el bloque actual se codifica con el modo de intra predicción, una correlación con la muestra de referencia se vuelve más pequeña a medida que la distancia desde la muestra de referencia se aumenta. Por consiguiente, puede considerarse que una correlación entre una muestra en el bloque actual que está lejos de la muestra de referencia (por ejemplo, una muestra incluida en una columna derecha o una fila inferior del bloque actual) y la muestra de referencia es pequeña. Por lo tanto, un subbloque adyacente a la muestra de referencia (por ejemplo, una muestra de referencia superior o una muestra de referencia izquierda) puede codificarse/decodificarse mediante intra predicción, y un subbloque lejos de la muestra de referencia puede codificarse/decodificarse mediante el método de predicción combinada que combina intra predicción y inter predicción.
Como en el ejemplo mostrado en la Figura 18, puede generarse un bloque de predicción de subbloque 0 basándose en el modo de intra predicción. Por otra parte, puede generarse un bloque de predicción de subbloque 1 basándose en la operación de suma ponderada del primer bloque de predicción generado basándose en el modo de intra predicción y el segundo bloque de predicción generado por el modo de inter predicción.
Incluso si un bloque actual es similar a un bloque de referencia en una instantánea de referencia, si existe un cambio en brillo entre una instantánea actual y una instantánea anterior, la eficiencia de intra predicción o inter predicción puede disminuirse. Por consiguiente, es posible considerar compensación de iluminación para compensar una muestra de predicción generada a través de la intra predicción o la inter predicción o una muestra de reconstrucción reconstruida basándose en la muestra de predicción para el cambio en brillo entre la instantánea actual y la instantánea de referencia. La compensación de iluminación puede realizarse aplicando una ponderación de compensación de iluminación y un desplazamiento a una imagen que se codifica/decodifica en la intra predicción o la inter predicción. Por ejemplo, la predicción de compensación de iluminación puede realizarse basándose en la Ecuación 3 a continuación.
[Ecuación 3]
p' = l x p f
En la Ecuación 3, p puede indicar la muestra predicha codificada/decodificada por la intra predicción o la inter predicción. l indica la ponderación de compensación de iluminación y f indica el desplazamiento. p' puede indicar una muestra de predicción ponderada a la que se aplica la compensación de iluminación.
Tam bién es posib le ap lica r la com pensación de ilum inación a la m uestra reconstru ida obtenida basándose en la m uestra de predicción cod ificada /decod ificada en la intra predicción o la in ter pred icción. Específicam ente , la com pensación de ilum inación puede aplicarse a la m uestra reconstru ida antes de que se aplique un filtro en bucle, o a la m uestra reconstru ida después de que se ap lique el filtro en bucle. En este caso, en la Ecuación 3, p puede ind icar la m uestra reconstru ida y p' puede ind icar una m uestra de reconstrucción ponderada a la que se aplica la com pensación de ilum inación.
Un cam bio de ilum inación puede producirse a través de toda el área de una instantánea actual o un segm ento actual cuando se com para con una instantánea ante rio r o un segm ento anterior. Por consigu iente, la com pensación de ilum inación puede rea lizarse en unidades de una secuencia, una instantánea o un segm ento.
C om o a lternativa, el cam bio de ilum inación puede producirse ún icam ente en un área parcial dentro de un segm ento o una secuencia cuando se com para con un segm ento an te rio r o una secuencia anterior. Por consigu iente, la com pensación de ilum inación puede rea lizarse en unidades de un área predeterm inada en una instantánea o un segm ento. Es decir, dete rm inando si rea liza r o no la com pensación de ilum inación en unidades de un área predeterm inada, es posible rea liza r la com pensación de ilum inación ún icam ente en un área parcial, en la que se produce el cam bio de ilum inación, en una instantánea o en un segm ento.
Cuando la com pensación de ilum inación se realiza ún icam ente para el área predeterm inada dentro de una instantánea o un segm ento, puede cod ificarse /decod ifica rse in form ación para dete rm inar un área donde se realiza la com pensación de ilum inación. Por e jem plo, in form ación que ind ica una posic ión del área donde se realiza la com pensación de ilum inación, un tam año del área donde se realiza la com pensación de ilum inación o una form a del área en la que se realiza la com pensación de ilum inación puede codificarse/decod ificarse.
C om o a lternativa, tam bién es posib le cod ifica r/decod ifica r in form ación que indica si se realiza o no la com pensación de ilum inación en unidades de un b loque. La in form ación puede se r una bandera de 1 bit, pero no se lim ita a la m ism a. Por e jem plo, puede dete rm inarse si rea liza r o no la com pensación de ilum inación en unidades de una unidad de árbol de codificación, una unidad de codificación, una unidad de predicción o una unidad de transfo rm ada. Por consigu iente, la in form ación que indica si rea liza r la com pensación de ilum inación puede dete rm inarse en unidades de una unidad de árbol de codificación, una unidad de codificación, una unidad de predicción o una unidad de transform ada.
Tam bién es posib le de te rm inar el área, en la que se realiza la com pensación de ilum inación, en una instantánea o un segm ento, y a continuación de te rm inar si rea liza r la com pensación de ilum inación para cada uno de los b loques inclu idos en el área. Por e jem plo, cuando el área p redeterm inada incluye una p luralidad de unidades de árbol de codificación, una p luralidad de unidades de codificación, una plura lidad de un idades de predicción o una p lura lidad de unidades de transform ada, puede seña lizarse in form ación que indica si rea liza r o no la com pensación de ilum inación para cada b loque inclu ido en el área predeterm inada. Por consigu iente, la com pensación de ilum inación puede rea lizarse de form a se lectiva para cada uno de los b loques inclu idos en unidades de para rea liza r la com pensación de ilum inación.
Basándose en la an te rio r descripción, se describ irá en detalle el m étodo de predicción de com pensación de ilum inación de acuerdo con la presente invención.
La Figura 19 es un d iagram a de flu jo de un m étodo de predicción de com pensación de ilum inación de acuerdo con la presente invención.
Primero, puede dete rm inarse un parám etro de com pensación de ilum inación para un b loque actual S1910. El parám etro de com pensación de ilum inación puede inclu ir al m enos una de una ponderación de com pensación de ilum inación o un desp lazam iento .
El parám etro de com pensación de ilum inación puede seña lizarse a través de un flu jo de bits en unidades de una secuencia, una instantánea, un segm ento o un b loque de codificación /decodificación . En este docum ento, la unidad de el b loque de cod ificación /decod ificación puede rep resen tar al m enos una de una unidad de árbol de codificación, una unidad de codificación, una unidad de predicción o una unidad de transform ada.
C om o a lternativa, tam bién es posib le seña liza r el parám etro de com pensación de ilum inación para cada área predeterm inada en la que se realiza com pensación de iluminación. Por ejemplo, el parámetro de compensación de iluminación puede señalizarse para un área predeterminada que incluye una pluralidad de bloques. La pluralidad de bloques incluidos en el área predeterminada pueden usar el mismo parámetro de compensación de iluminación.
El parámetro de compensación de iluminación puede señalizarse independientemente de un modo de codificación del bloque actual. Como alternativa, puede determinarse si señalizar o no el parámetro de compensación de iluminación de acuerdo con el modo de codificación del bloque actual. Por ejemplo, el parámetro de compensación de iluminación puede señalizarse únicamente cuando el modo de codificación del bloque actual tiene un modo predefinido. En este documento, el modo de codificación puede indicar si el bloque actual se codifica en intra predicción (es decir, modo de intra predicción) o si el bloque actual se codifica en inter predicción (es decir, modo de inter predicción). Por ejemplo, el parámetro de compensación de iluminación puede señalizarse únicamente cuando el bloque actual se codifica con inter predicción. Como alternativa, también es posible que el modo de codificación pueda indicar uno de un modo de salto, un modo de fusión, un modo AMVP o un modo de referencia de instantánea actual, que son métodos inter predicción del bloque actual.
Como un ejemplo, cuando el bloque actual se codifica con el modo de salto o el modo de referencia de instantánea actual, el parámetro de compensación de iluminación puede no señalizarse. Por otra parte, cuando el bloque actual se codifica con el bloque de fusión o el modo AMVP, el parámetro de compensación de iluminación puede señalizarse a través del flujo de bits. Si el parámetro de compensación de iluminación no se señaliza, la compensación de iluminación para el bloque actual puede no realizarse. Como alternativa, si el parámetro de compensación de iluminación no se señaliza, la compensación de iluminación del bloque actual puede realizarse usando el parámetro de compensación de iluminación predefinido en el codificador/decodificador.
El parámetro de compensación de iluminación puede obtenerse basándose en un cambio de iluminación entre una primera área de plantilla en la instantánea actual y una segunda área de plantilla en la instantánea de referencia. La primera área de plantilla puede estar adyacente al bloque actual y la segunda área de plantilla puede estar adyacente a un bloque de referencia. En este documento, el bloque de referencia se usa para generar el bloque de predicción del bloque actual y puede especificarse mediante un vector de movimiento del bloque actual. Como alternativa, la segunda área de plantilla puede tener una posición coubicada con la primera área de plantilla en la instantánea de referencia. La posición de la segunda área de plantilla puede determinarse de forma variable de acuerdo con la instantánea de referencia o modo de codificación del bloque actual.
Cuando se incluye una muestra no disponible en la segunda área de plantilla, puede asignarse un valor de sustitución a la muestra no disponible usando una muestra disponible. Por ejemplo, la muestra disponible puede copiarse a una posición de la muestra no disponible, o un valor interpolado calculado usando una pluralidad de muestras disponible puede asignarse a la posición de la muestra no disponible. La muestra disponible puede incluirse en la segunda región de plantilla o puede ubicarse fuera de la segunda región de plantilla. Por ejemplo, el valor de sustitución de la muestra no disponible incluida en la segunda área de plantilla puede calcularse basándose en la muestra disponible incluida en el bloque de referencia. Al menos uno de un coeficiente de filtro, una forma o el número de derivaciones filtro de un filtro usado en la interpolación puede determinarse de forma variable basándose en al menos uno de un tamaño o una forma de la región de plantilla.
El parámetro de compensación de iluminación puede calcularse basándose en un valor de diferencia entre muestras incluidas en la primera región de plantilla y muestras incluidas en la segunda región de plantilla. Por ejemplo, cuando una muestra vecina del bloque actual se supone como yi (i es 0 a N-1) y una muestra vecina del bloque de referencia se supone como xi (i es 0 a N-1), la ponderación de compensación de iluminación l y el desplazamiento f pueden obtenerse calculando el valor mínimo de E (w, f) en la Ecuación 4.
[Ecuación 4]
Figure imgf000054_0001
La Ecuación 4 puede modificarse como la siguiente la Ecuación 5.
[Ecuación 5]
Figure imgf000055_0001
A partir de la Ecuación 5, puede obtenerse la Ecuación 6 para obtener la ponderación de compensación de iluminación l y la Ecuación 7 para obtener el desplazamiento f.
[Ecuación 6]
Figure imgf000055_0002
[Ecuación 7]
Figure imgf000055_0003
Si se determina el parámetro de compensación de iluminación, puede realizarse la compensación de iluminación para el bloque actual usando el parámetro de compensación de iluminación determinado S1920. La compensación de iluminación puede realizarse aplicando la ponderación de compensación de iluminación y el desplazamiento a un bloque (por ejemplo, un bloque de predicción o un bloque de reconstrucción) que se codifica/decodifica en la intra predicción o la inter predicción.
Cuando la dirección de inter predicción del bloque actual indica una pluralidad de direcciones, puede realizarse compensación en al menos una de una pluralidad de bloques de predicción y puede realizarse una predicción multidireccional en el bloque actual basándose en el bloque de predicción al que se aplica la compensación de iluminación. Por ejemplo, si la predicción ponderada bidireccional se aplica al bloque actual, la compensación de iluminación puede realizarse en al menos uno de un primer bloque de predicción y un segundo bloque de predicción, y a continuación, puede generarse un bloque predicho final o un bloque predicho bidireccionalmente del bloque actual basándose en la operación de suma ponderada entre el primer bloque de predicción y el segundo bloque de predicción. La Figura 20 es un diagrama de flujo de un método de predicción ponderada bidireccional basándose en compensación de iluminación.
Haciendo referencia a la Figura 20, primero, puede determinarse si se realiza o no la compensación de iluminación en una instantánea de referencia S2010. Si se realiza o no la compensación de iluminación en la instantánea de referencia puede determinarse basándose en información señalizada a través de un flujo de bits. La información puede ser una bandera de 1 bit, pero no se milita a la misma. Por ejemplo, pred_ic_comp_flag puede indicar si se realiza o no la compensación de iluminación en la instantánea de referencia.
Si se determina que la compensación de iluminación tiene que realizarse en un bloque de referencia, puede determinarse la instantánea de referencia a la que tiene que realizarse la compensación de iluminación S2020. Específicamente, cuando se determina que la compensación de iluminación se realiza en el bloque de referencia, es posible determinar si realizar la compensación de iluminación en una instantánea de referencia L0 o realizar la compensación de iluminación en una instantánea de referencia L1. La determinación puede realizarse basándose en información señalizada a través del flujo de bits. La información puede especificar una cualquiera de las instantáneas de referencia. Como alternativa, la información puede ser una pluralidad de banderas de 1 bit que indican si se realiza o no la compensación de iluminación en cada instantánea de referencia. Por ejemplo, puede señalizarse a través del flujo de bits al menos una de pred_ic_comp_l0_enalbed_flag que indica si la compensación de iluminación se realiza para la instantánea de referencia L0 o pred_ic_comp_l1_enalged_flag que indica si la compensación de iluminación se realiza en la instantánea de referencia L1.
Si se determina la instantánea de referencia en la que se realizará la compensación de iluminación, puede determinarse un parámetro de compensación de iluminación a aplicar a la instantánea de referencia S2030. Ya que la determinación del parámetro de compensación de iluminación se ha descrito en detalle con referencia a la Figura 19, se omitirá una descripción detallada de la misma en esta realización.
Basándose en el parámetro de compensación de iluminación determinado, la compensación de iluminación puede realizarse en un bloque de predicción generado basándose en la instantánea de referencia en la que tiene que realizarse la compensación de iluminación S2040. A continuación, la predicción ponderada bidireccional para el bloque actual puede realizarse usando el bloque de predicción compensado por iluminación S2050.
La Figura 21 es un diagrama que ilustra un ejemplo de realización de predicción ponderada bidireccional usando un bloque de predicción al que se aplica compensación de iluminación. En la Figura 21, se ilustra que la compensación de iluminación tiene que realizarse en un bloque de predicción generado basándose en una instantánea de referencia L1. Por consiguiente, la predicción ponderada bidireccional para el bloque actual puede realizarse basándose en suma ponderada de un bloque de predicción P0 generado basándose en una instantánea de referencia L0 y el bloque de predicción compensado por iluminación (l*P1+f) generado basándose en la instantánea de referencia L1.
También es posible realizar la predicción ponderada bidireccional para el bloque actual basándose en una ponderación de compensación de iluminación usada para la compensación de iluminación.
Como un ejemplo, basándose en la ponderación de compensación de iluminación, un parámetro de predicción ponderada del bloque actual puede obtenerse para realizar la predicción ponderada bidireccional en el bloque actual. En este momento, el parámetro de predicción ponderada w del bloque actual puede establecerse al mismo valor que la ponderación de compensación de iluminación l, o puede establecerse a (1-l). Por ejemplo, cuando la compensación de iluminación basándose en la ponderación de compensación de iluminación l se aplica al bloque de predicción generado basándose en la instantánea de referencia L0, la predicción ponderada bidireccional para el bloque actual puede calcularse basándose en la siguiente ecuación 8.
[Ecuación 8]
Figure imgf000057_0001
Como un ejemplo, también es posible realizar la predicción ponderada bidireccional del bloque actual aplicando una ponderación determinada por el parámetro de predicción ponderada a uno de la pluralidad de bloques de predicción y aplicando la ponderación de compensación de iluminación al otro. Por ejemplo, la predicción ponderada bidireccional para el bloque actual puede calcularse basándose en la Ecuación 9 a continuación.
[Ecuación 9]
Figure imgf000058_0001
A unque las rea lizaciones ante rio rm ente descritas se han descrito basándose en una serie de e tapas o d iagram as de flu jo , no lim itan el orden de serie de tiem po de la invención, y pueden rea lizarse s im u ltáneam ente o en d iferentes órdenes según sea necesario . Adem ás, cada uno de los com ponentes (por e jem plo, unidades, m ódulos, e tc.) que constituye el d iagram a de bloques en las rea lizaciones ante rio rm ente descritas puede im plem entarse por un d ispositivo de hardw are o softw are y una p luralidad de com ponentes. 0 puede com binarse e im plem entarse una p luralidad de com ponentes m ediante un único d ispositivo de hardw are o software. Las rea lizaciones ante rio rm ente descritas pueden im p lem entarse en form a de instrucciones de program a que pueden e jecutarse a través de d iversos com ponentes in form áticos y g rabarse en un m edio de grabación legible por o rdenador. El m edio de g rabación leg ib le por o rdenador puede inc lu ir uno de o una com binación de órdenes de program a, arch ivos de datos, estructuras de datos y s im ilares. Los e jem plos de m edios leg ib les por o rdenador incluyen m edios m agnéticos ta les com o d iscos duros, d iscos flex ib les y cinta m agnética, m edios de g rabación ópticos ta les com o CD -R 0 M y DVD, m edios m agneto-óp ticos ta les com o d iscos flex ib les ópticos, m edios y d ispositivos de hardw are específicam ente configurados para a lm acenar y e jecu ta r instrucciones de program a ta les com o R0M, RAM, m em oria flash y s im ilares. El d ispositivo de hardw are puede configurarse para opera r com o uno o más m ódulos de softw are para rea liza r el p roceso de acuerdo con la presente invención y viceversa.
Aplicabilidad industrial
La presente invención puede aplicarse a d ispositivos e lectrón icos que son capaces de cod ificar/decod ifica r un video.

Claims (8)

REIVINDICACIONES
1. Un método para decodificar una señal de video, comprendiendo el método:
obtener un primer vector de movimiento de un bloque actual, obteniéndose el primer vector de movimiento sumando un primer valor de diferencia de vector de movimiento y un primer valor de predicción de vector de movimiento;
obtener un segundo vector de movimiento del bloque actual, obteniéndose el segundo vector de movimiento sumando un segundo valor de diferencia de vector de movimiento y un segundo valor de predicción de vector de movimiento;
generar una primera muestra de predicción para el bloque actual utilizando el primer vector de movimiento y una primera imagen de referencia del bloque actual;
generar una segunda muestra de predicción para el bloque actual utilizando el segundo vector de movimiento y una segunda imagen de referencia del bloque actual;
determinar una primera ponderación y una segunda ponderación basándose en información de índice analizada a partir de un flujo de bits;
obtener una tercera muestra de predicción del bloque actual aplicando la primera ponderación a la primera muestra de predicción y la segunda ponderación a la segunda muestra de predicción; y
obtener una muestra de reconstrucción agregando la tercera muestra de predicción y una muestra residual,
donde la información de índice especifica uno entre una pluralidad de candidatos a parámetros de predicción de ponderación, y
donde una longitud de bits máxima de la información de índice se determina basándose en direcciones temporales de la primera imagen de referencia y la segunda imagen de referencia.
2. El método de la reivindicación 1, donde la segunda ponderación se determina como el mismo que uno de los candidatos de parámetro de predicción de ponderación especificados por la información del índice, y la primera ponderación se deriva restando la segunda ponderación de un valor constante.
3. El método de la reivindicación 1, donde la longitud de bits máxima de la información de índice se determina en base a sí o no tanto si la primera imagen de referencia como la segunda imagen de referencia son anteriores o posteriores a una imagen actual.
4. El método de la reivindicación 3, donde la longitud de bits máxima de la información de índice es diferente cuando tanto la primera imagen de referencia como la segunda imagen de referencia son anteriores o posteriores a la imagen actual y cuando una de la primera imagen de referencia y la segunda imagen de referencia es anterior a la imagen actual mientras que la otra es posterior a la imagen actual.
5. Un método para codificar una señal de video, comprendiendo el método:
obtener un primer vector de movimiento de un bloque actual, un primer valor de diferencia de vector de movimiento que especifica una diferencia entre el primer vector de movimiento y un primer valor de predicción del vector de movimiento que se codifica en un flujo de bits;
obtener un segundo vector de movimiento del bloque actual, un segundo valor de diferencia de vector de movimiento que especifica una diferencia entre el segundo vector de movimiento y un segundo valor de predicción del vector de movimiento que se codifica en el flujo de bits;
generar una primera muestra de predicción para el bloque actual utilizando el primer vector de movimiento y una primera imagen de referencia del bloque actual;
generar una segunda muestra de predicción para el bloque actual utilizando el segundo vector de movimiento y una segunda imagen de referencia del bloque actual;
determinar una primera ponderación y una segunda ponderación, en donde información de índice para determinar la primera ponderación y la segunda ponderación es codificada en el flujo de bits;
obtener una tercera muestra de predicción del bloque actual aplicando la primera ponderación a la primera muestra de predicción y la segunda ponderación a la segunda muestra de predicción; y
obtener una muestra residual restando la tercera muestra de predicción de una muestra original,
donde una longitud de bits máxima de la información de índice se determina basándose en direcciones temporales de la primera imagen de referencia y de la segunda imagen de referencia.
6. El método de la reivindicación 5, donde se determina que la segunda ponderación es la misma que uno de los candidatos de parámetro de predicción de ponderación especificados por la información del índice, y
donde la primera ponderación se obtiene restando la segunda ponderación de un valor constante.
7. El método de la reivindicación 5, donde la longitud de bits máxima de la información de índice se determina en base a sí o no tanto si la primera imagen de referencia como la segunda imagen de referencia son anteriores o posteriores a una imagen actual.
8. El método de la reivindicación 7, en el que la longitud de bits máxima de la información de índice es diferente cuando tanto la primera imagen de referencia como la segunda imagen de referencia son anteriores o posteriores a la imagen actual y cuando una de la primera imagen de referencia y la segunda imagen de referencia es anterior a la imagen actual mientras que la otra es posterior a la imagen actual.
ES202031254A 2016-07-05 2017-06-30 Metodo y aparato para procesar senal de video Active ES2802817B2 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20160085015 2016-07-05

Publications (3)

Publication Number Publication Date
ES2802817A2 ES2802817A2 (es) 2021-01-21
ES2802817R1 ES2802817R1 (es) 2022-04-11
ES2802817B2 true ES2802817B2 (es) 2023-06-22

Family

ID=60912201

Family Applications (3)

Application Number Title Priority Date Filing Date
ES202031254A Active ES2802817B2 (es) 2016-07-05 2017-06-30 Metodo y aparato para procesar senal de video
ES201931079A Active ES2737874B2 (es) 2016-07-05 2017-06-30 Metodo y aparato para procesar senal de video
ES201990001A Active ES2699748B2 (es) 2016-07-05 2017-06-30 Metodo y aparato para procesar senal de video

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES201931079A Active ES2737874B2 (es) 2016-07-05 2017-06-30 Metodo y aparato para procesar senal de video
ES201990001A Active ES2699748B2 (es) 2016-07-05 2017-06-30 Metodo y aparato para procesar senal de video

Country Status (6)

Country Link
US (2) US11876999B2 (es)
EP (2) EP3985967A1 (es)
KR (1) KR102383107B1 (es)
CN (4) CN114401401A (es)
ES (3) ES2802817B2 (es)
WO (1) WO2018008906A1 (es)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114513657A (zh) * 2016-07-05 2022-05-17 株式会社Kt 对视频进行解码的方法和设备以及对视频进行编码的方法
US11381829B2 (en) * 2016-08-19 2022-07-05 Lg Electronics Inc. Image processing method and apparatus therefor
US10805631B2 (en) * 2016-09-23 2020-10-13 Lg Electronics Inc. Method and apparatus for performing prediction using template-based weight
CN117201815A (zh) * 2016-10-04 2023-12-08 英迪股份有限公司 图像解码方法、图像编码方法以及发送比特流的方法
EP3692716A1 (en) * 2017-10-05 2020-08-12 InterDigital VC Holdings, Inc. Method and apparatus for adaptive illumination compensation in video encoding and decoding
CN116684619A (zh) * 2017-11-28 2023-09-01 Lx 半导体科技有限公司 图像编码/解码方法、图像数据的传输方法和存储介质
EP3518536A1 (en) * 2018-01-26 2019-07-31 Thomson Licensing Method and apparatus for adaptive illumination compensation in video encoding and decoding
US11575925B2 (en) 2018-03-30 2023-02-07 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium in which bitstream is stored
US10735721B2 (en) * 2018-04-17 2020-08-04 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method using local illumination compensation
WO2019216716A2 (ko) * 2018-05-10 2019-11-14 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
TWI730380B (zh) 2018-08-17 2021-06-11 聯發科技股份有限公司 在視訊編解碼系統中利用雙向預測處理視訊的方法、設備和可讀介質
EP3866468A4 (en) * 2018-10-12 2022-07-27 Wilus Institute of Standards and Technology Inc. VIDEO SIGNAL PROCESSING METHOD AND APPARATUS USING MULTI-ASSUMPTION PREDICTION
CN113347429B (zh) 2018-11-08 2023-06-23 Oppo广东移动通信有限公司 图像信号编码/解码方法及其设备
WO2020141816A1 (ko) 2018-12-31 2020-07-09 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US11206396B2 (en) * 2019-01-16 2021-12-21 Qualcomm Incorporated Local illumination compensation in video coding
CN112291558B (zh) * 2019-07-23 2023-06-27 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
US20220385888A1 (en) * 2019-09-20 2022-12-01 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium storing bitstream
US20220321880A1 (en) * 2019-09-23 2022-10-06 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium storing bitstream
CN116762339A (zh) * 2021-02-22 2023-09-15 Oppo广东移动通信有限公司 一种光照补偿方法、编码器、解码器及存储介质
US20220312004A1 (en) * 2021-03-23 2022-09-29 Tencent America LLC Method and apparatus for video coding
KR20230002095A (ko) * 2021-06-29 2023-01-05 주식회사 케이티 서브 블록 단위의 화면 내 예측에 기반한 비디오 신호 부호화/복호화 방법, 그리고 비트스트림을 저장한 기록 매체
WO2023008888A1 (ko) * 2021-07-26 2023-02-02 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체
WO2023043223A1 (ko) * 2021-09-15 2023-03-23 주식회사 케이티 비디오 신호 부호화/복호화 방법, 그리고 비트스트림을 저장한 기록 매체
KR20230146480A (ko) * 2022-04-12 2023-10-19 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100508798B1 (ko) * 2002-04-09 2005-08-19 엘지전자 주식회사 쌍방향 예측 블록 예측 방법
MXPA06002210A (es) * 2003-08-26 2006-05-19 Thomson Licensing Metodo y aparato para la decodificacion de bloques intra-inter codificados hibridos.
EP1747677A2 (en) 2004-05-04 2007-01-31 Qualcomm, Incorporated Method and apparatus to construct bi-directional predicted frames for temporal scalability
KR101408698B1 (ko) * 2007-07-31 2014-06-18 삼성전자주식회사 가중치 예측을 이용한 영상 부호화, 복호화 방법 및 장치
US8995526B2 (en) 2009-07-09 2015-03-31 Qualcomm Incorporated Different weights for uni-directional prediction and bi-directional prediction in video coding
JP5369973B2 (ja) * 2009-08-03 2013-12-18 日本電気株式会社 データ符号化/復号方法および装置
WO2011129672A2 (ko) * 2010-04-16 2011-10-20 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
KR101379188B1 (ko) 2010-05-17 2014-04-18 에스케이 텔레콤주식회사 인트라 블록 및 인터 블록이 혼합된 코딩블록을 이용하는 영상 부호화/복호화 장치 및 그 방법
US8989275B2 (en) * 2010-11-10 2015-03-24 Qualcomm Incorporated Video processing architecture
WO2012124961A2 (ko) 2011-03-11 2012-09-20 삼성전자 주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
JP2012244353A (ja) * 2011-05-18 2012-12-10 Sony Corp 画像処理装置および方法
US20130051467A1 (en) * 2011-08-31 2013-02-28 Apple Inc. Hybrid inter/intra prediction in video coding systems
MX336653B (es) 2011-10-17 2016-01-27 Toshiba Kk Dispositivo de codificcion, dispositivo de decodificacion, metodo de codificacion, y metodo de decodificacion.
KR101549911B1 (ko) * 2011-10-17 2015-09-03 주식회사 케이티 화면 내 예측 모드에 기초한 적응적인 변환 방법 및 이러한 방법을 사용하는 장치
PL231160B1 (pl) * 2011-10-18 2019-01-31 Kt Corp Sposób dekodowania sygnału wideo
KR20130050149A (ko) 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
KR101418096B1 (ko) 2012-01-20 2014-07-16 에스케이 텔레콤주식회사 가중치예측을 이용한 영상 부호화/복호화 방법 및 장치
US9906786B2 (en) * 2012-09-07 2018-02-27 Qualcomm Incorporated Weighted prediction mode for scalable video coding
US20140169452A1 (en) * 2012-12-14 2014-06-19 Electronics And Telecommunications Research Institute Video encoding method and apparatus using the same
US9491460B2 (en) 2013-03-29 2016-11-08 Qualcomm Incorporated Bandwidth reduction for video coding prediction
US9374578B1 (en) * 2013-05-23 2016-06-21 Google Inc. Video coding using combined inter and intra predictors
WO2015057039A1 (ko) 2013-10-18 2015-04-23 엘지전자 주식회사 멀티-뷰 비디오 코딩에 있어서, 뷰 합성 예측 방법 및 이를 이용한 머지 후보 리스트 구성 방법
EP3128754B1 (en) 2014-03-31 2020-11-11 Samsung Electronics Co., Ltd. Interlayer video decoding method for performing sub-block-based prediction and apparatus therefor, and interlayer video encoding method for performing sub-block-based prediction and apparatus therefor
US10271064B2 (en) * 2015-06-11 2019-04-23 Qualcomm Incorporated Sub-prediction unit motion vector prediction using spatial and/or temporal motion information
WO2017043816A1 (ko) * 2015-09-10 2017-03-16 엘지전자(주) 인터-인트라 병합 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2017197146A1 (en) * 2016-05-13 2017-11-16 Vid Scale, Inc. Systems and methods for generalized multi-hypothesis prediction for video coding
US10681373B2 (en) * 2016-09-22 2020-06-09 Lg Electronics Inc. Inter-prediction method and device in image coding system

Also Published As

Publication number Publication date
ES2802817R1 (es) 2022-04-11
KR102383107B1 (ko) 2022-04-06
EP3985967A1 (en) 2022-04-20
ES2737874B2 (es) 2020-10-16
CN114363636A (zh) 2022-04-15
ES2802817A2 (es) 2021-01-21
ES2699748B2 (es) 2021-05-13
US11876999B2 (en) 2024-01-16
KR20180005121A (ko) 2018-01-15
CN109417641A (zh) 2019-03-01
EP3484160A1 (en) 2019-05-15
EP3484160A4 (en) 2019-12-25
ES2699748R1 (es) 2019-04-05
WO2018008906A1 (ko) 2018-01-11
CN114401401A (zh) 2022-04-26
CN114401402A (zh) 2022-04-26
US20190246133A1 (en) 2019-08-08
ES2737874A2 (es) 2020-01-16
ES2737874R1 (es) 2020-05-08
ES2699748A2 (es) 2019-02-12
US20240121422A1 (en) 2024-04-11
CN109417641B (zh) 2022-03-18

Similar Documents

Publication Publication Date Title
ES2802817B2 (es) Metodo y aparato para procesar senal de video
ES2699749B2 (es) Método y aparato para procesar una señal de vídeo
ES2908214T3 (es) Filtración adaptativa de muestras de referencia para intra predicción usando líneas de píxeles distantes
ES2844525B1 (es) Metodo para decodificar un video
ES2703607B2 (es) Método y aparato para procesar señales de vídeo
ES2830053B2 (es) Metodo y aparato para procesar senal de video
ES2739668B1 (es) Metodo y aparato para procesar senales de video
ES2800509B1 (es) Metodo y aparato para procesar senales de video
ES2800551B2 (es) Método y aparato para tratar una señal de vídeo
ES2692842T3 (es) Aparato para codificar una imagen
ES2711474A2 (es) Metodo y aparato para procesar una senal de video
ES2711209A2 (es) Metodo y aparato para procesamiento de una senal de video
ES2703458A2 (es) Metodo y aparato para procesar senales de video
ES2711230A2 (es) Metodo y aparato para procesar una senal de video
ES2711223A2 (es) Metodo y aparato para procesar senales de video

Legal Events

Date Code Title Description
BA2A Patent application published

Ref document number: 2802817

Country of ref document: ES

Kind code of ref document: A2

Effective date: 20210121

EC2A Search report published

Ref document number: 2802817

Country of ref document: ES

Kind code of ref document: R1

Effective date: 20220404

FG2A Definitive protection

Ref document number: 2802817

Country of ref document: ES

Kind code of ref document: B2

Effective date: 20230622