ES2777184T3 - Método y aparato para codificar/decodificar información de imágenes - Google Patents
Método y aparato para codificar/decodificar información de imágenes Download PDFInfo
- Publication number
- ES2777184T3 ES2777184T3 ES12846692T ES12846692T ES2777184T3 ES 2777184 T3 ES2777184 T3 ES 2777184T3 ES 12846692 T ES12846692 T ES 12846692T ES 12846692 T ES12846692 T ES 12846692T ES 2777184 T3 ES2777184 T3 ES 2777184T3
- Authority
- ES
- Spain
- Prior art keywords
- block
- value
- filtering
- unblocking
- limit
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Un método de filtrado de desbloqueo, mediante un aparato de decodificación de video, que comprende: reconstruir una imagen en bloques de unidades de codificación (CU), que comprende unidades de predicción (PU) y unidades de transformación (TU); (S310) derivar un límite de un bloque de unidad de filtrado de desbloqueo (810, 910) que es un bloque de la imagen reconstruida para la que se realiza el filtrado de desbloqueo; (S320; S1710) establecer una fuerza límite bS de un límite de un bloque de unidad de configuración de bS (610, 620), en donde el bloque de unidad de configuración de bS es un sub-bloque de un bloque de unidad de filtrado de desbloqueo, en donde el paso (S320; S1710) de establecer la bS incluye establecer la bS para un límite objetivo, que es el límite de un bloque de unidad de filtrado de desbloqueo que coincide con el límite del bloque de unidad de configuración de bS; y (S330; S1720) aplicar el filtro de desbloqueo en el límite objetivo basado en la bS, caracterizado porque la bS se establece en un valor entre 0, 1 y 2 (S1410; S1430; S1450), en donde cuando por lo menos uno de los dos bloques que están adyacentes al límite objetivo se codifica con el modo de intra predicción, la bS se establece en el valor 2 (S1420); de otro modo, cuando por lo menos uno de los dos bloques incluye un coeficiente de transformación distinto de 0, o los dos bloques tienen imágenes de referencia diferentes, o tienen vectores de movimiento diferentes, la bS se establece en el valor 1 (S1440, S1450); de otro modo, la bS se establece en el valor 0 (S1470); en donde cuando la bS es igual al valor 0, no se aplica el filtrado de desbloqueo, en donde cuando la bS es mayor que el valor 0, el filtrado de desbloqueo se aplica a una muestra de luma, y en donde cuando la bS es mayor que el valor 1, el filtrado de desbloqueo se aplica a una muestra de croma.
Description
DESCRIPCIÓN
Método y aparato para codificar/decodificar información de imágenes
CAMPO TÉCNICO
La presente invención se refiere a una técnica de compresión de información de video, y más particularmente, a un método para aplicar un filtro de desbloqueo como filtro en bucle.
ANTECEDENTES DE LA TÉCNICA
Recientemente, ha aumentado la demanda de una imagen de alta resolución y alta calidad en varios campos de aplicaciones. A medida que una imagen tiene mayor resolución y mayor calidad, aumenta más la cantidad de datos en la imagen.
Por consiguiente, cuando los datos de video se transfieren usando medios como líneas de banda ancha cableadas o inalámbricas existentes o los datos de video se almacenan en medios de almacenamiento existentes, el coste de transferencia de información y el coste de almacenamiento de información aumentan.
Pueden usarse técnicas de compresión de video de alta eficiencia para transferir, almacenar y reproducir información de manera efectiva en imágenes de alta resolución y alta calidad.
La inter predicción y la intra predicción pueden usarse para mejorar la eficiencia de la compresión de video. En la inter predicción, los valores de píxeles de una imagen actual se predicen con referencia a la información de otras imágenes. En la intra predicción, los valores de píxeles de una imagen actual se predicen usando una relación inter-píxel en la misma imagen.
Pueden aplicarse varios métodos para elaborar una imagen igual a una imagen original a una unidad de proceso, por ejemplo, un bloque, de una imagen predicha. Por consiguiente, un decodificador puede decodificar un video con mayor precisión (más cercano a una imagen original), y un codificador puede codificar un video para reconstruir la imagen con mayor precisión.
El documento VCEG-N17 de la ITU - Sector de Normalización de las Telecomunicaciones, Grupo de Estudio 16, Pregunta 6, Grupo de Expertos en Codificación de Video (VCEG) propone un filtro de bucle TML mejorado con menor complejidad. La fuerza límite, Bs, se propone como un parámetro para controlar el proceso de filtrado de todos los límites de bloque.
La Solicitud de Patente de Estados Unidos US 2006/0146941 divulga un método de filtrado de desbloqueo que incluye elegir un bloque actual y su bloque contiguo en el que se realizará un filtrado de desbloqueo, evaluar si el bloque actual y el bloque contiguo han sido codificados por el modo intra BL, elegir una fuerza del filtro de desbloqueo de acuerdo con el resultado del juicio, y realizar el filtrado de desbloqueo con respecto a un límite entre el bloque actual y el bloque contiguo y de acuerdo con la fuerza del filtro de desbloqueo.
Finalmente, el ensayo "An Effective Method of Deblocking Filter for H.264/AVC", publicado por IEEE en 2007, propone una técnica de filtrado de desbloqueo en bucle que usa un método Bs de preevaluación para reducir la complejidad computacional.
En resumen, los documentos anteriores divulgan características del preámbulo de las reivindicaciones independientes.
RESUMEN DE LA INVENCIÓN
Problema técnico
Un objeto de la presente invención es proporcionar un método y un aparato que puedan reconstruir una imagen para que sea cercana a una imagen original eliminando eficazmente los artefactos de desbloqueo en la aplicación del filtrado de desbloqueo.
Otro objeto de la presente invención es proporcionar un método y un aparato que puedan mejorar la eficiencia de compresión reduciendo la complejidad en la aplicación del filtrado de desbloqueo.
Otro objeto más de la presente invención es proporcionar un método y un aparato que puedan reducir la complejidad estableciendo efectivamente un bloque de unidad para determinar un valor de bS (fuerza límite) en la aplicación del filtrado de desbloqueo.
Otro objeto más de la presente invención es proporcionar un método y un aparato que pueden reducir la complejidad estableciendo efectivamente un valor de bS en la aplicación del filtrado de desbloqueo.
El objeto anterior se resuelve mediante la combinación de características de las reivindicaciones independientes. Las realizaciones preferidas se definen en las reivindicaciones dependientes.
Solución al problema
De acuerdo con un aspecto de la invención, se proporciona un método de derivación de fuerza límite (bS) que incluye los pasos de: derivar un límite de un bloque de unidad de filtrado de desbloqueo que es un bloque de unidad en el que se realiza el filtrado de desbloqueo; y establecer un bS de cada bloque de unidad de configuración de bS en el bloque de la unidad de filtrado de desbloqueo, en donde el paso de configurar la bS incluye establecer un valor de bS de un límite objetivo correspondiente al límite del bloque de la unidad de filtrado de desbloqueo como un límite del bloque de la unidad de configuración de bS.
El paso de establecer la bS puede incluir: establecer el valor de bS del límite objetivo para bS2 cuando por lo menos uno de los dos bloques con el límite objetivo como límite está intra-codificado; establecer el valor de bS del límite objetivo para bS1 cuando ninguno de los dos bloques con el límite objetivo como límite está intra-codificado y el límite objetivo es un objetivo de filtrado de desbloqueo; y establecer el valor de bS del límite objetivo para bS0 cuando el límite objetivo no es un objetivo de filtrado de desbloqueo, y los valores de bS0, bS1 y bS2 pueden satisfacer una relación de bS0<bS1<bS2.
El caso en el que bS se establece en bS1 puede no ser el caso en el que por lo menos uno de los dos bloques con el límite objetivo como límite está intra-codificado y puede incluir: un caso en el que por lo menos uno de los dos bloques con el límite objetivo como límite incluye un coeficiente de transformación distinto de 0; y un caso en el que los dos bloques con el límite objetivo como límite tienen diferentes imágenes de referencia o diferentes vectores de movimiento.
El paso de derivar el límite del bloque de la unidad de filtrado de desbloqueo y el paso de establecer la bS puede realizarse primero en los bordes verticales de una imagen que incluye el bloque de la unidad de filtrado de desbloqueo y luego puede realizarse en los bordes horizontales de la imagen que incluye los bloques de la unidad de filtrado de desbloqueo.
El bloque de la unidad de filtrado de desbloqueo puede ser cualquiera de un bloque de codificación, un bloque de transformación, un bloque de predicción y un bloque de 8x8 píxeles. El bloque de la unidad de configuración de bS puede ser un bloque de 4x4 píxeles.
De acuerdo con otro aspecto de la presente invención, se proporciona un método de filtrado de desbloqueo que incluye los pasos de: establecer una fuerza límite (bS) de un límite objetivo mediante bloques de unidades de configuración de bS; y aplicar el filtrado de desbloqueo en el límite objetivo desbloqueando bloques de la unidad de filtrado, en donde el paso de establecer la bS incluye establecer el valor de bS del límite objetivo correspondiente al bloque de la unidad de filtrado de desbloqueo como el límite del bloque de la unidad de configuración de bS.
El paso de establecer la bS puede incluir: establecer el valor de bS del límite objetivo en bS2 cuando por lo menos uno de los dos bloques con el límite objetivo como un límite está intra-codificado; establecer el valor de bS del límite objetivo para bS1 cuando ninguno de los dos bloques con el límite objetivo como un límite está intracodificado y el límite objetivo es un objetivo de filtrado de desbloqueo; y establecer el valor de bS del límite objetivo en bS0 cuando el límite objetivo no es un objetivo de filtrado de desbloqueo, y los valores de bS0, bS1 y bS2 pueden satisfacer una relación de bS0<bS1<bS2.
El caso en el que bS se establece en bS1 puede no ser el caso en el que por lo menos uno de los dos bloques con el límite objetivo como un límite está intra-codificado y puede incluir: un caso en el que por lo menos uno de los dos bloques con el límite objetivo como límite incluye un coeficiente de transformación distinto de 0; y un caso en el que los dos bloques con el límite objetivo como límite tienen diferentes imágenes de referencia o diferentes vectores de movimiento.
El paso de derivar el límite del bloque de la unidad de filtrado de desbloqueo y el paso de establecer la bS puede realizarse primero en los bordes verticales de una imagen que incluye el bloque de la unidad de filtrado de desbloqueo y luego puede realizarse en los bordes horizontales de la imagen que incluye los bloques de la unidad de filtrado de desbloqueo.
Cuando el valor de bS establecido para el límite objetivo es mayor que bS0 y el filtrado de desbloqueo se realiza en el mismo, puede determinarse cuales de los filtros fuertes y los filtros débiles deben realizarse.
La determinación de cuales de los filtros fuertes y los filtros débiles debe realizarse puede realizarse en
base a muestras de los dos bloques con el límite objetivo como límite, y la determinación de cuales de los filtros fuertes y los filtros débiles deben realizarse puede realizarse en base a las muestras que se someterán al filtrado de desbloqueo de muestras en filas de muestras con el límite objetivo como un límite cuando el límite objetivo es un borde vertical y en base a las muestras que se someterán al filtrado de desbloqueo de las muestras en columnas de muestras con el límite objetivo como límite cuando el límite objetivo es un borde horizontal.
Cuando se determina que debe realizarse el filtrado débil, el filtrado puede realizarse en las muestras seleccionadas de las muestras que se someterán al filtrado de desbloqueo.
El bloque de la unidad de filtrado de desbloqueo puede ser cualquiera de un bloque de codificación, un bloque de transformación, un bloque de predicción y un bloque de 8x8 píxeles. El bloque de la unidad de configuración de bS puede ser un bloque de 4x4 píxeles.
Efecto ventajoso
De acuerdo con los aspectos de la presente invención, es posible reconstruir una imagen para que sea cercana a una imagen original eliminando eficazmente los artefactos de desbloqueo en la aplicación del filtrado de desbloqueo.
De acuerdo con los aspectos de la presente invención, es posible mejorar la eficiencia de compresión reduciendo la complejidad en la aplicación del filtrado de desbloqueo.
De acuerdo con los aspectos de la presente invención, es posible reducir la complejidad estableciendo efectivamente un bloque de unidad para decidir un valor de bS (fuerza límite) en la aplicación del filtrado de desbloqueo. De acuerdo con los aspectos de la presente invención, también es posible reducir la complejidad estableciendo efectivamente un valor de bS en la aplicación del filtrado de desbloqueo.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La FIG. 1 es un diagrama de bloques que ilustra esquemáticamente un aparato de codificación (codificador de video) de acuerdo con una realización de la invención.
La FIG. 2 es un diagrama de bloques que ilustra esquemáticamente un decodificador de video de acuerdo con una realización de la invención.
La FIG. 3 es un diagrama de flujo que ilustra esquemáticamente un método para aplicar un filtro de desbloqueo de acuerdo con la invención.
La FIG. 4 es un diagrama que ilustra esquemáticamente detalles del filtrado de desbloqueo de acuerdo con la invención.
La FIG. 5 es un diagrama de flujo que ilustra esquemáticamente un ejemplo de un método de decisión bS. La FIG. 6 es un diagrama que ilustra esquemáticamente un ejemplo de un método para determinar un valor de bS.
Las FIGS. 7 y 8 son diagramas que ilustran esquemáticamente otros ejemplos del método para determinar un valor de bS.
La FIG. 9 es un diagrama que ilustra esquemáticamente un ejemplo de un método de decisión de bS cuando un límite de un bloque de unidad de filtrado de desbloqueo y un límite de un bloque de unidad de configuración de bS coinciden.
La FIG. 10 es un diagrama que ilustra esquemáticamente un ejemplo de un método para determinar un valor de bS representativo en un bloque de unidad en el que se realiza el filtrado de desbloqueo.
La FIG. 11 es un diagrama de flujo que ilustra esquemáticamente otro ejemplo del método de decisión bS. Las FIGS. 12 a 14 son diagramas de flujo que ilustran esquemáticamente ejemplos de un método para determinar un valor de bS como uno de los tres valores.
Las FIGS. 15 y 16 son diagramas de flujo que ilustran esquemáticamente el método de decisión de bS como un ejemplo de un árbol de decisión de bS que se usa para aplicar un OMBC.
Las FIGS. 17 y 18 son diagramas que ilustran esquemáticamente ejemplos de un método para determinar un bS y aplicar el filtrado de desbloqueo.
La FIG. 19 es un diagrama de flujo que ilustra esquemáticamente un ejemplo de un método para determinar un bS representativo.
La FIG. 20 es un diagrama de flujo que ilustra esquemáticamente otro ejemplo del método para determinar un bS representativo.
La FIG. 21 es un diagrama de flujo que ilustra esquemáticamente un método para simplificar un árbol de decisión de bS.
La FIG. 22 es un diagrama de flujo que ilustra esquemáticamente un método de codificación de video de acuerdo con la invención.
La FIG. 23 es un diagrama de flujo que ilustra esquemáticamente un método de decodificación de video de acuerdo con la invención.
La FIG. 24 es un diagrama de flujo que ilustra un ejemplo de un método de derivación de bS de acuerdo con
la invención.
DESCRIPCIÓN DE LAS REALIZACIONES EJEMPLARES
La presente invención puede modificarse de varias maneras en varias formas, y se describirán e ilustrarán realizaciones específicas de la misma en los dibujos. Sin embargo, no se pretende que las realizaciones limiten la invención. Los términos usados en la siguiente descripción se usan para describir meramente realizaciones específicas, pero no se pretende que limiten la invención. Una expresión de un número singular incluye una expresión del número plural, siempre que se lea claramente de manera diferente. Se pretende que términos como "incluir" y "tener" indiquen que las características, números, pasos, operaciones, elementos, componentes o combinaciones de los mismos usados en la siguiente descripción existen y, por lo tanto, debe entenderse que la posibilidad de existencia o adición de una o más características, números, pasos, operaciones, elementos, componentes diferentes, o combinaciones de los mismos no están excluidos.
Por otro lado, los elementos en los dibujos descritos en la invención se dibujan independientemente con el propósito de facilitar la explicación de diferentes funciones específicas en un aparato de codificación/decodificación de video y no significa que los elementos estén incorporados por hardware independiente o software independiente. Por ejemplo, dos o más elementos de los elementos pueden combinarse para formar un único elemento, o un elemento puede dividirse en varios elementos. Las realizaciones en las que los elementos se combinan y/o dividen pertenecen al alcance de la invención sin apartarse del concepto de la invención.
En lo sucesivo, se describirán en detalle realizaciones ejemplares de la invención con referencia a los dibujos acompañantes. A componentes similares en los dibujos se hará referencia con números de referencia similares y no se describirán repetidamente.
La FIG. 1 es un diagrama de bloques que ilustra esquemáticamente un codificador (codificador de video) de acuerdo con una realización de la invención. Con referencia a la FIG. 1, un codificador de video 100 incluye un módulo de división de imágenes 105, un módulo de predicción 110, un módulo de transformación 115, un módulo de cuantificación 120, un módulo de reordenamiento 125, un módulo de codificación de entropía 130, un módulo de descuantificación 135, un módulo de transformación inversa 140, un módulo de filtro 145 y una memoria 150.
El módulo de división de imágenes 105 puede dividir una imagen de entrada en por lo menos un bloque de unidad de procesamiento. Aquí, un bloque como unidad de procesamiento puede ser una unidad de predicción (en lo sucesivo, referida como "PU"), una unidad de transformación (en lo sucesivo, referida como "TU") o una unidad de codificación (en lo sucesivo, referida como "CU").
El módulo de predicción 110 incluye un módulo de inter predicción que realiza un proceso de inter predicción y un módulo de intra predicción que realiza un proceso de intra predicción, como se describirá más adelante. El módulo de predicción 110 realiza un proceso de predicción en las unidades de procesamiento de una imagen dividida por el módulo de división de imágenes 105 para generar un bloque de predicción. En el módulo de predicción 110, la unidad de procesamiento de una imagen puede ser una CU, una TU o una PU. El módulo de predicción 110 puede determinar si la predicción realizada en la unidad de procesamiento correspondiente es una inter predicción o intra predicción, y puede determinar detalles específicos (por ejemplo, un modo de predicción) de los métodos de predicción. La unidad de procesamiento sometida al proceso de predicción puede ser diferente de la unidad de procesamiento de la cual se determinan el método de predicción y los detalles específicos. Por ejemplo, el método de predicción y el modo de predicción pueden determinarse en las unidades de PU y el proceso de predicción puede realizarse en las unidades de TU.
En la inter predicción, un proceso de predicción puede realizarse en base a la información sobre por lo menos una de una imagen anterior y/o una imagen posterior de una imagen actual para generar un bloque de predicción. En la intra predicción, puede realizarse un proceso de predicción en base a la información de píxeles de una imagen actual para generar un bloque de predicción.
En la inter predicción, puede usarse un modo de omisión, un modo de fusión, un modo MVP (Predicción de vectores de movimiento) y similares. En la inter predicción, puede seleccionarse una imagen de referencia para una PU, y puede seleccionarse un bloque de referencia que tenga el mismo tamaño que la PU mediante muestras de píxeles enteros. Luego, se genera un bloque de predicción en el que se minimiza una señal residual de la PU actual y se minimiza la magnitud del vector de movimiento.
El bloque de predicción puede generarse en la unidad de muestras de píxeles enteros o en la unidad de muestras de píxeles menores que un píxel entero, como muestras de 1/2 píxel y muestras de 1/4 píxel. Aquí, el vector de movimiento también puede expresarse en la unidad de muestras de píxeles menor que un píxel entero. Por ejemplo, los píxeles de luma pueden expresarse en la unidad de 1/4 píxeles y los píxeles de croma pueden expresarse en la unidad de 1/8 píxeles.
La información como un índice, un vector de movimiento (por ejemplo, un predictor de vector de movimiento) y una señal residual de una imagen de referencia seleccionada mediante la inter predicción se codifica por entropía y se transmite a un decodificador. Cuando se aplica el modo de omisión, puede usarse un bloque de predicción como un bloque reconstruido y, por tanto, la señal residual puede no generarse, transformarse, cuantificarse y transmitirse en absoluto.
Cuando se realiza la intra predicción, el modo de predicción puede determinarse en la unidad de PU y el proceso de predicción puede realizarse en la unidad de PU. Alternativamente, el modo de predicción puede determinarse en la unidad de PU y la inter predicción puede realizarse en la unidad de TU.
Los modos de predicción en la intra predicción pueden incluir 33 modos de predicción direccionales y por lo menos dos modos no direccionales. Los modos no direccionales pueden incluir un modo de predicción de DC y un modo plano.
En la intra predicción, puede derivarse un bloque de predicción después de que se haya aplicado un filtro a una muestra de referencia. En este momento, puede determinarse si se debe aplicar un filtro a una muestra de referencia dependiendo del modo de intra predicción y/o el tamaño de un bloque actual.
Una PU puede ser un bloque que tiene varios tamaños y formas. Por ejemplo, en caso de inter predicción, una PU puede ser de bloques que tienen tamaños como 2Nx2N, 2NxN, Nx2N y NxN (donde N es un número entero). En caso de intra predicción, una PU puede ser de bloques que tienen tamaños como 2Nx2N y NxN (donde N es un número entero). Una PU con un tamaño de NxN puede configurarse para aplicarse solo a un caso específico. Por ejemplo, la PU con un tamaño de NxN puede configurarse para usarse solo para una CU más pequeña o puede configurarse para usarse solo para la intra predicción. Además de las PU con los tamaños mencionados anteriormente, pueden definirse y usarse adicionalmente las PU como un bloque NxmN, un bloque mNxN, un bloque 2NxmN y un bloque mNx2N (donde m <1).
Los valores residuales (un bloque residual o una señal residual) entre el bloque de predicción derivado y el bloque original se introducen en el módulo de transformación 115. La información del modo de predicción, la información del vector de movimiento y similares usados para la predicción se codifican junto con los valores residuales por el módulo de codificación de entropía 130 y se transmiten al decodificador.
El módulo de transformación 115 realiza un proceso de transformación en el bloque residual en la unidad de TU y deriva coeficientes de transformación. La unidad de transformación en el módulo de transformación 115 puede ser una TU y puede tener una estructura de árbol cuádruple. El tamaño de la unidad de transformación puede determinarse dentro de un intervalo de tamaño más grande y más pequeño predeterminado. El módulo de transformación 115 puede transformar el bloque residual usando DCT (Transformación discreta de coseno) y/o DST (Transformación discreta de seno).
El módulo de cuantificación 120 puede cuantificar los valores residuales transformados por el módulo de transformación 115 y puede derivar coeficientes de cuantificación. Los valores calculados por el módulo de cuantificación 120 pueden suministrarse al módulo de descuantificación 135 y al módulo de reordenamiento 125.
El módulo de reordenamiento 125 puede reorganizar los coeficientes de cuantificación suministrados desde el módulo de cuantificación 120. Al reorganizar los coeficientes de cuantificación, es posible mejorar la eficiencia de codificación en el módulo de codificación de entropía 130. El módulo de reordenamiento 125 puede reorganizar los coeficientes de cuantificación en forma de un bloque bidimensional a la forma de un vector unidimensional mediante el uso de un método de exploración de coeficientes. El módulo de reordenamiento 125 puede mejorar la eficiencia de codificación de entropía en el módulo de codificación de entropía 130 cambiando el orden de exploración de coeficientes en base a estadísticas estocásticas de los coeficientes transmitidos desde el módulo de cuantificación.
El módulo de codificación de entropía 130 puede realizar un proceso de codificación de entropía en los coeficientes de cuantificación reorganizados por el módulo de reordenamiento 125. Los ejemplos del método de codificación de entropía incluyen un método de Golomb exponencial, un método CAVLC (codificación de longitud variable adaptativa al contexto) y un método CABAC (codificación aritmética binaria adaptativa al contexto). El módulo de codificación de entropía 130 puede codificar una variedad de información como información de coeficiente residual e información de tipo de bloque de una unidad de codificación, información del modo de predicción, información de unidad de división, información de unidad de predicción, información de unidad de transferencia, información de vector de movimiento, información de imagen de referencia, información de bloque de interpolación e información de filtrado transmitida desde el módulo de reordenamiento 125 y el módulo de predicción 110.
El módulo de codificación de entropía 130 puede dar un cambio predeterminado a un conjunto de parámetros o una sintaxis a transmitir, si es necesario.
El módulo de descuantificación 135 descuantifica los valores cuantificados por el módulo de cuantificación 120. El módulo de transformación inversa 140 transforma inversamente los valores descuantificados por el módulo de descuantificación 135. Los valores residuales derivados por el módulo de descuantificación 135 y el módulo de transformación inversa 140 se fusionan con el bloque predicción predicho por el módulo de predicción 110 para crear un bloque reconstruido.
En la FIG. 1, un bloque residual y un bloque de predicción se añaden para derivar un bloque reconstruido por un sumador. En este momento, el sumador puede considerarse como un módulo particular (módulo generador de bloque reconstruido) que genera un bloque reconstruido.
El módulo de filtro 145 aplica un filtro de desbloqueo, un ALF (Filtro de bucle adaptativo), un SAO (Desplazamiento adaptativa de muestra) a la imagen reconstruida.
El filtro de desbloqueo elimina una distorsión de bloque generada en el límite entre bloques en la imagen reconstruida. El ALF realiza un proceso de filtrado en base a los valores del resultado de la comparación de la imagen original con la imagen reconstruida de la que se filtran los bloques por el filtro de desbloqueo. El ALF puede aplicarse solamente cuando es necesaria una alta eficiencia. El SAO reconstruye las diferencias de desplazamiento entre los bloques residuales que tienen el filtro de desbloqueo aplicado a los mismos y la imagen original y se aplica en forma de desplazamiento de banda, desplazamiento de borde o similar.
Por otro lado, el módulo de filtro 145 puede no realizar un proceso de filtrado en un bloque reconstruido usado para la inter predicción.
La memoria 150 almacena el bloque reconstruido o la imagen calculada por el módulo de filtro 145. El bloque reconstruido o la imagen almacenada en la memoria 150 se suministra al módulo de predicción 110 que realiza la inter predicción.
La FIG. 2 es un diagrama de bloques que ilustra esquemáticamente un decodificador de video de acuerdo con una realización de la invención. Con referencia a la FIG. 2, un decodificador de video 200 incluye un módulo de decodificación de entropía 210, un módulo de reordenamiento 215, un módulo de descuantificación 220, un módulo de transformación inversa 225, un módulo de predicción 230, un módulo de filtro 235, y una memoria 240.
Cuando se introduce un flujo de bits de video desde el codificador de video, el flujo de bits de entrada se decodifica en base al orden en que el codificador de video procesa la información de video.
Por ejemplo, cuando el dispositivo de codificación de video usa un método de codificación de longitud variable (en adelante referido como "VLC") como el CAVLC para realizar el proceso de codificación de entropía, el módulo de decodificación de video 210 puede realizar la misma tabla de VLC usada en el dispositivo de codificación de video y puede realizar el proceso de decodificación de entropía. Cuando el dispositivo de codificación de video utiliza el CABAC para realizar el proceso de codificación de entropía, el módulo de decodificación de entropía 210 puede realizar el proceso de decodificación de entropía usando el CABAC para corresponder al mismo.
La información para generar un bloque de predicción a partir de la información decodificada por el módulo de decodificación de entropía 210 se suministra al módulo de predicción 230, y los valores residuales decodificados por entropía por el módulo de decodificación de entropía se introducen en el módulo de reordenamiento 215.
El módulo de reordenamiento 215 reorganiza el flujo de bits decodificado por entropía mediante el módulo de decodificación de entropía 210 en base al método de reordenamiento en el dispositivo de codificación de video. El módulo de reordenamiento 215 reconstruye y reorganiza los coeficientes expresados en forma de vector unidimensional en coeficientes de una forma de bloque bidimensional. El módulo de reordenamiento 215 se suministra con información asociada con la exploración de coeficientes realizada por el módulo de codificación y puede realizar la reorganización usando un método de exploración inversa de los coeficientes en base al orden de exploración en el que se realiza la exploración por el módulo de codificación correspondiente.
El módulo 220 de descuantificación realiza la descuantificación en base a los parámetros de cuantificación suministrados desde el codificador y los valores de coeficientes reorganizados del bloque.
El módulo de transformación inversa 225 realiza la DCT inversa y la DST inversa de la DCT y la DST, que ha sido realizada por el módulo de transformación del dispositivo de codificación de video, en el resultado de cuantificación del dispositivo de codificación de video. La transformación inversa se realiza en base a una unidad de transferencia o una unidad de división de una imagen determinada por el dispositivo de codificación de video. El módulo de transformación del dispositivo de codificación de video realiza selectivamente la DCT y la DST dependiendo de varios elementos de información como el método de predicción, el tamaño del bloque actual y la dirección de predicción, y el módulo de transformación inversa 225 del dispositivo de decodificación de video realiza la transformación inversa sobre en base a la información de transformación sobre la transformación realizada por el
módulo de transformación del dispositivo de codificación de video.
El módulo de predicción 230 genera un bloque de predicción en base a la información de derivación del bloque de predicción suministrada desde el módulo de decodificación de entropía 210 y la información de bloque decodificado anteriormente y/o imagen suministrada desde la memoria 240.
Cuando el modo de predicción de una PU actual es un modo de intra predicción (modo intra), puede realizarse un proceso de intra predicción de generar un bloque de predicción en base a la información de píxeles en la imagen actual.
Cuando el modo de predicción de una PU actual es un modo de inter predicción (modo inter), puede realizarse un proceso de inter predicción en la PU actual en base a la información incluida en por lo menos una de una imagen anterior o una imagen posterior de la imagen actual. En este momento, la información de movimiento necesaria para la predicción de la PU actual suministrada desde el codificador de video, por ejemplo, información sobre vectores de movimiento e índices de imágenes de referencia, puede derivarse de un indicador de omisión, un indicador de fusión y similares recibidos del codificador.
Se deriva un bloque reconstruido usando el bloque de predicción generado por el módulo de predicción 230 y el bloque residual suministrado desde el módulo de transformación inversa 225. En la FIG. 2, el bloque de predicción y el bloque residual se añaden para derivar un bloque reconstruido por un sumador. En este momento, el sumador puede considerarse como un módulo particular (módulo generador de bloque reconstruido) que genera un bloque reconstruido.
Cuando se usa el modo de omisión, el bloque residual puede no transmitirse y el bloque de predicción puede usarse como el bloque reconstruido.
El bloque reconstruido y/o la imagen pueden suministrarse al módulo de filtro 235. El módulo de filtro 235 puede realizar un proceso de filtrado de desbloqueo, un proceso SAO (Desplazamiento adaptativo de muestra) y/o un proceso de filtrado de bucle adaptativo en el bloque reconstruido y/o imagen.
La memoria 240 puede almacenar la imagen reconstruida o el bloque para usarlos como una imagen de referencia o un bloque de referencia y puede suministrar la imagen reconstruida al módulo de salida.
Por otro lado, como se ha descrito anteriormente, los módulos de filtro del codificador y el decodificador pueden usar un filtro de desbloqueo, un ALF (Filtro de bucle adaptativo) o un SAO (Desplazamiento de muestra adaptativo) como filtro en bucle.
El filtro de desbloqueo elimina los artefactos entre bloques debido a la predicción, transformación y cuantización en la unidad de un bloque. El filtro de desbloqueo puede aplicarse a un borde de unidad de predicción o a un borde de unidad de transformación y puede establecerse un tamaño de bloque más pequeño predeterminado para la aplicación del filtro de desbloqueo.
Para aplicar el filtro de desbloqueo, primero se determina una fuerza límite (bS) de un límite de filtro horizontal o vertical. Luego, se determina si el filtrado debe realizarse en la unidad de bloques en base a la bS. Cuando se determina que se debe realizar el filtrado, se determina qué filtro se debe aplicar. Puede seleccionarse un filtro a aplicar de un filtro débil y un filtro fuerte. El módulo de filtro aplica el filtro seleccionado al límite del bloque correspondiente.
El ALF (Filtro de bucle adaptativo) puede realizarse después de que se realice el SAO que se describirá más adelante. El ALF funciona para compensar un error de codificación usando un filtro Wiener y se aplica globalmente a cortes a diferencia del SAO. El ALF puede realizarse en caso de solo HE (Alta Eficiencia).
El SAO es un procedimiento para reconstruir una diferencia de desplazamiento de una imagen, que ha sido sometida al filtrado de desbloqueo, a partir de una imagen original en la unidad de píxeles. Un error de codificación puede compensarse a través del SAO y el error de codificación puede basarse en cuantificación o similar. El SAO se clasifica en dos tipos de un desplazamiento de banda y un desplazamiento de borde.
Como se ha descrito anteriormente, cuando se reconstruye una imagen en la unidad de bloques (por ejemplo, CU, PU y TU), puede producirse una distorsión de bloque en los límites entre los bloques reconstruidos. Puede aplicarse un filtro de desbloqueo para evitar la distorsión del bloque. El filtro de desbloqueo puede aplicarse selectivamente a una posición en la que es probable que se produzca la distorsión del bloque en la misma imagen y en una posición en la que no es probable que se produzca la distorsión del bloque. Por ejemplo, el filtro de desbloqueo puede aplicarse de diferentes maneras a la posición en la que es probable que se produzca la distorsión de bloque y la posición en la que no es probable que se produzca la distorsión de bloque.
Para este propósito, la intensidad del límite (en lo sucesivo, referido como "bS") de un límite entre bloques puede determinarse dependiendo de si el límite entre bloques corresponde a un límite al que se debe aplicar el filtro de desbloqueo, si los bloques adyacentes son bloques que tienen intra codificación aplicada a los mismos, o similar, y el filtrado de desbloqueo puede aplicarse en base a la bS determinada.
Por otro lado, cuando una CU es una CU I_PCM, es decir, cuando una CU es una CU PCM (modulación de codificación de pulsos) a la que se debe aplicar la intra predicción, no se realiza el filtrado de desbloqueo. Como el modo I_PCM no requiere de los procesos de cuantificación y transformación, se reconstruyen los mismos valores que los datos originales.
Por lo tanto, para reconstruir la mejor calidad de imagen (calidad de imagen original), el filtro en bucle no se aplica a una CU del modo I_PCM (I_PCM CU). Por ejemplo, en el proceso de filtrado de desbloqueo, se evita que el filtro de desbloqueo se aplique a I_PCM CU estableciendo el parámetro de cuantificación qP de I-PCM CU en 0 (cero).
La FIG. 3 es un diagrama de flujo que ilustra esquemáticamente un método para aplicar un filtro de desbloqueo de acuerdo con la invención. El filtrado de desbloqueo ilustrado en la FIG. 3 puede realizarse por un codificador y un decodificador. Por ejemplo, los módulos de filtrado ilustrados en las FIGS. 1 y 2 pueden realizar el proceso de filtrado de desbloqueo ilustrado en la FIG. 3.
El filtrado de desbloqueo se aplica primero a los bordes verticales entre bloques en una imagen actual y luego se aplica a los bordes horizontales entre bloques en la imagen actual. El filtrado de desbloqueo se aplica a los bordes horizontales en la imagen actual con la muestra modificada mediante el filtrado de desbloqueo de los bordes verticales.
Por lo tanto, el procedimiento de filtrado de desbloqueo ilustrado en la FIG. 3 puede aplicarse primero a los bordes verticales en la imagen actual y luego puede aplicarse a los bordes horizontales en la imagen actual.
Con referencia a la FIG. 3 para el borde entre bloques, se deriva un límite de bloque para la aplicación del filtrado de desbloqueo (S310).
El módulo de filtro puede establecer el tamaño de un bloque de codificación actual o una LCU (Unidad de codificación más grande) actual (en lo sucesivo, un bloque de codificación en esta descripción incluye una LCU con propósito de conveniencia de la explicación) y puede determinar si el límite del bloque de codificación actual es un límite de una imagen actual, si el límite del bloque de codificación actual es un límite al que se aplica el filtro de desbloqueo como un límite de un mosaico, y si el límite del bloque de codificación actual es un límite al que filtro de desbloqueo como límite de un segmento.
Por ejemplo, cuando el filtro de desbloqueo se aplica a los bordes verticales y el límite izquierdo del bloque de codificación actual es el límite izquierdo de la imagen actual, el límite izquierdo del bloque de codificación actual puede eliminarse del objetivo del filtro de desbloqueo. Cuando el límite izquierdo del bloque de codificación actual es el límite izquierdo del mosaico actual y se determina que un filtro no se aplica a los bordes del mosaico actual o cuando el límite izquierdo del bloque de codificación actual es el límite izquierdo del actual se determina que un filtro no se aplicará a los bordes del segmento actual, el límite izquierdo del bloque de codificación actual puede eliminarse del objetivo del filtrado de desbloqueo. Por lo tanto, de lo contrario, en la aplicación del filtrado de desbloqueo a los bordes verticales, el filtrado de desbloqueo se puede aplicar al límite izquierdo del bloque de codificación actual.
Cuando el filtro de desbloqueo se aplica a los bordes horizontales y el límite superior del bloque de codificación actual es el límite superior de la imagen actual, el límite superior del bloque de codificación actual puede eliminarse del objetivo del filtrado de desbloqueo. Cuando el límite superior del bloque de codificación actual es el límite superior del mosaico actual y se determina que un filtro no se aplica a los bordes del mosaico actual o cuando el límite superior del bloque de codificación actual es el límite superior del segmento actual y se determina que un filtro no se aplicará al borde del corte actual, el límite superior del bloque de codificación actual puede eliminarse del objetivo del filtrado de desbloqueo. De lo contrario, en la aplicación del filtrado de desbloqueo a los bordes horizontales, el filtrado de desbloqueo puede aplicarse al límite superior del bloque de codificación actual.
La aplicación del filtrado en un límite (o a un límite) en esta descripción significa que el filtrado se realiza en muestras predeterminadas localizadas en ambos lados del límite.
El módulo de filtro puede derivar límites de bloque de bordes verticales de un bloque de transformación y un bloque de predicción cuando el filtrado de desbloqueo se aplica a bordes verticales de una imagen, y puede derivar límites de bloque de bordes horizontales del bloque de transformación y el bloque de predicción cuando el filtrado de desbloqueo se aplica a los bordes horizontales de la imagen.
Cuando el borde del bloque de transformación es un borde de un bloque de codificación, el límite del bloque de transformación puede derivarse para el borde correspondiente dependiendo de si el filtrado de desbloqueo debe aplicarse al borde correspondiente. Cuando se divide el bloque de transformación, pueden derivarse los límites de los bloques divididos.
El módulo de filtro puede derivar el límite de cada partición de un bloque de predicción. Por ejemplo, cuando las particiones de un bloque de predicción son bloques de 2NxN píxeles, bloques de NxN píxeles, 2NxnU píxeles o bloques de 2NxnD píxeles (donde U, U y D son números enteros correspondientes al número de píxeles y n es un número entero correspondiente al número de bloques de predicción en un bloque de codificación), puede derivarse un borde para cada partición.
Posteriormente, se deriva la bS del límite de bloque al que se debe aplicar el filtro de desbloqueo (S320). La bS se determina para cada borde en el bloque de codificación actual. La bS se deriva para cada borde vertical cuando el filtrado de desbloqueo se aplica a los bordes verticales de una imagen, y la bS se deriva para cada borde horizontal cuando el filtrado de desbloqueo se aplica a los bordes horizontales de la imagen.
La derivación de la bS puede realizarse para cada unidad predeterminada. Por ejemplo, la bS puede derivarse para cada borde de un bloque de transformación o puede derivarse para cada borde de un bloque de predicción. Además, la bS puede derivarse en la unidad de bloques con un tamaño predeterminado, por ejemplo, en la unidad de bloques de 8x8 píxeles o bloques de 4x4 píxeles.
Además, la bS puede derivarse para un borde de un bloque que satisface una condición específica de un bloque de transformación, un bloque de predicción y un bloque de tamaño predeterminado en un bloque de codificación actual. Por ejemplo, la bS puede derivarse para cada bloque más grande del bloque más pequeño de un bloque de transformación (por ejemplo, UU) y un bloque de predicción (por ejemplo, PU) y un bloque de tamaño predeterminado (por ejemplo, bloque de 8x8 píxeles).
En otras palabras, la bS puede determinarse en la unidad de píxeles correspondiente al tamaño del bloque que es una unidad para determinar la bS (por ejemplo, la unidad de píxeles L cuando la unidad de configuración de bS es un bloque de píxeles LxL (L es un número entero) en el límite de un bloque que se someterá al filtrado de desbloqueo. La derivación específica de la bS se describirá posteriormente.
Posteriormente, se realiza un proceso de filtrado en el límite del bloque en base al bS (S330).
Por ejemplo, en el caso de muestras de luma, cuando la bS para un borde objetivo es igual o menor que una bS de referencia predeterminada, por ejemplo, bStrn, el filtrado de desbloqueo no puede aplicarse al borde correspondiente. En el caso de muestras de croma, cuando la bS para un borde objetivo es igual o menor que una bS de referencia predeterminada, por ejemplo, bSth2, el filtrado de desbloqueo no puede aplicarse al borde correspondiente. Los valores de referencia bS bStrn y bSth2 pueden establecerse para que sean iguales o diferentes entre sí.
Para aplicar eficientemente el filtrado de desbloqueo, puede establecerse un valor umbral adicional (referido como Th1 a efectos de conveniencia para explicación). Por ejemplo, cuando el valor de bS de referencia se establece en 0 y el valor de bS para un borde objetivo es mayor que 0, el ENCENDIDO/APAGADO del filtrado de desbloqueo a nivel de bloques puede determinarse usando Th1. Por ejemplo, cuando el valor derivado del borde objetivo es mayor que Th1, el filtrado de desbloqueo puede aplicarse al borde objetivo.
Primero se describirá un ejemplo donde el filtrado de desbloqueo se aplica a bordes verticales en una imagen. Como el valor derivado de un borde vertical objetivo con el propósito de comparar con Th1, puede considerarse una diferencia entre las muestras objetivo de filtrado en dos bloques con el borde vertical como límite en una fila de muestra específica. Por ejemplo, puede calcularse la suma DLk de diferencias (la suma de una diferencia entre la primera muestra desde el borde vertical y la segunda muestra desde el borde vertical y una diferencia entre la tercera muestra desde el borde vertical y la segunda muestra desde el borde vertical, por ejemplo, cuando deben someterse al filtrado tres muestras del borde vertical) entre las muestras objetivo de filtrado adyacentes al borde vertical en el bloque izquierdo del borde vertical fuera de las muestras en la fila de muestras késima (donde k es un número entero), y puede derivarse la suma DRk de las diferencias (la suma de una diferencia entre la primera muestra del borde vertical y la segunda muestra del borde vertical y una diferencia entre la tercera muestra del borde vertical y la segunda muestra del borde vertical, por ejemplo, cuando tres muestras del borde vertical deben someterse al filtrado) entre las muestras objetivo de filtrado adyacentes al borde vertical en el bloque derecho del borde vertical. La suma Dk de DLk y DRk puede compararse con Th1 y el filtrado de desbloqueo puede aplicarse al borde vertical cuando Dk es menor que Th1. Cuando Dk es menor que Th1, puede considerarse que el límite vertical no es un límite (por ejemplo, un límite de imagen actual en una imagen original) al que no es efectivo aplicar el filtro de desbloqueo en base al parámetro de cuantización y puede determinarse que una imagen se reconstruye más cercana a la imagen original aplicando el filtro de desbloqueo.
En este momento, en dos bloques con el borde vertical como límite, puede considerarse la suma de las diferencias entre las muestras objetivo de filtrado colindantes en varias filas de muestra en lugar de considerar la suma de las diferencias entre las muestras objetivo de filtrado colindantes en una sola fila de muestra. Por ejemplo, en dos bloques con el borde vertical como límite, cuando la suma D (= Dk+Dk+j) la suma Dk de las diferencias entre las muestras objetivo de filtrado en la fila de muestras k-ésima y la suma Dk+j de las diferencias entre las muestras de objetivo de filtrado en la fila de muestras (k+j)-ésima (donde k es un número entero) es menor que el valor umbral Th1, puede determinarse que el filtro de desbloqueo debe aplicarse al borde vertical.
A continuación se describirá un ejemplo en el que la diferencia j entre dos filas de muestras se establece en 3. Cuando D (= D2+D5) para la segunda fila de muestras y la quinta fila de muestras es más pequeña que Th1, el filtro de desbloqueo puede aplicarse al borde vertical correspondiente. Cuando la diferencia j entre dos filas de muestras se establece en 3 y la suma D (= D0+D3) para la fila de muestras cero y la tercera fila de muestras es menor que Th1, el filtro de desbloqueo puede aplicarse al borde vertical correspondiente.
En este momento, para reflejar de manera efectiva las características de cada bloque y cada fila de muestras, pueden derivarse los valores de D que son los valores absolutos de las sumas entre las diferencias entre las muestras objetivo de filtrado para cada fila de muestras y cada bloque. En este caso, el valor de D para la fila de muestras k-ésima y la fila de muestras (k+j)-ésima del bloque izquierdo (L) y el bloque derecho (R) con el borde vertical como límite puede derivarse por la Expresión 1.
<Expresión 1>
D = abs (DKk)+abs (DLk+j)+abs (DRk)+abs (DRk+j)
Como se ha descrito anteriormente, DLk es la suma de las diferencias entre las muestras objetivo de filtrado adyacentes al borde vertical en la fila de muestras k-ésima del bloque izquierdo. Por ejemplo, cuando tres muestras adyacentes al borde vertical son el objetivo de la aplicación del filtrado de desbloqueo, DLK puede derivarse por la suma de la diferencia entre la primera muestra del borde vertical y la segunda muestra del borde vertical en la fila de muestras k-ésima del bloque izquierdo del borde vertical y la diferencia entre la tercera muestra del borde vertical y la segunda muestra del borde vertical. DRk es la suma de las diferencias entre las muestras objetivo de filtrado adyacentes al borde vertical en la fila de muestras k-ésima del bloque derecho. Por ejemplo, cuando tres muestras adyacentes al borde vertical son el objetivo de la aplicación del filtrado de desbloqueo, DRK puede derivarse por la suma de la diferencia entre la primera muestra del borde vertical y la segunda muestra del borde vertical en la fila de muestras k-ésima del bloque derecho del borde vertical y la diferencia entre la tercera muestra del borde vertical y la segunda muestra del borde vertical.
Cuando la suma de las diferencias entre las muestras objetivo de filtrado adyacentes se toma en consideración de varias filas de muestras como se ha descrito anteriormente, el filtrado de desbloqueo puede aplicarse de manera más efectiva considerando la suma de las diferencias entre las muestras objetivo de filtrado adyacentes en cada fila de muestra. Por ejemplo, Dk puede definirse como expresado por la Expresión 2 haciendo referencia a la Expresión 1 y considerando solo la k-ésima fila de muestras.
<Expresión 2>
Dk = abs (DLk)+abs (DRk)
Por ejemplo, cuando la fila de muestras k-ésima y la fila de muestra (k+3)-ésima se consideran para el borde vertical como se ha descrito anteriormente y D es menor que Th1, y Dk para la fila de muestra k-ésima y Dk+ para la fila de muestras (k+3)-ésima son cada una más pequeña que la mitad de Th1 (Th1/2), puede aplicarse un filtrado fuerte al borde vertical. Por otro lado, cuando D es menor que Th1 pero Dk no es menor que Th1/2 o Dk+3 no es menor que Th1/2, puede aplicarse un filtrado débil al borde vertical.
Cuando se aplica el filtrado débil, el filtrado puede aplicarse solo a muestras específicas fuera de las muestras objetivo de filtrado. En este caso, puede aplicarse un coeficiente de filtrado diferente al del filtrado fuerte. Por ejemplo, cuando las muestras objetivo de filtrado son seis muestras (tres muestras en el lado izquierdo y tres muestras en el lado derecho) localizadas en los lados izquierdo y derecho del borde vertical, el filtrado fuerte puede aplicarse a todas las muestras objetivo de filtrado y el filtrado débil puede aplicarse a dos muestras localizadas en el lado izquierdo del borde objetivo y dos muestras localizadas en el lado derecho del borde objetivo. En este momento, los coeficientes de filtrado del filtrado fuerte y el filtrado débil pueden ser diferentes entre sí.
A continuación se describirá un ejemplo en el que el filtrado de desbloqueo se aplica a bordes horizontales en una imagen. Como el valor derivado de un borde horizontal objetivo para propósitos de comparación con Th1, puede considerarse una diferencia entre muestras objetivo de filtrado en dos bloques con el borde horizontal como límite en una columna de muestras específica. Como se describe en el ejemplo para el borde horizontal, puede calcularse la suma DTk de las diferencias (la suma de una diferencia entre la primera muestra del borde horizontal y
la segunda muestra del borde horizontal y una diferencia entre la tercera muestra del borde horizontal y la segunda muestra del borde horizontal, por ejemplo, cuando tres muestras del borde horizontal deben someterse al filtrado) entre las muestras objetivo de filtrado adyacentes al borde horizontal en el bloque superior del borde horizontal fuera de las muestras en la columna de muestras k-ésima (donde k es un número entero), y puede derivarse la suma DBk de diferencias (la suma de una diferencia entre la primera muestra desde el borde horizontal y la segunda muestra desde el borde horizontal y una diferencia entre la tercera muestra desde el borde horizontal y la segunda muestra desde el borde horizontal, por ejemplo, cuando deben someterse al filtrado tres muestras del borde horizontal) entre las muestras objetivo de filtrado adyacentes al borde horizontal en el bloque inferior del borde horizontal. La suma Dk de DLk y DRk puede compararse con Th1 y el filtrado de desbloqueo puede aplicarse al borde horizontal cuando Dk es menor que Th1.
En este momento, en dos bloques con el borde horizontal como límite, puede considerarse la suma de las diferencias entre las muestras objetivo de filtrado colindantes en varias columnas de muestra. Por ejemplo, en dos bloques con el borde horizontal como límite, cuando la suma D (=Dk+Dk+j) la suma Dk de las diferencias entre las muestras objetivo de filtrado de la k-ésima columna de muestra y la suma Dk+j de diferencias entre las muestras objetivo de filtrado en la columna de muestra (k+j) (donde k es un número entero) es menor que el valor umbral Th1, puede determinarse que el filtro de desbloqueo debe aplicarse al borde horizontal.
A continuación se describirá un ejemplo en el que la diferencia j entre dos columnas de muestras se establece en 3. Cuando D (= D2+D5) para la segunda columna de muestras y la quinta columna de muestras es más pequeña que Th1, el filtro de desbloqueo puede aplicarse al borde horizontal correspondiente. Cuando la diferencia j entre dos columnas de muestra se establece en 3 y la suma D (=D0+D3) para la columna de muestra se pone a cero y la tercera columna de muestra es menor que Th 1, puede aplicarse el filtro de desbloqueo al borde horizontal correspondiente.
Las filas de muestra consideradas para el borde vertical y las columnas de muestra consideradas para el borde horizontal pueden ser filas de muestra y columnas de muestra correspondientes entre sí. Por ejemplo, cuando la fila de muestra cero y la tercera fila de muestra se consideran para el borde vertical, la columna de muestra cero y la tercera columna de muestra pueden considerarse para el borde horizontal.
De manera similar al borde vertical, para reflejar de manera efectiva las características de cada bloque y cada columna de muestra, pueden tomarse los valores absolutos de las sumas entre las diferencias entre las muestras objetivo de filtrado para cada columna de muestra y cada bloque. En este caso, el valor D para la columna de muestra k-ésima y la columna de muestra (k+j)-ésima del bloque superior (T) y el bloque inferior (B) con el borde horizontal como límite puede derivarse por Expresión 3.
<Expresión 3>
D=abs (DTk) abs (DTk+j) abs (DBk) abs (DBk+j)
Como se ha descrito anteriormente, DTk es la suma de las diferencias entre las muestras objetivo de filtrado adyacentes al borde horizontal en la columna de muestra k-ésima del bloque superior. Por ejemplo, cuando tres muestras adyacentes al borde horizontal son el objetivo de la aplicación del filtrado de desbloqueo, DTk puede derivarse por la suma de la diferencia entre la primera muestra del borde horizontal y la segunda muestra del borde horizontal en la columna de muestra k-ésima del bloque superior del borde horizontal y la diferencia entre la tercera muestra del borde horizontal y la segunda muestra del borde horizontal. DBk es la suma de las diferencias entre las muestras objetivo de filtrado adyacentes al borde horizontal en la columna de muestra k-ésima del bloque inferior. Por ejemplo, cuando tres muestras adyacentes al borde horizontal son el objetivo de aplicación del filtrado de desbloqueo, DBk puede derivarse por la suma de la diferencia entre la primera muestra del borde horizontal y la segunda muestra del borde horizontal en la columna de muestra k-ésima del bloque inferior del borde horizontal y la diferencia entre la tercera muestra del borde horizontal y la segunda muestra del borde horizontal.
Como se describe en el ejemplo para el borde vertical, el filtrado de desbloqueo puede aplicarse de manera más efectiva considerando la suma de las diferencias entre las muestras objetivo de filtrado adyacentes en cada columna de muestra. Por ejemplo, Dk puede definirse como expresado por la Expresión 4 haciendo referencia a la Expresión 3 y considerando solo la k-ésima columna de muestra.
<Expresión 4>
Dk=abs (DTk) abs (DBk)
Por ejemplo, la columna de muestra k-ésima y la columna de muestra (k+3)-ésima se consideran para un borde horizontal como se ha descrito anteriormente. Cuando D es menor que Th1, Dk para la columna de muestra késima y Dk+3 para la columna de muestra (k+3)-ésima son cada una más pequeña que un cuarto de Th1 (Th1/2), y una relación predeterminada con otros parámetros de desbloqueo satisfechos, puede aplicarse un filtrado fuerte al
borde horizontal. Por otro lado, cuando D es menor que Th1, pero Dk no es menor que Th1/4 o Dk+3 no es menor que Th1/4, y se cumple una condición predeterminada, puede aplicarse un filtrado débil al borde horizontal.
Cuando se aplica el filtrado débil, el filtrado puede aplicarse solo a muestras específicas de las muestras objetivo de filtrado. En este caso, puede aplicarse un coeficiente de filtrado diferente al del filtrado fuerte. Por ejemplo, cuando las muestras objetivo de filtrado son seis muestras (tres muestras en el lado superior y tres muestras en el lado inferior) localizadas en los lados superior e inferior del borde horizontal, el filtrado fuerte puede aplicarse a todas las muestras objetivo de filtrado y el filtrado débil puede aplicarse a dos muestras localizadas en el lado superior del borde objetivo y dos muestras localizadas en el lado inferior del borde objetivo. En este momento, los coeficientes de filtrado del filtrado fuerte y el filtrado débil pueden ser diferentes entre sí.
El filtrado fuerte y el filtrado débil pueden aplicarse a los bordes verticales y horizontales usando el mismo método (por ejemplo, el mismo coeficiente o desplazamiento de filtro).
Como se ha descrito anteriormente, cuando se determina si se debe aplicar el filtrado de desbloqueo, cuál del filtro fuerte y el filtro débil se debe aplicar, y a qué muestra se debe aplicar el filtro débil, el módulo de filtrado puede aplicar el filtro de desbloqueo en base a un método predeterminado (por ejemplo, el mismo coeficiente o desplazamiento de filtro). Como se ha descrito anteriormente, el filtrado de desbloqueo puede aplicarse primero a los bordes verticales de una imagen y luego el filtrado de desbloqueo puede aplicarse a los bordes horizontales de la imagen.
La FIG. 3 ilustra el método de aplicar el filtrado de desbloqueo en pasos generales como el paso de derivación de límite de bloque (S310), el paso de derivación de bS (S320) y el paso de aplicación de filtrado (S33), pero los detalles mencionados anteriormente de la decisión de bS para la aplicación de filtrado pueden dividirse en pasos detallados.
Por ejemplo, pueden realizarse los siguientes pasos para el filtrado de desbloqueo horizontal en los bordes verticales de una imagen: (1) determinar la bS de un borde vertical en un bloque de codificación (que puede ser una LCU), en donde el borde objetivo de la decisión de bS puede ser un borde del bloque más pequeño de TU y PU, puede ser un borde de un bloque de unidad predeterminado (por ejemplo, bloque de 8x8 píxeles), o puede ser un borde del bloque grande del bloque de unidad más pequeño de TU y PU y el bloque de unidad predeterminado; (2) determinar ENCENDIDO/APAGADO del filtrado de desbloqueo en el nivel de bloque para un borde en el que bS es mayor que 0, en donde las filas de muestra predeterminadas (por ejemplo, la segunda fila de muestra y la quinta fila de muestra) en los bloques en los lados del límite (borde) pueden usarse con este propósito como se ha descrito anteriormente; (3) determinar cuál del filtrado fuerte y el filtrado débil debe aplicarse a una región en la que se activa el filtrado; (4) determinar el ENCENDIDO/APAGADO del filtrado adicional cuando se aplica el filtrado débil, en donde el ENCENDIDO/APAGADO del filtrado adicional incluye determinar el ENCENDIDO/APAGADO del filtrado para cada muestra específica como se describe anteriormente; y (5) realizar repetidamente los pasos mencionados anteriormente en un bloque de codificación siguiente (incluyendo LCU) en la imagen actual, en donde el proceso de filtrado de desbloqueo se realiza en todos los bordes verticales de la imagen.
Por ejemplo, pueden realizarse los siguientes pasos para el filtrado de desbloqueo vertical en los bordes horizontales en una imagen: (1) determinar la bS de un borde horizontal en un bloque de codificación (que puede ser una LCU), en donde el borde objetivo de decisión de bS puede ser un borde del bloque más pequeño de TU y PU, puede ser un borde de un bloque de unidad predeterminado (por ejemplo, bloque de 8x8 píxeles), o puede ser un borde del bloque grande del bloque de unidad más pequeño de TU y PU y el bloque de unidad predeterminado; (2) determinar ENCENDIDO/APAGADO del filtrado de desbloqueo en el nivel de bloque para un borde en el que la bS es mayor que 0, en donde las columnas de muestra predeterminadas (por ejemplo, la segunda columna de muestra y la quinta columna de muestra) en los bloques en ambos los lados del límite (borde) pueden usarse para este propósito como se ha descrito anteriormente; (3) determinar cuál del filtrado fuerte y del filtrado débil debe aplicarse a una región en la que se activa el filtrado; (4) determinar el ENCENDIDO/APAGADO del filtrado adicional cuando se aplica el filtrado débil, en donde el ENCENDIDO/APAGADO del filtrado adicional incluye determinar el ENCENDIDO/APAGADO del filtrado para cada muestra específica como se ha descrito anteriormente; y (5) realizar repetidamente los pasos mencionados anteriormente en un bloque de codificación siguiente (incluyendo LCU) en la imagen actual, en donde el proceso de filtrado de desbloqueo se realiza en todos los bordes horizontales de la imagen.
La FIG. 4 es un diagrama que ilustra esquemáticamente detalles del filtrado de desbloqueo de acuerdo con la invención. Con referencia a la FIG. 4, el filtrado de desbloqueo (S401) se realiza en los bordes del bloque de codificación en la unidad de bloques de codificación (por ejemplo, LCU). Como se ha descrito anteriormente, el filtrado de desbloqueo (filtrado horizontal) para los bordes verticales se realiza en toda la imagen actual y luego se realiza el filtrado de desbloqueo (filtrado vertical) para los bordes horizontales en toda la imagen actual.
La FIG. 5 es un diagrama de flujo que ilustra esquemáticamente un ejemplo del método de cálculo de bS.
Para fines de conveniencia para la explicación, en esta descripción, el bloque actual en el filtrado de desbloqueo está representado por Q, y un bloque adyacente al bloque actual y codificado/decodificado anteriormente al bloque actual está representado por P. Por ejemplo, cuando el filtrado de desbloqueo se realiza en un borde vertical, el bloque izquierdo del borde vertical está representado por P y el bloque derecho del mismo está representado por Q. Cuando el filtrado de desbloqueo se realiza en un borde horizontal, el bloque superior del borde horizontal está representado por P y el bloque inferior del mismo está representado por Q.
Una muestra que pertenece al bloque P se denota por p, y una muestra que pertenece al bloque Q se denota por q. Por ejemplo, la i-ésima muestra, que pertenece al bloque P, desde el límite (borde) entre el bloque P y el bloque Q en una fila de muestra específica o una columna de muestra específica se denota por pi (donde i = 0, 1, 2.. ..). De manera similar, la i-ésima muestra, que pertenece al bloque Q, desde el límite (borde) entre el bloque P y el bloque Q en una fila de muestra específica o una columna de muestra específica se denota por qi (donde i = 0, 1, 2.. ..).
En referencia a la FIG. 5, para determinar la bS, se determina si P y/o Q está intra-codificado (S510).
Cuando P y/o Q están intra-codificados, se determina si el límite entre P y Q es un límite de una CU (S520). En este momento, el límite de una CU puede ser un límite de una LCU.
Cuando se determina en el paso S520 que el límite entre P y Q es el límite de una CU, el valor de bS del límite entre P y Q se determina que es 4 (S530).
Cuando se determina en el paso S520 que el límite entre P y Q no es el límite de una CU, el valor de bS del límite entre P y Q se determina que es 3 (S540).
Cuando no es el caso de que P y/o Q estén intra-codificados (es decir, ninguno de P y Q está intracodificado), se determina si P y/o Q incluyen un coeficiente (coeficiente de transformación) distinto de 0 (S550). En este momento, el módulo de filtro puede determinar si un coeficiente de transformación distinto de 0 está presente en base al coeficiente de transformación que no se ha descuantificado. El módulo de filtro puede determinar si está presente un coeficiente de transformación distinto de 0 en base al coeficiente de transformación que se ha descuantificado.
Cuando se determina en el paso S550 que P y/o Q incluyen un coeficiente (coeficiente de transformación distinto de 0), se determina que el valor de bS del límite entre P y Q es 2 (S560).
Cuando se determina en el paso S550 que P y/o Q no incluyen un coeficiente (coeficiente de transformación distinto de 0), se determina si P y Q tienen diferentes imágenes de referencia o diferentes vectores de movimiento (S570).
Cuando se determina en el paso S570 que P y Q tienen imágenes de referencia diferentes o vectores de movimiento diferentes, se determina que el valor de bS del límite entre P y Q es 1 (S580).
De otra manera, es decir, cuando no se debe realizar el filtrado de desbloqueo, el valor de bS del límite entre P y Q se establece en 0 (S590). En la FIG. 5, un caso en el que las condiciones mencionadas anteriormente no se cumplen en absoluto se ilustra como un ejemplo en el que no se aplica la bS.
Por otro lado, los valores de coeficientes necesarios para el filtrado de desbloqueo pueden establecerse dependiendo de los valores de bS.
El parámetro TCoffset mostrado en la FIG. 5 pueden mencionarse como ejemplo. El TCoffset es un parámetro establecido por un usuario para determinar los valores de Tc optimizados para las características de la imagen. Tc es uno de los valores umbral usados para determinar un parámetro asociado con el filtrado de desbloqueo cuantificando los artefactos de bloqueo correspondientes al grado de cuantificación.
La FIG. 5 ilustra un ejemplo en el que Tcoffset se establece en 0 cuando el valor de bS es 0, 1 o 2 y el Tc_offset se establece en 2 cuando el valor de bS es 3 o 4.
Por otro lado, para aplicar efectivamente el filtrado de desbloqueo, el bloque de unidades y el método de determinación para determinar el valor de bS, que se han descrito con referencia a las FIGS. 3 y 5, pueden modificarse y aplicarse.
Los valores de bS pueden determinarse por unidades iguales o menores que el bloque de unidad de filtrado de desbloqueo real.
Por ejemplo, cuando el filtrado de desbloqueo real se realiza en muestras de luma en la unidad de 8x8
píxeles, los valores de bS pueden determinarse en la unidad de 4x4 píxeles. De esta manera, cuando el tamaño del bloque de la unidad de filtrado de desbloqueo es mayor que el tamaño del bloque de la unidad de configuración de bS, pueden determinarse los valores de bS de solo los límites correspondientes a los límites (bordes) del bloque de la unidad de filtrado de desbloqueo de los límites (bordes) de los bloques de la unidad de configuración de bS. En otras palabras, cuando la bS está determinada por bloques de píxeles LxL (donde L es un número entero), los valores de bS de los límites del bloque de la unidad de filtrado de desbloqueo se determinan en la unidad de L píxeles.
Específicamente, la unidad de bloque en la que se determina la bS es un bloque de 4x4 píxeles y el filtrado de desbloqueo real se realiza en la unidad de bloques de 8x8 píxeles. Es decir, el valor de bS se determina en la unidad de 4 píxeles para el límite del bloque de 8x8 píxeles que es el bloque de la unidad de filtrado de desbloqueo. Por lo tanto, no es necesario determinar los valores de bS de los bordes de los bloques de 4x4 píxeles en el bloque de 8x8 píxeles, que es un bloque de unidad de filtrado de desbloqueo.
La FIG. 6 es un diagrama que ilustra esquemáticamente un ejemplo de un método para determinar un valor de bS. La FIG. 6 ilustra un ejemplo en el que un bloque de unidad de filtrado de desbloqueo 600 es un bloque de 8x8 píxeles y un bloque de unidad de configuración de bS es un bloque de 4x4 píxeles.
En referencia a la FIG. 6, un borde vertical y un borde horizontal que son el límite (borde) de un bloque de 4x4 píxeles como el bloque de la unidad de configuración de bS y el límite del bloque de la unidad de filtrado de desbloqueo 600 están presentes en el bloque de la unidad de filtrado de desbloqueo 600.
Con respecto al borde vertical, dos bordes verticales 610 y 620 de los cuales se determinará la bS están presentes en el bloque de la unidad de filtrado de desbloqueo 600. En el ejemplo ilustrado en la FIG. 6, se comparan la bS del primer borde vertical 610 y la bS del segundo borde vertical 620 y se determina que la bS más grande es una bS representativa de los bordes verticales del bloque de la unidad de filtrado de desbloqueo 600.
Por ejemplo, cuando la bS del primer borde vertical 610 es 1 y la bS del segundo borde vertical 620 es 2, 2, que es el valor de bS del segundo borde vertical 620, puede determinarse como el valor de bS representativo de los bordes verticales como el límite izquierdo del bloque de la unidad de filtrado de desbloqueo 600.
La FIG. 6 ilustra los bordes verticales con el propósito de facilitar la explicación, pero el mismo método puede aplicarse a los bordes horizontales.
Cuando los dos valores de bS son iguales entre sí en el ejemplo ilustrado en la FIG. 6, uno de los dos valores de bS puede usarse como el valor de bS representativo.
Como se ilustra en la FIG. 6, otros ejemplos del método de no derivar la bS de un límite localizado dentro del bloque de la unidad de filtrado de desbloqueo, es decir, se describirá específicamente a continuación el método de derivar la bS solo del límite del bloque de la unidad de configuración de bS que también es el límite (borde) del bloque de la unidad de filtrado de desbloqueo,.
Las FIGS. 7 y 8 son diagramas que ilustran esquemáticamente otros ejemplos del método para determinar un valor de bS. En los ejemplos ilustrados en las FIGS. 7 y 8, se describirá un método para establecer el valor de bS a través de dos pasos. Específicamente, en los ejemplos ilustrados en las FIGS. 7 y 8, cuando un bloque de 4x4 píxeles es un bloque de unidad de configuración de bS y un bloque de 8x8 píxeles es un bloque de la unidad de filtrado de desbloqueo, la bS se determina primero para cada bloque de 4x4 píxeles y luego se restablece la bS para cada bloque de 8x8 píxeles.
La FIG. 7 es un diagrama que ilustra esquemáticamente un ejemplo del método de configuración de un bS para cada unidad de configuración de bS. En referencia a la FIG. 7, están presentes bloques de 4x4 píxeles (por ejemplo, TU) como una unidad de configuración de bS en un bloque de 16x16 píxeles (por ejemplo, una CU). El valor de bS puede determinarse para un límite de cada bloque de 4x4 píxeles.
Un ejemplo (paso 1) de un proceso específico de determinación de la bS para cada bloque de píxeles de 4x4 es el siguiente.
<Método de configuración de bS para cada bloque de 4x4 píxeles - Paso 1>
Se supone que la posición de una muestra de luma localizada en la esquina superior izquierda de un bloque actual, por ejemplo, una CU actual, se especifica como (xC, yC) con respecto a la muestra de luma localizada en la esquina superior izquierda de una imagen actual. Se supone que un parámetro para especificar el tamaño de una CU como el bloque actual es log2CUSize y los bordes horizontales y los bordes verticales de los cuales se determina la bS se indican mediante matrices bidimensionales horEdgeFlags y verEdgeFlags. En este momento, el tamaño de las matrices bidimensionales es nSxnS y nS=1<< log2CUSize.
Se supone que (xEk, yEj) especifica un conjunto de posiciones de muestras colindantes con el borde (muestras de borde). Aquí, k=0,..., nE-1, j=0,..., nE-1, nE se establece en ((1<< log2CUSize)>>2), y las relaciones de xE0=0, yE0=0, xEk+1=xEk+4, y yEj+1 =yEj+4 están establecidas.
En este caso, las muestras en las que se realiza el filtrado de desbloqueo en los bordes horizontales y los bordes verticales pueden determinarse en base a (xEk, yE j) que especifica el conjunto de posiciones de muestra de borde. Por ejemplo, en un borde horizontal, (1) cuando la información que indica un borde horizontal indica que el filtrado de desbloqueo se realizará en el borde (se determinará la bS del borde) (por ejemplo, horEdgeFlags [xEk][yEj]=1), (2) p0 puede establecerse en (xC+xEk, yC+yEj-1) de una imagen reconstruida por predicción y q0 puede establecerse en (xC+xEk,yC+yEj) de una imagen reconstruida por predicción. (3) En este momento, la dirección de filtrado de desbloqueo es la dirección vertical.
En un borde vertical, (1) cuando la información que indica un borde vertical indica que el filtrado de desbloqueo se realizará en el borde (se determinará la bS del borde) (por ejemplo, verEdgeFlags [xEk] [yEj]=1), (2) p0 puede establecerse en (xC+xEk-1, yC+yEj) de una imagen reconstruida mediante predicción y q0 puede establecerse en (xC+xEk, yC+yEj) de una imagen reconstruida mediante predicción. (3) En este momento, la dirección de filtrado de desbloqueo es la dirección horizontal.
De acuerdo con el método mencionado anteriormente (paso 1), se cuenta el número de un bloque de 4x4 píxeles como el bloque de la unidad de configuración de bS en la CU actual (bloque actual) (qué regula los 4 píxeles de la anchura y la longitud de CU actual) ((1 << log2CUSize) >> 2) y el valor contado se establece como el valor de nE. Por consiguiente, en el paso 1, los valores de bS de nE pueden establecerse en la anchura y la longitud en la unidad de 4 píxeles en el bloque actual. (xEk, yEj) se incrementa en 4 píxeles (xEk+1=xEk+4, yEj+1 =yEj+4) para determinar la bS en 4 píxeles, es decir, el índice aumenta para realizar el proceso de decisión de bS en la unidad de bloques de 4x4 píxeles en el bloque actual (CU actual).
Posteriormente al método mencionado anteriormente (paso 1), el valor de bS establecido para cada bloque de unidad de configuración de bS puede reasignarse a cada bloque de unidad de filtro de desbloqueo (paso 2).
La FIG. 8 es un diagrama que ilustra esquemáticamente un ejemplo del método de reasignación de los valores de bS a cada bloque de unidad de filtrado de desbloqueo. Con referencia a la FIG. 8, el valor de bS puede establecerse para cada bloque de unidad de desbloqueo.
En el paso 2 ilustrado en la FIG. 8, los valores de bS en la unidad de bloques de 4x4 píxeles determinados en el paso 1 se comparan entre sí y cualquier valor de los valores de bS de dos bordes colindantes se usa como un valor de bS representativo del bloque de unidad de filtro de desbloqueo de 8x8.
Por ejemplo, en la FIG. 8, en un borde vertical izquierdo de un bloque de unidad de filtro de desbloqueo 810 en la CU 800 actual, se comparan bSv1, que es el valor de bS del borde superior y bSv2, que es el valor de bS del borde inferior, y se puede comparar el valor mayor se usará como el valor de bS (bSv) del borde vertical izquierdo del bloque 810. En un borde horizontal superior de un bloque de unidad de filtro de desbloqueo 820 en la CU 800 actual, se comparan bSh1, que es el valor de bS del borde izquierdo y bSh2, que es el valor de bS del borde derecho, y el valor más grande puede usarse como el valor de bS (bSh) del borde vertical izquierdo del bloque 820. En este momento, los valores de bS de los bordes localizados en el bloque de 8x8 píxeles como bloque de unidad de filtrado de desbloqueo fuera de los valores de bS determinados en el paso 1 no están configurados.
Un ejemplo específico (paso 2) del proceso de reasignación del valor de bS a cada bloque de 8x8 píxeles para realizar el filtrado de desbloqueo es el siguiente.
<Método para configurar bS para cada bloque de 8x8 píxeles y realizar el filtrado de desbloqueo-Paso 2>
Se supone que la posición de una muestra de luma localizada en la esquina superior izquierda de un bloque actual, por ejemplo, una CU actual, se especifica como (xC, yC) con respecto a la muestra de luma localizada en la esquina superior izquierda de una imagen actual. Se supone que un parámetro para especificar el tamaño de una CU como el bloque actual es log2CUSize y una matriz de bS especifica una fuerza de filtrado de límite.
El filtrado de desbloqueo en un borde luma del bloque actual, por ejemplo, la CU actual, puede realizarse en los pasos siguientes.
(1) Un parámetro nD se establece en 1<< (log2CUSize-3).
(2) Todos los elementos de una matriz tridimensional dEdge con un tamaño de (2)x(nD)x(nD) se inicializan a 0.
(3) Todos los elementos de una matriz tridimensional dSample con un tamaño de (2)x(nD)x(1<< log2CUSize) se inicializan a 0.
(4) Todos los elementos de una matriz tridimensional bStrength con un tamaño de (2)x(nD)x(nD) se inicializan
a 0.
(5) El valor de xDk se establece en xC+(k<<3). En este momento, el valor de k es igual a 0,..., nD-1. Para cada valor de xDk, yDm se establece a yC+(m<< 3) y se realiza el siguiente procedimiento. En este momento, el valor de m es igual a 0,..., nD-1.
(5-1) La fuerza de filtrado de límite bSVer de un borde vertical se deriva de la siguiente manera: bSVer=Max(bS[0][xDk][yDm+i]). En este momento, el valor de i es igual a 0,..., 7. bS[0][xDk][yDm+i] significa el valor de bS que es la fuerza de filtrado de límite del borde vertical y que es definido con respecto a (xDk, yDm+i).
(5-2) El valor de bStrength[0][k][m] se establece como el valor de bSVer.
(5-3) El proceso de decisión de bS se realiza en un borde del bloque luma en base a la posición de la muestra de luma (xC, yC) de la CU actual, la posición de la muestra de luma (xDk, yDm) del bloque actual, la información que indica que el filtrado de desbloqueo se realiza en el borde vertical, y la fuerza de filtrado del límite bSVer, y el valor de dEdge[0][k][m]indicando cuál de los filtros fuertes y los filtros débiles deben aplicarse y el dS de una matriz con un tamaño de 8x8 se determina como la información sobre la determinación.
(5-4) dSample[0][k][(m<<3)+i] para determinar el valor de dEdge se establece a dS[i]. En este momento, el valor de i es igual a 0,..., 7.
(5-5) La fuerza de filtrado de límite bSHor de un borde horizontal se deriva de la siguiente manera: bSHor=Max(bS[0][xDk+i][yDm]). En este momento, el valor de i es igual a 0,..., 7. bS[0][xDk+i][yDm] significa el valor de bS que es la fuerza de filtrado del límite del borde horizontal y que se define con respecto a (xDk+i, yDm).
(5-6) El valor de bStrength[1 ][k][m] se establece como el valor de bSVer.
(5-7) El proceso de decisión de bS se realiza en un borde del bloque luma en base a la posición de la muestra luma (xC, yC) de la CU actual, la posición de la muestra luma (xDk, yDm) del bloque actual, la información que indica que el filtrado de desbloqueo se realiza en el borde vertical, y la fuerza de filtrado límite bSHor, y el valor de dEdge[1][k][m] que indica cuál de los filtros fuertes y los filtros débiles deben aplicarse y el dS de una matriz con un tamaño de 8x8 se determinan como la información sobre la determinación.
(5-8) dSample[1][m][(k<<3)+i] para determinar el valor de dEdge se establece en dS[i]. En este momento, el valor de i es igual a 0,..., 7.
(6) El filtrado de desbloqueo se realiza en los bordes determinados para ser sometidos al filtrado de desbloqueo en base al valor de bS, el valor de dEdge, el valor de dSample y similares.
En el método del paso 2, se usa log2CUSize-3 para derivar nD que indica el número de bloques de la unidad de filtrado de desbloqueo en el bloque actual. Es decir, el filtro de desbloqueo puede aplicarse a los bordes verticales y horizontales del bloque actual (CU actual) para cada bloque de 8x8 píxeles por el número de bloques de 8x8 píxeles.
Posteriormente, los valores de bS de los bordes verticales y los valores de bS de los bordes horizontales se comparan en 8 píxeles y se determina el mayor valor de bS. Por ejemplo, bSVer, que es la bS de un borde vertical, se establece en Max(bS[0][xDk][yDm+i]) y bSHor, que es la bS de un borde horizontal, se establece en Max(bS[0][xDk][yDm+i]), donde i es igual a 0,..., 7. Los valores de bS basados en 8 píxeles se comparan mientras que el valor de i de 0 a 7 y el valor de bS más grande puede establecerse como el valor de bS para el bloque de la unidad de filtrado de desbloqueo actual. Por ejemplo, los valores de bS basados en 8 píxeles pueden compararse a lo largo del borde vertical y el valor de bS más grande puede establecerse como la bS del borde vertical del bloque de la unidad de filtrado de desbloqueo actual. Los valores de bS basados en 8 píxeles se pueden comparar a lo largo del borde horizontal y el valor de bS más grande puede establecerse como la bS del borde horizontal del bloque de la unidad de filtrado de desbloqueo actual.
Por consiguiente, en el paso 1, se determina la bS para cada límite de todos los bloques de 4x4 píxeles (bloque de unidad de configuración de bS). Sin embargo, en el paso 2, como bSVer como la bS del borde horizontal y bSHor como la bS del borde horizontal se establecen en el límite de cada bloque de 8x8 píxeles (bloque de unidad de filtrado de desbloqueo), se usan los valores de bS determinados en los límites del bloque de 8x8 píxeles.
En el paso 1 de las FIGS. 7 y 8, para describir claramente que el proceso se realiza mediante 4 píxeles, se usan expresiones como ((1<<log2CUSize)>>2) y xEk+1=xEk+4, yEj+1=yEj+4, pero la presente invención no se limita a estas expresiones. Por ejemplo, cuando el valor de bS se puede determinar mediante bloques de unidad de configuración de bS predeterminados (por ejemplo, bloques de 4x4 píxeles en el ejemplo mencionado anteriormente), se pueden usar otras expresiones que indican este caso para establecer el valor de bS para cada bloque de unidad de configuración de bS.
En el paso 2 de las FIGS. 7 y 8, para describir claramente que el proceso se realiza mediante 8 píxeles, se usan expresiones como log2CUSize-3, pero la presente invención no se limita a estas expresiones. Por ejemplo,
cuando el filtrado de desbloqueo se realiza mediante bloques de unidades de filtrado de desbloqueo predeterminados (por ejemplo, bloques de 8x8 píxeles en el ejemplo mencionado anteriormente) y se establecen los valores de bS, pueden usarse otras expresiones que indican que este caso puede usarse para restablecer el valor de bS para cada bloque de unidad de filtrado de desbloqueo.
Las FIGS. 7 y 8 ilustran el ejemplo donde se procesan muestras de luma y el bloque actual es una CU, pero la presente invención no se limita a este ejemplo y puede aplicarse a un ejemplo donde se procesan muestras de croma y el bloque actual es una unidad de proceso (por ejemplo, una PU o una TU) que no sea la CU. Aquí, lo mismo puede aplicarse a un ejemplo en el que el bloque de la unidad de configuración de bS es un bloque de 4x4 píxeles y el bloque de la unidad de filtrado de desbloqueo no es un bloque de 8x8 píxeles.
Por otro lado, en los ejemplos de las FIGS. 7 y 8, en el paso 1, el valor de bS se determina y establece para los límites de cada bloque de píxeles de 4x4. Sin embargo, en el paso 2, bSVer y bSHor se calculan en los límites de un bloque de 8x8 píxeles. Por consiguiente, en los ejemplos de las FIGS. 7 y 8, no es necesario determinar los valores de bS de los bordes internos del bloque de 8x8 píxeles.
Por lo tanto, puede considerarse que un método para derivar la bS de solo un límite que es el límite del bloque de la unidad de filtrado de desbloqueo y el límite del bloque de la unidad de configuración de bS reduce la complejidad del proceso de filtrado de desbloqueo. Por ejemplo, puede considerarse un método (método 1 de derivación de bS) para determinar la bS para cada bloque de unidad de configuración de bS en cada bloque de unidad de filtrado de desbloqueo y un método (método 2 de derivación de bS) para determinar la bS para cada bloque de unidad de configuración de bS y añadir una condición que el límite correspondiente del bloque de la unidad de configuración de bS esté localizado en el límite del bloque de la unidad de filtrado de desbloqueo.
Primero, se describirá a continuación un ejemplo del método para determinar la bS para cada bloque de unidad de configuración de bS en cada bloque de unidad de filtrado de desbloqueo.
<Método 1 de derivación bS>
Se supone que la posición de una muestra de luma localizada en la esquina superior izquierda de un bloque actual, por ejemplo, una CU actual, se especifica como (xC, yC) con respecto a la muestra de luma localizada en la esquina superior izquierda de una imagen actual. Se supone que un parámetro para especificar el tamaño de una CU como el bloque actual es log2CUSize y los bordes horizontales y los bordes verticales de los cuales se determina la bS se indican mediante matrices bidimensionales horEdgeFlags y verEdgeFlags. En este momento, el tamaño de las matrices bidimensionales es nSxnS y nS=1<<log2CUSize.
Se supone que (xEk, yEj) especifica un conjunto de posiciones de muestras colindantes con el borde (muestras de borde). Aquí, k = 0,..., nE-1, j = 0,..., nE-1, nE se establece en ((1<< log2CUSize)>> 3), y se establecen las relaciones de xE0 = 0, yE0 = 0, xEk+1 = xEk 8, y yEj+1 = yEj+8.
En este caso, las muestras en las que se realiza el filtrado de desbloqueo en los bordes horizontales y los bordes verticales pueden determinarse en base a (xEk, yEj) que especifica el conjunto de posiciones de muestra de borde. Por ejemplo, en un borde horizontal, (1) cuando la información que indica un borde horizontal indica que el filtrado de desbloqueo se realizará en el borde (se determinará la bS del borde) (por ejemplo, horEdgeFlags[xEk][yEj]=1), (2) en (xEk+r, yEj) (donde r = 0, 1), p0 puede establecerse en (xC+xEk, yC+yEj-1) de una imagen reconstruida por predicción y q0 puede establecerse en (xC+xEk, yC+yEj) de una imagen reconstruida por predicción. (3) En este momento, la dirección de filtrado de desbloqueo es la dirección vertical.
En un borde vertical, (1) cuando la información que indica un borde vertical indica que el filtrado de desbloqueo se realizará en el borde (se determinará la bS del borde) (por ejemplo, verEdgeFlags[xEk][yEj]=1), (2) en (xEk, yEj+r) (donde r=0, 1), p0 puede establecerse en (xC+xEk-1, yC+yEj) de una imagen reconstruida por predicción y q0 puede establecerse en (xC+xEk, yC+yEj) de una imagen reconstruida por predicción. (3) En este momento, la dirección de filtrado de desbloqueo es la dirección horizontal.
El valor de bS puede determinarse con respecto a (Ek, Ej) dependiendo de la dirección de filtrado. Por ejemplo, se puede determinar que bS es bS[filterDir][Ek][Ej].
De acuerdo con el método 1 de derivación de bS, los bordes de los cuales se determinará la bS se establecen para cada bloque de unidad de filtrado de desbloqueo. Por consiguiente, se determina la bS de un borde que es el límite del bloque de la unidad de filtrado de desbloqueo y el límite del bloque de la unidad de ajuste de bS. En el método 1 de derivación de bS, como el bloque de la unidad de filtrado de desbloqueo es un bloque de 8x8 píxeles y la bS está determinada por 4 píxeles, el borde de dicha bS se determinará en el límite del bloque de 8x8 píxeles. Para este propósito, se utilizan expresiones como nE = ((1<<log2CUSize)>>3), xEk+1 = xEk 8, y yEj+1 = yEj+8. El valor de bS del borde horizontal se establece con respecto a (xEk+r, yEj) y se especifican muestras de filtrado de desbloqueo. El valor de bS del borde vertical se establece con respecto a (Ek, yEj+r) y se especifican
muestras de filtrado de desbloqueo. Aquí, el valor de r se define como 0 y 1.
Posteriormente, cuando se establece el valor de bS para cada bloque de píxeles de 4x4, se determinan los valores de bS de los bordes que son los límites superpuestos de los límites de los bloques de píxeles de 8x8 y los límites de los bloques de píxeles de 4x4. En otras palabras, el valor de bS se determina en la unidad de 4 píxeles (es decir, en la unidad de bloque de unidad de configuración de bS) en los límites del bloque de 8x8 píxeles (es decir, bloque de unidad de filtrado de desbloqueo).
A continuación se describirá un ejemplo del método para determinar la bS para cada bloque de unidad de configuración de bS y añadir una condición de que el bloque de unidad de configuración de bS correspondiente esté localizado en el límite del bloque de unidad de filtrado de desbloqueo.
<Método 2 de derivación bS>
Se supone que la posición de una muestra de luma localizada en la esquina superior izquierda de un bloque actual, por ejemplo, una CU actual, se especifica como (xC, yC) con respecto a la muestra de luma localizada en la esquina superior izquierda de una imagen actual. Se supone que un parámetro para especificar el tamaño de una CU como el bloque actual es log2CUSize y los bordes horizontales y los bordes verticales de los cuales se determina la bS se indican mediante matrices bidimensionales horEdgeFlags y verEdgeFlags. En este momento, el tamaño de las matrices bidimensionales es nSxnS y nS=1<< log2CUSize.
Se supone que (xEk, yEj) especifica un conjunto de posiciones de muestras colindantes con el borde (muestras de borde). Aquí, k=0,..., nE-1, j=0,..., nE-1, nE se establece en ((1<< log2CUSize)>>2), y se establecen las relaciones de xE0=0, yE0=0, xEk+1=xEk+4, y yEj+1=yEj+4.
En este caso, las muestras en las que se realiza el filtrado de desbloqueo en los bordes horizontales y los bordes verticales pueden determinarse en base a (xEk, yEj) especificando el conjunto de posiciones de muestra de borde. Por ejemplo, en un borde horizontal, (1) cuando la información que indica un borde horizontal indica que el filtrado de desbloqueo se realizará en el borde (se determinará la bS del borde) (por ejemplo, horEdgeFlags[xEk][yEj]=1) y el valor de yEj%2 es 0, (2) p0 puede establecerse a (xC+xEk, yC+yEj -1) de una imagen reconstruida por predicción y q0 puede establecerse a (xC+xEk, yC+yEj) de una imagen reconstruida por predicción. (3) En este momento, la dirección de filtrado de desbloqueo es la dirección vertical. Aquí, yEj%2 significa el resto obtenido dividiendo yEj entre 2.
En un borde vertical, (1) cuando la información que indica un borde vertical indica que el filtrado de desbloqueo se realizará en el borde (se determinará la bS del borde) (por ejemplo, verEdgeFlags[xEk][yEj]=1) y el valor de xEj%2 es 0, (2) p0 puede establecerse a (xC+xEk-1, yC+yEj) de una imagen reconstruida por predicción y q0 puede establecerse a (xC+xEk, yC+yEj) de una imagen reconstruida por predicción. (3) En este momento, la dirección de filtrado de desbloqueo es la dirección horizontal. Aquí, xEj%2 significa el resto obtenido dividiendo xEj por 2.
El valor de bS puede determinarse con respecto a (Ek,Ej) dependiendo de la dirección de filtrado. Por ejemplo, puede determinarse que bS es bS[filterDir][Ek][Ej].
De manera similar al método 1 de derivación de bS, en el método 2 de derivación de bS, no se determinan los valores de bS de los bordes localizados dentro del bloque de la unidad de filtrado de desbloqueo (bloque de 8x8 píxeles). En el método 2 de derivación de bS, el proceso de configuración de bS se realiza para cada bloque de 4x4 píxeles (bloque de unidad de configuración de bS), y el valor de bS se determina solo cuando el índice de un bloque de 4x4 píxeles es par, es decir, solo cuando el límite de un bloque de 4x4 píxeles es el límite de un bloque de 8x8 píxeles. Aquí, el valor de bS de cada límite puede establecerse usando el método de decisión de bS descrito en el ejemplo de la FIG. 5, o puede establecerse usando un método de decisión de bS más simple como se describirá más adelante.
La FIG. 9 es un diagrama que ilustra esquemáticamente un ejemplo de un método para establecer una bS cuando el límite de un bloque de unidad de filtrado de desbloqueo coincide con el límite del bloque de unidad de ajuste de bS. El ejemplo ilustrado en la FIG. 9 muestra esquemáticamente los resultados de la aplicación del método 1 de derivación bS y el método 2 de derivación bS.
Como se ilustra en la FIG. 9, cuando se considera un bloque de unidad de filtrado de desbloqueo 910 que es un bloque de 8x8 píxeles en un bloque actual (por ejemplo, una CU), no se determinan los valores de bS de los bordes localizados dentro del bloque 910.
Por otro lado, puede considerarse un método para derivar el valor de bS de solo un borde de los bordes del bloque de la unidad de filtrado de desbloqueo y establecer el valor de bS derivado como un valor de bS representativo del borde correspondiente de los bordes del bloque de la unidad de filtrado de desbloqueo para
simplificar el procedimiento de configuración de bS para reducir la complejidad y mejorar el efecto del filtrado de desbloqueo.
La FIG. 10 es un diagrama que ilustra esquemáticamente un ejemplo de un método para determinar un valor de bS representativo de un bloque de unidad de filtrado de desbloqueo. La FIG. 10 ilustra un ejemplo en el que un bloque de unidad de filtrado de desbloqueo 1000 es un bloque de 8x8 píxeles y un bloque de unidad de configuración de bS es un bloque de 4x4 píxeles.
En referencia a la FIG. 10, se determina el valor de bS de solo el borde puesto a cero 1010 de dos bordes verticales 1010 y 1020 de los cuales se debe determinar el valor de bS en el bloque 1000 de la unidad de filtrado de desbloqueo. En otras palabras, los valores de bS de solo el borde vertical y el borde horizontal del bloque de unidad de configuración de puesta a cero de bS se determinan para cada bloque de unidad de filtrado de desbloqueo, y los valores de bS calculados se usan como el valor de bS representativo del bloque de la unidad de filtrado de desbloqueo correspondiente. Por ejemplo, cuando el bloque de la unidad de filtrado de desbloqueo es un bloque de 8x8 píxeles y el bloque de la unidad de configuración de bS es un bloque de 4x4 píxeles, hay cuatro bloques de unidad de configuración de bS en el bloque de la unidad de filtrado de desbloqueo. Pueden determinarse los valores de bS de solo el borde vertical y el borde horizontal del bloque de puesta a cero (bloque superior izquierdo) y pueden usarse como el valor de bS representativo del bloque de la unidad de filtrado de desbloqueo.
Cuando los valores de bS se determinan como se muestra en la FIG. 8, puede simplificarse el proceso de decisión de bS, los valores de bS pueden determinarse mediante un proceso correspondiente a 1/4 del proceso existente, y la capacidad de memoria para almacenar los valores de bS puede reducirse en 1/4.
La posición (borde) en la que se determina la bS puede determinarse usando cualquiera de los métodos descritos anteriormente con referencia a las FIGS. 6 a 10. El método para determinar específicamente la bS en la posición en la que se establece la bS es el mismo que el descrito con referencia a la FIG. 5.
Sin embargo, puede usarse un método más simple que el método ilustrado en la FIG. 5 como el método de decisión de bS. Por ejemplo, incluso cuando el valor de bS se divide finamente de 0 a 4 como en el ejemplo ilustrado en la FIG. 5, el proceso de filtrado de desbloqueo puede no usar los valores de bS divididos. Por ejemplo, puede determinarse solo si se satisface bS>0, solo si se satisface bS>1 o solo si se satisface bS>2.
Por lo tanto, el árbol de decisión de bS mostrado en la FIG. 5 puede simplificarse aún más para realizar el filtrado de desbloqueo.
La FIG. 11 es un diagrama de flujo que ilustra esquemáticamente otro ejemplo del método de decisión de bS.
En referencia a la FIG. 11, se determina si el bloque P y/o el bloque Q está intra-codificado (S1110).
Cuando se determina que el bloque P y/o el bloque Q está intra-codificado, se determina que la bS del límite entre el bloque P y el bloque Q es bS3 (S1120).
Cuando no es el caso de que el bloque P y/o el bloque Q esté intra-codificado (es decir, ninguno de P y Q esté intra-codificado), se determina si el bloque P y/o el bloque Q incluyen un coeficiente (coeficiente de transformación distinto de 0) (S1130). En este momento, el coeficiente de transformación puede ser un coeficiente de transformación que no se ha descuantificado o puede ser un coeficiente de transformación que se ha descuantificado.
Cuando se determina en el paso S1130 que el bloque P y/o el bloque Q incluyen un coeficiente (coeficiente de transformación distinto de 0), se determina que el valor de bS del límite entre el bloque P y el bloque Q es bS2 (S1140).
Cuando se determina en el paso S1130 que el bloque P y/o el bloque Q no incluyen un coeficiente (coeficiente de transformación distinto de 0), se determina si el bloque P y el bloque Q tienen imágenes de referencia diferentes o si el bloque P y el bloque Q tienen vectores de movimiento diferentes (S1150).
Cuando se determina en el paso S1150 que el bloque P y el bloque Q tienen imágenes de referencia diferentes o que el bloque P y el bloque Q tienen diferentes vectores de movimiento, se determina que el valor de bS del límite entre el bloque P y el bloque Q es bS1 (S1160).
De lo contrario, es decir, cuando no se debe realizar el filtrado de desbloqueo, el valor de bS del límite entre el bloque P y el bloque Q se establece en bS0 (S1170).
Aquí, los valores de bS determinados en los pasos S1120, S1140, S1160 y S1170 se denotan por bS3,
bS2, bS1 y bS0, respectivamente, que tienen el propósito de facilitar su explicación. Cuando se considera que los valores de bS se clasifican en cuatro tipos en el ejemplo mostrado en la FIG. 11, los valores de bS0 a bS3 pueden establecerse en bS0 = 0, bS1 = 1, bS2 = 2 y bS3 = 3/4 como se ilustra en la FIG. 11. En el ejemplo ilustrado en la FIG. 11, se determina que bS3 es 3/4 en el paso S1120, que está destinado a comprender fácilmente que se determina que los valores de bS de 3 y 4 en el ejemplo ilustrado en la FIG. 5 son un valor único (por ejemplo, 3) de bS3 en el ejemplo ilustrado en la FIG. 11)
Los valores de los parámetros necesarios para el filtrado de desbloqueo pueden establecerse usando el árbol de decisión de bS. La FIG. 11 ilustra un ejemplo en el que el desplazamiento Tc se establece en un valor específico (por ejemplo, 2) para el mayor valor de bS y se establece en 0 para los otros valores de bS.
Puede considerarse un método capaz de reducir aún más el número de ramas de decisión que el descrito en el ejemplo de la FIG. 11. En este caso, el número de valores de bS puede reducirse a tres (bS0, bS1 y bS2) en lugar de cuatro (bS0, bS1, bS2 y bS3) para realizar el filtrado de desbloqueo.
En este caso, se determina que el valor de bS es el valor de bS más grande bS2 cuando el bloque P y/o el bloque Q está intra-codificado, se determina que el valor bas es bS1 cuando puede aplicarse el filtrado de desbloqueo, y se determina que el valor de bS es bS0 cuando no se puede aplicar el filtrado de desbloqueo. En consideración de la derivación a uno de los tres valores de bS, los valores de bS0, bS1 y bS2 pueden establecerse, por ejemplo, en bS0=0, bS1=1 y bS2=2.
La FIG. 12 es un diagrama de flujo que ilustra esquemáticamente el método para establecer el valor de bS en cualquiera de los tres valores descritos anteriormente.
En referencia a la FIG. 12, se determina si el bloque P y/o el bloque Q está intra-codificado (S1210).
Cuando se determina que el bloque P y/o el bloque Q está intra-codificado, se determina que la bS del límite entre el bloque P y el bloque Q es bS2 (S1220). Aquí, bS2 corresponde al caso donde el valor de bS es 3 y 4 (bS=3/4) en el ejemplo de la FIG. 5. Como el valor más grande de tres valores de bS es bS2, el valor de bS2 puede establecerse en, por ejemplo, 2.
Cuando no es el caso que el bloque P y/o el bloque Q está intra-codificado (es decir, ninguno de P y Q están intra-codificados), se determina si el bloque P y el bloque Q incluyen un coeficiente (coeficiente de transformación) distinto de 0, si P y Q tienen imágenes de referencia diferentes, o si P y Q tienen vectores de movimiento diferentes (S1230). En este momento, el coeficiente de transformación puede ser un coeficiente de transformación que no se ha descuantificado o puede ser un coeficiente de transformación que se ha descuantificado.
Cuando se determina en el paso S1230 que el bloque P y el bloque Q incluyen un coeficiente (coeficiente de transformación) distinto de 0, el bloque P y el bloque Q tienen imágenes de referencia diferentes, o el bloque P y el bloque Q tienen vectores de movimiento diferentes, la bS del límite entre P y Q se establece en bS1 (S1240). El valor de bS1 es el valor de bS cuando ninguno de los bloques P y Q está intra-codificado y se aplica el filtro de desbloqueo, y este caso corresponde al caso donde el valor de bS es 1 y 2 (bS = 1/2) en el ejemplo ilustrado en la FIG. 5. Como el valor medio de tres valores de bS es bS1, el valor de bS1 puede establecerse en, por ejemplo, 1.
De otra manera, es decir, cuando no se debe realizar el filtrado de desbloqueo, el valor de bS se establece en bS0 (S1240). El valor de bS0 es el valor de bS cuando no se aplica el filtro de desbloqueo, y corresponde al caso donde el valor de bS es 0 (bS=0) en el ejemplo ilustrado en la FIG. 5. Como el valor más pequeño de tres valores de bS es bS0, el valor de bS0 puede establecerse en, por ejemplo, 0.
Los valores de los parámetros necesarios para el filtrado de desbloqueo pueden establecerse usando el árbol de decisión de bS. La FIG. 12 ilustra un ejemplo en el que TC_offset se establece en un valor específico (por ejemplo, 2) para el valor de bS más grande y se establece en 0 para los otros valores bS.
La FIG. 13 es un diagrama de flujo que ilustra esquemáticamente otro ejemplo del método para determinar un valor de bS que es uno de los tres valores. En el método de decisión de bS (árbol de decisión de bS) descrito con referencia a la FIG. 12, tres valores de bS (bS1, bS2 y bS3) se establecen aparentemente en 0, 1 y 2, respectivamente, con el fin de comprender fácilmente la invención.
Con referencia a la FIG. 13, se determina si el bloque P y/o el bloque Q está intra-codificado (S1310). Cuando se determina que el bloque P y/o el bloque Q está intra-codificado, se determina que el valor de bS del límite entre el bloque P y el bloque Q es 2 (S1320). Cuando el valor de bS es 2, este caso corresponde al caso en que el valor de bS es 3 y 4 (bS=3/4) en el ejemplo de la FIG. 5.
Cuando no es el caso que el bloque P y/o el bloque Q están intra-codificados (es decir, es un caso en que ninguno de P y Q están intra-codificados), se determina si el bloque P y el bloque Q incluyen un coeficiente (coeficiente de transformación) distinto de 0, si P y Q tienen imágenes de referencia diferentes, o si P y Q tienen vectores de movimiento diferentes (S1330). En este momento, el coeficiente de transformación puede ser un coeficiente de transformación que no se ha descuantificado o puede ser un coeficiente de transformación que se ha descuantificado.
Cuando se determina en el paso S1330 que el bloque P y el bloque Q incluyen un coeficiente (coeficiente de transformación) distinto de 0, el bloque P y el bloque Q tienen imágenes de referencia diferentes, o el bloque P y el bloque Q tienen vectores de movimiento diferentes, el valor de bS del límite entre P y Q se establece en 1 (S1340). Aquí, el valor de bS de 1 es el valor de bS cuando ninguno de los bloques P y Q está intra-codificado y se aplica el filtro de desbloqueo, y este caso corresponde al caso donde el valor de bS es 1 y 2 (bS =1/2) en el ejemplo ilustrado en la FIG. 5.
De otro modo, es decir, cuando no se debe realizar el filtrado de desbloqueo, el valor de bS se establece en 0 (S1340). El valor de bS de 0 es el valor de bS cuando no se aplica el filtro de desbloqueo, y este caso corresponde al caso donde el valor de bS es 0 (bS=0) en el ejemplo ilustrado en la FIG. 5.
Los valores de los parámetros necesarios para el filtrado de desbloqueo pueden establecerse usando el árbol de decisión de bS. La FIG. 13 ilustra el ejemplo donde TC_offset se establece en un valor específico (por ejemplo, 2) para el valor de bS más grande y se establece en 0 para los otros valores de bS.
Incluso cuando el valor de bS se establece en uno cualquiera de los tres valores de bS como se ilustra en las FIGS. 12 y 13, el paso de determinación usando un árbol de decisión no necesita estar limitado a dos pasos. Los cinco valores de bS usados en el método de determinación ilustrado en la FIG. 5 pueden reducirse aún más usando más pasos de determinación o menos pasos de determinación. Por ejemplo, la determinación, que se realiza en un paso en las FIGS. 12 y 13, sobre si el bloque P y el bloque Q incluyen un coeficiente (coeficiente de transformación) distinto de 0, el bloque P y el bloque Q tienen imágenes de referencia diferentes, o el bloque P y el bloque Q tienen vectores de movimiento diferentes puede realizarse en varios pasos.
La FIG. 14 es un diagrama de flujo que ilustra esquemáticamente otro ejemplo más del método para determinar un valor de bS como uno de los tres valores.
En referencia a la FIG. 14, se determina si el bloque P y/o el bloque Q está intra-codificado (S1410).
Cuando se determina que el bloque P y/o el bloque Q está intra-codificado, el valor de bS del límite entre el bloque P y el bloque Q se determina que es 2 (S1420). Cuando el valor de bS es 2, este caso corresponde al caso en que el valor de bS es 3 y 4 (bS=3/4) en el ejemplo de la FIG. 5.
Cuando no es el caso que el bloque P y/o el bloque Q esté intra-codificado (es decir, ninguno de P y Q están intra-codificados), se determina si el bloque P y el bloque Q incluyen un coeficiente (coeficiente de transformación) distinto de 0, si P y Q tienen imágenes de referencia diferentes, o si P y Q tienen vectores de movimiento diferentes (S1430). En este momento, el coeficiente de transformación puede ser un coeficiente de transformación que no se ha descuantificado o puede ser un coeficiente de transformación que se ha descuantificado.
Cuando se determina que el bloque P y el bloque Q incluyen un coeficiente (coeficiente de transformación) distinto de 0, el valor de bS del límite entre P y Q se establece en 1 (S1440). Aquí, el valor de bS de 1 es el valor de bS cuando ninguno de los bloques P y Q está intra-codificado y se aplica el filtro de desbloqueo, y este caso corresponde al caso donde el valor de bS es 2 en el ejemplo ilustrado en la FIG. 5.
Cuando se determina que el bloque P y el bloque Q no incluyen un coeficiente (coeficiente de transformación) distinto de 0, se determina si el bloque P y el bloque Q tienen imágenes de referencia diferentes o si el bloque P y el bloque Q tienen vectores de movimiento diferentes (S1450).
Cuando se determina en el paso S1450 que el bloque P y el bloque Q tienen imágenes de referencia diferentes o que el bloque P y el bloque Q tienen vectores de movimiento diferentes, el valor de bS del límite entre el bloque P y el bloque Q se establece en 1 (S1460). Aquí, el valor de bS de 1 es el valor de bS cuando ninguno de los bloques P y Q está intra-codificado y se aplica el filtro de desbloqueo, y este caso corresponde al caso donde el valor de bS es 1 en el ejemplo ilustrado en la FIG. 5.
De otra manera, es decir, cuando no se realiza el filtrado de desbloqueo, el valor de bS se establece en 0 (S1470). El valor de bS de 0 es el valor de bS cuando no se aplica el filtro de desbloqueo, y este caso corresponde al caso donde el valor de bS es 0 (bS=0) en el ejemplo ilustrado en la FIG. 5.
Los valores de los parámetros necesarios para el filtrado de desbloqueo pueden establecerse usando el árbol de decisión de bS. La FIG. 13 ilustra el ejemplo donde TC_offset se establece a un valor específico (por ejemplo, 2) para el valor de bS más grande y se establece en 0 para los otros valores de bS.
Ahora, se describirá con detalle un método para derivar un valor de bS cuando el valor de bS se deriva a cualquiera de los tres valores.
Primero, con el propósito de comprender fácilmente la presente invención, se describirá a continuación un método para derivar el valor de bS a cualquiera de los cinco valores como se ilustra en la FIG. 5 u 11.
<Método de derivación de bS a cualquiera de los cinco valores>
Primero, se especifica un borde del que se establecerá el valor de bS. La especificación de un borde del que se establecerá la bS puede realizarse usando cualquiera de los métodos descritos anteriormente con referencia a las FIGS. 6 a 10.
Como se ha descrito anteriormente con referencia a las FIGS. 6 a 10, una posición de referencia (xEk, yEj) para configurar las muestras de bS, derecha e izquierda p0 y q0 del borde del que se establecerá el valor de bS, y la dirección de filtrado de desbloqueo, y similares se derivan por la especificación del borde del que se establecerá el valor de bS. Las muestras p0 y q0 se determinan en base a la posición de referencia (xEk, yEj) como se ha descrito anteriormente.
El parámetro bS[filterDir][xEk][yEj] que indica la fuerza de filtrado de límite se determina dependiendo de la dirección de filtrado de desbloqueo derivada. Por ejemplo, cuando el valor de filterDir es 1, indica el filtrado en la dirección vertical y, por tanto, el valor de bS se deriva del borde horizontal. Cuando el valor de filterDir es 0, indica el filtrado en la dirección horizontal y, por tanto, el valor de bS se deriva del borde vertical. xEk y yEj especifican el borde del que se establecerá el valor de bS. Por ejemplo, el borde del que se establecerá el valor de bS en el borde horizontal puede especificarse como el límite entre p0 establecido en (xC+xEk, yC+yEj-1) y q0 establecido en (xC+xEk, yC+yEj), y el borde del que se establecerá el valor de bS en el borde horizontal puede especificarse como el límite entre una muestra p0 establecida en (xC+xEk-1, yC+yEj) y una muestra q0 establecida en (xC+xEk, yC+yEj).
El valor de bS[filterDir][xEk][yEj] puede derivarse de la siguiente manera.
(1) Cuando un borde de bloque del que se establecerá el valor de bS es un borde de CU y una muestra p0 o q0 pertenece a una CU codificada en un modo de intra predicción, el valor de bS, es decir, el valor de bS[filterDir][xEk][yEj], se establece en 4.
(2) Cuando una muestra p0 o q0 pertenece a una CU codificada en un modo de intra predicción pero el borde del bloque en el que se establecerá el valor de bS no es un borde de CU, el valor de bS[filterDir][xEk][yEj] se establece en 3.
(3) Cuando el borde del bloque del que se establecerá el valor de bS es un borde de TU y la muestra p0 o q0 pertenece a una TU que incluye un nivel de coeficiente de transformación distinto de 0, el valor de bS [filterDir][xEk][yEj] se establece en 2.
(4) Para otro caso en el que se realiza el filtrado de desbloqueo, el valor de bS[filterDir][xEk][yEj] se establece en 1. Por ejemplo, para facilitar la explicación, las FIGS. 5, 11, 12, 13 y 14 ilustran un caso en el que el bloque P y/o el bloque Q incluyen un coeficiente de transformación distinto de 0 y un caso en el que el bloque P y el bloque Q tienen diferentes vectores de movimiento o diferentes imágenes de referencia como ejemplos del caso en el que la muestra p0 o q0 no pertenece a un bloque intra-codificado pero se realiza el filtrado de desbloqueo, pero la bS distinta de 0 puede establecerse en varios otros casos. Por ejemplo, (i) en un caso en el que el bloque P y el bloque Q tienen diferentes números de vectores de movimiento y (ii) en un caso en el que las diferencias absolutas en el componente vertical o las diferencias absolutas en el componente horizontal entre los vectores de movimiento usados para el bloque P y los vectores de movimiento usados para el bloque Q son iguales o mayores que 4 en la unidad de 1/4 píxeles, el valor de bS[filterDir][xEk][yEj] puede establecerse en 1.
(5) En un caso distinto de los casos (1) a (4), es decir, en un caso en el que no se realiza el filtrado de desbloqueo, se establece el valor de bS[filterDir][xEk][yEj] en 0.
Por otro lado, a diferencia del método de derivar el valor de bS a cualquiera de los cinco valores, el valor de bS puede derivarse simplemente con menor complejidad derivando el valor de bS a cualquiera de los tres valores como se ilustra en las FIGS. 12 a 14.
A continuación se describirá un ejemplo del método para derivar el valor de bS a cualquiera de los tres valores.
<Método 1 de derivar bS a cualquiera de los tres valores>
Primero, se especifica un borde del que se establecerá el valor de bS. La especificación de un borde del que se establecerá la bS puede realizarse usando cualquiera de los métodos descritos anteriormente con referencia a las FIGS. 6 a 10.
Una posición de referencia (xEk, yEj) para configurar las muestras de bS, derecha e izquierda p0 y q0 del borde del que se establecerá el valor de bS, y la dirección de filtrado de desbloqueo y similares se derivan de la especificación del borde del que se establecerá el valor de bS.
El parámetro bS[filterDir][xEk][yEj] que indica la intensidad de filtrado de límite se determina dependiendo de la dirección de filtrado de desbloqueo derivada. Por ejemplo, cuando el valor de filterDir es 1, indica el filtrado en la dirección vertical y, por tanto, el valor de bS se deriva del borde horizontal. Cuando el valor de filterDir es 0, indica el filtrado en la dirección horizontal y, por tanto, el valor de bS se deriva del borde vertical. xEk y yEj especifican el borde del que se establecerá el valor de bS. Por ejemplo, el borde del que se establecerá el valor de bS en el borde horizontal puede especificarse como el límite entre p0 establecido en (xC+xEk, yC+yEj-1) y q0 establecido en (xC+xEk, yC+yEj), y el borde del que se establecerá el valor de bS en el borde horizontal puede especificarse como el límite entre una muestra p0 establecida en (xC+xEk-1, yC+yEj) y una muestra q0 establecida en (xC+xEk, yC+yEj).
El valor de bS[filterDir][xEk][yEj] puede derivarse de la siguiente manera.
(1) Cuando una muestra p0 o q0 pertenece a una CU codificada en un modo de intra predicción, el valor de bS, es decir, el valor de bS[filterDir][xEk][yEj], se establece en 2.
(2) Cuando el borde del bloque del que se establecerá el valor de bS es un borde de TU y la muestra p0 o q0 pertenece a una TU que incluye un nivel de coeficiente de transformación distinto de 0, el valor de bS[filterDir][xEk][yEj] se establece en 1.
(3) Para otro caso en el que se realiza el filtrado de desbloqueo, el valor de bS[filterDir][xEk][yEj] se establece en 1. Por ejemplo, como se ha descrito anteriormente con referencia a los dibujos relevantes para la estructura de árbol de decisión de bS, (i) en un caso en el que una PU que incluye p0 y una PU que incluye q0 tienen diferentes imágenes de referencia o diferentes números de vectores de movimiento, (ii) en un caso en el que las diferencias absolutas en el componente vertical o las diferencias absolutas en el componente horizontal entre los vectores de movimiento usados para la PU que incluye p0 y los vectores de movimiento usados para la PU que incluye q0 son iguales o mayores que 4 en la unidad de 1/4 píxeles, (iii) en un caso en el que cuando se usan dos vectores de movimiento para la PU que incluye p0 y dos vectores de movimiento para la PU que incluye q0, las diferencias absolutas en el componente vertical o las diferencias absolutas en el componente horizontal entre por lo menos un par de vectores de movimiento correspondientes a la misma imagen de referencia es igual o mayor que 4 en la unidad de 1/4 píxeles, y similares, el valor de bS[filterDir][xEk][yEj] puede establecerse en 1.
(4) En un caso distinto de los casos (1) a (3), es decir, en un caso en el que no se realiza el filtrado de desbloqueo, se establece el valor de bS[filterDir][xEk][yEj] en 0.
Por otro lado, en lugar de derivar el valor de bS en cuatro pasos como se describe anteriormente, el mismo valor de bS puede derivarse en el mismo paso. A continuación se describirá otro ejemplo del método para derivar el valor de bS a cualquiera de los tres valores de bS.
<Método 2 de derivar bS a cualquiera de los tres valores>
Primero, se especifica un borde del que se establecerá el valor de bS. La especificación de un borde del que se establecerá la bS puede realizarse usando cualquiera de los métodos descritos anteriormente con referencia a las FIGS. 6 a 10.
Una posición de referencia (xEk, yEj) para configurar las muestras de bS, derecha e izquierda p0 y q0 del borde del que se establecerá el valor de bS, y la dirección de filtrado de desbloqueo y similares se derivan de la especificación del borde del que se establecerá el valor de bS.
El parámetro bS[filterDir][xEk][yEj] que indica la intensidad de filtrado de límite se determina dependiendo de la dirección de filtrado de desbloqueo derivada. Por ejemplo, cuando el valor de filterDir es 1, indica el filtrado en la dirección vertical y, por tanto, el valor de bS se deriva del borde horizontal. Cuando el valor de filterDir es 0, indica el filtrado en la dirección horizontal y, por tanto, el valor de bS se deriva del borde vertical. xEk y yEj especifican el borde del que se establecerá el valor de bS. Por ejemplo, el borde del que se establecerá el valor de bS en el borde horizontal puede especificarse como el límite entre p0 establecido en (xC+xEk, yC+yEj-1) y q0 establecido en (xC+xEk, yC+yEj), y el borde del que se establecerá el valor de bS en el borde horizontal puede especificarse como el límite entre una muestra p0 establecida en (xC+xEk-1, yC+yEj) y una muestra q0 establecida en (xC+xEk, yC+yEj).
El valor de bS[filterDir][xEk][yEj] puede derivarse de la siguiente manera.
(1) Cuando una muestra p0 o q0 pertenece a una CU codificada en un modo de intra predicción, el valor de
bS, es decir, el valor de bS[filterDir][xEk][yEj], se establece en 2.
(2) Para otro caso en el que se realiza el filtrado de desbloqueo, el valor de bS[filterDir][xEk][yEj] se establece en 1. Por ejemplo, (i) en un caso en el que un borde de bloque del que se establecerá el valor de bS en un borde de TU y la muestra p0 o q0 pertenece a una TU que incluye un nivel de coeficiente de transformación distinto de 0, (ii) en un caso en el que una PU que incluye p0 y una PU que incluye q0 tienen diferentes imágenes de referencia o diferentes números de vectores de movimiento, (iii) en un caso en el que las diferencias absolutas en el componente vertical o las diferencias absolutas en el componente horizontal entre los vectores de movimiento usados para la PU que incluye p0 y los vectores de movimiento usados para la PU que incluye q0 son iguales o mayores que 4 en la unidad de 1/4 píxeles, (iv) en un caso en el que cuando se usan dos vectores de movimiento para la PU que incluye p0 y dos vectores de movimiento para la PU que incluye q0, las diferencias absolutas en el componente vertical o las diferencias absolutas en el componente horizontal entre por lo menos un par de vectores de movimiento correspondientes a la misma imagen de referencia es igual o mayor que 4 en la unidad de 1/4 píxeles, y similares, el valor de bS[filterDir][xEk][yEj] puede establecerse en 1.
(3) En un caso distinto de los casos (1) y (2), es decir, en un caso en el que no se realiza el filtrado de desbloqueo, el valor de bS[filterDir][xEk][yEj] se establece en 0.
Por otro lado, el caso en el que el valor de bS se deriva a 1 no puede limitarse al caso en el que el borde del bloque del que se establecerá el valor de bS es el borde de TU. A continuación se describirá otro ejemplo del método para derivar el valor de bS a cualquiera de los tres valores de bS.
<Método 3 de derivar bS a cualquiera de los tres valores>
Primero, se especifica un borde del que se establecerá el valor de bS. La especificación de un borde del que se establecerá la bS puede realizarse usando cualquiera de los métodos descritos anteriormente con referencia a las Figs. 6 a 10.
Una posición de referencia (xEk, yEj) para configurar las muestras de bS, derecha e izquierda p0 y q0 del borde del que se establecerá el valor de bS, y la dirección de filtrado de desbloqueo y similares se derivan de la especificación del borde del que se establecerá el valor de bS.
El parámetro bS[filterDir][xEk][yEj] que indica la intensidad de filtrado de límite se determina dependiendo de la dirección de filtrado de desbloqueo derivada. Por ejemplo, cuando el valor de filterDir es 1, indica el filtrado en la dirección vertical y, por tanto, el valor de bS se deriva del borde horizontal. Cuando el valor de filterDir es 0, indica el filtrado en la dirección horizontal y, por tanto, el valor de bS se deriva del borde vertical. xEk y yEj especifican el borde del que se establecerá el valor de bS. Por ejemplo, el borde del que se establecerá el valor de bS en el borde horizontal puede especificarse como el límite entre p0 establecido en (xC+xEk, yC+yEj-1) y q0 establecido en (xC+xEk, yC+yEj), y el borde del que se establecerá el valor de bS en el borde horizontal puede especificarse como el límite entre una muestra p0 establecida en (xC+xEk-1, yC+yEj) y una muestra q0 establecida en (xC+xEk, yC+yEj).
El valor de bS[filterDir][xEk][yEj] puede derivarse de la siguiente manera.
(1) Cuando una muestra p0 o q0 pertenece a una CU codificada en un modo de intra predicción, el valor de bS, es decir, el valor de bS[filterDir][xEk][yEj], se establece en 2.
(2) Para otro caso en el que se realiza el filtrado de desbloqueo, el valor de bS[filterDir][xEk][yEj] se establece en 1. Por ejemplo, (i) en un caso en el que un borde de bloque del que se establecerá el valor de bS en un borde de TU y la muestra p0 o q0 pertenece a una TU que incluye un nivel de coeficiente de transformación distinto de 0, (ii) en un caso en el que una PU que incluye p0 y una PU que incluye q0 tienen diferentes imágenes de referencia o diferentes números de vectores de movimiento, (iii) en un caso en el que las diferencias absolutas en el componente vertical o las diferencias absolutas en el componente horizontal entre los vectores de movimiento usados para la PU, que incluye p0 y los vectores de movimiento usados para la PU que incluye q0 son iguales o mayores que 4 en la unidad de 1/4 píxeles, (iv) en un caso en el que cuando se usan dos vectores de movimiento para la PU que incluye p0 y dos vectores de movimiento para la PU que incluye q0, las diferencias absolutas en el componente vertical o las diferencias absolutas en el componente horizontal entre por lo menos un par de vectores de movimiento correspondientes a la misma imagen de referencia es igual o mayor que 4 en la unidad de 1/4 píxeles, y similares, el valor de bS[filterDir][xEk][yEj] puede establecerse en 1.
(3) En un caso distinto de los casos (1) y (2), es decir, en un caso en el que no se realiza el filtrado de desbloqueo, el valor de bS[filterDir][xEk][yEj] se establece en 0.
En los métodos para derivar el valor de bS a cualquiera de los tres valores, cuando la PU que incluye p0 y la PU que incluye q0 tienen imágenes de referencia diferentes, se determina dependiendo de a qué imagen se hace referencia, independientemente de la lista de imágenes de referencia usada y si los índices de imagen de referencia de la lista de imágenes de referencia son idénticos.
Se ha descrito anteriormente el método de derivación de bS para muestras de luma, pero la bS derivada como se ha descrito anteriormente puede aplicarse a muestras de croma.
Como se ha descrito anteriormente, cuando el número de valores de bS disminuye para reducir la complejidad y la bS se deriva con más simplicidad, es necesario corregir y realizar un método de filtrado de desbloqueo para los componentes de croma.
A continuación se describirá un ejemplo de un método para derivar el valor de bS a cualquiera de los cinco valores y realizar el filtro de desbloqueo en los componentes de croma (muestras de croma) usando el valor de bS derivado.
<Método 1 de realizar el filtrado de desbloqueo en muestras de croma>
Se especifica un parámetro tc. El parámetro tc es un valor para la cuantificación de un artefacto de bloqueo correspondiente a un grado de cuantificación y puede derivarse en base a TC_offset o puede mapearse en una tabla predeterminada en base a otros parámetros del desbloqueo de filtración.
Por ejemplo, como se muestra en la Tabla 1, el parámetro tc puede determinarse dependiendo de un parámetro de cuantificación Q, p como valor de referencia para determinar si se realizará el filtrado de desbloqueo, y similares.
Como se describe en el <Método de derivación de bS a cualquiera de los cinco valores>, cuando la bS de un borde de una muestra de croma se deriva a cualquier valor de 0 a 4, el valor de tc puede especificarse de la siguiente manera. (1) Cuando el valor de bS es mayor que 2 y el valor medio del parámetro de cuantificación del bloque P y el bloque Q en consideración de un valor redondo es qPL, se determina que el parámetro tc es un valor correspondiente al parámetro de cuantificación Q=Clip (0, 55, qPL). (2) Cuando el valor de Bs es igual a o menor que 2, se determina que el parámetro tc es un valor correspondiente al parámetro de cuantificación Q=qPL.
La Tabla 1 muestra un ejemplo de relaciones entre Q, p y tc.
<Tabla 1>
Aquí, se pueden establecer expresiones de tC=tC'*(1 <<(BitDepthY-8)) y p=p'*(1 <<(BitDepthY-8)).
El filtrado de desbloqueo en las muestras de croma puede realizarse usando los parámetros especificados en ausencia de los valores de la Tabla 1.
Primero, el filtrado de desbloqueo se realiza en las posiciones de muestra de croma (xC+xB, yC+yB+k) en el borde vertical. Aquí, k = 0,..., 3.
(1) En el bloque P y el bloque Q con el borde vertical como límite, una muestra de croma pi del bloque P y una muestra de croma qi del bloque Q (donde i = 0, 1) se derivan de q i=s'[xC+xB+i,yC+yB+k] y p i=s'[xC+xB-i-1,yC+yB+k].
(2) Cuando el valor de bS es mayor que 2, (i) el procedimiento de filtrado se realiza en las muestras de croma pi y qi. (ii) Las posiciones de muestra correspondientes de las muestras de croma filtradas p0' y q0' en la matriz de muestras se reemplazan de la siguiente manera: S'[xC+xB,yC+yB+k]=q0 ' y s'[xC+xB,yC+yB+k]=p0'.
El filtrado de desbloqueo se realiza en los componentes de croma en el borde horizontal de la siguiente manera. Aquí, k = 0,..., 3.
(1) En una muestra de croma p¡ del bloque P y una muestra de croma q¡ del bloque Q (donde i = 0, 1) se derivan a q¡=s'[xC+xB+i,yC+yB+k] y p¡=s'[xC+xB-¡-1 ,yC+yB+k].
(2) Cuando el valor de bS es mayor que 2, (¡) el proced¡m¡ento de f¡ltrado se real¡za en las muestras de croma p¡ y q¡. (¡¡) Las pos¡c¡ones de muestra correspondentes de las muestras de croma f¡ltradas p0' y q0' en la matr¡z de muestras se reemplazan de la s¡gu¡ente manera: S'[xC+xB,yC+yB+k]=q0 ' y s'[xC+xB,yC+yB+k]=p0'.
El f¡ltrado de desbloqueo se real¡za en los componentes de croma en el borde hor¡zontal de la s¡gu¡ente manera.
(1) En el bloque P y el bloque Q con el borde hor¡zontal como lím¡te, una muestra de croma p¡ del bloque P y una muestra de croma q¡ del bloque Q (donde ¡ = 0, 1) se der¡van de q¡=s'[xC+xB+k,yC+yB+¡] y p¡=s'[xC+xB+k,yC+yB-¡-1]. Aquí, k puede tener un valor de 0,..., 3.
(2) Cuando el valor de bS es mayor que 2, (¡) el proced¡m¡ento de f¡ltrado se real¡za en las muestras de croma p¡ y q¡. (¡¡) Las pos¡c¡ones de muestra correspondentes de las muestras de croma f¡ltradas p0' y q0' en la matr¡z de muestras se reemplazan de la s¡gu¡ente manera: S'[xC+xB,yC+yB+k]=q0' y s'[xC+xB-1,yC+yB+k]=p0'. En el proceso de f¡ltrado, cuando el valor de bS es mayor que 2, las muestras f¡ltradas se der¡van como se expresa en la Expres¡ón 5.
<Expresión 5>
A =Cl¡p3 (-tc, tc , (((qo-po)<<2)+pi -qi +4)>>3))
po’=CMp1c (p0+A )
q0 ’=Clip1c (q0+A )
Por otro lado, cuando el número de valores de bS d¡sm¡nuye para reduc¡r la complej¡dad y la bS se der¡va con más s¡mpl¡c¡dad, el método de f¡ltrado de desbloqueo para muestras de croma se puede real¡zar de la s¡gu¡ente manera.
<Método 2 de real¡zar el f¡ltrado de desbloqueo en muestras de croma>
Se espec¡f¡ca un parámetro tc. El parámetro tc es un valor para la cuant¡f¡cac¡ón de un artefacto de bloqueo correspondente a un grado de cuant¡f¡cac¡ón y puede der¡varse en base a tCoffset o puede mapearse en una tabla predeterminada en base a otros parámetros de desbloqueo de f¡ltrac¡ón.
Por ejemplo, como se muestra en la Tabla 2, el parámetro tc puede determinarse depend¡endo de un parámetro de cuant¡f¡cac¡ón Q, p como valor de referenc¡a para determinar s¡ se real¡zará el f¡ltrado de desbloqueo, y s¡m¡lares.
Como se descr¡be en el <Método de der¡vac¡ón de bS a cualqu¡era de los tres valores>, cuando la bS de un borde de una muestra de croma se der¡va a cualqu¡er valor de 0 a 2, el valor de tc puede espec¡f¡carse de la s¡gu¡ente manera. (1) Cuando el valor de bS es mayor que 2 y el valor med¡o del parámetro de cuant¡f¡cac¡ón del bloque P y el bloque Q en cons¡derac¡ón de un valor redondo es qPL, se determina que el parámetro tc es un valor correspondente al parámetro de cuant¡f¡cac¡ón Q=Cl¡p (0, 55, qPL). (2) Cuando el valor de Bs es ¡gual a o menor que 2, se determina que el parámetro tc es un valor correspondente al parámetro de cuant¡f¡cac¡ón Q=qPL.
La Tabla 2 muestra un ejemplo de relac¡ones entre Q, p y tc.
<Tabla 2>
Aquí, pueden establecerse expresiones de tc=tc'*(1<<(BitDepthY-8)) y p=p'*(1<<(BitDepthY-8)).
El filtrado de desbloqueo en las muestras de croma puede realizarse usando los parámetros especificados en base a los valores de la Tabla 2.
Primero, el filtrado de desbloqueo se realiza en las posiciones de muestra de croma (xC+xB, yC+yB+k) en el borde vertical. Aquí, k = 0,..., 3.
(1) En el bloque P y el bloque Q con el borde vertical como límite, se derivan una muestra de croma pi del bloque P y una muestra de croma qi del bloque Q (donde i = 0, 1) de q i = s ' [xC+xB+i, yC+yB+k] y pi=s'[xC+xB-i-1 ,yC+yB+k].
(2) Cuando el valor de bS es mayor que 1, (i) el procedimiento de filtrado se realiza en las muestras de croma pi y qi. (ii) Las posiciones de muestra correspondientes de las muestras de croma filtradas p0' y q0' en la matriz de muestras se reemplazan de la siguiente manera: S'[xC+xB,yC+yB+k]=q0 ' y s'[xC+xB,yC+yB+k]=p0'.
El filtrado de desbloqueo se realiza en los componentes de croma en el borde horizontal de la siguiente manera. Aquí, k = 0,..., 3.
(1) En una muestra de croma pi del bloque P y una muestra de croma qi del bloque Q (donde i = 0, 1) se derivan a qi=s'[xC+xB+i,yC+yB+k] y pi=s'[xC+xB-i-1 ,yC+yB+k].
(2) Cuando el valor de bS es mayor que 1, (i) el procedimiento de filtrado se realiza en las muestras de croma pi y qi. (ii) Las posiciones de muestra correspondientes de las muestras de croma filtradas p0' y q0' en la matriz de muestras se reemplazan de la siguiente manera: S'[xC+xB,yC+yB+k]=q0' y s'[xC+xB,yC+yB+k]=p0'.
El filtrado de desbloqueo se realiza en los componentes de croma en el borde horizontal de la siguiente manera.
(1) En el bloque P y el bloque Q con el borde horizontal como límite, se derivan una muestra de croma pi del bloque P y una muestra de croma qi del bloque Q (donde i = 0, 1) de qi=s'[xC+xB+k,yC+yB+i] y pi=s'[xC+xB+k,yC+yB-i-1]. Aquí, k puede tener un valor de 0,..., 3.
(2) Cuando el valor de bS es mayor que 1, (i) el procedimiento de filtrado se realiza en las muestras de croma pi y qi. (ii) Las posiciones de muestra correspondientes de las muestras de croma filtradas pü' y qü' en la matriz de muestras se reemplazan de la siguiente manera: S'[xC+xB,yC+yB+k]=q0' y s'[xC+xB-1,yC+yB+k]=p0'.
En el proceso de filtrado, cuando el valor de Bs es mayor que 1, las muestras filtradas se derivan como se expresa por la Expresión 6
<Expresión 6>
A =Cl¡p3 (-tc, tc , (((qo-po)<<2)+pi -qi +4)>>3))
po’=ClÍp1c (p0+A )
q0 ’=Clip1c (q0+A )
Por otro lado, la compensación de movimiento basada en bloques es una razón principal para bloquear
artefactos en un límite de bloque. Para superar este problema, puede usarse OBMC (Compensación de movimiento de bloque superpuesto).
Cuando se usa el OBMC, el proceso de decisión de bS mencionado anteriormente debe modificarse para que sea adecuado para el OBMC. Por ejemplo, cuando la información de movimiento varía entre bloques, pueden aumentar los artefactos de bloque. Por consiguiente, de manera similar puede decirse que la información de movimiento es una referencia para determinar 0 y 1 como los valores de bS. Sin embargo, cuando se usa la técnica de OBMC, se reducen los artefactos de bloque en el límite de un área en la que se realiza la compensación de movimiento. Como resultado, puede reducirse el filtrado de desbloqueo innecesario, pero el proceso de decisión de bS (árbol de determinación de bS) debe modificarse en consideración de lo mismo.
La FIG. 15 es un diagrama de flujo que ilustra esquemáticamente el método de decisión de bS como un ejemplo del árbol de decisión de bS que se aplica en el momento de la aplicación del OBMC.
En referencia a la FIG. 15, primero se determina si el bloque P y/o el bloque Q está intra-codificado (S1500).
Cuando se determina que el bloque P y/o el bloque Q está intra-codificado, se determina si el límite del bloque Q, es decir, el límite entre el bloque P y el bloque Q, es un límite de un bloque de codificación (S1510). En este momento, el bloque de codificación incluye una CU y una LCU.
Cuando se determina en el paso S1510 que el límite entre el bloque P y el bloque Q es un límite de un bloque de codificación, se determina que el valor de bS del límite entre el bloque P y el bloque Q es bS4 (por ejemplo, bS4=4) (S1520).
Cuando se determina en el paso S1520 que el límite entre el bloque P y el bloque Q no es un límite de un bloque de codificación, se determina que el valor de bS del límite entre el bloque P y el bloque Q es bS3 (por ejemplo, bS3=3) (S1530).
Cuando se determina en el paso S1500 que ninguno de los bloques P y Q está intra-codificado, se determina si el bloque P y el bloque Q están presentes dentro de una partición rectangular o asimétrica en un solo bloque de codificación (por ejemplo CU) (S1540).
Cuando se determina en el paso S1540 que el bloque P y el bloque Q no están presentes dentro de una partición rectangular o asimétrica en un solo bloque de codificación (por ejemplo CU), se determina si P y/o Q incluyen un coeficiente (un coeficiente de transformación distinto de 0) (S1550). En este momento, el coeficiente de transformación puede ser un coeficiente de transformación que no se ha descuantificado o puede ser un coeficiente de transformación que se ha descuantificado.
Cuando se determina en el paso S1550 que el bloque P y/o el bloque Q incluyen un coeficiente (un coeficiente de transformación distinto de 0), se determina que bS del límite entre P y Q es bS2 (por ejemplo, bS2 = 2) (S1560).
Cuando se determina en el paso S1550 que el bloque P y/o el bloque Q no incluyen un coeficiente (un coeficiente de transformación distinto de 0), se determina si el bloque P y el bloque Q tienen diferentes imágenes de referencia o vectores de movimiento (S1570).
Cuando se determina en el paso 1570 que el bloque P y el bloque Q tienen diferentes imágenes de referencia o diferentes vectores de movimiento, se determina que la bS del límite entre el bloque P y el bloque Q es bS1 (por ejemplo, bS1 = 1) (S1580).
De otro modo, es decir, cuando no se debe realizar el filtrado de desbloqueo, el valor de bS se establece en bS0 (por ejemplo, bS0=0) (S1590). BS se establece en bS0 cuando se determina en el paso S1540 que el bloque P y el bloque Q no están presentes dentro de una partición rectangular o asimétrica en un único bloque de codificación (por ejemplo, CU) o cuando se determina en el paso S1570 que ese bloque P y el bloque Q no tienen diferentes imágenes de referencia o diferentes vectores de movimiento.
En el ejemplo ilustrado en la FIG. 15, de manera similar a los ejemplos mencionados anteriormente del método de decisión de bS, se mantiene la relación de bS4 > bS3 > bS2 > bS1 > bS0. Por lo tanto, los valores de bS0 a bS4 pueden establecerse en bS4=4, bS3=3, bS2=2, bS1=1 y bS0=0, como se ha descrito anteriormente y se ilustra en el dibujo.
De manera similar a los ejemplos mencionados anteriormente, los valores de un parámetro necesario para el filtrado de desbloqueo pueden establecerse usando el árbol de decisión de bS. La FIG. 15 ilustra un ejemplo en el que el desplazamiento Tc se establece en un valor específico (por ejemplo, 2) para los dos valores de bS más
grandes y se establece en 0 para los otros valores bS.
En el ejemplo ilustrado en la FIG. 15, cuando el bloque P y el bloque Q están presentes en un único bloque de codificación (por ejemplo, una CU) y están presentes dentro de una partición rectangular (por ejemplo, un bloque de predicción y una PU) o en una partición asimétrica (por ejemplo, un bloque de predicción y una PU), puede determinarse que el valor de bS del límite entre el bloque P y el bloque Q es 0.
De otro modo, cuando el bloque P y el bloque Q están presentes en un único bloque de codificación (por ejemplo, una CU) y están presentes dentro de una partición rectangular (por ejemplo, un bloque de predicción y una PU) o en una partición asimétrica (por ejemplo, un el bloque de predicción y una PU) pero hay una gran diferencia entre la información de movimiento de P y la información de movimiento del bloque Q, puede determinarse que el valor de bS del límite entre el bloque P y el bloque Q es 1. Cuando hay una pequeña diferencia entre la información de movimiento del bloque P y la información de movimiento del bloque Q, puede determinarse que el valor de bS del límite entre el bloque P y el bloque Q es 0.
La FIG. 16 es un diagrama de flujo que ilustra esquemáticamente el método de decisión de bS como otro ejemplo del árbol de decisión de bS que se aplica en el momento de la aplicación del OBMC.
En referencia a la FIG. 16, primero se determina si P y/o Q está intra-codificado (S1600).
Cuando se determina que el bloque P y/o el bloque Q está intra-codificado, se determina si el límite del bloque Q, es decir, el límite entre el bloque P y el bloque Q es un límite de un bloque de codificación (S1610). En este momento, el bloque de codificación incluye una CU y una LCU.
Cuando se determina en el paso S1610 que el límite entre el bloque P y el bloque Q es un límite de un bloque de codificación, se determina que el valor de bS del límite entre el bloque P y el bloque Q es bS4 (por ejemplo, bS4=4) (S1620).
Cuando se determina en el paso S1620 que el límite entre el bloque P y el bloque Q no es un límite de un bloque de codificación, se determina que el valor de bS del límite entre el bloque P y el bloque Q es bS3 (por ejemplo, bS3=3) (S1630).
Cuando se determina en el paso S1600 que ninguno de los bloques P y Q está intra-codificado, se determina si el bloque P y el bloque Q están presentes en una partición rectangular o asimétrica en un único bloque de codificación (por ejemplo, una CU) (S1640)
Cuando se determina en el paso S1640 que el bloque P y el bloque Q no están presentes dentro de una partición rectangular o asimétrica en un único bloque de codificación (por ejemplo, CU), se determina si el bloque P y/o el bloque Q incluyen un coeficiente (coeficiente de transformación distinto de 0) (S1650). En este momento, el coeficiente de transformación puede ser un coeficiente de transformación que no se ha descuantificado o puede ser un coeficiente de transformación que se ha descuantificado.
Cuando se determina en el paso S1650 que el bloque P y/o el bloque Q incluyen un coeficiente (un coeficiente de transformación distinto de 0), se determina que el valor de bS del límite entre el bloque P y el bloque Q es bS2 (por ejemplo, bS2=2) (S1660).
Cuando se determina en el paso S1640 que el bloque P y el bloque Q están presentes dentro de una partición rectangular o asimétrica en un único bloque de codificación (por ejemplo, CU) o cuando se determina en el paso S1650 que el bloque P y/o el bloque Q no incluye un coeficiente (un coeficiente de transformación distinto de 0), se determina si el bloque P y el bloque Q tienen diferentes imágenes de referencia o diferentes vectores de movimiento (S1670).
Cuando se determina en el paso S1670 que el bloque P y el bloque Q tienen diferentes imágenes de referencia o diferentes vectores de movimiento, se determina que el valor de bS del límite entre el bloque P y el bloque Q es bS1 (por ejemplo, bS1 =1) (S1680).
De otro modo, es decir, cuando no se debe realizar el filtrado de desbloqueo, el valor de bS se establece en bS0 (por ejemplo, bS0 = 0) (S1690).
En el ejemplo ilustrado en la FIG. 16, de manera similar a los ejemplos mencionados anteriormente del método de decisión de bS, se mantiene la relación de bS4 > bS3 > bS2 > bS1 > bS0. Por lo tanto, los valores de bS0 a bS4 pueden establecerse en bS4=4, bS3=3, bS2=2, bS1=1 y bS0=0, como se ha descrito anteriormente y se ilustra en el dibujo.
Como se ha descrito anteriormente, en el ejemplo ilustrado en la FIG. 16, incluso cuando el bloque P y el
bloque Q están presentes en un único bloque de codificación (por ejemplo, una CU) y están presentes dentro de una partición rectangular (por ejemplo, un bloque de predicción y una PU) o en una partición asimétrica (por ejemplo, un bloque de predicción y una PU), el valor de bS del límite entre el bloque P y el bloque Q puede determinarse como bS1 (por ejemplo, bS1=1).
De manera similar a los ejemplos mencionados anteriormente, los valores de un parámetro necesario para el filtrado de desbloqueo pueden establecerse usando el árbol de decisión de bS. La FIG. 16 ilustra un ejemplo en el que TCoffset se establece en un valor específico (por ejemplo, 2) para los dos valores de bS más grandes y tCoffset se establece en 0 para los otros valores de bS.
Por otro lado, cuando el bloque P y/o el bloque Q está intra-codificado, los valores de bS pueden no tener que dividirse. Por ejemplo, como en el ejemplo ilustrado en la FIG. 5, 15 o 16, se supone que se determina si un límite objetivo en un segmento I (segmento intra-codificado) es un límite de un bloque de codificación (por ejemplo, una CU), se determina que el valor de bS es 4 cuando el resultado de la determinación es afirmativo, y se determina que el valor de bS es 3 cuando el resultado de la determinación es negativo. En este caso, los valores de bS en todos los segmentos I son 3 o 4.
A este respecto, cuando se aplica el método de modificación del árbol de decisión de bS para reducir la complejidad como se ilustra en las FIGS. 12 a 14, el valor de bS puede aplicarse simplemente dependiendo de si el valor de bS es mayor que 0 o mayor que 1 o 2. Por lo tanto, el valor de bS de 3 o 4 puede no tener que distinguirse.
La FIG. 17 es un diagrama que ilustra esquemáticamente un ejemplo del método para determinar un valor de bS para aplicar el filtrado de desbloqueo.
En referencia a la FIG. 17, el valor de bS se determina para aplicar el filtrado de desbloqueo (S1710), ENCENDIDO/APAGADO del filtrado basado en bloques se determina en base al valor de bS determinado (S1720), se determina si debe aplicarse un filtro fuerte o un filtro débil a un valor de bS predeterminado (S1730), y la operación de filtrado se realiza en base al mismo (S1740).
En el ejemplo ilustrado en la FIG. 17, el método de aplicar el filtro de desbloqueo es idéntico o similar al método descrito con referencia a la FIG. 3.
En el paso de decisión de bS (S1710), como se ilustra en la FIG. 5, 15 o 16, cuando el bloque P y/o el bloque Q está intra-codificado, el valor de bS puede determinarse determinando si el límite objetivo es un límite de un bloque de codificación.
La FIG. 18 es un diagrama que ilustra esquemáticamente otro ejemplo del método para determinar un valor de bS para aplicar el filtrado de desbloqueo. En la FIG.. 18, a diferencia del ejemplo ilustrado en la FIG. 17, cuando el bloque P y/o el bloque Q está intra-codificado (segmento I), el valor de bS no se distingue ni determina adicionalmente.
En referencia a la FIG. 18, se determina si el bloque P y/o el bloque Q está intra-codificado (segmento I) para aplicar el filtrado de desbloqueo (S1810).
Cuando no es un caso que el bloque P y/o el bloque Q están intra-codificados (es decir, ninguno de los bloques P y Q están intra-codificados), se realiza el paso de decisión de bS general como se ilustra en la FIG. 17 (S1820).
Cuando se determina que el bloque P y/o el bloque Q está intra-codificado (segmento I), se determina que el valor de bS es un valor único (por ejemplo, 4) a diferencia del ejemplo ilustrado en la FIG. 17 (S1830).
Posteriormente, el ENCENDIDO/APAGADO del filtrado basado en bloques se determina en base al valor de bS determinado (S1840), se determina si se debe aplicar un filtro fuerte o un filtro débil a un valor de bS predeterminado (S1850), y luego se realiza la operación de filtrado en base al mismo (S1860).
Además del ejemplo ilustrado en la FIG. 18, el método que usa un valor de bS representativo descrito en el ejemplo ilustrado en la FIG. 6 puede modificarse para realizar el filtrado de desbloqueo, como otro método para modificar y aplicar el método de filtrado de desbloqueo mencionado anteriormente.
En el ejemplo ilustrado en la FIG. 6, cuando el filtrado de desbloqueo se realiza mediante bloques de 8x8 píxeles, el valor de bS más grande de dos valores de bS determinados en la unidad de bloques de píxeles de 4x4 se usa como un valor de bS representativo.
La FIG. 19 es un diagrama de flujo que ilustra esquemáticamente un ejemplo del método para determinar un valor de bS representativo.
En referencia a la FIG. 19, se comparan las magnitudes de bS1 y bS2 en un bloque de unidad de filtrado de desbloqueo para seleccionar el valor representativo de bS (S1910).
Cuando se determina en el paso S1910 que bS1 es mayor que bS2, se determina que el valor representativo de bS es bS1 (S1920). Por otro lado, cuando se determina en el paso S1510 que bS2 es mayor que bS1, se determina que el valor representativo de bS es bS2 (S1930).
Aquí, bS1 y bS2 pueden ser valores de bS de dos bordes verticales en el bloque de la unidad de filtrado de desbloqueo o pueden ser valores de bS de dos bordes horizontales. El método ilustrado en la FIG. 19 puede realizarse en el proceso de filtrado de desbloqueo en los bordes verticales para determinar el valor representativo de bS de los bordes verticales y luego puede realizarse en el proceso de filtrado de desbloqueo en los bordes horizontales para determinar el valor representativo de bS de los bordes horizontales.
El módulo de filtro puede realizar el filtrado de desbloqueo usando el valor de bS representativo determinado.
El ejemplo ilustrado en la FIG. 19 ilustra que el valor de bS más grande se usa como el valor de bS representativo como en el ejemplo ilustrado en la FIG. 6. De otro modo, el método para determinar un valor representativo de bS puede cambiarse para reducir el filtrado de desbloqueo excesivo y reducir una carga computacional.
La FIG. 20 es un diagrama de flujo que ilustra esquemáticamente otro ejemplo del método para determinar un valor de bS representativo.
En referencia a la FIG. 20, se comparan las magnitudes de bS1 y bS2 en un bloque de unidad de filtrado de desbloqueo para seleccionar el valor representativo de bS (S2010).
Cuando se determina en el paso S2010 que bS1 es menor que bS2, se determina que el valor representativo de bS es bS1 (S2020). Por otro lado, cuando se determina en el paso S2010 que bS2 es menor que bS1, se determina que el valor representativo de bS es bS2 (S2030).
Aquí, bS1 y bS2 pueden ser los valores de bS de dos bordes verticales en el bloque de la unidad de filtrado de desbloqueo o pueden ser los valores de bS de dos bordes horizontales. El método ilustrado en la FIG. 20 también puede realizarse en el proceso de filtrado de desbloqueo en los bordes verticales para determinar el valor de bS representativo de los bordes verticales y luego puede realizarse en el proceso de filtrado de desbloqueo en los bordes horizontales para determinar el valor representativo de bS de los bordes horizontales.
El módulo de filtro puede realizar el filtrado de desbloqueo usando el valor de bS representativo determinado.
Por otro lado, cuando el valor de bS se deriva a cualquiera de los cinco valores descritos con referencia a las FIGS. 17 y 18, pero el filtrado de desbloqueo se realiza realmente, solo puede determinarse si el valor de bS es mayor que 0 o el valor de bS es mayor que 2. Por lo tanto, cuando hay tres valores de bS diferentes, es posible realizar efectivamente el filtrado de desbloqueo dependiendo de las características de píxeles o bloques.
La FIG. 21 es un diagrama de flujo que ilustra esquemáticamente otro método capaz de simplificar el árbol de decisión de bS (método de decisión de bS).
En referencia a la FIG. 21, primero se determina si el bloque P y/o el bloque Q está intra-codificado (S2110).
Cuando se determina que el bloque P y/o el bloque Q está intra-codificado, se determina que el valor de bS del límite entre el bloque P y el bloque Q es 2 (S2120).
Cuando no es el caso que el bloque P y/o el bloque Q están intra-codificados (es decir, es el caso en ninguno de los bloques P y Q están intra-codificados), se determina si el bloque P y el bloque Q incluyen un coeficiente (coeficiente de transformación) distinto de 0, el bloque P y el bloque Q tienen imágenes de referencia diferentes, o el bloque P y el bloque Q tienen vectores de movimiento diferentes (S2130).
Cuando se determina en el paso S2130 que el bloque P y el bloque Q incluyen un coeficiente (coeficiente de transformación) distinto de 0, el bloque P y el bloque Q tienen imágenes de referencia diferentes, o el bloque P y el bloque Q tienen diferentes vectores de movimiento, el valor de bS del límite entre el bloque P y el bloque Q se establece en 1 (S2140).
De otro modo, es decir, cuando no se realiza el filtrado de desbloqueo, el valor de bS se establece en 0
(S2140).
En otras palabras, cuando el valor de bS es 0, es decir, cuando no se realiza el filtrado de desbloqueo, el bloque P y el bloque Q se codifican en un modo de inter predicción y las piezas de información de movimiento del mismo son similares. En este momento, la similitud de las piezas de información de movimiento significa que el bloque P y el bloque Q tienen las mismas imágenes de referencia y una diferencia entre los componentes de los vectores de movimiento es menor que 4 (por ejemplo, la diferencia entre las componentes x de los vectores de movimiento es menor que 4 y la diferencia entre sus componentes es menor que 4).
En este momento, cuando el cbf (indicador de bloque codificado) del bloque P y el bloque Q no es 0, es decir, cuando el bloque P y el bloque Q incluyen un coeficiente de transformación distinto de 0, el bloque P y el bloque Q pueden predecirse en el modo de inter predicción y el valor de bS pueden establecerse en 0 cuando las piezas de información de movimiento de los mismos son similares entre sí. De lo contrario, es decir, cuando las piezas de información de movimiento de los mismos no son similares entre sí o el bloque P y/o el bloque Q están codificados en un modo de intra predicción, el valor de bS puede establecerse en 1 o 2.
Sin embargo, cuando un coeficiente de transformación distinto de 0 está presente en el bloque P y el bloque Q incluye (cuando el valor de cbf no es 0) y cuando las piezas de información de movimiento del bloque P y el bloque Q pueden ser similares y, por tanto, se establece el valor de bS a 0, puede ser necesario realizar el filtrado de desbloqueo. Cuando hay un coeficiente de transformación distinto de 0 pero el filtrado de desbloqueo se excluye debido a la similitud de las piezas de información de movimiento, puede ocurrir una pérdida subjetiva de un usuario y una pérdida de datos objetiva.
Por lo tanto, el caso en el que el valor de bS se establece en 0 puede determinarse estrictamente de la siguiente manera.
Por ejemplo, como se ha descrito anteriormente, en la FIG. 21, en un caso en el que las imágenes de referencia de dos bloques P y Q con un borde interpuesto entre ellos son iguales entre sí y las diferencias entre los componentes del vector de movimiento del bloque P y el bloque Q son menores que 4 se determina que es el caso donde las piezas de información de movimiento son similares entre sí. Por lo tanto, incluso cuando la diferencia en cualquier componente entre el vector de movimiento MVp del bloque P y el vector de movimiento MVq del bloque Q es igual o mayor que 4, el valor de bS no es 0. Es decir, cuando la diferencia entre el componente x MVpü del vector de movimiento MVp y el componente x MVqo del vector de movimiento MVq es igual o mayor que 4 o la diferencia entre el componente y MVp1 del vector de movimiento MVp y el componente y MVq1 del vector de movimiento MVq es igual o mayor que 4, la bS se establece en un valor distinto de 0, por ejemplo, 1.
Por lo tanto, sin depender de si la diferencia en componente entre los vectores de movimiento es menor que 4, igual a 4 o mayor que 4, puede establecerse un valor umbral y luego la diferencia en componente entre los vectores de movimiento puede compararse con el valor umbral. Por ejemplo, cuando la diferencia entre el componente x MVpo del vector de movimiento MVp y el componente x MVqo del vector de movimiento MVq es igual o mayor que un valor umbral Tho o la diferencia entre el componente y MVp1 del vector de movimiento MVp y el componente y MVq1 del vector de movimiento MVq es igual o mayor que un valor umbral Thn, la bS puede establecerse en 1 (2 cuando el bloque P y/o el bloque Q están codificados en un modo de intra predicción). En este momento, Tho y Th1 pueden ser iguales entre sí. Por ejemplo, cuando el valor umbral es pequeño, se reduce el número de casos en los que el valor de bS se establece en 0. En consecuencia, al establecer los valores de umbral Tho y Th1 en un valor (2 o 3) menor que 4, es posible reducir el número de casos en los que el valor de bS se establece en 0.
La expresión 7 expresa un ejemplo de un método para determinar si el valor de bS se establece en 0 o 1 en base al método mencionado anteriormente.
<Expresión 7>
(1) pcMVpo-=pcMVQo; pcMVpo-=pcMVQo;
uiBs=(pcMVP0.getAbsHor ()>th) I (pcMVP0.getAbsVer() >=th) I
(pcMVP1.getAbsHor ()>th) I (pcMVP1.getAbsVer ()>=th);
En la Expresión 7, (1) expresa el cálculo de la diferencia en el componente x y la diferencia en el componente y entre el vector de movimiento del bloque P y el vector de movimiento del bloque Q, y (2) expresa la determinación de si las diferencias en los componentes son mayores que el valor umbral
Por otro lado, te _offset puede eliminarse para reducir la complejidad del filtrado de desbloqueo.
Como se ha descrito anteriormente en el método de filtrado de desbloqueo para componentes de croma, cuando el valor medio de los parámetros de cuantificación para el bloque P y el bloque Q en consideración del valor redondo es qPL, (1) tc puede determinarse como un valor correspondiente al parámetro de cuantificación Q=Clip(0, 55, qPL) cuando el valor de bS es mayor que un valor predeterminado (por ejemplo, 2 o 1). (2) tc puede determinarse como un valor correspondiente al parámetro de cuantificación Q=qPL cuando el valor de bS es igual o menor que el valor predeterminado (por ejemplo, 2 o 1).
En este momento, la relación entre el parámetro de cuantificación Q y tc puede especificarse usando una tabla.
La Tabla 3 muestra un ejemplo de la relación entre los parámetros de desbloqueo Q, tc y p.
<Tabla 3>
La Tabla 3 muestra p y tc con el propósito de facilitar la explicación, pero la presente invención no está limitada a esta tabla. Por ejemplo, la Tabla 3 puede mostrar p' y tc' como en las Tablas 1 y 2. En este caso, tC y p pueden derivarse de tc' y p' usando tC=tC' * (1 << (BitDepthY-8)) y p=p' * (1 << (BitDepthY-8)).
Como se ha descrito anteriormente, tC y p pueden servir como referencia para determinar si se realizará un filtrado fuerte. Por ejemplo, cuando se supone que tres muestras del bloque P más cercano a un borde se definen secuencialmente como p0, p1 y p2 y tres muestras del bloque Q más cercano al borde se definen secuencialmente como q0, q1, y q2, (1) puede determinarse si dpq es menor que (p>>2) con abs (p2-2p1+p )+abs (q2-2q1+q0)=dpq. (2) Se puede determinar si abs (p3-p0)+abs(q0-q3) es menor que (p>>3) en consideración adicional de muestras, por ejemplo, p3 y q3, distintas de p0, p1 y p2 y q0, q1 y q2. (3) También puede determinarse si abs (p0 -q0) en dos muestras p0 y q0 en los lados derecho e izquierdo del límite es menor que (5*tC+1)>>1. Como se ha descrito anteriormente, se pueden usar varias columnas o filas en un bloque para realizar la determinación. Por ejemplo, pueden seleccionarse varias filas para el borde vertical y pueden realizarse las determinaciones de (1) a (3) para cada fila. Pueden seleccionarse varias columnas para el borde horizontal y pueden realizarse las determinaciones de (1) a (3) para cada columna.
En el caso del borde vertical, cuando se determina en (1) a (3) que los valores de las varias filas son más pequeños que las referencias, puede realizarse un filtrado fuerte en el borde correspondiente. En el caso del borde horizontal, cuando se determina en (1) a (3) que los valores de las varias columnas son más pequeños que las referencias, puede realizarse un filtrado fuerte en el borde correspondiente.
El parámetro de cuantificación qPL puede definirse como qPL=((QPQ+QPP+1)>>1) usando el parámetro de cuantificación QPp para las muestras de luma del bloque P y el parámetro de cuantificación QPq para las muestras de luma del bloque Q.
Cuando la bS se deriva a cualquiera de los cinco valores y el valor de bS es mayor que 2, el parámetro de cuantificación Q puede establecerse en Q=Clip3 (0, 55, qPL+2) y el valor de tc correspondiente al valor del parámetro de cuantificación Q y el valor de p pueden adquirirse de la Tabla 3. En este momento, cuando el valor de bS es igual o menor que 2, el parámetro de cuantificación Q puede establecerse en Q=qPL y el valor de tc correspondiente al valor del parámetro de cuantificación Q y el valor de p pueden adquirirse de la Tabla 3.
Por el contrario, cuando la bS se deriva a cualquiera de los tres valores (ejemplos ilustrados en las FIGS.
12 a 14), el valor del parámetro de cuantificación Q puede determinarse como un valor independientemente del valor de bS y luego el valor de tc correspondiente al valor determinado del parámetro de cuantificación Q y el valor de p pueden adquirirse de la Tabla 3. Por ejemplo, cuando el valor de bS se deriva a cualquiera de los tres valores 0, 1 y
2, puede determinarse que el parámetro de cuantificación Q es Q=Clip3(0, 55, qPi_+2*bS-2) y el valor de tc correspondiente al valor determinado del parámetro de cuantificación Q y el valor de p pueden adquirirse de la Tabla 3.
Por otro lado, cuando se determina el valor del parámetro de cuantificación Q, puede obtenerse el valor más preciso de tc teniendo en cuenta el valor de tC_offset además de los valores de bS y los valores del parámetro de cuantificación y los valores de bS de bloque P y bloque Q. Por ejemplo, el decodificador de video puede determinar el valor del parámetro de cuantificación Q en consideración de la información de tC_offset transmitida a través del encabezado de segmento.
La información de tC_offset transmitida a través del encabezado de segmento es un valor transmitido para aplicar el filtro de desbloqueo optimizado a cada segmento y puede expresarse por slice_tc_offset_div2 como la información de tC_offset en el segmento que incluye q muestras adyacentes a un borde. El slice_tc_offset_div2 especifica el valor de desplazamiento de la forma predeterminada de desbloqueo parámetro para tC.
En este caso, el parámetro de cuantificación Q puede establecerse en Q=Clip3 (0, 55, qPi_+2*bS-2+slice_tc_offset_div2<<1) y el parámetro tC puede determinarse en base al valor establecido del parámetro de cuantización Q y el valor de p. Por ejemplo, tC puede determinarse en base al valor del parámetro de cuantificación Q y el valor de p usando una tabla en la que se define la relación entre Q, p y tC, como la Tabla 3.
Por lo tanto, el valor de Q puede determinarse como se ha descrito anteriormente en base a la información de tC_offset (slice_tc_offset_div2) transmitida a través del encabezado de segmento y el valor de tC puede determinarse en base a los valores de p y Q transmitidos del codificador de video. El valor de tC es un valor para cuantificar un artefacto de bloqueo correspondiente al grado de cuantificación como se ha descrito anteriormente y puede usarse como referencia para determinar un intervalo (intervalo de recorte) de un valor de píxel filtrado en el momento de realizar el filtrado de desbloqueo, o puede usarse como referencia para determinar cuál de los filtros fuertes y los filtros débiles se realizarán.
La FIG. 22 es un diagrama de flujo que ilustra esquemáticamente un método de codificación de video de acuerdo con la invención.
En referencia a la FIG. 22, un codificador de video divide un video de entrada y realiza una operación de predicción en un bloque actual (S2210). La operación de predicción en el bloque actual puede ser realizada por un módulo de predicción del codificador de video. El módulo de predicción puede realizar una intra predicción o una inter predicción en el bloque actual. En consideración de RDO (Optimización de distorsión de velocidad) o similar, puede determinarse cuál de la intra predicción e inter predicción debe realizarse.
Cuando no se aplica un modo de omisión, el módulo de predicción genera una señal de predicción y genera una señal residual que es una diferencia entre una señal original y la señal de predicción.
El codificador de video transforma y cuantifica la señal residual (S2220). La transformación de la señal residual puede realizarse mediante un módulo de transformación y la cuantificación de la señal transformada (por ejemplo, coeficientes de transformación) puede realizarse mediante un módulo de cuantificación.
La señal transformada y cuantificada puede transmitirse después de someterse a un proceso de codificación de entropía.
El codificador de video descuantifica y transforma inversamente la señal transformada y cuantificada para reconstruir el bloque actual (S2230). La señal inversamente cuantificada e inversamente transformada se añade a la señal residual para reconstruir la señal original.
El codificador de video puede aplicar el filtrado de desbloqueo en la señal reconstruida (S2240). La señal reconstruida puede reconstruirse a una señal más cercana a la señal original mediante el filtrado de desbloqueo. El filtrado de desbloqueo puede ser realizado por el módulo de filtro. El módulo de filtro puede aplicar el SAO (desplazamiento adaptativo de muestra) después de aplicar el filtro de desbloqueo.
Los detalles específicos del filtrado de desbloqueo son los mismos que los descritos anteriormente con referencia a los dibujos acompañantes.
La señal a la que se ha aplicado el filtrado de desbloqueo puede almacenarse en un método como un DPB (Buffer de imágenes decodificadas) y puede hacerse referencia a ella para predecir otros bloques u otras imágenes.
En la presente se ha descrito que una señal residual se genera por predicción y se transmite, pero la señal residual no se genera/transmite cuando se aplica el modo de omisión.
La FIG. 23 es un diagrama de flujo que ilustra esquemáticamente un método de decodificación de video de acuerdo con la invención.
En referencia a la FIG. 23, un decodificador de video realiza una operación de decodificación de entropía en un flujo de bits recibido y realiza una operación de predicción en un bloque actual (S2310). El proceso de predicción en el bloque actual puede ser realizado por un módulo de predicción del decodificador de video. El módulo de predicción puede realizar una inter predicción o una intra predicción en el bloque actual en base a la información señalizada desde el codificador de video. El módulo de predicción genera una señal de predicción (bloque de predicción) del bloque actual a través de la predicción.
El decodificador de video reconstruye el bloque actual en base a la predicción del bloque actual (S2320). El decodificador de video puede generar una señal residual (bloque residual) del flujo de bits recibido desde el codificador mediante el uso de descuantificación/transformación inversa y puede añadir la señal de predicción (bloque de predicción) y la señal residual (bloque de predicción) para reconstruir una señal reconstruida (bloque reconstruido). Cuando se aplica el modo de omisión, la señal residual puede no transmitirse y puede usarse la señal de predicción como la señal reconstruida.
El decodificador de video realiza el filtrado de desbloqueo en la señal reconstruida (bloque reconstruido) (S2330). El filtrado de desbloqueo puede ser realizado por un módulo de filtro del decodificador. El módulo de filtro aplica el filtro de desbloqueo del bloque reconstruido para modificar el bloque reconstruido para que esté más cercano al bloque original.
Los detalles específicos del filtrado de desbloqueo son los mismos que los descritos anteriormente con referencia a los dibujos acompañantes.
El módulo de filtro puede aplicar el SAO (Desplazamiento adaptativo de muestra) al bloque reconstruido en base a la información recibida del codificador de video después de aplicar el filtro de desbloqueo.
La señal reconstruida por el módulo de filtro puede almacenarse en un método como un DPB (Buffer de imágenes decodificadas) y puede referirse a ella para predecir otros bloques u otras imágenes o puede emitirse como una imagen reconstruida.
Cabe señalar que las FIGS. 22 y 23 se proporcionan para ilustrar esquemáticamente la aplicación del filtrado de desbloqueo de acuerdo con la invención a los procesos de codificación/decodificación, con el propósito de facilitar la comprensión de la invención, y junto con esto pueden realizarse los procesos de codificación/decodificación descritos en detalle con referencia a los dibujos acompañantes.
La FIG. 24 es un diagrama de flujo que ilustra esquemáticamente un ejemplo de un método de derivación de bS de acuerdo con la invención.
Con referencia a la FIG. 24, se deriva un límite del que se determinará la bS (S2410). El límite del que se determinará la bS puede ser un límite de un bloque de unidad de filtrado de desbloqueo. Alternativamente, el límite del que se determinará la bS puede ser un límite de un bloque de unidad de configuración de bS. Alternativamente, el límite del que se determinará la bS puede ser el límite superpuesto del límite del bloque de la unidad de filtrado de desbloqueo y el límite del bloque de la unidad de configuración de bS.
Cuando se deriva el límite del que se determinará la bS, la bS se establece para cada bloque de unidad de configuración de bS (S2420). Cuando el límite del que se determinará la bS es el límite del bloque de la unidad de filtrado de desbloqueo, puede establecerse la bS para cada borde correspondiente al límite del que se determinará la bS y el límite del bloque de la unidad de configuración de bS. Cuando el límite del que se determinará la bS es el límite del bloque de la unidad de configuración de bS, la bS puede establecerse para el borde correspondiente al límite del que se determinará la bS y el límite del bloque de la unidad de filtrado de desbloqueo. Cuando el límite del que se determinará la bS es el límite superpuesto del límite del bloque de la unidad de filtrado de desbloqueo y el límite del bloque de la unidad de configuración de bS, la bS puede establecerse para el límite del que se determinará la bS.
En el método de configuración de bS, como se ha descrito anteriormente, la bS del límite correspondiente puede derivarse a cualquiera de los cinco valores de bS o la bS del límite correspondiente puede derivarse a cualquiera de los tres valores de bS. Puede emplearse otro método para derivar una bS reduciendo la complejidad. El método específico para derivar/determinar una bS es el mismo que el descrito anteriormente.
Con el propósito de facilitar la explicación, la FIG. 24 ilustra el ejemplo en el que se determina la bS de un borde que es un límite de un bloque de unidad de configuración de bS y un límite de un bloque de unidad de filtrado de desbloqueo, pero la invención no está limitada a este ejemplo. Una bS puede determinarse usando el método de determinación del valor representativo mencionado anteriormente o similar.
Aunque los métodos en el sistema ejemplar mencionado anteriormente se han descrito en base a diagramas de flujo que incluyen una serie de pasos o bloques, la invención no está limitada al orden de los pasos y un determinado paso puede realizarse en un paso o un orden distintos a los descritos anteriormente o al mismo tiempo que se ha descrito anteriormente. Las realizaciones mencionadas anteriormente pueden incluir varios ejemplos. Por lo tanto, la invención incluye todas las sustituciones, correcciones y modificaciones que pertenecen a las reivindicaciones adjuntas.
Cuando se menciona anteriormente que un elemento está "conectado" o "acoplado a" otro elemento, debe entenderse que todavía puede interponerse otro elemento entre ellos, así como que el elemento puede estar conectado o acoplado directamente a otro elemento. Por el contrario, cuando se menciona que un elemento está "conectado directamente" o "acoplado directamente a" otro elemento, debe entenderse que no hay otro elemento más interpuesto entre ellos.
Claims (1)
- REIVINDICACIONES1. Un método de filtrado de desbloqueo, mediante un aparato de decodificación de video, que comprende:reconstruir una imagen en bloques de unidades de codificación (CU), que comprende unidades de predicción (PU) y unidades de transformación (TU);(S310) derivar un límite de un bloque de unidad de filtrado de desbloqueo (810, 910) que es un bloque de la imagen reconstruida para la que se realiza el filtrado de desbloqueo;(S320; S1710) establecer una fuerza límite bS de un límite de un bloque de unidad de configuración de bS (610, 620), en donde el bloque de unidad de configuración de bS es un sub-bloque de un bloque de unidad de filtrado de desbloqueo,en donde el paso (S320; S1710) de establecer la bS incluye establecer la bS para un límite objetivo, que es el límite de un bloque de unidad de filtrado de desbloqueo que coincide con el límite del bloque de unidad de configuración de bS; y(S330; S1720) aplicar el filtro de desbloqueo en el límite objetivo basado en la bS,caracterizado porquela bS se establece en un valor entre 0, 1 y 2 (S1410; S1430; S1450),en donde cuando por lo menos uno de los dos bloques que están adyacentes al límite objetivo se codifica con el modo de intra predicción, la bS se establece en el valor 2 (S1420);de otro modo, cuando por lo menos uno de los dos bloques incluye un coeficiente de transformación distinto de 0, o los dos bloques tienen imágenes de referencia diferentes, o tienen vectores de movimiento diferentes, la bS se establece en el valor 1 (S1440, S1450);de otro modo, la bS se establece en el valor 0 (S1470);en donde cuando la bS es igual al valor 0, no se aplica el filtrado de desbloqueo,en donde cuando la bS es mayor que el valor 0, el filtrado de desbloqueo se aplica a una muestra de luma, y en donde cuando la bS es mayor que el valor 1, el filtrado de desbloqueo se aplica a una muestra de croma.2. El método de la reivindicación 1, en el que el paso (S310) de derivar el límite del bloque de la unidad de filtrado de desbloqueo (810, 910) y el paso (S320; S1710) de establecer la bS se realizan primero en bordes verticales en la imagen actual reconstruida que incluye el bloque de la unidad de filtrado de desbloqueo y luego se realizan en bordes horizontales en la imagen actual reconstruida que incluye los bloques de la unidad de filtrado de desbloqueo.3. El método de la reivindicación 1, en el que cuando el valor de bS establecido para el límite objetivo es mayor que el valor 0 y el filtrado de desbloqueo se realiza sobre él, se determina (S1730) cuál del filtrado fuerte y el filtrado débil se aplica.4. El método de la reivindicación 3, en el que la determinación (S1730) sobre la cual se aplica un filtrado fuerte y un filtrado débil se realiza en base a muestras de los dos bloques con el límite objetivo como límite entre los dos bloques, y en el que la determinación (S1730) de cual de un filtrado fuerte y un filtrado débil se realizaen base a las muestras que se someterán al filtrado de desbloqueo de muestras en filas de muestra con el límite objetivo como límite entre las filas de muestra cuando el límite objetivo es un límite vertical, y en base a las muestras que se someterán al filtrado de desbloqueo de muestras en columnas de muestra con el límite objetivo como límite entre las columnas de muestra cuando el límite objetivo es un límite horizontal.5. El método de la reivindicación 3, en el que cuando se determina que se realiza el filtrado débil, el filtrado se realiza en las muestras seleccionadas de las muestras que se someterán al filtrado de desbloqueo.6. El método de la reivindicación 1, en el que el bloque de la unidad de filtrado de desbloqueo (810, 910) es un bloque de 8x8 píxeles.7. El método de la reivindicación 1, en el que el bloque de unidad de configuración de bS es un bloque de 4x4 píxeles.8. El método de la reivindicación 1, en el que el filtrado de desbloqueo se aplica usando un parámetro de desbloqueo tC, el tC se deriva usando un parámetro de cuantificación de luma Q y una tabla predeterminada con un valor de Q como entrada, en donde el Q se deriva en base a un valor de la siguiente ecuación,C lip3(0.55,qPL 2*bS-2 slice_tc_offset_div2<< 1), donde, qPL es un parámetro de cuantificación usado para el filtrado de desbloqueo, el slice_tc_offset_div2 representa un valor de desplazamiento para el filtrado de desbloqueo, el slice_tc_offset_div2 se obtiene a través de un encabezado de división, yen donde el te representa el grado de un artefacto de bloqueo, y el te se usa como referencia para determinar un intervalo de recorte de un valor de muestra filtrado en el momento de realizar el filtrado de desbloqueo.9. El método de la reivindicación 8, en el que el qPi_ se determina en base a la siguiente ecuación,donde, QPq es un parámetro de cuantificación de un primer bloque entre los dos bloques y QPp es un parámetro de cuantificación de un segundo bloque entre los dos bloques.10. Un aparato de decodificación de video (200), que comprende medios configurados para llevar a cabo el método de una cualquiera de las reivindicaciones 1 a 9.11. Un método de filtrado de desbloqueo, por un aparato de codificación de video, el método comprendiendo:dividir una imagen en bloques de unidades de codificación (CU), que comprenden unidades de predicción (PU) y unidades de transformación (TU);(S310) derivar un límite de un bloque de unidad de filtrado de desbloqueo (810, 910) que es un bloque de la imagen reconstruida para la que se realiza el filtrado de desbloqueo;(S320; S1710) establecer una fuerza límite bS de un límite (610, 620) de un bloque de unidad de configuración de bS, en donde el bloque de unidad de configuración de bS es un sub-bloque de un bloque de unidad de filtrado de desbloqueo,en donde el paso (S320; S1710) de establecer la bS incluye establecer la bS para un límite objetivo, que es el límite de un bloque de unidad de filtrado de desbloqueo que coincide con el límite del bloque de unidad de configuración de bS; y(S330; S1720) aplicar el filtro de desbloqueo en el límite objetivo basado en la bS,caracterizado porquela bS se establece en un valor entre 0, 1 y 2 (S1410; S1430; S1450),en donde cuando por lo menos uno de los dos bloques que están adyacentes al límite objetivo se codifica con el modo de intra predicción, la bS se establece en el valor 2 (S1420);de otro modo, cuando por lo menos uno de los dos bloques incluye un coeficiente de transformación distinto de 0, o los dos bloques tienen imágenes de referencia diferentes, o tienen vectores de movimiento diferentes, la bS se establece en el valor 1 (S1440, S1450);de otro modo, la bS se establece en el valor 0 (S1470);en donde cuando la bS es igual al valor 0, no se aplica el filtrado de desbloqueo,en donde cuando la bS es mayor que el valor 0, el filtrado de desbloqueo se aplica a una muestra de luma, y en donde cuando la bS es mayor que el valor 1, el filtrado de desbloqueo se aplica a una muestra de croma.12. Un aparato de codificación de video (100), que comprende medios configurados para llevar a cabo el método de la reivindicación 11.13. Un medio de almacenamiento legible por decodificador que almacena información en instrucciones, la información en las instrucciones hace que un aparato de decodificación de video lleve a cabo el método de la reivindicación 1.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161555495P | 2011-11-04 | 2011-11-04 | |
US201161558398P | 2011-11-10 | 2011-11-10 | |
US201161569291P | 2011-12-12 | 2011-12-12 | |
PCT/KR2012/009248 WO2013066133A1 (ko) | 2011-11-04 | 2012-11-05 | 영상 정보 인코딩/디코딩 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2777184T3 true ES2777184T3 (es) | 2020-08-04 |
Family
ID=48192407
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES22153252T Active ES2965823T3 (es) | 2011-11-04 | 2012-11-05 | Método y aparato para codificar/decodificar información de video |
ES19190102T Active ES2914815T3 (es) | 2011-11-04 | 2012-11-05 | Método y aparato para codificar/decodificar información de imágenes |
ES12846692T Active ES2777184T3 (es) | 2011-11-04 | 2012-11-05 | Método y aparato para codificar/decodificar información de imágenes |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES22153252T Active ES2965823T3 (es) | 2011-11-04 | 2012-11-05 | Método y aparato para codificar/decodificar información de video |
ES19190102T Active ES2914815T3 (es) | 2011-11-04 | 2012-11-05 | Método y aparato para codificar/decodificar información de imágenes |
Country Status (11)
Country | Link |
---|---|
US (5) | US10326988B2 (es) |
EP (3) | EP2775711B1 (es) |
JP (7) | JP6169091B2 (es) |
KR (7) | KR102436369B1 (es) |
CN (5) | CN109547787A (es) |
DK (1) | DK2775711T3 (es) |
ES (3) | ES2965823T3 (es) |
HU (2) | HUE048779T2 (es) |
PL (3) | PL3588956T3 (es) |
PT (1) | PT2775711T (es) |
WO (1) | WO2013066133A1 (es) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989803B (zh) * | 2011-09-20 | 2021-05-28 | Lg 电子株式会社 | 用于编码/解码图像信息的方法和装置 |
EP2775711B1 (en) * | 2011-11-04 | 2020-01-01 | LG Electronics Inc. | Method and apparatus for encoding/decoding image information |
AR092786A1 (es) * | 2012-01-09 | 2015-05-06 | Jang Min | Metodos para eliminar artefactos de bloque |
RU2686008C2 (ru) * | 2012-01-17 | 2019-04-23 | Инфобридж Пте. Лтд. | Способ применения краевого смещения |
TWI569625B (zh) * | 2012-04-06 | 2017-02-01 | Sony Corp | Image processing apparatus and method, program, and recording medium |
EP3072300B1 (en) | 2013-11-24 | 2019-01-16 | LG Electronics Inc. | Method and apparatus for encoding and decoding video signal using adaptive sampling |
US10743034B2 (en) * | 2014-09-15 | 2020-08-11 | Hfi Innovation Inc. | Method of deblocking for intra block copy in video coding |
KR102390407B1 (ko) * | 2015-03-18 | 2022-04-25 | 한화테크윈 주식회사 | 디코더 및 디코더에서의 역변환 방법 |
US10681371B2 (en) | 2015-06-07 | 2020-06-09 | Lg Electronics Inc. | Method and device for performing deblocking filtering |
CN115134611A (zh) | 2015-06-11 | 2022-09-30 | 杜比实验室特许公司 | 使用自适应去块滤波编码和解码图像的方法及其装置 |
ES2710234B1 (es) * | 2015-09-11 | 2020-03-09 | Kt Corp | Procedimiento y dispositivo para procesar señales de vídeo |
WO2017069591A1 (ko) * | 2015-10-23 | 2017-04-27 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 필터링 방법 및 장치 |
US10555006B2 (en) * | 2016-12-22 | 2020-02-04 | Qualcomm Incorporated | Deriving bilateral filter information based on a prediction mode in video coding |
US10965943B2 (en) * | 2016-12-28 | 2021-03-30 | Sony Corporation | Image processing apparatus and image processing method |
EP3568980A4 (en) * | 2017-01-10 | 2020-01-08 | Telefonaktiebolaget LM Ericsson (publ) | ENTBLOCKUNGSFILTRIERUNGSSTEUERUNG |
CN107181953B (zh) * | 2017-03-31 | 2019-09-17 | 北京奇艺世纪科技有限公司 | 一种边界滤波强度的确定方法及装置 |
TWI832814B (zh) * | 2017-04-06 | 2024-02-21 | 美商松下電器(美國)知識產權公司 | 解碼裝置及編碼裝置 |
TWI833248B (zh) * | 2017-04-06 | 2024-02-21 | 美商松下電器(美國)知識產權公司 | 解碼方法及編碼方法 |
US10645408B2 (en) * | 2017-09-17 | 2020-05-05 | Google Llc | Dual deblocking filter thresholds |
WO2019072582A1 (en) | 2017-10-09 | 2019-04-18 | Canon Kabushiki Kaisha | METHOD AND APPARATUS FOR FILTERING WITH DEPRESSION OF A BLOCK OF PIXELS |
GB2599315B (en) * | 2017-10-09 | 2022-06-15 | Canon Kk | Method and apparatus for deblocking filtering a block of pixels |
WO2019121164A1 (en) * | 2017-12-18 | 2019-06-27 | Telefonaktiebolaget Lm Ericsson (Publ) | De-blocking for video coding |
KR102658361B1 (ko) * | 2018-01-08 | 2024-04-17 | 삼성전자주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
US11140407B2 (en) * | 2018-02-08 | 2021-10-05 | Apple Inc. | Frame boundary artifacts removal |
CN116366844A (zh) * | 2018-03-09 | 2023-06-30 | 韩国电子通信研究院 | 使用样点滤波的图像编码/解码方法和设备 |
EP3780602A4 (en) * | 2018-03-29 | 2021-05-26 | Sony Corporation | IMAGE PROCESSING DEVICE AND IMAGE PROCESSING METHOD |
US11388400B2 (en) * | 2018-06-21 | 2022-07-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Deblocking of video picture boundaries |
EP3857880A1 (en) | 2018-09-28 | 2021-08-04 | FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. | Deblocking or deringing filter and encoder, decoder and method for applying and varying a strength of a deblocking or deringing filter |
WO2020122573A1 (ko) * | 2018-12-13 | 2020-06-18 | 에스케이텔레콤 주식회사 | 필터링 방법 및 영상 복호화 장치 |
KR20200073124A (ko) * | 2018-12-13 | 2020-06-23 | 에스케이텔레콤 주식회사 | 필터링 방법 및 영상 복호화 장치 |
JP7011571B2 (ja) | 2018-12-28 | 2022-01-26 | Kddi株式会社 | 画像復号装置、画像符号化装置、画像復号方法及びプログラム |
CN117676169A (zh) * | 2019-01-02 | 2024-03-08 | Lg 电子株式会社 | 使用去块滤波的图像编译方法和装置 |
US11356699B2 (en) * | 2019-01-11 | 2022-06-07 | Hfi Innovation Inc. | Method and apparatus of sub-block deblocking in video coding |
MX2021008875A (es) | 2019-01-25 | 2021-08-19 | Huawei Tech Co Ltd | Un codificador, un decodificador y metodos correspondientes de adaptacion de filtro desbloqueo. |
WO2020176026A1 (en) * | 2019-02-27 | 2020-09-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Deblocking using sub-pel motion vector threshold |
CN113906763B (zh) | 2019-05-05 | 2024-01-12 | 北京字节跳动网络技术有限公司 | 用于视频编解码的色度去方块协调 |
CN117176969A (zh) | 2019-05-11 | 2023-12-05 | 抖音视界有限公司 | 用于视频编解码的去方块滤波器 |
WO2020228662A1 (en) * | 2019-05-11 | 2020-11-19 | Beijing Bytedance Network Technology Co., Ltd. | Boundary strength determination for deblocking filters in video processing |
MX2022000963A (es) * | 2019-07-21 | 2022-03-22 | Lg Electronics Inc | Metodo y aparato de codificacion/decodificacion de imagen para realizar filtracion de desbloqueo de acuerdo a si el modo de paletas es aplicado, y metodo para transmitir flujo de bits. |
MX2021008260A (es) | 2019-08-23 | 2021-08-16 | Huawei Tech Co Ltd | Un codificador, un decodificador y metodos correspondientes para ejecutar desbloqueo de crominancia para bloques que utilizan codificacion de crominancia conjunta. |
WO2021036980A1 (en) | 2019-08-23 | 2021-03-04 | Beijing Bytedance Network Technology Co., Ltd. | Using boundary strength in deblocking filtering |
CN112544079A (zh) * | 2019-12-31 | 2021-03-23 | 北京大学 | 视频编解码的方法和装置 |
BR112022015270A8 (pt) * | 2020-02-10 | 2022-11-01 | Panasonic Ip Corp America | Codificador, decodificador, método de codificação e método de decodificação |
KR102520895B1 (ko) * | 2020-03-25 | 2023-04-11 | 엘지전자 주식회사 | 경계 강도를 결정하여 디블록킹 필터링을 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
US11611770B2 (en) * | 2020-10-14 | 2023-03-21 | Tencent America LLC | Method and apparatus for video coding |
WO2023106761A1 (ko) * | 2021-12-06 | 2023-06-15 | 엘지전자 주식회사 | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60173792U (ja) | 1984-04-27 | 1985-11-18 | 石川島播磨重工業株式会社 | 管フランジ等のライニング構造 |
US7929610B2 (en) * | 2001-03-26 | 2011-04-19 | Sharp Kabushiki Kaisha | Methods and systems for reducing blocking artifacts with reduced complexity for spatially-scalable video coding |
US7450641B2 (en) | 2001-09-14 | 2008-11-11 | Sharp Laboratories Of America, Inc. | Adaptive filtering based upon boundary strength |
US6931063B2 (en) | 2001-03-26 | 2005-08-16 | Sharp Laboratories Of America, Inc. | Method and apparatus for controlling loop filtering or post filtering in block based motion compensationed video coding |
KR100525785B1 (ko) * | 2001-06-15 | 2005-11-03 | 엘지전자 주식회사 | 이미지 화소 필터링 방법 |
JP2005123732A (ja) * | 2003-10-14 | 2005-05-12 | Matsushita Electric Ind Co Ltd | デブロックフィルタ処理装置およびデブロックフィルタ処理方法 |
US7457362B2 (en) * | 2003-10-24 | 2008-11-25 | Texas Instruments Incorporated | Loop deblock filtering of block coded video in a very long instruction word processor |
KR20050047871A (ko) * | 2003-11-18 | 2005-05-23 | 삼성전자주식회사 | 동영상 디코딩에서 고속 필터링 방법과 이를 위한 장치 |
KR20050048871A (ko) | 2003-11-20 | 2005-05-25 | 엘지전자 주식회사 | 공기청정기의 제어 방법 |
US7551793B2 (en) * | 2004-01-14 | 2009-06-23 | Samsung Electronics Co., Ltd. | Methods and apparatuses for adaptive loop filtering for reducing blocking artifacts |
JP4270125B2 (ja) * | 2004-12-16 | 2009-05-27 | ソニー株式会社 | データ処理装置、画像処理装置、それらの方法およびプログラム |
KR100679035B1 (ko) * | 2005-01-04 | 2007-02-06 | 삼성전자주식회사 | 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더 |
US20060233253A1 (en) * | 2005-03-10 | 2006-10-19 | Qualcomm Incorporated | Interpolated frame deblocking operation for frame rate up conversion applications |
US8175168B2 (en) | 2005-03-18 | 2012-05-08 | Sharp Laboratories Of America, Inc. | Methods and systems for picture up-sampling |
US8638862B2 (en) | 2005-03-18 | 2014-01-28 | Sharp Laboratories Of America, Inc. | Methods and systems for upsampling filter design |
US7961963B2 (en) | 2005-03-18 | 2011-06-14 | Sharp Laboratories Of America, Inc. | Methods and systems for extended spatial scalability with picture-level adaptation |
WO2007060498A1 (en) * | 2005-11-22 | 2007-05-31 | Freescale Semiconductor, Inc. | Method and system for filtering image data |
US9628823B2 (en) * | 2006-01-09 | 2017-04-18 | Thomson Licensing Dtv | Method and apparatus for providing reduced resolution update mode for multi-view video coding |
SG140508A1 (en) * | 2006-08-31 | 2008-03-28 | St Microelectronics Asia | Multimode filter for de-blocking and de-ringing |
US8204129B2 (en) | 2007-03-27 | 2012-06-19 | Freescale Semiconductor, Inc. | Simplified deblock filtering for reduced memory access and computational complexity |
KR100968027B1 (ko) * | 2007-06-27 | 2010-07-07 | 티유미디어 주식회사 | 가변블록 기반의 디블록킹 필터링 방법 및 장치와, 이에적용되는 디블록킹 필터 |
JP2009094828A (ja) * | 2007-10-10 | 2009-04-30 | Hitachi Ltd | 画像符号化装置及び画像符号化方法、画像復号化装置及び画像復号化方法 |
KR100973657B1 (ko) | 2007-11-01 | 2010-08-02 | 경희대학교 산학협력단 | 디블록킹 필터링을 포함하는 코덱 사이의 트랜스코딩 방법 및 장치 |
EP2263381A1 (en) | 2008-04-11 | 2010-12-22 | Thomson Licensing | Deblocking filtering for displaced intra prediction and template matching |
KR101552639B1 (ko) * | 2008-07-11 | 2015-09-14 | 한국전자통신연구원 | 인트라 매크로 블록의 디블록킹 필터 및 필터링 방법 |
CN101754010A (zh) * | 2008-12-18 | 2010-06-23 | 北京中星微电子有限公司 | 视频数据编码的环路滤波方法和滤波器 |
CN101651829A (zh) * | 2009-06-29 | 2010-02-17 | 北京中星微电子有限公司 | 一种环路滤波的方法、装置及一种移动多媒体终端芯片 |
JP5183664B2 (ja) * | 2009-10-29 | 2013-04-17 | 財團法人工業技術研究院 | ビデオ圧縮のためのデブロッキング装置及び方法 |
US9185430B2 (en) * | 2010-03-15 | 2015-11-10 | Mediatek Singapore Pte. Ltd. | Deblocking filtering method and deblocking filter |
AU2011241284B2 (en) | 2010-04-13 | 2015-05-07 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure |
WO2011152425A1 (ja) * | 2010-06-03 | 2011-12-08 | シャープ株式会社 | フィルタ装置、画像復号装置、画像符号化装置、および、フィルタパラメータのデータ構造 |
US10038903B2 (en) * | 2011-06-22 | 2018-07-31 | Texas Instruments Incorporated | Method and apparatus for sample adaptive offset parameter estimation in video coding |
US9232237B2 (en) * | 2011-08-05 | 2016-01-05 | Texas Instruments Incorporated | Block-based parallel deblocking filter in video coding |
CN108989803B (zh) * | 2011-09-20 | 2021-05-28 | Lg 电子株式会社 | 用于编码/解码图像信息的方法和装置 |
US9167269B2 (en) * | 2011-10-25 | 2015-10-20 | Qualcomm Incorporated | Determining boundary strength values for deblocking filtering for video coding |
EP2775711B1 (en) * | 2011-11-04 | 2020-01-01 | LG Electronics Inc. | Method and apparatus for encoding/decoding image information |
JP2017124225A (ja) | 2017-03-22 | 2017-07-20 | 株式会社藤商事 | 遊技機 |
-
2012
- 2012-11-05 EP EP12846692.7A patent/EP2775711B1/en active Active
- 2012-11-05 CN CN201811147673.4A patent/CN109547787A/zh active Pending
- 2012-11-05 US US14/356,314 patent/US10326988B2/en active Active
- 2012-11-05 JP JP2014540940A patent/JP6169091B2/ja active Active
- 2012-11-05 KR KR1020227000571A patent/KR102436369B1/ko active IP Right Grant
- 2012-11-05 KR KR1020147015150A patent/KR102047514B1/ko active Application Filing
- 2012-11-05 KR KR1020207021445A patent/KR102218002B1/ko active IP Right Grant
- 2012-11-05 CN CN201811147147.8A patent/CN109348224A/zh active Pending
- 2012-11-05 HU HUE12846692A patent/HUE048779T2/hu unknown
- 2012-11-05 KR KR1020217029501A patent/KR102350071B1/ko active IP Right Grant
- 2012-11-05 PL PL19190102T patent/PL3588956T3/pl unknown
- 2012-11-05 EP EP19190102.4A patent/EP3588956B1/en active Active
- 2012-11-05 CN CN201280065276.7A patent/CN104025590B/zh active Active
- 2012-11-05 WO PCT/KR2012/009248 patent/WO2013066133A1/ko active Application Filing
- 2012-11-05 ES ES22153252T patent/ES2965823T3/es active Active
- 2012-11-05 CN CN201811147149.7A patent/CN109246429A/zh active Pending
- 2012-11-05 EP EP22153252.6A patent/EP4024864B1/en active Active
- 2012-11-05 DK DK12846692.7T patent/DK2775711T3/da active
- 2012-11-05 ES ES19190102T patent/ES2914815T3/es active Active
- 2012-11-05 KR KR1020227028931A patent/KR102519728B1/ko active IP Right Grant
- 2012-11-05 PL PL22153252.6T patent/PL4024864T3/pl unknown
- 2012-11-05 PL PL12846692T patent/PL2775711T3/pl unknown
- 2012-11-05 CN CN201811147146.3A patent/CN109672883A/zh active Pending
- 2012-11-05 HU HUE22153252A patent/HUE064046T2/hu unknown
- 2012-11-05 KR KR1020197033744A patent/KR102138907B1/ko active IP Right Grant
- 2012-11-05 PT PT128466927T patent/PT2775711T/pt unknown
- 2012-11-05 ES ES12846692T patent/ES2777184T3/es active Active
- 2012-11-05 KR KR1020217004431A patent/KR102303808B1/ko active IP Right Grant
-
2017
- 2017-06-26 JP JP2017124225A patent/JP6517274B2/ja active Active
-
2019
- 2019-04-17 JP JP2019078516A patent/JP6744449B2/ja active Active
- 2019-06-17 US US16/443,243 patent/US10778975B2/en active Active
-
2020
- 2020-07-30 JP JP2020129088A patent/JP6950055B2/ja active Active
- 2020-09-11 US US17/018,973 patent/US11350090B2/en active Active
-
2021
- 2021-09-22 JP JP2021154354A patent/JP7234322B2/ja active Active
-
2022
- 2022-04-29 US US17/733,656 patent/US11743460B2/en active Active
-
2023
- 2023-02-22 JP JP2023025954A patent/JP7492048B2/ja active Active
- 2023-07-07 US US18/219,491 patent/US12003717B2/en active Active
-
2024
- 2024-05-16 JP JP2024080186A patent/JP2024096493A/ja active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2777184T3 (es) | Método y aparato para codificar/decodificar información de imágenes | |
ES2817100B1 (es) | Metodo y aparato para procesar senales de video | |
KR102047491B1 (ko) | 영상 정보 인코딩/디코딩 방법 및 장치 | |
WO2013077714A1 (ko) | 영상 정보 인코딩/디코딩 방법 및 장치 |