ES2548043T3 - Filtrado de desbloqueo - Google Patents

Filtrado de desbloqueo Download PDF

Info

Publication number
ES2548043T3
ES2548043T3 ES11855586.1T ES11855586T ES2548043T3 ES 2548043 T3 ES2548043 T3 ES 2548043T3 ES 11855586 T ES11855586 T ES 11855586T ES 2548043 T3 ES2548043 T3 ES 2548043T3
Authority
ES
Spain
Prior art keywords
pixel
pixels
offset
line
block
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
ES11855586.1T
Other languages
English (en)
Inventor
Andrey Norkin
Kenneth Andersson
Rickard Sjöberg
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=46507326&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2548043(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of ES2548043T3 publication Critical patent/ES2548043T3/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • H04N19/865Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness with detection of the former encoding block subdivision in decompressed video
    • 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
    • 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
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • 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
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un método de reducir las aberraciones de bloqueo en una frontera de bloque (1) entre un bloque (10) de múltiples píxeles (11, 13, 15, 17) y un bloque vecino (20) de múltiples píxeles (21, 23, 25, 27) en un fotograma de video, comprendiendo el citado método las etapas de: calcular (S1) un primer desfase; acortar (S11) el citado primer desfase para que esté dentro de un intervalo de -tC y tC, ajustando el citado primer desfase para que sea igual a -tC si el citado primer desfase es menor que -tC y ajustando el citado primer desfase para que sea igual a tC si el citado primer desfase es mayor que tC, donde tC es un valor de umbral que depende de un valor de parámetro de cuantificación asignado al citado bloque (10); modificar (S2) un valor de píxel p0 de un píxel (11) más cercano a la citada frontera de bloque (1) en una línea (12) de píxeles (11, 13, 15, 17) en el citado bloque (10), donde la citada línea (12) de píxeles (11, 13, 15, 17) es perpendicular a la citada frontera de bloque (1), sumando el citado primer desfase al citado valor de píxel p0 del citado píxel (11) más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) para formar un valor de píxel modificado p0' del citado píxel (11) más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17); y modificar (S3) un valor de píxel q0 de un píxel (21) más cercano a la citada frontera de bloque (1) en una línea (22) correspondiente de píxeles (21, 23, 25, 27) en el ciado bloque vecino (20), donde la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) es perpendicular a la citada frontera de bloque (1), restando el citado primer desfase del citado valor de píxel q0 del citado píxel (21) más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) para formar un valor de píxel modificado q0' del citado píxel (21) más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25,27), y donde el método está caracterizado por que el primer desfase se calcula para que sea igual a , donde >> denota una operación de desplazamiento a la derecha, p1 denota un valor de píxel de un píxel (13) siguiente más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) y q1 denota un valor de píxel de un píxel (23) siguiente más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27).

Description

