ES2688370T3 - Aparatos y procedimientos relacionados con la descodificación de un vídeo - Google Patents
Aparatos y procedimientos relacionados con la descodificación de un vídeo Download PDFInfo
- Publication number
- ES2688370T3 ES2688370T3 ES15191963.6T ES15191963T ES2688370T3 ES 2688370 T3 ES2688370 T3 ES 2688370T3 ES 15191963 T ES15191963 T ES 15191963T ES 2688370 T3 ES2688370 T3 ES 2688370T3
- Authority
- ES
- Spain
- Prior art keywords
- pixel
- value
- coding
- unit
- pixels
- 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/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/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- 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/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
-
- 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/182—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 pixel
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- 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/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- 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/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
-
- 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
-
- 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
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Color Television Systems (AREA)
Abstract
Un procedimiento de decodificación de vídeo, comprendiendo el procedimiento: obtener, a partir de un flujo de bits, información acerca de un tipo de corrección de valores de píxel; cuando la información acerca de un tipo de corrección de valores de píxeles indica uno de un tipo de banda y un tipo de borde, obtener una pluralidad de valores de compensación desde el flujo de bits; generar valores de píxeles de un bloque actual realizando descodificación en el bloque actual y haciendo un filtrado de desbloqueo en los valores de píxeles generados del bloque actual; cuando la información acerca de un tipo de corrección de valores de píxel indica el tipo de banda, añadir un valor de compensación, entre la pluralidad de valores de compensación, a un píxel en una banda entre los píxeles de filtrado de desbloqueo del bloque actual, en el que un intervalo total de los valores de los píxeles va desde un valor mínimo de los valores de los píxeles a un valor máximo de los valores de los píxeles, y una sección correspondiente al intervalo total de valores de los píxeles se divide de manera uniforme en una pluralidad de bandas, la banda es una de una pluralidad de bandas, un valor del píxel está en un intervalo de valores de píxeles correspondientes a la banda, la pluralidad de valores de compensación corresponde a la pluralidad de bandas y el valor de compensación corresponde a la banda; y cuando la información acerca de un tipo de corrección de valores de píxeles indica el tipo de borde, añadir un valor de compensación, entre la pluralidad de valores de compensación, a un píxel correspondiente a un nivel de valor de borde de entre los píxeles de un bloque actual, en el que el nivel de valor de borde se determina en base a si el valor del píxel (30) es mayor o menor que los valores de píxeles adyacentes restablecidos (31, 32, 33, 34, 35, 36, 37 y 38) en una dirección vertical, horizontal o diagonal, la pluralidad de valores de compensación corresponde a la pluralidad de niveles de valor de borde, y el valor de compensación corresponde al nivel de valor de borde de entre la pluralidad de niveles de valor de borde.
Description
5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Campo técnico
Aparatos y procedimientos relacionados con la descodificación de un vídeo. Antecedentes de la técnica
A medida que se está desarrollando y suministrando hardware para reproducir y almacenar contenido de vídeo de alta resolución o alta calidad, se está incrementando cada vez más la necesidad de un códec de vídeo para codificar o descodificar de manera efectiva el contenido de vídeo de alta resolución o alta calidad. En un códec de vídeo de la técnica relacionada, un vídeo se codifica de acuerdo con un procedimiento de codificación limitado sobre la base de un macrobloque que tiene un tamaño predeterminado.
La calidad de una imagen puede ser distorsionada debido a la codificación y descodificación de un vídeo, y un módulo de post-procesamiento puede ser añadido a un descodificador para una imagen restablecida para de esta manera mejorar la calidad de la imagen restablecida.
El documento de
YU LIU ET AL, “Unified Loop Filter for Video Coding", 91. MPEG MEETING; de 18-1-2010 a 22- 1 -2010; KYOTO; (Grupo de Expertos de Imágenes en Movimiento o JTC1/SC29/WG11 de ISO/IEC), (20100116), n.° M17171 describe un filtro de lazo unificado para la codificación de vídeo, que suprime óptimamente el ruido de cuantificación y mejora las calidades objetiva y subjetiva de la imagen reconstruida simultáneamente. El filtro de lazo unifica el filtro de potenciación no lineal y el filtro de restauración lineal dentro del marco de trabajo de optimización clásico del error de mínimos cuadrados. Para adaptarse a unas características de error de cuantificación localmente variadas, se emplea una estrategia basada en clasificación para diseñar filtros de lazo unificados con diferentes características, lo que mejora adicionalmente las capacidades del filtrado de lazo y de restauración de imágenes.
Divulgación
Problema técnico
Una o más realizaciones a modo de ejemplo proporcionan un procedimiento para codificar vídeo, para compensar un valor de píxel del grupo de píxeles predeterminado.
Solución técnica
De acuerdo con un aspecto de una realización a modo de ejemplo, se proporciona un procedimiento de acuerdo con la reivindicación 1 adjunta, los ejemplos adicionales llamados realizaciones en la descripción son ejemplos ilustrativos, no realizaciones reivindicadas en la presente solicitud.
Efectos ventajosos
En la descodificación de vídeo de acuerdo con realizaciones a modo de ejemplo, se pueden determinar valores promedio de errores de valores mínimos locales y valores máximos locales de un grupo de píxeles predeterminado entre una imagen restablecida y una imagen original y, compensar valores de píxel de píxeles restablecidos en el grupo de píxeles predeterminado.
Descripción de los dibujos
La figura 1 es un diagrama de bloques de un aparato para codificar un vídeo para compensar un valor de píxel; la figura 2 es un diagrama de bloques de un aparato para descodificar un vídeo para compensar un valor de píxel;
la figura 3 ilustra píxeles restablecidos adyacentes que se compararán con un píxel restablecido para determinar de este modo un nivel de valor extremo del píxel restablecido; la figura 4 es un diagrama de flujo para describir el filtrado de lazo adaptativo; la figura 5 es un diagrama de flujo para describir el filtrado de lazo adaptativo;
la figura 6 es un diagrama de flujo que ilustra un procedimiento para codificar un vídeo para compensar un valor de píxel;
la figura 7 es un diagrama de flujo que ilustra un procedimiento para descodificar un vídeo mediante la compensación de un valor de píxel, según una realización a modo de ejemplo.
La figura 8 es un diagrama de bloques de un aparato para codificar un vídeo mediante la compensación de un de valor de píxel tras realizar un filtrado de lazo sobre la base de unidades de codificación que tienen una estructura de árbol;
la figura 9 es un diagrama de bloques de un aparato para descodificar un vídeo mediante la compensación de un
5
10
15
20
25
30
35
40
45
50
55
valor de píxel después de llevar a cabo un filtrado de lazo sobre la base de unidades de codificación que tienen una estructura de árbol;
la figura 10 es un diagrama para describir un concepto de unidades de codificación;
la figura 11 es un diagrama de bloques de un codificador de imágenes sobre la base de unidades de codificación; la figura 12 es un diagrama de bloques de un descodificador de imágenes sobre la base de unidades de codificación;
la figura 13 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con unas profundidades, y realizaciones de divisiones;
la figura 14 es un diagrama para describir una relación entre una unidad de codificación y unas unidades de transformación;
la figura 15 es un diagrama para describir una información de codificación de unidades de codificación que se corresponden con una profundidad codificada;
la figura 16 es un diagrama de unidades de codificación más profundas de acuerdo con unas profundidades; las figuras 17 a 19 son unos diagramas para describir una relación entre unas unidades de codificación, unas unidades de predicción y unas unidades de transformación;
la figura 20 es un diagrama para describir una relación entre una unidad de codificación, una unidad de predicción o una división, y una unidad de transformación, de acuerdo con la información de modo de codificación de la tabla 2;
la figura 21 es un diagrama de flujo que ilustra un procedimiento para codificar un vídeo mediante la
compensación de un valor de píxel después de llevar a cabo un filtrado de lazo sobre la base de unidades de
codificación que tienen una estructura de árbol, y
La figura 22 es un diagrama de flujo que ilustra un procedimiento para descodificar un vídeo mediante la
compensación de un valor de píxel después de llevar a cabo un filtrado de lazo sobre la base de unidades de
codificación que tienen una estructura de árbol, de acuerdo con una realización a modo de ejemplo.
En referencia a realizaciones ejemplares, se describe en el presente un procedimiento de codificación de vídeo para compensar un valor de píxel de foros, incluyendo el procedimiento: codificar datos de imagen; descodificar los datos de imagen codificados y generar una imagen restablecida realizando un filtrado de lazo en los datos de imagen descodificados; determinar un valor de compensación correspondiente a errores entre un grupo predeterminado de píxeles restablecidos en la imagen restablecida y píxeles originales correspondientes, y un grupo de píxel que incluye un píxel restablecido a compensar usando el valor de compensación; y codificar el valor de compensación y transmitir el valor de compensación codificado y un flujo de bits de los datos de imagen codificados.
La determinación del valor de compensación y el grupo de píxeles puede incluir: determinar un nivel de valor extremo que indica un grado de cercanía a un valor máximo o un valor mínimo según píxeles restablecidos comparando valores de píxel de píxeles cercanos restablecidos en la imagen restablecida; y determinar el grupo de píxeles que comprende el píxel restablecido a compensar entre los píxeles restablecidos cercanos basándose en el nivel de valor extremo determinado según los píxeles restablecidos.
La determinación del grupo de píxeles basándose en el nivel de valor extremo puede incluir clasificar los píxeles restablecidos cercanos en grupos de píxeles incluyendo los píxeles restablecidos con un mismo nivel de valor extremo basado en el nivel de valor extremo determinado según los píxeles restablecidos, y determinar un grupo de píxeles de al menos un nivel de valor extremo como el grupo de píxeles incluyendo el píxel restablecido a compensar, y la determinación del valor de compensación y el grupo de píxeles puede incluir además determinar el valor de compensación para el grupo de píxeles determinado del al menos un nivel de valor extremo.
La determinación del valor de compensación y el grupo de píxeles puede incluir: clasificar píxeles restablecidos de la imagen restablecida en grupos de píxeles incluyendo píxeles restablecidos en una misma banda, según bandas, obtenidas dividiendo una sección total de valores de píxel; y determinar el valor de compensación según los grupos de píxeles según bandas.
La clasificación de los píxeles restablecidos según bandas puede incluir clasificar los píxeles restablecidos en grupos de píxeles según bandas, basándose en bandas obtenidas dividiendo la sección total de los valores de píxel en un número de 2 a la potencia de un número entero positivo.
Un índice del número de 2 a la potencia del número entero positivo puede determinarse basándose en un número de los bits más significativos en una profundidad de bits de los píxeles restablecidos.
La sección total de los valores de píxel puede estar dentro de un intervalo de una profundidad de bits extendida.
La determinación del valor de compensación y el grupo de píxeles puede incluir: clasificar píxeles restablecidos de la imagen restablecida en grupos de píxeles incluyendo píxeles restablecidos dispuestos en una misma línea, según líneas; y determinar el valor de compensación según los grupos de píxeles según líneas.
La clasificación de los píxeles restablecidos en los grupos de píxeles según líneas puede incluir detectar píxeles restablecidos que forman líneas en al menos una de una dirección horizontal, una dirección vertical, una dirección diagonal, una dirección curvada y una dirección de límite de un objeto predeterminado, de entre los píxeles
5
10
15
20
25
30
35
40
45
50
restablecidos de la imagen restablecida.
La determinación del valor de compensación y el grupo de píxeles puede incluir determinar el valor de
compensación usando un valor promedio de errores entre píxeles restablecidos del grupo de píxeles y píxeles
originales correspondientes.
La determinación del valor de compensación y el píxel restablecido puede incluir determinar el valor de
compensación para todos los píxeles restablecidos a compensar, o determinar individualmente el valor de
compensación según grupos predeterminados de los píxeles restablecidos a compensar.
La generación de la imagen restablecida puede realizarse usando filtrado de lazo adaptativo usando una pluralidad de filtros continuos unidimensionales.
La determinación del valor de compensación y el grupo de píxeles puede incluir determinar el valor de compensación y el pixel restablecido a compensar según al menos una unidad de datos de entre una secuencia de imagen, un segmento, una trama y una unidad de codificación del vídeo de entrada.
La transmisión del flujo de bits puede incluir insertar y transmitir el valor de compensación codificado en un encabezado de segmento.
La codificación de la secuencia de imagen de entrada puede incluir: dividir una imagen en una unidad de codificación máxima; realizar la codificación en al menos una unidad de codificación más profunda según la profundidad, según regiones divididas al dividir jerárquicamente la unidad de codificación máxima cuando la profundidad se acentúa para determinar un modo de codificación de una unidad de codificación de una profundidad codificada, incluyendo el modo de codificación información de al menos una profundidad codificada que genera al menos un error de codificación; y enviar los datos de imagen codificados según la profundidad codificada determinada y modo de codificación.
Según un aspecto de otro ejemplo relacionado, se proporciona un procedimiento de descodificación de un vídeo para compensar un valor de píxel, incluyendo el procedimiento: extraer datos de imagen codificados y un valor de compensación desde un flujo de bits analizando el flujo de bits de una imagen codificada; descodificar los datos de imagen extraídos y generar una imagen restablecida realizando filtrado de lazo en los datos de imagen descodificados; determinar un grupo de píxeles incluyendo un píxel restablecido a compensar de entre píxeles restablecidos de la imagen restablecida, usando el valor de compensación extraído; y compensar un error entre el píxel restablecido del grupo de píxel determinado y un píxel original correspondiente usando el valor de compensación extraído.
La determinación del grupo de píxeles puede incluir: determinar un nivel de valor extremo, que indica un grado de cercanía a un valor máximo o un valor mínimo según los píxeles restablecidos comparando valores de píxel de píxeles cercanos restablecidos en la imagen restablecida; y determinar el grupo de píxeles que comprende el píxel restablecido a compensar entre los píxeles restablecidos cercanos basándose en el nivel de valor extremo determinado.
La determinación del nivel de valor extremo puede incluir clasificar los píxeles restablecidos cercanos en grupos de píxeles incluyendo píxeles restablecidos con un mismo nivel de valor extremo basándose en el nivel de valor extremo determinado, y determinar un grupo de píxeles de al menos un nivel de valor extremo como el grupo de píxeles incluyendo el píxel restablecido a compensar.
La determinación del grupo de píxeles puede incluir clasificar los píxeles restablecidos de la imagen restablecida en grupos de píxeles según bandas.
La compensación del error puede incluir compensar errores de valores de píxel de los píxeles restablecidos de los grupos de píxeles según los niveles de valor extremo usando los valores de compensación según los niveles de valor extremo para compensar los valores de píxel de los grupos de píxeles según los niveles de valor extremo.
La determinación del grupo de píxeles puede incluir clasificar los píxeles restablecidos de la imagen restablecida en grupos de píxeles incluyendo píxeles restablecidos dispuestos en una misma línea, según líneas, y determinar un grupo de píxeles, de entre los grupos de píxeles según líneas, como el grupo de píxeles que comprende el píxel restablecido a compensar.
La compensación del error puede incluir compensar valores de píxel de los píxeles restablecidos en los grupos de píxeles según líneas, usando valores de compensación de los grupos de píxeles según líneas para compensar los valores de píxel de los grupos de píxeles según líneas.
La clasificación de los píxeles restablecidos en los grupos de píxeles según líneas puede incluir detectar píxeles restablecidos que forman líneas en al menos una de una dirección horizontal, una dirección vertical, una dirección diagonal, una dirección curvada y una dirección de límite de un objeto predeterminado, de entre los píxeles restablecidos de la imagen restablecida.
5
10
15
20
25
30
35
40
45
50
55
El valor de compensación puede determinarse usando un valor promedio de errores entre los píxeles restablecidos del grupo de píxeles y píxeles originales correspondientes durante la codificación de datos de imagen codificados.
La compensación del error puede incluir compensar todos los píxeles restablecidos a compensar usando el valor de compensación.
La compensación del error puede incluir compensar los valores de píxeles de los píxeles restablecidos usando valores de compensación determinados individualmente según grupos predeterminados de los píxeles restablecidos a compensar.
La generación de la imagen restablecida puede realizarse usando filtrado de lazo adaptativo usando una pluralidad de filtros continuos unidimensionales.
Los datos de imagen codificados pueden codificarse dividiendo una imagen en una unidad de codificación máxima, y realizando codificación en al menos una unidad de codificación más profunda según la profundidad, según regiones divididas jerárquicamente dividiendo la unidad de codificación máxima cuando la profundidad se acentúa para determinar información de un modo de codificación de una unidad de codificación de una profundidad codificada, que incluye información sobre al menos una profundidad codificada que genera al menos un error de codificación, desde el flujo de bits, y la generación de la imagen restablecida puede incluir descodificar los datos de imagen codificados basándose en la profundidad codificada y el modo de codificación, basándose en la información sobre el modo de codificación, y realizar el filtrado de lazo.
Según un aspecto de otro ejemplo relacionado, se proporciona un aparato para codificar un vídeo para compensar un valor de píxel, incluyendo el aparato: un codificador que codifica datos de imagen; un generador de imagen restablecida que descodifica los datos de imagen codificados y genera una imagen restablecida realizando filtrado de lazo en los datos de imagen descodificados; un determinador de valor de compensación y grupo de píxeles que determina un valor de compensación correspondiente a errores entre un grupo predeterminado de píxeles restablecidos y píxeles originales correspondientes, y un grupo de píxeles incluyendo un píxel restablecido a compensar usando el valor de compensación; y un transmisor que codifica el valor de compensación y transmite el valor de compensación codificado y un flujo de bits de los datos de imagen codificados.
Según un aspecto de otra realización ejemplar, se proporciona un aparato para descodificar un vídeo para compensar un valor de píxel, incluyendo el aparato: un extractor que extrae datos de imagen codificados y un valor de compensación desde un flujo de bits analizando el flujo de bits de una imagen codificada; un generador de imagen restablecida que descodifica los datos de imagen extraídos y genera una imagen restablecida realizando filtrado de lazo en los datos de imagen descodificados; un determinador de grupo de píxeles que determina un grupo de píxeles incluyendo un pixel restablecido a compensar de entre píxeles restablecidos de la imagen restablecida, usando el valor de compensación extraído; y un compensador de píxel restablecido que compensa un error entre el píxel restablecido del grupo de píxeles determinados y un píxel original correspondiente usando el valor de compensación extraído.
Según otro ejemplo relacionado, se proporciona un medio de registro legible a ordenador que tiene registrado en el mismo un programa para ejecutar uno cualquiera de los procedimientos antes descritos.
Modo para la invención
En lo sucesivo en el presente documento se describirán realizaciones a modo de ejemplo más completamente con referencia a los dibujos adjuntos. Expresiones tales como “por lo menos uno de”, cuando precedan a una lista de elementos, modifican la lista completa de elementos y no modifican los elementos individuales de la lista.
Un procedimiento y aparato para codificar un vídeo, y un procedimiento y aparato para descodificar un vídeo, mediante la compensación de errores de valores de píxel de un grupo de píxeles predeterminado según realizaciones ejemplares, se describirá a continuación con referencia a las figuras 1 a 22. En detalle, la codificación y descodificación de un vídeo mediante la compensación de un valor de píxel después de llevar a cabo un filtrado de lazo se describirán con referencia a las figuras 1 a 7, y la codificación y descodificación de un vídeo para compensar un valor de píxel después de llevar a cabo un filtrado de lazo sobre la base de unidades de codificación que tienen una estructura de árbol, se describirán con referencia a las figuras 8 a 22.
En lo sucesivo en el presente documento se describirá con referencia a las figuras 1 a 7 la codificación y descodificación de un vídeo mediante la compensación de un valor de píxel después de llevar a cabo un filtrado de lazo.
La figura 1 es un diagrama de bloques de un aparato de codificación de vídeo 10 para compensar un valor de píxel.
El aparato de codificación de vídeo incluye un codificador 12, un generador de imágenes restablecidas 14, un determinador de valores de compensación y de grupos de píxeles 16, y un transmisor 18. Las operaciones del codificador 12, el generador de imágenes restablecidas 14 y el determinador de valores de compensación y de grupos de píxeles 16 del aparato de codificación de vídeo 10 se pueden controlar orgánicamente por un procesador
5
10
15
20
25
30
35
40
45
50
55
de codificación de vídeo, un procesador central, un procesador de gráficos, o similares.
El codificador 12 codifica una imagen en una unidad de imagen de entre una secuencia de imágenes de entrada. El codificador puede generar datos de imagen codificados al llevar a cabo estimación de movimiento, inter predicción, intra predicción, transformación y cuantificación en una imagen de entrada.
El codificador 12 puede usar cualquier procedimiento de codificación de vídeo, tal como MPEG 1, 2, 4 y H.26x. Por ejemplo, el codificador 12 puede usar un procedimiento de codificación de vídeo sobre la base de unidades de codificación que tengan una estructura de árbol, según una realización ejemplar, que se describirán más adelante con referencia a las figuras 8 a 22.
El generador de imágenes restablecidas 14 puede recibir los datos de imagen codificados por el codificador 12, y generar una imagen restablecida al descodificar los datos de imagen codificados y llevar a cabo un filtrado de lazo en los datos de imagen descodificados.
El generador de imágenes restablecidas 14 puede generar los datos de imagen descodificados al llevar a cabo cuantificación inversa, transformación inversa, inter predicción, compensación de movimiento e intra predicción en los datos de imágenes codificados.
La descodificación llevada a cabo en los datos de imagen codificados por el generador de imágenes restablecidas 14 se puede llevar a cabo como procesos inversos de un procedimiento de codificación de vídeo llevado a cabo por el codificador 12. Por ejemplo, el aparato de codificación de vídeo 10 cuando el codificador 12 y el generador de imágenes restablecidas 14 llevan a cabo el procedimiento de codificación de un vídeo, según una realización ejemplar, se describirá más adelante con referencia a las figuras 8 a 22.
El generador de imágenes restablecidas 14 puede llevar a cabo un filtrado de lazo en los datos de imagen descodificados. El filtrado de lazo puede incluir de forma selectiva un filtrado de desbloqueo y un filtrado de lazo adaptativo. El filtrado de lazo adaptativo se puede llevar a cabo usando una pluralidad de filtros unidimensionales continuos. El filtrado de lazo adaptativo de acuerdo con realizaciones de ejemplo se describirá en detalle más adelante con referencia a las figuras 4 y 5.
El determinador de valores de compensación y de grupos de píxeles 16 recibe la imagen de entrada e imagen restablecida enviadas por el generador de imágenes restablecidas 14, determina un valor de compensación acerca de un error entre cada píxel restablecido de un grupo predeterminado en la imagen restablecida, y un píxel original correspondiente a la imagen de entrada, y determina un grupo de píxeles que incluye píxeles restablecidos a compensar usando el valor de compensación.
El determinador de valores de compensación y de grupos de píxeles 16 compara valores de píxel de píxeles restablecidos adyacentes de entre los píxeles restablecidos en la imagen restablecida, y determina un nivel de valor extremo y / o de borde que indica una cercanía con un valor máximo y un valor mínimo. En lo sucesivo en el presente documento, por razones de conveniencia de explicación, un nivel de valor extremo y/o de borde' puede representar por lo menos uno de un nivel de valor de extremo y un nivel de valor de borde. El determinador de valores de compensación y de grupos de píxeles 16 puede determinar los píxeles restablecidos adyacentes en grupos de píxeles que incluyen píxeles restablecidos que tienen el mismo nivel de valor extremo y/o de borde, sobre la base de cada nivel de valor extremo y / o de borde de los píxeles restablecidos adyacentes.
El determinador de valores de compensación y de grupos de píxeles 16 puede determinar por lo menos un grupo de píxeles de nivel de valor extremo y / o de borde de entre los grupos de píxeles clasificados como un grupo de píxeles que tiene valores de píxel a compensar. El determinador de valores de compensación y de grupos de píxeles 16 puede determinar compensar valores de píxel de grupos de píxeles de niveles de valores extremos y/o de borde mínimos y máximos, o valores de píxel de grupos de píxeles de niveles de valores extremos y/o de borde en un intervalo predeterminado. Un procedimiento para determinar un objetivo a compensar sobre la base de niveles de valores extremos y/o de borde de píxeles restablecidos adyacentes se describirá más adelante con referencia a la figura 3.
El determinador de valores de compensación y de grupos de píxeles 16 puede determinar compensar valores de píxel de grupos de píxeles de acuerdo con las bandas. El determinador de valores de compensación y de grupos de píxeles 16 puede dividir un intervalo total de valores de píxel de los píxeles restablecidos en una pluralidad de bandas divididas para asignar de esta manera grupos de píxeles de los píxeles restablecidos. El determinador de valores de compensación y de grupos de píxeles 16 puede clasificar píxeles restablecidos en la misma banda en grupos de píxeles de acuerdo con las bandas, sobre la base de los valores de píxel de los píxeles restablecidos. En el presente caso, todos los valores de píxel de los píxeles restablecidos en el grupo de píxeles de acuerdo con las bandas se pueden determinar como compensados, y el determinador de valores de compensación y de grupos de píxeles 16 puede determinar por separado un valor de compensación para cada grupo de píxeles de acuerdo con las bandas.
Para un procesamiento de alta velocidad, el intervalo total de los valores de píxel se puede dividir en un número de bandas idéntico a un número de 2 hasta la potencia de un entero positivo. Para un procesamiento de alta velocidad,
5
10
15
20
25
30
35
40
45
50
55
cuando un número de bits más significativos en una profundidad de bits de una cadena de bits de los píxeles restablecidos es p, el intervalo total de los valores de píxel se puede dividir en un número de bandas idéntico a un número de 2Ap. Como alternativa, el intervalo total de los valores de píxel puede ser idéntico a un intervalo de profundidad de bits extendida del píxel restablecido.
El determinador de valores de compensación y de grupos de píxeles 16 puede analizar la imagen restablecida, detectar líneas en una dirección predeterminada y clasificar los píxeles restablecidos en grupos de píxeles de acuerdo con líneas que incluyen píxeles restablecidos en la misma línea. Cuando líneas en varias direcciones, tales como una dirección horizontal, una dirección vertical, una dirección diagonal, una dirección curva y una dirección de límite de un objeto predeterminado, se detectan, los píxeles que forman cada línea se pueden clasificar en un grupo de píxeles. El determinador de valores de compensación y de grupos de píxeles 16 puede determinar individualmente un valor de compensación para cada grupo de píxeles de acuerdo con líneas.
El determinador de valores de compensación y de grupos de píxeles 16 puede determinar un valor promedio de errores entre los píxeles restablecidos a compensar y píxeles originales correspondientes como el valor de compensación. El error entre el píxel restablecido y el píxel original puede incluir una diferencia entre el píxel restablecido y el píxel original, un valor absoluto de la diferencia o un cuadrado de la diferencia. El determinador de valores de compensación y de grupos de píxeles 16 puede determinar un valor de compensación que será aplicado igualmente a los píxeles restablecidos completos a compensar, o determinar individualmente un valor de compensación de acuerdo con grupos de píxeles clasificados de acuerdo con características.
El determinador de valores de compensación y de grupos de píxeles 16 puede determinar el píxel restablecido a compensar y determinar un valor de compensación correspondiente, de acuerdo con por lo menos una unidad de datos de entre una secuencia de imágenes, un segmento, una trama y una unidad de codificación del vídeo de entrada.
El transmisor 18 recibe y codifica el valor de compensación determinado por el determinador de valores de compensación y de grupos de píxeles 16. El transmisor 18 recibe los datos de imagen codificados por el codificador 12, y genera y envía un flujo de bits que incluye el valor de compensación codificado y los datos de imagen codificados. Los datos de imagen codificados pueden ser convertidos en un formato de flujo de bits por medio de codificación por entropía, e insertados en un flujo de bits para su transmisión.
El transmisor 18 puede recibir información adicional acerca de un procedimiento para determinar un grupo de píxeles del determinador de valores de compensación y de grupos de píxeles, y codificar e insertar la información adicional en el flujo de bits. Debido a que el procedimiento se puede basar en los niveles de valores extremos y/o de borde, bandas o líneas tal como se describió en lo que antecede, la información que indique cómo el valor de compensación se emplea y un grupo de píxeles que usa el valor de compensación puede ser transmitida.
Cuando el generador de imágenes restablecidas 14 lleva a cabo el filtrado de lazo adaptativo, el transmisor 18 puede recibir información acerca de un coeficiente de filtro de lazo para el filtrado de lazo adaptativo, y codificar insertar la información en el flujo de bits. El aparato de codificación de vídeo 10 puede dividir la imagen en partes de una forma cuadrada, una forma rectangular o incluso forma irregular y llevar a cabo corrección selectiva solo para grupos específicos de píxeles en una región concreta. Sobre la base de las partes divididas de la imagen, valores de píxel se pueden compensar en forma adaptativa a los contenidos de la imagen. Asimismo, el aparato de codificación de vídeo 10 puede transmitir información que se refiera a grupos de píxeles que serán corregidos mediante señalización explícita y señalización implícita.
El aparato de codificación de vídeo 10 puede proporcionar la información acerca del valor de compensación obtenido durante la codificación a un descodificador de tal manera que el descodificador sea capaz de soportar un post- proceso que pueda ser llevado a cabo para reducir un error entre la imagen restablecida y la imagen original. Asimismo, debido a que el valor de compensación se determina de acuerdo con los grupos de píxeles, una cantidad de bits de transmisión se puede reducir al solo codificar y transmitir la información acerca del valor de compensación, sin tener que codificar y transmitir información acerca de una ubicación de píxeles individuales.
La figura 2 es un diagrama de bloques de un aparato de descodificación de vídeo 20 para compensar un valor de píxel.
El aparato de descodificación de vídeo 20 incluye un extractor 22, un generador de imágenes restablecidas 24, un determinador de grupos de píxeles 26 y un compensador de píxeles restablecidos 28. Las operaciones del extractor 22, el generador de imágenes restablecidas 24, el determinador de grupos de píxeles 26 y el compensador de píxeles restablecidos 28 del aparato de descodificación de vídeo 20 se pueden controlar orgánicamente por un procesador de descodificación de vídeo, un procesador central, un procesador de gráficos, o similares.
El extractor 22 recibe y analiza un flujo de bits acerca de una imagen codificada, y extrae datos de imagen codificados e información relacionada con un valor de compensación del flujo de bits. La información relacionada con el valor de compensación puede incluir información acerca del valor de compensación. Cuando la información relacionada con el valor de compensación incluye además información acerca de un procedimiento para determinar un grupo de píxeles a compensar usando el valor de compensación, el extractor 22 puede extraer el valor de
5
10
15
20
25
30
35
40
45
50
55
compensación y la información acerca del procedimiento del flujo de bits. El extractor 22 puede extraer por lo menos uno del valor de compensación y la información relacionada con el valor de compensación de acuerdo con por lo menos una unidad de datos de entre una secuencia de imágenes, un segmento, una trama y una unidad de codificación de un vídeo de entrada.
El extractor 22 puede extraer información de codificación, tal como un procedimiento de codificación y un modo de codificación, que se use para descodificar los datos de imagen codificados. Cuando información acerca de un coeficiente de filtro de lazo para un filtrado de lazo adaptativo se inserta en el flujo de bits, el extractor 22 puede extraer la información acerca del coeficiente de filtro de lazo del flujo de bits.
El generador de imágenes restablecidas 24 recibe los datos de imagen codificados, la información de codificación y la información acerca del coeficiente de filtro de lazo, que se extraen por el extractor 22, y genera una imagen restablecida al descodificar los datos de imagen codificados y llevar a cabo un filtrado de lazo en los datos de imagen codificados.
La descodificación de los datos de imagen codificados se puede llevar a cabo como procesos inversos de un procedimiento de codificación de vídeo llevado a cabo en lo datos de imagen codificados. Por ejemplo, cuando los datos de imagen codificados son codificados y transmitidos de acuerdo con un procedimiento de codificación de vídeo a base de unidades de codificación que tienen una estructura de árbol, según una realización ejemplar, el generador de imágenes restablecidas 24 puede descodificar los datos de imagen codificados de acuerdo con un procedimiento de descodificación de vídeo sobre la base de unidades de codificación que tengan una estructura de árbol.
El generador de imágenes restablecidas 24 puede llevar a cabo de forma selectiva un filtrado de lazo, tal como un filtrado de desbloqueo y un filtrado de lazo adaptativo, a los datos de imagen descodificados. El filtrado de lazo adaptativo se puede llevar a cabo usando una pluralidad de filtros unidimensionales continuos.
El determinador de grupos de píxeles 26 puede recibir la imagen almacenada generada por el generador de imágenes restablecidas 24, y la información relacionada con el valor de compensación extraído por el extractor 22, y determinar un grupo de píxeles que incluya píxeles restablecidos a compensar usando el valor de compensación, de entre píxeles restablecidos de un grupo predeterminado en la imagen restablecida. El compensador de píxeles restablecidos 28 recibe el valor de compensación extraído por el extractor 22, y la información acerca del grupo de píxeles determinado por el determinador de grupos de píxeles 26, y compensa los valores de píxel de los píxeles restablecidos usando el valor de compensación y envía la imagen restablecida que tiene los valores de píxel restablecidos.
Cuando la información acerca del procedimiento para determinar el grupo de píxeles se extrae por el extractor 22, el determinador de grupos de píxeles 26 puede determinar el grupo de píxeles que tenga los valores de píxel a compensar usando el procedimiento. Por ejemplo, el determinador de grupos de píxeles 26 puede determinar si se clasifican los píxeles restablecidos de acuerdo con niveles de valor extremos y/o de borde, bandas de valores de píxel o líneas, y determinar el grupo de píxeles sobre la base del procedimiento.
El determinador de grupos de píxeles 26 puede determinar un nivel de valor extremo y / o de borde de acuerdo con píxeles restablecidos al comparar valores de píxel de píxeles restablecidos adyacentes en la imagen restablecida.
El determinador de grupos de píxeles 26 puede clasificar los píxeles restablecidos adyacentes sobre la base de los niveles de valor extremo y/o de borde, y determinar un grupo de píxeles que incluya los píxeles restablecidos de por lo menos un nivel de valor extremo y / o de borde predeterminado como un grupo de píxeles que incluya píxeles restablecidos que tengan valores de píxel a compensar usando el valor de compensación. El compensador de píxeles restablecidos 28 puede compensar los valores de píxel de los píxeles restablecidos en el grupo de píxeles determinado, mediante el uso del valor de compensación.
Como alternativa, el determinador de grupos de píxeles 26 puede clasificar los píxeles restablecidos en la imagen restablecida en grupos de píxeles de acuerdo con las bandas, sobre la base de bandas obtenidas al dividir una sección total de los valores de píxel. El compensador de píxeles restablecidos 28 puede compensar los valores de píxel de los píxeles restablecidos en el grupo de píxeles de acuerdo con las bandas, usando un valor de compensación de acuerdo con las bandas para los píxeles restablecidos en el grupo de píxeles de acuerdo con las bandas.
La sección total de los valores de píxel puede ser dividida en un número de bandas igual a un número de 2 hasta la potencia de un entero positivo. En el presente caso, un índice del número de 2 hasta la potencia de un entero positivo se puede determinar sobre la base de un número de bits más significativos en una profundidad de bits de los píxeles restablecidos. Asimismo, la sección total de los valores de píxel puede ser un intervalo de profundidad de bits extendida de los píxeles restablecidos.
El determinador de grupos de píxeles 26 puede clasificar los píxeles restablecidos de la imagen restablecida en grupos e píxeles de acuerdo con líneas. El compensador de píxeles restablecidos 28 puede compensar valores de píxel de los píxeles restablecidos en el grupo de píxeles de acuerdo con líneas, usando un valor de compensación
5
10
15
20
25
30
35
40
45
para el grupo de píxeles de acuerdo con líneas. El determinador de grupos de píxeles 26 puede detectar píxeles restablecidos que formen líneas en por lo menos una dirección horizontal, una dirección vertical, una dirección diagonal, una dirección curva o una dirección de límite de un objeto predeterminado, de entre los píxeles restablecidos de la imagen restablecida.
El valor de compensación se puede determinar y transmitir usando un valor promedio de errores entre los píxeles restablecidos y píxeles originales correspondientes durante la codificación. El compensador de píxeles restablecidos 28 puede compensar todos los valores de píxel de los píxeles restablecidos a compensar usando un valor de compensación. Como alternativa, cuando el valor de compensación extraído por el extractor 22 se establece de acuerdo con grupos de píxeles, el compensador de píxeles restablecidos 28 puede compensar los valores de píxel usando el valor de compensación determinado individualmente de acuerdo con los grupos de píxeles.
El aparato de codificación de vídeo 10 y el aparato de descodificación de vídeo 20 pueden compensar un error sistemático generado entre una imagen restablecida y una imagen original cuando una imagen codificada sea descodificada y restablecida. El aparato de codificación de vídeo 10 puede transmitir información con respecto a grupos de píxeles que serán corregidos por señalización explícita y señalización implícita. El aparato de codificación de vídeo 10 y el aparato de descodificación de vídeo 20 pueden dividir la imagen en partes de una forma cuadrada, una forma rectangular o incluso una forma irregular y llevar a cabo la corrección selectiva solo para grupos específicos de píxeles en una región concreta. Sobre la base de las partes divididas de la imagen, valores de píxel pueden ser compensados en forma adaptativa a los contenidos de la imagen.
Como un ejemplo del error sistemático entre la imagen, restablecida y la imagen original, el valor promedio de los errores de valores de píxel entre píxeles restablecidos en un grupo predeterminado y píxeles originales correspondientes puede no ser 0. En consecuencia, el aparato de codificación de vídeo 10 y el aparato de descodificación de vídeo 20 compensan el error entre el píxel restablecido y el píxel original.
El determinador de valores de compensación y de grupos de píxeles 16 puede determinar un valor de compensación de acuerdo con la siguiente ecuación 1.
[Ecuación 1]
M
Z (0rs >ym)~ Rec ))
corr = —----------------------------------------------------------------------------------------------
M
En el presente caso, m indica un entero de 1 a M, y un valor promedio corr de errores entre valores de píxel Org (xm, ym) de un píxel original y valores de píxel Rec (xm, ym) de un píxel restablecido se pueden usar como un valor de compensación de grupos de píxeles {(xm, ym)} incluyendo píxeles en las ubicaciones (xm, ym).
El compensador de píxeles restablecidos 28 puede compensar valores de píxel de píxeles restablecidos en un grupo de píxeles de acuerdo con la siguiente ecuación 2.
[Ecuación 2]
Reccorregido (xm, ym) = Rec (xm, ym) + corr
El compensador de píxeles restablecidos 28 puede compensar los valores de píxel Rec (xm, ym) del píxel restablecido usando el valor de compensación corr, y valores de píxel de salida Reccorregido (xm, ym) de acuerdo con píxeles como resultados de compensar los valores de píxel Rec (xm, ym) en grupos de píxeles {(xm, ym)}.
El aparato de codificación de vídeo 10 y el aparato de descodificación de vídeo 20 pueden clasificar los píxeles restablecidos de acuerdo con una norma predeterminada, para determinar de este modo los grupos de píxeles que tengan los valores de píxel a compensar.
Los grupos de píxeles se pueden clasificar de acuerdo con niveles de valor extremo y/o de borde, según una realización ejemplar. Un valor extremo y / o de borde local incluye un valor mínimo local y un valor máximo local. Un valor mínimo local f (xmín, ymín) y un valor máximo local f (xmáx, ymáx) en la coordenada adyacente (x, y) en un intervalo predeterminado s se definen, de forma respectiva, en las ecuaciones 3 y 4 en lo sucesivo, con respecto a una función cuadrática f (x, y).
[Ecuación 3]
f (x y) > f ^mín ym¡n), si 1 xmín - x 1 + 1 ymín - y|<^y £>°.
5
10
15
20
25
30
35
40
45
50
55
[Ecuación 4]
f (x, y) < f (Xmáx, ymáx), si | Xmáx - x | + | ymáx - y | < £ (en donde, £ > 0).
Asimismo, el valor mínimo local f(xmín, ymín) y el valor máximo local f(xmáx, ymáx) se pueden definir, de forma respectiva, en las ecuaciones 5 y 6 en lo sucesivo, con respecto a un píxel de señal discreto (x, y).
[Ecuación 5]
f ^mín ymín) < (xmín + 1 ymín) f (xmín, ymín) < (xmín - 1, ymín) f (xmín, ymín) < ^mín ymín + 1) f (xmín, ymín) < (xmín, ymín - 1).
[Ecuación 6]
f (xmáx, ymáx) < (xmáx + 1, ymáx) f (xmáx, ymáx) < (xmáx - 1, ymáx) f (xmáx, ymáx) < (xmáx, ymáx + 1) f (xmáx, ymáx) < (xmáx, ymáx - 1).
El aparato de codificación de vídeo 10 y el aparato de descodificación de vídeo 20 pueden determinar píxeles que correspondan al valor extremo y/o de borde de entre píxeles restablecidos adyacentes predeterminados en líneas horizontales y verticales, de acuerdo con las ecuaciones 5 y 6. Asimismo, más píxeles adyacentes, incluyendo, por ejemplo píxeles (xmáx + 1, ymáx + 1), (xmáx -1) / (xmáx + 1, ymáx -1) y (xmáx -1, ymáx -1) en líneas diagonales, pueden ser incluidos a procesos de clasificación de píxeles. Los píxeles predeterminados pueden ser excluidos de grupos de píxeles. Por ejemplo, si solo píxeles en la misma línea pueden ser clasificados en un grupo de píxeles, otros píxeles lejos de la línea correspondiente pueden ser excluidos del grupo de píxeles.
Se puede generar un fenómeno de planarización por un sistema de codificación y descodificación de vídeo general. En consecuencia, un valor mínimo local en una imagen restablecida es más alto que un valor de píxel de una imagen original, y un error entre valores mínimos locales de la imagen restablecida y la imagen original es un valor positivo. Asimismo, un valor máximo local en la imagen restablecida es más bajo que un valor de píxel de la imagen original, y un error entre valores máximos locales de la imagen restablecida y la imagen original es un valor negativo.
En consecuencia, el aparato de codificación de vídeo 10 y el aparato de descodificación de vídeo 20 pueden determinar valores promedio de errores de valores mínimos locales y valores máximos locales de un grupo de píxeles predeterminado entre una imagen restablecida y una imagen original, y compensar valores de píxel y píxeles restablecidos en el grupo de píxeles predeterminado. En lo sucesivo en el presente documento, se describirá con referencia a la figura 3 un procedimiento para determinar un nivel de valor extremo y/o de borde de píxeles restablecidos de un grupo de píxeles predeterminado, el cual se lleva a cabo por el determinador de valores de compensación y de grupos de píxeles 16 del aparato de codificación de vídeo 10, y el determinador de grupos de píxeles 26 del aparato de descodificación de vídeo 20.
La figura 3 ilustra píxeles restablecidos adyacentes 32, 34, 35 y 37 que se compararán con un píxel restablecido actual 30 para determinar de este modo un nivel de valor extremo y/o de borde del píxel restablecido actual 30, según una realización ejemplar. Por razones de conveniencia de explicación, la figura 3 ilustra solo píxeles restablecidos adyacentes 32, 34, 35 y 37. No obstante, píxeles comparados con el píxel restablecido actual 30 según una realización ejemplar no se limitan a píxeles restablecidos adyacentes 32, 34, 35 y 37 en líneas horizontales y verticales.
El determinador de valores de compensación y de grupos de píxeles 16 y el determinador de grupos de píxeles 26
pueden determinar un nivel de valor extremo y/o de borde del píxel restablecido actual 30 al comparar los píxeles
restablecidos adyacentes 32, 34, 35 y 37 que estén dispuestos en la parte superior, izquierda, derecha e inferior del píxel restablecido actual 30, de forma respectiva, con el píxel restablecido actual 30. Cuando un parámetro 'Pixel_Type' indica el nivel de valor extremo y / o de borde del píxel restablecido actual 30, Rec [x] [y] indica un valor de píxel del píxel restablecido actual 30, y Rec [x] [y -1], Rec [x -1] [y], Rec [x + 1] [y] y Rec [x] [y + 1] indican, de forma respectiva, valores de píxel de los píxeles restablecidos adyacentes, el nivel de valor extremo y/o de borde puede ser determinado como las siguientes fórmulas de clasificación:
Pixel_Type = 0;
si (Rec [x] [y] > Rec [x -1] [y]) Pixel_Type ++; si (Rec [x] [y] < Rec [x - 1] [y] Pixel_Type --; si (Rec [x] [y] > Rec [x + 1] [y]) Pixel_Type ++;
si (Rec [x] [y] < Rec [x + 1] [y]) Pixel_Type --;
si (Rec [x] [y] > Rec [x] [y -1]) Pixel_Type ++; si (Rec [x] [y] < Rec [x] [y -1]) Pixel_Type --; si (Rec [x] [y] > Rec [x] [y + 1]) Pixel_Type ++;
5
10
15
20
25
30
35
40
45
50
55
si (Rec [x] [y] < Rec [x] [y + 1]) Pixel_Type --.
Los valores máximos y mínimos de 'Pixel_Type' se pueden suponer como + 4 y - 4.
Si el patrón de clasificación de píxeles tiene una forma diferente a la del patrón de clasificación de píxeles a modo de ejemplo mostrado en la figura 3, entonces las fórmulas de clasificación deben ser modificadas correspondientemente. Por ejemplo, durante detección de borde en la dirección diagonal del ángulo de 45°, los píxeles 31 y 38 se comparan con el píxel actual 30. El nivel de valor extremo y/o de borde se puede determinar como las siguientes fórmulas de clasificación modificadas:
Pixel_Type = 0;
si (Rec [x] [y] > Rec [x -1] [y -1]) Pixel_Type ++;
si (Rec [x] [y] < Rec [x -1] [y -1]) Pixel_Type --;
si (Rec [x] [y] > Rec [x + 1] [y + 1]) Pixel_Type ++;
si (Rec [x] [y] < Rec [x + 1] [y + 1]) Pixel_Type --.
En forma correspondiente, los valores máximos y mínimos de 'Pixel_Type' se pueden suponer como + 2 y - 2.
En otras palabras, el nivel de valor extremo y / o de borde se determina al comparar valores de píxel de los píxeles
restablecidos adyacentes 32, 34, 35 y 37 en un intervalo predeterminado del píxel restablecido actual 30 con un valor de píxel del píxel restablecido actual 30. Cuando el nivel de valor extremo y / o de borde del píxel restablecido actual 30 es un nivel de valor extremo y / o de borde máximo, es decir, M, el píxel restablecido actual 30 se puede determinar como un píxel máximo local, y cuando el nivel de valor extremo y/o de borde del píxel restablecido actual 30 sea un nivel de valor extremo y / o de borde mínimo, es decir, - M, el píxel restablecido actual 30 se puede determinar como un píxel mínimo local. Un valor de M se puede determinar sobre la base de un número predeterminado de los píxeles restablecidos adyacentes analizados. El determinador de valores de compensación y de grupos de píxeles 16 y el determinador de grupos de píxeles 26 pueden determinar píxeles restablecidos determinados como un píxel máximo local y un píxel mínimo local como píxeles a compensar.
De esta manera, el determinador de valores de compensación y de grupos de píxeles 16 y el determinador de grupos de píxeles 26 determinan los valores de valor extremo y/o de borde de los píxeles restablecidos en una unidad de datos actual, y determinan un grupo de píxeles que incluye píxeles restablecidos que tienen el nivel de valor extremo y / o de borde de M y un grupo de píxeles que incluye los píxeles restablecidos que tienen el nivel de
valor extremo y / o de borde de - M. El determinador de valores de compensación y de grupos de píxeles 16 puede
determinar el valor promedio de los errores de los valores de píxel entre los píxeles restablecidos y píxeles originales correspondientes de acuerdo con grupos de píxeles, y determinar el valor de compensación sobre la base del valor promedio. El determinador de grupos de píxeles 26 y el compensador de píxeles restablecidos 28 pueden compensar los valores de píxel de los píxeles restablecidos de acuerdo con grupos de píxeles, mediante el uso del valor de compensación extraído de la información recibida acerca del valor de compensación.
El determinador de valores de compensación y de grupos de píxeles 16 y el determinador de grupos de píxeles 26 pueden determinar un grupo de píxeles que incluya píxeles restablecidos adyacentes al píxel máximo local y píxel mínimo local como un objetivo a compensar. En consecuencia, el determinador de valores de compensación y de grupos de píxeles 16 y el determinador de grupos de píxeles 26 pueden determinar valores de compensación para niveles de valor extremo y / o de borde en un intervalo predeterminado que incluya el nivel de valor extremo y / o de borde máximo y el nivel de valor extremo y / o de borde mínimo. Por ejemplo, debido a que el nivel de valor extremo y / o de borde máximo es M tal como se describió en lo que antecede, píxeles restablecidos que tengan un nivel de valor extremo y / o de borde de M -1 son adyacentes al píxel máximo local.
En consecuencia, el determinador de valores de compensación y de grupos de píxeles 16 y el determinador de grupos de píxeles 26 pueden determinar grupos de píxeles que incluyan píxeles restablecidos que tengan un nivel de valor extremo y/o de borde más alto que un valor positivo predeterminado como grupos de píxeles adyacentes al nivel de valor extremo y / o de borde máximo, y grupos de píxeles que incluyan píxeles restablecidos que tengan un nivel de valor extremo y/o de borde más bajo que un valor negativo predeterminado como grupos de píxeles adyacentes al nivel de valor extremo y / o de borde mínimo. Por ejemplo, cuando un nivel de valor extremo y / o de borde es más alto que m o más bajo que -m, es decir, cuando el nivel de valor extremo y / o de borde es - M, - (M - 1), - (M - 2), ... , - (m + 1), (m + 1), ... , (M -1) o M, un valor de compensación de acuerdo con niveles de valor extremo y / o de borde puede ser determinado.
Como alternativa, el determinador de valores de compensación y de grupos de píxeles 16 puede calcular el valor promedio de los errores entre los píxeles restablecidos y los píxeles originales correspondientes de acuerdo con grupos de píxeles adyacentes al nivel de valor extremo y/o de borde máximo, y determinar el valor de compensación de acuerdo con los grupos de píxeles. Asimismo, el determinador de grupos de píxeles 26 y el compensador de píxeles restablecidos 28 pueden compensar los valores de píxel de los píxeles restablecidos de acuerdo con grupos de píxeles, usando los valores de compensación de acuerdo con grupos de píxeles, los cuales sean extraídos de la información acerca del valor de compensación.
En el presente caso, los 4 píxeles restablecidos adyacentes 32, 34, 35 y 37 dispuestos en la parte superior,
5
10
15
20
25
30
35
40
45
50
izquierda, derecha y fondo del píxel restablecido actual 30, de forma respectiva, se usan para determinar el nivel de valor extremo y / o de borde, pero para poder clasificar el nivel de valor extremo y / o de borde en detalle, 8 píxeles restablecidos 31 a 38 alrededor del píxel restablecido actual 30 se pueden usar como píxeles restablecidos adyacentes para determinar el nivel de valor extremo y / o de borde del píxel restablecido actual 30.
Como alternativa, el aparato de codificación de vídeo 10 y el aparato de descodificación de vídeo 20 pueden clasificar valores de píxel en un número de bandas igual a o por encima de un número predeterminado.
Por ejemplo, cuando una profundidad de bit de píxeles restablecidos es N, un intervalo total de valores de píxel Rec [x] [y] de los píxeles restablecidos es 0 < Rec [x] [y] < (2AN) -1. En otras palabras, un valor máximo Máx del valor de píxel Rec [x] [y] es (2AN) -1, y una sección de los píxeles restablecidos es [0, Máx]. El determinador de valores de compensación y de grupos de píxeles 16 y el determinador de grupos de píxeles 26 puede dividir la sección de los píxeles restablecidos en L bandas. En otras palabras, la banda del píxel restablecido se puede dividir en [0, (Máx + 1) / L -1], [Máx/L, 2 * (Máx + 1) / L -1], y [2*Máx/L, 3 * (Máx + 1) / L -1] a [(L -1) * Máx / L, L * (máx + 1) / L -1].
Datos originales reales pueden estar dentro de la horquilla [Mín, Máx]. Un valor mínimo Mín y un valor máximo Máx no son obligatoriamente iguales a 0 y (2AN)-1, de forma respectiva. El número de valores diferentes se puede corresponder con un intervalo de datos originales reales, es decir, 'Intervalo = Máx - Mín + 1'. Si las bandas de los píxeles restablecidos se dividen de manera uniforme, las bandas uniformes se dividen en [Mín, Intervalo / L -1], [Máx/L, 2 * Intervalo / L -1] y [2* Máx/L, 3 * Intervalo / L -1] a [(L -1) * Intervalo / L, Máx]. En otra realización ejemplar, las bandas de los píxeles restablecidos pueden ser divididas de manera no uniforme.
El número L de las bandas divididas de la sección [0, Máx] de los píxeles restablecidos puede ser un múltiplo de 2, y puede ser 16 o más para cálculo rápido. Asimismo, para cálculo rápido, el número L se puede determinar de tal manera que un número p de bits más significativos de los píxeles restablecidos esté dentro de un índice de 2. Por ejemplo, cuando los bits más significativos del píxel restablecido es 4 bits (p = 4), y una profundidad de bit extendida de los píxeles restablecidos es 12 bits, el número L puede ser 2Ap = 16. En consecuencia, la banda de los píxeles restablecidos de la profundidad de bit extendida se puede dividir tal como se muestra en la siguiente tabla 1.
[Tabla 1]
- n.° de banda
- 0 1 2 16
- Banda de valores de píxel de píxel restablecido
- [0, 255] [256, 511] [512, 767] [3840, 4095]
- Expresión hexadecimal de valor de píxel
- [0x0000, 0x00FF] [0x0100, 0x01FF] [0x0200, 0x02FF] [0x0F00, 0x0FFF]
Debido a que el cálculo de bits se lleva a cabo fácilmente cuando la banda de los valores de píxel se divide sobre la base del número de bits más significativos de los píxeles restablecidos, el determinador de grupos de píxeles 26 puede llevar a cabo eficientemente cálculo para determinar la banda.
El determinador de valores de compensación y de grupos de píxeles 16 y el determinador de grupos de píxeles 26 pueden clasificar píxeles restablecidos en las mismas bandas en un grupo de píxeles de acuerdo con las bandas. Las bandas pueden ser divididas sobre la base de valores mínimo y máximo reales de una señal original o reconstruida.
Un valor promedio de errores entre los píxeles restablecidos incluidos en el grupo de píxeles de acuerdo con las bandas, y los píxeles originales no es 0. En consecuencia, el determinador de valores de compensación y de grupos de píxeles 16 puede determinar un valor de compensación usando el valor promedio de acuerdo con las bandas. Asimismo, el determinador de grupos de píxeles 26 y el compensador de píxeles restablecidos 28 pueden compensar valores de píxel de los píxeles restablecidos en el grupo de píxeles de acuerdo con las bandas, usando los valores de compensación de acuerdo con las bandas.
Como alternativa, el aparato de codificación de vídeo 10 y el aparato de descodificación de vídeo 20 pueden clasificar píxeles restablecidos en grupos de píxeles que incluyan píxeles restablecidos que formen una línea predeterminada.
El determinador de valores de compensación y de grupos de píxeles 16 y el determinador de grupos de píxeles 26 pueden analizar características de imagen de la imagen restablecida, y detectar líneas en una dirección vertical, dirección horizontal, una dirección diagonal, una dirección curva y una dirección de límite de un objeto predeterminado. El determinador de valores de compensación y de grupos de píxeles 16 y el determinador de grupos de píxeles 26 pueden determinar píxeles restablecidos que formen la misma línea que un grupo de píxeles de acuerdo con líneas.
Un valor promedio de errores de valores de píxel entre píxeles restablecidos incluidos en el grupo de píxeles de acuerdo con líneas, y píxeles originales tampoco es 0. El determinador de valores de compensación y de grupos de
5
10
15
20
25
30
35
40
45
50
píxeles 16 puede determinar un valor de compensación usando el valor promedio de acuerdo con líneas. El determinador de grupos de píxeles 26 y el compensador de píxeles restablecidos 28 puede compensar valores de píxel de los píxeles restablecidos en el grupo de píxeles de acuerdo con líneas, mediante el uso del valor de compensación de acuerdo con líneas.
El determinador de valores de compensación y de grupos de píxeles 16 y el determinador de grupos de píxeles 26 pueden determinar el valor de compensación de acuerdo con niveles de valor extremo y / o de borde, de acuerdo con unidades de datos, tales como secuencias de imágenes, tramas o bloques de un vídeo. El transmisor 18 puede codificar y transmitir la información relacionada con el valor de compensación como información de sobrecarga. La precisión del valor de compensación se incrementa al reducirse una unidad de datos para determinar el valor de compensación de acuerdo con niveles de valor extremo y/o de borde, pero la sobrecarga se puede incrementar toda vez que una información adicional para codificar y transmitir la información relacionada con el valor de compensación se puede incrementar.
Asimismo, el extractor 22 puede extraer la información relacionada con el valor de compensación de información de sobrecarga o información de encabezado de segmento y compensar los valores de píxel de los píxeles restablecidos usando el valor de compensación.
Los generadores de imágenes restablecidas 14 y 24 pueden llevar a cabo de forma selectiva un filtrado de lazo adaptativo en datos de imagen descodificados en un dominio espacial. Los generadores de imágenes restablecidas 14 y 24 pueden restablecer una imagen actual al llevar a cabo continuamente un filtrado unidimensional en una dirección horizontal y en una dirección vertical, de acuerdo con el filtrado de lazo adaptativo.
El transmisor 18 del aparato de codificación de vídeo 10 puede codificar y enviar un coeficiente de filtro usado en el filtrado de lazo adaptativo. Asimismo, debido a que un tipo, un número, un tamaño, un bit de codificación, un coeficiente, una dirección de filtrado de cada filtro unidimensional, y si un filtrado y un filtrado por ejecución se llevan a cabo se puede establecer para el filtrado de lazo adaptativo, información acerca de un conjunto de filtros unidimensionales de filtrado de lazo se puede codificar y transmitir.
El generador de imágenes restablecidas 24 puede inducir un coeficiente de filtro de cada filtro unidimensional usando información residual del coeficiente de filtro extraído del extractor 22.
Por ejemplo, un coeficiente de filtro actual de cada filtro unidimensional puede ser inducido al añadir una diferencia entre el coeficiente de filtro actual y un coeficiente de filtro previo al coeficiente de filtro previo. El filtrado unidimensional continuo se puede llevar a cabo en datos desbloqueados usando el coeficiente de filtro inducido de cada filtro unidimensional. El desbloqueo se lleva a cabo para reducir un efecto de bloqueo de datos descodificados, y el filtrado de lazo minimiza un error entre la imagen restablecida y la imagen original.
Para una mejor comprensión, el filtrado de lazo usando el filtrado unidimensional continuo en una dirección horizontal y una dirección vertical se describirá con referencia a las siguientes ecuaciones.
El coeficiente de filtro actual se puede inducir de acuerdo con la siguiente ecuación 7.
[Ecuación 7]
c [i] [j] = adaptive_loop_filter_prev [i] [j] + adaptive_loop_filter [i] [j].
En el presente caso, i indica un índice de un filtro unidimensional y j indica un índice de un coeficiente de filtro de un filtro unidimensional. c [i] [j] indica un coeficiente de filtro actual, adaptive_loop_filter_prev [i] [j] indica un coeficiente de filtro previo, y adaptive_loop_filter [i] [j] indica un componente residual de un coeficiente de filtro transmitido como información de coeficientes de filtro.
En otras palabras, el coeficiente de filtro actual puede ser inducido a partir de una suma del coeficiente de filtro previo y el componente residual. Para inducir un siguiente coeficiente de filtro después de inducir el coeficiente de filtro actual, el coeficiente de filtro actual c [i] [j] es actualizado a adaptive_loop_filter_prev [i] [j].
El filtrado de lazo usando un filtrado unidimensional continuo se puede llevar a cabo de acuerdo con las ecuaciones 8 y 9 en lo sucesivo. En las ecuaciones 8 y 9, i indica un índice en una dirección de un ancho de una imagen actual y j indica un índice en una dirección de alto de la imagen actual.
[Ecuación 8]
qi,j = (pu.4 * c [0] [4] + pi,j-3 * c [0] [3] + pU-2 * c [0] [2] + pU-
1 * c [0] [1] + p¡j * c [0] [0] + j * c [0] [1] + pi,j+2 * c [0] [2] +pi,j+3 * c [0] [3] + pu+4 * c [0] [4]).
En el presente caso, pi,j indica datos desbloqueados de la imagen actual, y qy indica datos filtrados de forma unidimensional en una dirección horizontal con respecto a los datos desbloqueados. Se usan 5 coeficientes de filtro para filtrar simétricamente 9 piezas de datos desbloqueados, usando un coeficiente de filtro c de un filtro simétrico.
5
10
15
20
25
30
35
40
45
50
[Ecuación 9]
fu = (qu.4 * c [1] [4] + qi,j-3 * c [1] [3] + qU-2 * c [1][2] + qU-
1 * c [1][1] + qi,j * c [1] [0] + qu+i * c [1] [1] + qu+2 * c [1] [2] +qu+3 * c [1] [3] + q u+4 * C [1] [4]).
En el presente caso, fy indica datos filtrados de forma unidimensional en una dirección vertical con respecto a los datos filtrados de forma unidimensional qy. Debido a que el coeficiente de filtro c usa un procedimiento de filtrado por ejecución, el filtrado unidimensional se lleva a cabo continuamente en una dirección vertical en los datos filtrados de forma unidimensional en una dirección horizontal.
En el filtro simétrico, un filtro unidimensional es capaz de establecer coeficientes de todos los filtros solo al usar una pequeña cantidad de coeficientes, en comparación con un filtro bidimensional. En consecuencia, bits relacionados con características de filtro de una pluralidad de filtros unidimensionales, los cuales se insertan en un flujo de bits de transmisión, pueden ser relativamente bajos en comparación con un filtro bidimensional.
Asimismo, la capacidad de memoria para almacenar datos temporales durante el filtrado es más pequeña en el filtro unidimensional que en el filtro bidimensional. La emisión de filtrado del filtro bidimensional es notablemente grande en comparación con la del filtrado unidimensional. En el filtrado por ejecución, no es posible llevar a cabo un proceso paralelo de acuerdo con un filtrado múltiple usando el filtro bidimensional, pero es posible llevar a cabo un proceso paralelo usando el filtro unidimensional.
No obstante, el filtrado de lazo no se limita al filtrado unidimensional continuo en direcciones horizontal y vertical. El filtrado de lazo se puede llevar a cabo mientras un número predeterminado de filtros unidimensionales llevan a cabo un filtrado unidimensional, en donde cada filtrado unidimensional se lleve a cabo en una dirección predeterminada.
El aparato de descodificación de vídeo 20 puede recibir información acerca de un conjunto de filtros unidimensionales, aparte de la información acerca del coeficiente de filtro, para de esta manera verificar un tipo, un número, un tamaño, un bit de cuantificación, un coeficiente, una dirección de filtrado de cada filtro unidimensional, y si se están llevando a cabo un filtrado y un filtrado por ejecución. En consecuencia, el generador de imágenes restablecidas 24 puede llevar a cabo un filtrado de lazo al combinar varios filtros unidimensionales.
El filtrado de lazo adaptativo llevado a cabo por los generadores de imágenes restablecidas 14 y 24 se describirá a continuación con referencia a las figuras 4 y 5.
La figura 4 es un diagrama de flujo para describir el filtrado de lazo adaptativo.
El filtrado de lazo se puede llevar a cabo como una pluralidad de filtros unidimensionales continuamente llevando a cabo un filtrado. En la operación 41, datos de imagen descodificados son recibidos. Como alternativa, datos de imagen en los cuales se lleve a cabo un filtrado de desbloqueo después de la descodificación pueden ser recibidos. En la operación 42, se determina si todos de primero a N filtros van a ser usados. Si se determina que el primero a N filtros no van a ser usados, se lleva a cabo la operación 46. Si se determina que el primero a N filtros van a ser usados en la operación 42, se puede llevar a cabo un filtrado unidimensional de acuerdo con un orden de filtrado, por ejemplo, el primer filtro lleva a cabo un filtrado unidimensional en una primera dirección de filtrado en la operación 43 y el segundo filtro lleva a cabo un filtrado unidimensional en una segunda dirección de filtrado en la operación 44, hasta que el N-ésimo filtro lleve a cabo un filtrado unidimensional en una N-ésima dirección de filtrado en la operación 45.
En la operación 46, datos de imagen descodificados, datos de imagen desbloqueados o datos filtrados de forma unidimensional de manera continua se almacenan en una memoria de almacenamiento temporal o se reproducen por un reproductor.
Una dirección de filtrado de un filtro unidimensional se puede determinar en forma adaptativa de acuerdo con características de una imagen local, al analizar las características. Por ejemplo, la dirección de filtrado se puede determinar en forma adaptativa como una dirección de borde de una imagen local para de esta manera conservar un borde de la imagen local.
La figura 5 es un diagrama de flujo para describir el filtrado de lazo adaptativo según otro ejemplo.
Cuando datos de imagen descodificados o datos de imagen desbloqueados se reciben en la operación 51, se detecta un borde para cada píxel de los datos de imagen descodificados o datos de imagen desbloqueados en la operación 52. En la operación 53, se lleva a cabo un filtrado unidimensional de acuerdo con el borde detectado, y datos filtrados se almacenan o reproducen por un reproductor en la operación 54.
Información acerca de un conjunto de filtros unidimensionales que incluyen una dirección de filtrado determinada de acuerdo con el borde se codifique y proporciona a un descodificador mientras se codifica un vídeo. Información acerca de un filtro de lazo es leída de datos recibidos mientras se descodifica un vídeo, y un filtrado unidimensional de acuerdo con una dirección de filtrado, tal como una dirección de borde, se puede llevar a cabo por un filtro unidimensional predeterminado.
5
10
15
20
25
30
35
40
45
50
55
Un post-proceso que constituye el filtrado de lazo puede reducir la distorsión entre una imagen original y una imagen restablecida, que se generen debido a una compresión de pérdida compleja. Asimismo, una imagen filtrada de lazo se puede usar como una imagen de referencia para de esta manera mejorar la calidad de una imagen obtenida al llevar a cabo predicción o compensación de movimiento.
En consecuencia, los generadores de imágenes restablecidas 14 y 24 pueden llevar a cabo de forma selectiva un filtrado de lazo adaptativo considerando características de una imagen, un ambiente de sistema, o necesidades de usuario al combinar filtros unidimensionales que tengan diferentes características. Debido a que los filtros unidimensionales continuos se usan en lugar de un filtro bidimensional para de esta manera llevar a cabo el filtrado de lazo adaptativo, el filtrado de lazo adaptativo puede ser adecuado en términos de memoria, producción, cantidad de bits de transmisión, etc., en comparación con el filtro bidimensional. Cuando los generadores de imágenes restablecidas 14 y 24 llevan a cabo un filtrado de lazo adaptativo, el transmisor 18 y el extractor 22 transmite y reciben información obtenida al codificar un componente residual de un coeficiente de filtro codificado, y de esta manera una cantidad de información usada para el filtrado de lazo adaptativo puede ser reducida.
La figura 6 es un diagrama de flujo que ilustra un procedimiento para codificar un vídeo para compensar un valor de píxel.
En la operación 62, se codifica una secuencia de imágenes de entrada. En la operación 64, los datos de imagen codificados son descodificados, y una imagen restablecida se genera al llevar a cabo un filtrado de lazo en los datos de imagen descodificados. La imagen restablecida puede ser generada al llevar a cabo un filtrado de lazo adaptativo, en donde por lo menos una operación de filtrado unidimensional se lleve a cabo continuamente en los datos de imagen descodificados o datos de imagen desbloqueados.
En la operación 66, un valor de compensación acerca de un error entre cada píxel restablecido de un grupo predeterminado en la imagen restablecida, y una imagen original correspondiente, y un grupo de píxeles que incluye píxeles restablecidos a compensar son determinados. El grupo de píxeles que incluye los píxeles restablecidos a compensar se puede determinar de acuerdo con niveles de valor extremo y / o de borde de valores de píxel, bandas de valores de píxel o líneas. El valor de compensación de acuerdo con grupos de píxeles se puede determinar sobre la base de un valor promedio de los errores.
En la operación 68, el valor de compensación es codificado, y se transmite un flujo de bits del valor de compensación codificado y la secuencia de imágenes de entrada codificada. Cuando el valor de compensación se determina de acuerdo con grupos de píxeles más detallados, los valores de píxel se pueden compensar en forma precisa, pero la sobrecarga se puede incrementar.
La figura 7 es un diagrama de flujo que ilustra un procedimiento para descodificar un vídeo para compensar un valor de píxel, de acuerdo con una realización a modo de ejemplo.
En la operación 72, un flujo de bits acerca de una imagen codificada es recibido y analizado, y datos de imagen codificados y un valor de compensación son extraídos del flujo de bits.
En la operación 74, los datos de imagen codificados son descodificados, y una imagen restablecida se genera al llevar a cabo un filtrado de lazo en los datos de imagen descodificados. La imagen restablecida se puede generar al llevar a cabo un filtrado de lazo adaptativo, en donde por lo menos una operación de filtrado unidimensional se lleva a cabo continuamente en los datos de imagen descodificados o datos de imagen desbloqueados.
En la operación 76, un grupo de píxeles que incluye píxeles restablecidos a compensar usando el valor de compensación se determina de entre píxeles restablecidos en la imagen restablecida. El grupo de píxeles que incluye los píxeles restablecidos a compensar usando el valor de compensación se puede determinar de acuerdo con niveles de valor extremo y / o de borde de valores de píxel de los píxeles restablecidos, bandas de los valores de píxel, o líneas, de acuerdo con un procedimiento para determinar un grupo de píxeles, sobre la base de información relacionada con el valor de compensación. En la operación 78, la imagen restablecida que tiene un error compensado puede ser enviada mediante la compensación de un error entre píxeles restablecidos del grupo de píxeles determinado y píxeles originales usando el valor de compensación.
De acuerdo con el procedimiento para codificar un vídeo y el procedimiento para descodificar un vídeo, la calidad de la imagen restablecida puede ser mejorada mediante la compensación de un error sistemático de la imagen restablecida, y la cantidad de bits de transmisión de información adicional para mejorar la calidad de la imagen restablecida se puede reducir debido a que solo la información acerca del valor de compensación de acuerdo con grupos de píxeles es codificada y transmitida, e información acerca de ubicaciones de píxeles restablecidos a compensar no es transmitida.
En lo sucesivo en el presente documento, se describirán con referencia a las figuras 8 a 22 la codificación y descodificación de un vídeo para compensar un valor de píxel después de llevar a cabo un filtrado de lazo sobre la base de unidades de codificación que tienen una estructura de árbol.
La figura 8 es un diagrama de bloques de un aparato de codificación de vídeo 80 para codificar un vídeo para
5
10
15
20
25
30
35
40
45
50
55
compensar un valor de píxel después de llevar a cabo un filtrado de lazo sobre la base de unidades de codificación que tienen una estructura de árbol.
El aparato de codificación de vídeo 80 incluye un codificador 81, un generador de imágenes restablecidas 84, un determinador de valores de compensación y de grupos de píxeles 87 y un transmisor 88. El codificador 81 incluye un divisor de unidades de codificación máximas 82 y un determinador de profundidad codificada y de modo de codificación 83. El generador de imágenes restablecidas 84 incluye un descodificador 85 y un realizador de filtrado de lazo 86.
El codificador 81 codifica una secuencia de imágenes de entrada. El codificador 81 puede codificar la secuencia de imágenes de entrada sobre la base de unidades de codificación que tengan una estructura de árbol. El divisor de unidades de codificación máximas 82 puede dividir una imagen actual sobre la base de una unidad de codificación máxima para la imagen actual de una imagen. La unidad de codificación máxima según una realización ejemplar puede ser una unidad de datos que tenga un tamaño de 32 x 32, 64 x 64, 128 x 128, 256 x 256, etc., en donde una forma de la unidad de datos sea un cuadrado que tenga un ancho y longitud en cuadrados de 2.
Si la imagen actual es más grande que la unidad de codificación máxima, datos de imagen de la imagen actual pueden ser divididos en la por lo menos una unidad de codificación máxima. Los datos de imagen pueden ser enviados al determinador de profundidad codificada y de modo de codificación 83 de acuerdo con la por lo menos una unidad de codificación máxima.
Una unidad de codificación según una realización ejemplar se puede caracterizar por un tamaño máximo y una profundidad. La profundidad indica un número de veces en que la unidad de codificación se divide espacialmente a partir de la unidad de codificación máxima, y al aumentar la profundidad, las unidades de codificación más profundas de acuerdo con las profundidades pueden ser divididas de la unidad de codificación máxima a una unidad de codificación mínima. Una profundidad de la unidad de codificación máxima es una profundidad más superior y una profundidad de la unidad de codificación mínima es una profundidad más inferior. Debido a que un tamaño de una unidad de codificación que se corresponde con cada profundidad disminuye al hacerse más profunda la unidad de codificación máxima, una unidad de codificación que corresponda a una profundidad superior puede incluir una pluralidad de unidades de codificación que correspondan a profundidades más bajas.
Tal como se describió en lo que antecede, los datos de imagen de la imagen actual se dividen en las unidades de codificación máximas de acuerdo con un tamaño máximo de la unidad de codificación, y cada una de las unidades de codificación máximas puede incluir unidades de codificación más profundas que se dividan de acuerdo con unas profundidades. Debido a que la unidad de codificación máxima según una realización ejemplar se divide de acuerdo con unas profundidades, los datos de imagen de un dominio espacial incluido en la unidad de codificación máxima pueden ser jerárquicamente clasificados de acuerdo con unas profundidades.
Una profundidad máxima y un tamaño máximo de una unidad de codificación, que limitan el número total de veces que una altura y un ancho de la unidad de codificación máxima se dividen jerárquicamente, puede ser predeterminada.
El determinador de profundidad codificada y de modo de codificación 83 codifica por lo menos una región de división obtenida al dividir una región de la unidad de codificación máxima de acuerdo con unas profundidades, y determina una profundidad para enviar datos de imagen finalmente codificados de acuerdo con la por lo menos una región dividida. En otras palabras, el determinador de profundidad codificada y de modo de codificación 83 determina una profundidad codificada al codificar los datos de imagen en las unidades de codificación más profundas de acuerdo con unas profundidades, de acuerdo con la unidad de codificación máxima de la imagen actual, y seleccionar una profundidad que tenga el mínimo error de codificación. De este modo, los datos de imágenes codificadas de la unidad de codificación que se corresponden con la profundidad codificada determinada son enviados. Asimismo, las unidades de codificación que se corresponden con la profundidad codificada pueden ser codificadas como unidades de codificación codificadas. La profundidad codificada determinada y los datos de imagen codificados de acuerdo con la profundidad codificada determinada son enviados al transmisor 88.
Los datos de imagen en la unidad de codificación máxima son codificados sobre la base de las unidades de codificación más profundas que se corresponden con por lo menos una profundidad igual a o debajo de la profundidad máxima, y los resultados de codificar los datos de imagen se comparan sobre la base de cada una de las unidades de codificación más profundas. Una profundidad que tiene el mínimo error de codificación se puede seleccionar después de comparar errores de codificación de las unidades de codificación más profundas. Por lo menos una profundidad codificada se puede seleccionar para cada unidad de codificación máxima.
El tamaño de la unidad de codificación máxima se divide al ser dividida jerárquicamente una unidad de codificación de acuerdo con unas profundidades, y al incrementarse el número de unidades de codificación. Asimismo, incluso si unidades de codificación se corresponden con la misma profundidad en una unidad de codificación máxima, se determina si se divide cada una de las unidades de codificación que se corresponden con la misma profundidad hasta una profundidad más baja al medir un error de codificación de los datos de imagen de cada una de las unidades de codificación, por separado. En consecuencia, incluso cuando datos de imagen son incluidos en una
5
10
15
20
25
30
35
40
45
50
55
unidad de codificación máxima, los datos de imagen se dividen en regiones de acuerdo con las profundidades y los errores de codificación pueden diferir de acuerdo con regiones en una de las unidades de codificación máximas, y de esta manera las profundidades codificadas pueden diferir de acuerdo con regiones en los datos de imagen. De este modo, una o más profundidades codificadas se pueden determinar en una unidad de codificación máxima, y los datos de imagen de la unidad de codificación máxima se pueden dividir de acuerdo con unidades de codificación de por lo menos una profundidad codificada.
En consecuencia, el determinador de profundidad codificada y de modo de codificación 83 puede determinar unidades de codificación que tengan una estructura de árbol incluida en la unidad de codificación máxima. Las 'unidades de codificación que tienen una estructura de árbol' pueden incluir por ejemplo unidades de codificación que se corresponden con una profundidad determinada como la profundidad codificada, de entre todas las unidades de codificación más profundas incluidas en la unidad de codificación máxima. Una unidad de codificación de una profundidad codificada se puede determinar jerárquicamente de acuerdo con unas profundidades en la misma región de la unidad de codificación máxima, y se puede determinar independientemente en regiones diferentes. De manera similar, una profundidad codificada en una región actual se puede determinar independientemente a partir de una profundidad codificada en otra región.
Una profundidad máxima es un índice relacionado con el número de veces de división a partir de una unidad de codificación máxima hasta una unidad de codificación mínima. Una profundidad máxima según una realización ejemplar puede indicar el número total de veces de división a partir de la unidad de codificación máxima hasta la unidad de codificación mínima. Por ejemplo, cuando una profundidad de la unidad de codificación máxima es 0, una profundidad de una unidad de codificación, en la cual la unidad de codificación máxima se divide una vez, se puede establecer a 1, y una profundidad de una unidad de codificación, en la cual la unidad de codificación máxima se divida dos veces, se puede establecer a 2. En el presente caso, si la unidad de codificación mínima es una unidad de codificación en la cual la unidad de codificación máxima se divide cuatro veces, cinco niveles de profundidad de profundidades 0, 1, 2, 3 y 4 existen, y de esta manera la profundidad máxima se puede ajustar a 4.
La codificación de predicción y transformación se pueden llevar a cabo de acuerdo con la unidad de codificación máxima. La codificación de predicción y la transformación también se llevan a cabo sobre la base de las unidades de codificación más profundas de acuerdo con una profundidad igual a o profundidades menores que la profundidad máxima, de acuerdo con la unidad de codificación máxima. La transformación se puede llevar a cabo de acuerdo con un procedimiento de transformación ortogonal o transformación de enteros.
Debido a que el número de unidades de codificación más profundas se incrementa siempre que la unidad de codificación máxima se divide de acuerdo con unas profundidades, la codificación incluyendo codificación por predicción y transformación se llevan a cabo en todas las unidades de codificación más profundas generadas al aumentar la profundidad. Por razones de conveniencia de descripción, la codificación por predicción y la transformación se describirán a continuación sobre la base de una unidad de codificación de una profundidad actual, en una unidad de codificación máxima.
El aparato de codificación de vídeo 80 puede seleccionar de manera variada un tamaño o forma de una unidad de datos para codificar los datos de imagen. Para codificar los datos de imagen, operaciones, tales como codificación por predicción, transformación y codificación por entropía, se llevan a cabo, y en este momento, la misma unidad de datos se puede usar para todas las operaciones o diferentes unidades de datos se pueden usar para cada operación.
Por ejemplo, el aparato de codificación de vídeo 80 puede seleccionar no solo una unidad de codificación para codificar los datos de imagen, sino también una unidad de datos que sea diferente de la unidad de codificación para de esta manera llevar a cabo la codificación por predicción en los datos de imagen en la unidad de codificación.
Para llevar a cabo una codificación por predicción en la unidad de codificación máxima, la codificación por predicción se puede llevar a cabo sobre la base de una unidad de codificación que corresponda a una profundidad codificada, es decir, sobre la base de una unidad de codificación que ya no se divida más en unidades de codificación que correspondan a una profundidad más baja. En lo sucesivo en el presente documento, la unidad de codificación que ya no se divide más y se vuelve una unidad de base para codificación por predicción será denominada una 'unidad de predicción'. Una división obtenida al dividir la unidad de predicción puede incluir una unidad de predicción o una unidad de datos obtenida al dividir por lo menos una de una altura y un ancho de la unidad de predicción.
Por ejemplo, cuando una unidad de codificación de 2N x 2N (en donde N es un entero positivo) ya no se divide más y se vuelve una unidad de predicción de 2N x 2N, un tamaño de una división puede ser 2N x 2N, 2N x N, N x 2N o N x N. Ejemplos de un tipo de división incluyen divisiones simétricas que se obtienen al dividir simétricamente una altura o un ancho de la unidad de predicción, divisiones obtenidas al dividir asimétricamente la altura o el ancho de la unidad de predicción, tal como 1 : n o n : 1, divisiones que se obtienen al dividir geométricamente la unidad de predicción, y divisiones que tienen formas arbitrarias.
Un modo de predicción de la unidad de predicción puede ser por lo menos uno de un modo intra, un modo inter y un modo de salto. Por ejemplo, el modo intra o el modo inter se pueden llevar a cabo en la división de 2N x 2N, 2N x N,
5
10
15
20
25
30
35
40
45
50
55
N x 2N o N x N. Asimismo, el modo de salto se puede llevar a cabo solo en la división de 2N x 2N. La codificación se lleva a cabo independientemente en una unidad de predicción en una unidad de codificación, seleccionando de esta manera un modo de predicción que tenga un mínimo error de codificación.
El aparato de codificación de vídeo 80 también puede llevar a cabo la transformación en los datos de imagen en una unidad de codificación no solo sobre la base de la unidad de codificación para codificar los datos de imagen, sino también sobre la base de una unidad de datos que sea diferente de la unidad de codificación.
Para llevar a cabo la transformación en la unidad de codificación, la transformación se puede llevar a cabo en una unidad de datos que tenga un tamaño más pequeño que o igual a la unidad de codificación. Por ejemplo, la unidad de datos para la transformación puede incluir una unidad de datos para un modo intra y una unidad de datos para un modo inter.
Una unidad de datos usada como una base de la transformación será denominada a continuación una 'unidad de transformación'. Una profundidad de transformación que indique el número de veces de división al alcanzar la unidad de transformación al dividir la altura y ancho de la unidad de codificación también se puede establecer en la unidad de transformación. Por ejemplo, en una unidad de codificación actual de 2Nx2N, la unidad de transformación puede ser 0 cuando el tamaño de una unidad de transformación también sea 2N x 2N, puede ser 1 cuando cada una de la altura y ancho de la unidad de codificación actual se divida en dos partes iguales, dividida totalmente en 4A1 unidades de transformación, y el tamaño de la unidad de transformación sea entonces N x N, y puede ser 2 cuando cada una de la altura y ancho de la unidad de codificación actual se divida en cuatro partes iguales, divididas totalmente en 4A2 unidades de transformación y el tamaño de la unidad de transformación sea entonces N / 2 x N / 2. Por ejemplo, la unidad de transformación se puede establecer de acuerdo con una estructura de árbol jerárquica, en la cual una unidad de transformación de una profundidad de transformación superior se divida en cuatro unidades de transformación de una profundidad de transformación más baja de acuerdo con las características jerárquicas de una profundidad de transformación.
De manera similar a la unidad de codificación, la unidad de transformación en la unidad de codificación puede ser dividida recursivamente en regiones de tamaño más pequeño, de tal forma que la unidad de transformación se pueda determinar independientemente en unidades de regiones. De este modo, datos residuales en la unidad de codificación pueden ser divididos de acuerdo con la transformación que tenga la estructura de árbol de acuerdo con unas profundidades de transformación.
La información de codificación de acuerdo con unidades de codificación que se corresponden con una profundidad codificada usa no solo información acerca de la profundidad codificada, sino también información relacionada con codificación de predicción y transformación. En consecuencia, el determinador de profundidad codificada y de modo de codificación 83 no solo determina una profundidad codificada que tiene un mínimo error de codificación, sino también determina un tipo de división en una unidad de predicción, un modo de predicción de acuerdo con unidades de predicción y un tamaño de una unidad de transformación para transformación.
El determinador de profundidad codificada y de modo de codificación 83 puede medir un error de codificación de unidades de codificación más profundas de acuerdo con unas profundidades al usar Optimización de Velocidad- Distorsión sobre la base de multiplicadores de Lagrange.
El generador de imágenes restablecidas 84 descodifica datos de imagen codificados y genera una imagen restablecida al llevar a cabo un filtrado de lazo en los datos de imagen descodificados. El descodificador 85 incluido en el generador de imágenes restablecidas 84 descodifica datos de imagen sobre la base de unidades de codificación que tienen una estructura de árbol, que son codificadas por el descodificador 81. El descodificador 85 puede descodificar los datos de imagen codificados y datos de imagen de salida de un dominio espacial de acuerdo con unidades de codificación máximas, sobre la base de la profundidad codificada y el modo de codificación determinado por el determinador de profundidad descodificada y modo de codificación 83.
El realizador de filtrado de lazo 86 incluido en el generador de imágenes restablecidas 84 puede llevar a cabo un filtrado de lazo en los datos de imagen descodificados. El mismo filtrado de lazo adaptativo llevado a cabo de forma selectiva por el generador de imágenes restablecidas 14 se puede llevar a cabo por el realizador de filtrado de lazo 86. En consecuencia, el realizador de filtrado de lazo 86 puede llevar a cabo continuamente un filtrado unidimensional en una dirección horizontal y un filtrado unidimensional en una dirección vertical para restablecer la imagen actual. El realizador de filtrado de lazo 86 puede enviar la imagen restablecida al determinador de valores de compensación y de grupos de píxeles 87.
El determinador de valores de compensación y de grupos de píxeles 87 determina un valor de compensación acerca de un error entre cada uno de los píxeles restablecidos de un grupo predeterminado en la imagen restablecida, y un píxel original correspondiente, y un grupo de píxeles que incluye píxeles restablecidos que tienen valores de píxel a compensar. El determinador de valores de compensación y de grupos de píxeles 87 es un elemento técnico que se corresponde con el determinador de valores de compensación y de grupos de píxeles 16.
En consecuencia, el determinador de valores de compensación y de grupos de píxeles 87 puede determinar un nivel de valor extremo y/o de borde de píxeles restablecidos adyacentes de la imagen restablecida de acuerdo con
5
10
15
20
25
30
35
40
45
50
55
píxeles restablecidos, y clasificar los píxeles restablecidos adyacentes en grupos de píxeles de acuerdo con niveles de valor extremo y/o de borde. Como alternativa, el determinador de valores de compensación y de grupos de píxeles 87 puede clasificar los píxeles restablecidos en grupos de píxeles de acuerdo con las bandas sobre la base de un valor de píxel. Como alternativa, el determinador de valores de compensación y de grupos de píxeles 87 puede detectar líneas en una dirección predeterminada al analizar la imagen restablecida, y clasificar los píxeles restablecidos en grupos de píxeles de acuerdo con líneas, que incluyan los píxeles restablecidos en la misma línea.
El determinador de valores de compensación y de grupos de píxeles 87 puede determinar individualmente un valor de compensación para cada grupo de píxeles usando un valor promedio de los errores entre el píxel restablecido y el píxel original correspondiente. El determinador de valores de compensación y de grupos de píxeles 87 puede determinar un píxel restablecido a compensar de acuerdo con por lo menos una unidad de datos de entre una secuencia de imágenes, un segmento, una trama y una unidad de codificación de un vídeo de entrada, y determinar un valor de compensación que corresponda al píxel restablecido determinado a compensar. Información acerca del valor de compensación y el grupo de píxeles determinado por el determinador de valores de compensación y de grupos de píxeles 87 puede ser enviada al transmisor 88.
El transmisor 88 envía los datos de imagen de la unidad de codificación máxima, que son codificados sobre la base de la por lo menos una profundidad codificada determinada por el determinador de profundidad codificada y de modo de codificación 83, e información acerca del modo de codificación de acuerdo con la profundidad codificada, en flujos de bits. Los datos de imagen codificados por el codificador 81 pueden ser convertidos en un formato de flujo de bits por medio de codificación por entropía, y luego insertados en un flujo de bits para su transmisión.
Como alternativa, el transmisor 88 puede codificar e insertar el valor de compensación determinado por el determinador de valores de compensación y de grupos de píxeles 86 en el flujo de bits para su transmisión. Como alternativa, el transmisor 88 puede recibir información adicional acerca de un procedimiento para determinar un grupo de píxeles del determinador de valores de compensación y de grupos de píxeles 87, y codificar e insertar la información adicional en un flujo de bits.
Los datos de imagen codificados pueden ser obtenidos al codificar datos residuales de una imagen.
La información acerca del modo de codificación de acuerdo con la profundidad codificada puede incluir información acerca de la profundidad codificada, acerca del tipo de división en la unidad de predicción, el modo de predicción y el tamaño de la unidad de transformación.
La información acerca de la profundidad codificada se puede definir usando información de división de acuerdo con unas profundidades, que indica si se lleva a cabo la codificación en unidades de codificación de una profundidad más baja en lugar de una profundidad actual. Si la profundidad actual de la unidad de codificación actual es la profundidad codificada, datos de imagen en la unidad de codificación actual son codificados y enviados, y de esta manera la información de división se puede definir para no dividir la unidad de codificación actual en una profundidad más baja. Como alternativa, si la profundidad actual de la unidad de codificación actual no es la profundidad codificada, la codificación se lleva a cabo en la unidad de codificación de la profundidad más baja, y de esta manera la información de división se puede definir para dividir la unidad de codificación actual para obtener las unidades de codificación de la profundidad más baja.
Si la profundidad actual no es la profundidad codificada, la codificación se lleva a cabo en la unidad de codificación que es dividida en la unidad de codificación de la profundidad más baja. Debido a que por lo menos una unidad de codificación de la profundidad más baja existe en una de las unidades de codificación de la profundidad actual, la codificación se lleva a cabo repetidamente en cada unidad de codificación de la profundidad más baja, y de esta manera la codificación se puede llevar a cabo recursivamente para las unidades de codificación que tengan la misma profundidad.
Debido a que las unidades de codificación que tienen una estructura de árbol se determinan para una unidad de codificación máxima, e información acerca de por lo menos un modo de codificación se determina para una unidad de codificación de una profundidad codificada, información acerca de por lo menos un modo de codificación se puede determinar para una unidad de codificación máxima. Asimismo, una profundidad codificada de los datos de imagen de la unidad de codificación máxima puede ser diferente de acuerdo con ubicaciones toda vez que los datos de imagen se dividen jerárquicamente de acuerdo con unas profundidades, y de esta manera información acerca de la profundidad codificada y el modo de codificación se puede establecer para los datos de imagen.
En consecuencia, el transmisor 88 puede asignar información de codificación acerca de una profundidad codificada correspondiente y un modo de codificación a por lo menos una de la unidad de codificación, la unidad de predicción y una unidad mínima incluida en la unidad de codificación máxima.
La unidad mínima es, por ejemplo, una unidad de datos rectangular obtenida al dividir la unidad de codificación mínima que constituye la profundidad más baja entre 4. Como alternativa, la unidad mínima puede ser una unidad de datos rectangular máxima que pueda ser incluida en todas las unidades de codificación, las unidades de predicción, las unidades de división y las unidades de transformación incluidas en la unidad de codificación máxima.
5
10
15
20
25
30
35
40
45
50
55
Por ejemplo, la información de codificación enviada a través del transmisor 88 se puede clasificar en información de codificación de acuerdo con unidades de codificación, e información de codificación de acuerdo con unidades de predicción. La información de codificación de acuerdo con las unidades de codificación puede incluir la información acerca del modo de predicción y acerca del tamaño de las divisiones. La información de codificación de acuerdo con las unidades de predicción puede incluir información acerca de una dirección estimada de un modo inter, acerca de un índice de imágenes de referencia del modo inter, acerca de un vector de movimiento, acerca de un componente de crominancia de un modo intra y acerca de un procedimiento de interpolación del modo intra. Asimismo, información acerca de un tamaño máximo de la unidad de codificación definida de acuerdo con imágenes, segmentos o GOP, e información acerca de una profundidad máxima se puede insertar en un Conjunto de Parámetros de Secuencia (SPS, Sequence Parameter Set) o un encabezado de un flujo de bits.
El transmisor 88 puede codificar y enviar un coeficiente de filtro usado en el filtrado de lazo adaptativo. Asimismo, debido a que un tipo, un número, un tamaño, un bit de cuantificación, un coeficiente, una dirección de filtrado de cada filtro unidimensional, y si un filtrado y un filtrado por ejecución se llevan a cabo se puede establecer para el filtrado de lazo adaptativo, información acerca de un conjunto de filtros unidimensionales de filtrado de lazo puede ser codificada y transmitida.
En el aparato de codificación de vídeo 80, la unidad de codificación más profunda puede ser una unidad de codificación obtenida al dividir una altura o un ancho de una unidad de codificación de una profundidad superior, que se encuentra una capa por encima, entre dos. En otras palabras, cuando el tamaño de la unidad de codificación de la profundidad actual es 2Nx2N, el tamaño de la unidad de codificación de la profundidad más baja es N x N. Asimismo, la unidad de codificación de la profundidad actual que tiene el tamaño de 2N x 2N puede incluir máximo 4 de la unidad de codificación de la profundidad más baja.
En consecuencia, el aparato de codificación de vídeo 80 puede formar las unidades de codificación que tengan la estructura de árbol al determinar unidades de codificación que tengan una forma óptima y un tamaño óptimo para cada unidad de codificación máxima, sobre la base del tamaño de la unidad de codificación máxima y la profundidad máxima determinada considerando características de la imagen actual. Asimismo, debido a que la codificación se puede llevar a cabo en cada unidad de codificación máxima usando cualquiera de varios modos de predicción y transformaciones, un modo de codificación óptimo se puede determinar considerando características de la unidad de codificación de varios tamaños de imagen.
De este modo, si una imagen que tiene alta resolución o una gran cantidad de datos es codificada en un macrobloque de la técnica relacionada, un número de macrobloques por imagen se incrementa excesivamente. En consecuencia, un número de piezas de información comprimida generada para cada macrobloque se incrementa, y de esta manera es difícil transmitir la información comprimida y la eficiencia de compresión de datos se disminuye. No obstante, al usar el aparato de codificación de vídeo 80 según una realización ejemplar, la eficiencia de compresión de imágenes se puede incrementar toda vez que una unidad de codificación se ajusta mientras se consideran características de una imagen en tanto se incrementa un tamaño máximo de una unidad de codificación mientras se considera un tamaño de la imagen.
Asimismo, la cantidad de bits de transmisión de información adicional se puede reducir toda vez que una información acerca de un valor de compensación para compensar un valor de píxel entre una imagen restablecida y una imagen original, que se requiere para mejorar la calidad de la imagen restablecida por un descodificador, se codifica y se transmite sin información acerca de una ubicación de píxel.
La figura 9 es un diagrama de bloques de un aparato de descodificación de vídeo 90 para compensar un valor- de píxel después de llevar a cabo un filtrado de lazo sobre la base de unidades de codificación que tienen una estructura de árbol.
El aparato de descodificación de vídeo 90 incluye un extractor 91, un generador de imágenes restablecidas 94, un determinador de grupos de píxeles 97 y un compensador de píxeles restablecidos 98. El extractor 91 incluye un receptor 92 y un extractor de datos de imagen, de información de modo de codificación, de información de coeficientes de filtro de lazo y de información de valores de compensación (que se denomina, en lo sucesivo en el presente documento, extractor de información) 93. El generador de imágenes restablecidas 94 incluye un descodificador 95 y un realizador de filtrado de lazo 96.
Las definiciones de términos tales como una unidad de codificación, una profundidad, una unidad de predicción, una unidad de transformación y varios modos de codificación para varios procesos usados para describir el aparato de descodificación de vídeo 90 son idénticas a las descritas con referencia al aparato de codificación de vídeo 80 de la figura 8.
El extractor 91 recibe y analiza un flujo de bits de una imagen codificada, y extrae datos de imagen codificados y un valor de compensación del flujo de bits. El receptor 92 del extractor 91 recibe y analiza el flujo de bits de la imagen codificada. El extractor de información extrae los datos de imagen de acuerdo con unidades de codificación máximas del flujo de bits analizado, y envía los datos de imagen extraídos al descodificador 95. El extractor de información 93 puede extraer información acerca de un tamaño máximo de una unidad de codificación de una imagen actual, de un
5
10
15
20
25
30
35
40
45
50
55
encabezado acerca de la imagen actual.
Asimismo, el extractor de información 93 extrae información acerca de una profundidad codificada y un modo de codificación para las unidades de codificación que tienen una estructura de árbol de acuerdo con cada unidad de codificación máxima, del flujo de bits analizado. La información extraída acerca de la profundidad codificada y el modo de codificación es enviada al descodificador 95. En otras palabras, los datos de imagen en una cadena de bits se dividen en la unidad de codificación máxima de tal forma que el descodificador 95 descodifique lo datos de imagen para cada unidad de codificación máxima.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con la unidad de codificación máxima se puede establecer para información acerca de por lo menos una unidad de codificación que corresponda a la profundidad codificada, e información acerca de un modo de codificación puede incluir información acerca de un tipo de división de una unidad de codificación correspondiente que corresponda a la profundidad codificada, acerca de un modo de predicción, y un tamaño de una unidad de transformación.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con cada unidad de codificación máxima extraída por el extractor de información 93 es información acerca de una profundidad codificada y un modo de codificación determinado para generar un error de codificación mínimo cuando un codificador, tal como el aparato de codificación de vídeo 80, lleve a cabo repetidamente codificación para cada unidad de codificación más profunda de acuerdo con unas profundidades de acuerdo con cada unidad de codificación máxima. En consecuencia, el aparato de descodificación de vídeo 90 puede restablecer una imagen al descodificar los datos de imagen de acuerdo con una profundidad codificada y un modo de codificación que genere el error de codificación mínimo.
Debido a que la información de codificación acerca de la profundidad codificada y el modo de codificación se puede asignar a una unidad de datos predeterminada de entre una unidad de codificación correspondiente, una unidad de predicción y una unidad mínima, el extractor de información 93 puede extraer la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de datos predeterminadas. Las unidades de datos predeterminadas a las cuales se asigna la misma información acerca de la profundidad codificada y el modo de codificación pueden ser inferidas como unidades de datos incluidas en la misma unidad de codificación máxima.
El descodificador 95 restablece la imagen actual al descodificar los datos de imagen en cada unidad de codificación máxima sobre la base de la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de codificación máximas. En otras palabras, el descodificador 95 puede descodificar los datos de imagen codificados sobre la base de la información extraída acerca del tipo de división, el modo de predicción y la unidad de transformación para cada unidad de codificación de entre las unidades de codificación que tengan la estructura de árbol incluidas en cada unidad de codificación máxima. Un proceso de descodificación puede incluir una predicción que incluya intra predicción y compensación de movimiento, y una transformación inversa. La transformación inversa se puede llevar a cabo de acuerdo con un procedimiento de transformación ortogonal inversa o transformación entera inversa.
Asimismo, el descodificador 95 puede llevar a cabo transformación inversa de acuerdo con cada unidad de transformación en la unidad de codificación al leer las unidades de transformación que tengan una estructura de árbol, sobre la base de la información acerca del tamaño de la unidad de transformación de la unidad de codificación de acuerdo con unas profundidades codificadas, para de esta manera llevar a cabo la transformación inversa de acuerdo con unidades de codificación máximas.
El descodificador 95 puede determinar por lo menos una profundidad codificada de una unidad de codificación máxima actual usando información de división de acuerdo con unas profundidades. Si la información de división indica que datos de imagen ya no son divididos en la profundidad actual, la profundidad actual es una profundidad codificada. En consecuencia, el descodificador 95 puede descodificar datos codificados de por lo menos una unidad de codificación que corresponda a cada una de la profundidad codificada en la unidad de codificación máxima actual usando la información acerca del tipo de división de la unidad de predicción, el modo de predicción y el tamaño de la unidad de transformación para cada unidad de codificación que corresponda a la profundidad codificada, y enviar los datos de imagen de la unidad de codificación máxima actual.
En otras palabras, las unidades de datos que contengan la información de codificación que incluya la misma información de división se pueden acumular al observar el conjunto de información de codificación asignado para la unidad de datos predeterminada de entre la unidad de codificación, la unidad de predicción y la unidad mínima, y las unidades de datos acumuladas se pueden considerar como una unidad de datos que será descodificada por el descodificador 95 en el mismo modo de codificación.
Cuando la información acerca del coeficiente de filtro para el filtrado de lazo adaptativo se inserta en el flujo de bits, el extractor de información 93 puede extraer la información acerca del coeficiente de filtro del flujo de bits. El realizador de filtrado de lazo 96 puede recibir la información acerca del coeficiente de filtro extraída por el extractor de información 93, y generar la imagen restablecida al llevar a cabo un filtrado de lazo en los datos de imagen
5
10
15
20
25
30
35
40
45
50
55
descodificados por el descodificador 95.
El mismo elemento técnico del generador de imágenes restablecidas 24 puede ser aplicado al realizador de filtrado de lazo 96. En consecuencia, el realizador de filtrado de lazo 96 puede llevar a cabo de forma selectiva un filtrado de desbloqueo y filtrado de lazo adaptativo en los datos de imagen descodificados. El filtrado de lazo adaptativo se puede llevar a cabo usando una pluralidad continua de filtros unidimensionales.
El generador de imágenes restablecidas 94 puede inducir un coeficiente de filtro de cada filtro unidimensional usando información residual del coeficiente de filtro extraída del extractor de información 93. Por ejemplo, un coeficiente de filtro actual de cada filtro unidimensional se puede inducir al añadir una diferencia entre el coeficiente de filtro actual y un coeficiente de filtro previo al coeficiente de filtro previo. El filtrado unidimensional continuo se puede llevar a cabo en datos desbloqueados usando el coeficiente de filtro inducido de cada filtro unidimensional. El desbloqueo se lleva a cabo para reducir un efecto de bloqueo d datos descodificados, y el filtrado de lazo minimiza un error entre la imagen restablecida y la imagen original.
El extractor de información 93 extrae datos de imagen codificados e información relacionada con un valor de compensación del flujo de bits. La información relacionada con el valor de compensación puede incluir información acerca del valor de compensación. Como alternativa, si la información relacionada con el valor de compensación incluye información acerca de un procedimiento para determinar un grupo de píxeles a compensar usando el valor de compensación, el extractor de información 93 puede extraer el valor de compensación y la información acerca del procedimiento para determinar el grupo de píxeles a compensar del flujo de bits. El extractor de información 93 puede extraer el valor de compensación o la información relacionada con el valor de compensación de acuerdo con por lo menos una unidad de datos de entre una secuencia de imágenes, un segmento, una trama y una unidad de codificación de un vídeo de entrada.
El determinador de grupos de píxeles 97 puede determinar un grupo de píxeles que incluya el píxel restablecido a compensar usando el valor de compensación, con respecto a los píxeles restablecidos de un grupo predeterminado en la imagen restablecida, al recibir la imagen restablecida generada por el generador de imágenes restablecidas 94 y el valor de compensación extraído por el extractor de información 93. El compensador de píxeles restablecidos 98 compensa el valor de píxel del píxel restablecido usando el valor de compensación, y envía la imagen restablecida que tiene el valor de píxel restablecido al recibir el valor de compensación extraído por el extractor de información 93 e información acerca del grupo de píxeles determinado por el determinador de grupos de píxeles 97.
Cuando la información acerca del procedimiento para determinar el grupo de píxeles a compensar se extrae por el extractor de información 93, el determinador de grupos de píxeles 97 puede determinar de forma selectiva el grupo de píxeles que tenga el valor de píxel a compensar sobre la base del procedimiento. Por ejemplo, el determinador de grupos de píxeles 97 puede determinar si clasifica los píxeles restablecidos de acuerdo con los niveles de valor extremo y / o de borde, las bandas de valores de píxel, o las líneas, y determinar el grupo de píxeles que tenga los valores de píxel a compensar, sobre la base del procedimiento. En el presente caso, el compensador de píxeles restablecidos 98 puede compensar los valores de píxel de los píxeles restablecidos en el grupo de píxeles al usar los valores de compensación para el grupo de píxeles de acuerdo con niveles de valor extremo y/o de borde, bandas de valores de píxel, o líneas.
El aparato de descodificación de vídeo 90 puede obtener información acerca de por lo menos una unidad de codificación que genere el error de codificación mínimo cuando la codificación se lleve a cabo recursivamente para cada unidad de codificación máxima, y puede usar la información para descodificar la imagen actual. En otras palabras, las unidades de codificación que tengan la estructura de árbol determinadas como unidades de codificación óptimas en cada unidad de codificación máxima pueden ser descodificadas. Asimismo, el tamaño máximo de unidad de codificación se determina considerando la resolución y la cantidad de datos de imagen.
En consecuencia, incluso si datos de imagen tienen alta resolución y una gran cantidad de datos, los datos de imagen pueden ser descodificados eficientemente y restablecidos usando un tamaño de una unidad de codificación y un modo de codificación, que se determinen en forma adaptativa de acuerdo con características de los datos de imagen, usando información acerca del modo de codificación óptimo recibido de un codificador.
El aparato de codificación de vídeo 80 y el aparato de descodificación de vídeo 90 pueden compensar un error sistemático generado entre la imagen restablecida y la imagen original cuando la imagen codificada se descodificada y restablecida.
La codificación y descodificación de un vídeo sobre la base de unidades de codificación que tienen una estructura de árbol se describe ahora.
La figura 10 es un diagrama para describir un concepto de unidades de codificación.
Un tamaño de una unidad de codificación puede ser expresado en ancho por altura, y puede ser 64 x 64, 32 x 32, 16x16 y 8x8. Una unidad de codificación de 64 x 64 puede ser dividida en divisiones de 64 x 64, 64 x 32, 32 x 64 o 32x32, y una unidad de codificación de 32x32 puede ser dividida en divisiones de 32x32, 32x 16, 16x32 o 16 x 16, una unidad de codificación de 16 x 16 puede ser dividida en divisiones de 16x16, 16x8, 8x16 u 8x8, y
5
10
15
20
25
30
35
40
45
50
55
una unidad de codificación de 8x8 puede ser dividida en divisiones de 8x8, 8x4, 4 x 8 o 4 x 4.
En los datos de vídeo 310, una resolución es 1920 x 1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 2. En los datos de vídeo 320, una resolución es 1920 por 1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 3. En los datos de vídeo 330, una resolución es 352 x 288, un tamaño máximo de una unidad de codificación es 16, y una profundidad máxima es 1. La profundidad máxima mostrada en la figura 10 indica un número total de divisiones a partir de una unidad de codificación máxima hasta una unidad de descodificación mínima.
Si una resolución es alta o una cantidad de datos es grande, un tamaño máximo de una unidad de codificación puede ser grande para de esta manera no solo incrementar la eficiencia de codificación sino también reflejar en forma precisa características de una imagen. En consecuencia, el tamaño máximo de la unidad de codificación de los datos de vídeo 310 y 320 que tienen la resolución más alta que los datos de vídeo 330 puede ser 64.
Debido a que la profundidad máxima de los datos de vídeo 310 es 2, las unidades de codificación 315 de los datos de vídeo 310 pueden incluir una unidad de codificación máxima que tenga un tamaño de eje de largo de 64 y las unidades de codificación que tengan unos tamaños de eje de largo de 32 y 16 toda vez que las profundidades se hacen más profundas hasta dos capas al dividir la unidad de codificación máxima dos veces. Mientras tanto, debido a que la profundidad máxima de los datos de vídeo 330 es 1, las unidades de codificación 335 de los datos de vídeo 330 pueden incluir una unidad de codificación máxima que tenga un tamaño de eje de largo de 16 y las unidades de codificación que tengan un tamaño de eje de largo de 8 toda vez que las profundidades se hacen más profundas hasta una capa al dividir la unidad de codificación máxima una vez.
Debido a que la profundidad máxima de los datos de vídeo 320 es 3, las unidades de codificación 325 de los datos de vídeo 320 pueden incluir una unidad de codificación máxima que tenga un tamaño de eje de largo de 64 y las unidades de codificación que tengan unos tamaños de eje de largo de 32, 16 y 8 toda vez que las profundidades se hacen más profundas hasta tres capas al dividir la unidad de codificación máxima tres veces. Al aumentar una profundidad, información detallada se puede expresar de manera precisa.
La figura 11 es un diagrama de bloques de un codificador de imágenes 400 sobre la base de unidades de codificación.
El codificador de imágenes 400 lleva a cabo operaciones del codificador 81 del aparato de codificación de vídeo 80 para codificar datos de imagen. En otras palabras, un intra predictor 410 lleva a cabo intra predicción en unidades de codificación en un modo intra, de entre una trama actual 405, y un estimador de movimiento 420 y un compensador de movimiento 425 llevan a cabo inter estimación y compensación de movimiento en unidades de codificación en un modo inter de entre la trama actual 405 usando la trama actual 405 y una trama de referencia 495.
Datos enviados desde el intra predictor 410, el estimador de movimiento 420 y el compensador de movimiento 425 son enviados como un coeficiente de transformación cuantificado a través de un transformador 430 y un cuantificador 440. El coeficiente de transformación cuantificado se restablece como datos en un dominio espacial a través de un cuantificador inverso 460 y un transformador inverso 470, y los datos restablecidos en el dominio espacial son enviados como la trama de referencia 495 después de haber sido post-procesados a través de una unidad de desbloqueo 480 y una unidad de filtrado de lazo 490. El coeficiente de transformación cuantificado puede ser enviado como un flujo de bits 455 a través de un codificador por entropía 450.
Para que el codificador de imágenes 400 se aplicado en el aparato de codificación de vídeo 80, elementos de codificación de imágenes 400, es decir, el intra predictor 410, el estimador de movimiento 420, el compensador de movimiento 425, el transformador 430, el cuantificador 440, el codificador por entropía 450, el cuantificador inverso 460, el transformador inverso 470, la unidad de desbloqueo 480 y la unidad de filtrado de lazo 490, llevan a cabo operaciones sobre la base de cada unidad de codificación de entre unas unidades de codificación que tienen una estructura de árbol mientras consideran la profundidad máxima de cada unidad de codificación máxima.
Específicamente, el intra predictor 410, el estimador de movimiento 420 y el compensador de movimiento 425 determinan divisiones y un modo de predicción de cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol mientras consideran el tamaño máximo y la profundidad máxima de una unidad de codificación máxima actual, y el transformador 430 determina el tamaño de la unidad de transformación en cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol.
La figura 12 es un diagrama de bloques de un descodificador de imágenes 500 a base de unidades de codificación.
Un analizador 510 analiza datos de imagen codificados que serán descodificados e información acerca de la codificación usada para descodificar a partir de un flujo de bits 505. Los datos de imagen codificados son enviados como datos cuantificados inversos a través de un descodificador por entropía 520 y un cuantificador inverso 530, y los datos cuantificados inversos se restablecen en datos de imagen en un dominio espacial a través de un transformador inverso 540.
Un intra predictor 550 lleva a cabo intra predicción en unidades de codificación en un modo intra con respecto a los
5
10
15
20
25
30
35
40
45
50
55
datos de imagen en el dominio espacial, y un compensador de movimiento 560 lleva a cabo compensación de movimiento en unidades de codificación en un modo inter usando una trama de referencia 585.
Los datos de imagen en el dominio espacial, que pasaron a través del intra predictor 550 y el compensador de movimiento 560, pueden ser enviados como una trama restablecida 595 después de haber sido post-procesados a través de una unidad de desbloqueo 570 y una unidad de filtrado de lazo 580. Asimismo, los datos de imagen que son post-procesados a través de la unidad de desbloqueo 570 y la unidad de filtrado de lazo 580 pueden ser enviados como la trama de referencia 585.
Para descodificar los datos de imagen en el descodificador 95 del aparato de descodificación de vídeo 90, el descodificador de imágenes 500 puede llevar a cabo operaciones que se lleven a cabo después del analizador 510.
Para que el descodificador de imágenes 500 sea aplicado en el aparato de codificación de vídeo 90, elementos del descodificador de imágenes 500, es decir, el analizador 510, el descodificador por entropía 520, el cuantificador inverso 530, el transformador inverso 540, el intra predictor 550, el compensador de movimiento 560, la unidad de desbloqueo 570 y la unidad de filtrado de lazo 580, llevan a cabo operaciones sobre la base de unidades de codificación que tienen una estructura de árbol para cada unidad de codificación máxima.
Específicamente, la intra predicción 550 y el compensador de movimiento 560 llevan a cabo operaciones sobre la base de divisiones y un modo de predicción para cada una de las unidades de codificación que tienen una estructura de árbol, y el transformador inverso 540 lleva a cabo operaciones sobre la base de un tamaño de una unidad de transformación para cada unidad de codificación.
La figura 13 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con unas profundidades y divisiones.
El aparato de codificación de vídeo 80 y el aparato de descodificación de vídeo 90 usan unidades de codificación jerárquicas para considerar de este modo características de una imagen. Una altura máxima, un ancho máximo y una profundidad máxima de unidades de codificación se pueden determinar en forma adaptativa de acuerdo con las características de la imagen, o se pueden establecer diferentemente por un usuario. Los tamaños de las unidades de codificación más profundas de acuerdo con unas profundidades se pueden determinar de acuerdo con el tamaño máximo predeterminado de la unidad de codificación.
En una estructura jerárquica 600 de unidades de codificación, de acuerdo con una realización de ejemplo, la altura máxima y el ancho máximo de las unidades de codificación son, cada una, 64, y la profundidad máxima es 4. Debido a que una profundidad se hace más profunda a lo largo de un eje vertical de la estructura jerárquica 600, una altura y un ancho de la unidad de codificación más profunda son, cada uno, divididos. Asimismo, una unidad de predicción y divisiones, las cuales son bases para codificación por predicción de cada unidad de codificación más profunda, se muestran a lo largo de un eje horizontal de la estructura jerárquica 600.
En otras palabras, una unidad de codificación 610 es una unidad de codificación máxima en la estructura jerárquica 600, en donde una profundidad es 0 y un tamaño, es decir, una altura por ancho, es 64 x 64. La profundidad se hace más profunda a lo largo del eje vertical, y existen una unidad de codificación 620 que tiene un tamaño de 32 x 32 y una profundidad de 1, una unidad de codificación 630 que tiene un tamaño de 16x16 y una profundidad de 2, una unidad de codificación 640 que tiene un tamaño de 8 x 8 y una profundidad de 3, y una unidad de codificación 650 que tiene un tamaño de 4 x 4 y una profundidad de 4. La unidad de codificación 650 que tiene el tamaño de 4 x 4 y la profundidad de 4 es una unidad de codificación mínima.
La unidad de predicción y las divisiones de una unidad de codificación se disponen a lo largo del eje horizontal de acuerdo con cada profundidad. En otras palabras, si la unidad de codificación 610 que tiene el tamaño de 64 x 64 y la profundidad de 0 es una unidad de predicción, la unidad de predicción se puede dividir en divisiones incluidas en la unidad de codificación 610, es decir, una división 610 que tenga un tamaño de 64 x 64, divisiones 612 que tengan el tamaño de 64 x 32, divisiones 614 que tengan el tamaño de 32 x 64, o divisiones 616 que tengan el tamaño de 32 x 32.
En forma similar, una unidad de predicción de la unidad de codificación 620 que tenga el tamaño de 32x32 y la profundidad de 1 puede ser dividida en divisiones incluidas en la unidad de codificación 620, es decir, una división 620 que tenga un tamaño de 32 x 32, divisiones 622 que tengan un tamaño de 32 x 16, divisiones 624 que tengan un tamaño de 16 x 32 y divisiones 626 que tengan un tamaño de 16 x 16.
En forma similar, una unidad de predicción de la unidad de codificación 630 que tenga el tamaño de 16 x 16 y la profundidad de 2 puede ser dividida en divisiones incluidas en la unidad de codificación 630, es decir, una división que tenga un tamaño de 16 x 16 incluida en la unidad de codificación 630, divisiones 632 que tengan un tamaño de 16 x 8, divisiones 634 que tengan un tamaño de 8x16 y divisiones 636 que tengan un tamaño de 8x8.
De manera similar, una unidad de predicción de la unidad de codificación 640 que tenga el tamaño de 8 x 8 y la profundidad de 3 puede ser dividida en divisiones incluidas en la unidad de codificación 640, es decir, una división que tenga un tamaño de 8x8 incluida en la unidad de codificación 640, divisiones 642 que tengan un tamaño de
5
10
15
20
25
30
35
40
45
50
55
8x4, divisiones 644 que tengan un tamaño de 4 x 8 y divisiones 646 que tengan un tamaño de 4x4.
La unidad de codificación 650 que tiene el tamaño de 4 x 4 y la profundidad de 4 es la unidad de codificación mínima y una unidad de codificación de la profundidad más baja. Una unidad de predicción de la unidad de codificación 650 solo puede ser asignada a una división que tenga un tamaño de 4x4. Como alternativa, divisiones 652 que tengan un tamaño de 4x2, divisiones 654 que tengan un tamaño de 2x4o divisiones 656 que tengan un tamaño de 2x2 pueden ser usadas.
Para poder determinar la por lo menos una profundidad codificada de las unidades de codificación que constituyen la unidad de codificación máxima 610, el determinador de profundidad codificada y de modo de codificación 83 del aparato de codificación de vídeo 80 lleva a cabo una codificación para unidades de codificación que correspondan a cada profundidad incluida en la unidad de codificación máxima 610.
Un número de unidades de codificación más profundas de acuerdo con unas profundidades que incluyen datos en el mismo intervalo y el mismo tamaño se incrementa al aumentar la profundidad. Por ejemplo, cuatro unidades de codificación que correspondan a una profundidad de 2 se requieren para cubrir datos que estén incluidos en una unidad de codificación que corresponda a una profundidad de 1. En consecuencia, para poder comparar resultados de codificación de los mismos datos de acuerdo con unas profundidades, la unidad de codificación que se corresponde con la profundidad de 1 y cuatro unidades de codificación que se corresponden con la profundidad de 2 son, cada una, codificadas.
Para llevar a cabo una codificación para una profundidad actual de entre las profundidades, un mínimo error de codificación se puede seleccionar para la profundidad actual al llevar a cabo una codificación para cada unidad de predicción en las unidades de codificación que correspondan a la profundidad actual, a lo largo del eje horizontal de la estructura jerárquica 600. Como alternativa, el error de codificación mínimo puede ser buscado al comparar los mínimos errores de codificación de acuerdo con unas profundidades, al llevar a cabo una codificación para cada profundidad. Al aumentar la profundidad a lo largo del eje vertical de la estructura jerárquica 600. Una profundidad y una división que tenga el error de codificación mínimo en la unidad de codificación 610 se puede seleccionar como la profundidad codificada y un tipo de división de la unidad de codificación 610.
La figura 14 es un diagrama para describir una relación entre una unidad de codificación 710 y unas unidades de transformación 720.
El aparato de codificación de vídeo 80 o el aparato de descodificación de vídeo 90 codifica o descodifica una imagen de acuerdo con unidades de codificación que tienen tamaños más pequeños que o iguales a una unidad de codificación máxima para cada unidad de codificación máxima. Los tamaños de unidades de transformación para transformación durante codificación se pueden seleccionar sobre la base de unidades de datos que no sean más grandes que una unidad de codificación correspondiente.
Por ejemplo, en el aparato de codificación de vídeo 80 o el aparato de descodificación de vídeo 90, si un tamaño de la unidad de codificación 710 es 64x64, la transformación se puede llevar a cabo usando las unidades de transformación 720 que tengan un tamaño de 32 x 32.
Asimismo, datos de la unidad de codificación 710 que tengan el tamaño de 64 x 64 pueden ser codificados al llevar a cabo la transformación en cada una de las unidades de transformación que tengan el tamaño de 32 x 32, 16 x 16, 8 x 8 y 4x4, que sean más pequeñas que 64 x 64, y luego se puede seleccionar una unidad de transformación que tenga el mínimo error de codificación.
La figura 15 es un diagrama para describir una información de codificación de unidades de codificación que se corresponden con una profundidad codificada.
El transmisor 88 del aparato de codificación de vídeo 80 puede codificar y transmitir información 800 acerca de un tipo de división, información 810 acerca de un modo de predicción, e información 820 acerca de un tamaño de una unidad de transformación para cada unidad de codificación que corresponda a una profundidad codificada, como información acerca de un modo de codificación.
La información 800 indica información acerca de una forma de una división obtenida al dividir una unidad de predicción de una unidad de codificación actual, en donde la división es una unidad de datos para codificación por predicción de la unidad de codificación actual. Por ejemplo, una unidad de codificación actual CU_0 que tenga un tamaño de 2Nx2N puede ser dividida en cualquiera de una división 802 que tenga un tamaño de 2Nx2N, una división 804 que tenga un tamaño de 2N x N, una división 806 que tenga un tamaño de N x 2N, y una división 808 que tenga un tamaño de N x N. En el presente caso, la información 800 acerca de un tipo de división se establece para indicar una de la división 804 que tiene un tamaño de 2N x N, la división 806 que tiene un tamaño de N x 2N y la división 808 que tiene un tamaño de N x N.
La información 810 indica un modo de predicción de cada división. Por ejemplo, la información 810 puede indicar un modo de codificación por predicción llevado a cabo en una división indicada por la información 800, es decir, un modo intra 812, un modo inter 814 o un modo de salto 816.
5
10
15
20
25
30
35
40
45
50
55
La información 820 indica una unidad de transformación en la que se basará cuando se lleve a cabo transformación en una unidad de codificación actual. Por ejemplo, la unidad de transformación puede ser una primera unidad de intra transformación 822, una segunda unidad de intra transformación 824, una primera unidad de inter transformación 826 o una segunda unidad de intra transformación 828.
El extractor de información 93 del aparato de descodificación de vídeo 90 puede extraer y usar la información 800, 810 y 820 para descodificación, de acuerdo con cada unidad de codificación más profunda.
La figura 16 es un diagrama de unidades de codificación más profundas de acuerdo con unas profundidades.
Información de división se puede usar para indicar un cambio de una profundidad. La información de división indica si una unidad de codificación de una profundidad actual se divide en unidades de codificación de una profundidad más baja.
Una unidad de predicción 910 para codificación por predicción de una unidad de codificación 900 que tiene una profundidad de 0 y un tamaño de 2N_0x2N_0 puede incluir divisiones de un tipo de división 912 que tenga un tamaño de 2N_0 x 2N_0, un tipo de división 914 que tenga un tamaño de 2N_0 x N_0, un tipo de división 916 que tenga un tamaño de N_0x2N_0, y un tipo de división 918 que tenga un tamaño de N_0 x N_0. La figura 9 solo ilustra los tipos de división 912 a 918 que se obtienen al dividir simétricamente la unidad de predicción 910, pero un tipo de división no se limita a estos, y las divisiones de la unidad de predicción 910 pueden incluir divisiones asimétricas, divisiones que tengan una forma predeterminada y divisiones que tengan una forma geométrica.
La codificación por predicción se lleva a cabo repetidamente en una división que tiene un tamaño de 2N_0 x 2N_0, dos divisiones que tienen un tamaño de 2N_0 x N_0, dos divisiones que tienen un tamaño de N_0 x 2N_0, y cuatro divisiones que tienen un tamaño de N_0 x N_0, de acuerdo con cada tipo de división. La codificación por predicción en un modo intra y un modo inter se pueden llevar a cabo en las divisiones que tengan los tamaños de 2N_0 x 2N_0, N_0 x 2N_0, 2N_0 x N_0 y N_0 x N_0. La codificación por predicción en un modo de salto se lleva a cabo solo en la división que tiene el tamaño de 2N_0 x 2N_0.
Errores de codificación incluyendo la codificación por predicción en los tipos de división 912 a 918 son comparados, y el mínimo error de codificación se determina de entre los tipos de división. Si un error de codificación es más pequeño en uno de los tipos de división 912 a 916, la unidad de predicción 910 podría no ser dividida en una profundidad más baja.
Si el error de codificación es el más pequeño en el tipo de división 918, una profundidad se cambia de 0 a 1 para dividir el tipo de división 918 en la operación 920, y la codificación se lleva a cabo repetidamente en unidades de codificación 930 que tienen una profundidad de 2 y un tamaño de N_0 x N_0 para buscar un error de codificación mínimo.
Una unidad de predicción 940 para codificación por predicción de la unidad de codificación 930 que tiene una profundidad de 1 y un tamaño de 2N_1 x 2N_1 (= N_0 x N_0) puede incluir divisiones de un tipo de división 942 que tenga un tamaño de 2N_1 x2N_1, un tipo de división 944 que tenga un tamaño de 2N_1 x N_1, un tipo de división 946 que tenga un tamaño de N_1 x 2N_1 y un tipo de división 948 que tenga un tamaño de N_1 x N_1.
Si un error de codificación es el más pequeño en el tipo de división 948, una profundidad se cambia de 1 a 2 para dividir el tipo de división 948 en la operación 950, y la codificación se lleva a cabo repetidamente en unidades de codificación 960, las cuales tienen una profundidad de 2 y un tamaño de N_2 x N_2 para buscar un error de codificación mínimo.
Cuando una profundidad máxima es d, la operación de división de acuerdo con cada profundidad se puede llevar a cabo hasta cuando una profundidad se vuelva d -1, e información de división se puede codificar como hasta cuando una profundidad sea 1 de 0 a d - 2. En otras palabras, cuando la codificación se lleva a cabo hasta cuando la profundidad es d -1 después de que una unidad de codificación que se corresponde con una profundidad de d - 2 se divide en la operación 970, una unidad de predicción 990 para codificación por predicción de una unidad de codificación 980 que tiene una profundidad de d -1 y un tamaño de 2N_(d - 1)x2N_(d -1) puede incluir divisiones de un tipo de división 992 que tenga un tamaño de 2N_(d -1) x 2N_(d -1), un tipo de división 994 que tenga un tamaño de 2N_(d -1) x N_(d -1), un tipo de división 996 que tenga un tamaño de N_(d -1) x 2N_(d -1) y un tipo de división 998 que tenga un tamaño de N_(d -1) x N_(d -1).
La codificación por predicción se puede llevar a cabo repetidamente en una división que tenga un tamaño de 2N_(d - 1)x2N_(d-1), dos divisiones que tengan un tamaño de 2N_(d -1) x N_(d -1), dos divisiones que tengan un tamaño de N_(d -1) x 2N_(d -1), cuatro divisiones que tengan un tamaño de N_(d -1) x N_(d -1) de entre los tipos de división 992 a 998 para buscar un tipo de división que tenga un error de codificación mínimo.
Incluso cuando el tipo de división 998 tiene el error de codificación mínimo, debido a que una profundidad máxima es d, una unidad de codificación CU_(d -1) que tenga una profundidad de d -1 ya no se divide más a una profundidad más baja, y una profundidad codificada para las unidades de codificación que constituyen una unidad de codificación máxima actual 900 se determina como d -1 y un tipo de división de la unidad de codificación máxima actual 900 se
5
10
15
20
25
30
35
40
45
50
puede determinar como N_(d -1) x N_(d -1). Asimismo, debido a que la profundidad máxima es d y una unidad de codificación mínima 980 que tiene una profundidad más inferior de d -1 ya no se divide a una profundidad más baja, información de división para la unidad de codificación mínima 980 no se establece.
Una unidad de datos 999 puede ser una 'unidad mínima' para la unidad de codificación máxima actual. Una unidad mínima según una realización ejemplar puede ser una unidad de datos rectangular obtenida al dividir una unidad de codificación mínima 980 entre 4. Al llevar a cabo la codificación repetidamente, el aparato de codificación de vídeo 80 puede seleccionar una profundidad que tenga el mínimo error de codificación al comparar errores de codificación de acuerdo con unas profundidades de la unidad de codificación 900 para determinar una profundidad codificada, y establecer un tipo de división correspondiente y un modo de predicción como un modo de codificación de la profundidad codificada.
De esta manera, los errores de codificación mínimos de acuerdo con unas profundidades se comparan en todas las profundidades de 1 a d, y una profundidad que tenga el mínimo error de codificación se puede determinar como una profundidad codificada. La profundidad codificada, el tipo de división de la unidad de predicción y el modo de predicción se pueden codificar y transmitir como información acerca de un modo de codificación. Asimismo, debido a que una unidad de codificación se divide a partir de una profundidad de 0 hasta una profundidad codificada, solo información de división de la profundidad codificada se establece a 0, e información de división de profundidades que excluyan la profundidad codificada se establece a 1.
El extractor de información 93 del aparato de descodificación de vídeo 90 puede extraer y usar la información acerca de la profundidad codificada y la unidad de predicción de la unidad de codificación 900 para descodificar la división 912. El aparato de descodificación de vídeo 90 puede determinar una profundidad, en la cual información de división sea 0, como una profundidad codificada al usar información de división de acuerdo con unas profundidades, y usar información acerca de un modo de codificación de la profundidad correspondiente para descodificación.
Las figuras 17 a 19 son unos diagramas para describir una relación entre unas unidades de codificación 1010, unas unidades de predicción 1060 y unas unidades de transformación 1070.
Las unidades de codificación 1010 son unidades de codificación que tienen una estructura de árbol, que se corresponden con unas profundidades codificadas determinadas por el aparato de codificación de vídeo 80, en una unidad de codificación máxima. Las unidades de predicción 1060 son divisiones de unidades de predicción de cada una de las unidades de codificación 1010, y las unidades de transformación 1070 son unidades de transformación de cada una de las unidades de codificación 1010.
Cuando una profundidad de una unidad de codificación máxima es 0 en las unidades de codificación 1010, profundidades de las unidades de codificación 1012 y 1054 son 1, las profundidades de las unidades de codificación 1014, 1016, 1018, 1028, 1050 y 1052 son 2, las profundidades de las unidades de codificación 1020, 1022, 1024, 1026, 1030, 1032 y 1048 son 3, y las profundidades de las unidades de codificación 1040, 1042, 1044 y 1046 son 4.
En las unidades de predicción 1060, algunas unidades de codificación 1014, 1016, 1022, 1032, 1048, 1050, 1052 y 1054 se obtienen al dividir las unidades de codificación en las unidades de codificación 1010. En otras palabras, tipos de división en las unidades de codificación 1014, 1022, 1050 y 1054 tienen un tamaño de 2N x N, los tipos de división en las unidades de codificación 1016, 1048 y 1052 tienen un tamaño de N x 2N, y un tipo de división de la unidad de codificación 1032 tiene un tamaño de N x N. Las unidades de predicción y divisiones de las unidades de codificación 1010 son más pequeñas que o iguales a cada unidad de codificación.
Transformación o transformación inversa se lleva a cabo en datos de imagen de la unidad de codificación 1052 en las unidades de transformación 1070 en una unidad de datos que es más pequeña que la unidad de codificación 1052. Asimismo, las unidades de codificación 1014, 1016, 1022, 1032, 1048, 1050 y 1052 en las unidades de transformación 1070 son diferentes de las de las unidades de predicción 1060 en términos de tamaños y formas. En otras palabras, los aparatos de codificación y descodificación de vídeo 100 y 200 pueden llevar a cabo intra predicción, estimación de movimiento, compensación de movimiento, transformación y transformación inversa individualmente en una unidad de datos en la misma unidad de codificación.
En consecuencia, la codificación se lleva a cabo recursivamente en cada una de las unidades de codificación que tienen una estructura jerárquica en cada región de una unidad de codificación máxima para determinar una unidad de codificación óptima, y de esta manera unidades de codificación que tengan una estructura de árbol recursiva pueden ser obtenidas. La información de codificación puede incluir información de división acerca de una unidad de codificación, información acerca de un tipo de división, información acerca de un modo de predicción, e información acerca de un tamaño de una unidad de transformación. La tabla 2 muestra la información de codificación que se puede establecer por los aparatos de codificación y descodificación de vídeo 80 y 90.
5
10
15
20
25
30
35
40
45
Tabla 2
- Información (Codificado actual de d
- de división 0 n en unidad de codificación que tiene un tamaño de 2N x 2N y profundidad Información de división 1
- Modo de predicción
- Tipo de división Tamaño de unidad de transformación Codificar repetidamente unidades de codificación que tengan una profundidad más baja de d + 1
- Intra Inter Salto (solo 2N x 2N)
- Tipo de división simétrica 1 Tipo de división asimétrica 1 Información de división 0 de unidad de transformación Información de división 1 de unidad de Transformación
- 2N x 2N 2N x N N x 2N NxN
- 2N x un 2N x nD nL x 2N nR x 2N 2N x 2N N x N (tipo simétrico) N / 2 x N / 2 (tipo asimétrico)
El transmisor 88 del aparato de codificación de vídeo 80 puede enviar la información de codificación acerca de las unidades de codificación que tengan una estructura de árbol, y el extractor de información 93 del aparato de descodificación de vídeo 90 puede extraer la información de codificación acerca de las unidades de codificación que tengan una estructura de árbol de un flujo de bits recibido.
La información de división indica si una unidad de codificación actual se divide en unidades de codificación de una profundidad más baja. Si la información de división de una profundidad actual d es 0, una profundidad, en la cual una unidad de codificación actual ya no se divide en una profundidad más baja, es una profundidad codificada, y de esta manera información acerca de un tipo de división, modo de predicción y un tamaño de una unidad de transformación se puede definir para la profundidad codificada. Si la unidad de codificación actual se divide más de acuerdo con la información de división, la codificación se lleva a cabo independientemente en cuatro unidades de codificación divididas de una profundidad más baja.
Un modo de predicción puede ser uno de un modo intra, un modo inter y un modo de salto. El modo intra y el modo inter se pueden definir en todos los tipos de división, y el modo de salto se puede definir solo en un tipo de división que tenga un tamaño de 2N x 2N.
La información acerca del tipo de división puede indicar tipos de división simétricos que tengan unos tamaños de 2Nx2N, 2N x N, N x 2N y N x N, los cuales se obtengan al dividir simétricamente una altura o un ancho de una unidad de predicción, y tipos de división asimétricos que tengan unos tamaños de 2N x nU, 2N x nD, nLx2N y nR x 2N, los cuales se obtengan al dividir asimétricamente la altura o el ancho de la unidad de predicción. Los tipos de división asimétricos que tienen los tamaños de 2N x nU y 2N x nD se pueden obtener, de forma respectiva, al dividir la altura de la unidad de predicción en 1:3 y 3:1, y los tipos de división asimétricos que tengan los tamaños de nL x 2N y nR x 2N se pueden obtener, de forma respectiva, al dividir el ancho de la unidad de predicción en 1:3 y 3:1.
El tamaño de la unidad de transformación se puede establecer para que sea dos tipos en el modo intra y dos tipos en el modo inter. En otras palabras, si información de división de la unidad de transformación es 0, el tamaño de la unidad de transformación puede ser 2N x2N, que es el tamaño de la unidad de codificación actual. Si información de división de la unidad de transformación es 1, las unidades de las unidades de transformación se pueden obtener al dividir la unidad de codificación actual. Asimismo, si un tipo de división de la unidad de codificación actual que tiene el tamaño de 2N x 2N es un tipo de división simétrico, un tamaño de una unidad de transformación puede ser N x N, y si el tipo de división de la unidad de codificación actual es un tipo de división asimétrico, el tamaño de la unidad de transformación puede ser N / 2 x N / 2.
La información de codificación acerca de unidades de codificación que tienen una estructura de árbol puede incluir por lo menos una de una unidad de codificación que corresponda a una profundidad codificada, una unidad de predicción y una unidad mínima. La unidad de codificación que corresponda a la profundidad codificada puede incluir por lo menos una de una unidad de predicción y una unidad mínima que contenga la misma información de codificación.
En consecuencia, se determina si unidades de datos adyacentes están incluidas en la misma unidad de codificación que se corresponde con la profundidad codificada al comparar información de codificación de las unidades de datos adyacentes. Asimismo, una unidad de codificación correspondiente que se corresponde con una profundidad codificada se determina usando información de codificación de una unidad de datos, y de esta manera una distribución de profundidades codificadas en una unidad de codificación máxima puede ser determinada.
En consecuencia, si una unidad de codificación actual se predice sobre la base de información de codificación de unidades de datos adyacentes, información de codificación de unidades de datos en unidades de codificación más profundas adyacentes a la unidad de codificación actual se puede consultar y usar directamente.
5
10
15
20
25
30
35
40
45
50
55
Como alternativa, si una unidad de codificación actual se predice sobre la base de información de codificación de unidades de datos adyacentes, las unidades de datos adyacentes a la unidad de codificación actual son buscadas usando información codificada de las unidades de datos, y las unidades de codificación adyacentes buscadas se pueden consultar para predecir la unidad de codificación actual.
La figura 20 es un diagrama para describir una relación entre una unidad de codificación, una unidad de predicción o una división, y una unidad de transformación, de acuerdo con la información de modo de codificación de la tabla 2.
Una unidad de codificación máxima 1300 incluye unidades de codificación 1302, 1304, 1306, 1312, 1314, 1316 y 1318 de profundidades codificadas. En el presente caso, debido a que la unidad de codificación 1318 es una unidad de codificación de una profundidad codificada, información de división se puede establecer a 0. Información acerca de un tipo de división de la unidad de codificación 1318 que tenga un tamaño de 2N x 2N se puede establecer para ser uno de un tipo de división 1322 que tenga un tamaño de 2N x 2N, un tipo de división 1324 que tenga un tamaño de 2N x N, un tipo de división 1326 que tenga un tamaño de N x 2N, un tipo de división 1328 que tenga un tamaño de N x N, un tipo de división 1332 que tenga un tamaño de 2N x nU, un tipo de división 1334 que tenga un tamaño de 2N x nD, un tipo de división 1336 que tenga un tamaño de nLx2N, y un tipo de división 1338 que tenga un tamaño de nR x 2N.
Información de división (indicador de tamaño de TU) de una unidad de transformación es un tipo de índice de transformación, en donde un tamaño de una unidad de transformación que se corresponde con un índice de transformación puede cambiar de acuerdo con un tipo de unidad de predicción o un tipo de división de una unidad de codificación.
Por ejemplo, cuando el tipo de división se establece para ser simétrico, es decir, el tipo de división 1322, 1324, 1326 o 1328, una unidad de transformación 1342 que tienen un tamaño de 2N x 2N se establece si el indicador de tamaño de TU es 0, y una unidad de transformación 1344 que tiene un tamaño de N x N se establece si un indicador de tamaño de TU es 1.
Cuando el tipo de división se establece para ser asimétrico, es decir, el tipo de división 1332, 1334, 1336 o 1338, una unidad de transformación 1352 que tiene un tamaño de 2N x 2N se establece si un indicador de tamaño de TU es 0, y una unidad de transformación 1354 que tiene un tamaño de N/2xN/2 se establece si un indicador de tamaño de TU es 1.
En referencia a la figura 18, el indicador de tamaño de TU es un indicador que tiene un valor de 0 o 1, pero el indicador de tamaño de TU no se limita a 1 bit, y una unidad de transformación se puede dividir jerárquicamente que tenga una estructura de árbol mientras el indicador de tamaño de TU se incremente desde 0.
En este caso, el tamaño de una unidad de transformación que ha sido realmente usada se puede expresar usando un indicador de tamaño de TU de una unidad de transformación junto con un tamaño máximo y tamaño mínimo de la unidad de transformación. El aparato de codificación de vídeo 80 es capaz de codificar información de tamaño de unidad de transformación máxima, información de tamaño de unidad de transformación mínima y un indicador de tamaño de TU máximo. El resultado de codificar la información de tamaño de unidad de transformación máxima, la información de tamaño de unidad de transformación mínima y el indicador de tamaño de TU máximo se puede insertar en un SPS. El aparato de descodificación de vídeo 90 puede descodificar vídeo usando la información de tamaño de unidad de transformación máxima, la información de tamaño de unidad de transformación mínima y el indicador de tamaño de TU máximo.
Por ejemplo, si el tamaño de una unidad de codificación actual es 64 x 64 y un tamaño de unidad de transformación máxima es 32 x 32, entonces el tamaño de una unidad de transformación puede ser 32 x 32 cuando un indicador de tamaño de TU sea 0, puede ser 16 x 16 cuando el indicador de tamaño de TU sea 1 y puede ser 8x8 cuando el indicador de tamaño de TU sea 2.
Como otro ejemplo, si el tamaño de la unidad de codificación actual es 32 x 32 y un tamaño de unidad de transformación mínima es 32 x 32, entonces el tamaño de la unidad de transformación puede ser 32 x 32 cuando el indicador de tamaño de TU sea 0. En el presente caso, el indicador de tamaño de TU no se puede establecer a un valor que no sea 0, toda vez que el tamaño de la unidad de transformación no puede ser menor que 32 x 32.
Como otro ejemplo, si el tamaño de la unidad de codificación actual es 64x64 y un indicador de tamaño de TU máximo es 1, entonces el indicador de tamaño de TU puede ser 0 o 1. En el presente caso, el indicador de tamaño de TU no se puede establecer a un valor que no sea 0 o 1.
De este modo, si se define que el indicador de tamaño de TU máximo es 'MaxTransformSizeIndex', un tamaño de unidad de transformación mínima es 'MinTransformSize', y un tamaño de unidad de transformación es 'RootTuSize' cuando el indicador de tamaño de TU es 0, entonces un tamaño de unidad de transformación mínima actual 'CurrMinTuSize' que se puede determinar en una unidad de codificación actual, puede ser definido por la ecuación 10.
[Ecuación 10]
5
10
15
20
25
30
35
40
45
50
CurrMinTuSize = máx (MinTransformSize, RootTuSize / (2AMaxTransformSizeIndex)).
En comparación con el tamaño de unidad de transformación mínima actual 'CurrMinTuSize' que se puede determinar en la unidad de codificación actual, un tamaño de unidad de transformación 'RootTuSize' cuando el indicador de tamaño de TU es 0 puede indicar un tamaño de unidad de transformación máxima que se puede seleccionar en el sistema. En la ecuación 10, 'RootTuSize / (2 * MaxTransformSizeIndex)' indica un tamaño de unidad de transformación cuando el tamaño de unidad de transformación 'RootTuSize', cuando el indicador de tamaño de TU es 0, se divide un número de veces que se corresponde con el indicador de tamaño de TU máximo, y 'MinTransformSize' indica un tamaño de transformación mínimo. De este modo, un valor más pequeño de entre 'RootTuSize / (2AMaxTransformSizeIndex/ y 'MinTransformSize' puede ser el tamaño de unidad de transformación mínima actual 'CurrMinTuSize' que se puede determinar en la unidad de codificación actual.
El tamaño de unidad de transformación máxima RootTuSize puede variar de acuerdo con el tipo de un modo de predicción.
Por ejemplo, si un modo de predicción actual es un modo inter, entonces 'RootTuSize' se puede determinar usando la ecuación (11) en lo sucesivo. En la ecuación 11, 'MaxTransformSize' indica un tamaño de unidad de transformación máxima, y 'PUSize' indica un tamaño de unidad de predicción actual.
[Ecuación 11]
RootTuSize = mín (MaxTransformSize, PUSize).
Es decir, si el modo de predicción actual es el modo inter, el tamaño de unidad de transformación 'RootTuSize' cuando el indicador de tamaño de TU es 0, puede ser un valor más pequeño de entre el tamaño de unidad de transformación máxima y el tamaño de unidad de predicción actual.
Si un modo de predicción de una unidad de división actual es un modo intra, 'RootTuSize' se puede determinar usando la siguiente ecuación 12 en lo sucesivo. En la ecuación 12, 'PartitionSize' indica el tamaño de la unidad de división actual.
[Ecuación 12]
RootTuSize = mín (MaxTransformSize, PartitionSize).
Es decir, si el modo de predicción actual es el modo intra, el tamaño de unidad de transformación 'RootTuSize' cuando el indicador de tamaño de TU es 0 puede ser un valor más pequeño de entre el tamaño de unidad de transformación máxima y el tamaño de la unidad de división actual.
No obstante, el tamaño de unidad de transformación máxima actual 'RootTuSize' que varía de acuerdo con el tipo de un modo de predicción en una unidad de división es solo un ejemplo y la presente invención no se limita al mismo.
La figura 21 es un diagrama de flujo que ilustra un procedimiento para codificar un vídeo para compensar un valor de píxel después de llevar a cabo un filtrado de lazo sobre la base de unidades de codificación que tienen una estructura de árbol.
En la operación 2110, una imagen actual se divide en por lo menos una unidad de codificación máxima, y una profundidad codificada para enviar un resultado de codificación final de acuerdo con por lo menos una región dividida, que se obtiene al dividir una región de cada unidad de codificación máxima de acuerdo con unas profundidades, se determina al codificar la por lo menos una región dividida. Asimismo, un modo de codificación que incluye información acerca de una profundidad codificada o información de división, información acerca de un tipo de división de una profundidad codificada, un modo de predicción y un tamaño de una unidad de transformación, se determina de acuerdo con una unidad de codificación más profunda de acuerdo con unas profundidades.
Una profundidad máxima que indique un número total de veces posibles en que la unidad de codificación máxima se divide puede ser predeterminada. La unidad de codificación máxima puede ser dividida jerárquicamente, y la codificación se puede llevar a cabo repetidamente para cada unidad de codificación más profunda siempre que la profundidad se haga más profunda. Los errores de codificación de todas las unidades de codificación más profundas se miden y se comparan para determinar de este modo una profundidad codificada que genere el mínimo error de codificación de la unidad de codificación.
En la operación 2120, datos de imagen codificados son descodificados sobre la base de la profundidad codificada y el modo de codificación, y una imagen restablecida se genera al llevar a cabo un filtrado de lazo en los datos de imagen descodificados. La imagen restablecida se puede generar al llevar a cabo un filtrado de lazo adaptativo, la cual lleva a cabo continuamente por lo menos un filtrado unidimensional en los datos de imagen descodificados o datos de imagen desbloqueados.
En la operación 2130, un valor de compensación acerca de un error entre cada píxel restablecido en un grupo predeterminado de la imagen restablecida y un píxel original, y un grupo de píxeles que incluye píxeles restablecidos
5
10
15
20
25
30
35
40
45
50
55
a compensar son determinados. El grupo de píxeles que incluye los píxeles restablecidos que tienen valores de píxel a compensar se puede determinar de acuerdo con niveles de valor extremo y/o de borde de valores de píxel, bandas de valores de píxel o líneas. El valor de compensación de acuerdo con grupos de píxeles se puede determinar sobre la base de un valor promedio de los errores.
En la operación 2140, datos de imagen que constituyen el resultado de codificación final de acuerdo con la por lo menos una región dividida, información acerca de la profundidad codificada y el modo de codificación, información acerca de un coeficiente de filtrado de lazo e información relacionada con el valor de compensación son enviados. La información acerca del modo de codificación puede incluir información acerca de una profundidad codificada o información de división, información acerca de un tipo de división de la profundidad codificada, un modo de predicción y un tamaño de una unidad de transformación.
La información relacionada con el valor de compensación de acuerdo con los grupos de píxeles puede ser codificada junto con la información acerca del modo de codificación, los datos de vídeo y la información acerca del coeficiente de filtrado de lazo, las cuales son codificadas de acuerdo con el procedimiento a base de las unidades de codificación que tienen la estructura de árbol, y se pueden transmitir a un descodificador.
La figura 22 es un diagrama de flujo que ilustra un procedimiento para descodificar un vídeo para compensar un valor de píxel después de llevar a cabo un filtrado de lazo sobre la base de unidades de codificación que tienen una estructura de árbol, de acuerdo con una realización a modo de ejemplo.
En la operación 2210, un flujo de bits acerca de un vídeo codificado de acuerdo con el procedimiento de la figura 21 sobre la base de las unidades de codificación que tienen la estructura de árbol se recibe y analiza, y datos de imagen de una imagen actual asignada a una unidad de codificación máxima, información acerca de una profundidad codificada y un modo de codificación de acuerdo con las unidades de codificación máximas, información acerca de un coeficiente de filtrado de lazo e información relacionada con un valor de compensación se extraen del flujo de bits analizado.
Una profundidad codificada de acuerdo con las unidades de codificación máximas se selecciona como una profundidad que tiene el mínimo error de codificación de acuerdo con las unidades de codificación máximas mientras se codifica la imagen actual. La codificación se lleva a cabo de acuerdo con las unidades de codificación máximas al codificar los datos de imagen sobre la base de por lo menos una unidad de datos obtenida al dividir jerárquicamente la unidad de codificación máxima de acuerdo con unas profundidades. En consecuencia, cada pieza de datos de imagen se descodifica después de determinar la profundidad codificada de acuerdo con unidades de codificación, mejorando de esta manera la eficiencia de codificación y descodificación de una imagen.
En la operación 2220, los datos de imagen son descodificados en cada unidad de codificación máxima sobre la base de la información acerca de la profundidad codificada y el modo de codificación, y una imagen restablecida se genera al llevar a cabo un filtrado de lazo en los datos de imagen descodificados. La imagen restablecida se puede generar al llevar a cabo un filtrado de lazo adaptativo, en donde por lo menos un filtrado unidimensional se lleve a cabo continuamente, en los datos de imagen descodificados o datos de imagen desbloqueados.
En la operación 2230, un grupo de píxeles que incluye píxeles restablecidos a compensar se determina de entre píxeles restablecidos de la imagen restablecida, mediante el uso del valor de compensación. El grupo de píxeles que incluye los píxeles restablecidos que tienen valores de píxel a compensar se puede determinar usando el valor de compensación, de acuerdo con niveles de valor extremo y / o de borde de los valores de píxel de los píxeles restablecidos, bandas de valores de píxel, o líneas, usando un procedimiento para determinar un grupo de píxeles sobre la base de la información extraída relacionada con el valor de compensación.
En la operación 2240, una imagen restablecida que tiene un error compensado puede ser enviada mediante la compensación de un error entre los píxeles restablecidos del grupo de píxeles determinado y un píxel original correspondiente usando el valor de compensación.
De acuerdo con el procedimiento para codificar un vídeo y el procedimiento para descodificar un vídeo, la calidad de la imagen restablecida se puede mejorar mediante la compensación de un error sistemático de la imagen restablecida, y una velocidad de bits de transmisión de información adicional para mejorar la calidad de la imagen restablecida se puede reducir debido a que solo la información acerca del valor de compensación de acuerdo con los grupos de píxeles es codificada y transmitida, e información acerca de una ubicación de un píxel a compensar no es transmitida.
Las realizaciones a modo de ejemplo de la presente invención pueden ser escritas como programas informáticos y se pueden implementar en ordenadores digitales de uso general que ejecuten los programas usando un medio de grabación legible por ordenador. Ejemplos del medio de grabación legible por ordenador incluyen medios de almacenamiento magnéticos (por ejemplo, ROM, discos flexibles, discos duros, etc.) y medios de grabación ópticos (por ejemplo, CD-ROM o DVD).
A pesar de que en lo que antecede se han mostrado y descrito de forma particular algunas realizaciones a modo de ejemplo, se entenderá por los expertos en la materia que varios cambios en forma y detalles se pueden hacer en la
misma sin apartarse del alcance del concepto inventivo como el definido por las reivindicaciones adjuntas. Las realizaciones de ejemplo deberían considerarse en un sentido solo descriptivo y no con fines de limitación. Por tanto, el alcance del concepto inventivo se define no por la descripción detallada de realizaciones ejemplares sino por las reivindicaciones adjuntas, y todas las diferencias dentro del alcance se interpretarán como incluidas en el presente 5 concepto inventivo.
Claims (1)
- 101520REIVINDICACIONES1. Un procedimiento de decodificación de vídeo, comprendiendo el procedimiento:obtener, a partir de un flujo de bits, información acerca de un tipo de corrección de valores de píxel;cuando la información acerca de un tipo de corrección de valores de píxeles indica uno de un tipo de banda y untipo de borde, obtener una pluralidad de valores de compensación desde el flujo de bits;generar valores de píxeles de un bloque actual realizando descodificación en el bloque actual y haciendo un filtrado de desbloqueo en los valores de píxeles generados del bloque actual;cuando la información acerca de un tipo de corrección de valores de píxel indica el tipo de banda, añadir un valor de compensación, entre la pluralidad de valores de compensación, a un píxel en una banda entre los píxeles de filtrado de desbloqueo del bloque actual, en el que un intervalo total de los valores de los píxeles va desde un valor mínimo de los valores de los píxeles a un valor máximo de los valores de los píxeles, y una sección correspondiente al intervalo total de valores de los píxeles se divide de manera uniforme en una pluralidad de bandas, la banda es una de una pluralidad de bandas, un valor del píxel está en un intervalo de valores de píxeles correspondientes a la banda, la pluralidad de valores de compensación corresponde a la pluralidad de bandas y el valor de compensación corresponde a la banda; ycuando la información acerca de un tipo de corrección de valores de píxeles indica el tipo de borde, añadir un valor de compensación, entre la pluralidad de valores de compensación, a un píxel correspondiente a un nivel de valor de borde de entre los píxeles de un bloque actual, en el que el nivel de valor de borde se determina en base a si el valor del píxel (30) es mayor o menor que los valores de píxeles adyacentes restablecidos (31, 32, 33, 34, 35, 36, 37 y 38) en una dirección vertical, horizontal o diagonal, la pluralidad de valores de compensación corresponde a la pluralidad de niveles de valor de borde, y el valor de compensación corresponde al nivel de valor de borde de entre la pluralidad de niveles de valor de borde.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100031143A KR101529992B1 (ko) | 2010-04-05 | 2010-04-05 | 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치 |
KR20100031143 | 2010-04-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2688370T3 true ES2688370T3 (es) | 2018-11-02 |
Family
ID=44709668
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES15191967.7T Active ES2628911T3 (es) | 2010-04-05 | 2011-04-05 | Procedimiento y aparato para codificar vídeo compensando valor de píxel de acuerdo con grupos de píxeles, y procedimiento y aparato para decodificar vídeo mediante lo mismo |
ES15191963.6T Active ES2688370T3 (es) | 2010-04-05 | 2011-04-05 | Aparatos y procedimientos relacionados con la descodificación de un vídeo |
ES18195262T Active ES2764713T3 (es) | 2010-04-05 | 2011-04-05 | Procedimiento y aparato para codificar un video |
ES11766124.9T Active ES2632573T3 (es) | 2010-04-05 | 2011-04-05 | Procedimiento y aparato para codificar vídeo mediante la compensación de valores de píxel de acuerdo con grupos de píxeles, y procedimiento y aparato para descodificar vídeo mediante la misma |
ES15191859.6T Active ES2633973T3 (es) | 2010-04-05 | 2011-04-05 | Procedimiento y aparato de codificación de vídeo mediante la compensación de valores de píxel de acuerdo con grupos de píxeles, y procedimiento y aparato de decodificación de vídeo mediante la misma |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES15191967.7T Active ES2628911T3 (es) | 2010-04-05 | 2011-04-05 | Procedimiento y aparato para codificar vídeo compensando valor de píxel de acuerdo con grupos de píxeles, y procedimiento y aparato para decodificar vídeo mediante lo mismo |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES18195262T Active ES2764713T3 (es) | 2010-04-05 | 2011-04-05 | Procedimiento y aparato para codificar un video |
ES11766124.9T Active ES2632573T3 (es) | 2010-04-05 | 2011-04-05 | Procedimiento y aparato para codificar vídeo mediante la compensación de valores de píxel de acuerdo con grupos de píxeles, y procedimiento y aparato para descodificar vídeo mediante la misma |
ES15191859.6T Active ES2633973T3 (es) | 2010-04-05 | 2011-04-05 | Procedimiento y aparato de codificación de vídeo mediante la compensación de valores de píxel de acuerdo con grupos de píxeles, y procedimiento y aparato de decodificación de vídeo mediante la misma |
Country Status (23)
Country | Link |
---|---|
US (7) | US8982962B2 (es) |
EP (7) | EP2999226B1 (es) |
JP (5) | JP5819935B2 (es) |
KR (1) | KR101529992B1 (es) |
CN (6) | CN105049855B (es) |
AU (1) | AU2011239128B2 (es) |
BR (5) | BR112012025312B1 (es) |
CA (6) | CA2887786C (es) |
CY (4) | CY1119272T1 (es) |
DK (5) | DK2999224T3 (es) |
ES (5) | ES2628911T3 (es) |
HR (4) | HRP20170876T1 (es) |
HU (5) | HUE034192T2 (es) |
LT (4) | LT2999226T (es) |
MX (1) | MX2012011564A (es) |
MY (5) | MY178474A (es) |
PL (5) | PL3439307T3 (es) |
PT (4) | PT2999227T (es) |
RS (4) | RS56274B1 (es) |
RU (5) | RU2554555C2 (es) |
SI (4) | SI2545710T1 (es) |
WO (1) | WO2011126273A2 (es) |
ZA (5) | ZA201208297B (es) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101529992B1 (ko) | 2010-04-05 | 2015-06-18 | 삼성전자주식회사 | 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치 |
TWI666882B (zh) | 2010-04-13 | 2019-07-21 | 美商Ge影像壓縮有限公司 | 在樣本陣列多元樹細分中之繼承技術 |
KR102481529B1 (ko) | 2010-04-13 | 2022-12-23 | 지이 비디오 컴프레션, 엘엘씨 | 평면 간 예측 |
KR101549644B1 (ko) | 2010-04-13 | 2015-09-03 | 지이 비디오 컴프레션, 엘엘씨 | 샘플 영역 병합 |
HUE057597T2 (hu) | 2010-04-13 | 2022-05-28 | Ge Video Compression Llc | Videó kódolás képek többes fa struktúrájú alosztásainak használatával |
US8787443B2 (en) * | 2010-10-05 | 2014-07-22 | Microsoft Corporation | Content adaptive deblocking during video encoding and decoding |
US9445126B2 (en) * | 2011-01-05 | 2016-09-13 | Qualcomm Incorporated | Video filtering using a combination of one-dimensional switched filter and one-dimensional adaptive filter |
JP2013093662A (ja) * | 2011-10-24 | 2013-05-16 | Nippon Telegr & Teleph Corp <Ntt> | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム |
CN103092836B (zh) * | 2011-10-28 | 2017-07-18 | 鸿富锦精密工业(深圳)有限公司 | 尺寸号定位***及方法 |
US10051289B2 (en) * | 2011-11-04 | 2018-08-14 | Qualcomm Incorporated | Adaptive center band offset filter for video coding |
GB201119206D0 (en) * | 2011-11-07 | 2011-12-21 | Canon Kk | Method and device for providing compensation offsets for a set of reconstructed samples of an image |
WO2013095047A1 (ko) | 2011-12-22 | 2013-06-27 | 삼성전자 주식회사 | 최대 부호화 단위 별로 픽셀 분류에 따른 오프셋 조정을 이용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 |
US9161035B2 (en) * | 2012-01-20 | 2015-10-13 | Sony Corporation | Flexible band offset mode in sample adaptive offset in HEVC |
ES2746824T3 (es) | 2012-06-11 | 2020-03-09 | Samsung Electronics Co Ltd | Codificación y decodificación de video compartiendo parámetros SAO según un componente de color |
TWI618404B (zh) | 2012-06-27 | 2018-03-11 | Sony Corp | Image processing device and method |
EP3206403A4 (en) | 2014-11-04 | 2017-11-01 | Samsung Electronics Co., Ltd. | Video encoding method and apparatus therefor, and video decoding method and apparatus therefor, in which edge type offset is applied |
EP3021583B1 (en) * | 2014-11-14 | 2019-10-23 | Axis AB | Method of identifying relevant areas in digital images, method of encoding digital images, and encoder system |
JP6037521B2 (ja) * | 2015-07-02 | 2016-12-07 | 日本電信電話株式会社 | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム |
US10257394B2 (en) | 2016-02-12 | 2019-04-09 | Contrast, Inc. | Combined HDR/LDR video streaming |
US10264196B2 (en) | 2016-02-12 | 2019-04-16 | Contrast, Inc. | Systems and methods for HDR video capture with a mobile device |
US20170302965A1 (en) * | 2016-04-15 | 2017-10-19 | Google Inc. | Adaptive directional loop filter |
KR20230042424A (ko) | 2016-07-14 | 2023-03-28 | 삼성전자주식회사 | 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치 |
US10554901B2 (en) | 2016-08-09 | 2020-02-04 | Contrast Inc. | Real-time HDR video for vehicle control |
US11265530B2 (en) | 2017-07-10 | 2022-03-01 | Contrast, Inc. | Stereoscopic camera |
US10491923B2 (en) | 2017-08-14 | 2019-11-26 | Google Llc | Directional deblocking filter |
KR102520626B1 (ko) | 2018-01-22 | 2023-04-11 | 삼성전자주식회사 | 아티팩트 감소 필터를 이용한 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 |
US10951888B2 (en) | 2018-06-04 | 2021-03-16 | Contrast, Inc. | Compressed high dynamic range video |
WO2020007489A1 (en) * | 2018-07-06 | 2020-01-09 | Huawei Technologies Co., Ltd. | A picture encoder, a picture decoder and corresponding methods |
CN113661708B (zh) | 2019-04-02 | 2023-12-15 | 北京字节跳动网络技术有限公司 | 基于双向光流的视频编解码和解码 |
US10638130B1 (en) | 2019-04-09 | 2020-04-28 | Google Llc | Entropy-inspired directional filtering for image coding |
CN113711608B (zh) | 2019-04-19 | 2023-09-01 | 北京字节跳动网络技术有限公司 | 利用光流的预测细化过程的适用性 |
KR102662024B1 (ko) | 2019-04-19 | 2024-05-21 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 상이한 모션 벡터 정제의 그레디언트 계산 |
CN113711609B (zh) | 2019-04-19 | 2023-12-01 | 北京字节跳动网络技术有限公司 | 利用光流的预测细化过程中的增量运动矢量 |
KR20210112042A (ko) * | 2020-03-04 | 2021-09-14 | 에스케이하이닉스 주식회사 | 이미지 센싱 장치 및 그의 동작 방법 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2353168A1 (en) * | 2000-07-28 | 2002-01-28 | Alexander R. Roustaei | Optical scanner and image reader for reading images and decoding optical information including one and two dimensional symbologies at variable depth of field |
KR100743818B1 (ko) | 2001-09-12 | 2007-07-30 | 마쯔시다덴기산교 가부시키가이샤 | 화상 부호화 방법 및 화상 복호화 방법 |
US7266247B2 (en) * | 2002-09-30 | 2007-09-04 | Samsung Electronics Co., Ltd. | Image coding method and apparatus using spatial predictive coding of chrominance and image decoding method and apparatus |
JP3997171B2 (ja) * | 2003-03-27 | 2007-10-24 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム |
US7653133B2 (en) * | 2003-06-10 | 2010-01-26 | Rensselaer Polytechnic Institute (Rpi) | Overlapped block motion compression for variable size blocks in the context of MCTF scalable video coders |
CN1236624C (zh) * | 2003-09-04 | 2006-01-11 | 上海大学 | 多种块模式的快速整像素运动估计方法 |
US20050232497A1 (en) | 2004-04-15 | 2005-10-20 | Microsoft Corporation | High-fidelity transcoding |
US20060013315A1 (en) * | 2004-07-19 | 2006-01-19 | Samsung Electronics Co., Ltd. | Filtering method, apparatus, and medium used in audio-video codec |
CN1589016A (zh) * | 2004-08-27 | 2005-03-02 | 北京长信嘉信息技术有限公司 | 视频编码中一种提高运动估计速度和精度的技术 |
KR100716998B1 (ko) | 2005-05-24 | 2007-05-10 | 삼성전자주식회사 | 블록화 현상을 감소시키기 위한 부호화 및 복호화 장치 및그 방법과, 이를 구현하기 위한 프로그램이 기록된 기록매체 |
TW200806040A (en) * | 2006-01-05 | 2008-01-16 | Nippon Telegraph & Telephone | Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for storing the programs |
KR101330630B1 (ko) * | 2006-03-13 | 2013-11-22 | 삼성전자주식회사 | 최적인 예측 모드를 적응적으로 적용하여 동영상을부호화하는 방법 및 장치, 동영상을 복호화하는 방법 및장치 |
EP2001239B1 (en) | 2006-03-27 | 2017-09-13 | Sun Patent Trust | Picture coding apparatus and picture decoding apparatus |
JP4956304B2 (ja) * | 2006-08-08 | 2012-06-20 | キヤノン株式会社 | 画像符号化装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 |
KR101365570B1 (ko) * | 2007-01-18 | 2014-02-21 | 삼성전자주식회사 | 인트라 예측 부호화, 복호화 방법 및 장치 |
KR101369224B1 (ko) * | 2007-03-28 | 2014-03-05 | 삼성전자주식회사 | 움직임 보상 필터링을 이용한 영상 부호화, 복호화 방법 및장치 |
KR20090037031A (ko) * | 2007-10-11 | 2009-04-15 | 주식회사 엠아이비전 | 필터 적용 예측 기능을 가지는 동영상 압축 장치 |
CN101415122B (zh) * | 2007-10-15 | 2011-11-16 | 华为技术有限公司 | 一种帧间预测编解码方法及装置 |
CN101163244A (zh) * | 2007-11-22 | 2008-04-16 | 上海交通大学 | 视频解码器运动补偿过程中的像素缓存方法及*** |
EP2237218A4 (en) * | 2007-12-25 | 2016-03-23 | Nec Corp | Image Processing Device, Image Processing Method, Image Decomposition Device, Image Compilation Device, Image Transmission System, and Storage Media |
JP5529040B2 (ja) | 2008-01-10 | 2014-06-25 | トムソン ライセンシング | イントラ予測されたビデオの照明補償の方法及び装置 |
JP2009177472A (ja) * | 2008-01-24 | 2009-08-06 | Panasonic Corp | 画像処理方法、画像処理装置及び撮像装置 |
MX2010009194A (es) | 2008-03-07 | 2010-09-10 | Toshiba Kk | Metodo y dispositivo de codificacion/decodificacion dinamica de imagen. |
EP2161936A1 (en) | 2008-09-04 | 2010-03-10 | Panasonic Corporation | Locally adaptive filters for video coding controlled by local correlation data |
US8548041B2 (en) * | 2008-09-25 | 2013-10-01 | Mediatek Inc. | Adaptive filter |
KR101529992B1 (ko) | 2010-04-05 | 2015-06-18 | 삼성전자주식회사 | 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치 |
CN101888552B (zh) * | 2010-06-28 | 2012-06-20 | 厦门大学 | 一种基于局部补偿的跳帧编解码方法和装置 |
US9161041B2 (en) * | 2011-01-09 | 2015-10-13 | Mediatek Inc. | Apparatus and method of efficient sample adaptive offset |
RU2602834C2 (ru) | 2011-10-19 | 2016-11-20 | Кт Корпорейшен | Способ и устройство для кодирования/декодирования видеоданных |
GB201119206D0 (en) | 2011-11-07 | 2011-12-21 | Canon Kk | Method and device for providing compensation offsets for a set of reconstructed samples of an image |
EP2801195B1 (en) * | 2012-01-05 | 2018-03-07 | Google Technology Holdings LLC | Devices and methods for sample adaptive offset coding and selection of edge offset parameters |
BR112014000369B1 (pt) * | 2012-05-25 | 2023-04-25 | Sun Patent Trust | Método de decodificação de imagem em movimento, aparelho de decodificação de imagem em movimento, método de codificação de imagem em movimento e aparelho de codificação de imagem em movimento |
-
2010
- 2010-04-05 KR KR1020100031143A patent/KR101529992B1/ko active IP Right Grant
-
2011
- 2011-04-05 MY MYPI2015000863A patent/MY178474A/en unknown
- 2011-04-05 ES ES15191967.7T patent/ES2628911T3/es active Active
- 2011-04-05 DK DK15191859.6T patent/DK2999224T3/en active
- 2011-04-05 PL PL18195262T patent/PL3439307T3/pl unknown
- 2011-04-05 EP EP15191963.6A patent/EP2999226B1/en active Active
- 2011-04-05 EP EP15191912.3A patent/EP2999225B1/en not_active Not-in-force
- 2011-04-05 DK DK15191963.6T patent/DK2999226T3/en active
- 2011-04-05 LT LTEP15191963.6T patent/LT2999226T/lt unknown
- 2011-04-05 LT LTEP15191967.7T patent/LT2999227T/lt unknown
- 2011-04-05 HU HUE15191967A patent/HUE034192T2/en unknown
- 2011-04-05 SI SI201131236T patent/SI2545710T1/sl unknown
- 2011-04-05 RS RS20170742A patent/RS56274B1/sr unknown
- 2011-04-05 CN CN201510217250.5A patent/CN105049855B/zh active Active
- 2011-04-05 CA CA2887786A patent/CA2887786C/en active Active
- 2011-04-05 DK DK18195262.3T patent/DK3439307T3/da active
- 2011-04-05 PT PT151919677T patent/PT2999227T/pt unknown
- 2011-04-05 RU RU2012146741/08A patent/RU2554555C2/ru active
- 2011-04-05 HU HUE15191859A patent/HUE036399T2/hu unknown
- 2011-04-05 BR BR112012025312-3A patent/BR112012025312B1/pt active IP Right Grant
- 2011-04-05 EP EP15191859.6A patent/EP2999224B1/en active Active
- 2011-04-05 SI SI201131245T patent/SI2999224T1/sl unknown
- 2011-04-05 HU HUE11766124A patent/HUE036398T2/hu unknown
- 2011-04-05 CN CN201180027828.0A patent/CN102939753B/zh active Active
- 2011-04-05 CA CA2887748A patent/CA2887748C/en active Active
- 2011-04-05 CA CA2887791A patent/CA2887791C/en active Active
- 2011-04-05 LT LTEP15191859.6T patent/LT2999224T/lt unknown
- 2011-04-05 PT PT151918596T patent/PT2999224T/pt unknown
- 2011-04-05 WO PCT/KR2011/002373 patent/WO2011126273A2/en active Application Filing
- 2011-04-05 ES ES15191963.6T patent/ES2688370T3/es active Active
- 2011-04-05 EP EP15191967.7A patent/EP2999227B1/en active Active
- 2011-04-05 MY MYPI2012004408A patent/MY154665A/en unknown
- 2011-04-05 BR BR122021004663-8A patent/BR122021004663B1/pt active IP Right Grant
- 2011-04-05 RU RU2015118881A patent/RU2628123C2/ru active
- 2011-04-05 EP EP19203576.4A patent/EP3614677B1/en active Active
- 2011-04-05 EP EP11766124.9A patent/EP2545710B1/en active Active
- 2011-04-05 BR BR122021004657-3A patent/BR122021004657B1/pt active IP Right Grant
- 2011-04-05 DK DK11766124.9T patent/DK2545710T3/da active
- 2011-04-05 BR BR122020012380-0A patent/BR122020012380B1/pt active IP Right Grant
- 2011-04-05 AU AU2011239128A patent/AU2011239128B2/en active Active
- 2011-04-05 CA CA2795439A patent/CA2795439C/en active Active
- 2011-04-05 CN CN201510219893.3A patent/CN104980744B/zh active Active
- 2011-04-05 EP EP18195262.3A patent/EP3439307B1/en active Active
- 2011-04-05 JP JP2013503668A patent/JP5819935B2/ja active Active
- 2011-04-05 ES ES18195262T patent/ES2764713T3/es active Active
- 2011-04-05 CN CN201510218304.XA patent/CN104980742B/zh active Active
- 2011-04-05 RU RU2015118723A patent/RU2608877C2/ru active
- 2011-04-05 DK DK15191967.7T patent/DK2999227T3/en active
- 2011-04-05 SI SI201131579T patent/SI2999226T1/sl unknown
- 2011-04-05 PL PL15191859T patent/PL2999224T3/pl unknown
- 2011-04-05 LT LTEP11766124.9T patent/LT2545710T/lt unknown
- 2011-04-05 BR BR122021004659-0A patent/BR122021004659B1/pt active IP Right Grant
- 2011-04-05 PL PL15191967T patent/PL2999227T3/pl unknown
- 2011-04-05 MX MX2012011564A patent/MX2012011564A/es active IP Right Grant
- 2011-04-05 CA CA2887783A patent/CA2887783C/en active Active
- 2011-04-05 MY MYPI2015000867A patent/MY179636A/en unknown
- 2011-04-05 RS RS20170582A patent/RS56071B1/sr unknown
- 2011-04-05 MY MYPI2014003542A patent/MY185162A/en unknown
- 2011-04-05 CA CA2980750A patent/CA2980750A1/en not_active Abandoned
- 2011-04-05 HU HUE15191963A patent/HUE042536T2/hu unknown
- 2011-04-05 PL PL11766124T patent/PL2545710T3/pl unknown
- 2011-04-05 US US13/080,066 patent/US8982962B2/en active Active
- 2011-04-05 RS RS20181104A patent/RS57679B1/sr unknown
- 2011-04-05 HU HUE18195262A patent/HUE048837T2/hu unknown
- 2011-04-05 PT PT15191963T patent/PT2999226T/pt unknown
- 2011-04-05 RS RS20170685A patent/RS56218B1/sr unknown
- 2011-04-05 PL PL15191963T patent/PL2999226T3/pl unknown
- 2011-04-05 ES ES11766124.9T patent/ES2632573T3/es active Active
- 2011-04-05 CN CN201510217267.0A patent/CN104980741B/zh active Active
- 2011-04-05 SI SI201131209A patent/SI2999227T1/sl unknown
- 2011-04-05 MY MYPI2015000868A patent/MY183839A/en unknown
- 2011-04-05 PT PT117661249T patent/PT2545710T/pt unknown
- 2011-04-05 CN CN201510219881.0A patent/CN104994383B/zh active Active
- 2011-04-05 ES ES15191859.6T patent/ES2633973T3/es active Active
-
2012
- 2012-11-02 ZA ZA2012/08297A patent/ZA201208297B/en unknown
-
2015
- 2015-01-30 ZA ZA2015/00712A patent/ZA201500712B/en unknown
- 2015-01-30 ZA ZA2015/00713A patent/ZA201500713B/en unknown
- 2015-01-30 ZA ZA2015/00711A patent/ZA201500711B/en unknown
- 2015-01-30 ZA ZA2015/00714A patent/ZA201500714B/en unknown
- 2015-02-20 US US14/627,042 patent/US9118914B2/en active Active
- 2015-03-16 US US14/658,963 patent/US9124894B2/en active Active
- 2015-03-16 US US14/658,940 patent/US9124892B2/en active Active
- 2015-03-16 US US14/658,949 patent/US9124893B2/en active Active
- 2015-04-27 JP JP2015090686A patent/JP6007284B2/ja active Active
- 2015-04-27 JP JP2015090685A patent/JP5937722B2/ja active Active
- 2015-04-27 JP JP2015090684A patent/JP5937721B2/ja active Active
- 2015-04-27 JP JP2015090683A patent/JP5937720B2/ja active Active
- 2015-05-19 RU RU2015118705/08A patent/RU2600534C2/ru active
- 2015-05-19 RU RU2015118706/08A patent/RU2602784C2/ru active
- 2015-07-17 US US14/802,584 patent/US9736499B2/en active Active
-
2017
- 2017-06-08 HR HRP20170876TT patent/HRP20170876T1/hr unknown
- 2017-06-20 CY CY20171100642T patent/CY1119272T1/el unknown
- 2017-07-06 HR HRP20171038TT patent/HRP20171038T1/hr unknown
- 2017-07-20 HR HRP20171123TT patent/HRP20171123T1/hr unknown
- 2017-07-25 US US15/659,162 patent/US10097860B2/en active Active
- 2017-07-31 CY CY20171100823T patent/CY1119299T1/el unknown
- 2017-07-31 CY CY20171100815T patent/CY1119321T1/el unknown
-
2018
- 2018-09-20 HR HRP20181496TT patent/HRP20181496T1/hr unknown
- 2018-10-02 CY CY181101011T patent/CY1120713T1/el unknown
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2688370T3 (es) | Aparatos y procedimientos relacionados con la descodificación de un vídeo | |
ES2578609T3 (es) | Procedimiento y aparato de codificación de vídeo, y procedimiento y aparato de descodificación de vídeo | |
ES2778655T3 (es) | Procedimiento para decodificar vídeo considerando un orden de omisión y de división | |
ES2706484T3 (es) | Procedimiento de decodificación de vídeo teniendo en cuenta el orden de exploración de unidades de codificación que tienen estructura jerárquica | |
ES2691984T3 (es) | Procedimiento de decodificación de imágenes | |
AU2017201511B2 (en) | Method and apparatus for encoding video by compensating for pixel value according to pixel groups, and method and apparatus for decoding video by the same | |
AU2015200748A1 (en) | Method and apparatus for encoding video by compensating for pixel value according to pixel groups, and method and apparatus for decoding video by the same |