ES2632573T3 - 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 - Google Patents

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 Download PDF

Info

Publication number
ES2632573T3
ES2632573T3 ES11766124.9T ES11766124T ES2632573T3 ES 2632573 T3 ES2632573 T3 ES 2632573T3 ES 11766124 T ES11766124 T ES 11766124T ES 2632573 T3 ES2632573 T3 ES 2632573T3
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
Application number
ES11766124.9T
Other languages
English (en)
Inventor
Alexander Alshin
Elena Alshina
Nikolay Shlyakhov
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Application granted granted Critical
Publication of ES2632573T3 publication Critical patent/ES2632573T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/196Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/96Tree coding, e.g. quad-tree coding

Abstract

Un procedimiento de decodificación de un vídeo para compensar un valor de píxel, comprendiendo el procedimiento: obtener, a partir de un flujo de bits, información acerca de compensación de valores de píxel y un valor de compensación; extraer datos de imagen codificados a partir de un flujo de bits analizando el flujo de bits de una imagen codificada; descodificar los datos de imagen extraídos y realizar un filtrado de desbloqueo en los datos de imagen descodificados; determinar un grupo de píxeles que comprende un píxel actual a compensar, mediante el uso del valor de compensación extraído, de entre píxeles de la imagen sometida a filtrado de desbloqueo; y compensar un error entre el píxel actual del grupo de píxeles determinado y un píxel original correspondiente mediante el uso del valor de compensación extraído, en el que la compensación de un error comprende: cuando la información acerca de compensación de valores de píxel indica un primer tipo que se refiere a bandas de valores de píxel, determinar una banda que comprende un valor de píxel de un píxel actual del grupo de píxeles determinado; y añadir, al valor de píxel del píxel actual, el valor de compensación que se corresponde con la banda, y en el que un intervalo total de valores de los píxeles es de 0 a un valor máximo de los valores de los píxeles, y una sección que se corresponde con el 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, y el valor de compensación se corresponde con la banda de entre la pluralidad de bandas, y en el que la compensación de un error comprende: cuando la información acerca de compensación de valores de píxel indica el segundo tipo que se refiere a niveles de valor de borde, determinar un nivel de valor de borde del píxel actual (30) comparando el valor de píxel del píxel actual (30) con valores de píxel de unos píxeles adyacentes (31, 32, 33, 34, 35, 36 y 37) en la imagen sometida a filtrado de desbloqueo; y añadir, al valor de píxel del píxel actual, el valor de compensación que se corresponde con el nivel de valor de borde, y el nivel de valor de borde es uno de una pluralidad de niveles de valor de borde.

Description

5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Procedimiento y aparato para codificar video mediante la compensacion de valores de p^xel de acuerdo con grupos de p^xeles, y procedimiento y aparato para descodificar video mediante la misma
Campo tecnico
Procedimientos relacionados con realizaciones a modo de ejemplo se refieren a la descodificacion de un video. Antecedentes de la tecnica
A medida que se esta desarrollando y suministrando hardware para reproducir y almacenar contenido de video de alta resolucion o alta calidad, se esta incrementando cada vez mas la necesidad de un codec de video para codificar o descodificar de manera efectiva el contenido de video de alta resolucion o alta calidad. En un codec de video de la tecnica relacionada, un video se codifica de acuerdo con un procedimiento de codificacion limitado sobre la base de un macrobloque que tiene un tamano predeterminado.
La calidad de una imagen puede ser distorsionada debido a la codificacion y descodificacion de un video, y un modulo de post-procesamiento puede ser anadido 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 221 -2010; KYOTO; (Grupo de Expertos de Imagenes en Movimiento o JTC1/SC29/WG11 de ISO/IEC), (16-01 - 2010), n.° M17171 describe un filtro de lazo unificado para la codificacion de video, que suprime el ruido de cuantificacion de forma optima y mejora las calidades objetiva y subjetiva de la imagen reconstruida de forma simultanea. El filtro de lazo unifica el filtro de potenciacion no lineal y el filtro de restauracion lineal dentro del marco de trabajo de optimizacion clasico del error de mmimos cuadrados. Para adaptarse a unas caractensticas de error de cuantificacion localmente variadas, se emplea una estrategia basada en clasificacion para disenar filtros de lazo unificados con diferentes caractensticas, lo que mejora adicionalmente las capacidades del filtrado de lazo y de restauracion de imagenes.
Divulgacionl
Problema tecnico
Una o mas realizaciones a modo de ejemplo proporcionan un procedimiento para descodificar video, para compensar un valor de pixel del grupo de pfxeles predeterminado.
Solucion tecnica
De acuerdo con un aspecto de una realizacion a modo de ejemplo, se proporciona un procedimiento de acuerdo con la reivindicacion 1.
Efectos ventajosos
En la descodificacion de video de acuerdo con realizaciones a modo de ejemplo, se pueden determinar valores promedio de errores de valores mmimos locales y valores maximos locales de un grupo de pfxeles predeterminado entre una imagen restablecida y una imagen original y, por lo tanto, es posible compensar valores de pixel de pfxeles restablecidos en el grupo de pfxeles predeterminado.
Descripcion de los dibujos
La figura 1 es un diagrama de bloques de un aparato para codificar un video para compensar un valor de pixel; la figura 2 es un diagrama de bloques de un aparato para descodificar un video para compensar un valor de pixel;
la figura 3 ilustra pfxeles restablecidos adyacentes que se compararan con un pixel restablecido para determinar de este modo un nivel de valor extremo del pixel 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 video para compensar un valor de pixel;
la figura 7 es un diagrama de flujo que ilustra un procedimiento para descodificar un video mediante la compensacion de un valor de pixel, de acuerdo con una realizacion a modo de ejemplo.
La figura 8 es un diagrama de bloques de un aparato para codificar un video mediante la compensacion de un valor de pixel despues de llevar a cabo un filtrado de lazo sobre la base de unidades de codificacion que tienen una estructura de arbol;
la figura 9 es un diagrama de bloques de un aparato para descodificar un video mediante la compensacion de un valor de pixel despues de llevar a cabo un filtrado de lazo sobre la base de unidades de codificacion que tienen una estructura de arbol;
5
10
15
20
25
30
35
40
45
50
55
la figura 10 es un diagrama para describir un concepto de unidades de codificacion;
la figura 11 es un diagrama de bloques de un codificador de imagenes sobre la base de unidades de codificacion; la figura 12 es un diagrama de bloques de un descodificador de imagenes sobre la base de unidades de codificacion;
la figura 13 es un diagrama que ilustra unidades de codificacion mas profundas de acuerdo con unas profundidades y divisiones;
la figura 14 es un diagrama para describir una relacion entre una unidad de codificacion y unas unidades de transformacion;
la figura 15 es un diagrama para describir una informacion de codificacion de unidades de codificacion que se corresponden con una profundidad codificada;
la figura 16 es un diagrama de unidades de codificacion mas profundas de acuerdo con unas profundidades; las figuras 17, 18 y 19 son unos diagramas para describir una relacion entre unas unidades de codificacion, unas unidades de prediccion y unas unidades de transformacion;
la figura 20 es un diagrama para describir una relacion entre una unidad de codificacion, una unidad de prediccion o una division, y una unidad de transformacion, de acuerdo con la informacion de modo de codificacion de la tabla 2;
la figura 21 es un diagrama de flujo que ilustra un procedimiento para codificar un video mediante la
compensacion de un valor de pixel despues de llevar a cabo un filtrado de lazo sobre la base de unidades de
codificacion que tienen una estructura de arbol; y
La figura 22 es un diagrama de flujo que ilustra un procedimiento para descodificar un video mediante la
compensacion de un valor de pixel despues de llevar a cabo un filtrado de lazo sobre la base de unidades de
codificacion que tienen una estructura de arbol, de acuerdo con una realizacion a modo de ejemplo.
En relacion con las realizaciones a modo de ejemplo, se describe en el presente documento un procedimiento para codificar un video para compensar un valor de pixel, incluyendo el procedimiento: codificar datos de imagen; descodificar los datos de imagen codificados y generar una imagen restablecida al llevar a cabo un filtrado de lazo en los datos de imagen descodificados; determinar un valor de compensacion que corresponda a errores entre un grupo predeterminado de pfxeles restablecidos en la imagen restablecida y pfxeles originales correspondientes, y un grupo de pfxeles que incluye un pixel restablecido a compensar usando el valor de compensacion; y codificar el valor de compensacion y transmitir el valor de compensacion codificado y un flujo de bits de los datos de imagen codificados.
La determinacion del valor de compensacion y el grupo de pfxeles puede incluir: determinar un nivel de valor extremo que indique un grado de cercama con un valor maximo o un valor mmimo de acuerdo con pfxeles restablecidos al comparar valores de pixel de pfxeles restablecidos adyacentes en la imagen restablecida; y determinar el grupo de pfxeles que comprende el pixel restablecido a compensar entre los pfxeles restablecidos adyacentes sobre la base del nivel de valor extremo determinado de acuerdo con pfxeles restablecidos.
La determinacion del grupo de pfxeles sobre la base del nivel de valor extremo puede incluir clasificar los pfxeles restablecidos adyacentes en grupos de pfxeles que incluyen pfxeles restablecidos que tengan un mismo nivel de valor extremo sobre la base del nivel de valor extremo determinado de acuerdo con pfxeles restablecidos, y determinar un grupo de pfxeles de por lo menos un nivel de valor extremo como el grupo de pfxeles que incluye el pixel restablecido a compensar, y la determinacion del valor de compensacion y el grupo de pfxeles puede incluir ademas determinar el valor de compensacion para el grupo de pfxeles determinado del por lo menos un nivel de valor extremo.
La determinacion del valor de compensacion y el grupo de pfxeles puede incluir: clasificar pfxeles restablecidos de la imagen restablecida en grupos de pfxeles que incluyan los pfxeles restablecidos en una misma banda, de acuerdo con las bandas, obtenidas al dividir una seccion total de valores de pixel; y determinar el valor de compensacion de acuerdo con los grupos de pfxeles de acuerdo con las bandas.
La clasificacion de los pfxeles restablecidos de acuerdo con las bandas puede incluir: clasificar los pfxeles restablecidos en los grupos de pfxeles de acuerdo con las bandas, sobre la base de las bandas obtenidas al dividir la seccion total de los valores de pixel en un numero de 2 a la potencia de un entero positivo.
Un mdice del numero de 2 hasta la potencia del entero positivo se puede determinar sobre la base de un numero de bits mas significativos en una profundidad de bits de los pfxeles restablecidos.
La seccion total de los valores de pixel puede estar dentro de un intervalo de una profundidad de bits extendida.
La determinacion del valor de compensacion y el grupo de pfxeles puede incluir: clasificar pfxeles restablecidos de la imagen restablecida en grupos de pfxeles que incluyan pfxeles restablecidos dispuestos en una misma lmea, de acuerdo con lmeas; y determinar el valor de compensacion de acuerdo con los grupos de pfxeles de acuerdo con lmeas.
La clasificacion de los pfxeles restablecidos en los grupos de pfxeles de acuerdo con lmeas puede incluir detectar pfxeles restablecidos que formen lmeas en por lo menos una de una direccion horizontal, una direccion vertical, una
5
10
15
20
25
30
35
40
45
50
direccion diagonal, una direccion curva y una direccion del Ifmite de un objeto predeterminado, de entre los p^xeles restablecidos de la imagen restablecida.

La determinacion del valor de compensacion y el grupo de pfxeles pueden incluir determinar el valor de
compensacion usando un valor promedio de errores entre pfxeles restablecidos del grupo de pfxeles y pfxeles
originales correspondientes.

La determinacion del valor de compensacion y el pixel restablecido puede incluir determinar el valor de