5
10
15
20
25
30
35
40
45
50
E11855586
22-09-2015
DESCRIPCIÓN
Filtrado de desbloqueo
Sector técnico
La presente descripción se refiere al filtrado de desbloqueo para la reducción de aberraciones de bloqueo en las fronteras de bloque.
Antecedentes
Los filtros de desbloqueo se utilizan en los estándares de codificación de video para combatir las aberraciones de bloqueo. Las aberraciones de bloqueo se producen debido a que el video original se divide en bloques que son procesados con relativa independencia. Las aberraciones de bloqueo pueden, por ejemplo, producirse debido a diferentes intra predicciones de los bloques, a efectos de cuantificación y a compensación de movimiento. A continuación se describen dos variantes particulares de desbloqueo.
Desbloqueo H.264
En la codificación de video más avanzada, tal como la H.264, existe un filtro de desbloqueo, denominado también filtro de bucle, tras la predicción y la reconstrucción residual, pero antes del almacenamiento de la reconstrucción para posterior referencia cuando se codifican o descodifican los fotogramas siguientes. El filtrado de desbloqueo consiste en varias etapas tales como decisiones de filtro, operaciones de filtrado, una función de acortamiento y cambios de valores de píxel. La decisión de filtrar o no la frontera se toma basándose en la evaluación de varias condiciones. Las decisiones de filtro dependen del tipo de macrobloque (MB), de la diferencia del vector de movimiento (MV) entre bloques vecinos, si los bloques vecinos tienen residuos codificados y de la estructura local de los bloques actual y/o vecino.
Entonces, la cantidad de filtrado para un píxel depende, entre otras cosas, de la posición de ese píxel con respecto a la frontera del bloque y al valor del parámetro de cuantificación (QP – Quantization Parameter, en inglés) utilizado para codificación residual.
La decisión de filtro se basa en la comparación de tres diferencias de píxel con tres umbrales. Los umbrales están adaptados al parámetro de cuantificación (QP). Por ejemplo, asúmase una frontera de bloque vertical de
imagen1
en la que a, b, c y d denotan valores de píxel de una línea de píxeles en el bloque actual, denotando e, f, g y h los correspondientes valores de píxel de los píxeles de una fila de píxeles correspondiente en el bloque vecino. Si se cumplen las siguientes condiciones la decisión de filtro es positiva, por ejemplo abs (d -e) < thr1, abs (c -d) < thr2 y abs (e -f) < thr2, donde thr1 y thr2 están adaptados sobre la base del QP.
Existen dos modos de filtrado en H.264. En el primer modo de filtrado, denominado filtrado normal, el filtrado puede describirse con un valor delta con el cual el filtrado intercambia el valor actual. El filtrado para los píxeles más cercanos a la frontera de bloque es d’ = d + delta y e’ = e – delta, donde delta ha sido acortado hasta un umbral ±thr3, hasta un valor que está restringido por el QP. Se permite por ello más filtrado para un QP alto que para un QP bajo. El acortamiento puede describirse como desfase acortado = max (-thr3, min (thr3, delta)), donde thr3 controla la potencia del filtro. Un valor mayor que thr3 significa que el filtrado es más fuerte, lo que significa que se producirá un efecto de filtrado de paso bajo más fuerte.
La potencia del filtro puede aumentar si se cumple también cualquiera de las dos condiciones siguientes, por ejemplo abs (b -d) < thr2 y abs (e -g) < thr2. La potencia del filtro se adapta al acortar menos el delta, por ejemplo permitir una mayor variación.
El segundo modo de filtrado, denominado filtrado fuerte, se aplica solo para fronteras intra macrobloques, cuando se cumple la condición siguiente: abs (d -e) < thr1 / 4.
Para más información sobre el filtrado de desbloqueo en H.264, se hace referencia a List et al., Adaptive Deblocking Filter, IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, nº 7, Julio de 2003.
Desbloqueo en el borrador de HEVC
En el borrador de la especificación de HECV (Codificación de Video de Alta Eficiencia) “Test Model under Consideration”, documento ITU-T SG16 WP3, JCTVC-B205, Capítulo 6.5, Proceso de filtro en bucle, el filtro de desbloqueo funciona de manera diferente con respecto a H.264. El filtrado se lleva a cabo si al menos uno de los bloques en el lado de la frontera es intra, o tiene coeficientes distintos de cero, o la diferencia entre las componentes del vector de movimiento de los bloques es mayor o igual a un píxel entero. Por ejemplo, cuando se filtra la frontera entre los bloques con una frontera de bloque vertical de
imagen2
E11855586
22-09-2015
siendo pji el valor de píxel del número de píxel j de número de fila i en el bloque actual y siendo qji el valor de píxel del número de píxel j de número de fila i en el bloque vecino, i = 0…7, j = 0…3, entonces debería satisfacerse también la condición siguiente:
imagen3
donde β depende de QP. En la especificación HEVC mencionada anteriormente, existe una tabla de β, donde β aumenta con QP.
Si se cumplen las condiciones y se realiza el filtrado entre el bloque actual y el bloque vecino, se lleva a cabo uno de los dos tipos de filtrado, denominados filtrado débil y filtrado fuerte, respectivamente. La elección entre el filtrado
10 fuerte y el débil se realiza de manera separada para cada línea dependiendo de las condiciones siguientes. Para cada línea i = 0…7, el filtrado fuerte se realiza si todas las condiciones siguientes son verdaderas; de lo contrario, se realiza un filtrado débil:
imagen4
donde tC y β dependen de QP y >> denota un operador de desplazamiento hacia la derecha.
15 Filtrado débil en el borrador de HEVC
El filtrado débil se realiza basándose en las condiciones anteriores. El filtrado real funciona calculando un desfase (∆), sumándolo al valor original del píxel y acortando (Clip, en inglés) la suma hasta un valor de píxel de resultado filtrado en el rango de 0 – 255:
imagen5
20 donde la función de acortado Clip (A, B, x) se define como Clip (A, B, x) = A si x < A, Clip (A, B, x) = B si x > B, Clip (A, B, x) = x si A ≤ x ≤ B y Clip 0-255 (x) se define como Clip (0, 255, x).
Filtrado fuerte en el borrador de HEVC
El modo de filtrado fuerte se lleva a cabo mediante el conjunto de operaciones siguiente:
imagen6
25 Un problema con el desbloqueo en HEVC es que el filtro débil no tiene buenas características en paso bajo. Puede verse que los píxeles primero y segundo de la frontera de bloque se modifican sumando o restando ∆ y ∆/2 respectivamente. Tal filtro no puede eliminar las altas frecuencias que pueden aparecer cerca de la frontera de bloque y no puede eliminar el zumbido. Además, las características de frecuencia del filtro en HEVC muestran ligeras amplificaciones de las frecuencias mayores cuando se filtra el segundo píxel (P1i y q1i) de la frontera de
30 bloque, lo que puede resultar en un peor comportamiento de la distorsión de velocidad (RD – Rate Distortion, en inglés) del codificador. Además, el desfase para el píxel p1i es igual en magnitud al desfase del píxel q1i aunque la estructura de la señal pueda ser diferente en lados diferentes de la frontera de bloque. Por lo tanto, el filtro HEVC no se adapta bien a la estructura local del lado de la frontera de bloque.
5
10
15
20
25
30
35
40
45
50
E11855586
22-09-2015
Por ello, existe la necesidad de un filtro de desbloqueo eficiente que pueda ser utilizado para la reducción de las aberraciones de bloqueo en las fronteras de bloque y que no tenga los inconvenientes mencionados anteriormente.
Compendio
Un objetivo general es combatir las aberraciones de bloqueo en las fronteras de bloque entre bloques de píxeles en un fotograma de video.
Las realizaciones descritas en esta memoria alcanzan estos y otros objetivos.
Un aspecto de las realizaciones define un método para la reducción de las aberraciones de bloqueo en una frontera
una línea de píxeles en el bloque, p1 denota un valor de píxel de un píxel siguiente más cercano a la frontera de bloque en la línea de píxeles, q0 denota un valor de píxel de un píxel más cercano al frontera de bloque en una línea de píxeles correspondiente en el bloque vecino y q1 denota un valor de píxel de un píxel siguiente más cercano a la frontera de bloque en la línea de píxeles correspondiente. La línea de píxeles y la línea de píxeles correspondiente son perpendiculares a la frontera de bloque. El valor de píxel del píxel más cercano a la frontera de bloque en la línea de píxeles es modificado sumando el primer desfase al valor de píxel de este píxel para formar un valor de píxel modificado. Correspondientemente, el valor de píxel del píxel más cercano a la frontera de bloque pero en la línea de píxeles correspondiente es modificado restando el primer desfase del valor de píxel de este píxel para formar un valor de píxel modificado. El método comprende además el acortamiento del primer desfase para que esté dentro de un intervalo de –tC y tC ajustando el primer desfase para que sea igual a – tC si el primer desfase es menor que – tC, y configurando el primer desfase para que sea igual a tC si el primer desfase es mayor que tC, donde tC es un valor de umbral que depende de un valor del parámetro de cuantificación asignado al bloque.
En una realización opcional de este aspecto, el método comprende además el acortamiento del valor de píxel modificado del píxel más cercano a la citada frontera de bloque en la línea de píxeles para que esté dentro de un intervalo de cero y un valor máximo definido, y el acortamiento del valor de píxel modificado del píxel más cercano a la frontera de bloque en la línea de píxeles correspondiente para que esté dentro de un intervalo de cero y un valor máximo definido. Este acortamiento opcional se consigue ajustando el valor de píxel modificado para que sea igual a cero si el valor de píxel modificado es menor que cero, y ajustando el valor de píxel modificado para que sea igual al valor máximo definido si el valor de píxel modificado es mayor que el valor máximo definido.
estará basado en , donde p2 denota un valor de píxel de un segundo píxel siguiente más cercano a la frontera de bloque en la línea de píxeles y ∆ denota el primer desfase. El método comprende también, imagen7en esta realización opcional, el cálculo de un tercer desfase que estará basado en
, en el que q2 denota un valor de píxel de un segundo píxel siguiente más cercano a la frontera de bloque en la línea de píxeles correspondiente. El valor de píxel del píxel siguiente más cercano a la frontera de bloque en la línea de píxeles es entonces modificado sumando el segundo desfase al valor de píxel siguiente al más cercano a la frontera de bloque en la línea de píxeles para formar un valor de píxel modificado. Correspondientemente, el método comprende también, en esta realización opcional, la modificación del valor de píxel del píxel siguiente más cercano a la frontera de bloque, en la línea de píxeles correspondiente sumando el tercer desfase al valor de píxel del píxel siguiente al más cercano a la frontera de bloque en la línea de píxeles correspondiente para formar un valor de píxel modificado.
En una realización opcional de este aspecto, el método comprende además el acortamiento del segundo desfase dentro de un intervalo -tC2 y tC2, y el acortamiento del tercer desfase para que esté dentro del intervalo de -tC2 y tC2, y donde t C2 es un valor de umbral que depende de un valor del parámetro de cuantificación asignado al bloque. Este acortamiento opcional se consigue configurando el desfase segundo o tercero para que sea igual a -tC2 si el desfase segundo o tercero es menor que -tC2 y configurando el desfase segundo o tercero para que sea igual a tC2 si el desfase segundo o tercero es mayor que tC2.
En una realización opcional de este aspecto, el método comprende además el acortamiento del valor de píxel modificado del píxel siguiente más cercano a la frontera de bloque en la línea de píxeles para que esté dentro de un intervalo de cero a un valor máximo definido, y el acortamiento del valor de píxel modificado del siguiente píxel más cercano a la frontera de bloque en la línea de píxeles correspondiente para que esté dentro de un intervalo de cero y
imagen8
imagen9
imagen10
5
10
15
20
25
30
35
40
45
50
E11855586
22-09-2015
el valor máximo definido. Este acortamiento opcional se consigue ajustando el valor de píxel modificado para que sea igual a cero si el valor de píxel modificado es menor que cero y ajustando el valor de píxel modificado para que sea igual al valor máximo definido si el valor de píxel modificado es mayor que el valor máximo definido.
En otra realización de este aspecto, el método comprende además el cálculo de un cuarto desfase para que esté
, donde p3 denota un valor de píxel de un píxel tercero siguiente más cercano a la frontera de bloque en la línea de píxeles y ∆p1 denota el segundo desfase. El método comprende también, imagen11en esta realización opcional, el cálculo de un quinto desfase para que esté basado en
, donde q3 denota un valor de píxel de un tercer píxel más cercano a la frontera de bloque en la línea de píxeles correspondiente y ∆q1 denota el tercer desfase. El valor de píxel del segundo píxel siguiente más cercano a la frontera de bloque en la línea de píxeles se modifica sumando el cuarto desfase al valor de píxel del segundo píxel más cercano a la frontera de bloque en la línea de píxeles para formar un valor de píxel modificado. El método comprende también, en esta realización opcional, la modificación del valor de píxel del segundo píxel siguiente más cercano a la frontera de bloque en la línea de píxeles correspondiente sumando el quinto desfase al valor de píxel del segundo píxel siguiente más cercano a la frontera de bloque en la línea de píxeles correspondiente para formar un valor de píxel modificado.
En una realización opcional de este aspecto, una unidad de filtro de desbloqueo calcula el primer desfase para que
La unidad de filtro de desbloqueo modifica el valor de píxel del píxel más cercano a la frontera de bloque en la línea de píxeles sumando el primer desfase al valor de píxel del píxel más cercano a la frontera de bloque en la línea de píxeles para formar un valor de píxel modificado. La unidad de filtro de desbloqueo modifica también el valor de píxel del píxel más cercano a la frontera de bloque en la línea de píxeles correspondiente restando el primer desfase del valor de píxel del píxel más cercano a la frontera de bloque en la línea de píxeles correspondiente para formar un valor de píxel modificado.
Otro aspecto de las realizaciones define una unidad de filtro de desbloqueo para reducir las aberraciones de bloqueo en una frontera de bloque entre un bloque de píxeles y un bloque de píxeles vecino en un fotograma de video. La
desfase para que sea igual a , donde >> denota una operación de desplazamiento a la derecha, p0 denota un valor de píxel más cercano a la frontera de bloque en una línea de píxeles en el bloque, p1 denota un valor de píxel de un píxel siguiente más cercano a la frontera de bloque en la línea de píxeles, q0 denota un valor de píxel de un píxel más cercano a la frontera de bloque en una línea de píxeles correspondiente en el bloque vecino y q1 denota un valor de píxel de un píxel siguiente más cercano a la frontera de bloque en la línea de píxeles correspondiente. La línea de píxeles y la línea de píxeles correspondiente son perpendiculares a la frontera de bloque. La unidad de filtro de desbloqueo comprende también un valor de píxel modificado configurado para modificar el valor de píxel del píxel más cercano a la frontera de bloque en la línea de píxeles sumando el primer desfase al valor de píxel de este píxel para formar un valor de píxel modificado. El valor de píxel modificado está configurado también para modificar el valor de píxel del píxel más cercano a la frontera de bloque pero en la línea de píxeles correspondiente, restando el primer desfase del valor de píxel de este píxel para formar un valor de píxel modificado. La unidad de filtro de desbloqueo comprende también una unidad de primer acortamiento configurada para acortar el primer desfase dentro del intervalo de –tC y tC, ajustando el primer desfase para que sea igual a –tC si el primer desfase es menor que –tC y ajustando el primer desfase para que sea igual a tC si el primer desfase es mayor que tC, donde tC es un valor de umbral que depende del valor de un parámetro de cuantificación asignado al bloque.
En una realización opcional de este aspecto, la unidad de filtro de desbloqueo comprende una unidad de segundo acortamiento configurada para acortar el valor de píxel modificado más cercano a la frontera de bloque en la línea de píxeles para que esté dentro de un intervalo de cero a un valor máximo definido, y acortar el valor de píxel modificado del píxel más cercano a la frontera de bloque en la línea de píxeles correspondiente para que esté dentro de un intervalo de cero y el valor máximo definido. Este acortamiento opcional por parte de la unidad de segundo acortamiento se consigue ajustando el valor de píxel modificado para que sea igual a cero si el valor de píxel modificado es menor que cero y ajustando el valor de píxel modificado para que sea igual al número máximo definido si el valor de píxel modificado es mayor que el valor máximo definido.
imagen12
imagen13
imagen14
imagen15
10
15
20
25
30
35
40
45
50
E11855586
22-09-2015
En una realización opcional de este aspecto, la unidad de filtro de desbloqueo comprende un calculador de segundo
desfase configurado para calcular un segundo desfase que esté basado en denota un valor de píxel de un píxel segundo siguiente más cercano a la frontera de bloque en la línea de píxeles y ∆ denota el primer desfase. La unidad de filtro de desbloqueo comprende también, en esta realización opcional, un calculador imagen16de tercer desfase configurado para calcular un tercer desfase que se base en
, donde q2 denota un valor de píxel de un píxel segundo siguiente más cercano a la frontera de bloque en la línea de píxeles correspondiente. En esta realización opcional el modificador del valor de píxel está configurado para modificar el valor de píxel del píxel siguiente más cercano a la frontera de bloque en la línea de píxeles, sumando el segundo desfase al valor de píxel del píxel siguiente más cercano a la frontera de bloque en la línea de píxeles para formar un valor de píxel modificado, y para modificar el valor de píxel del píxel siguiente más cercano a la frontera de bloque en la línea de píxeles correspondiente sumando el tercer desfase al valor de píxel del píxel siguiente más cercano a la frontera de bloque en la línea de píxeles correspondiente para formar un valor de píxel modificado.
En una realización opcional de este aspecto, la unidad de filtro de desbloqueo comprende una unidad de tercer acortamiento configurada para acortar el segundo desfase dentro de un intervalo -tC2 y tC2, y acortar el tercer desfase dentro de un intervalo de –tC2 y tC2, donde tC2 es un valor de umbral que depende del valor de un parámetro de cuantificación asignado al bloque. Este acortamiento opcional por parte de la unidad de tercer acortamiento se alcanza ajustando el segundo o el tercer desfase para que sea igual a –tC2 si el segundo o el tercer desfase son menores de –tC2 y ajustando el segundo o el tercer desfase para que sea igual a tC2 si el segundo o el tercer desfase son mayores de tC2.
En una realización opcional de este aspecto, la unidad de filtro de desbloqueo comprende una unidad de segundo acortamiento configurada para acortar el valor de píxel modificado del píxel siguiente más cercano a la frontera de bloque en la línea de píxeles dentro de un intervalo de cero y un valor máximo definido, y acortar el valor de píxel modificado del píxel siguiente más cercano a la frontera de bloque en la línea de píxeles correspondiente dentro de un intervalo de cero y el valor máximo definido. Este acortamiento opcional por parte de la unidad de segundo acortamiento se consigue ajustando el valor de píxel modificado para que sea igual a cero si el valor de píxel modificado es menor que cero y ajustando el valor de píxel modificado para que sea igual al valor máximo definido si el valor de píxel modificado es mayor que el valor máximo definido.
denota un valor de píxel de un píxel tercero siguiente más cercano a la frontera de bloque en la línea de píxeles y ∆p1 denota el segundo desfase. La unidad de filtro de desbloqueo comprende también, en esta realización opcional, un calculador imagen17de quinto desfase configurado para calcular un quinto desfase para que esté basado en
, donde q3 denota un valor de píxel de un píxel tercero siguiente más cercano a la frontera de bloque en la línea de píxeles correspondiente y ∆q1 denota el tercer desfase. En esta realización opcional el valor de píxel modificado está configurado para modificar el valor de píxel del píxel segundo siguiente más cercano a la frontera de bloque en la línea de píxeles sumando el cuarto desfase al valor de píxel del píxel segundo siguiente más cercano a la frontera de bloque en la línea de píxeles para formar un valor de píxel modificado, y para modificar el valor de píxel del píxel segundo siguiente más cercano a la frontera de bloque en la línea de píxeles correspondiente sumando el quinto desfase al valor de píxel del píxel segundo siguiente más cercano a la frontera de bloque en la línea de píxeles correspondiente para formar un valor de píxel modificado.
desfase para que sea igual a , donde >> denota una operación de desplazamiento a la derecha, y el calculador de quinto desfase está configurado para calcular el quinto desfase para
Otros aspectos de las realizaciones definen un codificador y un descodificador, respectivamente, que comprenden una unidad de filtro de desbloqueo tal como se ha definido anteriormente.
imagen18
imagen19
imagen20
imagen21
imagen22
10
15
20
25
30
35
40
45
50
E11855586
22-09-2015
imagen23
Además, un aspecto de las realizaciones define un equipo de usuario que comprende una memoria configurada para fotogramas de video codificados almacenados, un descodificador tal como se ha definido anteriormente configurado para descodificar los fotogramas de video en fotogramas de video descodificados y un reproductor de medios configurado para traducir los fotogramas de video descodificados a datos de video que sean reproducibles en una pantalla.
Otro aspecto define un dispositivo de red que se encuentra o que pertenece a un nodo de red en una red de comunicación entre una unidad de transmisión y un equipo de usuario de recepción. El dispositivo de red comprende un codificador y/o un descodificador tal como se ha definido anteriormente.
Otro aspecto de las realizaciones define un programa informático para reducir las aberraciones de bloqueo en una frontera de bloque entre un bloque de píxeles y un bloque de píxeles vecino en un fotograma de video. El programa
calcule un desfase para que sea igual a , donde >> denota una operación de desplazamiento a la derecha, p0 denota un valor de píxel de un píxel más cercano a la frontera de bloque en una línea de píxeles en el bloque, p1 denota un valor de píxel de un píxel siguiente más cercano a la frontera de bloque en la línea de píxeles, q0 denota un valor de píxel de un píxel más cercano a la frontera de bloque en una línea de píxeles correspondiente en el bloque vecino y q1 denota un valor de píxel de un píxel siguiente más cercano a la frontera de bloque en la línea de píxeles correspondiente. La línea de píxeles y la línea de píxeles correspondiente son perpendiculares a la frontera de bloque. Se hace también que el ordenador modifique el valor de píxel del píxel más cercano a la frontera de bloque en la línea de píxeles sumando el desfase al valor de píxel de este píxel. El medio de código hace también que el ordenador modifique el valor de píxel más cercano a la frontera de bloque en la línea de píxeles correspondiente restando el desfase del valor de píxel de este píxel. Cuando se ejecuta en el ordenador, el medio de código hace también que el ordenador acorte el citado primer desfase para que esté dentro de un intervalo de –tC y tC ajustando el citado primer desfase para que sea igual a –tC si el citado primer desfase es menor que –tC y ajustando el citado primer desfase para que sea igual a tC si el citado primer desfase es mayor que tC, donde tC es un valor de umbral que depende del valor de un parámetro de cuantificación asignado al citado bloque.
Las presentes realizaciones permiten una eficiente reducción en las aberraciones de bloqueo y también tienen buenas características de paso bajo.
Breve descripción de los dibujos
La invención, junto con otros objetos y ventaja de la misma, puede comprenderse mejor haciendo referencia a la siguiente descripción tomada junto con los dibujos que se acompañan, en los cuales:
la Fig. 1 es un diagrama de flujo que ilustra un método de reducir las aberraciones de bloqueo de acuerdo con una realización;
las Figs. 2A y 2B ilustran dos realizaciones de bloques vecinos y una frontera de bloque sobre la cual puede aplicarse el filtrado de desbloqueo;
la Fig. 3 es un diagrama de flujo ilustrativo adicional, etapas opcionales del método de la Fig. 1 de acuerdo con una realización;
la Fig. 4 es un diagrama de flujo que ilustra etapas adicionales, opcionales del método de las Figs. 1 y 5 de acuerdo con una realización;
la Fig. 5 es un diagrama de flujo que ilustra etapas adicionales, opcionales del método de la Fig. 1 de acuerdo con otra realización;
la Fig. 6 es un diagrama de flujo que ilustra etapas adicionales, opcionales del método de la Fig. 5 de acuerdo con una realización;
la Fig. 7 es un diagrama de flujo que ilustra etapas adicionales, opcionales del método de la Fig. 5 de acuerdo con otra realización;
la Fig. 8 es un diagrama de bloques esquemático de una unidad de filtro de desbloqueo de acuerdo con una realización;
la Fig. 9 es un diagrama de bloques esquemático de una unidad de filtro de desbloqueo de acuerdo con otra realización;
la Fig. 10 es un diagrama de bloques esquemático de una implementación de software de un módulo de filtro de desbloqueo en un ordenador de acuerdo con una realización;
la Fig. 11 es un diagrama de bloques esquemático de un codificador de acuerdo con una realización;
5
10
15
20
25
30
35
40
45
50
55
E11855586
22-09-2015
la Fig. 12 es un diagrama de bloques esquemático de un descodificador de acuerdo con una realización;
la Fig. 13 es un diagrama de bloques esquemático de un equipo de usuario de acuerdo con una realización; y
la Fig. 14 es una vista general esquemática de una porción de una red de comunicación que comprende un dispositivo de red de acuerdo con una realización.
Descripción detallada
En los dibujos, los mismos números de referencia se utilizan para elementos similares o correspondientes.
Las realizaciones se refieren en general al filtrado de desbloqueo para combatir las aberraciones de bloqueo sobre fronteras de bloque en un fotograma de video. Las realizaciones utilizan un filtro de desbloqueo que tiene buenas características de frecuencia. El presente filtro de desbloqueo está configurado para no modificar los valores de píxel sobre una frontera de bloque si estos valores de píxel forman una rampa, sino para ajustar los valores de píxel a una función si por el contrario están en forma de escalones. Esto implica que el filtro de desbloqueo tendrá buenas características de paso bajo y puede eliminar las frecuencias altas que pueden aparecer cerca de la frontera de bloque.
La Fig. 1 es un diagrama de flujo de un método de reducir las aberraciones de bloqueo en una frontera de bloque entre un bloque de múltiples píxeles y un bloque vecino de múltiples píxeles en un fotograma de video de acuerdo con una realización. Como es bien conocido en el sector, un fotograma de video está dividido en bloques de píxeles no superpuestos que son codificados y descodificados de acuerdo con los diferentes modos de intra e inter codificación disponibles. En general, un fotograma de video está dividido en macrobloques no superpuestos de 16 x 16 píxeles. Tal macrobloque puede a su vez estar dividido en bloques más pequeños, tal como de 4 x 4 o de 8 x 8 píxeles. No obstante, serían también posibles bloques rectangulares de acuerdo con las realizaciones, tal como 4 x 8, 8 x 4, 8 x 16 o 16 x 8. Las realizaciones pueden aplicarse a cualquiera de tales de bloques de píxeles, incluyendo macrobloques o incluso bloques de píxeles mayores.
En el estándar Codificación de video de alta eficiencia (HEVC – High Efficiency Video Coding, en inglés) emergente, se utilizan las unidades de codificación (CU – Coding Units, en inglés), las unidades de predicción (PU-Prediction Units, en inglés) y las unidades de transformación (TU – Transform units, en inglés). Las unidades de predicción están definidas dentro de una unidad de codificación y contienen los modos de intra o inter predicción. Las unidades de transformación están definidas en una unidad de codificación y el mayor tamaño de transformación es 32 x 32 píxeles y el menor tamaño es 4 x 4 píxeles. El tamaño de CU varía actualmente de 64 x 64 píxeles (el más grande) a 4 x 4 píxeles (el más pequeño). De esta manera, la CU más grande puede dividirse en CU más pequeñas, dependiendo el “nivel de granularidad” de las características locales del fotograma. Esto significa que la CU más grande puede dividirse en CU más pequeñas de diferentes tamaños. Las realizaciones pueden utilizarse también junto con tales unidades de codificación, que se consideran contenidas en la expresión “bloque de píxeles” tal como se utiliza en esta memoria.
Cada píxel del bloque tiene un valor de píxel respectivo. Los fotogramas de video generalmente tienen valores de color asignados a los píxeles, donde los valores de color se representan en unos formatos de color definidos. Uno de los formatos de color comunes utiliza una componente de luminancia y dos componentes de crominancia para cada píxel, aunque existen otros formatos, tales como los que utilizan componentes rojos, verdes y azules para cada píxel.
Tradicionalmente, el filtrado de la componente de luminancia y de la componente de crominancia se realiza separadamente, posiblemente empleando diferentes decisiones de filtrado y diferentes filtros de desbloqueo. Es, por lo tanto, posible, que las decisiones de filtrado de luminancia se utilicen en filtrado croma, como en HEVC. Las realizaciones pueden aplicarse para filtrar la componente de luminancia, filtrar la componente de crominancia o filtrar tanto la componente de luminancia como la componente de crominancia. En una realización particular, las realizaciones se aplican para conseguir el filtrado de luminancia o de luma. Decisiones de filtrado, o partes de las decisiones de filtrado para una componente, tal como luma, pueden utilizarse entonces cuando se toman las decisiones de filtrado para otras componentes, tales como croma.
El filtrado de desbloqueo se lleva a cabo sobre una frontera, borde o límite entre bloques vecinos. En consecuencia, tales fronteras pueden ser fronteras verticales 1, véase la Fig. 2A, entre dos bloques vecinos 10, 20 presentes a cada lado en el fotograma de video. Si no, las fronteras son fronteras horizontales 1, véase la Fig. 2B, entre dos bloques vecinos 10, 20, donde ningún bloque 10 está situado por encima del otro bloque 20 en el fotograma de video. En una realización particular, las fronteras verticales son filtradas primero empezando desde la frontera más a la izquierda y continuando a través de las fronteras hacia el lado derecho en su orden geométrico. A continuación, las fronteras horizontales son filtradas empezando con la frontera en el lado superior y continuando a través de las fronteras hacia abajo en su orden geométrico. Las realizaciones, no obstante, no están limitadas a este orden de filtrado particular, y pueden de hecho aplicarse a cualquier orden de filtrado predefinido. En una realización particular, las fronteras en el borde del fotograma de video preferiblemente no se filtran y por ello quedan excluidas del filtrado de desbloqueo.
10
15
20
25
30
35
40
45
50
55
E11855586
22-09-2015
imagen24
El método de esta realización se inicia en la etapa S1, en la que se calcula el primer desfase o delta para una línea 12 de píxeles 11, 13, 15, 17 en el bloque 10. De acuerdo con las realizaciones, este primer desfase se calcula
línea 22 correspondiente de píxeles 21, 23, 25, 27.
La línea 12 de píxeles 11, 13, 15, 17 del bloque 10 y la línea 22 correspondiente de píxeles 21, 23, 25, 27 del bloque vecino 20 pertenecen a la misma línea de píxeles horizontal, es decir a la fila de píxeles que se extiende sobre una frontera vertical 1, véase la Fig. 2A, o pertenecen a la misma línea de píxeles vertical, es decir, a la columna de píxeles que se extiende sobre una frontera horizontal 1, véase la Fig. 2B. Por ello, la línea 12 de píxeles 11, 13, 15, 17 y la línea 22 correspondiente de píxeles 21, 23, 25, 27 son perpendiculares a la frontera de bloque 1 entre el bloque 10 y el bloque vecino 20. Además, la línea 12 de píxeles 11, 13, 15, 17 en el bloque 10 y la línea 22 correspondiente de píxeles 21, 23, 25, 27 en el bloque vecino 20 tienen el mismo número de línea. Por ejemplo, si el bloque 10 y el bloque vecino 20 comprenden cada uno N, tal como ocho, filas o columnas de píxeles, siendo los números de fila o columna i = 0 … N -1 entonces la línea 10 de píxeles 11, 13, 15, 17 tiene el número de línea i, pero en el bloque vecino 20. Así, la línea 12 de píxeles 11, 13, 15, 17 en el bloque y la línea 22 correspondiente de píxeles 21, 23, 25, 27 en el bloque vecino 20 son líneas opuestas con respecto a la frontera de bloque 1.
De acuerdo con las realizaciones, los términos “línea de píxeles” y línea de píxeles correspondiente” se emplean para denotar una “fila de píxeles” y una “fila de píxeles correspondiente” en el caso de una frontera de bloque vertical como en la Fig. 2A, y denota una “columna de píxeles” y una “columna de píxeles correspondiente” en el caso de una frontera de bloque horizontal como en la Fig. 2B.
Una siguiente etapa S2 modifica el valor de píxel del píxel 11 más cercano a la frontera de bloque 1 en la línea 12 de píxeles 11, 13, 15, 17 sumando el primer desfase calculado en la etapa S1 al valor de píxel de este píxel 11 para formar un valor de píxel modificado p0’. Así, el valor de píxel modificado p0’ para este píxel 11 es p0’ = p0 + ∆, donde ∆ denota el primer desfase de la etapa S1. Correspondientemente, el valor de píxel del píxel 21 más cercano a la frontera de bloque 1 pero en la línea 22 correspondiente de píxeles 21, 23, 25, 27 en el bloque vecino 20 se modifica en la etapa S3 restando el primer desfase del valor de píxel 21 para formar un valor de píxel modificado q0’. El valor de píxel modificado q0’ se calcula por lo tanto como q0’ = q0 -∆.
La modificación del valor de píxel 11 más cercano a la frontera de bloque 1 en la línea 12 de píxeles 11, 13, 15, 17 en el bloque 10, en la etapa S2 y la modificación del valor de píxel para el píxel 21 más cercano a la frontera de bloque 1 en la línea 22 correspondiente de píxeles 21, 23, 25, 27 en el bloque vecino 20, en la etapa S3 puede ser llevada a cabo en serie, como se ilustra en la Fig. 1, o en serie pero en orden inverso, es decir, la etapa S3 antes que la etapa S2. Si no, las dos etapas S2 y S3 pueden ser ejecutadas al menos parcialmente en paralelo.
El método ilustrado en la Fig. 1 y que incluye las etapas S1 a S3 reduce las aberraciones de bloqueo en la frontera de bloque 1 procesando los píxeles en una línea 11 de píxeles 11, 13, 15, 17 en el bloque y también en la línea 22 correspondiente de píxeles 21, 23, 25, 27 en el bloque vecino 20. Esta modificación de píxel puede ser llevada a cabo para una de las líneas (horizontales o verticales) 12 del bloque 10 o para varias, es decir, por lo menos dos, líneas 12 en el bloque 10, posiblemente para todas las líneas 12 (horizontales o verticales) en el bloque 10. Esto se ilustra esquemáticamente mediante la línea L1.
En general, y como se ha explicado en lo anterior, el filtrado de desbloqueo implica decisiones de filtro que determinan si debe aplicarse un filtro de desbloqueo sobre una frontera de bloque horizontal o vertical para un bloque. Si tal decisión es positiva, el filtro de desbloqueo puede entonces aplicarse a todas las columnas (líneas verticales) o filas (líneas horizontales) del bloque. Si no, se toman otras decisiones sobre el filtrado para cada columna o fila para decidir si debe aplicarse o no el filtro de desbloqueo y/o qué tipo de filtro de desbloqueo utilizar para esa columna o fila particulares. Por lo tanto, el método que se ilustra en la Fig. 1 podría aplicarse a una columna, a una fila, a múltiples columnas, a múltiples filas o a ambas para al menos una columna y al menos una fila en un bloque de píxeles en el fotograma de video. Se prevé además que el filtrado de desbloqueo no necesariamente tenga que ser aplicado a todos los bloques del fotograma de video. En claro contraste, tal filtrado de desbloqueo se aplica preferiblemente solo a los bloques y sobre fronteras de bloques en las que existen aberraciones de bloqueo según se determina mediante una o más de las decisiones de filtrado.
El filtrado de desbloqueo se describirá ahora con más detalle en esta memoria en relación con varias realizaciones de implementación.
El acortamiento del primer desfase puede realizarse en una realización para restringir con ello el valor del primer desfase para que esté dentro del intervalo de –tC y tC. El valor de umbral tC depende preferiblemente de un valor del parámetro de cuantificación (QP) asignado al bloque. En tal caso, podría utilizarse una tabla de diferentes valores de umbral para diferentes valores QP. La Tabla 1 que se incluye a continuación es un ejemplo de tal tabla.
5
10
15
20
25
30
35
E11855586
22-09-2015
Tabla 1 – Valores de tC para diferentes valores de QP
imagen25
Las presentes realizaciones no están, no obstante, limitadas a la relación particular entre tC y QP según se muestra en la Tabla 1, sino que podrían por el contrario determinar de algún otro modo el valor de tC para el bloque sobre la base del valor de QP para el bloque.
La Fig. 3 ilustra esta acción de acortamiento. El método continúa entonces desde la etapa S1 de la Fig. 1. Una etapa S10 siguiente analiza si el primer desfase está dentro del intervalo -tC y tC, es decir, si –tC ≤ ∆ ≤ tC. En tal caso, el método continúa hacia la etapa S2 de la Fig. 1 y no se requiere ninguna otra modificación del primer desfase. No obstante, si el primer desfase no está dentro del intervalo según se determina en la etapa S10, el método continúa hacia la etapa S11, donde el primer desfase es acortado para que tenga un valor dentro del intervalo. Así, si ∆ < -tC, el primer desfase se ajusta para tener un valor de –tC en la etapa S11. Correspondientemente, si ∆ > tC entonces el primer desfase se ajusta para que tenga un valor de tC en la etapa S11. El método continúa entonces hacia la etapa S2 de la Fig. 2.
Correspondientemente, los valores de píxel modificados calculados en las etapas S2 y S3 de la Fig. 1 podrían ser acortados para que estén dentro de un intervalo permitido. Esto se ilustra esquemáticamente mediante el diagrama de flujo de la Fig. 4. El método continúa entonces desde la etapa S2 o S3 de la Fig. 1, y una etapa siguiente S20 analiza si el valor de píxel modificado, es decir, p0’ o q0’ está dentro de un intervalo permitido de 0 y M. El parámetro M denota un valor máximo definido que el valor de píxel modificado puede asumir. En una realización particular, este valor máximo se define basándose en el número de bits que se ocupan en los valores de píxel. Así, asúmase que los valores de píxel están en la forma de un valor de m bits; entonces M es preferiblemente igual a 2m – 1. Por ejemplo, si cada valor de píxel es un valor de 8 bits, es decir, m = 8, entonces M = 255. La etapa S20 analiza por lo tanto si 0 ≤ p0’ ≤ M o si 0 ≤ q0’ ≤ M. Si el valor de píxel modificado está dentro del intervalo [0, M] el método continúa hacia la etapa S3 de la Fig. 1 o finaliza. No obstante, si el valor de píxel modificado está fuera del intervalo, se acorta en la etapa S21 para que tenga un valor dentro del intervalo. En otras palabras, si p0’ < 0 o q0’ < 0, entonces el valor de píxel modificado se ajusta en la etapa S21 a p0’ = 0 o q0’ = M. Correspondientemente, si p0’ > M o q0’ > M, entonces la etapa S21 ajusta el valor de píxel modificado a p0’ = M o q0’ = M.
La etapa S1 de la Fig. 1 calcula el primer desfase para que se base en realización imagen26particular, el primer desfase se calcula en la etapa S1 para que sea igual a
. En una realización, los valores de píxel se actualizan por lo tanto mediante el filtro de desbloqueo propuesto utilizando los siguientes cálculos:
imagen27
imagen28
Puede utilizarse también el acortamiento del primer desfase y/o de los valores de píxel modificados como se ilustra en las Figs. 3 y 4.
En una realización alternativa, el desfase se calcula en función de podría entonces definirse de manera que el cálculo del primer desfase se lleve a cabo de manera eficiente mediante hardware. En tal caso, se prefiere generalmente no tener divisiones y/o definir la función de manera que el primer desfase sea un valor entero. En una realización, (X + 8) >> 4 se utiliza como una expresión entera de X / 16, donde >> denota una operación de desplazamiento a la derecha. Así, en una realización particular la etapa S1 calcula el
primer desfase para estar basado en y que sea preferiblemente igual a
imagen29
imagen30
5
10
15
20
25
30
35
40
45
E11855586
22-09-2015
En esta realización, los valores de píxel se actualizan por lo tanto mediante el desbloqueo de filtro propuesto utilizando los siguientes cálculos:
imagen31
imagen32
donde Clip3 (A, B, x) se define como Clip3 (A, B, x) = A si x < A, Clip3 (A, B, x = B si x > B y Clip3 (A, B, x) = x si A ≤ x ≤ B y Clip (x) se define como Clip (0, M, x).
se utilizan otras implementaciones, tal como representaciones enteras de
y preferiblemente representaciones enteras tales que se implementan eficientemente en hardware.
Las realizaciones descritas anteriormente definen un filtro de desbloqueo que genera un primer desfase para los píxeles más cercanos a la frontera de bloque con una fórmula que da como resultado aproximadamente cero, preferiblemente exactamente cero, cuando se aplica a una rampa de valores de píxel y que da como resultado un valor de desfase que aproxima un escalón en los valores de píxel cuando se aplica a un escalón de valores de píxel. Por ejemplo, una rampa puede describirse como valores de píxel linealmente crecientes o decrecientes, por ejemplo, 10, 20, 30, 40. Cuando se calcula el primer desfase para estos valores de píxel, es decir, p1 = 10, p0 = 20, q0 = 30, q1 = 40, el primer desfase será cero. Correspondientemente, un escalón puede describirse como un aumento o disminución en escalón en los valores de píxel, por ejemplo, 10, 10, 20, 20. Cuando se calcula el primer desfase
imagen33
imagen34
escalón. El primer desfase es también cero para una línea plana, es decir, si los valores de píxel son iguales a p0 = p1 = q0 = q1.
En una realización particular, también los valores de píxel de los píxeles siguientes más cercanos a la frontera de bloque pueden ser modificados. Esto se describe con más detalle en esta memoria con referencia a las Figs. 2A, 2B
S1. Una siguiente etapa S30 calcula un segundo desfase para que esté basado en donde p2 denota el valor de píxel del píxel 15 segundo siguiente más cercano a la frontera de bloque 1 en la línea 12 de píxeles 11, 13, 15, 17 del bloque 10. Una siguiente etapa S1 calcula un tercer desfase para que se base en imagen35
, donde q2 denota el valor de píxel del píxel 25 segundo siguiente más cercano a la frontera de bloque 1 en la línea 22 correspondiente de píxeles 21, 23, 25, 27. Las etapas S30 y S31 pueden ser realizadas secuencialmente en cualquier orden o al menos parcialmente en paralelo.
El segundo desfase calculado en la etapa S30 se utiliza en la etapa S32 para modificar el valor de píxel del píxel 13 siguiente más cercano a la frontera de bloque 1 en la línea 12 de píxeles 11, 13, 15, 17. En una realización, el segundo desfase se suma al valor de píxel de este píxel 13 para obtener un valor de píxel modificado. Correspondientemente, la etapa S33 modifica el valor de píxel del píxel 23 siguiente más cercano a la frontera de bloque 1 en la línea 22 correspondiente de píxeles 21, 23, 25, 27 sumando el tercer desfase al valor de píxel de este píxel 23 para formar un valor de píxel modificado. Las etapas S32 y S33 pueden ser ejecutadas en cualquier orden secuencial o al menos parcialmente en paralelo.
El filtro de desbloqueo propuesto es, en esta realización, un filtro de paso bajo en todas las posiciones de filtro p0, p1, q0, q1. Cuando se aplica a una señal de rampa, el filtro de desbloqueo no la modificará puesto que ∆, ∆p, ∆q serán todos igual a cero, donde ∆p denota el segundo desfase y ∆q denota el tercer desfase. Cuando se aplica a una señal de escalón, es decir, a una aberración de desbloqueo, el filtro de desbloqueo la aproximará, es decir, reducirá la aberración de bloqueo. En claro contraste con el filtro HEVC actual, el filtro de desbloqueo propuesto aproximará y por ello atenuará pequeñas ondulaciones a los lados de la frontera de bloque.
En la realización descrita anteriormente, los filtros para los coeficientes que se encuentran en la segunda posición con respecto a la frontera de bloque (p1, q1) se producen utilizando una combinación del primer desfase y un filtro
10
15
30
35
E11855586
22-09-2015
de paso bajo simétrico. Una ventaja de esta realización es que los desfases para los píxeles segundos siguientes más cercanos a la frontera de bloque pueden tener diferentes valores que permiten una mejor adaptación local.
De manera similar al primer desfase, los desfases segundo y tercero pueden ser acortados para que estén dentro de un intervalo de –tC2 y tC2, donde el valor de umbral tC2 se determina sobre la base del valor de QP asignado al bloque. En una realización particular el valor de umbral tC2 se determina sobre la base del valor de umbral timagen36C utilizado
para el acortamiento del primer desfase en la Fig. 3. Por ejemplo,
o con una implementación adaptada de hardware tC2 = tC >> 1.
La Fig. 6 es un diagrama de flujo que ilustra tal acortamiento de los desfases segundo y tercero. El método continúa desde la etapa S30 o S31 de la Fig. 5. Una etapa S40 siguiente analiza si el desfase segundo o tercero está dentro del intervalo de –tC2 y tC2. Si esto es verdadero el método continúa hacia la etapa S32 o S33 de la Fig. 5. No obstante, si el desfase segundo o tercero es menor que –tC2 o mayor que tC2 el método continúa hacia la etapa S41. Esta etapa S41 acorta el desfase segundo o tercero para que sea –tC2 si ∆p, q < -tC2 o ajusta el desfase segundo o tercero a tC2 si ∆p, q > tC2.
Los valores de píxel modificados siguientes más cercano a la frontera de bloque son preferiblemente acortados para que estén en el intervalo de 0 a M de manera similar a los valores de píxel modificados para los píxeles más cercanos a la frontera de bloque. Por ello, las etapas del método de la Fig. 4 pueden aplicarse también a estos píxeles para forzar a los valores de píxel a estar dentro de [0, M].
En una realización, los valores de píxel modificados de los píxeles 13, 23 siguientes más cercanos a la frontera de bloque 1 se calculan como:
imagen37
Opcionalmente se utiliza el acortamiento de los desfases segundo y tercero y/o los valores de píxel modificados tal como se ha descrito anteriormente.
En una realización alternativa, los cálculos de los desfases podrían ser realizados para ser independientes uno de otro.
imagen38
Matemáticamente esto es equivalente a la realización descrita previamente. Puede también realizarse un acortamiento opcional para esta realización.
, respectivamente. Por ejemplo, tal función podría ser
adaptada para una implementación de hardware, y/o ser una representación entera de . Un ejemplo particular de tal implementación de hardware que produce valores enteros es calcular el segundo desfase para que esté basado en, sea preferiblemente imagen39
igual a, . Correspondientemente, imagen40el tercer desfase se calcula preferiblemente para que esté basado en, sea preferiblemente igual a En tal caso, los valores de píxel modificados se calculan como:
imagen41
imagen42
E11855586
22-09-2015
imagen43
o si se utiliza el acortamiento:
imagen44
Una realización alternativa para el cálculo de los desfases segundo y tercero, que está adaptada para implementación mediante hardware, es:
imagen45
donde << denota una operación de desplazamiento a la izquierda.
Otra realización alternativa para el cálculo de los desfases segundo y tercero, que está adaptada para implementación mediante hardware, es:
imagen46
En otra realización, puede utilizarse un filtro de paso bajo más fuerte en combinación con el primer desfase. En este
caso el segundo desfase se calcula sobre la base de, tal como igual a implementación imagen47adaptada mediante imagen48hardware, sobre la base de, preferiblemente igual a
o si no a imagen49. El tercer desfase podría entonces 15 calcularse sobre la base de, tal como igual a
imagen50o, en una implementación adaptada a hardware, sobre la base de, preferiblemente igual a
o si no,
imagen51
imagen52
Una realización particular calcula los desfases primero, segundo y tercero para una línea de píxeles en el bloque para modificar con ello los valores de píxel tanto de los píxeles más cercanos a la frontera de bloque como de los
20 píxeles siguientes más cercanos a la frontera de bloque.
En una realización alternativa, se toma primero una decisión acerca de si calcular los desfases segundo y tercero y con ello si modificar los valores de píxel de los píxeles siguiente más cercanos a la frontera de bloque además de modificar los valores de píxel de los píxeles más cercanos a la frontera de bloque.
De manera similar a las realizaciones descritas en el anterior cálculo de los desfases segundo y tercero para
25 modificar los valores de píxel de los píxeles siguientes más cercanos a la frontera de bloque pueden calcularse desfases cuarto y quinto para modificar los valores de píxel de los píxeles siguientes más cercanos a la frontera de bloque.
siguiente etapa S50 calcula un cuarto desfase sobre la base de , donde p3 denota el
30 valor de píxel del píxel 17 tercero siguiente más cercano a la frontera de bloque 1 en la línea 12 de píxeles 11, 13, 15, 17 en el bloque 10 y ∆p1 denota el segundo desfase. La etapa S51 correspondientemente calcula un quinto imagen53
desfase para que esté basado en , donde q3 denota el valor de píxel del píxel 27 tercero más cercano a la frontera de bloque 1 en la línea 22 correspondiente de píxeles 21, 23, 25, 27 en el bloque vecino 20 y ∆q1 denota el tercer desfase. Las etapas S50 y S51 pueden ser ejecutadas secuencialmente en cualquier
35 orden o al menos parcialmente en paralelo.
imagen54
5
10
15
20
25
30
35
40
45
E11855586
22-09-2015
imagen55
Los desfases cuarto y quinto pueden, en una realización alternativa, calcularse para estar basados en
respectivamente, o si no, en
Las siguientes dos etapas modifican los valores de píxel sobre la base de los desfases cuarto y quinto. Así, la etapa S52 modifica el valor de píxel del píxel 15 segundo siguiente más cercano a la frontera de bloque 1 en la línea 12 de píxeles 11, 13, 15, 17 del bloque 10 sumando el cuarto desfase al valor de píxel de este píxel 15 para formar un valor de píxel modificado. La etapa S53 modifica de manera correspondiente el valor de píxel del píxel 25 segundo siguiente más cercano a la frontera de bloque 1 en la línea 22 correspondiente de píxeles 21, 23, 25, 27 en el bloque vecino 20 sumando el quinto desfase al valor de píxel de este píxel 25 para formar un valor de píxel modificado. Las etapas S52 y S53 pueden ser ejecutadas de manera secuencial en cualquier orden o al menos parcialmente en paralelo.
Este concepto puede generalizarse también para los filtros que modifican más de tres píxeles desde la frontera de bloque. Por ejemplo, el cuarto píxel 17, 27 desde la frontera de bloque 1 puede obtenerse utilizando una combinación de los desfases para los píxeles terceros 15, 25 (o el desfase de los píxeles segundos 13, 23 o el desfase de los píxeles primeros 11, 21) y un filtro de paso bajo simétrico. También son posibles filtros incluso mayores.
De manera similar a las realizaciones previas, los desfases cuarto y quinto pueden ser también acortados. En tal caso, podría utilizarse el mismo intervalo que para los desfases segundo y tercero o la mitad de ese intervalo. En una realización alternativa, el intervalo de acortamiento es –tC3 a tC3, donde el valor de umbral tC3 se determina sobre la base del valor de QP asociado con el bloque. También pueden acortarse los valores de píxel modificados de los píxeles segundos siguientes más cercanos a la frontera de bloque para que estén dentro del intervalo de 0 a M, como se describe en la Fig. 4.
En una realización particular, la modificación de estos valores de píxel se lleva a cabo de acuerdo con lo que sigue:
imagen56
donde ∆p1, ∆q2 denotan los desfases cuarto y quinto, respectivamente. Opcionalmente puede realizarse un acortamiento tal como se describe en lo que sigue.
imagen57
implementación mediante hardware puede ser utilizada para obtener los desfases cuarto y quinto como valores enteros. En una realización particular, el cuarto desfase se calcula para estar basado en, ser preferiblemente igual a imagen58 imagen59
. Correspondientemente, es una representación entera para el quinto desfase.
Las presentes realizaciones están adaptadas para combatir aberraciones de bloqueo en conexión con la codificación y la descodificación de fotogramas de video. Las realizaciones pueden aplicarse por lo tanto a estándares de codificación y descodificación tales que dividen los fotogramas de video en bloques de píxeles y por ello se corre el riesgo de tener aberraciones de bloqueo sobre las fronteras de bloque. Ejemplos de tales estándares, a los cuales pueden aplicarse las presentes realizaciones, son H.264 y HEVC. En particular HEVC tiene la posibilidad de seleccionar entre un modo de filtrado débil y un modo de filtrado fuerte. Las presentes realizaciones pueden entonces ventajosamente utilizarse en el modo de filtrado débil para calcular los desfases que se emplean para modificar los valores de píxel en una línea de píxeles y una línea de píxeles correspondiente sobre una frontera de bloque. Por ello, las decisiones sobre si efectuar tal filtrado de desbloqueo de acuerdo con el HEVC de la técnica anterior pueden ser utilizadas ventajosamente para las presentes realizaciones.
Un aspecto particular se refiere a un método de reducir las aberraciones de bloqueo en una frontera de bloque entre un bloque de múltiples píxeles y un bloque vecino de múltiples píxeles en un fotograma de video. Con referencia a la Fig. 1, el método comprende calcular, en la etapa S1, un primer desfase sobre la base de un valor de píxel de un píxel más cercano a la frontera de bloque en una línea de píxeles en el bloque, un valor de píxel de un píxel siguiente más cercano a la frontera de bloque en la línea de píxeles, un valor de píxel de un píxel más cercano a la frontera de bloque en una línea de píxeles correspondiente u opuesta en el bloque vecino y un valor de píxel de un píxel siguiente más cercano a la frontera de bloque en la línea de píxeles correspondiente. La línea de píxeles y la
10
15
20
25
30
35
40
45
50
E11855586
22-09-2015
línea de píxeles vecina son perpendiculares a la frontera de bloque. El primer desfase se calcula sobre la base de estos valores de píxel y una fórmula que produce un valor de desfase que se aproxima a cero, preferiblemente que es igual a cero, cuando los valores de píxel crecen y decrecen linealmente o son iguales cuando se desplazan a lo largo de la línea de píxeles y de la línea de píxeles correspondiente y resulta en un valor de desfase que aproxima un escalón en los valores de píxel cuando los valores de píxel crecen y decrecen en escalones cuando se desplazan a lo largo de la línea de píxeles y de la línea de píxeles correspondiente. El método comprende también modificar, en la etapa S2, el valor de píxel del píxel más cercano a la frontera de bloque en la línea de píxeles sumando el primer desfase al valor de píxel del píxel más cercano a la frontera de bloque en la línea de píxeles. Una etapa siguiente S3 modifica el valor de píxel del píxel más cercano a la frontera de bloque en la línea de píxeles correspondiente restando el primer desfase del valor de píxel del píxel más cercano a la frontera de bloque en la línea de píxeles correspondiente.
Este aspecto particular puede ser combinado con las realizaciones explicadas en lo anterior con respecto a las Figs. 1 –7.
El método de reducir las aberraciones de bloqueo de acuerdo con la realización descrita en la Fig. 1 se lleva a cabo preferiblemente mediante una unidad de filtro de desbloqueo. Por ello, tal unidad de filtro de desbloqueo calcula entonces el primer desfase en la etapa S1 y modifica los valores de píxel de los píxeles más cercanos a la frontera de bloque en las etapas S2 y S3. La Fig. 8 es un diagrama de bloques esquemático de una realización de tal unidad de filtro de desbloqueo 100.
primer desfase sobre la base de , como se ha explicado previamente en esta memoria para una línea de píxeles en un bloque de píxeles en un fotograma de video. Un modificador 120 de píxel de la unidad de filtro de desbloqueo 100 está configurado para modificar el valor de píxel de un píxel más cercano a una frontera de bloque en la línea de píxeles en el bloque sumando el primer desfase calculado mediante el calculador de primer desfase 110 al valor de píxel de este píxel para formar un valor de píxel modificado. El modificador 120 de píxel modifica el valor de píxel de un píxel más cercano a la frontera de bloque pero en una línea de píxeles correspondiente en un bloque vecino de píxeles en el fotograma de video. Esta modificación por parte del modificador 120 de valor de píxel se consigue restando el primer desfase calculado por el calculador de primer desfase 110 del valor de píxel de este píxel para formar un valor de píxel modificado.
Por ello, en una realización particular el modificador 120 de píxel está configurado para sumar el primer desfase al valor de píxel del píxel más cercano a la frontera de bloque en la línea de píxeles para formar un valor de píxel modificado. El modificador 120 de píxel está además configurado para restar el primer desfase del valor de píxel del píxel más cercano a la frontera de bloque en la línea de píxeles correspondiente para formar un valor de píxel modificado.
En una realización particular, el calculador 110 de primer desfase está configurado para calcular el primer desfase imagen60
para que sea , es decir, una función f( ) o representación de
. Esta función preferiblemente proporciona una representación entera de
y preferiblemente la función es adecuada para implementación mediante
para que esté basado en, y que sea preferiblemente igual a
La Fig. 9 es un diagrama de bloques esquemático de una unidad de filtro de desbloqueo 200 de acuerdo con otra realización. La unidad de filtro de desbloqueo 200 comprende el calculador de primer desfase 210 y el modificador 220 de valor de píxel. Estas unidades 210, 220 operan como se ha explicado anteriormente con respecto a la Fig. 8. La unidad de filtro de desbloqueo 200 preferiblemente comprende también una primera unidad de acortamiento 230. Esta primera unidad de acortamiento 230 está configurada para acortar el primer desfase para que esté dentro de un intervalo de –tC y tC. El valor de umbral tC depende entonces de un bloqueo de QP asociado con el bloque y puede, por ejemplo, ser seleccionado de la Tabla 1 basándose en el valor de QP del bloque.
Una unidad de segundo acortamiento 240 opcional está implementada en la unidad de filtro de desbloqueo 200 para el acortamiento de los valores de píxel modificados calculados por el modificador de valor de píxel 220. Así, la unidad de segundo acortamiento 240 limita estos valores de píxel modificados para que estén dentro de un intervalo de cero y el valor máximo definido M.
de píxeles en el bloque.
imagen61
imagen62
imagen63
imagen64
5
10
15
20
25
30
35
40
45
E11855586
22-09-2015
En una realización particular, el calculador de segundo desfase 260 está configurado para calcular el segundo
El segundo calculador de desfase 250 está configurado, en una realización, para calcular el segundo desfase para imagen65
que esté basado en, sea preferiblemente igual a
La unidad de filtro de desbloqueo 200 preferiblemente comprende un calculador de tercer desfase 260 configurado imagen66
para calcular un tercer desfase basado en para la línea de píxeles correspondiente en el bloque vecino.
En una realización particular, el calculador de tercer desfase 260 está configurado para calcular el tercer desfase imagen67
para imagen68que sea , es decir, una función h( ) o representación de
. Esta función preferiblemente da como resultado una representación entera de
y preferiblemente la función es adecuada para implementación mediante hardware. El
basado en, sea preferiblemente igual a
El modificador 220 de píxel de la unidad de filtro de desbloqueo 200 es entonces además configurado para modificar el valor de píxel del píxel siguiente más cercano a la frontera de bloque en la línea de píxeles en el bloque. El modificador 220 de píxel suma el segundo desfase calculado por el calculador de segundo desfase 250 al valor de píxel de este píxel. El modificador 220 de píxel está adicionalmente configurado para modificar el valor de píxel del píxel siguiente más cercano a la frontera de bloque pero en la línea de píxeles correspondiente en el bloque vecino. Esta modificación se consigue sumando el primer desfase calculado por el calculador de tercer desfase 260 al valor de píxel de este píxel.
Una unidad de tercer acortamiento 270 opcional de la unidad de filtro de desbloqueo 200 está configurada para acortar el segundo desfase calculado por el calculador de segundo desfase 250 y el tercer desfase calculado por el calculador de tercer desfase 260 para que esté dentro de un intervalo de –tC2 y tC2. El valor de umbral tC2 depende preferiblemente del valor de QP asociado con el bloque y se calcula ventajosamente sobre la base del valor de umbral tC utilizado para el acortamiento del primer desfase. En una realización alternativa, la unidad de tercer acortamiento 270 se omite y cualquier acortamiento de los desfases segundo y tercero es llevado a cabo por el contrario por la unidad de primer acortamiento 230.
La unidad de segundo acortamiento 240 preferiblemente no solo acorta los valores de píxel modificados de los píxeles más cercanos a la frontera de bloque, sino también los valores de píxel modificados de los píxeles siguientes más cercanos a la frontera de bloque y calculados utilizando los desfases segundo y tercero, respectivamente. Así, también estos valores de píxel modificados están preferiblemente restringidos para que estén dentro del intervalo de cero al valor máximo definido M.
El calculador de segundo desfase 250 y el calculador de tercer desfase 260 podrían ser configurados para calcular los desfases segundo y tercero para cada línea de píxeles y cada línea de píxeles correspondiente para las cuales va a aplicarse el filtrado de desbloqueo sobre la frontera de bloque entre el bloque y el bloque vecino. En un planteamiento alternativo, la unidad de filtro de desbloqueo 200 lleva a cabo una selección acerca de si calcular solo el primer desfase y por ello modificar solo los valores de píxel de los píxeles más cercanos a la frontera de bloque o calcular los desfases tanto primero como segundo y tercero y por ello modificar los valores de píxel de los píxeles más cercanos a y de los píxeles siguientes más cercanos a la frontera de bloque.
desfase 280 configurado para calcular un cuarto desfase para que esté basado en
En una realización particular, el calculador de cuarto desfase 280 está configurado para calcular el cuarto desfase imagen69
para que sea , es decir, una función b( ) o representación de
. Esta función preferiblemente proporciona una representación entera de
y preferiblemente la función es adecuada para la implementación mediante
imagen70
imagen71
imagen72
imagen73
5
10
15
20
25
30
35
40
45
50
E11855586
22-09-2015
imagen74
hardware. El calculador de cuarto desfase 280 está configurado, en una realización, para calcular el cuarto desfase imagen75
para que esté basado en, sea preferiblemente igual a
La unidad de filtro de desbloqueo 200 podría comprender también un calculador de quinto desfase 290 opcional imagen76
configurado para calcular un quinto desfase para que esté basado en
En una realización particular, el calculador de quinto desfase 290 está configurado para calcular el quinto desfase
, es decir, una función k( ) o representación de
como resultado una representación entera de
y preferiblemente la función es adecuada para implementación mediante hardware. El calculador de quinto desfase 290 está configurado, en una realización, para calcular el quinto desfase para que imagen77
esté basado en, sea preferiblemente igual a
En esta realización, el modificador de valor de píxel 220 está también configurado para modificar el valor de píxel del píxel segundo siguiente más cercano a la frontera de bloque en la línea de píxeles en el bloque, sumando el cuarto desfase calculado por el calculador de cuarto desfase 280 al valor de píxel de este píxel. El modificador de valor de píxel 220 adicionalmente modifica, en esta realización, el valor de píxel del píxel segundo siguiente más cercano a la frontera de bloque en la línea de píxeles correspondiente en el bloque vecino, sumando el quinto desfase calculado por el calculador de quinto desfase al valor de píxel de este píxel.
La unidad de segundo acortamiento 240 preferiblemente procesa los valores de píxel modificados para restringirlos dentro del intervalo de cero y el valor máximo predefinido M. La unidad de tercer acortamiento 270 puede utilizarse también para acortar los desfases cuarto y quinto de manera similar a los desfases segundo y tercero. Si no, la unidad de filtro de desbloqueo 200 comprende una cuarta unidad de acortamiento configurada para acortar los desfases cuarto y quinto para que estén dentro de un intervalo que tiene puntos de extremo que están definidos sobre la base del valor de QP del bloque y preferiblemente basados en el valor de umbral tC.
Un aspecto particular se refiere a una unidad de filtro de desbloqueo para reducir las aberraciones de bloqueo en una frontera de bloque entre un bloque de múltiples píxeles y un bloque vecino de múltiples píxeles en un fotograma de video. Con referencia a la Fig. 8, la unidad de filtro de desbloqueo 100 comprende un calculador de primer desfase 110 configurado para calcular un primer desfase basado en un valor de píxel de un píxel más cercano a la frontera de bloque en una línea de píxeles en el bloque, un valor de píxel de un píxel siguiente más cercano a la frontera de bloque en la línea de píxeles, un valor de píxel de un píxel más cercano a la frontera de bloque en una línea de píxeles correspondiente u opuesta en el bloque vecino y un valor de píxel de un píxel siguiente más cercano a la frontera de bloque en la línea de píxeles correspondiente. La línea de píxeles y la línea de píxeles vecina son perpendiculares a la frontera de bloque. El primer desfase es calculado por el calculador de primer desfase 110 sobre la base de estos valores de píxel y de una fórmula que da como resultado un valor de desfase que se aproxima a cero, preferiblemente es igual a cero, cuando los valores de píxel crecen o decrecen linealmente o son iguales cuando se desplazan a lo largo de la línea de píxeles y de la línea de píxeles correspondiente y da como resultado un valor de desfase que aproxima un escalón en los valores de píxel cuando los valores de píxel crecen y decrecen en escalones cuando se desplazan a lo largo de la línea de píxeles y de la línea de píxeles correspondiente. La unidad de filtro de desbloqueo 100 comprende también un modificador de valor de píxel 120 configurado para modificar el valor de píxel del píxel más cercano a la frontera de bloque en la línea de píxeles sumando el primer desfase al valor de píxel del píxel más cercano a la frontera de bloque en la línea de píxeles para formar un valor de píxel modificado. El modificador de valor de píxel 120 está además configurado para modificar el valor de píxel del píxel más cercano a la frontera de bloque en la línea de píxeles correspondiente restando el primer desfase del valor de píxel del píxel más cercano a la frontera de bloque en la línea de píxeles correspondiente para formar un valor de píxel modificado.
Aunque la unidad respectiva 110, 120 y 210 – 290 descrita con respecto a las Figs. 8 y 9 se ha descrito como unidades físicamente separadas 110, 120, y 210 – 290 en el dispositivo 100, 200, y todas pueden ser circuitos de propósito especial, tal como ASICs (Circuitos integrados específicos para una aplicación – Application Specific Integrated Circuits, en inglés), son posibles realizaciones alternativas del dispositivo 100, 200, donde algunas o todas las unidades 110, 120, 210 – 290 están implementadas como módulos de programa informático que se ejecutan en un procesador de propósito general. Tal realización se describe en la Fig. 10.
La Fig. 10 ilustra esquemáticamente una realización de un ordenador 70 que tiene una unidad de procesamiento 72, tal como un DSP (Procesador de Señal Digital – Digital Signal Processor, en inglés) o CPU (Unidad de Procesamiento Central – Central Processing Unit, en inglés). La unidad de procesamiento 72 puede ser una sola unidad o una pluralidad de unidades para ejecutar diferentes etapas del método descrito en esta memoria. El ordenador 70 comprende también una unidad de entrada / salida (I/O – Input / Output, en inglés) 71 para la
10
15
20
25
30
35
40
45
50
55
E11855586
22-09-2015
recepción de fotogramas de video grabados o generados o fotogramas de video codificados y fotogramas de video codificados o datos de video descodificados. La unidad de I/O 71 ha sido ilustrada como una sola unidad en la Fig. 10, pero puede asimismo ser en forma de una unidad de entrada separada y una unidad de salida separada.
Además, el ordenador 70 comprende al menos un producto de programa informático 73 en forma de una memoria no volátil, por ejemplo una EEPROM (Memoria se solo lectura programable borrable eléctricamente – Electrically Erasable Programmable Read-Only Memory, en inglés), una memoria rápida o una unidad de disco. El producto de programa informático 73 comprende un programa informático 74, que comprende un medio de código que cuando es ejecutado en el ordenador 70, tal como mediante la unidad de procesamiento 72, hace que el ordenador 70 ejecute las etapas del método descritas anteriormente con respecto a la Fig. 1. Por ello, en una realización el medio de código en el programa informático 74 comprende un módulo de cálculo de primer desfase 310 para calcular el primer desfase y un módulo de modificación de primer desfase o un modificador de valor de píxel 320 para modificar los valores de píxel de un módulo de filtro de desbloqueo 300 o un dispositivo de filtro de desbloqueo. Estos módulos 310, 320 esencialmente ejecutan las etapas del diagrama de flujo de la Fig. 1 cuando se ejecutan en la unidad de procesamiento 72. Así, cuando los diferentes módulos 310, 320 son ejecutados en la unidad de procesamiento 72 corresponden a las unidades correspondientes 110, 120 de la Fig. 8 y a las unidades 210, 220 de la Fig. 9.
El programa informático 74 puede adicionalmente comprender un módulo de primer acortamiento, un módulo de segundo acortamiento, un módulo de cálculo de segundo desfase, un módulo de cálculo de tercer desfase y opcionalmente también un módulo de tercer acortamiento, un módulo de cálculo de cuarto desfase y un módulo de cálculo de quinto desfase para llevar a cabo la operación de las correspondientes unidades 230 – 290 en la Fig. 9.
El ordenador 70 de la Fig. 10 puede ser un equipo de usuario o estar incluido en un equipo de usuario 80. En tal caso, el equipo de usuario 80 puede adicionalmente comprender o estar conectado a una pantalla 88 para mostrar los datos de video.
La unidad de filtro de desbloqueo 100, 200 de las Figs. 8 y 9 se utilizan preferiblemente en la codificación de video. Funciona y está por lo tanto preferiblemente implementada tanto en un codificador de video como en un descodificador de video. El codificador de video puede ser implementado preferiblemente en hardware, pero también en software. Lo mismo vale para el codificador de video.
La Fig. 11 es un diagrama de bloques esquemático de un codificador 40 para decodificar un bloque de píxeles en un fotograma de video de una secuencia de video de acuerdo con una realización.
Un bloque de píxeles actual se predice realizando una estimación de movimiento mediante un estimador de movimiento 50 de un bloque de píxeles ya proporcionado en el mismo fotograma o en un fotograma previo. El resultado de la estimación de movimiento es un vector de movimiento o desplazamiento asociado con el bloque de referencia, en el caso de inter-predicción. El vector de movimiento es utilizado por un compensador de movimiento 50 para proporcionar una inter predicción de bloque de píxeles.
Un intra indicador 49 calcula una intra predicción de los bloques de píxeles actuales. Las salidas del estimador / compensador de movimiento 50 y el intra indicador 49 son introducidas en un selector 51 que bien selecciona intra o inter predicción para los bloques de píxeles actuales. La salida del selector 51 es introducida en un calculador de error en forma de un sumador 41 que también recibe los valores de píxel del bloque de píxeles actual. El sumador 41 calcula y proporciona un error residual como la diferencia en los valores de píxel entre el bloque de píxeles y su predicción.
El error se transforma en un transformador 42, tal como mediante una transformada de coseno discreta, y cuantificado mediante un cuantificador 43 seguido por una codificación en un codificador 44, tal como mediante un codificador de entropía. En inter codificación, también el vector de movimiento estimado es introducido en el codificador 44 para generar la representación codificada del bloque de píxeles actual.
El error residual transformado y cuantificado para el bloque de píxeles actual se proporciona también a un cuantificador inverso 45 y a un transformador inverso 46 para obtener el error residual original. Este error es sumado por un sumador 47 a la salida de predicción del bloque desde el compensador de movimiento 50 o el intra indicador 49 para crear un bloque de píxeles de referencia que pueda ser utilizado en la predicción y la codificación de un bloque de píxeles siguiente. Este nuevo bloque de referencia es procesado primero por una unidad de filtro de desbloqueo 100 de acuerdo con las realizaciones para realizar un filtrado de desbloqueo para combatir todas las aberraciones de bloqueo. El nuevo bloque de referencia procesado en entonces temporalmente almacenado en una memoria temporal de fotogramas 48, donde está disponible para el intra indicador 49 y para el estimador / compensador de movimiento 50.
La Fig. 12 es un diagramas de bloques esquemático de un descodificador 60 que comprende una unidad de filtro de desbloqueo 100 de acuerdo con las realizaciones. El descodificador 60 comprende un descodificador 61, tal como un descodificador en entropía, para la descodificación de una representación codificada de un bloque de píxeles para obtener un conjunto de errores residuales cuantificados y transformados. Estos errores residuales son descuantificados en un cuantificador inverso 62 e inversamente transformados por un transformador inverso 63 para obtener un conjunto de errores residuales.
15
25
35
45
55
E11855586
22-09-2015
Estos errores residuales son sumados en un sumador 64 a los valores de píxel de un bloque de píxeles de referencia. El bloque de referencia es determinado mediante un estimador / compensador de movimiento 67 o un intra indicador 66, dependiendo de si se lleva a cabo una inter o una intra predicción. Un selector 68 es por ello interconectado al sumador 64 y al estimador / compensador de movimiento 67 y al intra indicador 66. La salida del bloque de píxeles descodificada resultante del sumador 64 es introducida en una unidad de filtro de desbloqueo 100 de acuerdo con las realizaciones para filtrar para desbloqueo todas las aberraciones de bloqueo. El bloque de píxeles, filtrado es extraído del descodificador 60 y es además preferiblemente temporalmente proporcionado a una memoria temporal de fotogramas 65 y puede ser utilizado como bloque de píxeles de referencia para un bloque de píxeles siguiente para ser descodificado. La memoria temporal de fotogramas 65 está por ello conectada al estimador / compensador de movimiento 67 para que los bloques de píxeles almacenados estén disponibles para el estimador / compensador de movimiento 67.
La salida del sumador 64 es preferiblemente introducida también en el intra indicador 66 para ser utilizada como un bloque de píxeles de referencia no filtrado.
En las realizaciones descritas en las Figs. 11 y 12 la unidad de filtro de desbloqueo 100 lleva a cabo un filtrado de desbloqueo como el llamado filtrado en bucle. En una implementación alternativa en el descodificador 60 la unidad de filtro de desbloqueo 100 está dispuesta para realizar el llamado filtrado de posprocesamiento. En tal caso, la unidad de filtro de desbloqueo 100 opera sobre los fotogramas de salida fuera del bucle formado por el sumador 64, la memoria temporal de fotogramas 65, el intra indicador 66, el estimador / compensador de movimiento 67 y el selector 68. No se realiza entonces típicamente ningún filtrado de desbloqueo en el codificador.
La Fig. 13 es un diagrama de bloques esquemático de un equipo de usuario o terminal de medios 80 que contiene un descodificador 60 con una unidad de filtro de desbloqueo. El equipo de usuario 80 puede ser cualquier dispositivo que tenga funciones de descodificación de medios que opera sobre un flujo de video codificado de fotogramas de video descodificados para descodificar con ello los fotogramas de video y proporcionar los datos de video. Ejemplos no limitativos de tales dispositivos incluyen teléfonos móviles y otros reproductores de medios portátiles, tabletas, ordenadores, blocs de notas, grabadores de video personales, reproductores de multimedios, servidores de video en tiempo real, descodificadores de televisión, TVs, ordenadores, descodificadores, consolas de juegos, etc. El equipo de usuario 80 comprende una memoria 84 configurada para almacenar fotogramas de video codificados. Estos fotogramas de video codificados pueden haber sido generados por el propio equipo de usuario 80. En tal caso, el equipo de usuario 80 preferiblemente comprende un motor de medios o un grabador junto con un codificador conectado, tal como el codificador de la Fig. 11. Si no, los fotogramas de video codificados son generados por algún otro dispositivo y transmitidos de manera inalámbrica o transmitidos por cable al equipo de usuario 80. El equipo de usuario 80 comprende entonces un transmisor receptor (transmisor y receptor) o un puerto de entrada y salida 82 para conseguir la transferencia de datos.
Los fotogramas de video codificados son traídos desde la memoria 84 a un descodificador 60, tal como el descodificador ilustrado en la Fig. 12. El descodificador 60 comprende una unidad de filtro de desbloqueo 100 de acuerdo con las realizaciones. El descodificador 60, a continuación, descodifica los fotogramas de video codificados a fotogramas de video descodificados. Los fotogramas de video descodificados son proporcionados a un reproductor de medios 86 que está configurado para traducir los fotogramas de video descodificados a datos de video que son visualizables en un visualizador, pantalla 88 de o conectado al equipo de usuario 80.
En la Fig. 13, el equipo de usuario 80 ha sido ilustrado comprendiendo tanto el descodificador 60 como el reproductor de medios 86, estando el descodificador 60 implementado como parte del reproductor de medios 86. Esto debería, no obstante, considerarse meramente como un ejemplo ilustrativo pero no limitativo de una realización de implementación para el equipo de usuario 80. También son posibles implementaciones distribuidas cuando el descodificador 60 y el reproductor de medios 86 son proporcionados en dos dispositivos separados físicamente y dentro del alcance del equipo de usuario 80, tal como se utiliza en esta memoria. La pantalla 88 podría proporcionarse también como un dispositivo separado conectado al equipo de usuario 80, cuando se está produciendo el procesamiento de los datos actuales.
Como se ilustra en la Fig. 14, el codificador 40 y/o el descodificador 60, tal como se ilustra en las Figs. 11 y 12, pueden ser implementados en un dispositivo de red 30 que está o que pertenece a un nodo de red en una red de comunicación 32 entre una unidad de transmisión 34 y un equipo de usuario de recepción 36. Tal dispositivo de red 30 puede ser un dispositivo para convertir video de acuerdo con un estándar de codificación de video en otro estándar de codificación de video, por ejemplo, si se ha establecido que el equipo de usuario de recepción 36 solo es capaz de o prefiere otro estándar de codificación de video distinto del enviado desde la unidad de transmisión 34. El dispositivo de red 30 puede ser en forma de o estar comprendido en una estación de base de radio, un Nodo B o en cualquier otro nodo de red en una red de comunicación 32, tal como una red de radio.
Las realizaciones descritas anteriormente deben ser entendidas como ejemplos ilustrativos de la presente invención. Resultará evidente para los expertos en la materia que pueden realizarse varias modificaciones, combinaciones y cambios a las realizaciones sin separarse del alcance de la presente invención. En particular, pueden combinarse diferentes soluciones parciales en las diferentes realizaciones en otras configuraciones, cuando sea técnicamente posible. El alcance de la presente invención está, no obstante, definido por las reivindicaciones adjuntas.

Claims (13)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    REIVINDICACIONES
    1. Un método de reducir las aberraciones de bloqueo en una frontera de bloque (1) entre un bloque (10) de múltiples píxeles (11, 13, 15, 17) y un bloque vecino (20) de múltiples píxeles (21, 23, 25, 27) en un fotograma de video, comprendiendo el citado método las etapas de:
    calcular (S1) un primer desfase;
    acortar (S11) el citado primer desfase para que esté dentro de un intervalo de –tC y tC, ajustando el citado primer desfase para que sea igual a –tC si el citado primer desfase es menor que –tC y ajustando el citado primer desfase para que sea igual a tC si el citado primer desfase es mayor que tC, donde tC es un valor de umbral que depende de un valor de parámetro de cuantificación asignado al citado bloque (10);
    modificar (S2) un valor de píxel p0 de un píxel (11) más cercano a la citada frontera de bloque (1) en una línea (12) de píxeles (11, 13, 15, 17) en el citado bloque (10), donde la citada línea (12) de píxeles (11, 13, 15, 17) es perpendicular a la citada frontera de bloque (1), sumando el citado primer desfase al citado valor de píxel p0 del citado píxel (11) más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) para formar un valor de píxel modificado p0’ del citado píxel (11) más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17); y
    modificar (S3) un valor de píxel q0 de un píxel (21) más cercano a la citada frontera de bloque (1) en una línea (22) correspondiente de píxeles (21, 23, 25, 27) en el ciado bloque vecino (20), donde la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) es perpendicular a la citada frontera de bloque (1), restando el citado primer desfase del citado valor de píxel q0 del citado píxel (21) más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) para formar un valor de píxel modificado q0’ del citado píxel (21) más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25,27), y donde el método está caracterizado por
    que el primer desfase se calcula para que sea igual a imagen1, donde >> denota una operación de desplazamiento a la derecha, p1 denota un valor de píxel de un píxel (13) siguiente más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) y q1 denota un valor de píxel de un píxel (23) siguiente más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27).
  2. 2. El método de acuerdo con la reivindicación 1, que comprende además:
    acortar (S21) el citado valor de píxel modificado p0’ del citado píxel (11) más cercano a la citada frontera de bloque
    (1)
    en la citada línea (12) de píxeles (11, 13, 15, 17) para que esté en un intervalo de cero y un valor máximo definido ajustando el citado valor de píxel modificado p0’ del citado píxel (11) más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) para que sea igual a cero si el citado valor de píxel modificado p0’ del citado píxel (11) más cercano a la citada frontera de bloque (1) en la citada línea de píxeles (12) de píxeles (11, 13, 15, 17) es menor que cero, y ajustando el citado valor de píxel modificado p0’ del citado píxel (11) más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) para que sea igual al citado valor máximo definido si el citado valor de píxel modificado p0’ del citado píxel (11) más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) es mayor que el citado valor máximo definido; y
    acortar (S21) el citado valor de píxel modificado q0’ del citado píxel (21) más cercano a la citada frontera de bloque
    (1)
    en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) para que esté dentro de un intervalo de cero y el citado valor máximo definido ajustando el citado valor de píxel modificado q0’ del citado píxel (21) más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) para que sea igual a cero si el citado valor de píxel modificado q0’ del citado píxel (21) más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) es menor que cero, y ajustando el citado valor de píxel modificado q0’ del citado píxel (21) más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) para que sea igual al citado máximo definido si el citado valor de píxel modificado q0’ del citado píxel (21) más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) es mayor que el citado valor máximo definido.
  3. 3. El método de acuerdo con cualquiera de las reivindicaciones 1 o 2, que comprende además:
    calcular (S30) un segundo desfase para que sea igual a imagen2, donde p2 denota un valor de píxel de un píxel (15) segundo siguiente más cercano a la citada frontera de bloque (1) en la citada línea
    (12) de píxeles (11, 13, 15, 17) y ∆ denota el citado primer desfase;
    calcular (S31) un tercer desfase para que sea
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    imagen3
    donde q2 denota un valor de píxel de un píxel (25) segundo siguiente más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27);
    modificar (S32) el citado valor de píxel p1 del citado píxel (13) siguiente más cercano a la citada frontera de bloque
    (1)
    en la citada línea (12) de píxeles (11, 13, 15, 17) sumando el citado segundo desfase al citado valor de píxel p1 del citado píxel (13) siguiente más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) para formar un valor de píxel modificado p1’ del citado píxel (13) siguiente más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17); y
    modificar (S33) el citado valor de píxel q1 del citado píxel (23) siguiente más cercano a la citada frontera de bloque
    (1)
    en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) sumando el citado tercer desfase al citado valor de píxel q1 del citado píxel (23) siguiente más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) para formar un valor de píxel modificado q1’ del citado píxel (23) siguiente más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27).
  4. 4. Una unidad de filtro de desbloqueo (100, 200) para reducir aberraciones de bloqueo en una frontera de bloque (1) entre un bloque (10) de múltiples píxeles (11, 13, 15, 17) y un bloque vecino (20) de múltiples píxeles (21, 23, 25, 27) en un fotograma de video, comprendiendo la citada unidad de filtro de desbloqueo (100, 200):
    un calculador de primer desfase (110, 210) configurado para calcular un primer desfase;
    una unidad de primer acortamiento (230) configurada para acortar el citado primer desfase dentro de un intervalo de –tC y tC ajustando el citado primer desfase para que sea igual a –tC si el citado primer desfase es menor que –tC y ajustando el citado primer desfase para que sea igual a tC si el citado primer desfase es mayor que tC, donde tC es un valor de umbral que depende del valor de un parámetro de cuantificación asignado al citado bloque (10), y
    un modificador de valor de píxel (120, 220) configurado para modificar un valor de píxel p0 de un píxel (11) más cercano a la citada frontera de bloque (1) en una línea (12) de píxeles (11, 13, 15, 17) en el citado bloque (10), donde la citada línea (12) de píxeles (11, 13, 15, 17) es perpendicular a la citada frontera de bloque (1), sumando el citado primer desfase al citado valor de píxel p0 del citado píxel (11) más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) para formar un valor de píxel modificado p0’ del citado píxel (11) más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) y para modificar un valor de píxel q0 de un píxel (21) más cercano a la citada frontera de bloque (1) en una línea (22) correspondiente de píxeles (21, 23, 25, 27) en el citado bloque vecino (20), donde la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) es perpendicular a la citada frontera de bloque (1) , restando el citado primer desfase del citado valor de píxel q0 del citado píxel (21) más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) para formar un valor de píxel modificado q0’ del citado píxel (21) más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27), y
    está caracterizada por
    que el primer desfase se calcula para que sea igual a imagen4, donde >> denota una operación de desplazamiento a la derecha, p1 denota un valor de píxel de un píxel (13) siguiente más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) y q1 denota un valor de píxel de un píxel (23) siguiente más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27).
  5. 5. La unidad de filtro de desbloqueo de acuerdo con la reivindicación 4, que comprende además una unidad de segundo acortamiento (240) configurada para acortar el citado valor de píxel modificado p0’ del citado píxel (11) más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) para que esté dentro de un intervalo de cero y un valor máximo definido, ajustando el citado valor de píxel modificado p0’ del citado píxel
    (11)
    más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) para que sea igual a cero si el citado valor de píxel modificado p0’ del citado píxel (11) más cercano a la citada frontera de bloque
    (1)
    en la citada línea (12) de píxeles (11, 13, 15, 17) es menor que cero y ajustando el citado valor de píxel modificado p0’ del citado píxel (11) más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) para que sea igual al citado valor máximo definido si el citado valor de píxel modificado p0’ del citado píxel (11) más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) es mayor que el citado valor máximo definido, y para acortar el citado valor de píxel modificado q0’ del citado píxel (21) más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) para que esté dentro de un intervalo de cero y el citado valor máximo definido, ajustando el citado valor de píxel modificado q0’ del citado píxel (21) más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) para que sea igual a cero si el citado valor de píxel modificado q0’ del citado píxel (21) más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) es
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    menor que cero, y ajustando el citado valor de píxel modificado q0’ del citado píxel (21) más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) para que sea igual al citado valor máximo definido si el citado valor de píxel modificado q0’ del citado píxel (21) más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) es mayor que el citado valor máximo definido.
  6. 6. La unidad de filtro de desbloqueo de acuerdo con cualquiera de las reivindicaciones 4 o 5, que comprende además:
    un calculador de segundo desfase (250) configurado para calcular un segundo desfase para que sea igual a
    , donde p2 denota un valor de píxel de un píxel (15) segundo siguiente más
    un calculador de tercer desfase (260) configurado para calcular un tercer desfase para que sea igual a
    donde q2 denota un valor de píxel de un píxel (25) segundo siguiente más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27),
    en la que el citado modificador de valor de píxel (220) está configurado para modificar el citado valor de píxel p2 del citado píxel (15) segundo siguiente más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) añadiendo el citado segundo desfase al citado valor de píxel p2 del citado píxel (15) segundo siguiente más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) para formar un valor de píxel modificado p2’ del citado píxel (15) segundo siguiente más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) y para modificar el citado valor de píxel q2 del citado píxel (25) segundo siguiente más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) sumando el citado tercer desfase al citado valor de píxel q2 del citado píxel (25) segundo siguiente más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) para formar un valor de píxel modificado q2’ del citado píxel (25) segundo siguiente más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27).
  7. 7.
    La unidad de filtro de desbloqueo de acuerdo con la reivindicación 6, que comprende además una unidad de tercer acortamiento (270) configurada para acortar el citado segundo desfase para que esté dentro de un intervalo de –tC2 y tC2 ajustando el citado segundo desfase para que sea igual a –tC2 si el citado segundo desfase es menor que –tC2 y ajustando el citado segundo desfase para que sea igual a tC2 si el segundo desfase es mayor que tC2, donde tC2 es un valor de umbral que depende de un valor del parámetro de cuantificación asignado al citado bloque, y para acortar el citado tercer desfase dentro de un intervalo de –tC2 y tC2 ajustando el citado tercer desfase para que sea igual a –tC2 si el citado tercer desfase es menor que –tC2 y ajustando el citado tercer desfase para que sea igual a tC2 si el citado tercer desfase es mayor que tC2.
  8. 8.
    La unidad de filtro de desbloqueo de acuerdo con cualquiera de las reivindicaciones 6 y 7, que comprende además:
    desfase (280) configurado para calcular un cuarto desfase para que sea igual a
    , donde p3 denota un valor de píxel de un píxel (17) tercero siguiente más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) y ∆p1 denota el citado segundo desfase; y
    un quinto desfase para que sea igual a
    , donde q3 denota un valor de píxel de un tercer píxel (27) más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) y ∆q1 denota el citado tercer desfase,
    en la que el citado modificador de valor de píxel (220) está configurado para modificar el citado valor de píxel p2 del citado píxel (15) segundo siguiente más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) sumando el citado cuarto desfase al citado valor de píxel p2 del ciado píxel (15) segundo siguiente más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) para formar un valor de píxel modificado p2’ del citado píxel (15) segundo siguiente más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17), y para modificar el citado valor de píxel q2 del citado píxel (25) segundo siguiente más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) sumando el citado quinto desfase al citado valor de píxel q2 del citado píxel (25) segundo siguiente más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) para
    imagen5
    imagen6
    imagen7
    imagen8
    5
    10
    15
    20
    25
    30
    35
    40
    formar un valor de píxel modificado q2’ del citado píxel (25) segundo siguiente más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27).
  9. 9.
    Un codificador (40) que comprende una unidad de filtro de desbloqueo (100) de acuerdo con cualquiera de las reivindicaciones 4 a 8.
  10. 10.
    Un descodificador (60) que comprende una unidad de filtro de desbloqueo (100) de acuerdo con cualquiera de las reivindicaciones 4 a 8.
  11. 11.
    Un equipo de usuario (80) que comprende:
    una memoria (84) configurada para almacenar fotogramas de video codificados; y que comprende
    un descodificador (60) de acuerdo con la reivindicación 10 configurado para descodificar los citados fotogramas de video codificados en fotograma de video descodificados; y
    un reproductor de medios (86) configurado para traducir los citados fotogramas de video descodificados a datos de video visualizables en una pantalla (88).
  12. 12. Un dispositivo de red (30) que se encuentra en o pertenece a un nodo de red en una red de comunicación
    (32) entre una unidad de transmisión (34) y un equipo de usuario de recepción (36), comprendiendo el citado dispositivo de red (30) un codificador (40) de acuerdo con la reivindicación 9 y/o un descodificador (60) de acuerdo con la reivindicación 10.
  13. 13. Un programa informático (74) para reducir las aberraciones de bloqueo en una frontera de bloque (1) entre un bloque (10) de múltiples píxeles (11, 13, 15, 17) y un bloque vecino (20) de múltiples píxeles (21, 23, 25, 27) en un fotograma de video, comprendiendo el citado programa informático (74) un medio que cuando es ejecutado en un ordenador (70) hace que el ordenador (70):
    calcule un primer desfase;
    acorte (S11) el citado primer desfase para que esté dentro de un intervalo -tC y tC ajustando el citado primer desfase para que sea igual a –tC si el citado primer desfase es menor que –tC y ajustando el citado primer desfase para que sea igual a tC si el citado primer desfase es mayor que tC, donde tC es un valor de umbral que depende de un valor del parámetro de cuantificación asignado al citado bloque (10);
    modifique un valor de píxel p0 de un píxel (11) más cercano a la citada frontera de bloque (1) en una línea (12) de píxeles (11, 13, 15, 17) en el citado bloque (10), donde la citada línea (12) de píxeles (11, 13, 15, 17) es perpendicular a la citada frontera de bloque (1), sumando el citado primer desfase al citado valor de píxel del citado píxel (11) más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17); y
    modifique un valor de píxel q0 de un píxel (21) más cercano a la citada frontera de bloque (1) en una línea (22) correspondiente de píxeles (21, 23, 25, 27) en el citado bloque vecino (20), donde la citada línea (22) correspondiente de píxeles (21, 23, 25, 27) es perpendicular a la citada frontera de bloque (1), restando el primer desfase del citado valor de píxel del citado píxel (21) más cercano a la citada frontera de bloque (1) en la citada línea
    (22) correspondiente de píxeles (21, 23, 25, 27), y
    calcule el primer desfase para que sea igual a , donde >> denota una operación de desplazamiento a la derecha, p1 denota un valor de píxel de un píxel (13) siguiente más cercano a la citada frontera de bloque (1) en la citada línea (12) de píxeles (11, 13, 15, 17) y q1 denota un valor de píxel de un píxel (23) siguiente más cercano a la citada frontera de bloque (1) en la citada línea (22) correspondiente de píxeles (21, 23, 25, 27).
    imagen9
