5
10
15
20
25
30
35
Procedimiento y dispositivo para procesar senales de v^deo Campo tecnico
La presente invention se refiere a un procedimiento y un dispositivo para procesar una senal de video.
Antecedentes de la tecnica
Recientemente, la demanda de imagenes de alta resolution y de alta calidad, tales como las imagenes de alta definition (HD) y las imagenes de ultra alta definition (UHD) ha aumentado en diversos campos de aplicacion. Sin embargo, los datos de imagen de mayor resolucion y calidad tienen cantidades de datos cada vez mayores en comparacion con los datos de imagenes convencionales. Por lo tanto, cuando se transmiten datos de imagenes usando un medio tal como las redes de banda ancha cableadas e inalambricas convencionales, o cuando se almacenan datos de imagenes usando un medio de almacenamiento convencional, los costes de transmision y almacenamiento aumentan. Con el fin de resolver estos problemas que se producen con un aumento en la resolucion y la calidad de los datos de imagen, pueden utilizarse tecnicas de codificacion/decodificacion de imagenes de alta eficacia.
La tecnologia de compresion de imagenes incluye diversas tecnicas, que incluyen: una tecnica de prediction inter para predecir un valor de pixel incluido en una imagen actual a partir de una imagen anterior o posterior de la imagen actual; una tecnica de prediccion intra para predecir un valor de pixel incluido en una imagen actual usando la information de pixel en la imagen actual; una tecnica de codification de entropia para asignar un codigo corto a un valor con una alta frecuencia de aparicion y asignar un codigo largo a un valor con una baja frecuencia de aparicion; etc. Los datos de imagenes se pueden comprimir eficazmente usando dicha tecnologia de compresion de imagenes, y pueden transmitirse o almacenarse.
Mientras tanto, con las demandas de imagenes de alta resolucion, las demandas de contenido de imagen estereografica, que es un nuevo servicio de imagenes, tambien han aumentado. Se esta discutiendo una tecnica de compresion de video para proporcionar de
5
10
15
20
25
30
35
Divulgacion
Problema tecnico
Un objetivo de la presente invention tiene la intention de proporcionar un procedimiento y un dispositivo para codificar/decodificar una senal de video, particionando el procedimiento y el dispositivo de manera jerarquica un bloque de codification.
Un objetivo de la presente invencion tiene la intencion de proporcionar un procedimiento y un dispositivo para codificar/decodificar una senal de video, realizando el procedimiento y el dispositivo la prediction intra de un bloque de objetivo de codificacion/decodificacion.
Un objetivo de la presente invencion tiene la intencion de proporcionar un procedimiento y un dispositivo para codificar/decodificar una senal de video, corregir el procedimiento y el dispositivo una muestra de prediccion de un bloque objetivo de codificacion/decodificacion.
Solucion tecnica
De acuerdo con la presente invencion, se proporciona un procedimiento y un dispositivo para decodificar una senal de video, incluyendo el procedimiento: determinar un modo de prediccion intra de un bloque actual; obtener una muestra de referencia para la prediccion intra del bloque actual; y realizar la prediccion intra del bloque actual basandose en el modo de prediccion intra y en la muestra de referencia.
En el procedimiento y el dispositivo para decodificar una senal de video de acuerdo con la presente invencion, el bloque actual puede ser un bloque de codificacion en una forma no cuadrada particionada basado en al menos uno de entre un arbol cuadrado y un arbol binario.
En el procedimiento y el dispositivo para decodificar una senal de video de acuerdo con la presente invencion, la determination del modo de prediccion intra puede incluir: generar una lista de candidatos que tenga multiples candidatos; y determinar el modo de prediccion intra del bloque actual basandose en la lista de candidatos y en una information de mdice, la
3
5
10
15
20
25
30
35
information de mdice especificando un mdice de candidato incluido en la lista de candidatos.
En el procedimiento y el dispositivo para decodificar una senal de video de acuerdo con la presente invention, un numero maximo de candidatos que pueden incluirse en la lista de candidatos pueden ser mas de tres.
En el procedimiento y el dispositivo para decodificar una senal de video de acuerdo con la presente invencion, el modo de prediction intra determinado puede ser uno de los modos de prediction intra extendidos, y los modos de prediccion intra extendidos pueden incluir un modo plano, un modo DC y mas de 33 modos de prediccion direccionales.
En el procedimiento y el dispositivo para decodificar una senal de video de acuerdo con la presente invencion, la realization de la prediccion intra puede incluir: obtener una muestra de prediccion del bloque actual basandose en el modo de prediccion intra y en la muestra de referencia; y corregir la muestra de prediccion obtenida usando la informacion diferencial de las muestras vecinas del bloque actual.
En el procedimiento y el dispositivo para decodificar una senal de video de acuerdo con la presente invencion, la realizacion de la prediccion intra puede incluir: obtener una muestra de prediccion del bloque actual basandose en el modo de prediccion intra y en la muestra de referencia; y corregir la muestra de prediccion obtenida basandose en al menos uno de entre el peso y el desplazamiento predeterminados.
De acuerdo con la presente invencion, se proporciona un procedimiento y un dispositivo para codificar una senal de video, incluyendo el procedimiento: determinar un modo de prediccion intra de un bloque actual; obtener una muestra de referencia para la prediccion intra del bloque actual; y realizar la prediccion intra del bloque actual basandose en el modo de prediccion intra y en la muestra de referencia.
En el procedimiento y el dispositivo para codificar una senal de video de acuerdo con la presente invencion, el bloque actual puede ser un bloque de codification en una forma no cuadrada particionado basado en al menos uno de entre un arbol cuadrado y un arbol binario.
En el procedimiento y el dispositivo para codificar una senal de video de acuerdo con la presente invencion, la determination del modo de prediccion intra puede incluir: generar una
4
5
10
15
20
25
30
35
lista de candidatos que tenga multiples candidatos; y determinar el modo de prediction intra del bloque actual basandose en la lista de candidatos y en un mdice.
En el procedimiento y el dispositivo para codificar una senal de video de acuerdo con la presente invention, un numero maximo de candidatos que pueden incluirse en la lista de candidatos pueden ser mas de tres.
En el procedimiento y el dispositivo para codificar una senal de video de acuerdo con la presente invencion, el modo de prediccion intra determinado puede ser uno de los modos de prediccion intra extendidos, y los modos de prediccion intra extendidos incluyen un modo plano, un modo DC y mas de 33 modos de prediccion direccionales.
En el procedimiento y el dispositivo para codificar una senal de video de acuerdo con la presente invencion, la realization de la prediccion intra puede incluir: obtener una muestra de prediccion del bloque actual basandose en el modo de prediccion intra y en la muestra de referencia; y corregir la muestra de prediccion obtenida usando la information diferencial de las muestras vecinas del bloque actual.
En el procedimiento y el dispositivo para codificar una senal de video de acuerdo con la presente invencion, la realizacion de la prediccion intra puede incluir: obtener una muestra de prediccion del bloque actual basandose en el modo de prediccion intra y en la muestra de referencia; y corregir la muestra de prediccion obtenida basandose en al menos uno de entre el peso y el desplazamiento predeterminados.
Efectos ventajosos
De acuerdo con la presente invencion, es posible mejorar la eficacia de la codification a traves de un particionamiento jerarquico/adaptativo de un bloque de codificacion.
De acuerdo con la presente invencion, es posible determinar eficazmente un modo de prediccion intra de un bloque objetivo de codificacion/decodificacion, y mejorar la precision de la prediccion intra.
Description de los dibujos
La figura 1 es un diagrama de bloques que ilustra un dispositivo para codificar un video de
5
5
10
15
20
25
30
35
La figura 2 es un diagrama de bloques que ilustra un dispositivo para decodificar un video de acuerdo con una realizacion de la presente invencion.
La figura 3 es una vista que ilustra un ejemplo de particionamiento jerarquico de un bloque de codification basandose en una estructura de arbol de acuerdo con una realizacion de la presente invencion.
La figura 4 es una vista que ilustra tipos de modos de prediction intra predefinidos para un dispositivo para codificar/decodificar un video de acuerdo con una realizacion de la presente invencion.
La figura 5 es un diagrama de flujo que ilustra brevemente un procedimiento de prediccion intra de acuerdo con una realizacion de la presente invencion.
La figura 6 es una vista que ilustra un procedimiento para corregir una muestra de prediccion de un bloque actual basandose en la information diferencial de las muestras vecinas de acuerdo con una realizacion de la presente invencion.
Las figuras 7 y 8 son vistas que ilustran un procedimiento para corregir una muestra de prediccion basandose en un filtro de correction predeterminada de acuerdo con una realizacion de la presente invencion.
La figura 9 es una vista que ilustra un procedimiento para corregir una muestra de prediccion usando el peso y el desplazamiento de acuerdo con una realizacion de la presente invencion.
Las figuras 10 a 15 son vistas que ilustran un procedimiento de composition de una plantilla para determinar el peso w de acuerdo con una realizacion de la presente invencion.
Mejor modo
De acuerdo con la presente invencion, se proporciona un procedimiento y un dispositivo para decodificar una senal de video, incluyendo el procedimiento: determinar un modo de prediccion intra de un bloque actual; obtener una muestra de referencia para la prediccion
6
5
10
15
20
25
30
35
intra del bloque actual; y realizar la prediction intra del bloque actual basandose en el modo de prediccion intra y en la muestra de referencia.
En el procedimiento y el dispositivo para decodificar una senal de video de acuerdo con la presente invencion, el bloque actual puede ser un bloque de codificacion en una forma no cuadrada particionada basado en al menos uno de entre un arbol cuadrado y un arbol binario.
En el procedimiento y el dispositivo para decodificar una senal de video de acuerdo con la presente invention, la determination del modo de prediccion intra puede incluir: generar una lista de candidatos que tenga multiples candidatos; y determinar el modo de prediccion intra del bloque actual basandose en la lista de candidatos y en un mdice.
En el procedimiento y el dispositivo para decodificar una senal de video de acuerdo con la presente invencion, un numero maximo de candidatos que pueden incluirse en la lista de candidatos pueden ser mas de tres.
En el procedimiento y el dispositivo para decodificar una senal de video de acuerdo con la presente invencion, el modo de prediccion intra determinado puede ser uno de los modos de prediccion intra extendidos, y los modos de prediccion intra extendidos pueden incluir un modo plano, un modo DC y mas de 33 modos de prediccion direccionales.
En el procedimiento y el dispositivo para decodificar una senal de video de acuerdo con la presente invencion, la realization de la prediccion intra puede incluir: obtener una muestra de prediccion del bloque actual basandose en el modo de prediccion intra y en la muestra de referencia; y corregir la muestra de prediccion obtenida usando la information diferencial de las muestras vecinas del bloque actual.
En el procedimiento y el dispositivo para decodificar una senal de video de acuerdo con la presente invencion, la realizacion de la prediccion intra puede incluir: obtener una muestra de prediccion del bloque actual basandose en el modo de prediccion intra y en la muestra de referencia; y corregir la muestra de prediccion obtenida basandose en al menos uno de entre el peso y el desplazamiento predeterminados.
De acuerdo con la presente invencion, se proporciona un procedimiento y un dispositivo para codificar una senal de video, incluyendo el procedimiento: determinar un modo de
7
5
10
15
20
25
30
35
prediction intra de un bloque actual; obtener una muestra de referencia para la prediction intra del bloque actual; y realizar la prediccion intra del bloque actual basandose en el modo de prediccion intra y en la muestra de referencia.
En el procedimiento y el dispositivo para codificar una senal de video de acuerdo con la presente invention, el bloque actual puede ser un bloque de codification en una forma no cuadrada particionado basado en al menos uno de entre un arbol cuadrado y un arbol binario.
En el procedimiento y el dispositivo para codificar una senal de video de acuerdo con la presente invencion, la determination del modo de prediccion intra puede incluir: generar una lista de candidatos que tenga multiples candidatos; y determinar el modo de prediccion intra del bloque actual basandose en la lista de candidatos y en un mdice.
En el procedimiento y el dispositivo para codificar una senal de video de acuerdo con la presente invencion, un numero maximo de candidatos que pueden incluirse en la lista de candidatos pueden ser mas de tres.
En el procedimiento y el dispositivo para codificar una senal de video de acuerdo con la presente invencion, el modo de prediccion intra determinado puede ser uno de los modos de prediccion intra extendidos, y los modos de prediccion intra extendidos incluyen un modo plano, un modo DC y mas de 33 modos de prediccion direccionales.
En el procedimiento y el dispositivo para codificar una senal de video de acuerdo con la presente invencion, la realization de la prediccion intra puede incluir: obtener una muestra de prediccion del bloque actual basandose en el modo de prediccion intra y en la muestra de referencia; y corregir la muestra de prediccion obtenida usando la information diferencial de las muestras vecinas del bloque actual.
En el procedimiento y el dispositivo para codificar una senal de video de acuerdo con la presente invencion, la realizacion de la prediccion intra puede incluir: obtener una muestra de prediccion del bloque actual basandose en el modo de prediccion intra y en la muestra de referencia; y corregir la muestra de prediccion obtenida basandose en al menos uno de entre el peso y el desplazamiento predeterminados.
Modo de la invencion
5
10
15
20
25
30
35
Pueden realizarse varias modificaciones en la presente invencion y existen diversas realizaciones de la presente invencion, cuyos ejemplos se proporcionaran ahora haciendo referencia a los dibujos y se describiran en detalle. Los numeros de referencia similares se refieren al elemento similar en los dibujos descritos.
Los terminos usados en la memoria descriptiva, “primero”, “segundo”, etc. pueden usarse para describir diversos componentes, pero los componentes no deben interpretarse como limitados a los terminos. Los terminos solo se usan para diferenciar un componente de otros componentes. Por ejemplo, el “primer” componente puede llamarse el “segundo” componente sin alejarse del alcance de la presente invencion, y el “segundo” componente tambien puede llamarse de manera similar el “primer” componente. El termino “y/o” incluye una combination de una pluralidad de articulos o uno cualquiera de una pluralidad de terminos.
Se entendera que cuando se hace referencia simplemente a un (primer) elemento como que esta ‘conectado a’ o ‘acoplado a’ otro (segundo) elemento sin estar ‘directamente conectado a’ o ‘directamente acoplado a’ este otro (segundo) elemento en la presente description, el (primer) elemento puede estar ‘directamente’ conectado a’ o ‘acoplado directamente a’ un (tercer) elemento intermedio interpuesto entre los dos elementos referidos anteriormente (primero y segundo). Por el contrario, deberia entenderse que cuando se hace referencia a un elemento como que esta “directamente acoplado a” o “directamente conectado a” otro elemento, no hay elementos intermedios presentes.
En la presente memoria descriptiva, debe entenderse que las expresiones tales como “que incluye”, “que tiene”, etc. estan destinadas a indicar la existencia de las caracteristicas, numeros, etapas, acciones, elementos, partes o combinaciones de los mismos desvelados en la memoria descriptiva, y no estan destinados a excluir la posibilidad de que existan o puedan anadirse una o mas caracteristicas, numeros, etapas, acciones, elementos, partes o combinaciones de los mismos.
En lo sucesivo en el presente documento, las realizaciones preferidas de la presente invencion se describiran en detalle haciendo referencia a los dibujos adjuntos. En lo sucesivo en el presente documento, los mismos elementos constituyentes en los dibujos se indican con los mismos numeros de referencia, y se omitira una descripcion repetida de los mismos elementos.
5
10
15
20
25
30
35
La figura 1 es un diagrama de bloques que ilustra un dispositivo para codificar un video de acuerdo con una realization de la presente invention.
Haciendo referencia a la figura 1, el dispositivo 100 para codificar un video puede incluir: un modulo 110 de particionamiento de imagenes, unos modulos 120 y 125 de prediction, un modulo 130 de transformation, un modulo 135 de cuantificacion, un modulo 160 de reordenamiento, un modulo 165 de codification de entropia, un modulo 140 de cuantificacion inversa, un modulo 145 de transformacion inversa, un modulo 150 de filtro, y una memoria 155.
Las partes constitutivas mostradas en la figura 1 se muestran de manera independiente para representar funciones caracteristicas diferentes entre si en el dispositivo para codificar un video. Por lo tanto, no significa que cada parte constitutiva este constituida en una unidad constitutiva de hardware o software separada. Por lo tanto, al menos dos partes constitutivas de cada parte constitutiva pueden combinarse para formar una parte constitutiva o una parte constitutiva puede particionarse en una pluralidad de partes constitutivas para realizar cada funcion. La realizacion donde cada parte constitutiva se combina y la realizacion donde se divide una parte constitutiva tambien se incluyen en el alcance de la presente invencion, si no se apartan de la esencia de la presente invencion.
Ademas, algunos de los constituyentes pueden no ser constituyentes indispensables que realizan funciones esenciales de la presente invencion, sino que son constituyentes selectivos que mejoran solo el rendimiento de la misma. La presente invencion puede implementarse incluyendo solo las partes constitutivas indispensables para implementar la esencia de la presente invencion, excepto los constituyentes usados para mejorar el rendimiento. La estructura que incluye solo los constituyentes indispensables excepto los constituyentes selectivos usados para mejorar solo el rendimiento tambien se incluye en el alcance de la presente invencion.
El modulo 110 de particionamiento de imagenes puede particionar una imagen de entrada en una o mas unidades de procesamiento. En este caso, la unidad de procesamiento puede ser una unidad de prediccion (PU), una unidad de transformacion (TU), o una unidad de codificacion (CU). PU, TU y CU son conceptos especificados en el estado de la tecnica: "Overview of the High Efficiency Video Coding (HEVC) Standard” IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, pagina 1651, Vol. 22, No. 12,
10
5
10
15
20
25
30
35
Diciembre 2012. El modulo 110 de particionamiento de imagenes puede particionar una imagen en combinaciones de multiples unidades de codificacion, unidades de prediction, y unidades de transformation, y puede codificar una imagen seleccionando una combination de unidades de codificacion, unidades de prediccion, y unidades de transformacion con un criterio predeterminado (por ejemplo, la funcion de coste).
Por ejemplo, una imagen puede particionarse en multiples unidades de codificacion. Una estructura de arbol recursiva, tal como una estructura de arbol cuadrado, puede usarse para particionar una imagen en unidades de codificacion. Una unidad de codificacion que esta particionada en otras unidades de codificacion con una imagen o una unidad de codificacion mas grande como una raiz puede particionarse con nodos secundarios correspondientes al numero de unidades de codificacion particionadas. Una unidad de codificacion que no se particiona por una limitation predeterminada sirve como un nodo de hoja. Es decir, cuando se supone que solo es posible el particionamiento cuadrado para una unidad de codificacion, una unidad de codificacion puede particionarse en cuatro otras unidades de codificacion como mucho.
En lo sucesivo en el presente documento, en la realizacion de la presente invencion, la unidad de codificacion puede significar una unidad que realiza la codificacion, o una unidad que realiza la decodificacion.
Una sola unidad de codificacion puede particionarse en al menos una unidad de prediccion que tiene forma cuadrada o forma rectangular. Las unidades de prediccion resultantes de la partition de una sola unidad de codificacion pueden tener el mismo tamano , o puede que una unidad de prediccion resultante de la particion (particionada) de una sola unidad de codificacion tenga una forma y/o un tamano diferente de otra unidad de prediccion particionada en la misma unidad de codificacion.
Cuando una unidad de prediccion se somete a una prediccion intra se genera basandose en una unidad de codificacion y la unidad de codificacion no es la mas pequena unidad de codificacion, la prediccion intra puede realizarse sin particionar la unidad de prediccion en multiples unidades de prediccion NxN.
Los modulos 120 y 125 de prediccion pueden incluir un modulo 120 de prediccion inter que realiza una prediccion inter y un modulo 125 de prediccion intra que realiza una prediccion intra. Si puede determinarse realizar una prediccion inter o una prediccion intra para la
11
5
10
15
20
25
30
35
prediction, puede determinarse la information detallada (por ej., un modo de prediction intra, un vector de movimiento, una imagen de referencia, etc.) de acuerdo con cada procedimiento de prediccion. En este caso, la unidad de procesamiento sometida a prediccion puede ser diferente de la unidad de procesamiento para la que se determina el procedimiento de prediccion y el contenido detallado. Por ejemplo, el procedimiento de prediccion, el modo de prediccion, etc. pueden determinarse por unidad de prediccion, y la prediccion puede realizarse por la unidad de transformation. Puede introducirse un valor residual (bloque residual) entre el bloque de prediccion generado y un bloque original al modulo 130 de transformacion. Ademas, la informacion de modo de prediccion usada para la prediccion, la informacion de vector de movimiento, etc. puede codificarse con el valor residual por el modulo 165 de codification de entropia y puede transmitirse a un dispositivo para decodificar un video. Cuando se usa un modo de codificacion espedfico, el bloque original puede estar codificado de manera intacta y transmitirse a un modulo de decodificacion sin generar el bloque de prediccion a traves del modulo 120 y 125 de prediccion.
El modulo 120 de prediccion inter puede predecir la unidad de prediccion basandose en la informacion de al menos una de entre una imagen anterior o una imagen posterior de la imagen actual, o puede predecir la unidad de prediccion basandose en la informacion de algunas regiones codificadas en la imagen actual, en algunos casos. El modulo 120 de prediccion inter puede incluir un modulo de interpolation de imagenes de referencia, un modulo de prediccion de movimiento, y un modulo de compensacion de movimiento.
El modulo de interpolacion de imagen de referencia puede recibir informacion de imagen de referencia de la memoria 155 y puede generar informacion de un pixel entero o menos de la imagen de referencia. En el caso de pixeles luma, puede usarse un filtro de interpolacion basado en DCT de 8 tomas que tiene diferentes coeficientes de filtro para generar la informacion de pixel de un pixel entero o menos en unidades de un 1/4 de pixel. En el caso de senales croma, puede usarse un filtro de interpolacion basado en DCT de 4 tomas que tiene diferente coeficiente de filtro para generar la informacion de pixel de un pixel entero o menos en unidades de un 1/8 de pixel.
El modulo de prediccion de movimiento puede realizar la prediccion de movimiento basandose en la imagen de referencia interpolada por el modulo de interpolacion de imagen de referencia. Como procedimientos para calcular un vector de movimiento pueden usarse diversos procedimientos, tales como un algoritmo de comparacion de bloques basado en
12
5
10
15
20
25
30
35
busqueda completa (FBMA), un algoritmo de busqueda de tres etapas (TSS), un algoritmo de busqueda de tres etapas nuevo (NTS), etc. El vector de movimiento puede tener un valor de vector de movimiento en unidades de 1/2 de pixel o un 1/4 de pixel basandose en un pixel interpolado. El modulo de prediction de movimiento puede predecir una unidad de prediction actual cambiando el procedimiento de prediccion de movimiento. Como procedimientos de prediccion de movimiento pueden usarse diversos procedimientos, tales como un procedimiento de omision, un procedimiento de mezcla, un procedimiento de AMVP (prediccion de vector de movimiento avanzado), un procedimiento de copia de bloque intra, etc.
El modulo 125 de prediccion intra puede generar una unidad de prediccion basandose en la information de pixel de referencia junto a un bloque actual que es la information de pixel en la imagen actual. Cuando el bloque vecino de la unidad de prediccion actual es un bloque sometido a prediccion inter y, por lo tanto, un pixel de referencia es un pixel sometido a prediccion inter, el pixel de referencia incluido en el bloque sometido a la prediccion inter puede usarse en lugar de la informacion de pixel de referencia de un bloque vecino sometido a la prediccion intra. Es decir, cuando un pixel de referencia no esta disponible, puede usarse al menos otro pixel de referencia que si este disponible en lugar de la informacion de pixel de referencia no disponible.
Los modos de prediccion en la prediccion intra pueden incluir un modo de prediccion direccional usando la informacion de pixel de referencia en funcion de una direction de prediccion y un modo de prediccion no direccional no usando la informacion direccional en la realization de la prediccion. Un modo para predecir la informacion luma puede ser diferente de un modo para predecir la informacion croma, y con el fin de predecir la informacion croma, puede usarse la informacion de modo de prediccion intra usada para predecir la informacion de luma o la informacion de senal luma predicha.
Al realizar la prediccion intra, cuando el tamano de la unidad de prediccion es el mismo que el tamano de la unidad de transformation, la prediccion intra puede realizarse en la unidad de prediccion basandose en los pixeles localizados a la izquierda, en la parte superior izquierda, y en la parte superior de la unidad de prediccion. Sin embargo, al realizar la prediccion intra, cuando el tamano de unidad de prediccion es diferente del tamano de la unidad de transformacion, la prediccion intra puede realizarse usando un pixel de referencia basandose en la unidad de transformacion. Ademas, puede usarse la prediccion intra usando el particionamiento NxN solo para la unidad de codification mas pequena.
13
5
10
15
20
25
30
35
En el procedimiento de prediction intra, puede generarse un bloque de prediction despues de aplicar un filtro AIS (suavizado intra adaptativo) a un p^xel de referencia en funcion de los modos de prediccion. El tipo del filtro AIS aplicado al pixel de referencia puede variar. Con el fin de realizar el procedimiento de prediccion intra, puede predecirse un modo de prediccion intra de la unidad de prediccion actual a partir del modo de prediccion intra de la unidad de prediccion vecina a la unidad de prediccion actual. En la prediccion del modo de prediccion de la unidad de prediccion actual usando la information de modo predicha a partir de la unidad de prediccion vecina, cuando el modo de prediccion intra de la unidad de prediccion actual es el mismo que el modo de prediccion intra de la unidad de prediccion vecina, la informacion que indica que los modos de prediccion de la unidad de prediccion actual y de la unidad de prediccion vecina son iguales entre si puede transmitirse usando la informacion de indication predeterminada. Cuando el modo de prediccion de la unidad de prediccion actual es diferente del modo de prediccion de la unidad de prediccion vecina, puede realizarse la codification de entropia para codificar la informacion de modo de prediccion del bloque actual.
Ademas, un bloque residual que incluye informacion sobre un valor residual que es diferente entre la unidad de prediccion y el bloque original puede generarse basandose en las unidades de prediccion generadas por los modulos 120 y 125 de prediccion. El bloque residual generado puede introducirse en el modulo 130 de transformation.
El modulo 130 de transformacion puede transformar el bloque residual que incluye la informacion sobre el valor residual entre el bloque original y la unidad de prediccion generada por los modulos 120 y 125 de prediccion usando un procedimiento de transformacion, tal como la transformada de coseno discreta (DCT), la transformada de seno discreta (DST) y la KLT. Aunque aplicar DCT, DST o KLT con el fin de transformar el bloque residual puede determinarse basandose en la informacion de modo de prediccion intra de la unidad de prediccion usada para generar el bloque residual.
El modulo 135 de cuantificacion puede cuantificar los valores transmitidos a un dominio de frecuencia por el modulo 130 de transformacion. Los coeficientes de cuantificacion pueden variar en funcion del bloque o la importancia de una imagen. Los valores calculados por el modulo 135 de cuantificacion pueden proporcionarse al modulo 140 de cuantificacion inversa y al modulo 160 de reordenamiento.
5
10
15
20
25
30
35
El modulo 160 de reordenamiento puede reordenar los coeficientes de los valores residuales cuantificados.
El modulo 160 de reordenamiento puede cambiar un coeficiente en forma de un bloque bidimensional en un coeficiente en la forma de un vector unidimensional a traves del procedimiento de exploracion de coeficientes. Por ejemplo, el modulo 160 de reordenamiento puede explorar desde un coeficiente de DC a un coeficiente en un dominio de alta frecuencia usando un procedimiento de exploracion en zigzag con el fin de cambiar los coeficientes para estar en la forma de vectores unidimensionales. En funcion del tamano de la unidad de transformation y del modo de prediction intra, puede usarse en lugar de la exploracion en zigzag, la exploracion en direction vertical donde los coeficientes en la forma de bloques bidimensionales se exploran en la direccion de la columna o, la exploracion en direccion horizontal donde los coeficientes en la forma de bloques bidimensionales se exploran en la direccion de la fila. Es decir, puede determinarse que procedimiento de exploracion se usa entre la exploracion en zigzag, la exploracion en direccion vertical y la exploracion en direccion horizontal en funcion del tamano de la unidad de transformacion y del modo de prediccion intra.
El modulo 165 de codification de entropia puede realizar la codification de entropia basandose en los valores calculados por el modulo 160 de reordenamiento. La codificacion de entropia puede usar diversos procedimientos de codificacion, por ejemplo, codificacion Golomb exponencial, codificacion de longitud variable adaptable al contexto (CAVLC), y codificacion aritmetica binaria adaptable al contexto (CABAC).
El modulo 165 de codificacion de entropia puede codificar diversa information, tal como la information de coeficiente de valor residual y la informacion de tipo de bloque de la unidad de codificacion, la informacion de modo de prediccion, la informacion de unidad de partition, la informacion de unidad de prediccion, la informacion de unidad de transformacion, la informacion de vector de movimiento, la informacion de trama de referencia, la informacion de interpolation de bloque, la informacion de filtrado, etc. del modulo 160 de reordenamiento y los modulos 120 y 125 de prediccion.
El modulo 165 de codificacion de entropia puede codificar la entropia de los coeficientes de la entrada de la unidad de codificacion desde el modulo 160 de reordenamiento.
El modulo 140 de cuantificacion inversa puede cuantificar inversamente los valores
15
5
10
15
20
25
30
35
cuantificados por el modulo 135 de cuantificacion y el modulo 145 de transformation inversa puede transformar inversamente los valores transformados por el modulo 130 de transformacion. El valor residual generado por el modulo 140 de cuantificacion inversa y el modulo 145 de transformacion inversa puede combinarse con la unidad de prediction predicha por un modulo de estimation de movimiento, una unidad de compensation de movimiento, y el modulo de prediccion intra de los modulos 120 y 125 de prediccion de tal manera que puede generarse un bloque reconstruido.
El modulo 150 de filtro puede incluir al menos uno de entre un filtro de desbloqueo, una unidad de correction de desplazamiento, y un filtro de bucle adaptativo (ALF).
El filtro de desbloqueo puede eliminar la distorsion de bloque que se produce debido a los limites entre los bloques en la imagen reconstruida. Con el fin de determinar si debe realizarse el desbloqueo, puede determinarse si aplicar el filtro de desbloqueo al bloque actual basandose en los pixeles incluidos en varias filas o columnas en el bloque. Cuando se aplica el filtro de desbloqueo al bloque, puede aplicarse un filtro fuerte o un filtro debil en funcion de la fuerza de filtrado de desbloqueo necesaria. Ademas, al aplicar el filtro de desbloqueo, pueden procesarse en paralelo el filtrado en direction horizontal y el filtrado en direccion vertical.
El modulo de correccion de desplazamiento puede corregir el desplazamiento de la imagen original con respecto a la imagen sometida al desbloqueo en unidades de un pixel. Con el fin de realizar la correccion de desplazamiento en una imagen espedfica, es posible usar un procedimiento de aplicar un desplazamiento en consideration de la information de borde de cada pixel o un procedimiento de particionamiento de pixeles de una imagen en el numero predeterminado de regiones, determinando una region para someterse a realizar el desplazamiento y aplicar el desplazamiento a la region determinada.
El filtrado de bucle adaptativo (ALF) puede realizarse basandose en el valor obtenido comparando la imagen reconstruida filtrada y la imagen original. Los pixeles incluidos en la imagen pueden particionarse en grupos predeterminados, puede determinarse un filtro a aplicar a cada uno de los grupos, y el filtrado puede realizarse individualmente para cada grupo. La informacion sobre si aplicar ALF y una senal luma puede transmitirse por las unidades de codification (CU). La forma y el coeficiente de filtro de un filtro para ALF pueden variar en funcion de cada bloque. Ademas, el filtro para ALF en la misma forma (forma fija) puede aplicarse independientemente de las caracteristicas del bloque objetivo de
16
5
10
15
20
25
30
35
La memoria 155 puede almacenar el bloque o imagen reconstruida calculada a traves del modulo 150 de filtro. El bloque o imagen reconstruida almacenada puede proporcionarse a los modulos 120 y 125 de prediction al realizar la prediction inter.
La figura 2 es un diagrama de bloques que ilustra un dispositivo para decodificar un video de acuerdo con una realization de la presente invention.
Haciendo referencia a la figura 2, el dispositivo 200 para decodificar un video puede incluir: un modulo 210 de decodificacion de entropia, un modulo 215 de reordenamiento, un modulo 220 de cuantificacion inversa, un modulo 225 de transformation inversa, unos modulos 230 y 235 de prediccion, un modulo 240 de filtro y una memoria 245.
Cuando un flujo de bits de video se introduce desde el dispositivo para codificar un video, el flujo de bits de entrada puede decodificarse de acuerdo con un procedimiento inverso del dispositivo para codificar un video.
El modulo 210 de decodificacion de entropia puede realizar la decodificacion de entropia de acuerdo con un procedimiento inverso de codification de entropia mediante el modulo de codification de entropia del dispositivo para codificar un video. Por ejemplo, correspondiente a los procedimientos realizados por el dispositivo para codificar un video, pueden aplicarse diversos procedimientos, tales como la codificacion Golomb exponencial, la codificacion de longitud variable adaptable al contexto (CAVLC), y la codificacion aritmetica binaria adaptable al contexto (CABAC).
El modulo 210 de decodificacion de entropia puede decodificar la information sobre la prediccion intra y la prediccion inter realizada por el dispositivo para codificar un video.
El modulo 215 de reordenamiento puede realizar el reordenamiento de la entropia de flujo de bits decodificada por el modulo 210 de decodificacion de entropia basandose en el procedimiento de reordenamiento usado en el dispositivo para codificar un video. El modulo de reordenamiento puede reconstruir y reorganizar los coeficientes en la forma de vectores unidimensionales para el coeficiente en la forma de dos bloques bidimensionales. El modulo 215 de reordenamiento puede realizar el reordenamiento al recibir la informacion relacionada con la exploration de coeficiente realizada en el dispositivo para codificar un
17
5
10
15
20
25
30
35
video y explorar inversamente los coeficientes basandose en el orden de exploration realizado en el dispositivo para codificar un video.
El modulo 220 de cuantificacion inversa puede realizar la cuantificacion inversa basandose en un parametro de cuantificacion recibido desde el dispositivo para codificar un video y los coeficientes reordenados del bloque.
El modulo 225 de transformation inversa puede realizar la transformation inversa, es decir, la DCT inversa, la DST inversa, y la KLT inversa, que es la inversa de la transformacion, es decir, la DCT, la DST, y la KLT, realizadas por el modulo de transformacion sobre el resultado de cuantificacion por el dispositivo para codificar un video. La transformacion inversa puede realizarse basandose en la unidad de transferencia determinada por el dispositivo para codificar un video. El modulo 225 de transformacion inversa del dispositivo para decodificar un video puede realizar selectivamente tecnicas de transformacion (por ejemplo, DCT, DST, y KLT) en funcion de multiples piezas de information, tales como el procedimiento de prediction, el tamano del bloque actual, la direction de prediction, etc.
Los modulos 230 y 235 de prediccion pueden generar un bloque de prediccion basandose en la informacion sobre la generation de bloque de prediccion recibida del modulo 210 de decodificacion de entropia y la informacion de bloque o imagen anteriormente decodificada recibida desde la memoria 245.
Como se ha descrito anteriormente, como la operation del dispositivo para codificar un video, en la realization de prediccion intra, cuando el tamano de la unidad de prediccion es el mismo que el tamano de la unidad de transformacion, la prediccion intra puede realizarse en la unidad de prediccion basandose en los pixeles localizados a la izquierda, en la parte superior izquierda, y en la parte superior de la unidad de prediccion. Al realizar la prediccion intra, cuando el tamano de la unidad de prediccion es diferente del tamano de la unidad de transformacion, la prediccion intra puede realizarse usando un pixel de referencia basandose en la unidad de transformacion. Ademas, puede usarse la prediccion intra usando el particionamiento NxN solo para la unidad de codification mas pequena.
Los modulos 230 y 235 de prediccion pueden incluir un modulo de determination de unidad de prediccion, un modulo de prediccion inter, y un modulo de prediccion intra. El modulo de determinacion de unidad de prediccion puede recibir diversa informacion, tal como la informacion de unidad de prediccion, la informacion de modo de prediccion de un
18
5
10
15
20
25
30
35
procedimiento de prediction intra, la information sobre la prediction de movimiento de un procedimiento de prediccion inter, etc. desde el modulo 210 de decodificacion de entropia, puede distinguir una prediccion unidad en una unidad de codification actual, y puede determinar si se realiza la prediccion inter o la prediccion intra en la unidad de prediccion. Usando la informacion necesaria en la prediccion inter de la unidad de prediccion actual recibida desde el dispositivo para codificar un video, el modulo 230 de prediccion inter puede realizar la prediccion inter en la unidad de prediccion actual basandose en la informacion de al menos una de entre una imagen anterior o una imagen posterior de la imagen actual que incluye la unidad de prediccion actual. Como alternativa, la prediccion inter puede realizarse basandose en la informacion de algunas regiones pre-reconstruidas en la imagen actual que incluye la unidad de prediccion actual.
Con el fin de realizar la prediccion inter, puede determinarse cual de entre un modo de omision, un modo de mezcla, un modo de AMVP, y un modo de copia de bloque inter se usa como el procedimiento de prediccion de movimiento de la unidad de prediccion incluido en la unidad de codificacion basandose en la unidad de codificacion.
El modulo de prediccion intra 235 puede generar un bloque de prediccion basandose en la informacion de pixel en la imagen actual. Cuando la unidad de prediccion es una unidad de prediccion sometida a la prediccion intra, la prediccion intra puede realizarse basandose en la informacion del modo de prediccion intra de la unidad de prediccion recibida del dispositivo para codificar un video. El modulo de prediccion intra 235 puede incluir un filtro suavizado intra adaptativo (AIS), un modulo de interpolation de pixel de referencia, y un filtro DC. El filtro AIS realiza el filtrado en el pixel de referencia del bloque actual, y la posibilidad de aplicar el filtro puede determinarse en funcion del modo de prediccion de la unidad de prediccion actual. El filtrado AIS puede realizarse en el pixel de referencia del bloque actual usando el modo de prediccion de la unidad de prediccion recibida del dispositivo para codificar un video y la informacion del filtro AIS. Cuando el modo de prediccion del bloque actual es un modo donde no se realiza el filtrado AIS, no puede aplicarse el filtro AIS.
Cuando el modo de prediccion de la unidad de prediccion es un modo de prediccion en el que la prediccion intra se realiza basandose en el valor de pixel obtenido interpolando el pixel de referencia, el modulo de interpolacion de pixel de referencia puede interpolar el pixel de referencia para generar un pixel de un pixel entero o menos. Cuando el modo de prediccion de la unidad de prediccion actual es un modo de prediccion en el que se genera
19
5
10
15
20
25
30
35
un bloque de prediction sin interpolar el pixel de referencia, el pixel de referencia no puede interpolarse. El filtro DC puede generar un bloque de prediccion a traves del filtrado cuando el modo de prediccion del bloque actual es un modo DC.
El bloque o imagen reconstruida puede proporcionarse al modulo 240 de filtro. El modulo 240 de filtro puede incluir el filtro de desbloqueo, el modulo de correction de desplazamiento, y el ALF.
La information sobre si se aplica o no el filtro de desbloqueo al bloque o imagen correspondiente, y la informacion sobre la que se aplica el filtro fuerte y el filtro debil 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 informacion sobre el filtro de desbloqueo desde el dispositivo para codificar un video, y puede realizar un filtrado de desbloqueo en el bloque correspondiente.
El modulo de correccion de desplazamiento puede realizar una correccion de desplazamiento en la imagen reconstruida basandose en el tipo de correccion de desplazamiento aplicada a una imagen al realizar la codification y en la informacion de valor de desplazamiento.
El ALF puede aplicarse a la unidad de codificacion basandose en la informacion sobre si aplicar el ALF, la informacion de coeficiente de ALF, etc. recibidos del dispositivo para codificar un video. La informacion de ALF puede proporcionarse como que esta incluida en un conjunto de parametros espedfico.
La memoria 245 puede almacenar la imagen o el bloque reconstruido para su uso como una imagen o un bloque de referencia, y puede proporcionar la imagen reconstruida a un modulo de salida.
Como se ha descrito anteriormente, en la realization de la presente invention, por conveniencia de la explicacion, la unidad de codificacion se usa como un termino que representa una unidad de codificacion, pero la unidad de codificacion puede servir como una unidad que realiza decodificacion asi como codificacion.
La figura 3 es una vista que ilustra un ejemplo para particionar jerarquicamente un bloque de codificacion basandose en una estructura de arbol de acuerdo con una realizacion de la
20
5
10
15
20
25
30
35
Una senal de video de entrada se decodifica en unidades de bloque predeterminadas, y una unidad predeterminada para decodificar la senal de video de entrada es un bloque de codification. El bloque de codification puede ser una unidad sobre la que se realiza la prediction intra/inter, la transformation, y la cuantificacion. El bloque de codificacion puede ser un bloque cuadrado o no cuadrado que tiene un tamano arbitrario en un intervalo de 8x8 a 64x64, o puede ser un bloque cuadrado o no cuadrado que tiene un tamano de 128x128, 256x256 o mas.
En concreto, el bloque de codificacion puede particionarse jerarquicamente basado en al menos uno de entre un arbol cuadrado y un arbol binario. En este caso, el particionamiento basado en el arbol cuadrado puede significar que un bloque de codificacion de 2Nx2N se particiona en cuatro bloques de codificacion de NxN, y el particionamiento basado en el arbol binario puede significar que un bloque de codificacion se particiona en dos bloques de codificacion. El particionamiento basado en el arbol binario puede realizarse simetrica o asimetricamente. El bloque de codificacion particionado basandose en el arbol binario puede ser un bloque cuadrado o un bloque no cuadrado, tal como una forma rectangular. El particionamiento basado en el arbol binario puede realizarse en un bloque de codificacion donde ya no se realiza el particionamiento basado en el arbol cuadrado. El particionamiento basado en el arbol cuadrado ya no puede realizarse en el bloque de codificacion particionado basandose en el arbol binario.
Con el fin de realizar un particionamiento adaptativo basandose en el arbol cuadrado o en el arbol binario, puede usarse la information que indica el particionamiento basado en el arbol cuadrado, la informacion sobre el tamano/profundidad del bloque de codificacion que el particionamiento basado en el arbol binario se permite, la informacion que indica el particionamiento basado en el arbol binario, la informacion sobre el tamano/profundidad del bloque de codificacion que el particionamiento basado en el arbol binario se permite, la informacion sobre el tamano/profundidad del bloque de codificacion que el particionamiento basado en el arbol binario no se permite, la informacion sobre si se realiza el particionamiento basado en el arbol binario en una direction vertical o en una direction horizontal, etc.
Como se muestra en la figura 3, el primer bloque de codificacion 300 con la profundidad de partition (profundidad de division) de k puede particionarse en multiples segundos bloques
21
5
10
15
20
25
30
35
de codificacion basados en el arbol cuadrado. Por ejemplo, los segundos bloques 310 a 340 de codificacion puede ser bloques cuadrados que tienen la mitad de anchura y la mitad de altura del primer bloque de codificacion, y la profundidad de partition del segundo bloque de codificacion puede aumentarse para k + 1.
El segundo bloque 310 de codificacion con la profundidad de particion de k +1 puede particionarse en multiples terceros bloques de codificacion con la profundidad de particion de k + 2. El particionamiento del segundo bloque 310 de codificacion puede realizarse usando selectivamente uno de entre el arbol cuadrado y el arbol binario en funcion de un modo de particion. En este caso, el particionamiento puede determinarse basandose en al menos una de entre la information que indica el particionamiento basado en un arbol cuadrado y la informacion que indica el particionamiento basado en un arbol binario.
Cuando el segundo bloque 310 de codificacion se particiona basandose en el arbol cuadrado, el segundo bloque 310 de codificacion puede particionarse en cuatro terceros bloques 310a de codificacion que tienen la mitad de anchura y la mitad de altura del segundo bloque de codificacion, y la profundidad de particion del tercer bloque 310a de codificacion puede aumentarse en k + 2. En contraste, cuando el segundo bloque 310 de codificacion se particiona basandose en el arbol binario, el segundo bloque 310 de codificacion puede particionarse en dos terceros bloques de codificacion. En este caso, cada uno de los dos terceros bloques de codificacion puede ser un bloque no cuadrado que tiene una de la mitad de anchura y la mitad de altura del segundo bloque de codificacion, y la profundidad de particion puede aumentarse en k + 2. El segundo bloque de codificacion puede determinarse como un bloque no cuadrado de una direction horizontal o una direction vertical en funcion de una direccion de particion, y la direccion de particion puede determinarse basandose en la informacion sobre si el particionamiento basado en el arbol binario se realiza en una direccion vertical o en una direccion horizontal.
Mientras tanto, el segundo bloque 310 de codificacion puede determinarse como un bloque de codificacion de hoja que ya no se particiona basandose en el arbol cuadrado o en el arbol binario. En este caso, el bloque de codificacion de hoja puede usarse como un bloque de prediccion o un bloque de transformacion.
Como el particionamiento del segundo bloque 310 de codificacion, el tercer bloque 310a de codificacion puede determinarse como un bloque de codificacion de hoja, o puede particionarse adicionalmente basandose en el arbol cuadrado o en el arbol binario.
22
5
10
15
20
25
30
35
Mientras tanto, el tercer bloque 310b de codificacion particionado basandose en el arbol binario puede particionarse ademas en los bloques 310b-2 de codificacion de una direction vertical o en los bloques 310b-3 de codificacion de una direccion horizontal basandose en el arbol binario, y la profundidad de partition de los bloques de codificacion relevantes puede aumentarse en k + 3. Como alternativa, el tercer bloque 310b de codificacion puede determinarse como un bloque 310b-1 de codificacion de hoja que ya no se particiona basandose en el arbol binario. En este caso, el bloque 310b-1 de codificacion puede usarse como un bloque de prediction o un bloque de transformation. Sin embargo, el procedimiento de particionamiento anterior puede realizarse de manera limitada basandose en al menos una de entre la information sobre el tamano/profundidad del bloque de codificacion que el particionamiento basado en el arbol cuadrado se permite, la informacion sobre el tamano/profundidad del bloque de codificacion que el particionamiento basado en el arbol binario se permite, y la informacion sobre el tamano/profundidad del bloque de codificacion el particionamiento basado en el arbol binario no se permite.
La figura 4 es una vista que ilustra los tipos de modos de prediccion intra predefinidos para un dispositivo para codificar/decodificar un video de acuerdo con una realization de la presente invencion.
El dispositivo para codificar/decodificar un video puede realizar la prediccion intra usando uno de los modos de prediccion intra predefinidos. Los modos de prediccion intra predefinidos para la prediccion intra pueden incluir modos de prediccion no direccionales (por ejemplo, un modo plano, un modo DC) y 33 modos de prediccion direccionales.
Como alternativa, con el fin de mejorar la precision de la prediccion intra, puede usarse un gran numero de modos de prediccion direccionales que los 33 modos de prediccion direccionales. Es decir, M modos de prediccion direccionales extendidos pueden definirse subdividiendo los angulos de los modos de prediccion direccionales (M > 33), y puede obtenerse un modo de prediccion direccional que tiene un angulo predeterminado usando al menos uno de los 33 modos de prediccion direccionales predefinidos.
La figura 4 muestra un ejemplo de los modos de prediccion intra extendidos, y los modos de prediccion intra extendidos pueden incluir dos modos de prediccion no direccionales y 65 modos de prediccion direccionales extendidos. Los mismos numeros de modos de prediccion intra extendidos pueden usarse para un componente luma y un componente
23
5
10
15
20
25
30
35
croma, o un numero diferente de modos de prediction intra pueden usarse para cada componente. Por ejemplo, pueden usarse 67 modos de prediccion intra extendidos para el componente luma, y pueden usarse 35 modos de prediccion intra para el componente croma.
Como alternativa, en funcion del formato croma, pueden usarse un numero diferente de modos de prediccion intra en la realization de la prediccion intra. Por ejemplo, en el caso del formato 4:2:0, pueden usarse 67 modos de prediccion intra para que el componente luma realice la prediccion intra y pueden usarse 35 modos de prediccion intra para el componente croma. En el caso del formato 4:4:4, pueden usarse 67 modos de prediccion intra tanto para el componente luma como para el componente croma para realizar la prediccion intra.
Como alternativa, en funcion del tamano y/o la forma del bloque, puede usarse un numero diferente de modos de prediccion intra para realizar la prediccion intra. Es decir, en funcion del tamano y/o la forma de la PU o CU, pueden usarse 35 modos de prediccion intra o 67 modos de prediccion intra para realizar la prediccion intra. Por ejemplo, cuando la CU o PU tiene el tamano de menos de 64x64 o se particiona de manera asimetrica, pueden usarse 35 de modos de prediccion intra para realizar la prediccion intra. Cuando el tamano de la CU o PU es igual o superior a 64x64, pueden usarse 67 modos de prediccion intra para realizar la prediccion intra. Pueden permitirse 65 modos de prediccion intra direccionales para Intra_2Nx2N, y solo pueden permitirse 35 modos de prediccion intra direccionales para Intra_NxN.
La figura 5 es un diagrama de flujo que ilustra brevemente un procedimiento de prediccion intra de acuerdo con una realizacion de la presente invencion.
Haciendo referencia a la figura 5, puede determinarse un modo de prediccion intra del bloque actual en la etapa S500.
En concreto, el modo de prediccion intra del bloque actual puede obtenerse basandose en una lista de candidatos y en un mdice. En este caso, la lista de candidatos contiene multiples candidatos, y los multiples candidatos pueden determinarse basandose en un modo de prediccion intra del bloque vecino adyacente al bloque actual. El bloque vecino puede incluir al menos uno de los bloques localizados en la parte superior, inferior, izquierda, derecha y esquina del bloque actual. El mdice puede especificar uno de los multiples candidatos de la lista de candidatos. El candidato especificado por el mdice puede
24
5
10
15
20
25
30
35
establecerse en el modo de prediction intra del bloque actual.
Un modo de prediccion intra usado para la prediccion intra en el bloque vecino puede establecerse como un candidato. Ademas, un modo de prediccion intra que tiene una direccionalidad similar a la del modo de prediccion intra del bloque vecino puede establecerse como candidato. En este caso, el modo de prediccion intra que tiene direccionalidad similar puede determinarse anadiendo o sustrayendo un valor constante predeterminado a o del modo de prediccion intra del bloque vecino. El valor constante predeterminado puede ser un numero entero, tal como uno, dos o mas.
La lista de candidatos puede incluir un modo predeterminado. El modo predeterminado puede incluir al menos uno de entre un modo plano, un modo DC, un modo vertical, y un modo horizontal. El modo predeterminado puede anadirse de manera adaptativa teniendo en cuenta el numero maximo de candidatos que puede incluirse en la lista de candidatos del bloque actual.
El numero maximo de candidatos que puede incluirse en la lista de candidatos puede ser de tres, cuatro, cinco, seis, o mas. El numero maximo de candidatos que puede incluirse en la lista de candidatos puede ser un valor fijo preestablecido en el dispositivo para codificar/decodificar un video, o puede determinarse de manera diferente basandose en una caracteristica del bloque actual. La caracteristica puede significar la
localizacion/tamano/forma del bloque, el numero/tipo de modos de prediccion intra que el bloque puede usar, etc. Como alternativa, la information que indica el numero maximo de candidatos que puede incluirse en la lista de candidatos puede indicarse por separado, y el numero maximo de candidatos que puede incluirse en la lista de candidatos puede determinarse de manera diferente usando la informacion. La informacion que indica el numero maximo de candidatos puede indicarse en al menos uno de entre un nivel de secuencia, un nivel de imagen, un nivel de segmento y un nivel de bloque.
Cuando los modos de prediccion intra extendidos y los 35 modos de prediccion intra predefinidos se usan selectivamente, los modos de prediccion intra de los bloques vecinos pueden transformarse en indices correspondientes a los modos de prediccion intra extendidos, o en los indices correspondientes a los 35 de modos de prediccion intra, con lo que pueden obtenerse los candidatos. Para transformar un mdice, puede usarse una tabla predefinida, o puede usarse una operation de escalado basandose en un valor predeterminado. En este caso, la tabla predefinida puede definir una relation de mapeo
25
5
10
15
20
25
entre diferentes grupos de modos de prediction intra (por ejemplo, los modos de prediction intra extendidos y los 35 modos de prediccion intra).
Por ejemplo, cuando el bloque vecino izquierdo usa los 35 modos de prediccion intra y el modo de prediccion intra del bloque vecino izquierdo es 10 (un modo horizontal), puede transformarse en un mdice de 16 correspondiente a un modo horizontal en los modos de prediccion intra extendidos.
Como alternativa, cuando el bloque vecino superior usa los modos de prediccion intra extendidos y el modo de prediccion intra, el bloque vecino superior tiene un mdice de 50 (un modo vertical), que puede transformarse en un mdice de 26 correspondiente a un modo vertical en los 35 modos de prediccion intra.
Basandose en el procedimiento descrito anteriormente para determinar el modo de prediccion intra, el modo de prediccion intra puede obtenerse de manera independiente para cada uno del componente luma y el componente croma, o el modo de prediccion intra del componente croma puede obtenerse en funcion del modo de prediccion intra del componente luma.
En concreto, el modo de prediccion intra del componente croma puede determinarse basandose en el modo de prediccion intra del componente luma como se muestra en la siguiente Tabla 1.
[Tabla 1]
- Intra_chroma_pred_mode[xCb][yCb]
- IntraPredModeY[xCb][yCb]
- 0
- 26 10 1 X (0 <= X <= 34)
- 0
- 34
- 0
-
- 0
-
- 0
-
- 0
-
- 1
- 26 34 26 26 26
- 2
- 10 10 34 10 10
- 3
- 1 1 1 34 1
- 4
- 0 26 10 1 X
5
10
15
20
25
30
35
En la Tabla 1, intra_chroma_pred_mode significa la information indicada para especificar el modo de prediction intra del componente croma, e IntraPredModeY indica el modo de prediction intra del componente luma.
Haciendo referencia a la figura 5, puede obtenerse una muestra de referencia para la prediccion intra del bloque actual en la etapa S510.
En concreto, puede obtenerse una muestra de referencia para la prediccion intra basandose una muestra vecina del bloque actual. La muestra vecina puede ser una muestra reconstruida del bloque vecino, y la muestra reconstruida puede ser una muestra reconstruida antes de que se aplique un filtro en bucle o se aplique una muestra reconstruida despues de aplicar el filtro en bucle.
Una muestra vecina reconstruida antes de que el bloque actual pueda usarse como la muestra de referencia, y una muestra vecina filtrada basandose en un filtro intra predeterminado puede usarse como la muestra de referencia. El filtro intra puede incluir al menos uno del primer filtro intra aplicado a multiples muestras vecinas localizadas en la misma lmea horizontal y el segundo filtro intra aplicado a multiples muestras vecinas localizadas en la misma lmea vertical. En funcion de las posiciones de las muestras vecinas, uno del primer filtro intra y el segundo filtro intra puede aplicarse selectivamente, o puede aplicarse ambos filtros intra.
El filtrado puede realizarse de forma adaptable basandose en al menos uno de los modos de prediccion intra del bloque actual y en el tamano del bloque de transformation del bloque actual. Por ejemplo, cuando el modo de prediccion intra del bloque actual es el modo DC, es posible que no se realice el filtrado del modo vertical o el modo horizontal. Cuando el tamano del bloque de transformacion es NxM, es posible que no se realice el filtrado. En este caso, N y M pueden ser los mismos valores o valores diferentes, o pueden ser valores de 4, 8, 16 o mas. Como alternativa, el filtrado puede realizarse selectivamente basandose en el resultado de una comparacion de un umbral predefinido y la diferencia entre el modo de prediccion intra del bloque actual y el modo vertical (o el modo horizontal). Por ejemplo, cuando la diferencia entre el modo de prediccion intra del bloque actual y el modo vertical es mayor que un umbral, puede realizarse el filtrado. El umbral puede definirse para cada tamano del bloque de transformacion como se muestra en la Tabla 2.
5
10
15
20
25
30
[Tabla 2]
-
- 8x8 Transformada 16x16 Transformada 32x32 Transformada
- Limite
- 7 1 0
El filtro intra puede determinate como uno de los multiples candidatos de filtro intra predefinidos en el dispositivo para codificar/decodificar un video. Con este fin, puede indicarse un mdice que especifica un filtro intra del bloque actual entre los multiples candidatos de filtro intra. Como alternativa, el filtro intra puede determinate basandose en al menos uno de entre el tamano/forma del bloque actual, el tamano/forma del bloque de transformation, la information sobre la intensidad del filtro y las variaciones de las muestras vecinas.
Haciendo referencia a la figura 5, la prediction intra puede realizarse usando el modo de prediction intra del bloque actual y la muestra de referencia en la etapa S520.
Es decir, la muestra de prediccion del bloque actual puede obtenerse usando el modo de prediccion intra determinado en la etapa S500 y la muestra de referencia obtenida en la etapa S510. Sin embargo, en el caso de la prediccion intra, puede usarse una muestra en el borde del bloque vecino, y por lo tanto puede disminuirse la calidad de la imagen de prediccion. Por lo tanto, puede realizarse un procedimiento de correction en la muestra de prediccion generada a traves del procedimiento de prediccion descrito anteriormente, y que se describira en detalle haciendo referencia a las figuras 6 a 15. Sin embargo, el procedimiento de correccion no se limita a aplicarse solo a la muestra de prediccion intra, y puede aplicarse a una muestra de prediccion inter o a la muestra reconstruida.
La figura 6 es una vista que ilustra un procedimiento para corregir una muestra de prediccion de un bloque actual basandose en la informacion diferencial de las muestras vecinas de acuerdo con una realization de la presente invention.
La muestra de prediccion del bloque actual puede corregirse basandose en la informacion diferencial de multiples muestras vecinas para el bloque actual. La correccion puede realizarse en todas las muestras de prediccion en el bloque actual, o puede realizarse en las muestras de prediccion en algunas regiones predeterminadas. Algunas regiones pueden ser una fila/columna o varias filas/columnas, o pueden ser regiones preestablecidas para su
5
10
15
20
25
30
correction en el dispositivo para codificar/descodificar un video, o pueden determinate de manera diferente basandose en al menos uno de entre el tamano/forma del bloque actual y el modo de prediction intra.
Las muestras vecinas pueden pertenecer a los bloques vecinos colocados en la parte superior, la izquierda y la esquina superior izquierda del bloque actual. El numero de muestras vecinas usadas para la correccion puede ser dos, tres, cuatro o mas. Las posiciones de las muestras vecinas pueden determinarse de manera diferente en funcion de la position de la muestra de prediccion que es el objetivo de correccion en el bloque actual. Como alternativa, algunas de las muestras vecinas pueden tener posiciones fijas independientemente de la posicion de la muestra de prediccion que es el objetivo de correccion, y las muestras vecinas restantes pueden tener diferentes posiciones determinadas en funcion de la posicion de la muestra de prediccion que es el objetivo de correccion.
La information diferencial de las muestras vecinas puede significar una muestra diferencial entre las muestras vecinas, o puede significar un valor obtenido escalando la muestra diferencial por un valor constante predeterminado (por ejemplo, uno, dos, tres, etc.). En este caso, el valor constante predeterminado puede determinarse considerando la posicion de la muestra de prediccion que es el objetivo de correccion, la posicion de la columna o fila que incluye la muestra de prediccion que es el objetivo de correccion, la posicion de la muestra de prediccion dentro de la columna o fila, etc.
Por ejemplo, cuando el modo de prediccion intra del bloque actual es el modo vertical, pueden usarse las muestras diferenciales entre la muestra vecina superior izquierda p(-1, -1) y las muestras vecinas p(-1, y) adyacentes al limite izquierdo del bloque actual para obtener la muestra de prediccion final como se muestra en la Formula 1. (y = 0... N-1)
[Formula 1]
P'(0,y) = P(0,y) + ( p(-1,y) - ) >> 1
En las Formulas 1-6, el operador ">>” denota el desplazamiento bit a bit a la derecha.
5
10
15
20
25
30
35
Por ejemplo, cuando el modo de prediction intra del bloque actual es el modo horizontal, pueden usarse las muestras diferenciales entre la muestra vecina superior izquierda p(-1, -1) y las muestras vecinas p(x, -1) adyacentes al Kmite superior del bloque actual para obtener la muestra de prediccion final como se muestra en la Formula 2. (x = 0... N-1)
[Formula 2]
P'(x,0) = p(x,0) + ( p(x,-1) - p(-1,-1) ) >> 1
Por ejemplo, cuando el modo de prediccion intra del bloque actual es el modo vertical, pueden usarse las muestras diferenciales entre la muestra vecina superior izquierda p(-1, -1) y las muestras vecinas p(-1, y) adyacentes al limite izquierdo del bloque actual para obtener la muestra de prediccion final. En este caso, la muestra diferencial puede anadirse a la muestra de prediccion, o la muestra diferencial puede escalarse mediante un valor constante predeterminado, y a continuation anadirse a la muestra de prediccion. El valor constante predeterminado usado en la escala puede determinarse de manera diferente en funcion de la columna y/o la fila. Por ejemplo, la muestra de prediccion puede corregirse como se muestra en la Formula 3 y en la Formula 4. (y = 0... N-1)
[Formula 3]
P'(0,y) = P(0,y) + ( p(-1,y) -p(-1,-1) ) >> 1 [Formula 4]
P'(1,y) = P(1,y) + ( p(-1,y) - p(-1,-1) ) >> 2
Por ejemplo, cuando el modo de prediccion intra del bloque actual es el modo horizontal, pueden usarse las muestras diferenciales entre la muestra vecina superior izquierda p(-1, -1) y las muestras vecinas p(x, -1) adyacentes al limite superior del bloque actual para obtener la muestra de prediccion final, como se describe en el caso del modo vertical. Por ejemplo, la muestra de prediccion puede corregirse como se muestra en la Formula 5 y en la Formula 6. (x = 0.... N-1)
[Formula 5]
P'(x,0) = p(x,0) + ( p(x,-1) -p(-1,-1) ) >> 1 [Formula 6]
P'(x,1) = p(x,1) + ( p(x,-1) -p(-1,-1) ) >> 2
Las figuras 7 y 8 son vistas que ilustran un procedimiento para corregir una muestra de
30
5
10
15
20
25
30
35
prediction basandose en un filtro de correction predeterminada de acuerdo con una realization de la presente invention.
La muestra de prediccion puede corregirse basandose en la muestra vecina de la muestra de prediccion que es el objetivo de correccion y en un filtro de correccion predeterminada. En este caso, la muestra vecina puede especificarse mediante una lmea angular del modo de prediccion direccional del bloque actual, o puede ser al menos una muestra colocada en la misma lmea angular que la muestra de prediccion que es el objetivo de correccion. Ademas, la muestra vecina puede ser una muestra de prediccion en el bloque actual, o puede ser una muestra reconstruida en un bloque vecino reconstruido antes del bloque actual.
Al menos uno del numero de derivaciones, la fuerza, y un coeficiente de filtro del filtro de correccion puede determinarse basandose en al menos uno de entre la position de la muestra de prediccion que es el objetivo de correccion, el hecho de si la muestra de prediccion que es el objetivo de correccion esta posicionada o no en el limite del bloque actual, el modo de prediccion intra del bloque actual, el angulo del modo de prediccion direccional, el modo de prediccion (el modo inter o intra) del bloque vecino, y el tamano/forma del bloque actual.
Haciendo referencia a la figura 7, cuando el modo de prediccion direccional tiene un mdice de 2 o 34, al menos una muestra de prediccion/reconstruida colocada en la parte inferior izquierda de la muestra de prediccion que es el objetivo de correccion y el filtro de correccion predeterminado pueden usarse para obtener la muestra de prediccion final. En este caso, la muestra de prediccion/reconstruida en la parte inferior izquierda puede pertenecer a una lmea anterior de una lmea que incluye la muestra de prediccion que es el objetivo de correccion, para el mismo bloque que la muestra actual, o para el bloque vecino adyacente al bloque actual.
El filtrado para la muestra de prediccion puede realizarse unicamente en la lmea localizada en el limite del bloque, o puede realizarse en multiples lmeas. Puede usarse el filtro de correccion donde al menos uno del numero de derivaciones de filtro y un coeficiente de filtro es diferente para cada una de las lmeas. Por ejemplo, puede usarse un filtro (1/2, 1/2) para la primera lmea izquierda mas cercana al limite del bloque, puede usarse un filtro (12/16, 4/16) para la segunda lmea, puede usarse un filtro (14/16, 2/16) para la tercera lmea, y puede usarse un filtro (15/16, 1/16) para la cuarta lmea.
31
5
10
15
20
25
30
35
Como alternativa, cuando el modo de prediction direccional tiene un mdice de 3 a 6 o de 30 a 33, el filtrado puede realizarse en el limite del bloque como se muestra en la figura 8, y puede usarse un filtro de correction de 3 tomas para corregir la muestra de prediccion. El filtrado puede realizarse usando la muestra inferior izquierda de la muestra de prediccion que es el objetivo de correccion, la muestra inferior de la muestra inferior izquierda y un filtro de correccion de 3 tomas que toma como entrada la muestra de prediccion que es el objetivo de correccion. La position de la muestra vecina usada por el filtro de correccion puede determinarse de manera diferente basandose en el modo de prediccion direccional. El coeficiente de filtro del filtro de correccion puede determinarse de manera diferente en funcion del modo de prediccion direccional.
Pueden aplicarse diferentes filtros de correccion en funcion de si el bloque vecino se codifica en el modo inter o en el modo intra. Cuando el bloque vecino se codifica en el modo intra, puede usarse un procedimiento de filtrado en el que se da mas peso a la muestra de prediccion, en comparacion con cuando el bloque vecino se codifica en el modo inter. Por ejemplo, en el caso de que el modo de prediccion intra sea 34, cuando el bloque vecino se codifica en el modo inter, puede usarse un filtro (1/2, 1/2), y cuando el bloque vecino se codifica en el modo intra, puede usarse un filtro (4/16, 12/16).
El numero de lmeas a filtrar en el bloque actual puede variar en funcion del tamano/forma del bloque actual (por ejemplo, el bloque de codification y el bloque de prediccion). Por ejemplo, cuando el tamano del bloque actual es igual o inferior a 32x32, el filtrado puede realizarse solo en una lmea en el limite del bloque; de lo contrario, el filtrado puede realizarse en varias lmeas, incluida la lmea en el limite del bloque.
Las figuras 7 y 8 se basan en el caso donde se usan los 35 modos de prediccion intra en la figura. 4, pero pueden aplicarse igualmente/similarmente al caso donde se usen los modos de prediccion intra extendidos.
La figura 9 es una vista que ilustra un procedimiento para corregir una muestra de prediccion usando el peso y el desplazamiento de acuerdo con una realization de la presente invencion.
Cuando brillo cambia entre la trama anterior y la trama actual ocurre, a pesar de que el bloque actual es similar a un bloque adjunto de la trama anterior, que la imagen de
32
5
10
15
20
25
30
35
prediction no puede codificarse en prediction intra o en prediction inter, o la calidad de la imagen de prediccion codificada en prediccion intra o en prediccion inter puede ser relativamente baja. En este caso, el peso y el desplazamiento para la compensation de brillo pueden aplicarse a la muestra de prediccion de tal manera que la calidad de la imagen de prediccion puede mejorarse.
Haciendo referencia a la figura 9, al menos uno del peso w y el desplazamiento f pueden determinarse en la etapa S900.
Al menos uno del peso w y desplazamiento f puede indicarse en al menos uno de un conjunto de parametros de secuencia, un conjunto de parametros de imagen, y una cabecera de segmento. Como alternativa, al menos uno de entre el peso w y el desplazamiento f puede indicarse en unidades de bloque predeterminadas compartiendo los mismos, y multiples bloques (por ejemplo, la CU, la PU, y la TU) que pertenecen a una unidad de bloque predeterminada que pueden compartir uno de entre el peso w y/o el desplazamiento f indicados.
Al menos uno de entre el peso w y el desplazamiento f puede indicarse independientemente del modo de prediccion del bloque actual, y puede indicarse selectivamente considerando el modo de prediccion. Por ejemplo, cuando el modo de prediccion del bloque actual es el modo inter, puede indicarse el peso w y/o el desplazamiento f; de lo contrario, no pueden indicarse. En este caso, el modo inter puede incluir al menos uno de entre el modo de omision, el modo de mezcla, el modo AMVP y el modo de referencia de imagen actual. El modo de referencia de imagen actual puede significar un modo de prediccion que usa una region pre-reconstruida en la imagen actual que incluye el bloque actual. Puede usarse un vector de movimiento para el modo de referencia de imagen actual para especificar la region pre-reconstruida. Un indicador o mdice que indica si el bloque actual esta codificado en el modo de referencia de imagen actual puede indicarse, o puede obtenerse a traves de un mdice de imagen de referencia del bloque actual. La imagen actual para el modo de referencia de imagen actual puede existir en una position fija (por ejemplo, la position con refIdx = 0 o la ultima posicion) en la lista de imagenes de referencia del bloque actual. Como alternativa, la imagen actual puede estar colocada de manera diferente en la lista de imagenes de referencia, y para este fin, puede indicarse un mdice de imagen de referencia separado que indica la posicion de la imagen actual.
El peso puede obtenerse usando el cambio de brillo entre la primera plantilla, que tiene una
33
5
10
15
20
25
30
determinada forma de plantilla y que es adyacente al bloque actual, y la segunda plantilla que es adyacente al bloque que va antes del actual. La segunda plantilla puede incluir una muestra no disponible. En este caso, una muestra disponible puede copiarse a la posicion de la muestra no disponible, o la muestra disponible puede obtenerse por interpolation entre multiples muestras disponibles. En este caso, la muestra disponible puede incluirse en la segunda plantilla o en el bloque vecino. Al menos uno de entre el coeficiente, la forma y el numero de tomas del filtro usado en la interpolacion puede determinarse de manera diferente basandose en el tamano y/o la forma de la plantilla. Un procedimiento de composition de una plantilla se describira en detalle haciendo referencia a las figuras 10 a 15.
Por ejemplo, cuando la muestra vecina del bloque actual se designa por yi (i oscilando de 0 a N-1) y la muestra vecina del bloque adjunto se designa por Xi (i oscilando de 0 a N-1), el peso w y el desplazamiento f pueden obtenerse de la siguiente manera.
Usando una plantilla de forma espedfica, adyacente al bloque actual, pueden obtenerse el peso w y el desplazamiento f obteniendo el valor mmimo de E(w, f) en la Formula 7.
[Formula 7]
imagen1
La formula 7 para obtener el valor mmimo puede cambiarse a la Formula 8. [Formula 8]
imagen2
La formula 9 para obtener el peso w y la formula 10 para obtener el desplazamiento f puede obtenerse a partir de la formula 8.
[Formula 9]
]Y Si Zi X] Si yt I X
W “ N £f x,yxf - £, Si x; + X
[Formula 10]
5
10
15
20
25
30
35
imagen3
Haciendo referencia a la figura 9, al menos uno de entre el peso y el desplazamiento determinados en la etapa S900 puede usarse para corregir la muestra de prediction.
Por ejemplo, cuando se produce un cambio de brillo en todas las tramas, el peso w y el desplazamiento f se aplican a la muestra de prediccion p generada a traves de la prediccion intra de tal manera que puede obtenerse una muestra de prediccion corregida p’ como se muestra en la Formula 11.
[Formula 11]
p’ = w X p + f
En este caso, el peso w y el desplazamiento f pueden aplicarse a la muestra de prediccion generada a traves de la prediccion inter, o pueden aplicarse a la muestra reconstruida.
Las figuras 10 a 15 son vistas que ilustran un procedimiento de composition de una plantilla para determinar el peso w de acuerdo con una realization de la presente invention.
Haciendo referencia a la izquierda de la figura 10, una plantilla puede estar compuesta de todas las muestras vecinas adyacentes al bloque actual, o una plantilla puede estar compuesta de algunas muestras submuestreadas a partir de las muestras vecinas adyacentes al bloque actual. El medio de la figura 10 muestra un ejemplo de 1/2 submuestreo, y una plantilla puede estar compuesta solo de muestras en gris. En lugar de 1/2 submuestreo, la plantilla puede componerse usando 1/4 de submuestreo o 1/8 submuestreo. Como se muestra a la derecha de la figura 10, una plantilla puede estar compuesta por todas las muestras vecinas adyacentes al bloque actual, excepto por la muestra colocada en la parte superior izquierda. No se muestra en la figura 10, considerando la position del bloque actual en la imagen o un bloque de arbol de codification (la unidad de codificacion mas grande), puede usarse una plantilla compuesta solo por las muestras colocadas a la izquierda o una plantilla compuesta solo por las muestras colocadas en la parte superior.
Haciendo referencia a la figura 11, la plantilla puede componerse aumentando el numero de muestras vecinas. Es decir, la plantilla en la figura 11 puede estar compuesta de las
5
10
15
20
25
30
35
primeras muestras vecinas adyacentes al Kmite del bloque actual y de las segundas muestras vecinas adyacentes a las primeras muestras vecinas.
Como se muestra en la izquierda de la figura. 11, una plantilla puede estar compuesta de todas las muestras vecinas que pertenecen a dos lmeas adyacentes al limite del bloque actual, o como se muestra en el medio de la figura 11, una plantilla puede estar compuesta por un submuestreo de la plantilla en la izquierda. Como se muestra a la derecha de la figura 11, una plantilla puede componerse excluyendo cuatro muestras que pertenecen a la parte superior izquierda. No mostrado en la figura 11, considerando la posicion del bloque actual en la imagen o un bloque de arbol de codificacion (la unidad de codificacion mas grande), puede usarse una plantilla compuesta unicamente por las muestras colocadas a la izquierda o una plantilla compuesta unicamente por las muestras colocadas en la parte superior.
Como alternativa, pueden componerse diferentes plantillas en funcion del tamano y/o la forma del bloque actual (si el bloque actual tiene una forma cuadrada, si el bloque actual se particiona simetricamente). Por ejemplo, como se muestra en la figura 12, una tasa de submuestreo de la plantilla puede aplicarse de manera diferente en funcion del tamano del bloque actual. Por ejemplo, como se muestra a la izquierda de la figura 12, cuando el tamano del bloque es igual a o menor que 64x64, puede componerse 1/2 de plantilla de submuestra. Como se muestra a la derecha de la figura 12, cuando el tamano del bloque es igual a o mayor que 128x128, 1/4 de plantilla de submuestra.
Haciendo referencia a la figura 13, la plantilla puede componerse aumentando el numero de muestras vecinas adyacentes al bloque actual en funcion del tamano del mismo.
Pueden usarse multiples candidatos de plantilla que pueden determinarse en una secuencia o una rebanada, y puede usarse selectivamente uno de los multiples candidatos de plantilla. Los multiples candidatos de plantilla pueden ser plantillas de diferentes formas y/o tamanos. La information sobre la forma y/o el tamano de la plantilla puede indicarse en una cabecera de secuencia o cabecera de segmento. En el dispositivo para codificar/decodificar un video, puede asignarse un mdice a cada candidato de plantilla. Con el fin de identificar los candidatos de plantilla a usar en la secuencia, imagen o segmento actual entre los multiples candidatos de plantilla, puede codificarse la sintaxis type_weight_pred_template_idx. El dispositivo para decodificar un video puede usar los candidatos de plantilla de manera selectiva basandose en la sintaxis type_weight_pred_template_idx.
36
Por ejemplo, como se muestra en la figura 14, la plantilla del medio de la figura 10 puede asignarse a 0, la plantilla de la derecha de la figura 10 puede asignarse a 1, la plantilla del centro de la figura 11 puede asignarse a 2, y la plantilla de la derecha de la figura 11 puede 5 asignarse a 3. La plantilla usada en la secuencia puede indicarse.
Al realizar la prediccion ponderada usando un bloque no cuadrado, la plantilla puede componerse aplicando diferentes tasas de submuestreo para lados largos y cortos de tal manera que el numero total de plantillas es 2AN. Por ejemplo, como se muestra en la figura 10 15, la plantilla se puede componer realizando 1/2 de submuestreo en el lado corto y 1/4 de
submuestreo en el lado largo
Aplicabilidad industrial
15 La presente invencion puede usarse para codificar/decodificar una senal de video.