compensacion para todos los pfxeles restablecidos a compensar, o determinar individualmente el valor de
compensacion de acuerdo con grupos predeterminados de los pfxeles restablecidos a compensar.
La generacion de la imagen restablecida se puede llevar a cabo usando un filtrado de lazo adaptativo usando una pluralidad de filtros unidimensionales continuos.
La determinacion del valor de compensacion y el grupo de pfxeles puede incluir determinar el valor de compensacion y el pixel restablecido a compensar de acuerdo con por lo menos una unidad de datos de entre una secuencia de imagenes, un segmento, una trama y una unidad de codificacion del video de entrada.
La transmision del flujo de bits puede incluir insertar y transmitir el valor de compensacion codificado en u encabezado de segmento.
La codificacion de la secuencia de imagenes de entrada puede incluir: dividir una imagen en una unidad de codificacion maxima; llevar a cabo una codificacion en por lo menos una unidad de codificacion mas profunda de acuerdo con la profundidad, de acuerdo con regiones divididas al dividir jerarquicamente la unidad de codificacion maxima al aumentar la profundidad para determinar un modo de codificacion de una unidad de codificacion de una profundidad codificada, el modo de codificacion incluye informacion de por lo menos una profundidad codificada que genera un ultimo error de codificacion; y enviar los datos de imagen codificados de acuerdo con la profundidad codificada determinada y modo de codificacion.
De acuerdo con un aspecto de otro ejemplo relacionado, se proporciona un procedimiento para descodificar un video para compensar un valor de pixel, incluyendo el procedimiento: extraer datos de imagen codificados y un valor de compensacion de un flujo de bits al analizar el flujo de bits de una imagen codificada; descodificar los datos de imagen extrafdos y generar una imagen restablecida al llevar a cabo un filtrado de lazo en los datos de imagen descodificados; determinar un grupo de pfxeles que incluya un pixel restablecido a compensar de entre pfxeles restablecidos de la imagen restablecida, mediante el uso del valor de compensacion extrafdo; y compensar un error entre el pixel restablecido del grupo de pfxeles determinado y un pixel original correspondiente usando el valor de compensacion extrafdo.
La determinacion del grupo de pfxeles puede incluir: determinar un nivel de valor extremo, que indique un grado de cercama con un valor maximo o un valor mmimo de acuerdo con los pfxeles restablecidos al comparar valores de pixel de pfxeles restablecidos adyacentes en la imagen restablecida; y determinar el grupo de pfxeles que comprende el pixel restablecido a compensar entre los pfxeles restablecidos adyacentes sobre la base del nivel de valor extremo determinado.
La determinacion del nivel de valor extremo puede incluir clasificar los pfxeles restablecidos adyacentes en grupos de pfxeles que incluyen pfxeles restablecidos que tengan un mismo nivel de valor extremo sobre la base del nivel de valor extremo determinado, y determinar un grupo de pfxeles de por lo menos un nivel de valor extremo como el grupo de pfxeles que incluye el pixel restablecido a compensar.
La determinacion del grupo de pfxeles puede incluir clasificar los pfxeles restablecidos de la imagen restablecida en grupos de pfxeles de acuerdo con las bandas.
La compensacion del error puede incluir compensar errores de valores de pixel de los pfxeles restablecidos de los grupos de pfxeles de acuerdo con niveles de valor extremos usando los valores de compensacion de acuerdo con niveles de valor extremos para compensar los valores de pixel de los grupos de pfxeles de acuerdo con los niveles de valor extremos.
La determinacion del grupo de pfxeles puede incluir clasificar los pfxeles restablecidos de la imagen restablecida en grupos de pfxeles que incluyan pfxeles restablecidos dispuestos en una misma lmea, de acuerdo con lmeas, y determinar un grupo de pfxeles, de entre los grupos de pfxeles de acuerdo con lmeas, como el grupo de pfxeles que comprende el pixel restablecido a compensar.
La compensacion del error puede incluir compensar valores de pixel de los pfxeles restablecidos en los grupos de pfxeles de acuerdo con lmeas, usando valores de compensacion de los grupos de pfxeles de acuerdo con lmeas para compensar los valores de pixel de los grupos de pfxeles de acuerdo con lmeas.
La clasificacion de pfxeles restablecidos en grupos de pfxeles de acuerdo con lmeas puede incluir detectar pfxeles restablecidos que formen lmeas en por lo menos una de una direccion horizontal, una direccion vertical, una
5
10
15
20
25
30
35
40
45
50
direccion en diagonal, una direccion curva y una direccion de Kmite de un objeto predeterminado, de entre los pfxeles restablecidos de la imagen restablecida.
El valor de compensacion puede ser determinado usando un valor promedio de errores entre los pfxeles restablecidos del grupo de pfxeles y p^xeles originales correspondientes durante la codificacion de los datos de imagen codificados.
La compensacion del error puede incluir compensar todos los pfxeles restablecidos a compensar usando el valor de compensacion.
La compensacion del error puede incluir compensar valores de pixel de los pfxeles restablecidos usando valores de compensacion determinados individualmente de acuerdo con grupos predeterminados de los pfxeles restablecidos a compensar.
La generacion de la imagen restablecida se puede llevar a cabo usando un filtrado de lazo adaptativo usando una pluralidad de filtros unidimensionales continuos.
Los datos de imagen codificados pueden ser codificados al dividir una imagen en una unidad de codificacion maxima, y llevar a cabo una codificacion en por lo menos una unidad de codificacion mas profunda de acuerdo con profundidad, de acuerdo con regiones divididas al dividir jerarquicamente la unidad de codificacion maxima al aumentar la profundidad para determinar informacion de un modo de codificacion de una unidad de codificacion de una profundidad codificada, que incluye informacion acerca de por lo menos una profundidad codificada que genera un ultimo error de codificacion, del flujo de bits, y la generacion de la imagen restablecida puede incluir descodificar lo datos de imagen codificados sobre la base de la profundidad codificada y el modo de codificacion, sobre la base de la informacion acerca del' modo de codificacion, y llevar a cabo el filtrado de lazo.
De acuerdo con un aspecto de otro ejemplo relacionado, se proporciona un aparato para codificar un video para compensar un valor de pixel, el aparato incluye: un codificador que codifica datos de imagen; un generador de imagenes restablecidas que descodifica los datos de imagen codificados y genera una imagen restablecida al llevar a cabo un filtrado de lazo en los datos de imagen descodificados; un determinador de valores de compensacion y de grupos de pfxeles que determina un valor de compensacion que se corresponde con errores entre un grupo predeterminado de pfxeles restablecidos y pfxeles originales correspondientes, y un grupo de pfxeles que incluye un pixel restablecido a compensar usando el valor de compensacion; y un transmisor que codifica el valor de compensacion y transmite el valor de compensacion codificado y un flujo de bits de los datos de imagen codificados.
De acuerdo con otro ejemplo relacionado, se proporciona un aparato para descodificar un video para compensar un valor de pixel, el aparato incluye: un extractor que extrae datos de imagen codificados y un valor de compensacion de un flujo de bits al analizar el flujo de bits de una imagen codificada; un generador de imagenes restablecidas que descodifica los datos de imagen extrafdos y genera una imagen restablecida al llevar a cabo un filtrado de lazo en los datos de imagen descodificados; un determinador de grupos de pfxeles que determina un grupo de pfxeles que incluye un pixel restablecido a compensar de entre pfxeles restablecidos de la imagen restablecida, mediante el uso del valor de compensacion extrafdo; y un compensador de pfxeles restablecidos que compensa un error entre el pixel restablecido del grupo de pfxeles determinado y un pixel original correspondiente usando el valor de compensacion extrafdo.
De acuerdo con otro ejemplo relacionado, se proporciona un medio de grabacion legible por ordenador que tiene grabado en el mismo un programa para ejecutar cualquiera de los procedimientos descritos en lo que antecede.
Modo para la invencion
En lo sucesivo en el presente documento se describiran realizaciones a modo de ejemplo mas 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 video, y un procedimiento y aparato para descodificar un video, mediante la compensacion de errores de valores de pixel de un grupo de pfxeles predeterminado, de acuerdo con realizaciones a modo de ejemplo se describira a continuacion con referencia a las figuras 1 a 22. En detalle, la codificacion y descodificacion de un video mediante la compensacion de un valor de pixel despues de llevar a cabo un filtrado de lazo se describiran con referencia a las figuras 1 a 7, y la codificacion y descodificacion de un video para compensar un valor de pixel despues de llevar a cabo un filtrado de lazo sobre la base de unidades de codificacion que tienen una estructura de arbol se describiran con referencia a las figuras 8 a 22.
En lo sucesivo en el presente documento se describira con referencia a las figuras 1 a 7 la codificacion y descodificacion de un video mediante la compensacion de un valor de pixel despues de llevar a cabo un filtrado de lazo.
La figura 1 es un diagrama de bloques de un aparato de codificacion de video 10 para compensar un valor de pixel.
5
10
15
20
25
30
35
40
45
50
55
El aparato de codificacion de v^deo incluye un codificador 12, un generador de imagenes restablecidas 14, un determinador de valores de compensacion y de grupos de pfxeles 16, y un transmisor 18. Las operaciones del codificador 12, el generador de imagenes restablecidas 14 y el determinador de valores de compensacion y de grupos de pfxeles 16 del aparato de codificacion de video 10 se pueden controlar organicamente por un procesador de codificacion de video, un procesador central, un procesador de graficos, o similares.
El codificador 12 codifica una imagen en una unidad de imagen de entre una secuencia de imagenes de entrada. El codificador puede generar datos de imagen codificados al llevar a cabo estimacion de movimiento, inter prediccion, intra prediccion, transformacion y cuantificacion en una imagen de entrada.
El codificador 12 puede usar cualquier procedimiento de codificacion de video, tal como MPEG 1, 2, 4 y H.26x. Por ejemplo, el codificador 12 puede usar un procedimiento de codificacion de video sobre la base de unidades de codificacion que tengan una estructura de arbol que se describiran mas adelante con referencia a las figuras 8 a 22.
El generador de imagenes 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 imagenes restablecidas 14 puede generar los datos de imagen descodificados al llevar a cabo cuantificacion inversa, transformacion inversa, inter prediccion, compensacion de movimiento e intra prediccion en los datos de imagenes codificados.
La descodificacion llevada a cabo en los datos de imagen codificados por el generador de imagenes restablecidas 14 se puede llevar a cabo como procesos inversos de un procedimiento de codificacion de video llevado a cabo por el codificador 12. Por ejemplo, el aparato de codificacion de video 10 cuando el codificador 12 y el generador de imagenes restablecidas 14 llevan a cabo el procedimiento de codificacion de un video se describira mas adelante con referencia a las figuras 8 a 22.
El generador de imagenes 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 se describira en detalle mas adelante con referencia a las figuras 4 y 5.
El determinador de valores de compensacion y de grupos de pfxeles 16 recibe la imagen de entrada e imagen restablecida enviadas por el generador de imagenes restablecidas 14, determina un valor de compensacion acerca de un error entre cada pixel restablecido de un grupo predeterminado en la imagen restablecida, y un pixel original correspondiente a la imagen de entrada, y determina un grupo de pfxeles que incluye pfxeles restablecidos a compensar usando el valor de compensacion.
El determinador de valores de compensacion y de grupos de pfxeles 16 compara valores de pixel de pfxeles restablecidos adyacentes de entre los pfxeles restablecidos en la imagen restablecida, y determina un nivel de valor extremo y/o de borde que indica una cercama con un valor maximo y un valor mmimo. En lo sucesivo en el presente documento, por razones de conveniencia de explicacion, 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 compensacion y de grupos de pfxeles 16 puede determinar los pfxeles restablecidos adyacentes en grupos de pfxeles que incluyen pfxeles 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 pfxeles restablecidos adyacentes.
El determinador de valores de compensacion y de grupos de pfxeles 16 puede determinar por lo menos un grupo de pfxeles de nivel de valor extremo y/o de borde de entre los grupos de pfxeles clasificados como un grupo de pfxeles que tiene valores de pixel a compensar. El determinador de valores de compensacion y de grupos de pfxeles 16 puede determinar compensar valores de pixel de grupos de pfxeles de niveles de valores extremos y/o de borde mmimos y maximos, o valores de pixel de grupos de pfxeles 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 pfxeles restablecidos adyacentes se describira mas adelante con referencia a la figura 3.
El determinador de valores de compensacion y de grupos de pfxeles 16 puede determinar compensar valores de pixel de grupos de pfxeles de acuerdo con las bandas. El determinador de valores de compensacion y de grupos de pfxeles 16 puede dividir un intervalo total de valores de pixel de los pfxeles restablecidos en una pluralidad de bandas divididas para asignar de esta manera grupos de pfxeles de los pfxeles restablecidos. El determinador de valores de compensacion y de grupos de pfxeles 16 puede clasificar pfxeles restablecidos en la misma banda en grupos de pfxeles de acuerdo con las bandas, sobre la base de los valores de pixel de los pfxeles restablecidos. En el presente caso, todos los valores de pixel de los pfxeles restablecidos en el grupo de pfxeles de acuerdo con las bandas se pueden determinar como compensados, y el determinador de valores de compensacion y de grupos de pfxeles 16 puede determinar por separado un valor de compensacion para cada grupo de pfxeles de acuerdo con las bandas.
5
10
15
20
25
30
35
40
45
50
55
Para un procesamiento de alta velocidad, el intervalo total de los valores de p^xel se puede dividir en un numero de bandas identico a un numero de 2 hasta la potencia de un entero positivo. Para un procesamiento de alta velocidad, cuando un numero de bits mas significativos en una profundidad de bits de una cadena de bits de los pfxeles restablecidos es p, el intervalo total de los valores de pixel se puede dividir en un numero de bandas identico a un numero de 2Ap. Como alternativa, el intervalo total de los valores de pixel puede ser identico a un intervalo de profundidad de bits extendida del pixel restablecido.
El determinador de valores de compensacion y de grupos de pfxeles 16 puede analizar la imagen restablecida, detectar lmeas en una direccion predeterminada y clasificar los pfxeles restablecidos en grupos de pfxeles de acuerdo con lmeas que incluyen pfxeles restablecidos en la misma lmea. Cuando lmeas en varias direcciones, tales como una direccion horizontal, una direccion vertical, una direccion diagonal, una direccion curva y una direccion de lfmite de un objeto predeterminado, se detectan, los pfxeles que forman cada lmea se pueden clasificar en un grupo de pfxeles. El determinador de valores de compensacion y de grupos de pfxeles 16 puede determinar individualmente un valor de compensacion para cada grupo de pfxeles de acuerdo con lmeas.
El determinador de valores de compensacion y de grupos de pfxeles 16 puede determinar un valor promedio de errores entre los pfxeles restablecidos a compensar y pfxeles originales correspondientes como el valor de compensacion. El error entre el pixel restablecido y el pixel original puede incluir una diferencia entre el pixel restablecido y el pixel original, un valor absoluto de la diferencia o un cuadrado de la diferencia. El determinador de valores de compensacion y de grupos de pfxeles 16 puede determinar un valor de compensacion que sera aplicado igualmente a los pfxeles restablecidos completos a compensar, o determinar individualmente un valor de compensacion de acuerdo con grupos de pfxeles clasificados de acuerdo con caractensticas.
El determinador de valores de compensacion y de grupos de pfxeles 16 puede determinar el pixel restablecido a compensar y determinar un valor de compensacion correspondiente, de acuerdo con por lo menos una unidad de datos de entre una secuencia de imagenes, un segmento, una trama y una unidad de codificacion del video de entrada.
El transmisor 18 recibe y codifica el valor de compensacion determinado por el determinador de valores de compensacion y de grupos de pfxeles 16. El transmisor 18 recibe los datos de imagen codificados por el codificador 12, y genera y envfa un flujo de bits que incluye el valor de compensacion 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 codificacion por entropfa, e insertados en un flujo de bits para su transmision.
El transmisor 18 puede recibir informacion adicional acerca de un procedimiento para determinar un grupo de pfxeles del determinador de valores de compensacion y de grupos de pfxeles, y codificar e insertar la informacion 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 lmeas tal como se describio en lo que antecede, la informacion que indique como el valor de compensacion se emplea y un grupo de pfxeles que usa el valor de compensacion puede ser transmitida.
Cuando el generador de imagenes restablecidas 14 lleva a cabo el filtrado de lazo adaptativo, el transmisor 18 puede recibir informacion acerca de un coeficiente de filtro de lazo para el filtrado de lazo adaptativo, y codificar insertar la informacion en el flujo de bits. El aparato de codificacion de video 10 puede dividir la imagen en partes de una forma cuadrada, una forma rectangular o incluso forma irregular y llevar a cabo correccion selectiva solo para grupos espedficos de pfxeles en una region concreta. Sobre la base de las partes divididas de la imagen, valores de pixel se pueden compensar en forma adaptativa a los contenidos de la imagen. Asimismo, el aparato de codificacion de video 10 puede transmitir informacion que se refiera a grupos de pfxeles que seran corregidos mediante senalizacion explfcita y senalizacion implfcita.
El aparato de codificacion de video 10 puede proporcionar la informacion acerca del valor de compensacion obtenido durante la codificacion 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 compensacion se determina de acuerdo con los grupos de pfxeles, una cantidad de bits de transmision se puede reducir al solo codificar y transmitir la informacion acerca del valor de compensacion, sin tener que codificar y transmitir informacion acerca de una ubicacion de pfxeles individuales.
La figura 2 es un diagrama de bloques de un aparato de descodificacion de video 20 para compensar un valor de pixel.
El aparato de descodificacion de video 20 incluye un extractor 22, un generador de imagenes restablecidas 24, un determinador de grupos de pfxeles 26 y un compensador de pfxeles restablecidos 28. Las operaciones del extractor 22, el generador de imagenes restablecidas 24, el determinador de grupos de pfxeles 26 y el compensador de pfxeles restablecidos 28 del aparato de descodificacion de video 20 se pueden controlar organicamente por un procesador de descodificacion de video, un procesador central, un procesador de graficos, o similares.
El extractor 22 recibe y analiza un flujo de bits acerca de una imagen codificada, y extrae datos de imagen codificados e informacion relacionada con un valor de compensacion del flujo de bits. La informacion relacionada con el valor de compensacion puede incluir informacion acerca del valor de compensacion. Cuando la informacion
5
10
15
20
25
30
35
40
45
50
55
relacionada con el valor de compensacion incluye ademas informacion acerca de un procedimiento para determinar un grupo de pfxeles a compensar usando el valor de compensacion, el extractor 22 puede extraer el valor de compensacion y la informacion acerca del procedimiento del flujo de bits. El extractor 22 puede extraer por lo menos uno del valor de compensacion y la informacion relacionada con el valor de compensacion de acuerdo con por lo menos una unidad de datos de entre una secuencia de imagenes, un segmento, una trama y una unidad de codificacion de un video de entrada.
El extractor 22 puede extraer informacion de codificacion, tal como un procedimiento de codificacion y un modo de codificacion, que se use para descodificar los datos de imagen codificados. Cuando informacion 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 informacion acerca del coeficiente de filtro de lazo del flujo de bits.
El generador de imagenes restablecidas 24 recibe los datos de imagen codificados, la informacion de codificacion y la informacion 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 descodificacion de los datos de imagen codificados se pueden llevar a cabo como procesos inversos de un procedimiento de codificacion de video 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 codificacion de video a base de unidades de codificacion que tienen una estructura de arbol, el generador de imagenes restablecidas 24 puede descodificar los datos de imagen codificados de acuerdo con un procedimiento de descodificacion de video sobre la base de unidades de codificacion que tengan una estructura de arbol.
El generador de imagenes 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 pfxeles 26 puede recibir la imagen almacenada generada por el generador de imagenes restablecidas 24, y la informacion relacionada con el valor de compensacion extrafdo por el extractor 22, y determinar un grupo de pfxeles que incluya pfxeles restablecidos a compensar usando el valor de compensacion, de entre pfxeles restablecidos de un grupo predeterminado en la imagen restablecida. El compensador de pfxeles restablecidos 28 recibe el valor de compensacion extrafdo por el extractor 22, y la informacion acerca del grupo de pfxeles determinado por el determinador de grupos de pfxeles 26, y compensa los valores de pixel de los pfxeles restablecidos usando el valor de compensacion y envfa la imagen restablecida que tiene los valores de pixel restablecidos.
Cuando la informacion acerca del procedimiento para determinar el grupo de pfxeles se extrae por el extractor 22, el determinador de grupos de pfxeles 26 puede determinar el grupo de pfxeles que tenga los valores de pixel a compensar usando el procedimiento. Por ejemplo, el determinador de grupos de pfxeles 26 puede determinar si se clasifican los pfxeles restablecidos de acuerdo con niveles de valor extremos y/o de borde, bandas de valores de pixel o lmeas, y determinar el grupo de pfxeles sobre la base del procedimiento.
El determinador de grupos de pfxeles 26 puede determinar un nivel de valor extremo y/o de borde de acuerdo con pfxeles restablecidos al comparar valores de pixel de pfxeles restablecidos adyacentes en la imagen restablecida.
El determinador de grupos de pfxeles 26 puede clasificar los pfxeles restablecidos adyacentes sobre la base de los niveles de valor extremo y/o de borde, y determinar un grupo de pfxeles que incluya los pfxeles restablecidos de por lo menos un nivel de valor extremo y/o de borde predeterminado como un grupo de pfxeles que incluya pfxeles restablecidos que tengan valores de pixel a compensar usando el valor de compensacion. El compensador de pfxeles restablecidos 28 puede compensar los valores de pixel de los pfxeles restablecidos en el grupo de pfxeles determinado, mediante el uso del valor de compensacion.
Como alternativa, el determinador de grupos de pfxeles 26 puede clasificar los pfxeles restablecidos en la imagen restablecida en grupos de pfxeles de acuerdo con las bandas, sobre la base de bandas obtenidas al dividir una seccion total de los valores de pixel. El compensador de pfxeles restablecidos 28 puede compensar los valores de pixel de los pfxeles restablecidos en el grupo de pfxeles de acuerdo con las bandas, usando un valor de compensacion de acuerdo con las bandas para los pfxeles restablecidos en el grupo de pfxeles de acuerdo con las bandas.
La seccion total de los valores de pixel puede ser dividida en un numero de bandas igual a un numero de 2 hasta la potencia de un entero positivo. En el presente caso, un mdice del numero de 2 hasta la potencia de un entero positivo se puede determinar sobre la base de un numero de bits mas significativos en una profundidad de bits de los pfxeles restablecidos. Asimismo, la seccion total de los valores de pixel puede ser un intervalo de profundidad de bits extendida de los pfxeles restablecidos.
El determinador de grupos de pfxeles 26 puede clasificar los pfxeles restablecidos de la imagen restablecida en grupos e pfxeles de acuerdo con lmeas. El compensador de pfxeles restablecidos 28 puede compensar valores de
5
10
15
20
25
30
35
40
45
p^xel de los pfxeles restablecidos en el grupo de p^xeles de acuerdo con lmeas, usando un valor de compensacion para el grupo de pfxeles de acuerdo con lmeas. El determinador de grupos de pfxeles 26 puede detectar p^xeles restablecidos que formen lmeas en por lo menos una direccion horizontal, una direccion vertical, una direccion diagonal, una direccion curva o una direccion de lfmite de un objeto predeterminado, de entre los pfxeles restablecidos de la imagen restablecida.
El valor de compensacion se puede determinar y transmitir usando un valor promedio de errores entre los pfxeles restablecidos y pfxeles originales correspondientes durante la codificacion. El compensador de pfxeles restablecidos 28 puede compensar todos los valores de pixel de los pfxeles restablecidos a compensar usando un valor de compensacion. Como alternativa, cuando el valor de compensacion extrafdo por el extractor 22 se establece de acuerdo con grupos de pfxeles, el compensador de pfxeles restablecidos 28 puede compensar los valores de pixel usando el valor de compensacion determinado individualmente de acuerdo con los grupos de pfxeles.
El aparato de codificacion de video 10 y el aparato de descodificacion de video 20 pueden compensar un error sistematico generado entre una imagen restablecida y una imagen original cuando una imagen codificada sea descodificada y restablecida. El aparato de codificacion de video 10 puede transmitir informacion con respecto a grupos de pfxeles que seran corregidos por senalizacion explfcita y senalizacion implfcita. El aparato de codificacion de video 10 y el aparato de descodificacion de video 20 pueden dividir la imagen en partes de una forma cuadrada, una forma rectangular o incluso una forma irregular y llevar a cabo la correccion selectiva solo para grupos espedficos de pfxeles en una region concreta. Sobre la base de las partes divididas de la imagen, valores de pixel pueden ser compensados en forma adaptativa a los contenidos de la imagen.
Como un ejemplo del error sistematico entre la imagen, restablecida y la imagen original, el valor promedio de los errores de valores de pixel entre pfxeles restablecidos en un grupo predeterminado y pfxeles originales correspondientes puede no ser 0. En consecuencia, el aparato de codificacion de video 10 y el aparato de descodificacion de video 20 compensan el error entre el pixel restablecido y el pixel original.
El determinador de valores de compensacion y de grupos de pfxeles 16 puede determinar un valor de compensacion de acuerdo con la siguiente ecuacion 1.
[Ecuacion 1]
M
Z (0rs >ym)~ Rec (*m,ym))
corr = —----------------------------------------------------------------------------------------------
M
En el presente caso, m indica un entero de 1 a M, y un valor promedio corr de errores entre valores de pixel Org (xm, ym) de un pixel original y valores de pixel Rec (xm, ym) de un pixel restablecido se pueden usar como un valor de compensacion de grupos de pfxeles {(xm, ym)} incluyendo pfxeles en las ubicaciones (xm, ym).
El compensador de pfxeles restablecidos 28 puede compensar valores de pixel de pfxeles restablecidos en un grupo de pfxeles de acuerdo con la siguiente ecuacion 2.
[Ecuacion 2]
Reccorregido (xm, ym) = Rec (xm, ym) + corr
El compensador de pfxeles restablecidos 28 puede compensar los valores de pixel Rec (xm, ym) del pixel restablecido usando el valor de compensacion corr, y valores de pixel de salida Reccorregido (xm, ym) de acuerdo con pfxeles como resultados de compensar los valores de pixel Rec (xm, ym) en grupos de pfxeles {(xm, ym)}.
El aparato de codificacion de video 10 y el aparato de descodificacion de video 20 pueden clasificar los pfxeles restablecidos de acuerdo con una norma predeterminada, para determinar de este modo los grupos de pfxeles que tengan los valores de pixel a compensar.
Los grupos de pfxeles se pueden clasificar de acuerdo con niveles de valor extremo y / o de borde. Un valor extremo y/o de borde local incluye un valor mmimo local y un valor maximo local. Un valor mmimo local f (xmin, ymin) y un valor maximo local f (xmax, ymax) 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 funcion cuadratica f (x, y).
[Ecuacion 3]
f (x y) > f ^min, ym^n), si 1 xmin - x 1 + 1 ymin - y|<^y £>°.
5
10
15
20
25
30
35
40
45
50
55
[Ecuacion 4]
f (x, y) < f (Xmax, ymax), si | Xmax - x | + | ymax - y | < £ (en donde, £ > 0).
Asimismo, el valor mmimo local f(xmin, ymin) y el valor maximo local f(xmax, ymax) se pueden definir, de forma respectiva, en las ecuaciones 5 y 6 en lo sucesivo, con respecto a un pixel de senal discrete (x, y).
[Ecuacion 5]
f ^min, ymin) < (xmin + 1 ymin) f ^min ymin) < (xmin - 1, ymin) f ^min ymin) < ^min ymin + 1) f ^min ymin) < ^min, ymin - 1).
[Ecuacion 6]
f (xmax, ymax) < (xmax + 1, ymax) f (xmax, ymax) < (xmax - 1, ymax) f (xmax, ymax) < (xmax, ymax + 1) f (xmax, ymax) < (xmax, ymax - 1).
El aparato de codificacion de v^deo 10 y el aparato de descodificacion de video 20 pueden determinar pfxeles que correspondan al valor extremo y/o de borde de entre pfxeles restablecidos adyacentes predeterminados en lmeas horizontales y verticales, de acuerdo con las ecuaciones 5 y 6. Asimismo, mas pfxeles adyacentes, incluyendo, por ejemplo pfxeles (xmax + 1, ymax + 1), (xmax -1) / (xmax + 1, ymax -1) y (xmax -1, ymax -1) en lmeas diagonales, pueden ser incluidos a procesos de clasificacion de pfxeles. Los pfxeles predeterminados pueden ser excluidos de grupos de pfxeles. Por ejemplo, si solo pfxeles en la misma lmea pueden ser clasificados en un grupo de pfxeles, otros pfxeles lejos de la lmea correspondiente pueden ser excluidos del grupo de pfxeles.
Se puede generar un fenomeno de planarizacion por un sistema de codificacion y descodificacion de video general. En consecuencia, un valor mmimo local en una imagen restablecida es mas alto que un valor de pixel de una imagen original, y un error entre valores mmimos locales de la imagen restablecida y la imagen original es un valor positivo. Asimismo, un valor maximo local en la imagen restablecida es mas bajo que un valor de pixel de la imagen original, y un error entre valores maximos locales de la imagen restablecida y la imagen original es un valor negativo.
En consecuencia, el aparato de codificacion de video 10 y el aparato de descodificacion de video 20 pueden determinar valores promedio de errores de valores mmimos locales y valores maximos locales de un grupo de pfxeles predeterminado entre una imagen restablecida y una imagen original, y compensar valores de pixel y pfxeles restablecidos en el grupo de pfxeles predeterminado. En lo sucesivo en el presente documento, se describira con referencia a la figura 3 un procedimiento para determinar un nivel de valor extremo y/o de borde de pfxeles restablecidos de un grupo de pfxeles predeterminado, el cual se lleva a cabo por el determinador de valores de compensacion y de grupos de pfxeles 16 del aparato de codificacion de video 10, y el determinador de grupos de pfxeles 26 del aparato de descodificacion de video 20.
La figura 3 ilustra pfxeles restablecidos adyacentes 32, 34, 35 y 37 que se compararan con un pixel restablecido actual 30 para determinar de este modo un nivel de valor extremo y/o de borde del pixel restablecido actual 30. Por razones de conveniencia de explicacion, la figura 3 ilustra solo pfxeles restablecidos adyacentes 32, 34, 35 y 37. No obstante, pfxeles comparados con el pixel restablecido actual 30 no se limitan a pfxeles restablecidos adyacentes 32, 34, 35 y 37 en lmeas horizontales y verticales.
El determinador de valores de compensacion y de grupos de pfxeles 16 y el determinador de grupos de pfxeles 26 pueden determinar un nivel de valor extremo y/o de borde del pixel restablecido actual 30 al comparar los pfxeles restablecidos adyacentes 32, 34, 35 y 37 que esten dispuestos en la parte superior, izquierda, derecha e inferior del pixel restablecido actual 30, de forma respectiva, con el pixel restablecido actual 30. Cuando un parametro 'Pixel_Type' indica el nivel de valor extremo y/o de borde del pixel restablecido actual 30, Rec [x] [y] indica un valor de pixel del pixel 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 pixel de los pfxeles restablecidos adyacentes, el nivel de valor extremo y/o de borde puede ser determinado como las siguientes formulas de clasificacion:
Pixel_Type =
0;
si
(Rec [x] [y] > Rec
si
(Rec [x] [y] < Rec
si
(Rec [x] [y] > Rec
si
(Rec [x] [y] < Rec
si
(Rec [x] [y] > Rec
si
(Rec [x] [y] < Rec
si
(Rec [x] [y] > Rec
si
(Rec [x] [y] < Rec
[x -1] [y]) Pixel_Type ++; [x -1] [y] Pixel_Type --;
[x + 1] [y]) Pixel_Type ++; [x + 1] [y]) Pixel_Type --; [x] [y -1]) Pixel_Type ++; [x] [y -1]) Pixel_Type --; [x] [y + 1]) Pixel_Type ++; [x] [y + 1]) Pixel_Type --.
5
10
15
20
25
30
35
40
45
50
55
Los valores maximos y mmimos de 'Pixel_Type' se pueden suponer como + 4 y - 4.
Si el patron de clasificacion de pfxeles tiene una forma diferente a la del patron de clasificacion de p^xeles a modo de ejemplo mostrado en la figura 3, entonces las formulas de clasificacion deben ser modificadas correspondientemente. Por ejemplo, durante deteccion de borde en la direccion diagonal del angulo de 45°, los pfxeles 31 y 38 se comparan con el pixel actual 30. El nivel de valor extremo y/o de borde se puede determinar como las siguientes formulas de clasificacion 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 maximos y mmimos 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 pixel de los pfxeles restablecidos adyacentes 32, 34, 35 y 37 en un intervalo predeterminado del pixel restablecido actual 30 con un valor de pixel del pixel restablecido actual 30. Cuando el nivel de valor extremo y/o de borde del pixel restablecido actual 30 es un nivel de valor extremo y/o de borde maximo, es decir, M, el pixel restablecido actual 30 se puede determinar como un pixel maximo local, y cuando el nivel de valor extremo y/o de borde del pixel restablecido actual 30 sea un nivel de valor extremo y/o de borde mmimo, es decir, - M, el pixel restablecido actual 30 se puede determinar como un pixel mmimo local. Un valor de M se puede determinar sobre la base de un numero predeterminado de los pfxeles restablecidos adyacentes analizados. El determinador de valores de compensacion y de grupos de pfxeles 16 y el determinador de grupos de pfxeles 26 pueden determinar pfxeles restablecidos determinados como un pixel maximo local y un pixel mmimo local como pfxeles a compensar.
De esta manera, el determinador de valores de compensacion y de grupos de pfxeles 16 y el determinador de grupos de pfxeles 26 determinan los valores de valor extremo y/o de borde de los pfxeles restablecidos en una unidad de datos actual, y determinan un grupo de pfxeles que incluye pfxeles restablecidos que tienen el nivel de valor extremo y/o de borde de M y un grupo de pfxeles que incluye los pfxeles restablecidos que tienen el nivel de valor extremo y/o de borde de - M. El determinador de valores de compensacion y de grupos de pfxeles 16 puede determinar el valor promedio de los errores de los valores de pixel entre los pfxeles restablecidos y pfxeles originales correspondientes de acuerdo con grupos de pfxeles, y determinar el valor de compensacion sobre la base del valor promedio. El determinador de grupos de pfxeles 26 y el compensador de pfxeles restablecidos 28 pueden compensar los valores de pixel de los pfxeles restablecidos de acuerdo con grupos de pfxeles, mediante el uso del valor de compensacion extrafdo de la informacion recibida acerca del valor de compensacion.
El determinador de valores de compensacion y de grupos de pfxeles 16 y el determinador de grupos de pfxeles 26 pueden determinar un grupo de pfxeles que incluya pfxeles restablecidos adyacentes al pixel maximo local y pixel mmimo local como un objetivo a compensar. En consecuencia, el determinador de valores de compensacion y de grupos de pfxeles 16 y el determinador de grupos de pfxeles 26 pueden determinar valores de compensacion para niveles de valor extremo y/o de borde en un intervalo predeterminado que incluya el nivel de valor extremo y/o de borde maximo y el nivel de valor extremo y/o de borde mmimo. Por ejemplo, debido a que el nivel de valor extremo y/o de borde maximo es M tal como se describio en lo que antecede, pfxeles restablecidos que tengan un nivel de valor extremo y/o de borde de M -1 son adyacentes al pixel maximo local.
En consecuencia, el determinador de valores de compensacion y de grupos de pfxeles 16 y el determinador de grupos de pfxeles 26 pueden determinar grupos de pfxeles que incluyan pfxeles restablecidos que tengan un nivel de valor extremo y/o de borde mas alto que un valor positivo predeterminado como grupos de pfxeles adyacentes al nivel de valor extremo y/o de borde maximo, y grupos de pfxeles que incluyan pfxeles restablecidos que tengan un nivel de valor extremo y/o de borde mas bajo que un valor negativo predeterminado como grupos de pfxeles adyacentes al nivel de valor extremo y/o de borde mmimo. Por ejemplo, cuando un nivel de valor extremo y/o de borde es mas alto que m o mas 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 compensacion de acuerdo con niveles de valor extremo y/o de borde puede ser determinado.
Como alternativa, el determinador de valores de compensacion y de grupos de pfxeles 16 puede calcular el valor promedio de los errores entre los pfxeles restablecidos y los pfxeles originales correspondientes de acuerdo con grupos de pfxeles adyacentes al nivel de valor extremo y/o de borde maximo, y determinar el valor de compensacion de acuerdo con los grupos de pfxeles. Asimismo, el determinador de grupos de pfxeles 26 y el compensador de pfxeles restablecidos 28 pueden compensar los valores de pixel de los pfxeles restablecidos de acuerdo con grupos de pfxeles, usando los valores de compensacion de acuerdo con grupos de pfxeles, los cuales sean extrafdos de la informacion acerca del valor de compensacion.
En el presente caso, los 4 pfxeles restablecidos adyacentes 32, 34, 35 y 37 dispuestos en la parte superior, izquierda, derecha y fondo del pixel restablecido actual 30, de forma respectiva, se usan para determinar el nivel de
5
10
15
20
25
30
35
40
45
50
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 pixel restablecido actual 30.
Como alternativa, el aparato de codificacion de video 10 y el aparato de descodificacion de video 20 pueden clasificar valores de pixel en un numero de bandas igual a o por encima de un numero predeterminado.
Por ejemplo, cuando una profundidad de bit de pfxeles restablecidos es N, un intervalo total de valores de pixel Rec [x] [y] de los pfxeles restablecidos es 0 < Rec [x] [y] < (2AN) -1. En otras palabras, un valor maximo Max del valor de pixel Rec [x] [y] es (2AN) -1, y una seccion de los pfxeles restablecidos es [0, Max]. El determinador de valores de compensacion y de grupos de pfxeles 16 y el determinador de grupos de pfxeles 26 puede dividir la seccion de los pfxeles restablecidos en L bandas. En otras palabras, la banda del pixel restablecido se puede dividir en [0, (Max + 1) / L -1], [Max/L, 2 * (Max + 1) / L -1], y [2*Max/L, 3 * (Max + 1) / L -1] a [(L -1) * Max / L, L * (max + 1) / L -1].
Datos originales reales pueden estar dentro de la horquilla [Mm, Max]. Un valor mmimo Mm y un valor maximo Max no son obligatoriamente iguales a 0 y (2AN)-1, de forma respectiva. El numero de valores diferentes se puede corresponder con un intervalo de datos originales reales, es decir, 'Intervalo = Max - Mm + 1'. Si las bandas de los pfxeles restablecidos se dividen de manera uniforme, las bandas uniformes se dividen en [Mm, Intervalo / L -1], [Max / L, 2 * Intervalo / L -1] y [2 * Max / L, 3 * Intervalo / L -1] a [(L -1) * Intervalo / L, Max]. En otros ejemplos, las bandas de los pfxeles restablecidos pueden ser divididas de manera no uniforme.
El numero L de las bandas divididas de la seccion [0, Max] de los pfxeles restablecidos puede ser un multiplo de 2, y puede ser 16 o mas para calculo rapido. Asimismo, para calculo rapido, el numero L se puede determinar de tal manera que un numero p de bits mas significativos de los pfxeles restablecidos este dentro de un mdice de 2. Por ejemplo, cuando los bits mas significativos del pixel restablecido es 4 bits (p = 4), y una profundidad de bit extendida de los pfxeles restablecidos es 12 bits, el numero L puede ser 2Ap = 16. En consecuencia, la banda de los pfxeles 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 pixel de pixel restablecido
[0, 255] [256, 511] [512, 767] [3840, 4095]
Expresion hexadecimal de valor de pixel
[0x0000, 0x00FF] [0x0100, 0x01FF] [0x0200, 0x02FF] [0x0F00, 0x0FFF]
Debido a que el calculo de bits se lleva a cabo facilmente cuando la banda de los valores de pixel se divide sobre la base del numero de bits mas significativos de los pfxeles restablecidos, el determinador de grupos de pfxeles 26 puede llevar a cabo eficientemente calculo para determinar la banda.
El determinador de valores de compensacion y de grupos de pfxeles 16 y el determinador de grupos de pfxeles 26 pueden clasificar pfxeles restablecidos en las mismas bandas en un grupo de pfxeles de acuerdo con las bandas. Las bandas pueden ser divididas sobre la base de valores mmimo y maximo reales de una senal original o reconstruida.
Un valor promedio de errores entre los pfxeles restablecidos incluidos en el grupo de pfxeles de acuerdo con las bandas, y los pfxeles originales no es 0. En consecuencia, el determinador de valores de compensacion y de grupos de pfxeles 16 puede determinar un valor de compensacion usando el valor promedio de acuerdo con las bandas. Asimismo, el determinador de grupos de pfxeles 26 y el compensador de pfxeles restablecidos 28 pueden compensar valores de pixel de los pfxeles restablecidos en el grupo de pfxeles de acuerdo con las bandas, usando los valores de compensacion de acuerdo con las bandas.
Como alternativa, el aparato de codificacion de video 10 y el aparato de descodificacion de video 20 pueden clasificar pfxeles restablecidos en grupos de pfxeles que incluyan pfxeles restablecidos que formen una lmea predeterminada.
El determinador de valores de compensacion y de grupos de pfxeles 16 y el determinador de grupos de pfxeles 26 pueden analizar caractensticas de imagen de la imagen restablecida, y detectar lmeas en una direccion vertical, direccion horizontal, una direccion diagonal, una direccion curva y una direccion de lfmite de un objeto predeterminado. El determinador de valores de compensacion y de grupos de pfxeles 16 y el determinador de grupos de pfxeles 26 pueden determinar pfxeles restablecidos que formen la misma lmea que un grupo de pfxeles de acuerdo con lmeas.
Un valor promedio de errores de valores de pixel entre pfxeles restablecidos incluidos en el grupo de pfxeles de acuerdo con lmeas, y pfxeles originales tampoco es 0. El determinador de valores de compensacion y de grupos de pfxeles 16 puede determinar un valor de compensacion usando el valor promedio de acuerdo con lmeas. El
5
10
15
20
25
30
35
40
45
50
determinador de grupos de p^xeles 26 y el compensador de p^xeles restablecidos 28 puede compensar valores de p^xel de los pfxeles restablecidos en el grupo de pfxeles de acuerdo con lmeas, mediante el uso del valor de compensacion de acuerdo con lmeas.
El determinador de valores de compensacion y de grupos de pfxeles 16 y el determinador de grupos de pfxeles 26 pueden determinar el valor de compensacion de acuerdo con niveles de valor extremo y/o de borde, de acuerdo con unidades de datos, tales como secuencias de imagenes, tramas o bloques de un video. El transmisor 18 puede codificar y transmitir la informacion relacionada con el valor de compensacion como informacion de sobrecarga. La precision del valor de compensacion se incrementa al reducirse una unidad de datos para determinar el valor de compensacion de acuerdo con niveles de valor extremo y/o de borde, pero la sobrecarga se puede incrementar toda vez que una informacion adicional para codificar y transmitir la informacion relacionada con el valor de compensacion se puede incrementar.
Asimismo, el extractor 22 puede extraer la informacion relacionada con el valor de compensacion de informacion de sobrecarga o informacion de encabezado de segmento y compensar los valores de pixel de los pfxeles restablecidos usando el valor de compensacion.
Los generadores de imagenes 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 imagenes restablecidas 14 y 24 pueden restablecer una imagen actual al llevar a cabo continuamente un filtrado unidimensional en una direccion horizontal y en una direccion vertical, de acuerdo con el filtrado de lazo adaptativo.
El transmisor 18 del aparato de codificacion de video 10 puede codificar y enviar un coeficiente de filtro usado en el filtrado de lazo adaptativo. Asimismo, debido a que un tipo, un numero, un tamano, un bit de codificacion, un coeficiente, una direccion de filtrado de cada filtro unidimensional, y si un filtrado y un filtrado por ejecucion se llevan a cabo se puede establecer para el filtrado de lazo adaptativo, informacion acerca de un conjunto de filtros unidimensionales de filtrado de lazo se puede codificar y transmitir.
El generador de imagenes restablecidas 24 puede inducir un coeficiente de filtro de cada filtro unidimensional usando informacion residual del coeficiente de filtro extrafdo del extractor 22.
Por ejemplo, un coeficiente de filtro actual de cada filtro unidimensional puede ser inducido al anadir 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 comprension, el filtrado de lazo usando el filtrado unidimensional continuo en una direccion horizontal y una direccion vertical se describira con referencia a las siguientes ecuaciones.
El coeficiente de filtro actual se puede inducir de acuerdo con la siguiente ecuacion 7.
[Ecuacion 7]
c [i] [j] = adaptive_loop_filter_prev [i] [j] + adaptive_loop_filter [i] [j].
En el presente caso, i indica un mdice de un filtro unidimensional y j indica un mdice 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 informacion 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 despues 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 mdice en una direccion de un ancho de una imagen actual y j indica un mdice en una direccion de alto de la imagen actual.
[Ecuacion 8]
qi,j = (pij.4 * c [0] [4] + pij.3 * c [0] [3] + pU-2 * c [0] [2] + pU-1 * c [0] [1] + pu * c [0] [0] + pu+1 * c [0] [1] + pu+2 * c [0] [2] + pi,j+3*c[0] [3] + pi,j+4 * c [0] [4]).
En el presente caso, pij indica datos desbloqueados de la imagen actual, y qy indica datos filtrados de forma unidimensional en una direccion horizontal con respecto a los datos desbloqueados. Se usan 5 coeficientes de filtro para filtrar simetricamente 9 piezas de datos desbloqueados, usando un coeficiente de filtro c de un filtro simetrico.
5
10
15
20
25
30
35
40
45
50
[Ecuacion 9]
fu = (qu.4 * c [1] [4] + qi,j-3 * c [1] [3] + qU-2 * c[1][2] + qU-i * c [1] [1] + qu * c [1][0] + qu+1 * c [1] [1] + qu+2 * c [1] [2] +
qi,j+3 * c [1] [3] + q i,j+4 * C [1] [4]).
En el presente caso, fy indica datos filtrados de forma unidimensional en una direccion 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 ejecucion, el filtrado unidimensional se lleva a cabo continuamente en una direccion vertical en los datos filtrados de forma unidimensional en una direccion horizontal.
En el filtro simetrico, un filtro unidimensional es capaz de establecer coeficientes de todos los filtros solo al usar una pequena cantidad de coeficientes, en comparacion con un filtro bidimensional. En consecuencia, bits relacionados con caractensticas de filtro de una pluralidad de filtros unidimensionales, los cuales se insertan en un flujo de bits de transmision, pueden ser relativamente bajos en comparacion con un filtro bidimensional.
Asimismo, la capacidad de memoria para almacenar datos temporales durante el filtrado es mas pequena en el filtro unidimensional que en el filtro bidimensional. La emision de filtrado del filtro bidimensional es notablemente grande en comparacion con la del filtrado unidimensional. En el filtrado por ejecucion, no es posible llevar a cabo un proceso paralelo de acuerdo con un filtrado multiple 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 numero predeterminado de filtros unidimensionales llevan a cabo un filtrado unidimensional, en donde cada filtrado unidimensional se lleve a cabo en una direccion predeterminada.
El aparato de descodificacion de video 20 puede recibir informacion acerca de un conjunto de filtros unidimensionales, aparte de la informacion acerca del coeficiente de filtro, para de esta manera verificar un tipo, un numero, un tamano, un bit de cuantificacion, un coeficiente, una direccion de filtrado de cada filtro unidimensional, y si se estan llevando a cabo un filtrado y un filtrado por ejecucion. En consecuencia, el generador de imagenes 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 imagenes restablecidas 14 y 24 se describira a continuacion 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 operacion 41, datos de imagen descodificados son recibidos. Como alternativa, datos de imagen en los cuales se lleve a cabo un filtrado de desbloqueo despues de la descodificacion pueden ser recibidos. En la operacion 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 operacion 46. Si se determina que el primero a N filtros van a ser usados en la operacion 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 direccion de filtrado en la operacion 43 y el segundo filtro lleva a cabo un filtrado unidimensional en una segunda direccion de filtrado en la operacion 44, hasta que el N-esimo filtro lleve a cabo un filtrado unidimensional en una N-esima direccion de filtrado en la operacion 45.
En la operacion 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 direccion de filtrado de un filtro unidimensional se puede determinar en forma adaptativa de acuerdo con caractensticas de una imagen local, al analizar las caractensticas. Por ejemplo, la direccion de filtrado se puede determinar en forma adaptativa como una direccion 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 de acuerdo con otro ejemplo.
Cuando datos de imagen descodificados o datos de imagen desbloqueados se reciben en la operacion 51, se detecta un borde para cada pixel de los datos de imagen descodificados o datos de imagen desbloqueados en la operacion 52. En la operacion 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 operacion 54.
Informacion acerca de un conjunto de filtros unidimensionales que incluyen una direccion de filtrado determinada de acuerdo con el borde se codifique y proporciona a un descodificador mientras se codifica un video. Informacion acerca de un filtro de lazo es lefda de datos recibidos mientras se descodifica un video, y un filtrado unidimensional de acuerdo con una direccion de filtrado, tal como una direccion 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 distorsion entre una imagen original y una imagen restablecida, que se generen debido a una compresion de perdida 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 prediccion o compensacion de movimiento.
En consecuencia, los generadores de imagenes restablecidas 14 y 24 pueden llevar a cabo de forma selectiva un filtrado de lazo adaptativo considerando caractensticas de una imagen, un ambiente de sistema, o necesidades de usuario al combinar filtros unidimensionales que tengan diferentes caractensticas. 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 terminos de memoria, produccion, cantidad de bits de transmision, etc., en comparacion con el filtro bidimensional. Cuando los generadores de imagenes restablecidas 14 y 24 llevan a cabo un filtrado de lazo adaptativo, el transmisor 18 y el extractor 22 transmite y reciben informacion obtenida al codificar un componente residual de un coeficiente de filtro codificado, y de esta manera una cantidad de informacion 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 video para compensar un valor de pixel.
En la operacion 62, se codifica una secuencia de imagenes de entrada. En la operacion 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 operacion de filtrado unidimensional se lleve a cabo continuamente en los datos de imagen descodificados o datos de imagen desbloqueados.
En la operacion 66, un valor de compensacion acerca de un error entre cada pixel restablecido de un grupo predeterminado en la imagen restablecida, y una imagen original correspondiente, y un grupo de pfxeles que incluye pfxeles restablecidos a compensar son determinados. El grupo de pfxeles que incluye los pfxeies restablecidos a compensar se puede determinar de acuerdo con niveles de valor extremo y / o de borde de valores de pixel, bandas de valores de pixel o lmeas. El valor de compensacion de acuerdo con grupos de pfxeles se puede determinar sobre la base de un valor promedio de los errores.
En la operacion 68, el valor de compensacion es codificado, y se transmite un flujo de bits del valor de compensacion codificado y la secuencia de imagenes de entrada codificada. Cuando el valor de compensacion se determina de acuerdo con grupos de pfxeles mas detallados, los valores de pixel 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 video para compensar un valor de pixel, de acuerdo con una realizacion a modo de ejemplo.
En la operacion 72, un flujo de bits acerca de una imagen codificada es recibido y analizado, y datos de imagen codificados y un valor de compensacion son extrafdos del flujo de bits.
En la operacion 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 operacion de filtrado unidimensional se lleva a cabo continuamente en los datos de imagen descodificados o datos de imagen desbloqueados.
En la operacion 76, un grupo de pfxeles que incluye pfxeles restablecidos a compensar usando el valor de compensacion se determina de entre pfxeles restablecidos en la imagen restablecida. El grupo de pfxeles que incluye los pfxeles restablecidos a compensar usando el valor de compensacion se puede determinar de acuerdo con niveles de valor extremo y / o de borde de valores de pixel de los pfxeles restablecidos, bandas de los valores de pixel, o lmeas, de acuerdo con un procedimiento para determinar un grupo de pfxeles, sobre la base de informacion relacionada con el valor de compensacion. En la operacion 78, la imagen restablecida que tiene un error compensado puede ser enviada mediante la compensacion de un error entre pfxeles restablecidos del grupo de pfxeles determinado y pfxeles originales usando el valor de compensacion.
De acuerdo con el procedimiento para codificar un video y el procedimiento para descodificar un video, la calidad de la imagen restablecida puede ser mejorada mediante la compensacion de un error sistematico de la imagen restablecida, y la cantidad de bits de transmision de informacion adicional para mejorar la calidad de la imagen restablecida se puede reducir debido a que solo la informacion acerca del valor de compensacion de acuerdo con grupos de pfxeles es codificada y transmitida, e informacion acerca de ubicaciones de pfxeles restablecidos a compensar no es transmitida.
En lo sucesivo en el presente documento, se describiran con referencia a las figuras 8 a 22 la codificacion y descodificacion de un video para compensar un valor de pixel despues de llevar a cabo un filtrado de lazo sobre la base de unidades de codificacion que tienen una estructura de arbol.
La figura 8 es un diagrama de bloques de un aparato de codificacion de video 80 para codificar un video para
5
10
15
20
25
30
35
40
45
50
55
compensar un valor de p^xel despues de llevar a cabo un filtrado de lazo sobre la base de unidades de codificacion que tienen una estructura de arbol.
El aparato de codificacion de video 80 incluye un codificador 81, un generador de imagenes restablecidas 84, un determinador de valores de compensacion y de grupos de pfxeles 87 y un transmisor 88. El codificador 81 incluye un divisor de unidades de codificacion maximas 82 y un determinador de profundidad codificada y de modo de codificacion 83. El generador de imagenes restablecidas 84 incluye un descodificador 85 y un realizador de filtrado de lazo 86.
El codificador 81 codifica una secuencia de imagenes de entrada. El codificador 81 puede codificar la secuencia de imagenes de entrada sobre la base de unidades de codificacion que tengan una estructura de arbol. El divisor de unidades de codificacion maximas 82 puede dividir una imagen actual sobre la base de una unidad de codificacion maxima para la imagen actual de una imagen. La unidad de codificacion maxima puede ser una unidad de datos que tenga un tamano 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 mas grande que la unidad de codificacion maxima, datos de imagen de la imagen actual pueden ser divididos en la por lo menos una unidad de codificacion maxima. Los datos de imagen pueden ser enviados al determinador de profundidad codificada y de modo de codificacion 83 de acuerdo con la por lo menos una unidad de codificacion maxima.
Una unidad de codificacion se puede caracterizar por un tamano maximo y una profundidad. La profundidad indica un numero de veces en que la unidad de codificacion se divide espacialmente a partir de la unidad de codificacion maxima, y al aumentar la profundidad, las unidades de codificacion mas profundas de acuerdo con las profundidades pueden ser divididas de la unidad de codificacion maxima a una unidad de codificacion minima. Una profundidad de la unidad de codificacion maxima es una profundidad mas superior y una profundidad de la unidad de codificacion minima es una profundidad mas inferior. Debido a que un tamano de una unidad de codificacion que se corresponde con cada profundidad disminuye al hacerse mas profunda la unidad de codificacion maxima, una unidad de codificacion que corresponda a una profundidad superior puede incluir una pluralidad de unidades de codificacion que correspondan a profundidades mas bajas.
Tal como se describio en lo que antecede, los datos de imagen de la imagen actual se dividen en las unidades de codificacion maximas de acuerdo con un tamano maximo de la unidad de codificacion, y cada una de las unidades de codificacion maximas puede incluir unidades de codificacion mas profundas que se dividan de acuerdo con unas profundidades. Debido a que la unidad de codificacion maxima se divide de acuerdo con unas profundidades, los datos de imagen de un dominio espacial incluido en la unidad de codificacion maxima pueden ser jerarquicamente clasificados de acuerdo con unas profundidades.
Una profundidad maxima y un tamano maximo de una unidad de codificacion, que limitan el numero total de veces que una altura y un ancho de la unidad de codificacion maxima se dividen jerarquicamente, puede ser predeterminada.
El determinador de profundidad codificada y de modo de codificacion 83 codifica por lo menos una region de division obtenida al dividir una region de la unidad de codificacion maxima de acuerdo con unas profundidades, y determina una profundidad para enviar datos de imagen finalmente codificados de acuerdo con la por lo menos una region dividida. En otras palabras, el determinador de profundidad codificada y de modo de codificacion 83 determina una profundidad codificada al codificar los datos de imagen en las unidades de codificacion mas profundas de acuerdo con unas profundidades, de acuerdo con la unidad de codificacion maxima de la imagen actual, y seleccionar una profundidad que tenga el mmimo error de codificacion. De este modo, los datos de imagenes codificadas de la unidad de codificacion que se corresponden con la profundidad codificada determinada son enviados. Asimismo, las unidades de codificacion que se corresponden con la profundidad codificada pueden ser codificadas como unidades de codificacion 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 codificacion maxima son codificados sobre la base de las unidades de codificacion mas profundas que se corresponden con por lo menos una profundidad igual a o debajo de la profundidad maxima, y los resultados de codificar los datos de imagen se comparan sobre la base de cada una de las unidades de codificacion mas profundas. Una profundidad que tiene el mmimo error de codificacion se puede seleccionar despues de comparar errores de codificacion de las unidades de codificacion mas profundas. Por lo menos una profundidad codificada se puede seleccionar para cada unidad de codificacion maxima.
El tamano de la unidad de codificacion maxima se divide al ser dividida jerarquicamente una unidad de codificacion de acuerdo con unas profundidades, y al incrementarse el numero de unidades de codificacion. Asimismo, incluso si unidades de codificacion se corresponden con la misma profundidad en una unidad de codificacion maxima, se determina si se divide cada una de las unidades de codificacion que se corresponden con la misma profundidad hasta una profundidad mas baja al medir un error de codificacion de los datos de imagen de cada una de las unidades de codificacion, 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 codificacion maxima, los datos de imagen se dividen en regiones de acuerdo con las profundidades y los errores de codificacion pueden diferir de acuerdo con regiones en una de las unidades de codificacion maximas, y de esta manera las profundidades codificadas pueden diferir de acuerdo con regiones en los datos de imagen. De este modo, una o mas profundidades codificadas se pueden determinar en una unidad de codificacion maxima, y los datos de imagen de la unidad de codificacion maxima se pueden dividir de acuerdo con unidades de codificacion de por lo menos una profundidad codificada.
En consecuencia, el determinador de profundidad codificada y de modo de codificacion 83 puede determinar unidades de codificacion que tengan una estructura de arbol incluida en la unidad de codificacion maxima. Las 'unidades de codificacion que tienen una estructura de arbol' incluyen unidades de codificacion que se corresponden con una profundidad determinada como la profundidad codificada, de entre todas las unidades de codificacion mas profundas incluidas en la unidad de codificacion maxima. Una unidad de codificacion de una profundidad codificada se puede determinar jerarquicamente de acuerdo con unas profundidades en la misma region de la unidad de codificacion maxima, y se puede determinar independientemente en regiones diferentes. De manera similar, una profundidad codificada en una region actual se puede determinar independientemente a partir de una profundidad codificada en otra region.
Una profundidad maxima es un mdice relacionado con el numero de veces de division a partir de una unidad de codificacion maxima hasta una unidad de codificacion minima. Una profundidad maxima puede indicar el numero total de veces de division a partir de la unidad de codificacion maxima hasta la unidad de codificacion minima. Por ejemplo, cuando una profundidad de la unidad de codificacion maxima es 0, una profundidad de una unidad de codificacion, en la cual la unidad de codificacion maxima se divide una vez, se puede establecer a 1, y una profundidad de una unidad de codificacion, en la cual la unidad de codificacion maxima se divida dos veces, se puede establecer a 2. En el presente caso, si la unidad de codificacion minima es una unidad de codificacion en la cual la unidad de codificacion maxima se divide cuatro veces, cinco niveles de profundidad de profundidades 0, 1, 2, 3 y 4 existen, y de esta manera la profundidad maxima se puede ajustar a 4.
La codificacion de prediccion y transformacion se pueden llevar a cabo de acuerdo con la unidad de codificacion maxima. La codificacion de prediccion y la transformacion tambien se llevan a cabo sobre la base de las unidades de codificacion mas profundas de acuerdo con una profundidad igual a o profundidades menores que la profundidad maxima, de acuerdo con la unidad de codificacion maxima. La transformacion se puede llevar a cabo de acuerdo con un procedimiento de transformacion ortogonal o transformacion de enteros.
Debido a que el numero de unidades de codificacion mas profundas se incrementa siempre que la unidad de codificacion maxima se divide de acuerdo con unas profundidades, la codificacion incluyendo codificacion por prediccion y transformacion se llevan a cabo en todas las unidades de codificacion mas profundas generadas al aumentar la profundidad. Por razones de conveniencia de descripcion, la codificacion por prediccion y la transformacion se describiran a continuacion sobre la base de una unidad de codificacion de una profundidad actual, en una unidad de codificacion maxima.
El aparato de codificacion de video 80 puede seleccionar de manera variada un tamano o forma de una unidad de datos para codificar los datos de imagen. Para codificar los datos de imagen, operaciones, tales como codificacion por prediccion, transformacion y codificacion por entropfa, 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 operacion.
Por ejemplo, el aparato de codificacion de video 80 puede seleccionar no solo una unidad de codificacion para codificar los datos de imagen, sino tambien una unidad de datos que sea diferente de la unidad de codificacion para de esta manera llevar a cabo la codificacion por prediccion en los datos de imagen en la unidad de codificacion.
Para llevar a cabo una codificacion por prediccion en la unidad de codificacion maxima, la codificacion por prediccion se puede llevar a cabo sobre la base de una unidad de codificacion que corresponda a una profundidad codificada, es decir, sobre la base de una unidad de codificacion que ya no se divida mas en unidades de codificacion que correspondan a una profundidad mas baja. En lo sucesivo en el presente documento, la unidad de codificacion que ya no se divide mas y se vuelve una unidad de base para codificacion por prediccion sera denominada una 'unidad de prediccion'. Una division obtenida al dividir la unidad de prediccion puede incluir una unidad de prediccion o una unidad de datos obtenida al dividir por lo menos una de una altura y un ancho de la unidad de prediccion.
Por ejemplo, cuando una unidad de codificacion de 2N x 2N (en donde N es un entero positivo) ya no se divide mas y se vuelve una unidad de prediccion de 2N x 2N, un tamano de una division puede ser 2N x 2N, 2N x N, N x 2N o N x N. Ejemplos de un tipo de division incluyen divisiones simetricas que se obtienen al dividir simetricamente una altura o un ancho de la unidad de prediccion, divisiones obtenidas al dividir asimetricamente la altura o el ancho de la unidad de prediccion, tal como 1 : n o n : 1, divisiones que se obtienen al dividir geometricamente la unidad de prediccion, y divisiones que tienen formas arbitrarias.
Un modo de prediccion de la unidad de prediccion 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 division 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 division de 2N x 2N. La codificacion se lleva a cabo independientemente en una unidad de prediccion en una unidad de codificacion, seleccionando de esta manera un modo de prediccion que tenga un mmimo error de codificacion.
El aparato de codificacion de video 80 tambien puede llevar a cabo la transformacion en los datos de imagen en una unidad de codificacion no solo sobre la base de la unidad de codificacion para codificar los datos de imagen, sino tambien sobre la base de una unidad de datos que sea diferente de la unidad de codificacion.
Para llevar a cabo la transformacion en la unidad de codificacion, la transformacion se puede llevar a cabo en una unidad de datos que tenga un tamano mas pequeno que o igual a la unidad de codificacion. Por ejemplo, la unidad de datos para la transformacion 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 transformacion sera denominada a continuacion una 'unidad de transformacion'. Una profundidad de transformacion que indique el numero de veces de division al alcanzar la unidad de transformacion al dividir la altura y ancho de la unidad de codificacion tambien se puede establecer en la unidad de transformacion. Por ejemplo, en una unidad de codificacion actual de 2Nx2N, la unidad de transformacion puede ser 0 cuando el tamano de una unidad de transformacion tambien sea 2N x 2N, puede ser 1 cuando cada una de la altura y ancho de la unidad de codificacion actual se divida en dos partes iguales, dividida totalmente en 4A1 unidades de transformacion, y el tamano de la unidad de transformacion sea entonces N x N, y puede ser 2 cuando cada una de la altura y ancho de la unidad de codificacion actual se divida en cuatro partes iguales, divididas totalmente en 4A2 unidades de transformacion y el tamano de la unidad de transformacion sea entonces N / 2 x N / 2. Por ejemplo, la unidad de transformacion se puede establecer de acuerdo con una estructura de arbol jerarquica, en la cual una unidad de transformacion de una profundidad de transformacion superior se divida en cuatro unidades de transformacion de una profundidad de transformacion mas baja de acuerdo con las caractensticas jerarquicas de una profundidad de transformacion.
De manera similar a la unidad de codificacion, la unidad de transformacion en la unidad de codificacion puede ser dividida recursivamente en regiones de tamano mas pequeno, de tal forma que la unidad de transformacion se pueda determinar independientemente en unidades de regiones. De este modo, datos residuales en la unidad de codificacion pueden ser divididos de acuerdo con la transformacion que tenga la estructura de arbol de acuerdo con unas profundidades de transformacion.
La informacion de codificacion de acuerdo con unidades de codificacion que se corresponden con una profundidad codificada usa no solo informacion acerca de la profundidad codificada, sino tambien informacion relacionada con codificacion de prediccion y transformacion. En consecuencia, el determinador de profundidad codificada y de modo de codificacion 83 no solo determina una profundidad codificada que tiene un mmimo error de codificacion, sino tambien determina un tipo de division en una unidad de prediccion, un modo de prediccion de acuerdo con unidades de prediccion y un tamano de una unidad de transformacion para transformacion.
El determinador de profundidad codificada y de modo de codificacion 83 puede medir un error de codificacion de unidades de codificacion mas profundas de acuerdo con unas profundidades al usar Optimizacion de Velocidad- Distorsion sobre la base de multiplicadores de Lagrange.
El generador de imagenes 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 imagenes restablecidas 84 descodifica datos de imagen sobre la base de unidades de codificacion que tienen una estructura de arbol, 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 codificacion maximas, sobre la base de la profundidad codificada y el modo de codificacion determinado por el determinador de profundidad descodificada y modo de codificacion 83.
El realizador de filtrado de lazo 86 incluido en el generador de imagenes 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 imagenes 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 direccion horizontal y un filtrado unidimensional en una direccion vertical para restablecer la imagen actual. El realizador de filtrado de lazo 86 puede enviar la imagen restablecida al determinador de valores de compensacion y de grupos de pfxeles 87.
El determinador de valores de compensacion y de grupos de pfxeles 87 determina un valor de compensacion acerca de un error entre cada uno de los pfxeles restablecidos de un grupo predeterminado en la imagen restablecida, y un pixel original correspondiente, y un grupo de pfxeles que incluye pfxeles restablecidos que tienen valores de pixel a compensar. El determinador de valores de compensacion y de grupos de pfxeles 87 es un elemento tecnico que se corresponde con el determinador de valores de compensacion y de grupos de pfxeles 16.
En consecuencia, el determinador de valores de compensacion y de grupos de pfxeles 87 puede determinar un nivel de valor extremo y/o de borde de pfxeles 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 pfxeles 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 compensacion y de grupos de pfxeles 87 puede clasificar los pfxeles restablecidos en grupos de pfxeles de acuerdo con las bandas sobre la base de un valor de pixel. Como alternativa, el determinador de valores de compensacion y de grupos de pfxeles 87 puede detectar imeas en una direccion predeterminada al analizar la imagen restablecida, y clasificar los pfxeles restablecidos en grupos de pfxeles de acuerdo con lmeas, que incluyan los pfxeles restablecidos en la misma lmea.
El determinador de valores de compensacion y de grupos de pfxeles 87 puede determinar individualmente un valor de compensacion para cada grupo de pfxeles usando un valor promedio de los errores entre el pixel restablecido y el pixel original correspondiente. El determinador de valores de compensacion y de grupos de pfxeles 87 puede determinar un pixel restablecido a compensar de acuerdo con por lo menos una unidad de datos de entre una secuencia de imagenes, un segmento, una trama y una unidad de codificacion de un video de entrada, y determinar un valor de compensacion que corresponda al pixel restablecido determinado a compensar. Informacion acerca del valor de compensacion y el grupo de pfxeles determinado por el determinador de valores de compensacion y de grupos de pfxeles 87 puede ser enviada al transmisor 88.
El transmisor 88 envfa los datos de imagen de la unidad de codificacion maxima, 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 codificacion 83, e informacion acerca del modo de codificacion 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 codificacion por entropfa, y luego insertados en un flujo de bits para su transmision.
Como alternativa, el transmisor 88 puede codificar e insertar el valor de compensacion determinado por el determinador de valores de compensacion y de grupos de pfxeles 86 en el flujo de bits para su transmision. Como alternativa, el transmisor 88 puede recibir informacion adicional acerca de un procedimiento para determinar un grupo de pfxeles del determinador de valores de compensacion y de grupos de pfxeles 87, y codificar e insertar la informacion adicional en un flujo de bits.
Los datos de imagen codificados pueden ser obtenidos al codificar datos residuales de una imagen.
La informacion acerca del modo de codificacion de acuerdo con la profundidad codificada puede incluir informacion acerca de la profundidad codificada, acerca del tipo de division en la unidad de prediccion, el modo de prediccion y el tamano de la unidad de transformacion.
La informacion acerca de la profundidad codificada se puede definir usando informacion de division de acuerdo con unas profundidades, que indica si se lleva a cabo la codificacion en unidades de codificacion de una profundidad mas baja en lugar de una profundidad actual. Si la profundidad actual de la unidad de codificacion actual es la profundidad codificada, datos de imagen en la unidad de codificacion actual son codificados y enviados, y de esta manera la informacion de division se puede definir para no dividir la unidad de codificacion actual en una profundidad mas baja. Como alternativa, si la profundidad actual de la unidad de codificacion actual no es la profundidad codificada, la codificacion se lleva a cabo en la unidad de codificacion de la profundidad mas baja, y de esta manera la informacion de division se puede definir para dividir la unidad de codificacion actual para obtener las unidades de codificacion de la profundidad mas baja.
Si la profundidad actual no es la profundidad codificada, la codificacion se lleva a cabo en la unidad de codificacion que es dividida en la unidad de codificacion de la profundidad mas baja. Debido a que por lo menos una unidad de codificacion de la profundidad mas baja existe en una de las unidades de codificacion de la profundidad actual, la codificacion se lleva a cabo repetidamente en cada unidad de codificacion de la profundidad mas baja, y de esta manera la codificacion se puede llevar a cabo recursivamente para las unidades de codificacion que tengan la misma profundidad.
Debido a que las unidades de codificacion que tienen una estructura de arbol se determinan para una unidad de codificacion maxima, e informacion acerca de por lo menos un modo de codificacion se determina para una unidad de codificacion de una profundidad codificada, informacion acerca de por lo menos un modo de codificacion se puede determinar para una unidad de codificacion maxima. Asimismo, una profundidad codificada de los datos de imagen de la unidad de codificacion maxima puede ser diferente de acuerdo con ubicaciones toda vez que los datos de imagen se dividen jerarquicamente de acuerdo con unas profundidades, y de esta manera informacion acerca de la profundidad codificada y el modo de codificacion se puede establecer para los datos de imagen.
En consecuencia, el transmisor 88 puede asignar informacion de codificacion acerca de una profundidad codificada correspondiente y un modo de codificacion a por lo menos una de la unidad de codificacion, la unidad de prediccion y una unidad minima incluida en la unidad de codificacion maxima.
La unidad minima es, por ejemplo, una unidad de datos rectangular obtenida al dividir la unidad de codificacion minima que constituye la profundidad mas baja entre 4. Como alternativa, la unidad minima puede ser una unidad de datos rectangular maxima que pueda ser incluida en todas las unidades de codificacion, las unidades de prediccion, las unidades de division y las unidades de transformacion incluidas en la unidad de codificacion maxima.
5
10
15
20
25
30
35
40
45
50
55
Por ejemplo, la informacion de codificacion enviada a traves del transmisor 88 se puede clasificar en informacion de codificacion de acuerdo con unidades de codificacion, e informacion de codificacion de acuerdo con unidades de prediccion. La informacion de codificacion de acuerdo con las unidades de codificacion puede incluir la informacion acerca del modo de prediccion y acerca del tamano de las divisiones. La informacion de codificacion de acuerdo con las unidades de prediccion puede incluir informacion acerca de una direccion estimada de un modo inter, acerca de un mdice de imagenes 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 interpolacion del modo intra. Asimismo, informacion acerca de un tamano maximo de la unidad de codificacion definida de acuerdo con imagenes, segmentos o GOP, e informacion acerca de una profundidad maxima se puede insertar en un Conjunto de Parametros 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 numero, un tamano, un bit de cuantificacion, un coeficiente, una direccion de filtrado de cada filtro unidimensional, y si un filtrado y un filtrado por ejecucion se llevan a cabo se puede establecer para el filtrado de lazo adaptativo, informacion acerca de un conjunto de filtros unidimensionales de filtrado de lazo puede ser codificada y transmitida.
En el aparato de codificacion de video 80, la unidad de codificacion mas profunda puede ser una unidad de codificacion obtenida al dividir una altura o un ancho de una unidad de codificacion de una profundidad superior, que se encuentra una capa por encima, entre dos. En otras palabras, cuando el tamano de la unidad de codificacion de la profundidad actual es 2Nx2N, el tamano de la unidad de codificacion de la profundidad mas baja es N x N. Asimismo, la unidad de codificacion de la profundidad actual que tiene el tamano de 2N x 2N puede incluir maximo 4 de la unidad de codificacion de la profundidad mas baja.
En consecuencia, el aparato de codificacion de video 80 puede formar las unidades de codificacion que tengan la estructura de arbol al determinar unidades de codificacion que tengan una forma optima y un tamano optimo para cada unidad de codificacion maxima, sobre la base del tamano de la unidad de codificacion maxima y la profundidad maxima determinada considerando caractensticas de la imagen actual. Asimismo, debido a que la codificacion se puede llevar a cabo en cada unidad de codificacion maxima usando cualquiera de varios modos de prediccion y transformaciones, un modo de codificacion optimo se puede determinar considerando caractensticas de la unidad de codificacion de varios tamanos de imagen.
De este modo, si una imagen que tiene alta resolucion o una gran cantidad de datos es codificada en un macrobloque de la tecnica relacionada, un numero de macrobloques por imagen se incrementa excesivamente. En consecuencia, un numero de piezas de informacion comprimida generada para cada macrobloque se incrementa, y de esta manera es diffcil transmitir la informacion comprimida y la eficiencia de compresion de datos se disminuye. No obstante, al usar el aparato de codificacion de video 80, la eficiencia de compresion de imagenes se puede incrementartoda vez que una unidad de codificacion se ajusta mientras se consideran caractensticas de una imagen en tanto se incrementa un tamano maximo de una unidad de codificacion mientras se considera un tamano de la imagen.
Asimismo, la cantidad de bits de transmision de informacion adicional se puede reducir toda vez que una informacion acerca de un valor de compensacion para compensar un valor de pixel 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 informacion acerca de una ubicacion de pixel.
La figura 9 es un diagrama de bloques de un aparato de descodificacion de video 90 para compensar un valor- de pixel despues de llevar a cabo un filtrado de lazo sobre la base de unidades de codificacion que tienen una estructura de arbol.
El aparato de descodificacion de video 90 incluye un extractor 91, un generador de imagenes restablecidas 94, un determinador de grupos de pfxeles 97 y un compensador de pfxeles restablecidos 98. El extractor 91 incluye un receptor 92 y un extractor de datos de imagen, de informacion de modo de codificacion, de informacion de coeficientes de filtro de lazo y de informacion de valores de compensacion (que se denomina, en lo sucesivo en el presente documento, extractor de informacion) 93. El generador de imagenes restablecidas 94 incluye un descodificador 95 y un realizador de filtrado de lazo 96.
Las definiciones de terminos tales como una unidad de codificacion, una profundidad, una unidad de prediccion, una unidad de transformacion y varios modos de codificacion para varios procesos usados para describir el aparato de descodificacion de video 90 son identicas a las descritas con referencia al aparato de codificacion de video 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 compensacion del flujo de bits. El receptor 92 del extractor 91 recibe y analiza el flujo de bits de la imagen codificada. El extractor de informacion extrae los datos de imagen de acuerdo con unidades de codificacion maximas del flujo de bits analizado, y envfa los datos de imagen extrafdos al descodificador 95. El extractor de informacion 93 puede extraer informacion acerca de un tamano maximo de una unidad de codificacion 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 informacion 93 extrae informacion acerca de una profundidad codificada y un modo de codificacion para las unidades de codificacion que tienen una estructura de arbol de acuerdo con cada unidad de codificacion maxima, del flujo de bits analizado. La informacion extrafda acerca de la profundidad codificada y el modo de codificacion es enviada al descodificador 95. En otras palabras, los datos de imagen en una cadena de bits se dividen en la unidad de codificacion maxima de tal forma que el descodificador 95 descodifique lo datos de imagen para cada unidad de codificacion maxima.
La informacion acerca de la profundidad codificada y el modo de codificacion de acuerdo con la unidad de codificacion maxima se puede establecer para informacion acerca de por lo menos una unidad de codificacion que corresponda a la profundidad codificada, e informacion acerca de un modo de codificacion puede incluir informacion acerca de un tipo de division de una unidad de codificacion correspondiente que corresponda a la profundidad codificada, acerca de un modo de prediccion, y un tamano de una unidad de transformacion.
La informacion acerca de la profundidad codificada y el modo de codificacion de acuerdo con cada unidad de codificacion maxima extrafda por el extractor de informacion 93 es informacion acerca de una profundidad codificada y un modo de codificacion determinado para generar un error de codificacion mmimo cuando un codificador, tal como el aparato de codificacion de video 80, lleve a cabo repetidamente codificacion para cada unidad de codificacion mas profunda de acuerdo con unas profundidades de acuerdo con cada unidad de codificacion maxima. En consecuencia, el aparato de descodificacion de video 90 puede restablecer una imagen al descodificar los datos de imagen de acuerdo con una profundidad codificada y un modo de codificacion que genere el error de codificacion mmimo.
Debido a que la informacion de codificacion acerca de la profundidad codificada y el modo de codificacion se puede asignar a una unidad de datos predeterminada de entre una unidad de codificacion correspondiente, una unidad de prediccion y una unidad minima, el extractor de informacion 93 puede extraer la informacion acerca de la profundidad codificada y el modo de codificacion de acuerdo con las unidades de datos predeterminadas. Las unidades de datos predeterminadas a las cuales se asigna la misma informacion acerca de la profundidad codificada y el modo de codificacion pueden ser inferidas como unidades de datos incluidas en la misma unidad de codificacion maxima.
El descodificador 95 restablece la imagen actual al descodificar los datos de imagen en cada unidad de codificacion maxima sobre la base de la informacion acerca de la profundidad codificada y el modo de codificacion de acuerdo con las unidades de codificacion maximas. En otras palabras, el descodificador 95 puede descodificar los datos de imagen codificados sobre la base de la informacion extrafda acerca del tipo de division, el modo de prediccion y la unidad de transformacion para cada unidad de codificacion de entre las unidades de codificacion que tengan la estructura de arbol incluidas en cada unidad de codificacion maxima. Un proceso de descodificacion puede incluir una prediccion que incluya intra prediccion y compensacion de movimiento, y una transformacion inversa. La transformacion inversa se puede llevar a cabo de acuerdo con un procedimiento de transformacion ortogonal inversa o transformacion entera inversa.
Asimismo, el descodificador 95 puede llevar a cabo transformacion inversa de acuerdo con cada unidad de transformacion en la unidad de codificacion al leer las unidades de transformacion que tengan una estructura de arbol, sobre la base de la informacion acerca del tamano de la unidad de transformacion de la unidad de codificacion de acuerdo con unas profundidades codificadas, para de esta manera llevar a cabo la transformacion inversa de acuerdo con unidades de codificacion maximas.
El descodificador 95 puede determinar por lo menos una profundidad codificada de una unidad de codificacion maxima actual usando informacion de division de acuerdo con unas profundidades. Si la informacion de division 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 codificacion que corresponda a cada una de la profundidad codificada en la unidad de codificacion maxima actual usando la informacion acerca del tipo de division de la unidad de prediccion, el modo de prediccion y el tamano de la unidad de transformacion para cada unidad de codificacion que corresponda a la profundidad codificada, y enviar los datos de imagen de la unidad de codificacion maxima actual.
En otras palabras, las unidades de datos que contengan la informacion de codificacion que incluya la misma informacion de division se pueden acumular al observar el conjunto de informacion de codificacion asignado para la unidad de datos predeterminada de entre la unidad de codificacion, la unidad de prediccion y la unidad minima, y las unidades de datos acumuladas se pueden considerar como una unidad de datos que sera descodificada por el descodificador 95 en el mismo modo de codificacion.
Cuando la informacion acerca del coeficiente de filtro para el filtrado de lazo adaptativo se inserta en el flujo de bits, el extractor de informacion 93 puede extraer la informacion acerca del coeficiente de filtro del flujo de bits. El realizador de filtrado de lazo 96 puede recibir la informacion acerca del coeficiente de filtro extrafda por el extractor de informacion 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 tecnico del generador de imagenes 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 imagenes restablecidas 94 puede inducir un coeficiente de filtro de cada filtro unidimensional usando informacion residual del coeficiente de filtro extrafda del extractor de informacion 93. Por ejemplo, un coeficiente de filtro actual de cada filtro unidimensional se puede inducir al anadir 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 informacion 93 extrae datos de imagen codificados e informacion relacionada con un valor de compensacion del flujo de bits. La informacion relacionada con el valor de compensacion puede incluir informacion acerca del valor de compensacion. Como alternativa, si la informacion relacionada con el valor de compensacion incluye informacion acerca de un procedimiento para determinar un grupo de pfxeles a compensar usando el valor de compensacion, el extractor de informacion 93 puede extraer el valor de compensacion y la informacion acerca del procedimiento para determinar el grupo de pfxeles a compensar del flujo de bits. El extractor de informacion 93 puede extraer el valor de compensacion o la informacion relacionada con el valor de compensacion de acuerdo con por lo menos una unidad de datos de entre una secuencia de imagenes, un segmento, una trama y una unidad de codificacion de un video de entrada, El determinador de grupos de pfxeles 97 puede determinar un grupo de pfxeles que incluya el pixel restablecido a compensar usando el valor de compensacion, con respecto a los pfxeles restablecidos de un grupo predeterminado en la imagen restablecida, al recibir la imagen restablecida generada por el generador de imagenes restablecidas 94 y el valor de compensacion extrafdo por el extractor de informacion 93. El compensador de pfxeles restablecidos 98 compensa el valor de pixel del pixel restablecido usando el valor de compensacion, y envfa la imagen restablecida que tiene el valor de pixel restablecido al recibir el valor de compensacion extrafdo por el extractor de informacion 93 e informacion acerca del grupo de pfxeles determinado por el determinador de grupos de pfxeles 97.
Cuando la informacion acerca del procedimiento para determinar el grupo de pfxeles a compensar se extrae por el extractor de informacion 93, el determinador de grupos de pfxeles 97 puede determinar de forma selectiva el grupo de pfxeles que tenga el valor de pixel a compensar sobre la base del procedimiento. Por ejemplo, el determinador de grupos de pfxeles 97 puede determinar si clasifica los pfxeles restablecidos de acuerdo con los niveles de valor extremo y / o de borde, las bandas de valores de pixel, o las lmeas, y determinar el grupo de pfxeles que tenga los valores de pixel a compensar, sobre la base del procedimiento. En el presente caso, el compensador de pfxeles restablecidos 98 puede compensar los valores de pixel de los pfxeles restablecidos en el grupo de pfxeles al usar los valores de compensacion para el grupo de pfxeles de acuerdo con niveles de valor extremo y/o de borde, bandas de valores de pixel, o lmeas.
El aparato de descodificacion de video 90 puede obtener informacion acerca de por lo menos una unidad de codificacion que genere el error de codificacion mmimo cuando la codificacion se lleve a cabo recursivamente para cada unidad de codificacion maxima, y puede usar la informacion para descodificar la imagen actual. En otras palabras, las unidades de codificacion que tengan la estructura de arbol determinadas como unidades de codificacion optimas en cada unidad de codificacion maxima pueden ser descodificadas. Asimismo, el tamano maximo de unidad de codificacion se determina considerando la resolucion y la cantidad de datos de imagen.
En consecuencia, incluso si datos de imagen tienen alta resolucion y una gran cantidad de datos, los datos de imagen pueden ser descodificados eficientemente y restablecidos usando un tamano de una unidad de codificacion y un modo de codificacion, que se determinen en forma adaptativa de acuerdo con caractensticas de los datos de imagen, usando informacion acerca del modo de codificacion optimo recibido de un codificador.
El aparato de codificacion de video 80 y el aparato de descodificacion de video 90 pueden compensar un error sistematico generado entre la imagen restablecida y la imagen original cuando la imagen codificada se descodificada y restablecida.
La codificacion y descodificacion de un video sobre la base de unidades de codificacion que tienen una estructura de arbol se describe en lo sucesivo.
La figura 10 es un diagrama para describir un concepto de unidades de codificacion.
Un tamano de una unidad de codificacion puede ser expresado en ancho por altura, y puede ser 64 x 64, 32 x 32, 16x16 y 8x8. Una unidad de codificacion 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 codificacion de 32x32 puede ser dividida en divisiones de 32x32, 32x 16, 16x32 o 16 x 16, una unidad de codificacion de 16 x 16 puede ser dividida en divisiones de 16x16, 16x8, 8x16 u 8x8, y una unidad de codificacion de 8 x 8 puede ser dividida en divisiones de 8 x 8, 8 x 4, 4 x 8 o 4 x 4.
5
10
15
20
25
30
35
40
45
50
55
En los datos de v^deo 310, una resolucion es 1920 x 1080, un tamano maximo de una unidad de codificacion es 64, y una profundidad maxima es 2. En los datos de video 320, una resolucion es 1920 por 1080, un tamano maximo de una unidad de codificacion es 64, y una profundidad maxima es 3. En los datos de video 330, una resolucion es 352 x 288, un tamano maximo de una unidad de codificacion es 16, y una profundidad maxima es 1. La profundidad maxima mostrada en la figura 10 indica un numero total de divisiones a partir de una unidad de codificacion maxima hasta una unidad de descodificacion minima.
Si una resolucion es alta o una cantidad de datos es grande, un tamano maximo de una unidad de codificacion puede ser grande para de esta manera no solo incrementar la eficiencia de codificacion sino tambien reflejar en forma precisa caractensticas de una imagen. En consecuencia, el tamano maximo de la unidad de codificacion de los datos de video 310 y 320 que tienen la resolucion mas alta que los datos de video 330 puede ser 64.
Debido a que la profundidad maxima de los datos de video 310 es 2, las unidades de codificacion 315 de los datos de video 310 pueden incluir una unidad de codificacion maxima que tenga un tamano de eje de largo de 64 y las unidades de codificacion que tengan unos tamanos de eje de largo de 32 y 16 toda vez que las profundidades se hacen mas profundas hasta dos capas al dividir la unidad de codificacion maxima dos veces. Mientras tanto, debido a que la profundidad maxima de los datos de video 330 es 1, las unidades de codificacion 335 de los datos de video 330 pueden incluir una unidad de codificacion maxima que tenga un tamano de eje de largo de 16 y las unidades de codificacion que tengan un tamano de eje de largo de 8 toda vez que las profundidades se hacen mas profundas hasta una capa al dividir la unidad de codificacion maxima una vez.
Debido a que la profundidad maxima de los datos de video 320 es 3, las unidades de codificacion 325 de los datos de video 320 pueden incluir una unidad de codificacion maxima que tenga un tamano de eje de largo de 64 y las unidades de codificacion que tengan unos tamanos de eje de largo de 32, 16 y 8 toda vez que las profundidades se hacen mas profundas hasta tres capas al dividir la unidad de codificacion maxima tres veces. Al aumentar una profundidad, informacion detallada se puede expresar de manera precisa.
La figura 11 es un diagrama de bloques de un codificador de imagenes 400 sobre la base de unidades de codificacion.
El codificador de imagenes 400 lleva a cabo operaciones del codificador 81 del aparato de codificacion de video 80 para codificar datos de imagen. En otras palabras, un intra predictor 410 lleva a cabo intra prediccion en unidades de codificacion 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 estimacion y compensacion de movimiento en unidades de codificacion 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 transformacion cuantificado a traves de un transformador 430 y un cuantificador 440. El coeficiente de transformacion cuantificado se restablece como datos en un dominio espacial a traves 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 despues de haber sido post-procesados a traves de una unidad de desbloqueo 480 y una unidad de filtrado de lazo 490. El coeficiente de transformacion cuantificado puede ser enviado como un flujo de bits 455 a traves de un codificador por entropfa 450.
Para que el codificador de imagenes 400 se aplicado en el aparato de codificacion de video 80, elementos de codificacion de imagenes 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 entropfa 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 codificacion de entre unas unidades de codificacion que tienen una estructura de arbol mientras consideran la profundidad maxima de cada unidad de codificacion maxima.
Espedficamente, el intra predictor 410, el estimador de movimiento 420 y el compensador de movimiento 425 determinan divisiones y un modo de prediccion de cada unidad de codificacion de entre las unidades de codificacion que tienen una estructura de arbol mientras consideran el tamano maximo y la profundidad maxima de una unidad de codificacion maxima actual, y el transformador 430 determina el tamano de la unidad de transformacion en cada unidad de codificacion de entre las unidades de codificacion que tienen una estructura de arbol.
La figura 12 es un diagrama de bloques de un descodificador de imagenes 500 a base de unidades de codificacion.
Un analizador 510 analiza datos de imagen codificados que seran descodificados e informacion acerca de la codificacion usada para descodificar a partir de un flujo de bits 505. Los datos de imagen codificados son enviados como datos cuantificados inversos a traves de un descodificador por entropfa 520 y un cuantificador inverso 530, y los datos cuantificados inversos se restablecen en datos de imagen en un dominio espacial a traves de un transformador inverso 540.
Un intra predictor 550 lleva a cabo intra prediccion en unidades de codificacion en un modo intra con respecto a los datos de imagen en el dominio espacial, y un compensador de movimiento 560 lleva a cabo compensacion de movimiento en unidades de codificacion en un modo inter usando una trama de referencia 585.
5
10
15
20
25
30
35
40
45
50
55
Los datos de imagen en el dominio espacial, que pasaron a traves del intra predictor 550 y el compensador de movimiento 560, pueden ser enviados como una trama restablecida 595 despues de haber sido post-procesados a traves de una unidad de desbloqueo 570 y una unidad de filtrado de lazo 580. Asimismo, los datos de imagen que son post-procesados a traves 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 descodificacion de video 90, el descodificador de imagenes 500 puede llevar a cabo operaciones que se lleven a cabo despues del analizador 510.
Para que el descodificador de imagenes 500 sea aplicado en el aparato de codificacion de video 90, elementos del descodificador de imagenes 500, es decir, el analizador 510, el descodificador por entropfa 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 codificacion que tienen una estructura de arbol para cada unidad de codificacion maxima.
Espedficamente, la intra prediccion 550 y el compensador de movimiento 560 llevan a cabo operaciones sobre la base de divisiones y un modo de prediccion para cada una de las unidades de codificacion que tienen una estructura de arbol, y el transformador inverso 540 lleva a cabo operaciones sobre la base de un tamano de una unidad de transformacion para cada unidad de codificacion.
La figura 13 es un diagrama que ilustra unidades de codificacion mas profundas de acuerdo con unas profundidades y divisiones.
El aparato de codificacion de video 80 y el aparato de descodificacion de video 90 usan unidades de codificacion jerarquicas para considerar de este modo caractensticas de una imagen. Una altura maxima, un ancho maximo y una profundidad maxima de unidades de codificacion se pueden determinar en forma adaptativa de acuerdo con las caractensticas de la imagen, o se pueden establecer diferentemente por un usuario. Los tamanos de las unidades de codificacion mas profundas de acuerdo con unas profundidades se pueden determinar de acuerdo con el tamano maximo predeterminado de la unidad de codificacion.
En una estructura jerarquica 600 de unidades de codificacion, la altura maxima y el ancho maximo de las unidades de codificacion son, cada una, 64, y la profundidad maxima es 4. Debido a que una profundidad se hace mas profunda a lo largo de un eje vertical de la estructura jerarquica 600, una altura y un ancho de la unidad de codificacion mas profunda son, cada uno, divididos. Asimismo, una unidad de prediccion y divisiones, las cuales son bases para codificacion por prediccion de cada unidad de codificacion mas profunda, se muestran a lo largo de un eje horizontal de la estructura jerarquica 600.
En otras palabras, una unidad de codificacion 610 es una unidad de codificacion maxima en la estructura jerarquica 600, en donde una profundidad es 0 y un tamano, es decir, una altura por ancho, es 64 x 64. La profundidad se hace mas profunda a lo largo del eje vertical, y existen una unidad de codificacion 620 que tiene un tamano de 32 x 32 y una profundidad de 1, una unidad de codificacion 630 que tiene un tamano de 16x16 y una profundidad de 2, una unidad de codificacion 640 que tiene un tamano de 8 x 8 y una profundidad de 3, y una unidad de codificacion 650 que tiene un tamano de 4 x 4 y una profundidad de 4. La unidad de codificacion 650 que tiene el tamano de 4 x 4 y la profundidad de 4 es una unidad de codificacion minima.
La unidad de prediccion y las divisiones de una unidad de codificacion se disponen a lo largo del eje horizontal de acuerdo con cada profundidad. En otras palabras, si la unidad de codificacion 610 que tiene el tamano de 64 x 64 y la profundidad de 0 es una unidad de prediccion, la unidad de prediccion se puede dividir en divisiones incluidas en la unidad de codificacion 610, es decir, una division 610 que tenga un tamano de 64 x 64, divisiones 612 que tengan el tamano de 64 x 32, divisiones 614 que tengan el tamano de 32 x 64, o divisiones 616 que tengan el tamano de 32 x 32.
En forma similar, una unidad de prediccion de la unidad de codificacion 620 que tenga el tamano de 32x32 y la profundidad de 1 puede ser dividida en divisiones incluidas en la unidad de codificacion 620, es decir, una division 620 que tenga un tamano de 32 x 32, divisiones 622 que tengan un tamano de 32 x 16, divisiones 624 que tengan un tamano de 16 x 32 y divisiones 626 que tengan un tamano de 16 x 16.
En forma similar, una unidad de prediccion de la unidad de codificacion 630 que tenga el tamano de 16 x 16 y la profundidad de 2 puede ser dividida en divisiones incluidas en la unidad de codificacion 630, es decir, una division que tenga un tamano de 16 x 16 incluida en la unidad de codificacion 630, divisiones 632 que tengan un tamano de 16 x 8, divisiones 634 que tengan un tamano de 8x16 y divisiones 636 que tengan un tamano de 8x8.
De manera similar, una unidad de prediccion de la unidad de codificacion 640 que tenga el tamano de 8 x 8 y la profundidad de 3 puede ser dividida en divisiones incluidas en la unidad de codificacion 640, es decir, una division que tenga un tamano de 8x8 incluida en la unidad de codificacion 640, divisiones 642 que tengan un tamano de 8x4, divisiones 644 que tengan un tamano de 4 x 8 y divisiones 646 que tengan un tamano de 4x4.
La unidad de codificacion 650 que tiene el tamano de 4 x 4 y la profundidad de 4 es la unidad de codificacion minima
5
10
15
20
25
30
35
40
45
50
55
y una unidad de codificacion de la profundidad mas baja. Una unidad de prediccion de la unidad de codificacion 650 solo puede ser asignada a una division que tenga un tamano de 4x4. Como alternativa, divisiones 652 que tengan un tamano de 4x2, divisiones 654 que tengan un tamano de 2 x 4 o divisiones 656 que tengan un tamano de 2x2 pueden ser usadas.
Para poder determinar la por lo menos una profundidad codificada de las unidades de codificacion que constituyen la unidad de codificacion maxima 610, el determinador de profundidad codificada y de modo de codificacion 83 del aparato de codificacion de video 80 lleva a cabo una codificacion para unidades de codificacion que correspondan a cada profundidad incluida en la unidad de codificacion maxima 6l0.
Un numero de unidades de codificacion mas profundas de acuerdo con unas profundidades que incluyen datos en el mismo intervalo y el mismo tamano se incrementa al aumentar la profundidad. Por ejemplo, cuatro unidades de codificacion que correspondan a una profundidad de 2 se requieren para cubrir datos que esten incluidos en una unidad de codificacion que corresponda a una profundidad de 1. En consecuencia, para poder comparar resultados de codificacion de los mismos datos de acuerdo con unas profundidades, la unidad de codificacion que se corresponde con la profundidad de 1 y cuatro unidades de codificacion que se corresponden con la profundidad de 2 son, cada una, codificadas.
Para llevar a cabo una codificacion para una profundidad actual de entre las profundidades, un mmimo error de codificacion se puede seleccionar para la profundidad actual al llevar a cabo una codificacion para cada unidad de prediccion en las unidades de codificacion que correspondan a la profundidad actual, a lo largo del eje horizontal de la estructura jerarquica 600. Como alternativa, el error de codificacion mmimo puede ser buscado al comparar los mmimos errores de codificacion de acuerdo con unas profundidades, al llevar a cabo una codificacion para cada profundidad. Al aumentar la profundidad a lo largo del eje vertical de la estructura jerarquica 600. Una profundidad y una division que tenga el error de codificacion mmimo en la unidad de codificacion 610 se puede seleccionar como la profundidad codificada y un tipo de division de la unidad de codificacion 610.
La figura 14 es un diagrama para describir una relacion entre una unidad de codificacion 710 y unas unidades de transformacion 720.
El aparato de codificacion de video 80 o el aparato de descodificacion de video 90 codifica o descodifica una imagen de acuerdo con unidades de codificacion que tienen tamanos mas pequenos que o iguales a una unidad de codificacion maxima para cada unidad de codificacion maxima. Los tamanos de unidades de transformacion para transformacion durante codificacion se pueden seleccionar sobre la base de unidades de datos que no sean mas grandes que una unidad de codificacion correspondiente.
Por ejemplo, en el aparato de codificacion de video 80 o el aparato de descodificacion de video 90, si un tamano de la unidad de codificacion 710 es 64x64, la transformacion se puede llevar a cabo usando las unidades de transformacion 720 que tengan un tamano de 32 x 32.
Asimismo, datos de la unidad de codificacion 710 que tengan el tamano de 64 x 64 pueden ser codificados al llevar a cabo la transformacion en cada una de las unidades de transformacion que tengan el tamano de 32 x 32, 16 x 16, 8 x 8 y 4x4, que sean mas pequenas que 64 x 64, y luego se puede seleccionar una unidad de transformacion que tenga el mmimo error de codificacion.
La figura 15 es un diagrama para describir una informacion de codificacion de unidades de codificacion que se corresponden con una profundidad codificada.
El transmisor 88 del aparato de codificacion de video 80 puede codificar y transmitir informacion 800 acerca de un tipo de division, informacion 810 acerca de un modo de prediccion, e informacion 820 acerca de un tamano de una unidad de transformacion para cada unidad de codificacion que corresponda a una profundidad codificada, como informacion acerca de un modo de codificacion.
La informacion 800 indica informacion acerca de una forma de una division obtenida al dividir una unidad de prediccion de una unidad de codificacion actual, en donde la division es una unidad de datos para codificacion por prediccion de la unidad de codificacion actual. Por ejemplo, una unidad de codificacion actual CU_0 que tenga un tamano de 2Nx2N puede ser dividida en cualquiera de una division 802 que tenga un tamano de 2Nx2N, una division 804 que tenga un tamano de 2N x N, una division 806 que tenga un tamano de N x 2N, y una division 808 que tenga un tamano de N x N. En el presente caso, la informacion 800 acerca de un tipo de division se establece para indicar una de la division 804 que tiene un tamano de 2N x N, la division 806 que tiene un tamano de N x 2N y la division 808 que tiene un tamano de N x N.
La informacion 810 indica un modo de prediccion de cada division. Por ejemplo, la informacion 810 puede indicar un modo de codificacion por prediccion llevado a cabo en una division indicada por la informacion 800, es decir, un modo intra 812, un modo inter 814 o un modo de salto 816.
La informacion 820 indica una unidad de transformacion en la que se basara cuando se lleve a cabo transformacion en una unidad de codificacion actual. Por ejemplo, la unidad de transformacion puede ser una primera unidad de
5
10
15
20
25
30
35
40
45
50
55
intra transformacion 822, una segunda unidad de intra transformacion 824, una primera unidad de inter transformacion 826 o una segunda unidad de intra transformacion 828.
El extractor de informacion 93 del aparato de descodificacion de video 90 puede extraer y usar la informacion 800, 810 y 820 para descodificacion, de acuerdo con cada unidad de codificacion mas profunda.
La figura 16 es un diagrama de unidades de codificacion mas profundas de acuerdo con unas profundidades.
Informacion de division se puede usar para indicar un cambio de una profundidad. La informacion de division indica si una unidad de codificacion de una profundidad actual se divide en unidades de codificacion de una profundidad mas baja.
Una unidad de prediccion 910 para codificacion por prediccion de una unidad de codificacion 900 que tiene una profundidad de 0 y un tamano de 2N_0x2N_0 puede incluir divisiones de un tipo de division 912 que tenga un tamano de 2N_0 x 2N_0, un tipo de division 914 que tenga un tamano de 2N_0 x N_0, un tipo de division 916 que tenga un tamano de N_0x2N_0, y un tipo de division 918 que tenga un tamano de N_0 x N_0. La figura 9 solo ilustra los tipos de division 912 a 918 que se obtienen al dividir simetricamente la unidad de prediccion 910, pero un tipo de division no se limita a estos, y las divisiones de la unidad de prediccion 910 pueden incluir divisiones asimetricas, divisiones que tengan una forma predeterminada y divisiones que tengan una forma geometrica.
La codificacion por prediccion se lleva a cabo repetidamente en una division que tiene un tamano de 2N_0 x 2N_0, dos divisiones que tienen un tamano de 2N_0 x N_0, dos divisiones que tienen un tamano de N_0 x 2N_0, y cuatro divisiones que tienen un tamano de N_0 x N_0, de acuerdo con cada tipo de division. La codificacion por prediccion en un modo intra y un modo inter se pueden llevar a cabo en las divisiones que tengan los tamanos de 2N_0 x 2N_0, N_0 x 2N_0, 2N_0 x N_0 y N_0 x N_0. La codificacion por prediccion en un modo de salto se lleva a cabo solo en la division que tiene el tamano de 2N_0 x 2N_0.
Errores de codificacion incluyendo la codificacion por prediccion en los tipos de division 912 a 918 son comparados, y el mmimo error de codificacion se determina de entre los tipos de division. Si un error de codificacion es mas pequeno en uno de los tipos de division 912 a 916, la unidad de prediccion 910 podna no ser dividida en una profundidad mas baja.
Si el error de codificacion es el mas pequeno en el tipo de division 918, una profundidad se cambia de 0 a 1 para dividir el tipo de division 918 en la operacion 920, y la codificacion se lleva a cabo repetidamente en unidades de codificacion 930 que tienen una profundidad de 2 y un tamano de N_0 x N_0 para buscar un error de codificacion mmimo.
Una unidad de prediccion 940 para codificacion por prediccion de la unidad de codificacion 930 que tiene una profundidad de 1 y un tamano de 2N_1 x 2N_1 (= N_0 x N_0) puede incluir divisiones de un tipo de division 942 que tenga un tamano de 2N_1 x2N_1, un tipo de division 944 que tenga un tamano de 2N_1 x N_1, un tipo de division 946 que tenga un tamano de N_1 x 2N_1 y un tipo de division 948 que tenga un tamano de N_1 x N_1.
Si un error de codificacion es el mas pequeno en el tipo de division 948, una profundidad se cambia de 1 a 2 para dividir el tipo de division 948 en la operacion 950, y la codificacion se lleva a cabo repetidamente en unidades de codificacion 960, las cuales tienen una profundidad de 2 y un tamano de N_2 x N_2 para buscar un error de codificacion mmimo.
Cuando una profundidad maxima es d, la operacion de division de acuerdo con cada profundidad se puede llevar a cabo hasta cuando una profundidad se vuelva d -1, e informacion de division se puede codificar como hasta cuando una profundidad sea 1 de 0 a d - 2. En otras palabras, cuando la codificacion se lleva a cabo hasta cuando la profundidad es d -1 despues de que una unidad de codificacion que se corresponde con una profundidad de d - 2 se divide en la operacion 970, una unidad de prediccion 990 para codificacion por prediccion de una unidad de codificacion 980 que tiene una profundidad de d -1 y un tamano de 2N_(d - 1)x2N_(d -1) puede incluir divisiones de un tipo de division 992 que tenga un tamano de 2N_(d -1) x 2N_(d -1), un tipo de division 994 que tenga un tamano de 2N_(d -1) x N_(d -1), un tipo de division 996 que tenga un tamano de N_(d -1) x 2N_(d -1) y un tipo de division 998 que tenga un tamano de N_(d -1) x N_(d -1).
La codificacion por prediccion se puede llevar a cabo repetidamente en una division que tenga un tamano de 2N_(d - 1)x2N_(d-1), dos divisiones que tengan un tamano de 2N_(d -1) x N_(d -1), dos divisiones que tengan un tamano de N_(d -1) x 2N_(d -1), cuatro divisiones que tengan un tamano de N_(d -1) x N_(d -1) de entre los tipos de division 992 a 998 para buscar un tipo de division que tenga un error de codificacion mmimo.
Incluso cuando el tipo de division 998 tiene el error de codificacion mmimo, debido a que una profundidad maxima es d, una unidad de codificacion CU_(d -1) que tenga una profundidad de d -1 ya no se divide mas a una profundidad mas baja, y una profundidad codificada para las unidades de codificacion que constituyen una unidad de codificacion maxima actual 900 se determina como d -1 y un tipo de division de la unidad de codificacion maxima actual 900 se puede determinar como N_(d -1) x N_(d -1). Asimismo, debido a que la profundidad maxima es d y una unidad de codificacion minima 980 que tiene una profundidad mas inferior de d -1 ya no se divide a una profundidad mas baja,
5
10
15
20
25
30
35
40
45
50
informacion de division para la unidad de codificacion mmima 980 no se establece.
Una unidad de datos 999 puede ser una 'unidad mmima’ para la unidad de codificacion maxima actual. Una unidad mmima puede ser una unidad de datos rectangular obtenida al dividir una unidad de codificacion minima 980 entre 4. Al llevar a cabo la codificacion repetidamente, el aparato de codificacion de video 80 puede seleccionar una profundidad que tenga el mmimo error de codificacion al comparar errores de codificacion de acuerdo con unas profundidades de la unidad de codificacion 900 para determinar una profundidad codificada, y establecer un tipo de division correspondiente y un modo de prediccion como un modo de codificacion de la profundidad codificada.
De esta manera, los errores de codificacion mmimos de acuerdo con unas profundidades se comparan en todas las profundidades de 1 a d, y una profundidad que tenga el mmimo error de codificacion se puede determinar como una profundidad codificada. La profundidad codificada, el tipo de division de la unidad de prediccion y el modo de prediccion se pueden codificar y transmitir como informacion acerca de un modo de codificacion. Asimismo, debido a que una unidad de codificacion se divide a partir de una profundidad de 0 hasta una profundidad codificada, solo informacion de division de la profundidad codificada se establece a 0, e informacion de division de profundidades que excluyan la profundidad codificada se establece a 1.
El extractor de informacion 93 del aparato de descodificacion de video 90 puede extraer y usar la informacion acerca de la profundidad codificada y la unidad de prediccion de la unidad de codificacion 900 para descodificar la division 912. El aparato de descodificacion de video 90 puede determinar una profundidad, en la cual informacion de division sea 0, como una profundidad codificada al usar informacion de division de acuerdo con unas profundidades, y usar informacion acerca de un modo de codificacion de la profundidad correspondiente para descodificacion.
Las figuras 17 a 19 son unos diagramas para describir una relacion entre unas unidades de codificacion 1010, unas unidades de prediccion 1060 y unas unidades de transformacion 1070.
Las unidades de codificacion 1010 son unidades de codificacion que tienen una estructura de arbol, que se corresponden con unas profundidades codificadas determinadas por el aparato de codificacion de video 80, en una unidad de codificacion maxima. Las unidades de prediccion 1060 son divisiones de unidades de prediccion de cada una de las unidades de codificacion 1010, y las unidades de transformacion 1070 son unidades de transformacion de cada una de las unidades de codificacion 1010.
Cuando una profundidad de una unidad de codificacion maxima es 0 en las unidades de codificacion 1010, profundidades de las unidades de codificacion 1012 y 1054 son 1, las profundidades de las unidades de codificacion 1014, 1016, 1018, 1028, 1050 y 1052 son 2, las profundidades de las unidades de codificacion 1020, 1022, 1024, 1026, 1030, 1032 y 1048 son 3, y las profundidades de las unidades de codificacion 1040, 1042, 1044 y 1046 son 4.
En las unidades de prediccion 1060, algunas unidades de codificacion 1014, 1016, 1022, 1032, 1048, 1050, 1052 y 1054 se obtienen al dividir las unidades de codificacion en las unidades de codificacion 1010. En otras palabras, tipos de division en las unidades de codificacion 1014, 1022, 1050 y 1054 tienen un tamano de 2N x N, los tipos de division en las unidades de codificacion 1016, 1048 y 1052 tienen un tamano de N x 2N, y un tipo de division de la unidad de codificacion 1032 tiene un tamano de N x N. Las unidades de prediccion y divisiones de las unidades de codificacion 1010 son mas pequenas que o iguales a cada unidad de codificacion.
Transformacion o transformacion inversa se lleva a cabo en datos de imagen de la unidad de codificacion 1052 en las unidades de transformacion 1070 en una unidad de datos que es mas pequena que la unidad de codificacion 1052. Asimismo, las unidades de codificacion 1014, 1016, 1022, 1032, 1048, 1050 y 1052 en las unidades de transformacion 1070 son diferentes de las de las unidades de prediccion 1060 en terminos de tamanos y formas. En otras palabras, los aparatos de codificacion y descodificacion de video 100 y 200 pueden llevar a cabo intra prediccion, estimacion de movimiento, compensacion de movimiento, transformacion y transformacion inversa individualmente en una unidad de datos en la misma unidad de codificacion.
En consecuencia, la codificacion se lleva a cabo recursivamente en cada una de las unidades de codificacion que tienen una estructura jerarquica en cada region de una unidad de codificacion maxima para determinar una unidad de codificacion optima, y de esta manera unidades de codificacion que tengan una estructura de arbol recursiva pueden ser obtenidas. La informacion de codificacion puede incluir informacion de division acerca de una unidad de codificacion, informacion acerca de un tipo de division, informacion acerca de un modo de prediccion, e informacion acerca de un tamano de una unidad de transformacion. La tabla 2 muestra la informacion de codificacion que se puede establecer por los aparatos de codificacion y descodificacion de video 80 y 90.
5
10
15
20
25
30
35
40
45
Tabla 2
Informacion (Codificacio actual de d
de division 0 n en unidad de codificacion que tiene un tamano de 2N x 2N y profundidad Informacion de division 1
Modo de prediccion
Tipo de division Tamano de unidad de transformacion Codificar repetidamente unidades de codificacion que tengan una profundidad mas baja de d + 1
Intra Inter Salto (solo 2N x 2N)
Tipo de division simetrica 1 Tipo de division asimetrica 1 Informacion de division 0 de unidad de transformacion Informacion de division 1 de unidad de Transformacion
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 simetrico) N / 2 x N / 2 (tipo asimetrico)
El transmisor 88 del aparato de codificacion de video 80 puede enviar la informacion de codificacion acerca de las unidades de codificacion que tengan una estructura de arbol, y el extractor de informacion 93 del aparato de descodificacion de video 90 puede extraer la informacion de codificacion acerca de las unidades de codificacion que tengan una estructura de arbol de un flujo de bits recibido.
La informacion de division indica si una unidad de codificacion actual se divide en unidades de codificacion de una profundidad mas baja. Si la informacion de division de una profundidad actual d es 0, una profundidad, en la cual una unidad de codificacion actual ya no se divide en una profundidad mas baja, es una profundidad codificada, y de esta manera informacion acerca de un tipo de division, modo de prediccion y un tamano de una unidad de transformacion se puede definir para la profundidad codificada. Si la unidad de codificacion actual se divide mas de acuerdo con la informacion de division, la codificacion se lleva a cabo independientemente en cuatro unidades de codificacion divididas de una profundidad mas baja.
Un modo de prediccion 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 division, y el modo de salto se puede definir solo en un tipo de division que tenga un tamano de 2N x 2N.
La informacion acerca del tipo de division puede indicar tipos de division simetricos que tengan unos tamanos de 2Nx2N, 2N x N, N x 2N y N x N, los cuales se obtengan al dividir simetricamente una altura o un ancho de una unidad de prediccion, y tipos de division asimetricos que tengan unos tamanos de 2N x nU, 2N x nD, nLx2N y nR x 2N, los cuales se obtengan al dividir asimetricamente la altura o el ancho de la unidad de prediccion. Los tipos de division asimetricos que tienen los tamanos de 2N x nU y 2N x nD se pueden obtener, de forma respectiva, al dividir la altura de la unidad de prediccion en 1:3 y 3:1, y los tipos de division asimetricos que tengan los tamanos de nL x 2N y nR x 2N se pueden obtener, de forma respectiva, al dividir el ancho de la unidad de prediccion en 1:3 y 3:1.
El tamano de la unidad de transformacion se puede establecer para que sea dos tipos en el modo intra y dos tipos en el modo inter. En otras palabras, si informacion de division de la unidad de transformacion es 0, el tamano de la unidad de transformacion puede ser 2N x2N, que es el tamano de la unidad de codificacion actual. Si informacion de division de la unidad de transformacion es 1, las unidades de las unidades de transformacion se pueden obtener al dividir la unidad de codificacion actual. Asimismo, si un tipo de division de la unidad de codificacion actual que tiene el tamano de 2N x 2N es un tipo de division simetrico, un tamano de una unidad de transformacion puede ser N x N, y si el tipo de division de la unidad de codificacion actual es un tipo de division asimetrico, el tamano de la unidad de transformacion puede ser N / 2 x N / 2.
La informacion de codificacion acerca de unidades de codificacion que tienen una estructura de arbol puede incluir por lo menos una de una unidad de codificacion que corresponda a una profundidad codificada, una unidad de prediccion y una unidad minima. La unidad de codificacion que corresponda a la profundidad codificada puede incluir por lo menos una de una unidad de prediccion y una unidad minima que contenga la misma informacion de codificacion.
En consecuencia, se determina si unidades de datos adyacentes estan incluidas en la misma unidad de codificacion que se corresponde con la profundidad codificada al comparar informacion de codificacion de las unidades de datos adyacentes. Asimismo, una unidad de codificacion correspondiente que se corresponde con una profundidad codificada se determina usando informacion de codificacion de una unidad de datos, y de esta manera una distribucion de profundidades codificadas en una unidad de codificacion maxima puede ser determinada.
En consecuencia, si una unidad de codificacion actual se predice sobre la base de informacion de codificacion de unidades de datos adyacentes, informacion de codificacion de unidades de datos en unidades de codificacion mas profundas adyacentes a la unidad de codificacion actual se puede consultar y usar directamente.
5
10
15
20
25
30
35
40
45
50
55
Como alternativa, si una unidad de codificacion actual se predice sobre la base de informacion de codificacion de unidades de datos adyacentes, las unidades de datos adyacentes a la unidad de codificacion actual son buscadas usando informacion codificada de las unidades de datos, y las unidades de codificacion adyacentes buscadas se pueden consultar para predecir la unidad de codificacion actual.
La figura 20 es un diagrama para describir una relacion entre una unidad de codificacion, una unidad de prediccion o una division, y una unidad de transformacion, de acuerdo con la informacion de modo de codificacion de la tabla 2.
Una unidad de codificacion maxima 1300 incluye unidades de codificacion 1302, 1304, 1306, 1312, 1314, 1316 y 1318 de profundidades codificadas. En el presente caso, debido a que la unidad de codificacion 1318 es una unidad de codificacion de una profundidad codificada, informacion de division se puede establecer a 0. Informacion acerca de un tipo de division de la unidad de codificacion 1318 que tenga un tamano de 2N x 2N se puede establecer para ser uno de un tipo de division 1322 que tenga un tamano de 2N x 2N, un tipo de division 1324 que tenga un tamano de 2N x N, un tipo de division 1326 que tenga un tamano de N x 2N, un tipo de division 1328 que tenga un tamano de N x N, un tipo de division 1332 que tenga un tamano de 2N x nU, un tipo de division 1334 que tenga un tamano de 2N x nD, un tipo de division 1336 que tenga un tamano de nLx2N, y un tipo de division 1338 que tenga un tamano de nR x 2N.
Informacion de division (indicador de tamano de TU) de una unidad de transformacion es un tipo de mdice de transformacion, en donde un tamano de una unidad de transformacion que se corresponde con un mdice de transformacion puede cambiar de acuerdo con un tipo de unidad de prediccion o un tipo de division de una unidad de codificacion.
Por ejemplo, cuando el tipo de division se establece para ser simetrico, es decir, el tipo de division 1322, 1324, 1326 o 1328, una unidad de transformacion 1342 que tienen un tamano de 2N x 2N se establece si el indicador de tamano de TU es 0, y una unidad de transformacion 1344 que tiene un tamano de N x N se establece si un indicador de tamano de TU es 1.
Cuando el tipo de division se establece para ser asimetrico, es decir, el tipo de division 1332, 1334, 1336 o 1338, una unidad de transformacion 1352 que tiene un tamano de 2N x 2N se establece si un indicador de tamano de TU es 0, y una unidad de transformacion 1354 que tiene un tamano de N/2xN/2 se establece si un indicador de tamano de TU es 1.
En referencia a la figura 18, el indicador de tamano de TU es un indicador que tiene un valor de 0 o 1, pero el indicador de tamano de TU no se limita a 1 bit, y una unidad de transformacion se puede dividir jerarquicamente que tenga una estructura de arbol mientras el indicador de tamano de TU se incremente desde 0.
En este caso, el tamano de una unidad de transformacion que ha sido realmente usada se puede expresar usando un indicador de tamano de TU de una unidad de transformacion, junto con un tamano maximo y tamano mmimo de la unidad de transformacion. El aparato de codificacion de video 80 es capaz de codificar informacion de tamano de unidad de transformacion maxima, informacion de tamano de unidad de transformacion minima y un indicador de tamano de TU maximo. El resultado de codificar la informacion de tamano de unidad de transformacion maxima, la informacion de tamano de unidad de transformacion minima y el indicador de tamano de TU maximo se puede insertar en un SPS. El aparato de descodificacion de video 90 puede descodificar video usando la informacion de tamano de unidad de transformacion maxima, la informacion de tamano de unidad de transformacion minima y el indicador de tamano de TU maximo.
Por ejemplo, si el tamano de una unidad de codificacion actual es 64 x 64 y un tamano de unidad de transformacion maxima es 32 x 32, entonces el tamano de una unidad de transformacion puede ser 32 x 32 cuando un indicador de tamano de TU sea 0, puede ser 16 x 16 cuando el indicador de tamano de TU sea 1 y puede ser 8x8 cuando el indicador de tamano de TU sea 2.
Como otro ejemplo, si el tamano de la unidad de codificacion actual es 32 x 32 y un tamano de unidad de transformacion minima es 32 x 32, entonces el tamano de la unidad de transformacion puede ser 32 x 32 cuando el indicador de tamano de TU sea 0. En el presente caso, el indicador de tamano de TU no se puede establecer a un valor que no sea 0, toda vez que el tamano de la unidad de transformacion no puede ser menor que 32 x 32.
Como otro ejemplo, si el tamano de la unidad de codificacion actual es 64x64 y un indicador de tamano de TU maximo es 1, entonces el indicador de tamano de TU puede ser 0 o 1. En el presente caso, el indicador de tamano 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 tamano de TU maximo es 'MaxTransformSizelndex', un tamano de unidad de transformacion minima es 'MinTransformSize', y un tamano de unidad de transformacion es 'RootTuSize' cuando el indicador de tamano de TU es 0, entonces un tamano de unidad de transformacion minima actual 'CurrMinTuSize' que se puede determinar en una unidad de codificacion actual, puede ser definido por la ecuacion 10.
5
10
15
20
25
30
35
40
45
50
[Ecuacion 10]
CurrMinTuSize = max (MinTransformSize, RootTuSize / (2AMaxTransformSizeIndex)).
En comparacion con el tamano de unidad de transformacion minima actual 'CurrMinTuSize' que se puede determinar en la unidad de codificacion actual, un tamano de unidad de transformacion 'RootTuSize' cuando el indicador de tamano de TU es 0 puede indicar un tamano de unidad de transformacion maxima que se puede seleccionar en el sistema. En la ecuacion 10, 'RootTuSize / (2 * MaxTransformSizeIndex)' indica un tamano de unidad de transformacion cuando el tamano de unidad de transformacion 'RootTuSize', cuando el indicador de tamano de TU es 0, se divide un numero de veces que se corresponde con el indicador de tamano de TU maximo, y 'MinTransformSize' indica un tamano de transformacion mmimo. De este modo, un valor mas pequeno de entre 'RootTuSize / (2AMaxTransformSizeIndex/ y 'MinTransformSize' puede ser el tamano de unidad de transformacion minima actual 'CurrMinTuSize' que se puede determinar en la unidad de codificacion actual.
El tamano de unidad de transformacion maxima RootTuSize puede variar de acuerdo con el tipo de un modo de prediccion.
Por ejemplo, si un modo de prediccion actual es un modo inter, entonces 'RootTuSize' se puede determinar usando la ecuacion (11) en lo sucesivo. En la ecuacion 11, 'MaxTransformSize' indica un tamano de unidad de transformacion maxima, y 'PUSize' indica un tamano de unidad de prediccion actual.
[Ecuacion 11]
RootTuSize = mm (MaxTransformSize, PUSize).
Es decir, si el modo de prediccion actual es el modo inter, el tamano de unidad de transformacion 'RootTuSize' cuando el indicador de tamano de TU es 0, puede ser un valor mas pequeno de entre el tamano de unidad de transformacion maxima y el tamano de unidad de prediccion actual.
Si un modo de prediccion de una unidad de division actual es un modo intra, 'RootTuSize' se puede determinar usando la siguiente ecuacion 12 en lo sucesivo. En la ecuacion 12, 'PartitionSize' indica el tamano de la unidad de division actual.
[Ecuacion 12]
RootTuSize = mm (MaxTransformSize, PartitionSize).
Es decir, si el modo de prediccion actual es el modo intra, el tamano de unidad de transformacion 'RootTuSize' cuando el indicador de tamano de TU es 0 puede ser un valor mas pequeno de entre el tamano de unidad de transformacion maxima y el tamano de la unidad de division actual.
No obstante, el tamano de unidad de transformacion maxima actual 'RootTuSize' que vana de acuerdo con el tipo de un modo de prediccion en una unidad de division es solo un ejemplo y la presente invencion no se limita al mismo.
La figura 21 es un diagrama de flujo que ilustra un procedimiento para codificar un video para compensar un valor de pixel despues de llevar a cabo un filtrado de lazo sobre la base de unidades de codificacion que tienen una estructura de arbol.
En la operacion 2110, una imagen actual se divide en por lo menos una unidad de codificacion maxima, y una profundidad codificada para enviar un resultado de codificacion final de acuerdo con por lo menos una region dividida, que se obtiene al dividir una region de cada unidad de codificacion maxima de acuerdo con unas profundidades, se determina al codificar la por lo menos una region dividida. Asimismo, un modo de codificacion que incluye informacion acerca de una profundidad codificada o informacion de division, informacion acerca de un tipo de division de una profundidad codificada, un modo de prediccion y un tamano de una unidad de transformacion, se determina de acuerdo con una unidad de codificacion mas profunda de acuerdo con unas profundidades.
Una profundidad maxima que indique un numero total de veces posibles en que la unidad de codificacion maxima se divide puede ser predeterminada. La unidad de codificacion maxima puede ser dividida jerarquicamente, y la codificacion se puede llevar a cabo repetidamente para cada unidad de codificacion mas profunda siempre que la profundidad se haga mas profunda. Los errores de codificacion de todas las unidades de codificacion mas profundas se miden y se comparan para determinar de este modo una profundidad codificada que genere el mmimo error de codificacion de la unidad de codificacion.
En la operacion 2120, datos de imagen codificados son descodificados sobre la base de la profundidad codificada y el modo de codificacion, 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.
5
10
15
20
25
30
35
40
45
50
55
En la operacion 2130, un valor de compensacion 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 pfxeles que incluye pfxeles restablecidos a compensar son determinados. El grupo de pfxeles que incluye los pfxeles restablecidos que tienen valores de pixel a compensar se puede determinar de acuerdo con niveles de valor extremo y/o de borde de valores de pixel, bandas de valores de pixel o lmeas. El valor de compensacion de acuerdo con grupos de pfxeles se puede determinar sobre la base de un valor promedio de los errores.
En la operacion 2140, datos de imagen que constituyen el resultado de codificacion final de acuerdo con la por lo menos una region dividida, informacion acerca de la profundidad codificada y el modo de codificacion, informacion acerca de un coeficiente de filtrado de lazo e informacion relacionada con el valor de compensacion son enviados. La informacion acerca del modo de codificacion puede incluir informacion acerca de una profundidad codificada o informacion de division, informacion acerca de un tipo de division de la profundidad codificada, un modo de prediccion y un tamano de una unidad de transformacion.
La informacion relacionada con el valor de compensacion de acuerdo con los grupos de pfxeles puede ser codificada junto con la informacion acerca del modo de codificacion, los datos de video y la informacion acerca del coeficiente de filtrado de lazo, las cuales son codificadas de acuerdo con el procedimiento a base de las unidades de codificacion que tienen la estructura de arbol, y se pueden transmitir a un descodificador.
La figura 22 es un diagrama de flujo que ilustra un procedimiento para descodificar un video para compensar un valor de pixel despues de llevar a cabo un filtrado de lazo sobre la base de unidades de codificacion que tienen una estructura de arbol, de acuerdo con una realizacion a modo de ejemplo.
En la operacion 2210, un flujo de bits acerca de un video codificado de acuerdo con el procedimiento de la figura 21 sobre la base de las unidades de codificacion que tienen la estructura de arbol se recibe y analiza, y datos de imagen de una imagen actual asignada a una unidad de codificacion maxima, informacion acerca de una profundidad codificada y un modo de codificacion de acuerdo con las unidades de codificacion maximas, informacion acerca de un coeficiente de filtrado de lazo e informacion relacionada con un valor de compensacion se extraen del flujo de bits analizado.
Una profundidad codificada de acuerdo con las unidades de codificacion maximas se selecciona como una profundidad que tiene el mmimo error de codificacion de acuerdo con las unidades de codificacion maximas mientras se codifica la imagen actual. La codificacion se lleva a cabo de acuerdo con las unidades de codificacion maximas al codificar los datos de imagen sobre la base de por lo menos una unidad de datos obtenida al dividir jerarquicamente la unidad de codificacion maxima de acuerdo con unas profundidades. En consecuencia, cada pieza de datos de imagen se descodifica despues de determinar la profundidad codificada de acuerdo con unidades de codificacion, mejorando de esta manera la eficiencia de codificacion y descodificacion de una imagen.
En la operacion 2220, los datos de imagen son descodificados en cada unidad de codificacion maxima sobre la base de la informacion acerca de la profundidad codificada y el modo de codificacion, 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 operacion 2230, un grupo de pfxeles que incluye pfxeles restablecidos a compensar se determina de entre pfxeles restablecidos de la imagen restablecida, mediante el uso del valor de compensacion. El grupo de pfxeles que incluye los pfxeles restablecidos que tienen valores de pixel a compensar se puede determinar usando el valor de compensacion, de acuerdo con niveles de valor extremo y / o de borde de los valores de pixel de los pfxeles restablecidos, bandas de valores de pixel, o lmeas, usando un procedimiento para determinar un grupo de pfxeles sobre la base de la informacion extrafda relacionada con el valor de compensacion.
En la operacion 2240, una imagen restablecida que tiene un error compensado puede ser enviada mediante la compensacion de un error entre los pfxeles restablecidos del grupo de pfxeles determinado y un pixel original correspondiente usando el valor de compensacion.
De acuerdo con el procedimiento para codificar un video y el procedimiento para descodificar un video, la calidad de la imagen restablecida se puede mejorar mediante la compensacion de un error sistematico de la imagen restablecida, y una velocidad de bits de transmision de informacion adicional para mejorar la calidad de la imagen restablecida se puede reducir debido a que solo la informacion acerca del valor de compensacion de acuerdo con los grupos de pfxeles es codificada y transmitida, e informacion acerca de una ubicacion de un pixel a compensar no es transmitida.
Realizaciones a modo de ejemplo de la presente invencion pueden ser escritas como programas informaticos y se pueden implementar en ordenadores digitales de uso general que ejecuten los programas usando un medio de grabacion legible por ordenador. Ejemplos del medio de grabacion legible por ordenador incluyen medios de almacenamiento magneticos (por ejemplo, ROM, discos flexibles, discos duros, etc.) y medios de grabacion opticos (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 entendera 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 a modo de ejemplo se han de considerar en un sentido descriptivo unicamente y no para efectos de 5 limitacion. Por lo tanto, el alcance del concepto inventivo no se define por la descripcion detallada de realizaciones a modo de ejemplo sino por las reivindicaciones adjuntas, y todas las diferencias dentro del alcance se consideraran como que estan incluidas en el presente concepto inventivo.

Claims (1)

  1. 5
    10
    15
    20
    25
    30
    REIVINDICACIONES
    1. Un procedimiento de decodificacion de un v^deo para compensar un valor de pixel, comprendiendo el procedimiento:
    obtener, a partir de un flujo de bits, informacion acerca de compensacion de valores de p^xel y un valor de compensacion;
    extraer datos de imagen codificados a partir de un flujo de bits analizando el flujo de bits de una imagen codificada;
    descodificar los datos de imagen extrafdos y realizar un filtrado de desbloqueo en los datos de imagen descodificados;
    determinar un grupo de pfxeles que comprende un pixel actual a compensar, mediante el uso del valor de
    compensacion extrafdo, de entre pfxeles de la imagen sometida a filtrado de desbloqueo; y
    compensar un error entre el pixel actual del grupo de pfxeles determinado y un pixel original correspondiente
    mediante el uso del valor de compensacion extrafdo,
    en el que la compensacion de un error comprende:
    cuando la informacion acerca de compensacion de valores de pixel indica un primer tipo que se refiere a bandas de valores de pixel, determinar una banda que comprende un valor de pixel de un pixel actual del grupo de pfxeles determinado; y
    anadir, al valor de pixel del pixel actual, el valor de compensacion que se corresponde con la banda, y en el que un intervalo total de valores de los pfxeles es de 0 a un valor maximo de los valores de los pfxeles, y una seccion que se corresponde con el intervalo total de valores de los pfxeles se divide de manera uniforme en una pluralidad de bandas, la banda es una de una pluralidad de bandas, y el valor de compensacion se corresponde con la banda de entre la pluralidad de bandas, y en el que la compensacion de un error comprende:
    cuando la informacion acerca de compensacion de valores de pixel indica el segundo tipo que se refiere a niveles de valor de borde, determinar un nivel de valor de borde del pixel actual (30) comparando el valor de pixel del pixel actual (30) con valores de pixel de unos pfxeles adyacentes (31, 32, 33, 34, 35, 36 y 37) en la imagen sometida a filtrado de desbloqueo; y
    anadir, al valor de pixel del pixel actual, el valor de compensacion que se corresponde con el nivel de valor de borde, y
    el nivel de valor de borde es uno de una pluralidad de niveles de valor de borde.
ES11766124.9T 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 Active ES2632573T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020100031143A KR101529992B1 (ko) 2010-04-05 2010-04-05 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치
KR20100031143 2010-04-05
PCT/KR2011/002373 WO2011126273A2 (en) 2010-04-05 2011-04-05 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

Publications (1)

Publication Number Publication Date
ES2632573T3 true ES2632573T3 (es) 2017-09-14

Family

ID=44709668

Family Applications (5)

Application Number Title Priority Date Filing Date
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
ES15191963.6T Active ES2688370T3 (es) 2010-04-05 2011-04-05 Aparatos y procedimientos relacionados con la descodificación de un vídeo
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
ES18195262T Active ES2764713T3 (es) 2010-04-05 2011-04-05 Procedimiento y aparato para codificar un video
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 After (4)

Application Number Title Priority Date Filing Date
ES15191963.6T Active ES2688370T3 (es) 2010-04-05 2011-04-05 Aparatos y procedimientos relacionados con la descodificación de un vídeo
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
ES18195262T Active ES2764713T3 (es) 2010-04-05 2011-04-05 Procedimiento y aparato para codificar un video
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) EP3439307B1 (es)
JP (5) JP5819935B2 (es)
KR (1) KR101529992B1 (es)
CN (6) CN105049855B (es)
AU (1) AU2011239128B2 (es)
BR (5) BR122020012380B1 (es)
CA (6) CA2887748C (es)
CY (4) CY1119272T1 (es)
DK (5) DK2999226T3 (es)
ES (5) ES2632573T3 (es)
HR (4) HRP20170876T1 (es)
HU (5) HUE036398T2 (es)
LT (4) LT2545710T (es)
MX (1) MX2012011564A (es)
MY (5) MY183839A (es)
PL (5) PL3439307T3 (es)
PT (4) PT2545710T (es)
RS (4) RS56071B1 (es)
RU (5) RU2628123C2 (es)
SI (4) SI2999226T1 (es)
WO (1) WO2011126273A2 (es)
ZA (5) ZA201208297B (es)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101529992B1 (ko) 2010-04-05 2015-06-18 삼성전자주식회사 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치
CN106231328B (zh) 2010-04-13 2020-06-12 Ge视频压缩有限责任公司 解码器、解码方法、编码器以及编码方法
KR102480988B1 (ko) 2010-04-13 2022-12-26 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
CN102939750B (zh) 2010-04-13 2016-07-06 Ge视频压缩有限责任公司 跨平面预测
LT3697089T (lt) 2010-04-13 2022-01-10 Ge Video Compression, Llc Paveldėjimas ėminių masyvo multimedžio poskaidinyje
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
CN108881919B (zh) * 2011-12-22 2021-01-08 三星电子株式会社 视频解码方法
US9161035B2 (en) * 2012-01-20 2015-10-13 Sony Corporation Flexible band offset mode in sample adaptive offset in HEVC
CN104869394B (zh) 2012-06-11 2018-10-19 三星电子株式会社 视频解码方法
TWI595776B (zh) 2012-06-27 2017-08-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 日本電信電話株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム
US10264196B2 (en) 2016-02-12 2019-04-16 Contrast, Inc. Systems and methods for HDR video capture with a mobile device
US10257393B2 (en) 2016-02-12 2019-04-09 Contrast, Inc. Devices and methods for high dynamic range video
US20170302965A1 (en) * 2016-04-15 2017-10-19 Google Inc. Adaptive directional loop filter
MX2019000506A (es) 2016-07-14 2019-03-28 Samsung Electronics Co Ltd Metodo de decodificacion de video y dispositivo para ello y metodo de codificacion de video y dispositivo para ello.
EP3497925B1 (en) 2016-08-09 2022-11-23 Contrast, Inc. Real-time hdr video for vehicle control
WO2019014057A1 (en) 2017-07-10 2019-01-17 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
JP7239732B2 (ja) 2019-04-02 2023-03-14 北京字節跳動網絡技術有限公司 双方向オプティカルフローに基づく映像符号化及び復号化
US10638130B1 (en) 2019-04-09 2020-04-28 Google Llc Entropy-inspired directional filtering for image coding
WO2020211867A1 (en) 2019-04-19 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Delta motion vector in prediction refinement with optical flow process
JP7319386B2 (ja) 2019-04-19 2023-08-01 北京字節跳動網絡技術有限公司 異なる動きベクトル微調整における勾配計算
WO2020211866A1 (en) 2019-04-19 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Applicability of prediction refinement with optical flow process
KR20210112042A (ko) * 2020-03-04 2021-09-14 에스케이하이닉스 주식회사 이미지 센싱 장치 및 그의 동작 방법

Family Cites Families (32)

* Cited by examiner, † Cited by third party
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
DK1387585T3 (da) 2001-09-12 2005-07-25 Matsushita Electric Ind Co Ltd Billedkodningsfremgangsmåde og billedkodningsfremgangsmåde
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 삼성전자주식회사 최적인 예측 모드를 적응적으로 적용하여 동영상을부호화하는 방법 및 장치, 동영상을 복호화하는 방법 및장치
JP5513740B2 (ja) 2006-03-27 2014-06-04 パナソニック株式会社 画像復号化装置、画像符号化装置、画像復号化方法、画像符号化方法、プログラムおよび集積回路
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 上海交通大学 视频解码器运动补偿过程中的像素缓存方法及系统
CN101911112B (zh) * 2007-12-25 2012-06-13 日本电气株式会社 图像处理装置、图像压缩装置及图像传输系统
US9008174B2 (en) 2008-01-10 2015-04-14 Thomson Licensing Methods and apparatus for illumination compensation of intra-predicted video
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
KR101857108B1 (ko) 2011-10-19 2018-05-11 주식회사 케이티 영상 부호화/복호화 방법 및 그 장치
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
WO2013103892A1 (en) * 2012-01-05 2013-07-11 General Instrument Corporation Devices and methods for sample adaptive offset coding and/or selection of edge offset parameters
MX2013015089A (es) * 2012-05-25 2014-02-21 Panasonic Corp Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imágenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.

Also Published As

Publication number Publication date
EP2999224B1 (en) 2017-06-21
CA2887791A1 (en) 2011-10-13
LT2545710T (lt) 2017-07-25
HRP20171038T1 (hr) 2017-10-06
DK3439307T3 (da) 2019-12-16
CY1120713T1 (el) 2019-12-11
MY183839A (en) 2021-03-17
JP2015136185A (ja) 2015-07-27
US9124893B2 (en) 2015-09-01
PL2999226T3 (pl) 2019-01-31
EP2999227B1 (en) 2017-06-07
CN104980741A (zh) 2015-10-14
RS57679B1 (sr) 2018-11-30
CY1119272T1 (el) 2018-02-14
JP5937720B2 (ja) 2016-06-22
PT2545710T (pt) 2017-07-14
KR101529992B1 (ko) 2015-06-18
RU2628123C2 (ru) 2017-08-15
ZA201500714B (en) 2016-01-27
CN102939753B (zh) 2016-06-01
JP2015136187A (ja) 2015-07-27
EP2999227A1 (en) 2016-03-23
CA2887786A1 (en) 2011-10-13
ZA201208297B (en) 2015-08-26
HRP20171123T1 (hr) 2017-10-06
EP2999224A1 (en) 2016-03-23
CA2887748C (en) 2017-09-12
HRP20170876T1 (hr) 2017-09-22
CA2887748A1 (en) 2011-10-13
JP2015136188A (ja) 2015-07-27
RU2015118881A (ru) 2015-11-20
RU2015118705A (ru) 2015-09-27
BR112012025312B1 (pt) 2022-03-03
CN105049855A (zh) 2015-11-11
CN104980742B (zh) 2020-05-26
SI2999227T1 (sl) 2017-07-31
SI2999224T1 (sl) 2017-11-30
EP2999225B1 (en) 2018-02-21
CN105049855B (zh) 2019-01-25
CY1119299T1 (el) 2018-02-14
RU2600534C2 (ru) 2016-10-20
US20150326885A1 (en) 2015-11-12
RU2015118723A (ru) 2015-09-20
KR20110111852A (ko) 2011-10-12
BR112012025312A2 (pt) 2016-06-28
CA2887783A1 (en) 2011-10-13
HUE036398T2 (hu) 2018-07-30
EP3614677A1 (en) 2020-02-26
MY154665A (en) 2015-07-15
CA2887786C (en) 2017-11-07
RS56071B1 (sr) 2017-10-31
JP2013524674A (ja) 2013-06-17
DK2999226T3 (en) 2018-10-08
DK2999227T3 (en) 2017-07-03
EP2999225A1 (en) 2016-03-23
RS56218B1 (sr) 2017-11-30
MX2012011564A (es) 2012-12-17
PT2999227T (pt) 2017-06-21
EP2545710A2 (en) 2013-01-16
PT2999224T (pt) 2017-08-03
US20150189294A1 (en) 2015-07-02
DK2545710T3 (da) 2017-07-31
CN102939753A (zh) 2013-02-20
US10097860B2 (en) 2018-10-09
WO2011126273A2 (en) 2011-10-13
WO2011126273A3 (en) 2012-01-12
EP3439307A1 (en) 2019-02-06
CN104980741B (zh) 2018-12-07
SI2999226T1 (sl) 2018-10-30
ES2633973T3 (es) 2017-09-26
HRP20181496T1 (hr) 2018-11-30
US20150189292A1 (en) 2015-07-02
DK2999224T3 (en) 2017-07-31
JP5819935B2 (ja) 2015-11-24
EP2999226A1 (en) 2016-03-23
MY179636A (en) 2020-11-11
CA2887783C (en) 2016-11-01
JP5937721B2 (ja) 2016-06-22
EP2545710A4 (en) 2013-08-07
RS56274B1 (sr) 2017-11-30
ZA201500711B (en) 2016-01-27
HUE036399T2 (hu) 2018-07-30
JP5937722B2 (ja) 2016-06-22
AU2011239128B2 (en) 2014-11-13
HUE034192T2 (en) 2018-02-28
RU2602784C2 (ru) 2016-11-20
EP3439307B1 (en) 2019-12-04
BR122021004657B1 (pt) 2022-03-03
PT2999226T (pt) 2018-10-24
CA2887791C (en) 2016-11-01
RU2015118706A (ru) 2015-09-20
US9124892B2 (en) 2015-09-01
RU2608877C2 (ru) 2017-01-25
RU2554555C2 (ru) 2015-06-27
ZA201500713B (en) 2016-01-27
EP2545710B1 (en) 2017-07-05
CN104980744A (zh) 2015-10-14
JP2015136186A (ja) 2015-07-27
PL2545710T3 (pl) 2017-09-29
LT2999224T (lt) 2017-08-25
CN104994383A (zh) 2015-10-21
AU2011239128A1 (en) 2012-11-01
ES2764713T3 (es) 2020-06-04
US9118914B2 (en) 2015-08-25
BR122021004659B1 (pt) 2022-02-15
CA2795439A1 (en) 2011-10-13
MY185162A (en) 2021-04-30
CN104980744B (zh) 2019-04-26
US20150189293A1 (en) 2015-07-02
HUE042536T2 (hu) 2019-07-29
US20170332105A1 (en) 2017-11-16
MY178474A (en) 2020-10-14
PL2999224T3 (pl) 2017-10-31
US20150163491A1 (en) 2015-06-11
ZA201500712B (en) 2016-01-27
BR122020012380B1 (pt) 2022-03-03
US9736499B2 (en) 2017-08-15
PL2999227T3 (pl) 2017-09-29
CN104994383B (zh) 2019-02-01
HUE048837T2 (hu) 2020-08-28
JP6007284B2 (ja) 2016-10-12
ES2628911T3 (es) 2017-08-04
LT2999226T (lt) 2018-10-10
PL3439307T3 (pl) 2020-03-31
CY1119321T1 (el) 2018-02-14
US8982962B2 (en) 2015-03-17
BR122021004663B1 (pt) 2022-03-03
ES2688370T3 (es) 2018-11-02
EP2999226B1 (en) 2018-09-19
CA2795439C (en) 2017-02-28
US9124894B2 (en) 2015-09-01
RU2012146741A (ru) 2014-05-20
EP3614677B1 (en) 2021-06-02
LT2999227T (lt) 2017-06-26
SI2545710T1 (sl) 2017-08-31
US20110243248A1 (en) 2011-10-06
CN104980742A (zh) 2015-10-14
CA2980750A1 (en) 2011-10-13

Similar Documents

Publication Publication Date Title
ES2632573T3 (es) 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
ES2578609T3 (es) Procedimiento y aparato de codificación de vídeo, y procedimiento y aparato de descodificación de vídeo
ES2548227T3 (es) Método de decodificación de imágenes
ES2631031T3 (es) Aparato de descodificación de vídeo mediante el uso de fusión de bloques
ES2778655T3 (es) Procedimiento para decodificar vídeo considerando un orden de omisión y de división
ES2706485T3 (es) Aparato de codificación de vídeo teniendo en cuenta la orden de exploración de unidades de codificación que tienen estructura jerárquica
ES2691980T3 (es) Procedimiento de decodificación de imágenes