ES11855586.1T 2011-01-14 2011-10-06 Filtrado de desbloqueo Active ES2548043T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161432751P 2011-01-14 2011-01-14
US201161432751P 2011-01-14
PCT/SE2011/051199 WO2012096610A1 (en) 2011-01-14 2011-10-06 Deblocking filtering

Publications (1)

Publication Number Publication Date
ES2548043T3 true ES2548043T3 (es) 2015-10-13

Family

ID=46507326

Family Applications (2)

Application Number Title Priority Date Filing Date
ES11855586.1T Active ES2548043T3 (es) 2011-01-14 2011-10-06 Filtrado de desbloqueo
ES15171919T Active ES2714349T3 (es) 2011-01-14 2011-10-06 Filtrado de desbloqueo

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES15171919T Active ES2714349T3 (es) 2011-01-14 2011-10-06 Filtrado de desbloqueo

Country Status (24)

Country Link
US (4) US8526509B2 (es)
EP (2) EP2938075B1 (es)
JP (3) JP5540163B2 (es)
KR (1) KR101670116B1 (es)
CN (2) CN106101707B (es)
AP (1) AP3890A (es)
AU (1) AU2011354786B2 (es)
BR (1) BR112013015517B1 (es)
CA (1) CA2824739C (es)
DK (1) DK2664141T3 (es)
ES (2) ES2548043T3 (es)
HU (2) HUE041988T2 (es)
IL (1) IL226929A (es)
MA (1) MA34906B1 (es)
MX (1) MX2013007960A (es)
MY (1) MY183761A (es)
NZ (1) NZ612089A (es)
PH (1) PH12013501275A1 (es)
PL (2) PL2938075T3 (es)
PT (1) PT2664141E (es)
RU (1) RU2550541C2 (es)
SG (1) SG191247A1 (es)
TW (1) TWI538521B (es)
WO (1) WO2012096610A1 (es)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2899977A1 (en) * 2002-01-31 2015-07-29 Samsung Electronics Co., Ltd Filtering method and apparatus for reducing block artifacts or ringing noise
EP2351374A1 (en) * 2008-11-25 2011-08-03 Thomson Licensing Methods and apparatus for sparsity-based de-artifact filtering for video encoding and decoding
CN101583041B (zh) * 2009-06-18 2012-03-07 中兴通讯股份有限公司 多核图像编码处理设备的图像滤波方法及设备
AU2011354786B2 (en) * 2011-01-14 2016-05-26 Telefonaktiebolaget Lm Ericsson (Publ) Deblocking filtering
MA34911B1 (fr) 2011-01-14 2014-02-01 Telefonaktieblaget L M Ericsson Filtrage de déblocage
US9232237B2 (en) * 2011-08-05 2016-01-05 Texas Instruments Incorporated Block-based parallel deblocking filter in video coding
TWI568249B (zh) * 2011-11-03 2017-01-21 太陽專利信託 用於解區塊之有效修整技術
KR102032000B1 (ko) * 2011-11-04 2019-10-14 선 페이턴트 트러스트 변경된 이미지 블록 경계 세기 유도에 의한 디블로킹 필터링
US10397615B2 (en) * 2012-07-03 2019-08-27 Telefonaktiebolaget Lm Ericsson (Publ) Strong deblocking filtering decisions
US20140056363A1 (en) * 2012-08-23 2014-02-27 Yedong He Method and system for deblock filtering coded macroblocks
US9445130B2 (en) * 2013-01-09 2016-09-13 Qualcomm Incorporated Blockiness metric for large HEVC block artifacts
CN104284199B (zh) * 2013-07-11 2019-02-01 Nxp股份有限公司 用降低复杂度的去块效应操作进行视频解码方法和装置
US10666975B2 (en) * 2014-04-23 2020-05-26 Sony Corporation Image processing apparatus and image processing method
US9779664B2 (en) * 2014-08-05 2017-10-03 Apple Inc. Concurrently refreshing multiple areas of a display device using multiple different refresh rates
JP6269431B2 (ja) * 2014-10-10 2018-01-31 ソニー株式会社 画像処理装置、画像処理方法及び画像処理システム
JP6545515B2 (ja) 2015-04-24 2019-07-17 株式会社東芝 画像復号装置
CN106303550B (zh) 2015-06-11 2019-06-21 华为技术有限公司 去块效应滤波方法和去块效应滤波器
CN106470341B (zh) 2015-08-17 2020-10-02 恩智浦美国有限公司 媒体显示系统
JP6620354B2 (ja) 2015-09-30 2019-12-18 Kddi株式会社 動画像の処理装置、処理方法及びコンピュータ可読記憶媒体
US10110926B2 (en) * 2015-10-15 2018-10-23 Cisco Technology, Inc. Efficient loop filter for video codec
KR200486770Y1 (ko) 2015-12-17 2018-06-27 조기찬 공기층을 가지는 단열재
CN114173117B (zh) * 2016-12-27 2023-10-20 松下电器(美国)知识产权公司 编码方法、解码方法及发送方法
CN106604039B (zh) * 2016-12-28 2020-07-31 北京奇艺世纪科技有限公司 一种滤波方法及装置
KR102235246B1 (ko) * 2017-11-15 2021-04-02 샌디스크 테크놀로지스 엘엘씨 테라스 영역 내의 두꺼운 워드 라인들을 갖는 3차원 메모리 디바이스 및 그 제조 방법
EP3782371A4 (en) * 2018-03-30 2021-12-22 Sharp Kabushiki Kaisha SYSTEMS AND PROCEDURES FOR THE APPLICATION OF UNBLOCKING FILTERS ON RECONSTRUCTED VIDEO DATA
US10554975B1 (en) * 2018-09-30 2020-02-04 Tencent America LLC Method and apparatus for video coding
JP7418152B2 (ja) 2018-12-17 2024-01-19 キヤノン株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法
CN113766224B (zh) 2020-06-05 2022-11-25 杭州海康威视数字技术股份有限公司 图像增强方法及装置
JP2023140151A (ja) 2022-03-22 2023-10-04 キヤノン株式会社 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3095140B2 (ja) 1997-03-10 2000-10-03 三星電子株式会社 ブロック化効果の低減のための一次元信号適応フィルター及びフィルタリング方法
FI117533B (fi) * 2000-01-20 2006-11-15 Nokia Corp Menetelmä digitaalisten videokuvien suodattamiseksi
WO2002096117A1 (en) 2001-05-25 2002-11-28 Pace Soft Silicon Limited Deblocking block-based video data
US7227901B2 (en) * 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
US20050013494A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation In-loop deblocking filter
US7430337B2 (en) 2004-01-06 2008-09-30 Sharp Laboratories Of America, Inc. System and method for removing ringing artifacts
US20050243914A1 (en) * 2004-04-29 2005-11-03 Do-Kyoung Kwon Adaptive de-blocking filtering apparatus and method for mpeg video decoder
US7539248B2 (en) * 2004-04-29 2009-05-26 Mediatek Incorporation Adaptive de-blocking filtering apparatus and method for MPEG video decoder
US7430336B2 (en) * 2004-05-06 2008-09-30 Qualcomm Incorporated Method and apparatus for image enhancement for low bit rate video compression
NO322722B1 (no) * 2004-10-13 2006-12-04 Tandberg Telecom As Fremgangsmate for videokoding gjennom reduksjon av blokkartefakter
JP4605052B2 (ja) * 2006-03-03 2011-01-05 日本電気株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、フィルタ装置及びプログラム
US8111760B2 (en) * 2006-11-16 2012-02-07 Texas Instruments Incorporated Deblocking filters
US20080123750A1 (en) 2006-11-29 2008-05-29 Michael Bronstein Parallel deblocking filter for H.264 video codec
CN101527841B (zh) * 2008-03-06 2011-05-11 瑞昱半导体股份有限公司 去除图像区块效应的方法及装置
US8566515B2 (en) * 2009-01-12 2013-10-22 Maxim Integrated Products, Inc. Memory subsystem
US8451952B2 (en) * 2009-12-30 2013-05-28 Telefonaktiebolaget L M Ericsson (Publ) Iterative decoding and demodulation with feedback attenuation
AU2010345142B2 (en) * 2010-02-05 2015-01-22 Telefonaktiebolaget L M Ericsson (Publ) De-blocking filtering control
AU2011308202B2 (en) * 2010-09-28 2015-04-09 Samsung Electronics Co., Ltd. Adaptive filtering method and apparatus
CN101951519A (zh) * 2010-10-12 2011-01-19 西安电子科技大学 高速去块效应滤波方法
AU2011354786B2 (en) * 2011-01-14 2016-05-26 Telefonaktiebolaget Lm Ericsson (Publ) Deblocking filtering

Also Published As

Publication number Publication date
US20170302967A1 (en) 2017-10-19
HUE041988T2 (hu) 2019-06-28
MA34906B1 (fr) 2014-02-01
JP2014507863A (ja) 2014-03-27
AU2011354786A1 (en) 2013-08-01
BR112013015517B1 (pt) 2021-11-23
NZ612089A (en) 2015-07-31
JP6096342B2 (ja) 2017-03-15
SG191247A1 (en) 2013-07-31
KR20140043715A (ko) 2014-04-10
PH12013501275A1 (en) 2013-08-28
CN106101707A (zh) 2016-11-09
RU2013134265A (ru) 2015-02-20
TWI538521B (zh) 2016-06-11
JP5540163B2 (ja) 2014-07-02
JP2014197847A (ja) 2014-10-16
US9407912B2 (en) 2016-08-02
HUE027993T2 (en) 2016-11-28
EP2938075B1 (en) 2018-12-05
US8526509B2 (en) 2013-09-03
JP5889953B2 (ja) 2016-03-22
RU2550541C2 (ru) 2015-05-10
WO2012096610A1 (en) 2012-07-19
BR112013015517A2 (pt) 2016-09-20
MY183761A (en) 2021-03-11
PT2664141E (pt) 2015-10-21
HK1185483A1 (zh) 2014-02-14
US10142659B2 (en) 2018-11-27
EP2664141A1 (en) 2013-11-20
MX2013007960A (es) 2013-08-01
TW201234858A (en) 2012-08-16
CN103299626B (zh) 2016-09-21
CA2824739A1 (en) 2012-07-19
PL2938075T3 (pl) 2019-05-31
EP2664141B1 (en) 2015-08-12
PL2664141T3 (pl) 2016-01-29
IL226929A (en) 2017-01-31
EP2938075A1 (en) 2015-10-28
AU2011354786B2 (en) 2016-05-26
US9743115B2 (en) 2017-08-22
CA2824739C (en) 2017-06-20
EP2664141A4 (en) 2013-12-11
US20130003865A1 (en) 2013-01-03
AP3890A (en) 2016-11-10
US20140050272A1 (en) 2014-02-20
CN106101707B (zh) 2019-04-19
KR101670116B1 (ko) 2016-10-27
CN103299626A (zh) 2013-09-11
JP2016129388A (ja) 2016-07-14
ES2714349T3 (es) 2019-05-28
US20160142739A1 (en) 2016-05-19
AP2013007049A0 (en) 2013-08-31
DK2664141T3 (en) 2015-08-31

Similar Documents

Publication Publication Date Title
ES2627285T3 (es) Control del filtrado de desbloqueo
AU2011354786B2 (en) Deblocking filtering
US9565436B2 (en) Method for filter control and a filtering control device
US9942574B2 (en) Deblocking filtering
CN103947208B (zh) 减少解块滤波器的方法及装置
US10575021B2 (en) Controlling deblocking filtering
HK1185483B (en) Deblocking filtering