ES2628070T3 - Procedimiento y dispositivo para proporcionar desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen - Google Patents
Procedimiento y dispositivo para proporcionar desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen Download PDFInfo
- Publication number
- ES2628070T3 ES2628070T3 ES12783599.9T ES12783599T ES2628070T3 ES 2628070 T3 ES2628070 T3 ES 2628070T3 ES 12783599 T ES12783599 T ES 12783599T ES 2628070 T3 ES2628070 T3 ES 2628070T3
- Authority
- ES
- Spain
- Prior art keywords
- class
- sample
- offset
- range
- samples
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000006073 displacement reaction Methods 0.000 title claims abstract description 60
- 238000001914 filtration Methods 0.000 claims abstract description 26
- 230000003044 adaptive effect Effects 0.000 claims abstract description 22
- 241000023320 Luma <angiosperm> Species 0.000 claims description 13
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 7
- 230000033001 locomotion Effects 0.000 description 68
- 230000008569 process Effects 0.000 description 43
- 239000013598 vector Substances 0.000 description 36
- 238000009826 distribution Methods 0.000 description 31
- 238000004422 calculation algorithm Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 13
- 238000011002 quantification Methods 0.000 description 13
- 230000002123 temporal effect Effects 0.000 description 10
- 238000012360 testing method Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000008030 elimination Effects 0.000 description 3
- 238000003379 elimination reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000001364 causal effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000706 filtrate Substances 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
- H04N19/895—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Systems (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Image Processing (AREA)
Abstract
Procedimiento para proporcionar desplazamientos de compensación para su utilización en la realización de filtrado de bucle de desplazamiento adaptativo de muestras (804) en codificación de vídeo de alta eficiencia sobre un conjunto de muestras reconstruidas de una imagen, teniendo cada muestra un valor de muestra, comprendiendo el procedimiento seleccionar, en base a un criterio de tasa-distorsión, un grupo de clases (814) entre una serie de grupos de clases predeterminados, teniendo cada uno de dichos grupos de clases predeterminados un intervalo y estando compuesto por una serie de clases, definiendo cada una un intervalo de valores de muestra dentro de dicho intervalo, clase en la que se pone una muestra si su valor de muestra está dentro del intervalo de la clase involucrada, e incluyendo los grupos de clases predeterminados grupos de clases que tienen respectivas posiciones de centro diferentes dentro de un intervalo completo de los valores de muestra; y asociar con cada clase del grupo de clases (814) seleccionado un desplazamiento de compensación para su aplicación al valor de la muestra de cada muestra de la clase involucrada, caracterizado por que dichas posiciones de centro respectivas diferentes incluyen posiciones de centro diferentes desde un centro de dicho intervalo completo.
Description
Procedimiento y dispositivo para proporcionar desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen
5
La presente invención se refiere a un procedimiento y a un dispositivo para proporcionar desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen. La invención se refiere, además, a un procedimiento y un dispositivo para codificar o descodificar una secuencia de imágenes digitales.
La invención se puede aplicar al sector del procesamiento digital de señales y, en particular, al sector de la 10 compresión de video que utiliza compensación del movimiento para reducir redundancias espaciales y temporales en los flujos de vídeo.
Muchos formatos de compresión de vídeo, tales como por ejemplo H.263, H.264, MPEG-1, MPEG-2, MPEG-4, SVC, utilizan la transformada de coseno discreta (DCT, discrete cosine transform) basada en bloques y compensación del 15 movimiento para eliminar redundancias espaciales y temporales. Estos se denominan a menudo formatos de vídeo predictivos. Cada cuadro o imagen de la señal de vídeo se divide en segmentos que son codificados y pueden ser descodificados de manera independiente. Un segmento es habitualmente una parte rectangular del cuadro, o varias en general, una parte de un cuadro o un cuadro completo. Además, cada segmento puede ser dividido en macrobloques (MB), y cada macrobloque se divide adicionalmente en bloques (MB), habitualmente bloques de 20 64x64, 32x32, 16x16 ú 8x8 píxeles.
En la codificación de vídeo de alta eficiencia (HEVC, High Efficiency Video Coding) se pueden utilizar bloques desde 64x64 hasta 4x4. La división se organiza según una estructura de árbol cuádruple en base a la unidad máxima de codificación (LCU, largest coding unit). Una LCU corresponde a un bloque cuadrado de 64x64. Si es necesario 25 dividir una LCU, un indicador de división indica que la LCU se divide en 4 bloques de 32x32. Del mismo modo, si es necesario dividir cualquiera de estos 4 bloques, el valor del indicador de división se pone a verdadero y el bloque de 32x32 se divide en 4 bloques de 16x16, etc. Cuando el valor del indicador de división se pone a falso, el bloque actual es una unidad de codificación CU. Una CU tiene un tamaño igual a 64x64, 32x32, 16x16 ú 8x8 píxeles.
30
Existen dos familias de modos de codificación para los bloques de codificación de una imagen: modos de codificación basados en predicción espacial, denominada predicción INTRA y modos de codificación basados en predicción temporal (INTER, Merge, Skip). En los modos de predicción tanto espacial como temporal, se calcula un residuo restando la predicción del bloque original.
35
Un bloque INTRA se predice, en general, mediante un proceso de predicción INTRA a partir de los píxeles codificados en su límite causal. En una predicción INTRA, se codifica una dirección de predicción.
La predicción temporal consiste en encontrar un cuadro de referencia, bien un cuadro anterior o un cuadro futuro de la secuencia de vídeo, una parte de imagen o área de referencia que es la más cercana al bloque a codificar. Esta 40 etapa es conocida habitualmente como estimación del movimiento. A continuación, se predice el bloque a codificar utilizando el área de referencia en una etapa denominada habitualmente como compensación del movimiento - se codifica la diferencia entre el bloque a codificar y la parte de referencia, junto con un elemento de información del movimiento relativo al vector de movimiento que indica el área de referencia a utilizar para la compensación del movimiento. En la predicción temporal, se codifica por lo menos un vector de movimiento. 45
Para reducir aún más el coste de codificar la información de movimiento, en lugar de codificar directamente un vector de movimiento, suponiendo que el movimiento es homogéneo, el vector de movimiento se puede codificar en términos de una diferencia entre el vector de movimiento y un predictor del vector de movimiento, calculado habitualmente a partir de uno o varios vectores de movimiento de los bloques que rodean el bloque a codificar. 50
En H.264, por ejemplo, los vectores de movimiento se codifican con respecto a un predictor promedio calculado a partir de los vectores de movimiento situados en un entorno causal del bloque a codificar, por ejemplo, a partir de los tres bloques situados por encima y a la izquierda del bloque a codificar. Únicamente la diferencia, denominada como vector de movimiento residual, entre el predictor promedio y el vector de movimiento del bloque actual, es codificada 55 en el flujo de bits para reducir el coste de la codificación.
La codificación que utiliza los vectores de movimiento residuales ahorra algo de tasa de bits, pero necesita que el descodificador realice el mismo cálculo del predictor del vector de movimiento para descodificar el valor del vector de movimiento de un bloque a descodificar. 60
Ambos procesos de codificación y descodificación pueden implicar un proceso de descodificación de una imagen codificada. Este proceso se lleva a cabo habitualmente en el lado del codificador para el propósito de la estimación del movimiento futuro, lo que permite que un codificador y un descodificador correspondiente tengan los mismos cuadros de referencia. 65
Para reconstruir el cuadro codificado, el residuo se somete a cuantificación inversa y a la transformada inversa para proporcionar el residuo “descodificado” en el dominio de píxeles. A continuación se filtra la primera reconstrucción mediante uno o varios tipos de procesos de filtrado posterior. Estos filtros posteriores se aplican al cuadro reconstruido en el lado del codificador y del descodificador para que se utilice el mismo cuadro de referencia en ambos lados. El objetivo de este filtrado posterior es eliminar los artefactos de compresión. Por ejemplo, H.264/AVC 5 utiliza un filtro anti-efecto bloque. Este filtro puede eliminar los artefactos de efecto bloque debido a la cuantificación DCT del residuo y a la compensación del movimiento de los bloques. En el estándar HEVC actual se utilizan 3 tipos de filtros de bucle: filtro anti-efecto bloque, desplazamiento adaptativo de muestras (SAO, sample adaptive offset) y filtro de bucle adaptativo (ALF, adaptive loop filter).
10
La figura 1 es un diagrama de flujo que muestra las etapas del proceso de filtrado de bucle de una implementación de HEVC conocida. En una etapa inicial -101-, el codificador o descodificador genera la reconstrucción de todo el cuadro. A continuación, en la etapa -102-, se aplica un filtro anti-efecto bloque a esta primera reconstrucción para generar una reconstrucción sin bloques -103-. El objetivo del filtro anti-efecto bloque es eliminar los artefactos de bloque generados por la cuantificación de residuos y la compensación del movimiento de bloques o predicción de 15 bloques INTRA. Estos artefactos son visualmente importantes a tasas de bits bajas. El filtro anti-efecto bloque funciona para suavizar los límites de los bloques según las características de dos bloques contiguos. Se tienen en cuenta el modo de codificación de cada bloque, los parámetros de cuantificación utilizados para la codificación de residuos y las diferencias de píxeles contiguos en el límite. Se aplica el mismo criterio/clasificación para todos los cuadros y no se transmiten datos adicionales. El filtro anti-efecto bloque mejora la calidad visual del cuadro actual 20 eliminando los artefactos de efecto bloque y mejora asimismo la estimación del movimiento y la compensación del movimiento para los siguientes cuadros. De hecho, se eliminan las altas frecuencias del artefacto de bloque y, de este modo, no es necesario compensar estas altas frecuencias con la textura residual de los siguientes cuadros.
Después del filtro anti-efecto bloque, se filtra la reconstrucción sin bloques mediante un filtro de bucle de 25 desplazamiento adaptativo de muestras (SAO) en la etapa -104-. El cuadro resultante -105- es filtrado a continuación con un filtro de bucle adaptativo (ALF) en la etapa -106- para generar el cuadro reconstruido -107- que se mostrará y utilizará como un cuadro de referencia para los siguientes cuadros Inter.
El objetivo del filtro de bucle del SAO y del ALF es mejorar la reconstrucción del cuadro enviando datos adicionales a 30 diferencia de un filtro anti-efecto bloque en el que no se transmite ninguna información.
El principio del filtro de bucle de SAO es clasificar cada píxel en una clase y añadir el mismo valor de desplazamiento al valor de píxel respectivo de cada píxel de la clase. Por lo tanto, se transmite un desplazamiento para cada clase. El filtrado de bucle de SAO proporciona dos tipos de clasificación para un área del cuadro: un 35 desplazamiento de borde y un desplazamiento de banda.
La clasificación de desplazamiento de borde implica determinar una clase para cada píxel comparando su valor de píxel correspondiente con los valores de píxel de dos píxeles contiguos. Además, los dos píxeles contiguos dependen de un parámetro que indica la dirección de los 2 píxeles contiguos. Estas direcciones son de 0 grados 40 (dirección horizontal), de 45 grados (dirección diagonal), de 90 grados (dirección vertical) y de 135 grados (segunda dirección diagonal). En adelante, estas direcciones son denominadas “tipos” de clasificación de desplazamientos de borde.
El segundo tipo de clasificación es una clasificación de desplazamiento de banda que depende del valor de píxel. 45 Una clase en desplazamiento de banda del SAO corresponde a un intervalo de valores de píxel. Por lo tanto, se añade el mismo desplazamiento a todos los píxeles que tienen un valor de píxel dentro de un intervalo determinado de valores de píxel.
Para que sea más adaptativo al contenido del cuadro, se ha propuesto aplicar el filtrado de SAO en base a una 50 estructura de árbol cuádruple para codificar el SAO. Por consiguiente, el área del cuadro que corresponde a un nodo hoja del árbol cuádruple puede o puede no ser filtrado mediante el SAO, de tal manera que únicamente se filtran algunas áreas. Además, cuando se activa el SAO, solamente se utiliza una clasificación de SAO: el desplazamiento de borde o el desplazamiento de banda según los parámetros relacionados transmitidos para cada clasificación. Finalmente, para cada nodo hoja de SAO, se transmiten la clasificación de SAO así como sus parámetros y los 55 desplazamientos de todas las clases.
La principal ventaja del árbol cuádruple es seguir eficientemente las propiedades locales de la señal. No obstante, esto requiere una codificación dedicada en el flujo de bits. También se puede contemplar otra solución que sustituye la codificación basada en árbol cuádruple de los parámetros de SAO por una codificación a nivel de LCU. 60
Una imagen de los datos de vídeo a codificar se puede proporcionar como un conjunto de matrices bidimensionales (también conocidas como canales de color) de los valores de muestra, de las que cada entrada representa la intensidad de un componente de color, tal como una medida del brillo luma y las variaciones de color croma del color neutro de la escala de grises hacia azul o rojo (YUV) o como una medida de la intensidad de los componentes de la 65 luz rojo, verde o azul (RGB). Un modelo YUV define un espacio de color en términos de un componente de luma (Y)
y dos de crominancia (UV). En general, Y representa el componente de luma (brillo) y U y V son los componentes de crominancia (color) o croma.
El filtrado de SAO se aplica habitualmente de modo independiente sobre los componentes luma y ambos componentes croma U y V. 5
Una implementación conocida del desplazamiento de banda de SAO divide el intervalo de los valores de píxel en 32 intervalos predefinidos del mismo tamaño, tal como se representa en la figura 2. El valor mínimo del intervalo de los valores de píxel es sistemáticamente 0 y el valor máximo depende de la profundidad de bits de los valores de píxel según la siguiente relación Max = 2Profundidaddebits - 1. Por ejemplo, cuando la profundidad de bits es de 8 bits, el valor 10 máximo de un píxel puede ser 255. De este modo, el intervalo de los valores de píxel está entre 0 y 255. Para esta profundidad de bits de 8 bits, cada clase incluye un intervalo de 16 valores de píxel. Además, para un desplazamiento de banda de SAO se consideran 2 grupos de clases. El primero contiene 16 clases sucesivas en el centro del intervalo de los valores de píxel, tal como se representan en color gris en la figura 2. El segundo grupo contiene asimismo 16 clases pero en ambos extremos del intervalo de valores de píxel, tal como se representa 15 mediante sombreado en la figura 2. Para el desplazamiento de banda de SAO de un área del cuadro, el grupo utilizado para la clasificación y los 16 desplazamientos son introducidos en el flujo de bits.
La figura 3 es un diagrama de flujo que muestra las etapas de un procedimiento para seleccionar desplazamientos en un codificador para un área del cuadro actual -303-. El área del cuadro contiene N píxeles. En una etapa inicial 20 -301-, las variables Sumj y SumNbPixj se fijan a un valor cero para cada uno de los 16 intervalos. j indica el intervalo o número de clase actual. Sumj indica la suma de la diferencia entre el valor de píxel en el intervalo j y el valor de sus píxeles originales correspondientes. SumNbPixj indica el número de píxeles en el intervalo j.
En la etapa -302-, la variable de contador i se fija al valor cero. A continuación, en la etapa -304- se extrae el primer 25 píxel del área del cuadro -303-. Se supone que el grupo de SAO actual que está siendo procesado es conocido (primero o segundo según se representan en la figura 2). Si se determina en la etapa -305- que el valor de píxel Pi no está en el grupo de SAO actual, entonces el valor de la variable de contador i se incrementa en la etapa -308- para clasificar los píxeles posteriores del área del cuadro -303-. De lo contrario, si se determina en la etapa -305- que el valor de píxel Pi está en el grupo de SAO actual, se encuentra en la etapa -306- el número de intervalo (o 30 número de clase) j correspondiente al valor de Pi. En la etapa -307- posterior, se incrementa la variable SumNbPixj correspondiente y la diferencia entre Pi y su valor original Piorg se añade a Sumj. En la etapa siguiente, se incrementa la variable de contador i para aplicar la clasificación a los demás píxeles del área del cuadro -303-. En la etapa -309- se determina si se han clasificado o no todos los píxeles N del área del cuadro -303- (es decir, si i=N), en caso afirmativo, se calcula un Desplazamientoj para cada clase en la etapa -310- para generar una tabla de 35 desplazamientos -311- que presenta un desplazamiento para cada clase j como el resultado final del algoritmo de selección del desplazamiento. Este desplazamiento se calcula como el promedio de la diferencia entre los valores de píxel de los píxeles de la clase j y sus respectivos valores de píxel originales. El Desplazamientoj para la clase j se determina mediante la siguiente ecuación:
40
(1)
La figura 4 es un diagrama de flujo que muestra las etapas de un proceso de descodificación que aplica los desplazamientos de banda de SAO a los correspondientes grupos de clases. Este proceso se puede aplicar 45 asimismo en el lado del codificador para generar el cuadro de referencia utilizado para la estimación de movimiento y la compensación de los siguientes cuadros.
Una etapa inicial -401- del proceso implica la descodificación de los valores de desplazamiento para cada clase de valores de píxel con el fin de generar una tabla de desplazamientos -402-. En el lado del codificador, la tabla de 50 desplazamientos -402- es el resultado del algoritmo de selección mostrado en la figura 3. Por lo tanto, en el lado del codificador, la etapa -401- se sustituye por el algoritmo de selección de desplazamiento de la figura 3.
En la etapa -403- se pone a 0 una variable de contador i. El píxel Pi se extrae en la etapa -405- de un área del cuadro -404- que contiene N píxeles. En la etapa -406- se determina si el píxel Pi pertenece o no al grupo de clases 55 actual. Si se determina que el píxel Pi está en el grupo de clases actual, se identifica el número de clase j relacionado y en la etapa -409- se extrae el valor de desplazamiento Desplazamientoj relacionado a partir de la tabla de desplazamientos -402-. El valor de desplazamiento extraído Desplazamientoj se suma a continuación al valor de píxel de Pi en la etapa -410- para generar el valor de píxel filtrado P’i en la etapa -411-. El valor de píxel filtrado se introduce a continuación en el área del cuadro filtrado -415- en la etapa -412- en el píxel correspondiente. 60
Si en la etapa -406- se determina que el píxel Pi no está en el grupo de desplazamientos de banda de SAO, a continuación en la etapa -412- el valor de píxel de Pi se pone sin filtrado en el área del cuadro filtrado -415-. Después de la etapa -412-, la variable de contador i se incrementa para filtrar, en caso necesario, los siguientes píxeles de el área del cuadro actual -404-. Después de que se ha determinado en la etapa -414- que se han procesado todos los 65
píxeles N de el área del cuadro (es decir, i=N), se reconstruye el área del cuadro filtrado -415- y se puede añadir al cuadro reconstruido de SAO (véase el cuadro -105- de la figura 1).
El documento de CHIH-MING FU y otros: “Desplazamiento adaptativo de muestras para HEVC” (“Sample adaptive offset for HEVC”), Procesamiento de señales multimedia (MMSP), 2011 IEEE 13º taller internacional, IEEE, 17 de 5 octubre de 2011, páginas 1 a 5, XP032027547, identificador DOI: 10.1109/MMSP.2011.6093807, ISBN: 978-1-4577-1432-0, da a conocer un procedimiento para proporcionar desplazamientos de compensación para su utilización en filtrado de bucle de desplazamiento adaptativo de muestras en codificación de vídeo de alta eficiencia sobre un conjunto de muestras reconstruidas de una imagen, teniendo cada muestra un valor de muestra, comprendiendo el procedimiento 10
seleccionar, en base a un criterio de tasa-distorsión, un grupo de clases entre una serie de grupos predeterminados de clases, teniendo cada uno de dichos grupos de clases predeterminados un intervalo y estando compuesto por una serie de clases, definiendo cada una un intervalo de valores de muestra dentro de dicho intervalo, clase en la que se pone una muestra si su valor de muestra está dentro del intervalo de la clase involucrada, e incluyendo los 15 grupos predeterminados de clases grupos de clases que tienen diferentes posiciones de centro respectivas dentro de un intervalo completo de valores de muestra; y
asociar con cada clase del grupo de clases seleccionado un desplazamiento de compensación para su aplicación al valor de la muestra de cada muestra de la clase involucrada. 20
Un inconveniente de los procesos conocidos para la selección de las compensaciones es que no están adaptados a variaciones diferentes en el contenido de píxeles de la imagen y a tipos diferentes de componentes de los píxeles de la imagen.
25
La presente invención se ha concebido para abordar uno o varios de los problemas anteriores.
Según un primer aspecto de la presente invención, se da a conocer un procedimiento para proporcionar desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen, según se define en cualquiera de las reivindicaciones 1 a 3. 30
Según un segundo aspecto de la presente invención, se da a conocer un procedimiento de codificación de una imagen compuesta por una serie de muestras, según se define en cualquiera de las reivindicaciones 4 a 8. Según un tercer aspecto de la presente invención se da a conocer un procedimiento de descodificación de una imagen compuesta por una serie de muestras, según se define en cualquiera de las reivindicaciones 9 a 11. Según un 35 cuarto aspecto de la presente invención se da a conocer una señal que transporta un conjunto de datos de información, según se define en cualquiera de las reivindicaciones 14 a 16.
Según un quinto aspecto de la presente invención se da a conocer un dispositivo para proporcionar desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen, según se define en la reivindicación 40 17.
Según un sexto aspecto de la presente invención se da a conocer un dispositivo de codificación para codificar una imagen compuesta por una serie de muestras, según se define en la reivindicación 18.
45
Según un séptimo aspecto de la presente invención se da a conocer un dispositivo para descodificar una imagen compuesta por una serie de muestras, según se define en la reivindicación 19.
En el contexto de la presente invención una muestra puede corresponder a un único píxel, con un valor de muestra correspondiente al respectivo valor de píxel. Alternativamente, una muestra puede comprender una serie de píxeles, 50 y el valor de la muestra puede corresponder a un valor de píxel determinado a partir de los valores de píxel de la serie de píxeles.
Por lo menos partes de los procedimientos según la invención pueden ser implementados por ordenador. Por consiguiente, la presente invención puede adoptar la forma de una realización completamente de hardware, una 55 realización completamente de software (incluyendo firmware, software residente, microcódigo, etc.) o una realización que combina aspectos de software y de hardware que pueden ser todos denominados, en general, en este documento como un “circuito”, “módulo” o “sistema”. Además, la presente invención puede adoptar la forma de un producto de programa informático incorporado en cualquier medio de expresión tangible que tenga código de programa utilizable por ordenador incorporado en el medio. 60
Dado que la presente invención se puede implementar en software, la presente invención se puede realizar como código legible por ordenador a proporcionar a un aparato programable en cualquier medio portador adecuado. Un medio portador tangible puede comprender un medio de almacenamiento, tal como un disquete, un CD-ROM, una unidad de disco duro, un dispositivo de cinta magnética o un dispositivo de memoria de estado sólido y similares. Un 65 medio portador transitorio puede incluir una señal, tal como una señal eléctrica, una señal electrónica, una señal
óptica, una señal acústica, una señal magnética o una señal electromagnética, por ejemplo, una señal de microondas o de radiofrecuencia.
De este modo, según un octavo aspecto de la presente invención se da a conocer un producto de programa informático, según se define en la reivindicación 12. 5
Según un noveno aspecto de la presente invención se da a conocer un medio de almacenamiento legible por ordenador, según se define en la reivindicación 13.
A continuación se describirán las realizaciones de la invención, únicamente a modo de ejemplo, y haciendo 10 referencia a los siguientes dibujos en los que:
la figura 1 es un diagrama de flujo que muestra las etapas de un proceso de filtrado de bucle de la técnica anterior;
la figura 2 muestra gráficamente una clasificación del desplazamiento de banda adaptativo de las muestras de un 15 proceso de HEVC de la técnica anterior;
la figura 3 es un diagrama de flujo que muestra las etapas de un proceso para determinar los desplazamientos de compensación para un desplazamiento de banda de SAO de la HEVC;
20
la figura 4 es un diagrama de flujo que muestra las etapas de un proceso de filtrado de desplazamiento de banda de SAO de la HEVC;
la figura 5 es un diagrama de bloques que muestra, de modo esquemático, un sistema de comunicación de datos en el que se pueden implementar una o varias realizaciones de la invención; 25
la figura 6 es un diagrama de bloques que muestra los componentes de un dispositivo de procesamiento en el que se pueden implementar una o varias realizaciones de la invención;
la figura 7 es un diagrama de flujo que muestra las etapas de un procedimiento de codificación, según las 30 realizaciones de la invención;
la figura 8 es un diagrama de flujo que muestra las etapas de un proceso de filtrado de bucle de acuerdo con una o varias realizaciones de la invención;
35
la figura 9 es un diagrama de flujo que muestra las etapas de un procedimiento de descodificación, según las realizaciones de la invención;
la figura 10 es un diagrama de flujo que muestra las etapas de un procedimiento para determinar la clasificación del desplazamiento de banda de SAO que no incorpora la invención; 40
la figura 11 es un diagrama de flujo que muestra las etapas para determinar una clasificación equiprobable del procedimiento de la figura 10;
la figura 12 es un diagrama de flujo que muestra las etapas para determinar una clasificación equiprobable como 45 una alternativa a las etapas de la figura 11;
la figura 13 muestra varios tamaños del intervalo útil para la clasificación, según una realización de la invención;
la figura 14 muestra varios tamaños de clases para la clasificación, según una realización de la invención; 50
la figura 15 muestra varios tamaños de las clases en un intervalo útil para la clasificación, según una realización de la invención;
la figura 16 muestra varias posiciones del centro de un intervalo útil de un primer grupo para la clasificación, según 55 una realización de la invención;
la figura 17 muestra varias posiciones del centro de un intervalo útil del segundo grupo para la clasificación, según una realización de la invención; y
60
la figura 18 muestra la selección de tasa-distorsión de la clasificación de parámetros, según una realización de la invención.
Las figuras 19a y 19b muestran las posibles posiciones del intervalo útil dentro del intervalo completo, según otra realización de la invención. 65
La figura 20A muestra un pseudocódigo aplicado en la técnica anterior para codificar los parámetros del SAO a nivel de la LCU.
La figura 20B muestra un pseudocódigo mejorado según una realización de la invención, para codificar los parámetros del SAO a nivel de la LCU. 5
La figura 21 es un diagrama de flujo correspondiente al pseudocódigo de la figura 20A.
La figura 22 es un diagrama de flujo correspondiente al pseudocódigo de la figura 20B.
10
La figura 23 es un diagrama de flujo para utilizar en la explicación de la codificación de los parámetros del SAO según otra realización de la presente invención.
La figura 24 muestra un pseudocódigo utilizado para codificar los parámetros del SAO según otra realización más de la presente invención. 15
La figura 25 es un diagrama de flujo correspondiente al pseudocódigo de la figura 24.
La figura 26 es un diagrama de flujo para utilizar en la explicación de la codificación de los parámetros del SAO según otra realización más de la presente invención. 20
La figura 5 muestra un sistema de comunicación de datos en el que se pueden implementar una o varias realizaciones de la invención. El sistema de comunicación de datos comprende un dispositivo de transmisión, en este caso un servidor -501-, que puede funcionar para transmitir paquetes de datos de un flujo de datos a un dispositivo receptor, en este caso un terminal cliente -502-, a través de una red de comunicación de datos -500-. La 25 red de comunicación de datos -500- puede ser una red de área amplia (WAN) o una red de área local (LAN). Dicha red puede ser, por ejemplo, una red inalámbrica (Wifi/802.11a o b o g), una red Ethernet, una red de internet o una red mixta compuesta por varias redes diferentes. En una realización determinada de la invención, el sistema de comunicación de datos puede ser un sistema de emisión de televisión digital en el que el servidor -501- envía el mismo contenido de datos a múltiples clientes. 30
El flujo de datos -504- proporcionado por el servidor -501- puede estar compuesto por datos multimedia que representan datos de vídeo y audio. Los flujos de datos de vídeo y audio puede ser capturados, en algunas realizaciones de la invención, por el servidor -501- utilizando un micrófono y una cámara respectivamente. En algunas realizaciones, los flujos de datos pueden estar almacenados en el servidor -501- o ser recibidos por el 35 servidor -501- desde otro proveedor de datos, o ser generados en el servidor -501-. El servidor -501- está dotado de un codificador para codificar flujos de vídeo y audio, en particular, para proporcionar un flujo de bits comprimido para su transmisión, que es una representación más compacta de los datos presentados como una entrada al codificador.
Para obtener una mejor relación entre la calidad de los datos transmitidos y la cantidad de datos transmitidos, la 40 compresión de los datos de vídeo puede ser, por ejemplo, según el formato HEVC o el formato H.264/AVC.
El cliente -502- recibe el flujo de bits transmitido y descodifica el flujo de bits reconstruido para reproducir las imágenes de vídeo en un dispositivo de visualización y los datos de audio mediante un altavoz.
45
Aunque en el ejemplo de la figura 5 se considera un escenario de transmisión, se apreciará que en algunas realizaciones de la invención, la comunicación de datos entre un codificador y un descodificador se puede llevar a cabo utilizando, por ejemplo, un dispositivo de almacenamiento multimedia, tal como un disco óptico.
En una o varias realizaciones de la invención, se transmite una imagen de vídeo con datos representativos de los 50 desplazamientos de compensación para su aplicación a los píxeles reconstruidos de la imagen con el fin de proporcionar píxeles filtrados en una imagen final.
La figura 6 muestra, de modo esquemático, un dispositivo de procesamiento -600- configurado para implementar, por lo menos, una realización de la presente invención. El dispositivo de procesamiento -600- puede ser un 55 dispositivo, tal como un microordenador, una estación de trabajo o un dispositivo portátil ligero. El dispositivo -600- comprende un bus de comunicaciones -613- conectado a:
- una unidad central de procesamiento -611-, tal como un microprocesador, denominada CPU;
60
- una memoria de sólo lectura -607-, denominada ROM, para almacenar programas informáticos para implementar la invención;
- una memoria de acceso aleatorio -612-, denominada RAM, para almacenar el código ejecutable del procedimiento de las realizaciones de la invención así como los registros adaptados para registrar las variables y parámetros 65 necesarios para implementar el procedimiento de codificación de una secuencia de imágenes digitales y/o el
procedimiento de descodificación de un flujo de bits según las realizaciones de la invención; y
- una interfaz de comunicaciones -602- conectada a una red de comunicaciones -603- sobre la que se transmiten o reciben los datos digitales a procesar.
5
Opcionalmente, el aparato -600- puede incluir asimismo los siguientes componentes:
- medios de almacenamiento de datos -604-, tales como un disco duro, para almacenar programas informáticos para implementar los procedimientos de una o varias realizaciones de la invención y los datos utilizados o generados durante la implementación de una o varias realizaciones de la invención; 10
- una unidad de disco -605- para un disco -606-, estando adaptada la unidad de disco para leer datos del disco -606- o escribir datos en dicho disco;
- una pantalla -609- para visualizar datos y/o servir como interfaz gráfica con el usuario, por medio de un teclado 15 -610- o cualesquiera otros medios de señalización.
El aparato -600- puede estar conectado a varios periféricos, tales como, por ejemplo, una cámara digital -620- o un micrófono -608-, estando conectado cada uno a una tarjeta de entrada/salida (no mostrada) para suministrar datos multimedia al aparato -600-. 20
El bus de comunicaciones proporciona comunicación e interoperabilidad entre los diversos elementos incluidos en el aparato -600- o conectados al mismo. La representación del bus no es limitativa y, en particular, la unidad central de procesamiento puede funcionar para comunicar instrucciones a cualquier elemento del aparato -600-, directamente o por medio de otro elemento del aparato -600-. 25
El disco -606- puede ser sustituido por cualquier medio de información, tal como, por ejemplo, un disco compacto (CD-ROM), regrabable o no, un disco ZIP o una tarjeta de memoria y, en términos generales, por medios de almacenamiento de la información que pueden ser leídos por un microordenador o por un microprocesador, integrados o no en el aparato, posiblemente extraíbles y adaptados para almacenar uno o varios programas cuya 30 ejecución permite el procedimiento de codificación de una secuencia de imágenes digitales y/o el procedimiento de descodificación de un flujo de bits, según la invención a implementar.
El código ejecutable puede estar almacenado bien en la memoria de sólo lectura -607-, en el disco duro -604- o en un medio digital extraíble, tal como, por ejemplo, un disco -606-, tal como se ha descrito anteriormente. Según una 35 variante, el código ejecutable de los programas puede ser recibido por medio de la red de comunicación -603-, mediante la interfaz -602-, para ser almacenado en uno de los medios de almacenamiento del aparato -600- antes de ser ejecutado, tal como el disco duro -604-.
La unidad central de procesamiento -611- está adaptada para controlar y dirigir la ejecución de las instrucciones o 40 porciones del código de software del programa o programas según la invención, instrucciones que están almacenadas en uno de los medios de almacenamiento mencionados anteriormente. En el encendido, el programa o programas que están almacenados en una memoria no volátil, por ejemplo, en el disco duro -604- o en la memoria de sólo lectura -607-, son transferidos a la memoria de acceso aleatorio -612-, que contiene a continuación el código ejecutable del programa o programas, así como los registros para almacenar las variables y parámetros necesarios 45 para implementar la invención.
En esta realización, el aparato es un aparato programable que utiliza software para implementar la invención. No obstante, alternativamente, la presente invención puede ser implementada en hardware (por ejemplo, en forma de circuito integrado de aplicación específica o ASIC). 50
La figura 7 muestra un diagrama de bloques de un codificador según, por lo menos, una realización de la invención. El codificador está representado por módulos conectados, estando adaptado cada módulo para implementar, por ejemplo, en forma de instrucciones de programación a ejecutar por la CPU -611- del dispositivo -600-, por lo menos una etapa correspondiente de un procedimiento que implementa, por lo menos, una realización de codificación de 55 una imagen de una secuencia de imágenes según una o varias realizaciones de la invención.
Una secuencia original de las imágenes digitales i0 a in -701- es recibida como entrada en el codificador -70-. Cada imagen digital está representada por un conjunto de muestras, conocidas como píxeles.
60
Un flujo de bits -710- es emitido por el codificador -70- después de la implementación del proceso de codificación. El flujo de bits -710- comprende una serie de unidades o segmentos de codificación, comprendiendo cada segmento una cabecera del segmento para transmitir los valores de codificación de los parámetros de codificación utilizados para codificar el segmento y un cuerpo del segmento, que comprende los datos de vídeo codificados.
65
Las imágenes digitales i0 a in -701- de entrada son divididas en bloques de píxeles por el módulo -702-. Los bloques
corresponden a porciones de la imagen y pueden tener tamaños variables (por ejemplo, 4x4, 8x8, 16x16, 32x32, 64x64 píxeles). Se selecciona un modo de codificación para cada bloque de entrada. Se proporcionan dos familias de modos de codificación: modos de codificación basados en codificación de predicción espacial (predicción INTRA) y modos de codificación basados en predicción temporal (codificación Inter, Merge, SKIP). Se prueban los posibles modos de codificación. 5
El módulo -703- implementa un proceso de predicción INTRA, en el que se predice el bloque a codificar determinado mediante un predictor calculado a partir de los píxeles del entorno de dicho bloque a codificar. Se codifica una indicación del predictor INTRA seleccionado y la diferencia entre el bloque determinado y su predictor, para proporcionar un residuo si se selecciona la codificación INTRA. 10
La predicción temporal se implementa mediante un módulo -704- de estimación de movimiento y un módulo -705- de compensación del movimiento. En primer lugar se selecciona una imagen de referencia de entre un conjunto de imágenes de referencia -716-, y se selecciona mediante el módulo -704- de estimación de movimiento una parte de la imagen de referencia, denominada asimismo parte de imagen o área de referencia, que es el área más próxima al 15 bloque determinado a codificar. El módulo -705- de compensación del movimiento predice a continuación el bloque a codificar utilizando el área seleccionada. La diferencia entre el área de referencia seleccionada y el bloque determinado, denominada asimismo bloque residual, es calculada por el módulo -705- de compensación del movimiento. El área de referencia seleccionada es indicada por un vector de movimiento.
20
De este modo, en ambos casos (predicción espacial y temporal), se calcula un residuo restando la predicción del bloque original.
En la predicción INTRA implementada por el módulo -703-, se codifica una dirección de predicción. En la predicción temporal, se codifica, por lo menos, un vector de movimiento. 25
La información relativa al vector de movimiento y el bloque residual es codificada si se selecciona la predicción Inter. Para reducir más la tasa de bits, suponiendo que el movimiento es homogéneo, se codifica el vector de movimiento mediante su diferencia con respecto a un predictor del vector de movimiento. Los predictores del vector de movimiento de un conjunto de predictores de la información de movimiento se obtienen a partir del campo -718- de 30 vectores de movimiento mediante un módulo -717- de codificación y predicción del vector de movimiento.
El codificador -70- comprende, además, un módulo de selección -706- para seleccionar el modo de codificación aplicando un criterio de coste de codificación, tal como un criterio de tasa-distorsión. Para reducir más las redundancias se aplica una transformada (tal como una DCT) mediante el módulo de transformación -707- al bloque 35 residual, los datos transformados obtenidos son cuantificados a continuación por el módulo de cuantificación -708- y sometidos a codificación entrópica mediante el módulo de codificación entrópica -709-. Finalmente, el bloque residual codificado del bloque actual que está siendo codificado se introduce en el flujo de bits -710-.
El codificador -70- lleva a cabo asimismo la descodificación de la imagen codificada para producir una imagen de 40 referencia para la estimación del movimiento de las imágenes posteriores. Esto permite que el codificador y el descodificador que reciben el flujo de bits tengan los mismos cuadros de referencia. El módulo -711- de cuantificación inversa lleva a cabo la cuantificación inversa de los datos cuantificados, seguida por una transformada inversa mediante el módulo de transformación inversa -712-. El módulo de predicción INTRA inversa -713- utiliza la información de la predicción para determinar qué predictor utilizar para un bloque determinado y el módulo de 45 compensación del movimiento inversa -714- suma en realidad el residuo obtenido por el módulo -712- al área de referencia obtenida a partir del conjunto de imágenes de referencia -716-.
A continuación se aplica el filtrado posterior mediante el módulo -715- para filtrar el cuadro de píxeles reconstruido. En las realizaciones de la invención, se utiliza un filtro de bucle de SAO en el que se añaden los desplazamientos de 50 compensación a los valores de píxel de los píxeles reconstruidos de la imagen reconstruida.
La figura 8 es un diagrama de flujo que muestra las etapas del proceso de filtrado de bucle según, por lo menos, una realización de la invención. En una etapa inicial -801-, el codificador genera la reconstrucción de todo el cuadro. A continuación, en la etapa -802- se aplica un filtro anti-efecto bloque a esta primera reconstrucción para generar 55 una reconstrucción sin bloques -803-. El objetivo del filtro anti-efecto bloque es eliminar los artefactos de bloque generados por la cuantificación de residuos y la compensación del movimiento de bloques o la predicción INTRA de bloques. Estos artefactos son visualmente importantes a bajas tasas de bits. El filtro anti-efecto bloque funciona para suavizar los límites de los bloques según las características de los dos bloques contiguos. Se tienen en cuenta el modo de codificación de cada bloque, los parámetros de cuantificación utilizados para la codificación de residuos y 60 las diferencias de los píxeles contiguos en el límite. Se aplica el mismo criterio/clasificación a todos los cuadros y no se transmiten datos adicionales. El filtro anti-efecto bloque mejora la calidad visual del cuadro actual eliminando los artefactos de efecto bloque y mejora asimismo la estimación del movimiento y la compensación del movimiento para los siguientes cuadros. De hecho, se eliminan las altas frecuencias del artefacto de bloques, y por lo tanto estas altas frecuencias no necesitan ser compensadas con la textura residual de los siguientes cuadros. 65
Después del filtro anti-efecto bloque, se filtra la reconstrucción sin bloques mediante un filtro de bucle de desplazamiento adaptativo de muestras (SAO) en la etapa -804- en base a una clasificación de píxeles -814- determinada según las realizaciones de la invención. El cuadro resultante -805- puede ser filtrado a continuación con un filtro de bucle adaptativo (ALF) en la etapa -806- para generar el cuadro reconstruido -807- que se presentará y se utilizará como un cuadro de referencia para los siguientes cuadros Inter. 5
En la etapa -804- cada píxel del área del cuadro se clasifica en una clase de la clasificación determinada según su valor de píxel. Una clase corresponde a un intervalo determinado de valores de píxel. El mismo valor de desplazamiento de compensación se añade al valor de píxel de todos los píxeles que tienen un valor de píxel dentro del intervalo determinado de valores de píxel. 10
La determinación de la clasificación de los píxeles para el filtrado de desplazamiento adaptativo de muestras se explicará en más detalle a continuación haciendo referencia a cualquiera de las figuras 10 a 17.
La figura 9 muestra un diagrama de bloques de un descodificador -90- que puede ser utilizado para recibir datos 15 desde un codificador según una realización de la invención. El descodificador es representado mediante módulos conectados, estando adaptado cada módulo para implementar, por ejemplo en forma de instrucciones de programa a ejecutar por la CPU -611- del dispositivo -600-, una etapa correspondiente de un procedimiento implementado por el descodificador -90-.
20
El descodificador -90- recibe un flujo de bits -901- que comprende unidades de codificación, estando compuesta cada una de ellas por una cabecera que contiene información sobre los parámetros de codificación y un cuerpo que contiene los datos de vídeo codificados. Tal como se ha explicado con respecto a la figura 7, los datos de vídeo codificados son sometidos a codificación entrópica y se codifican los índices de los predictores del vector de movimiento, para un bloque determinado, en un número predeterminado de bits. Los datos de vídeo codificados 25 recibidos se descodifican entrópicamente mediante el módulo -902-. Los datos de residuo son descuantificados a continuación por el módulo -903- y, a continuación, se aplica una transformada inversa mediante el módulo -904- para obtener los valores de píxel.
Los datos de modo que indican el modo de codificación también son descodificados entrópicamente y en base al 30 modo, se lleva a cabo una descodificación de tipo INTRA o una descodificación de tipo INTER en los bloques codificados de los datos de la imagen.
En el caso del modo INTRA, se determina un predictor INTRA mediante el módulo de predicción INTRA inversa -905- en base al modo de predicción INTRA especificado en el flujo de bits. 35
Si el modo es INTER, se extrae la información de predicción del movimiento del flujo de bits para encontrar el área de referencia utilizada por el codificador. La información de la predicción del movimiento está compuesta por el índice del cuadro de referencia y el residuo del vector de movimiento. El predictor del vector de movimiento se suma al residuo del vector de movimiento para obtener el vector de movimiento mediante el módulo de descodificación del 40 vector de movimiento -910-.
El módulo de descodificación del vector de movimiento -910- aplica la descodificación del vector de movimiento para cada bloque actual codificado por la predicción de movimiento. Una vez se ha obtenido un índice del predictor del vector de movimiento para el bloque actual, se puede descodificar el valor real del vector de movimiento asociado 45 con el bloque actual y ser utilizado para aplicar la compensación del movimiento inversa mediante el módulo -906-. La parte de la imagen de referencia indicada por el vector de movimiento descodificado se extrae de una imagen de referencia -908- para aplicar la compensación inversa de movimiento -906-. Los datos -911- del campo del vector de movimiento se actualizan con el vector de movimiento descodificado para ser utilizados por la predicción inversa de los siguientes vectores de movimiento descodificados. 50
Finalmente, se obtiene un bloque descodificado. Se aplica un filtrado posterior mediante el módulo de filtrado posterior -907- de manera similar al módulo de filtrado posterior -715- aplicado al codificador, tal como se describe haciendo referencia a la figura 7. Finalmente, el descodificador -90- proporciona una señal de vídeo descodificada -909-. 55
La figura 10 es un diagrama de flujo que muestra las etapas de un procedimiento -que no incorpora la presente invención- para clasificar los píxeles reconstruidos de una imagen para la aplicación de desplazamientos de compensación. En este procedimiento, las clases para la clasificación de los píxeles reconstruidos del área del cuadro según su valor de píxel son determinadas en base a la distribución estadística de los valores de píxel 60 reconstruidos del área del cuadro. El centro, el intervalo útil y la cantidad de píxeles por clase se determinan en base a la distribución de los valores de píxel. En este procedimiento, el descodificador puede aplicar exactamente el mismo proceso que el descodificador para la segmentación de la distribución.
En una etapa inicial del proceso, el módulo -1002- escanea un área del cuadro -1001- actual para determinar la 65 distribución estadística de los valores de píxel del área del cuadro -1001- y para generar un histograma -1003-
correspondiente. En una implementación particular, este proceso implica la actualización de una tabla que contiene el número de píxeles para cada valor de píxel, es decir, para cada valor de píxel se tabula el número de píxeles que tienen dicho valor de píxel. La tabla contiene un número de celdas igual a MAX, el valor de píxel máximo determinado según la expresión Max = 2Profundidaddebit-1, en base a la profundidad de bits de los píxeles.
5
El módulo -1004- determina a continuación el centro del histograma -1003- generado. El intervalo útil de los valores de píxel del histograma es determinado a continuación por el módulo -1006- según la distribución de los valores de píxel representados en el histograma -1003- y, en su caso, en base al centro del histograma. Finalmente, se determinan las clases equiprobables que definen los intervalos de los valores de píxel. De este modo, se proporciona una tabla -1009- que contiene el intervalo de los valores de píxel de cada clase o, alternativamente, una 10 tabla que contiene los valores de píxel de cada píxel. La determinación de las clases equiprobables puede depender de un número de clases -1000- predeterminado.
En una etapa -1004- se pueden utilizar varios algoritmos para determinar el centro del histograma -1003- generado. Por ejemplo, se pueden encontrar el valor mínimo MinHist y el valor máximo MaxHist del histograma. Para encontrar el 15 valor mínimo MinHist, las celdas del histograma Histk son escaneadas desde el valor de píxel 0 hasta la primera celda Histk del histograma distinta de 0. Y para encontrar MaxHist, se escanean las celdas en orden inverso (desde el valor de píxel máximo MAX hasta la primera celda del histograma Histk distinta de 0).
El centro del histograma CentroHist se calcula como sigue: 20
En un ejemplo alternativo, se considera que el centro del histograma es el centro medio ponderado de la distribución. Si se considera que el valor de la celda del histograma Histk es el número de píxeles que tienen el valor 25 k, CentroHist se calcula como sigue:
30
donde N es el número de píxeles en el área del cuadro actual.
En la etapa -1006-, una técnica potencial para determinar el intervalo útil del histograma generado es seleccionar 35 MinHist y MaxHist descritos anteriormente para ambos extremos del intervalo útil.
En otro ejemplo, el valor mínimo del histograma MinIntervalo se determina escaneando desde 0 hasta el primer Histk que tiene un valor superior a un umbral . Del mismo modo, MaxIntervalo se determina mediante el escaneado inverso desde el valor de píxel máximo MAX hasta el primer Histk que es superior a un umbral . El umbral puede ser un 40 valor predeterminado. Alternativamente, el umbral puede depender del número de píxeles del área del cuadro y/o del tipo de componente de la señal de entrada (croma y luma).
En otro ejemplo, se puede considerar que el número de clases es conocido en los lados del codificador y del descodificador. El número de clases de los valores de píxel pueden depender, por ejemplo, del número de píxeles 45 en el área del cuadro actual según cada componente (luma, croma U y V).
Para generar clases equiprobables, se define el número de píxeles NbPixIntervalo en el intervalo útil -1007-. El número de píxeles en el intervalo útil NbPixIntervalo se determina escaneando cada celda del histograma Histk desde k=MinIntervalo hasta k=MaxIntervalo. A continuación, se divide el número determinado de píxeles en el intervalo útil, 50 NbPixIntervalo, por el número de clases -1000- para determinar el número óptimo de píxeles en cada clase NbPixclases.
La figura 11 es un diagrama de flujo que muestra las etapas de un algoritmo para determinar las clases equiprobables del procedimiento de la figura 10. En una etapa inicial -1101-, el número de clases j se fija a 0 y el valor de píxel actual k se fija a MinIntervalo. Para una clasificación equiprobable, una clase se identifica por su intervalo 55 de los valores de píxel. De este modo, el número de clase j se identifica por su intervalo [Minj; Maxj] desde su valor mínimo de píxel Minj hasta su valor máximo de píxel Maxj.
En la etapa -1103-, el valor mínimo del píxel Minj de la clase actual con índice j se fija al valor de píxel actual k. A continuación, SumNbPixj se fija a 0 en la etapa -1104-. SumNbPixj corresponde al número de píxeles en el intervalo 60 j. A continuación, el número de píxeles que tienen el valor de píxel k (Histk) se suma a SumNbPixj en la etapa -1105-. En la etapa -1106- se determina si la suma del número de píxeles para la clase actual j SumNbPixj es superior o no al número de píxeles de las clases NbPixclases. Si no se satisface esta condición, el valor k se incrementa en la etapa -1107- y el número de píxeles Histk para el valor de píxel k se suma a SumNbPixj en la etapa -1105-. Si se determina que SumNbPixj > NbPixclases o si k alcanza el valor máximo del intervalo útil MaxIntervalo, el valor máximo para la clase 65
actual j es igual al valor actual de k en la etapa -1108-. En esta fase, se define la clase j - es decir, se ha determinado el intervalo [Minj; Maxj] de la clase j. La variable k se incrementa en la etapa -1109- para evitar obtener el mismo valor de píxel en más de una clase. Además, la variable j se incrementa asimismo en la etapa -1110- para definir el intervalo de los valores de píxel para la siguiente clase. Si la variable j es superior al número de clases NbPixclases, entonces se puede considerar que todas las clases se han definido en la etapa -1112-. 5
Como consecuencia el codificador determinará el valor de desplazamiento para cada clase j, tal como se describe en relación con la figura 3 y se transmite al descodificador. El codificador y el descodificador filtrarán el área del cuadro, tal como se describe haciendo referencia a la figura 4.
10
Se debe observar que en el algoritmo de la figura 11, el número de clases NbClases no depende de los valores de píxel debido a que el número de clases es predeterminado en base a un valor de sintaxis. Por consiguiente, en este algoritmo, el análisis del desplazamiento de banda del SAO es independiente de la descodificación de los demás cuadros. Se debe observar que el análisis del desplazamiento de banda de SAO incluye el análisis de cada desplazamiento. 15
En otro algoritmo para determinar la clasificación equiprobable, el número de clases se puede determinar de acuerdo con la distribución de los valores de píxel en el histograma generado. De hecho, cuando la amplitud del intervalo útil es alta o baja, el número de clases debería tener un impacto en la eficiencia de la codificación. Por consiguiente, se puede proporcionar una clasificación más adaptable para determinar el número de píxeles en cada 20 clase así como el número de los valores de píxel.
La figura 12 es un diagrama de flujo que muestra las etapas de un algoritmo adicional para proporcionar una clasificación más adaptable. Este diagrama de flujo está basado en el diagrama de flujo del algoritmo de la figura 11, donde los módulos que terminan con los mismos números realizan funciones equivalentes. Sin embargo, los 25 módulos de decisión -1206- y -1211- de la figura 12 funcionan con condiciones de prueba diferentes a las condiciones de prueba manejadas por los módulos correspondientes -1106- y -1111- de la figura 11.
En este algoritmo, el módulo de decisión -1206- detiene el bucle en base a los valores k y selecciona Maxj para la clase j, si SumNbPixj > NbPixclases o si k alcanza el valor máximo del intervalo útil MaxIntervalo o si k - Minj es 30 estrictamente menor que el intervalo máximo para una clase (MaxClaseIntervalo). k - Minj corresponde al número de valores de píxel en el intervalo actual de la clase j. MaxClaseIntervalo es un número máximo predeterminado de valores de píxel en el intervalo. Este intervalo puede depender de la profundidad de bits, del número de píxeles N de el área del cuadro y del tipo de señal (luma, croma U y V). Por ejemplo, cuando la profundidad de bits es 8, MaxClaseIntervalo para el componente luma podría ser igual a 16, tal como en una implementación de la HEVC. 35
La ventaja del algoritmo de la figura 12 en comparación con el de la figura 11, es la de su eficacia de codificación para una distribución de los valores de píxel con gran amplitud. Este algoritmo es más adaptable a la distribución.
Se puede observar que en este algoritmo, el número determinado de clases depende de los valores de píxel, y por lo 40 tanto el análisis del cuadro actual depende de la descodificación de los cuadros anteriores. Para ser más robusto con respecto a los errores de transmisión, el número de clases NbClases se introduce en el flujo de bits. La transmisión de dichos datos tiene un impacto insignificante sobre la eficiencia de la codificación.
La principal ventaja de los algoritmos de clasificación de las figuras 10 a 12 es que la clasificación está adaptada a la 45 distribución de los valores de píxel. Además del centro, el intervalo útil y el tamaño de cada clase y su cantidad no tienen que ser transmitidos. Por consiguiente, al igual que en la implementación de la HEVC conocida, ningún dato adicional además de los datos representativos del desplazamiento de cada clase tiene que se transmitido para la clasificación determinada.
50
Una realización de la invención para determinar una clasificación y que implica la señalización de parámetros de la clasificación se describirá a continuación haciendo referencia a la figura 13. El objetivo de la presente realización de la clasificación es proporcionar una clasificación óptima de la distribución de los valores de píxel. La diferencia en comparación con los algoritmos descritos anteriormente es que la clasificación no está determinada directamente en base a la distribución de los valores de píxel sino en base a un criterio de tasa-distorsión. En la presente realización, 55 el codificador selecciona la clasificación (grupo de clases), mejor adaptada a la distribución de los valores de píxel, de entre las potenciales clasificaciones predefinidas (grupos de clases predeterminados). Esta selección se basa en el criterio de tasa-distorsión. Al igual que en los algoritmos descritos anteriormente, se determina el centro, el intervalo útil y el tamaño de las clases del histograma generado que representa la distribución de los valores de píxel. En la presente realización estos parámetros son transmitidos en el flujo de bits. Para minimizar el impacto de 60 la transmisión de dichos datos, los tamaños de las clases y los intervalos relacionados son seleccionados entre valores predefinidos. Por consiguiente, el codificador introduce en el flujo de bits el centro de la clasificación seleccionada, el índice relacionado con la clasificación seleccionada y los tamaños de las clases de la clasificación.
Para proporcionar una adaptación a la distribución de los valores de píxel, se definen varios tamaños de intervalos 65 de valores de píxel, tal como se representa en la figura 13. En la figura 13, el intervalo completo de valores de píxel
se divide en 32 subintervalos. Para un primer grupo de clases relacionadas con los valores de píxel situados en el centro del intervalo de los valores de píxel, se representan 4 ejemplos -1301-, -1302-, -1303-, -1304-. El primer ejemplo -1301- contiene 26 intervalos de los 32 intervalos potenciales. De este modo, el intervalo útil -1301- representa el 13/16 del intervalo completo. Del mismo modo, -1302- representa únicamente 8 intervalos de los 32 intervalos potenciales, es decir, 1/4 del intervalo completo, -1303- representa 1/8 de todo el intervalo y -1304- 1/16 5 de todo el intervalo. Para el esquema propuesto, se pueden considerar todos los tamaños posibles desde todo el intervalo completo hasta un intervalo correspondiente solamente a un valor de píxel. El número de intervalos útiles posibles debe ser predeterminado en función de la eficiencia de la codificación, o predeterminado para el número de píxeles en el área del cuadro.
10
La figura 13 muestra asimismo varios ejemplos de tamaños para el segundo grupo de clases en relación con los valores de píxel situados en los bordes del intervalo de los valores de píxel. El segundo grupo incluye dos subgrupos de clases, uno situado hacia cada borde del histograma. Los ejemplos -1305-, -1306-, -1307-, -1308- representan respectivamente el mismo número de valores de píxel que los ejemplos -1301-, -1302-, -1303-, -1304- del primer grupo. 15
En ciertas realizaciones de la invención, el tamaño de las clases, es decir, el intervalo de los valores de píxel por clase, no es fijo, en comparación con los procedimientos de la técnica anterior. La figura 14 muestra ejemplos de varios tamaños -1401- a -1406-. En este ejemplo, los tamaños de las clases son desde 32 píxeles -1401- hasta solamente 1 píxel -1406-. Estos tamaños de clases se podrían combinar con todos los posibles intervalos útiles tal 20 como se ha descrito anteriormente en relación con la figura 13. En esta realización, se considera que todas las clases tienen el mismo tamaño para un intervalo específico de valores de píxel. Por lo tanto, para un grupo, se introducen en el flujo de bits los datos representativos del tamaño del intervalo útil y el tamaño de las clases.
En otra realización, los tamaños de las clases para un intervalo útil determinado son adaptados según la posición de 25 la clase en el intervalo útil. Más precisamente, los tamaños de las clases son adaptados a la distribución de los valores de píxel. En otra realización, estos tamaños son predeterminados para cada intervalo útil según la distribución de valores de píxel. De hecho, el histograma de la distribución de los valores de píxel corresponde, en general, a una distribución gaussiana. Cuanto más cerca del centro del histograma esté un valor de píxel, más cantidad de píxeles tendrán un valor de píxel cercano a este valor. Esto significa que una celda de histograma Histk 30 próxima al centro tiene un valor (número de píxeles correspondientes) mayor que una celda de histograma Histk en ambos extremos del intervalo útil del histograma.
La figura 15 muestra ejemplos de las dos realizaciones descritas para los tamaños de las clases. El ejemplo -1501- representa un tamaño fijo de 8 valores de píxel para un intervalo útil de 32 valores de píxel. -1502- representa un 35 tamaño fijo de 4 valores de píxel para el mismo tamaño de intervalo útil.
El ejemplo -1503- muestra la otra realización para tamaños adaptativos de las clases para un intervalo actual de 32 valores de píxel. En este ejemplo, las clases en ambos extremos del intervalo útil son mayores, es decir, tiene un intervalo más amplio de valores de píxel que las clases del centro con 8 valores de píxel y 2 valores de píxel, 40 respectivamente. Entre estas clases, las otras 2 clases tienen un intervalo de 4 valores de píxel.
Los tamaños de las clases para el segundo grupo pueden estar adaptados asimismo a la distribución de los valores de píxel. El objetivo del segundo grupo de la actual implementación de la HEVC es explotar solamente los dos extremos del histograma. De hecho, ambos extremos del histograma contienen los valores extremos que a menudo 45 están relacionados con altas frecuencias en las que el error (debido a la codificación con pérdidas) es habitualmente mayor en comparación con bajas frecuencias. Del mismo modo que en el primer grupo, se pueden probar varios tamaños de clases para los intervalos útiles del segundo grupo. En este caso, para los dos subgrupos del segundo grupo, las subdivisiones -1501- y -1502- pueden ser comparadas con el criterio de tasa-distorsión.
50
Además, se puede aplicar la realización en la que los tamaños de las clases están adaptados. El ejemplo -1504- muestra los tamaños de clases adaptados propuestos para el primer intervalo (izquierda) del segundo grupo. Y el ejemplo -1505- muestra los tamaños de clases adaptados propuestos para el segundo subgrupo (derecha) del segundo grupo. En este caso, las clases contienen más valores de píxel en ambos extremos que las clases cerca del centro. 55
El objetivo del segundo grupo es explotar ambos extremos del histograma; por consiguiente, en ocasiones es útil utilizar una adaptación inversa de los tamaños para el segundo grupo. En este caso, el ejemplo -1504- se utiliza para el segundo subgrupo (derecha) y el ejemplo -1505- se utiliza para el primer subgrupo (izquierda) del segundo grupo. En esta realización, las clases contienen menos valores de píxel en ambos extremos que las clases cercanas al 60 centro. En este caso, el objetivo no es producir una clasificación de clases equiprobable sino encontrar una mejor segmentación de ambos extremos del segundo grupo.
Dado que la distribución estadística de los valores de píxel no está necesariamente centrada en el medio del intervalo completo de los valores de píxel, se debería determinar un centro de la distribución en base al intervalo útil 65 y ser transmitido en el flujo de bits con los datos de la imagen. La figura 16 muestra un ejemplo de un intervalo
completo con diferentes posiciones de centro para un intervalo útil correspondiente a un cuarto del intervalo completo. Al contrario que en el ejemplo -1302- de la figura 13, para los cuatro ejemplos de la figura 16, -1601-, -1602-, -1603-, -1604-, el centro del intervalo útil no está situado en el centro del intervalo completo. Esta solución permite adaptar la clasificación seleccionada a la distribución de los valores de píxel.
5
El centro determinado se puede codificar a continuación para su transmisión en el flujo de bits. Se pueden contemplar varias técnicas para codificar los datos.
Si se considera que la profundidad de bits del área del cuadro actual es de 8 bits, el número de posiciones que podrían considerarse para el valor del centro corresponde a 256 menos el tamaño del mínimo intervalo útil. Por 10 ejemplo, en comparación con la figura 13, el tamaño mínimo del intervalo útil es igual a 2, y estas 2 clases pueden contener, por lo menos 1 píxel. Por lo tanto, para este ejemplo específico, el centro puede adoptar un valor entre 1 y 254, de modo que se pueden considerar 254 posiciones para el centro.
Otra solución es cuantificar el valor del centro. En una realización, el centro se codifica según el tamaño de las 15 clases. De este modo, por ejemplo, si el tamaño de las clases (o el tamaño mínimo de todas las clases de un intervalo útil actual cuando se utiliza el esquema de tamaño de clases adaptado) es igual al valor de un píxel, el centro no se cuantifica y puede ser todas las posibles posiciones de centro para el intervalo útil actual. Si el tamaño de las clases es 16 valores de píxel, tal como se representa en la figura 16, únicamente se consideran los valores de píxel cada 16 valores de píxel. Por lo tanto, en la figura 16, el centro para los ejemplos -1601-, -1602-, -1603- y 20 -1604- es 9, 23, 27 y 6, respectivamente. En otra realización, pueden ser consideradas solamente las posiciones del centro iguales a un múltiplo del tamaño máximo de las clases definidas en el algoritmo. De este modo, el centro es igual a un valor de píxel dividido por el tamaño máximo de las clases. Esto ofrece una reducción en términos del número de bits a transmitir.
25
Además, teóricamente, el centro más probable es el centro del intervalo completo. De este modo, los datos transmitidos para determinar la posición del centro en el lado del descodificador es la diferencia entre el centro del intervalo completo y el centro del intervalo útil de la clasificación actual. Por lo tanto, por ejemplo en la figura 16, los datos transmitidos con respecto al centro para los ejemplos -1601-, -1602-, -1603-, -1604- son respectivamente 16-9=7, 16-23=-7, 16-27=-11, 16-6=10. 30
Para el segundo grupo, no es necesario codificar el centro del histograma. De este modo, se pueden considerar varios esquemas para codificar el desplazamiento de los dos subgrupos para el segundo grupo. Las realizaciones propuestas en la cuantificación del valor del centro descritas para el primer grupo se pueden extender fácilmente a las realizaciones propuestas para el segundo grupo. 35
En las realizaciones de la invención, la posición del intervalo útil (clasificación seleccionada) puede ser especificada con la misma precisión o granularidad en el intervalo completo, es decir, independientemente de la posición de la clasificación dentro del intervalo completo. Este es el caso en los ejemplos -1601- a -1604- mostrados en la figura 16, donde las posiciones (posiciones de centro) son 9, 23, 27 y 6. El intervalo completo está identificado de 0 a 32. 40 Existen 32 posiciones posibles y la granularidad es la misma en todo el intervalo.
No obstante, es posible asimismo, tal como se muestra en las figuras 19a y 19b proporcionar más posiciones posibles en una parte del intervalo completo que en otra parte del intervalo completo. En otras palabras, la granularidad de la posición varía en función de donde esté la clasificación dentro del intervalo completo. Estas 45 realizaciones proponen una cuantificación desigual del intervalo completo (en este caso, identificado de 0 a 32) con una granularidad variable para posicionar más precisamente el centro de la clasificación (intervalo útil) en las partes más importantes (o más probables) del intervalo completo. Asimismo, la cuantificación desigual permite que el número de bits necesarios para señalar la posición de la clasificación esté limitado, aún proporcionando una precisión adecuada en las partes importantes del intervalo completo. Esta granularidad más fina se podría aplicar, 50 por ejemplo, en medio del intervalo completo, tal como se representa en la figura 19a. En esta figura, las posibles posiciones del centro corresponden a los índices que están representados por una línea continua en negrita. El intervalo entre dos posibles posiciones de centro es menor en el medio del intervalo completo que en los extremos. De este modo, la posición del centro se puede ajustar de manera más precisa en el medio del intervalo completo que en los extremos del intervalo completo. 55
En la figura 19b el intervalo entre dos posiciones de centro posibles es menor en ambos extremos del intervalo completo que en el medio. Por ejemplo, esta realización puede ser particularmente útil en caso de tener valores de muestra importantes en los valores extremos de la distribución.
60
Más en general, se podría aplicar una cuantificación más fina en cualquier punto del intervalo completo.
Cuando se utiliza cuantificación variable, tal como se ha descrito anteriormente, el intervalo de la clasificación (tamaño del intervalo útil) puede ser fijo para todas las posiciones. Por ejemplo, el intervalo de la clasificación puede comprender cuatro clases, cada una compuesta por 8 valores de píxel. 65
Asimismo, es posible hacer que el intervalo de la clasificación/los tamaños de las clases varíen con la posición, de manera que en la figura 19a, el intervalo de la clasificación es, por ejemplo, de 8 valores de píxel en las posiciones 12 a 20, 16 valores de píxel en las posiciones 10 y 26, y 32 valores de píxel en las posiciones 2 y 28.
La cuantificación variable, tal como se describe en este caso, puede ser utilizada independientemente del 5 procedimiento aplicado para determinar el intervalo de la clasificación. Este procedimiento puede utilizar, por ejemplo, las propiedades de la distribución estadística de los valores de muestra o utilizar un criterio de tasa-distorsión.
La cuantificación variable podría estar predeterminada tanto en el codificador como en el descodificador. Por 10 ejemplo, el codificador y el descodificador podrían asignar índices a las posibles posiciones del centro (o posiciones de la izquierda), por ejemplo, en la figura 19a la posición 2 es el índice 0, la posición 6 es el índice 1, la posición 10 es el índice 2, la posición 12 es el índice 3, la posición 13 es el índice 4, etc. A continuación, es suficiente que el codificador transmita al descodificador el índice de la clasificación seleccionada. Alternativamente, la información sobre la cuantificación variable se podría determinar en el codificador y ser señalada al descodificador mediante un 15 flujo de bits.
En una realización particular, se puede considerar que el centro del histograma es siempre el centro del intervalo completo. De este modo, en este caso solamente se considera un desplazamiento. Ambos grupos se escalan en el centro con el mismo desplazamiento. Por consiguiente, sólo es necesario codificar un dato: el desplazamiento del 20 primer intervalo del segundo grupo. Los ejemplos -1701-, -1702-, -1703- y -1704- de la figura 17 son ejemplos de dichos desplazamientos. En los ejemplos -1701-, -1702-, -1703-, -1704- los desplazamientos son respectivamente 4, 6, 10 y 0. El desplazamiento puede estar codificado directamente sin predicción.
En otra realización, ambos subgrupos del segundo grupo tienen una posición independiente en el intervalo completo, 25 tal como se representa en los ejemplos -1705-, -1706-, -1707- y -1708-. Se pueden considerar dos modos de codificación.
En el primero, el centro de un primer grupo inexistente es codificado con el tamaño del intervalo útil de este primer grupo inexistente. 30
El segundo modo de codificación de ambos grupos independientemente es transmitir 2 desplazamientos desde los dos extremos del intervalo completo (uno para cada grupo). De este modo, para los ejemplos -1705-, -1706-, -1707- y -1708-, el desplazamiento transmitido es respectivamente 11 y 32-28=4 para -1705-, 21 y 0 para -1706-, 3 y 32-16=32 para -1707-, 7 y 32-31=1 para -1708-. 35
La figura 18 es un diagrama de flujo que muestra las etapas de un algoritmo de selección de la tasa-distorsión según una realización de la invención. Con fines explicativos simplificados, se considera solamente la selección para el primer grupo sin tamaños de clases adaptados. La selección para las demás realizaciones descritas anteriormente se puede adaptar fácilmente. 40
En una etapa inicial -1801-, se calculan las estadísticas del área del cuadro actual. Esto implica la determinación de las variables Histk y Sumk para todos los valores de píxel k. Histk corresponde al número de píxeles que tienen un valor de píxel igual al valor k y Sumk corresponde a la suma de las diferencias entre todos los píxeles que tienen un valor de píxel igual al valor k y sus valores de píxel originales. El algoritmo incluye 3 bucles en tres parámetros: el 45 tamaño de las clases S, el tamaño del intervalo R y el centro C. El primer bucle comprueba cada tamaño de clase posible en la etapa -1803-. Por ejemplo, el tamaño definido en la figura 14. El desplazamiento para cada subintervalo del intervalo completo se calcula en la etapa -1804-. Por ejemplo, si la profundidad de bits es 8 y el tamaño de las clases es 16, entonces se calcula la distorsión y el desplazamiento para los 32 intervalos posibles en el intervalo completo. Por propiedades, el desplazamiento y la distorsión son calculados mediante la combinación 50 lineal de Histk y Sumk para todos los valores de k en el intervalo actual. A continuación, para cada intervalo R -1805- posible, y cada centro C -1806- posible, se evalúa un coste de la tasa-distorsión en la etapa -1807-. Esta evaluación se basa en el criterio de tasa-distorsión. Cuando se prueban todos los centros C -1808-, todos los intervalos -1809- y todos los tamaños -1810-, se seleccionan los mejores parámetros S, R, C en la etapa -1811- en base al mejor coste de la tasa-distorsión. Las ventajas de este segundo esquema para generar una clasificación equiprobable incluye 55 una reducción de la complejidad y una mejora en la eficiencia de la codificación. La selección de la clasificación del centro, intervalo y tamaño de las clases ofrece una selección de la tasa-distorsión óptima en comparación con las realizaciones en las que la clasificación está basada en la distribución estadística de los valores de píxel. Por supuesto, esta realización proporciona una mejora en términos de eficiencia de la codificación en comparación con la actual implementación de la HEVC. Este esquema es más complejo en el lado del descodificador comparado con 60 el anterior dado que no es necesario determinar la distribución de los píxeles en el descodificador. Además, este esquema puede ser menos complejo que las técnicas conocidas de la HEVC debido a que se utilizan menos clases en algunos grupos.
El algoritmo representado en la figura 18 realiza una selección completa basada en tasa-distorsión de todos los 65 parámetros del desplazamiento de banda: el tamaño de las clases S, el intervalo R, la posición de un valor
representativo del centro C. Para limitar la complejidad, es posible fijar algunos parámetros. En una implementación particular del algoritmo de la figura 18, el tamaño S y el intervalo R se fijan en valores determinados conocidos por el codificador y el descodificador. Por ejemplo S, podría representar 8 valores de píxel y R podría representar 32 valores de píxel correspondientes a 4 clases de 8 píxeles. Como consecuencia, el único parámetro a optimizar es el valor representativo del centro C. 5
Dado que las realizaciones de la invención tienen en cuenta el reparto de los valores de píxel en todo el intervalo de valores de píxel en la determinación de la clasificación de los píxeles, la clasificación se puede adaptar en correspondencia con diferentes distribuciones de valores de píxel. En particular, se puede adaptar la clasificación según el tipo de componente de los píxeles. Por ejemplo, en el caso de un conjunto de píxeles del componente 10 croma, los valores de píxel tienden a ser menores en comparación con los valores de píxel de los píxeles luma croma. Además, los valores de píxel croma U tienen una distribución diferente a la de los valores de píxel croma V que tienen valores de píxel más concentrados y relativamente mayores. Además, en el caso de píxeles del componente croma, la distribución de los valores de píxel tiende a estar más concentrada alrededor de los valores pico de los píxeles en comparación con los píxeles luma croma que proporcionan una distribución extendida más 15 ampliamente.
Tal como se ha visto anteriormente, para evitar la determinación de la distribución de los píxeles en el lado del descodificador, se transmiten los parámetros S, R y C en el flujo de bits además del tipo de SAO (no SAO, desplazamiento de borde o desplazamiento de banda) y los valores de desplazamiento de compensación. Cuando el 20 tamaño de la clase y el intervalo son fijos, solamente se transmite C para permitir que un descodificador recupere el centro del intervalo.
En el caso de S y R fijos, una solución conocida para codificar los parámetros del SAO consiste en aplicar el pseudocódigo de la figura 20A, descrito en forma de diagrama de flujo en la figura 21. 25
El proceso se inicia con la determinación de los parámetros del SAO, incluyendo el tipo de SAO (almacenado en la palabra de código sao_type_idx), el valor representativo del centro del intervalo útil (almacenado en la palabra de código sao_band_position) cuando se utiliza el tipo de desplazamiento de banda y los desplazamientos del SAO (almacenados en las palabras de código sao_offset). En la figura 20A, cIdx representa el índice del componente de 30 color al que se aplica el SAO, rx y rx representan la posición del área en que se aplica el SAO e i es el índice de la clase de los valores de muestra.
La codificación de los parámetros del SAO se inicia a continuación en la etapa -2003- con la codificación del tipo de SAO utilizando un código Exp Golomb sin signo (ue(v)) (es decir, un código de longitud variable sin signo). Si el tipo 35 de SAO es de tipo 5 (desplazamiento de banda), la codificación continúa con la codificación del valor representativo de la posición del centro del intervalo útil utilizando un código de longitud fija sin signo de tamaño 5 (u(5)) en la etapa -2017-. A continuación, la codificación de los cuatro desplazamientos correspondientes a las cuatro clases contenidas en el intervalo se realiza de modo iterativo en las etapas -2019- a -2025-. En este caso, cada desplazamiento se codifica utilizando un código Exp Golomb con signo (se(v)) (es decir, un código de codificación de 40 longitud variable con signo (VLC)). El proceso de codificación finaliza a continuación con la etapa -2027-.
Si el tipo de SAO no es un desplazamiento de banda, se comprueba primero si el tipo de SAO es un no SAO (no SAO significa que no se aplica ningún desplazamiento a las muestras involucradas). Si se ha seleccionado no SAO, el proceso de codificación se detiene en la etapa -2027-. 45
De lo contrario, se continúa con la codificación iterativa de los cuatro desplazamientos de borde en las etapas -2007- a -2013-. De nuevo, el proceso de codificación se detiene en la etapa -2027-.
Los códigos VLC se utilizan, generalmente, cuando el intervalo de valores a representar es relativamente elevado 50 pero algunos valores de este intervalo son más probables que otros. Los valores más probables reciben a continuación un código corto, mientras que los valores menos probables reciben un código largo. El principal inconveniente de estos códigos es que provocan una complejidad de descodificación mayor que los códigos de longitud fija (FLC). De hecho, un código VLC debe leerse bit a bit dado que no se conoce el tamaño final del código mientras que todos los bits de un código FLC se pueden leer directamente dado que su tamaño es conocido. 55
En las figuras 20B y 22, se propone una alternativa a este proceso de codificación sustituyendo los códigos VLC por los códigos FLC.
Este proceso de codificación se inicia con la etapa -2201- que es idéntica a la etapa -2001-. En la etapa -2203-, la 60 codificación VLC de la palabra de código sao_type_idx se sustituye por una codificación FLC. En este caso, son necesarios 3 bits para codificar los 6 valores posibles del tipo de SAO (es decir, el tipo “no SAO”, los 4 tipos de “desplazamiento de borde” y el tipo de “desplazamiento de banda”). A continuación se comprueba si el tipo de SAO es “no SAO”. En este caso, no se codifica nada más y el proceso finaliza con la etapa -2215-. De lo contrario, se comprueba si el tipo de SAO es “desplazamiento de banda”. En caso afirmativo, se codifica el valor representativo 65 de la posición del centro del intervalo en la palabra de código SAO_band_position en forma de un código FLC sin
signo de tamaño 5. De hecho, en este ejemplo, con un tamaño de clase de 8 valores de muestra y un intervalo compuesto por cuatro clases, son posibles 28 posiciones diferentes para un intervalo completo de 256 valores.
A esta etapa le sigue la codificación de los cuatro desplazamientos del SAO en las etapas -2211- a -2213-. En este caso, un código FLC sustituye el código VLC de la etapa -2023- y -2011-. En lugar de utilizar un código VLC de un 5 máximo de 5 bits que cubren los valores de desplazamiento enteros de -31 a 32, en este caso se utiliza un código FLC de 2 bits de tamaño que puede codificar únicamente 4 valores diferentes, en general (-2, -1, 1, 2). Reducir el número de valores posible tiene el efecto de concentrar la codificación en los valores de desplazamiento utilizados más frecuentemente.
10
El proceso se detiene después de la codificación del desplazamiento en la etapa -2215-.
Se debe observar que, en otra realización, el intervalo representado por los desplazamientos se puede ampliar codificando una cabecera de la imagen, una cabecera del segmento o una cabecera de la LCU, un factor de multiplicación a aplicar a los desplazamientos obtenidos por el código de 2 bits. Por ejemplo, con un factor de 15 multiplicación igual a 4, los desplazamientos codificados (-2, -1, 1, 2), pasan a ser (-8, -4, 4, 8). El factor de multiplicación también puede estar estandarizado (fijo) o deducirse de otra LCU. Por ejemplo, se puede suponer que se aplica a la LCU actual el factor de multiplicación aplicable a una LCU anterior.
De manera similar en otra realización, se podría aplicar un valor de desplazamiento, codificado en una cabecera de 20 la imagen, una cabecera del segmento o una cabecera de la LCU, a los desplazamientos obtenidos por el código de 2 bits. Por ejemplo, con un valor de desplazamiento de 5, los desplazamientos codificados (-2, -1, 1, 2) pasar a ser (3, 4, 6, 7). De nuevo, el valor de desplazamiento puede asimismo estar estandarizado (fijado) o deducirse de otra LCU. Por ejemplo, se puede suponer que se aplica a la LCU actual el valor de desplazamiento aplicable a una LCU anterior. 25
Las pruebas han mostrado que tener menos valores de desplazamiento posibles no reduce significativamente el rendimiento del procedimiento del SAO. Parece que la pérdida inducida por la eliminación de algunos valores de desplazamiento se compensa con la eliminación del importante coste en tasa de bits de los valores de desplazamiento menos probables. 30
Las pruebas adicionales han mostrado asimismo que el número de valores de desplazamiento diferentes se puede reducir adicionalmente a 3 e incluso 2 desplazamientos (lo que requiere codificar únicamente un bit) sin una pérdida significativa en el rendimiento.
35
En la figura 23, se propone una mejora adicional del proceso de codificación. Se considera en este caso que los valores de desplazamiento utilizados en el caso del tipo de desplazamiento de borde pueden ser deducidos directamente del tipo de desplazamiento de borde. En este caso no se requiere ninguna codificación de los valores de desplazamiento de borde. Como recordatorio, se asocia cada tipo de desplazamiento de borde con 4 clases en función de la dirección de la señal, y cada clase tiene un valor de desplazamiento asociado. Esta realización está 40 motivada por las pruebas que muestran que, en general, para un tipo de desplazamiento de borde determinado y una clase determinada, los valores de desplazamiento son próximos entre sí y, generalmente, iguales. Como consecuencia, se propone fijar para cada tipo de desplazamiento de borde un conjunto de 4 valores de desplazamiento. Por ejemplo, se propone la siguiente asociación:
45
- desplazamiento de borde vertical: (-2, -1, 1, 2)
- desplazamiento de borde horizontal: (-2, -1, 1, 3)
- desplazamiento de borde de la primera diagonal (-3, -2, -1, 1) 50
- desplazamiento de borde de la segunda diagonal (-1, 1, 2, 3)
Las etapas -2301- y -2303- de la figura 23 son idénticas a las etapas -2201- y -2203- ya explicadas haciendo referencia a la figura 22. En las etapas -2305- y -2307-, se comprueba si el tipo de SAO es “desplazamiento de 55 borde” o “no SAO” respectivamente. En ambos casos, no se codifica ningún desplazamiento. En el caso en que el tipo de SAO es “desplazamiento de borde”, cuando se lee el valor a partir del tipo de desplazamiento de borde, un descodificador deducirá los valores de desplazamiento del tipo de desplazamiento de borde gracias a la asociación conocida con los valores de desplazamiento fijos.
60
En la realización de la figura 23, si el tipo de SAO es “desplazamiento de banda”, se codifica en la etapa -2309- el valor representativo de la posición del centro del intervalo y los cuatro valores de desplazamiento se codifican de modo iterativo en las etapas -2311- a -2317-. El proceso de codificación finaliza con la etapa -2319-.
En la realización de las figuras 24 y 25 se aplica otra modificación al proceso de codificación descrito en las figuras 65 20A y 21. Tal como ya se ha mencionado en la realización anterior, se utiliza un código FLC de 5 bits para codificar
la información representativa de la posición del centro del intervalo (sao_band_position), mientras que se utilizan únicamente 28 posiciones diferentes. En esta situación, cuatro códigos FLC con longitud de 5 bits cada uno siguen inutilizados. Se propone en este caso aprovechar estos cuatro códigos FLC sobrantes para eliminar la palabra de código utilizada para codificar el tipo de SAO. Se utilizará una nueva palabra de código, SAO_band_position_and_EO para codificar conjuntamente las posiciones del intervalo y los tipos de desplazamiento 5 de borde. Esta nueva palabra de código tiene asimismo con una longitud de 5 bits.
Tal como es habitual, el proceso se inicia en la etapa -2501- con la definición de los parámetros del SAO. A este proceso le sigue en la etapa -2503- la codificación de un indicador de 1 bit de longitud (SAO_LCU_flag) que indica si se utiliza o no el SAO. Si no se utiliza el SAO (etapa -2505-), el proceso se detiene (etapa -2507-). 10
Si se utiliza el SAO, se comprueba en la etapa -2509- qué tipo de SAO se utiliza. Si el tipo de SAO es “desplazamiento de banda”, entonces en la etapa -2513- se utilizan los primeros 28 códigos de la palabra de código SAO_band_position_and_EO para codificar el valor representativo de la posición del centro del intervalo. Si el tipo de SAO es “desplazamiento de borde”, entonces en la etapa -2511- se utilizan los últimos cuatro códigos de la 15 palabra de código SAO_band_position_and_EO para codificar el tipo de desplazamiento de borde (vertical, horizontal, primera diagonal o segunda diagonal). A las etapas -2511- o -2513- les sigue la codificación de los cuatro valores de desplazamiento en las etapas -2515- a -2521-.
A este respecto, aunque las palabras de código sobrantes se utilizan en la presente realización para codificar el tipo 20 de desplazamiento de borde, se apreciará que las palabras de código sobrantes se pueden utilizar alternativamente para otros propósitos. Cualquier otra información que tenga que ser enviada del codificador al descodificador puede ser codificada utilizando las palabras de código sobrantes.
En la figura 26 se propone otra realización para determinar los desplazamientos a aplicar en el caso del 25 desplazamiento de banda. Esta realización está motivada por pruebas que muestran que en el caso del desplazamiento de banda, la mayoría de los desplazamientos tienen amplitudes bajas en valor absoluto. De hecho, los valores de desplazamiento son, en general, iguales a -2, -1, 1 y 2. Cuando el número de clases en un intervalo se reduce a 4, por ejemplo, tal como en el ejemplo de las figuras 20A a 25, el número de grupos diferentes de 4 valores de desplazamiento también se reduce. En el ejemplo anterior con 4 valores de desplazamiento diferentes y 4 30 clases, el número de grupos diferentes es de 44=256. En las realizaciones de las figuras 21, 22, 23 y 25, se utilizan 8 bits para codificar los valores de desplazamiento (4 valores de desplazamiento, codificado cada uno utilizando 2 bits). En este caso, se considera que todos los grupos de 4 desplazamientos tienen la misma probabilidad de ser seleccionados. Sin embargo, algunos de estos grupos son menos probables que otros. Eliminando los grupos menos probables, es posible reducir el número de bits requerido para codificarlos. Como consecuencia, en lugar de 35 codificar 4 valores de desplazamiento diferentes utilizando 2 bits para cada valor de desplazamiento, se propone asignar índices a los diferentes grupos de 4 valores de desplazamiento y codificar el índice, siendo codificado el índice utilizando menos de 8 bits gracias a la eliminación de los grupos menos probables. Las probabilidades de los grupos se podrían determinar aplicando el SAO a un conjunto de secuencias de entrenamiento y calculando estadísticas en los grupos. Se podría predeterminar una tabla que reúna todos los grupos posibles ordenados según 40 su probabilidad de ser seleccionados, y ser conocida por el codificador y el descodificador. En esta tabla, cada grupo de desplazamientos se asociará a un valor de índice. El número de bits asignado al índice de los grupos a codificar podría ser fijo (estandarizado) o fijo para una secuencia, un cuadro, un segmento o una LCU y ser codificado en las cabeceras correspondientes. Un subconjunto de grupos de la tabla correspondientes a los grupos más probables estará determinado por el codificador y el descodificador en función del número de bits asignados a la codificación 45 del índice.
En la figura 26 se describe una realización que representa la selección del mejor grupo. El proceso se inicia con la etapa -2601- en la que se inicializa la variable j. Esta variable j se aumenta progresivamente para permitir probar todos los grupos posibles de desplazamientos. En la realización propuesta, se consideran grupos de 4 50 desplazamientos pero se podrían considerar otros números de desplazamientos. En la etapa -2603- se comprueba si se han probado todos los grupos (por ejemplo, NbOffsetGroup podría ser igual a 128). En caso afirmativo, el proceso se detiene y se codifica una palabra de código de menos de 8 bits correspondiente al grupo seleccionado. De lo contrario, el proceso continúa con la inicialización de una variable i que permite probar todas las clases en un intervalo (etapa -2605-). En la etapa -2606-, la variable SumDiff(j) que representa la suma de la diferencia entre las 55 muestras originales y las muestras codificadas filtradas por SAO correspondientes al grupo de desplazamiento j se inicializa a 0. En este caso, solamente se consideran 4 clases, pero son posibles otros números de clases coherentes con el número de desplazamientos. En la etapa -2607-, si aún no se han probado algunas clases, se inicializa una variable k que permite probar todas las muestras posibles en un intervalo de muestras correspondientes a la clase i. Con las etapas -2611- a -2619- se calcula la suma de los valores absolutos de las 60 diferencias entre las muestras codificadas filtradas con el desplazamiento de la clase i en el grupo de desplazamientos j y las muestras originales en la clase i considerada. En este caso, orig(k) es la media de los valores de muestra originales correspondientes al valor codificado enc(k). Filter(i, j) es el valor de desplazamiento correspondiente a la clase i, en el grupo de desplazamiento j. SumDiff(j) es la suma de las diferencias calculadas en todas las clases que componen un intervalo (en este caso, 4 clases). En el bucle que comprende las etapas -2621- a 65 -2626- se comparan todas las sumas calculadas de las diferencias y se selecciona el índice del grupo que tiene la
suma mínima. El índice seleccionado corresponde al grupo de desplazamientos que permite, cuando se aplica a las muestras codificadas, minimizar la diferencia entre las muestras filtradas y la muestra original.
Durante el proceso de codificación sintáctica, la codificación de los valores de desplazamiento, tal como se representa por ejemplo, mediante las etapas -2211- a -2213- de la figura 22, es sustituida por la codificación del 5 índice correspondiente al grupo de desplazamientos seleccionado.
La clasificación de los píxeles del componente luma se lleva a cabo independientemente de la clasificación de los píxeles del componente croma U o V y, de este modo, cada clasificación se puede adaptar correspondientemente, de tal modo que cada clase tenga un número similar de píxeles. 10
Por lo tanto, los procedimientos de las realizaciones de la invención dan a conocer un enfoque de clasificación más flexible que puede ser adaptado para proporcionar una clasificación más óptima independientemente tanto para señales luma como croma, conduciendo de este modo a una mejora en la eficiencia de la codificación.
15
Aunque la presente invención se ha descrito en lo anterior haciendo referencia a realizaciones particulares, la presente invención no está limitada a las realizaciones particulares y serán evidentes para un experto en la técnica modificaciones que quedan dentro del alcance de la presente invención.
Por ejemplo, aunque las realizaciones anteriores se han descrito con respecto a los píxeles de una imagen y sus 20 valores de píxel correspondientes, se apreciará que dentro del contexto de la invención, se puede considerar un grupo de píxeles conjuntamente con un valor de píxel del grupo correspondiente. Por lo tanto, una muestra puede corresponder a uno o varios píxeles de una imagen.
A los expertos en la materia se les ocurrirán muchas otras modificaciones y variaciones al hacer referencia a las 25 realizaciones ilustrativas anteriores, que se proporcionan solamente a modo de ejemplo y no están destinadas a limitar el alcance de la invención, que está determinado exclusivamente mediante las reivindicaciones adjuntas. En particular, las diferentes características de las diferentes realizaciones se pueden intercambiar, donde proceda.
En las reivindicaciones, la expresión “que comprende” no excluye otros elementos o etapas, y el artículo indefinido 30 “un” o “una“ no excluye una pluralidad. El mero hecho de que las diferentes características se enumeren en reivindicaciones dependientes diferentes entre sí no indica que no se pueda utilizar una combinación ventajosa de estas características.
Claims (19)
- REIVINDICACIONES1. Procedimiento para proporcionar desplazamientos de compensación para su utilización en la realización de filtrado de bucle de desplazamiento adaptativo de muestras (804) en codificación de vídeo de alta eficiencia sobre un conjunto de muestras reconstruidas de una imagen, teniendo cada muestra un valor de muestra, comprendiendo el 5 procedimientoseleccionar, en base a un criterio de tasa-distorsión, un grupo de clases (814) entre una serie de grupos de clases predeterminados, teniendo cada uno de dichos grupos de clases predeterminados un intervalo y estando compuesto por una serie de clases, definiendo cada una un intervalo de valores de muestra dentro de dicho intervalo, clase en 10 la que se pone una muestra si su valor de muestra está dentro del intervalo de la clase involucrada, e incluyendo los grupos de clases predeterminados grupos de clases que tienen respectivas posiciones de centro diferentes dentro de un intervalo completo de los valores de muestra; yasociar con cada clase del grupo de clases (814) seleccionado un desplazamiento de compensación para su 15 aplicación al valor de la muestra de cada muestra de la clase involucrada,caracterizado por que dichas posiciones de centro respectivas diferentes incluyen posiciones de centro diferentes desde un centro de dicho intervalo completo.20
- 2. Procedimiento, según cualquier reivindicación anterior, en el que las muestras del conjunto pueden ser, por lo menos, de un primer tipo de componente o un segundo tipo de componente, siendo luma uno de dichos primer y segundo tipos de componentes y siendo croma el otro de dicho primer y segundo tipos de componentes, y en el que la serie de clases se determina en función del tipo de componente del conjunto de muestras.25
- 3. Procedimiento, según cualquier reivindicación anterior, en el que el desplazamiento de compensación para cada clase se determina a partir de un promedio de la diferencia entre el valor de la muestra de cada muestra reconstruida de la clase y el valor de la muestra respectiva de la imagen original correspondiente.
- 4. Procedimiento de codificación que utiliza la codificación de vídeo de alta eficiencia de una imagen compuesta por 30 una serie de muestras, comprendiendo el procedimientocodificar (702-708) las muestras;descodificar (711-714) las muestras codificadas para proporcionar las muestras reconstruidas; 35llevar a cabo el filtrado de bucle de desplazamiento adaptativo de muestras (715; 804) sobre las muestras reconstruidas, comprendiendo el filtrado de bucle la aplicación de los desplazamientos de compensación a los valores de muestra de las muestras reconstruidas respectivas, estando asociado cada desplazamiento de compensación con un intervalo de valores de muestra, en el que los desplazamientos de compensación se disponen 40 según el procedimiento de cualquier reivindicación anterior; ygenerar (709) un flujo de bits (710) de las muestras codificadas.
- 5. Procedimiento, según la reivindicación 4, que comprende, además transmitir, en el flujo de bits, datos codificados 45 representativos de los desplazamientos de compensación asociados respectivamente con la serie de clases del grupo de clases (814) seleccionado.
- 6. Procedimiento, según la reivindicación 4 ó 5, que comprende, además transmitir, en el flujo de bits (710), datos de clasificación codificados relativos al grupo de clases (814) seleccionado. 50
- 7. Procedimiento, según la reivindicación 6, en el que los datos de clasificación comprenden datos representativos de un índice relacionado con el grupo de clases (814) seleccionado.
- 8. Procedimiento, según la reivindicación 6, en el que los datos de clasificación comprenden datos representativos 55 de dicha posición de centro del grupo de clases (814) seleccionado dentro del intervalo completo de valores de muestra.
- 9. Procedimiento de descodificación de una imagen codificada utilizando la codificación de vídeo de alta eficiencia y compuesta por una serie de muestras, teniendo cada muestra un valor de muestra, comprendiendo el procedimiento 60recibir los valores de muestra codificados;recibir los datos de clasificación codificados;65recibir los desplazamientos de compensación codificados;descodificar los datos de clasificación e identificar, en base a los datos de clasificación descodificados, un grupo de clases (814) seleccionado por un codificador entre una serie de grupos de clases predeterminados, teniendo cada uno de dichos grupos de clases predeterminados un intervalo y estando compuesto por una serie de clases, definiendo cada una un intervalo de valores de muestra dentro de dicho intervalo, clase en la que se pone una 5 muestra si su valor de muestra está dentro del intervalo de la clase involucrada, e incluyendo los grupos de clases predeterminados grupos de clases que tienen respectivas posiciones de centro diferentes dentro de un intervalo completo de los valores de muestra;descodificar (902-906) las muestras codificadas para proporcionar los valores de muestra reconstruida y descodificar 10 los desplazamientos de compensación codificados;asociar los desplazamientos de compensación descodificados respectivamente con las clases del grupo de clases (814) seleccionado; y15llevar a cabo el filtrado de bucle de desplazamiento adaptativo de muestras (907; 804) sobre los valores de muestras reconstruidas, comprendiendo el filtrado de bucle aplicar el desplazamiento de compensación descodificado asociado a cada clase del grupo de clases seleccionado, a los valores de muestra reconstruidas dentro del intervalo de la clase involucrada,20caracterizado por que dichas posiciones de centro respectivas diferentes incluyen posiciones de centro diferentes de un centro de dicho intervalo completo.
- 10. Procedimiento, según la reivindicación 9, en el que los datos de clasificación comprenden datos representativos de un índice relacionado con el grupo de clases (814) seleccionado. 25
- 11. Procedimiento, según la reivindicación 9, en el que los datos de clasificación comprenden datos representativos de dicha posición de centro del grupo de clases (814) seleccionado dentro del intervalo completo de valores de muestra.30
- 12. Producto de programa informático para un aparato programable, comprendiendo el producto de programa informático una secuencia de instrucciones para implementar un procedimiento según cualquiera de las reivindicaciones 1 a 11 cuando es cargado y ejecutado por el aparato programable.
- 13. Medio de almacenamiento legible por ordenador que almacena instrucciones de un programa informático para 35 implementar un procedimiento según cualquiera de las reivindicaciones 1 a 11.
- 14. Señal (710) que transporta un conjunto de datos de información para una imagen codificada utilizando la codificación de vídeo de alta eficiencia y representada por un flujo de bits de vídeo, comprendiendo la imagen un conjunto de muestras reconstruibles, teniendo cada muestra reconstruible un valor de muestra, comprendiendo el 40 conjunto de datos de información: datos de clasificación relacionados con un grupo de clases (814) seleccionado por un codificador entre una serie de grupos de clases predeterminados, teniendo cada uno de dichos grupos de clases predeterminados un intervalo y estando compuesto por una serie de clases, definiendo cada una un intervalo de valores de muestra dentro de dicho intervalo, clase en la que se pone una muestra si su valor de muestra está dentro del intervalo de la clase involucrada, e incluyendo los grupos de cases predeterminados grupos de clases que 45 tienen respectivas posiciones de centro diferentes dentro de un intervalo completo de los valores de muestra, y estando asociada cada clase de la serie de clases del grupo de clases (814) seleccionado con un desplazamiento de compensación para su aplicación, en el filtrado de bucle adaptativo de muestras (804), a valores de muestras de las muestras reconstruibles dentro del intervalo de la clase involucrada,50caracterizada por que dichas posiciones de centro respectivas diferentes incluyen posiciones de centro diferentes de un centro de dicho intervalo completo.
- 15. Señal, según la reivindicación 14, en la que los datos de clasificación comprenden datos representativos de un índice relacionado con el grupo de clases (814) seleccionado. 55
- 16. Señal, según la reivindicación 14, en la que los datos de clasificación comprenden datos representativos de dicha posición de centro del grupo de clases (814) seleccionado dentro del intervalo completo de los valores de muestra.60
- 17. Dispositivo para proporcionar desplazamientos de compensación para su utilización en la realización del filtrado de bucle de desplazamiento adaptativo de muestras (804) en la codificación de vídeo de alta eficiencia sobre un conjunto de muestras reconstruidas de una imagen, teniendo cada muestra un valor de muestra, comprendiendo el dispositivo:65medios para seleccionar, en base a un criterio de tasa-distorsión, un grupo de clases (814) entre una serie de gruposde clases predeterminados, teniendo cada uno de dichos grupos de clases predeterminados un intervalo y estando compuesto por una serie de clases, definiendo cada una un intervalo de valores de muestra, clase en la que se pone una muestra si su valor de muestra está dentro del intervalo de la clase involucrada, e incluyendo los grupos de clases predeterminados grupos de clases que tienen posiciones de centro respectivas diferentes dentro de un intervalo completo de los valores de muestra; y 5medios para asociar con cada clase del grupo de clases (814) seleccionado un desplazamiento de compensación para su aplicación al valor de la muestra de cada muestra de la clase involucrada,caracterizado por que dichas posiciones de centro respectivas diferentes incluyen posiciones de centro diferentes 10 de un centro de dicho intervalo completo.
- 18. Dispositivo de codificación para codificar utilizando la codificación de vídeo de alta eficiencia una imagen compuesta por una serie de muestras, comprendiendo el dispositivo15un codificador (702-708) para codificar las muestras;un descodificador (711-714) para descodificar las muestras codificadas para proporcionar las muestras reconstruidas;20un filtro de bucle de desplazamiento adaptativo de muestras (715; 804) para filtrar las muestras reconstruidas, comprendiendo el filtro de bucle de desplazamiento adaptativo de muestras medios (804) de aplicación de desplazamientos para aplicar desplazamientos de compensación a los valores de muestra de muestras reconstruidas respectivas, estando asociado cada desplazamiento de compensación con un intervalo de valores de muestra, en el que los desplazamientos de compensación son proporcionados por el dispositivo de la reivindicación 25 17; yun generador de flujo de bits (709) para generar un flujo de bits de muestras codificadas.
- 19. Dispositivo para descodificar una imagen codificada utilizando codificación de vídeo de alta eficiencia y 30 compuesta por una serie de muestras, teniendo cada muestra un valor de muestra, comprendiendo el dispositivomedios para recibir valores de muestra codificados;medios para recibir datos de clasificación codificados; 35medios para recibir desplazamientos de compensación codificados;medios para descodificar los datos de clasificación y para identificar, en base a los datos de clasificación descodificados, un grupo de clases (814) seleccionado por un codificador entre una serie de grupos de clases 40 predeterminados, teniendo cada uno de dichos grupos de clases predeterminado un intervalo y estando compuesto por una serie de clases, definiendo cada una un intervalo de valores de muestra, clase en la que se pone una muestra si su valor de muestra está dentro del intervalo de la clase involucrada, e incluyendo los grupos de clases predeterminados grupos de clases que tienen posiciones de centro respectivas diferentes dentro de un intervalo completo de los valores de muestra; 45medios para descodificar las muestras codificadas (902-906) con el fin de proporcionar valores de muestra reconstruidas y para descodificar los desplazamientos de compensación codificados;medios para asociar los desplazamientos de compensación descodificados respectivamente con las clases del 50 grupo de clases (814) seleccionado; ymedios para realizar el filtrado de bucle de desplazamiento adaptativo de muestras (907; 804) sobre los valores de muestra reconstruidas, comprendiendo el filtrado de bucle aplicar el desplazamiento de compensación descodificado asociado con cada clase del grupo de clases seleccionado a los valores de muestra reconstruida dentro del intervalo 55 de la clase involucrada,caracterizado por que dichas posiciones de centro respectivas diferentes incluyen posiciones de centro diferentes de un centro de dicho intervalo completo.60
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB201119206 | 2011-11-07 | ||
GBGB1119206.9A GB201119206D0 (en) | 2011-11-07 | 2011-11-07 | Method and device for providing compensation offsets for a set of reconstructed samples of an image |
GB201203285 | 2012-02-24 | ||
GB1203285.0A GB2499983A (en) | 2011-11-07 | 2012-02-24 | Providing compensation offsets for a set of reconstructed samples of an image |
PCT/EP2012/072069 WO2013068427A2 (en) | 2011-11-07 | 2012-11-07 | Method and device for providing compensation offsets for a set of reconstructed samples of an image |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2628070T3 true ES2628070T3 (es) | 2017-08-01 |
Family
ID=45421397
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES12783599.9T Active ES2628070T3 (es) | 2011-11-07 | 2012-11-07 | Procedimiento y dispositivo para proporcionar desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen |
ES12784571.7T Active ES2626823T3 (es) | 2011-11-07 | 2012-11-07 | Procedimiento y dispositivo para optimizar la codificación/descodificación de desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen |
ES19218279T Active ES2905473T3 (es) | 2011-11-07 | 2012-11-07 | Procedimiento y dispositivo para optimizar la codificación/descodificación de desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen |
ES18173012T Active ES2771249T3 (es) | 2011-11-07 | 2012-11-07 | Procedimiento y dispositivo para proporcionar desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen |
ES19218277T Active ES2906155T3 (es) | 2011-11-07 | 2012-11-07 | Procedimiento y dispositivo para optimizar la codificación/descodificación de desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen |
ES19218280T Active ES2906724T3 (es) | 2011-11-07 | 2012-11-07 | Procedimiento y dispositivo para optimizar la codificación/descodificación de desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen |
ES17161216T Active ES2772837T3 (es) | 2011-11-07 | 2012-11-07 | Procedimiento y dispositivo para optimizar la codificación/descodificación de desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen |
Family Applications After (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES12784571.7T Active ES2626823T3 (es) | 2011-11-07 | 2012-11-07 | Procedimiento y dispositivo para optimizar la codificación/descodificación de desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen |
ES19218279T Active ES2905473T3 (es) | 2011-11-07 | 2012-11-07 | Procedimiento y dispositivo para optimizar la codificación/descodificación de desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen |
ES18173012T Active ES2771249T3 (es) | 2011-11-07 | 2012-11-07 | Procedimiento y dispositivo para proporcionar desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen |
ES19218277T Active ES2906155T3 (es) | 2011-11-07 | 2012-11-07 | Procedimiento y dispositivo para optimizar la codificación/descodificación de desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen |
ES19218280T Active ES2906724T3 (es) | 2011-11-07 | 2012-11-07 | Procedimiento y dispositivo para optimizar la codificación/descodificación de desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen |
ES17161216T Active ES2772837T3 (es) | 2011-11-07 | 2012-11-07 | Procedimiento y dispositivo para optimizar la codificación/descodificación de desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen |
Country Status (14)
Country | Link |
---|---|
US (12) | US10085042B2 (es) |
EP (11) | EP3247117B1 (es) |
JP (10) | JP6184416B2 (es) |
KR (12) | KR102030304B1 (es) |
CN (15) | CN107483935B (es) |
BR (10) | BR122019028117B1 (es) |
DK (2) | DK2777253T3 (es) |
ES (7) | ES2628070T3 (es) |
GB (5) | GB201119206D0 (es) |
HU (5) | HUE057826T2 (es) |
IN (2) | IN2014CN04154A (es) |
PL (5) | PL3247117T3 (es) |
RU (13) | RU2586862C2 (es) |
WO (3) | WO2013068427A2 (es) |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101529992B1 (ko) | 2010-04-05 | 2015-06-18 | 삼성전자주식회사 | 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치 |
GB201119206D0 (en) | 2011-11-07 | 2011-12-21 | Canon Kk | Method and device for providing compensation offsets for a set of reconstructed samples of an image |
US9253482B2 (en) * | 2011-11-08 | 2016-02-02 | Texas Insturments Incorporated | Method and apparatus for sample adaptive offset without sign coding |
US9277194B2 (en) * | 2011-11-08 | 2016-03-01 | Texas Instruments Incorporated | Method and apparatus for image and video coding using hierarchical sample adaptive band offset |
CN104869416B (zh) * | 2011-12-22 | 2018-08-03 | 三星电子株式会社 | 视频解码设备 |
US9161035B2 (en) * | 2012-01-20 | 2015-10-13 | Sony Corporation | Flexible band offset mode in sample adaptive offset in HEVC |
GB2509707B (en) | 2013-01-04 | 2016-03-16 | Canon Kk | A method, device, computer program, and information storage means for encoding or decoding a video sequence |
KR102166335B1 (ko) * | 2013-04-19 | 2020-10-15 | 삼성전자주식회사 | Sao 파라미터를 시그널링하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 |
US9826240B2 (en) * | 2013-07-05 | 2017-11-21 | Texas Instruments Incorporated | High throughput VLSI architecture for HEVC SAO encoding |
JP6174966B2 (ja) * | 2013-10-17 | 2017-08-02 | キヤノン株式会社 | 画像符号化装置、画像符号化方法、及びプログラム |
US11076171B2 (en) | 2013-10-25 | 2021-07-27 | Microsoft Technology Licensing, Llc | Representing blocks with hash values in video and image coding and decoding |
CN105684441B (zh) | 2013-10-25 | 2018-09-21 | 微软技术许可有限责任公司 | 视频和图像编码中的基于散列的块匹配 |
TWI496456B (zh) * | 2013-11-19 | 2015-08-11 | Ind Tech Res Inst | 畫面間成本計算方法及畫面間成本計算裝置 |
CN103647975B (zh) * | 2013-12-02 | 2017-01-11 | 国家广播电影电视总局广播科学研究院 | 基于直方图分析的改进样本自适应偏移滤波方法 |
CN110072106B (zh) * | 2013-12-13 | 2022-06-07 | 北京三星通信技术研究有限公司 | 视频编解码中像素处理的方法和装置 |
US9628822B2 (en) | 2014-01-30 | 2017-04-18 | Qualcomm Incorporated | Low complexity sample adaptive offset encoding |
KR102185245B1 (ko) | 2014-03-04 | 2020-12-01 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 해시 기반 블록 매칭을 위한 해시 테이블 구성 및 이용가능성 검사 |
WO2015131326A1 (en) | 2014-03-04 | 2015-09-11 | Microsoft Technology Licensing, Llc | Encoder-side decisions for block flipping and skip mode in intra block copy prediction |
JP6338408B2 (ja) * | 2014-03-14 | 2018-06-06 | 三菱電機株式会社 | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 |
CN105409221B (zh) | 2014-04-29 | 2020-03-06 | 微软技术许可有限责任公司 | 用于样本自适应偏移滤波的编码器侧决策 |
CN105323588B (zh) * | 2014-06-16 | 2019-06-21 | 敦泰电子股份有限公司 | 一种动态适应压缩参数的影像压缩*** |
EP3158751B1 (en) | 2014-06-23 | 2019-07-31 | Microsoft Technology Licensing, LLC | Encoder decisions based on results of hash-based block matching |
KR102276854B1 (ko) * | 2014-07-31 | 2021-07-13 | 삼성전자주식회사 | 인루프 필터 파라미터 예측을 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 |
EP3202142B1 (en) | 2014-09-30 | 2020-11-11 | Microsoft Technology Licensing, LLC | Hash-based encoder decisions for video coding |
GB2533905A (en) * | 2014-10-06 | 2016-07-13 | Canon Kk | Method and apparatus for video coding and decoding |
CN107251053B (zh) * | 2015-02-13 | 2018-08-28 | 北京市商汤科技开发有限公司 | 一种降低有损压缩图像的压缩失真的方法及装置 |
JP6454229B2 (ja) * | 2015-06-10 | 2019-01-16 | 日本電信電話株式会社 | 画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム |
US20170006283A1 (en) * | 2015-06-30 | 2017-01-05 | Microsoft Technology Licensing, Llc | Computationally efficient sample adaptive offset filtering during video encoding |
KR102423880B1 (ko) | 2015-10-06 | 2022-07-21 | 삼성전자주식회사 | 인코더의 작동방법과 상기 인코더를 포함하는 시스템 온 칩의 작동 방법 |
WO2017078450A1 (ko) * | 2015-11-04 | 2017-05-11 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 디코딩 방법 및 장치 |
US10728546B2 (en) | 2016-02-05 | 2020-07-28 | Apple Inc. | Sample adaptive offset systems and methods |
EP3220643A1 (en) * | 2016-03-14 | 2017-09-20 | Thomson Licensing | Method and device for encoding at least one image unit, and method and device for decoding a stream representative of at least one image unit |
CN105959731B (zh) * | 2016-04-28 | 2019-02-05 | 西安交通大学 | 一种数字电视的统计复用编码方法 |
US10390039B2 (en) | 2016-08-31 | 2019-08-20 | Microsoft Technology Licensing, Llc | Motion estimation for screen remoting scenarios |
EP3306922A1 (en) * | 2016-10-05 | 2018-04-11 | Thomson Licensing | Method and apparatus for encoding a picture using rate-distortion based block splitting |
US10432972B2 (en) * | 2016-10-19 | 2019-10-01 | Google Llc | Guided offset correction for loop restoration in video coding |
US11095877B2 (en) | 2016-11-30 | 2021-08-17 | Microsoft Technology Licensing, Llc | Local hash-based motion estimation for screen remoting scenarios |
WO2018120230A1 (zh) * | 2016-12-30 | 2018-07-05 | 华为技术有限公司 | 图像滤波方法、装置以及设备 |
JP7001346B2 (ja) | 2017-01-30 | 2022-01-19 | ダイキン工業株式会社 | 冷凍装置 |
KR20220127948A (ko) * | 2017-03-22 | 2022-09-20 | 한양대학교 산학협력단 | 적응적인 화소 분류 기준에 따른 인루프 필터링 방법 |
CN107360431B (zh) * | 2017-06-30 | 2019-08-02 | 武汉斗鱼网络科技有限公司 | 一种帧类型的判断方法及装置 |
CN107707915B (zh) * | 2017-09-30 | 2019-11-12 | 上海兆芯集成电路有限公司 | 采样点自适应偏移滤波的控制方法及其影像处理*** |
WO2019082291A1 (ja) * | 2017-10-25 | 2019-05-02 | 株式会社ソシオネクスト | 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム |
CN111587576B (zh) | 2018-01-05 | 2023-03-31 | 株式会社索思未来 | 编码方法、解码方法、编码装置、解码装置以及记录介质 |
GB2574423A (en) * | 2018-06-05 | 2019-12-11 | Canon Kk | Video coding and decoding |
JP6990627B2 (ja) | 2018-06-29 | 2022-01-12 | ダイキン工業株式会社 | 屋外空気調和装置 |
KR102312337B1 (ko) * | 2018-10-19 | 2021-10-14 | 삼성전자주식회사 | Ai 부호화 장치 및 그 동작방법, 및 ai 복호화 장치 및 그 동작방법 |
WO2020094153A1 (en) * | 2018-11-09 | 2020-05-14 | Beijing Bytedance Network Technology Co., Ltd. | Component based loop filter |
GB2580173B (en) | 2018-12-21 | 2022-07-27 | Canon Kk | A filter |
CN109862374A (zh) * | 2019-01-07 | 2019-06-07 | 北京大学 | 一种自适应环路滤波方法及装置 |
CN109859126B (zh) * | 2019-01-17 | 2021-02-02 | 浙江大华技术股份有限公司 | 一种视频降噪方法、装置、电子设备及存储介质 |
CN117956148A (zh) | 2019-03-08 | 2024-04-30 | 佳能株式会社 | 自适应环路滤波器 |
CN110677649B (zh) * | 2019-10-16 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 基于机器学习的去伪影方法、去伪影模型训练方法及装置 |
WO2021093801A1 (en) * | 2019-11-14 | 2021-05-20 | Beijing Bytedance Network Technology Co., Ltd. | Coding of low bit-depth visual media data |
US20230024020A1 (en) * | 2019-12-09 | 2023-01-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive loop filtering |
EP4074042A4 (en) | 2019-12-17 | 2023-01-25 | Alibaba Group Holding Limited | METHODS OF ACHIEVING MOTION COMPENSATION WITH ENVELOPMENT |
US11375221B2 (en) * | 2020-02-12 | 2022-06-28 | Tencent America LLC | Method and apparatus for cross-component filtering |
US11785237B2 (en) | 2020-03-26 | 2023-10-10 | Alibaba Group Holding Limited | Methods for signaling video coding data |
CN111698511B (zh) * | 2020-06-07 | 2022-09-16 | 咪咕文化科技有限公司 | 图像滤波方法、装置、设备及可读存储介质 |
US11202085B1 (en) | 2020-06-12 | 2021-12-14 | Microsoft Technology Licensing, Llc | Low-cost hash table construction and hash-based block matching for variable-size blocks |
US11750816B2 (en) | 2020-12-03 | 2023-09-05 | Alibaba Group Holding Limited | Methods and systems for cross-component sample adaptive offset |
CN112862924B (zh) * | 2020-12-31 | 2022-11-25 | 哈尔滨工业大学(威海) | 多模态成像中图像重建方法、装置和多模态成像技术*** |
TWI764492B (zh) * | 2020-12-31 | 2022-05-11 | 鴻海精密工業股份有限公司 | 缺陷檢測分類方法、裝置、電子設備及存儲介質 |
CN113099230B (zh) * | 2021-02-22 | 2022-09-06 | 浙江大华技术股份有限公司 | 编码方法、装置、电子设备及计算机可读存储介质 |
CN112819017B (zh) * | 2021-03-09 | 2022-08-16 | 遵义师范学院 | 基于直方图的高精度色偏图像识别方法 |
CN113068037B (zh) * | 2021-03-17 | 2022-12-06 | 上海哔哩哔哩科技有限公司 | 用于样点自适应补偿的方法及装置、设备和介质 |
CN112752104B (zh) * | 2021-04-06 | 2021-06-08 | 浙江华创视讯科技有限公司 | 图像补偿方法、装置、存储介质及电子设备 |
KR20240042642A (ko) * | 2021-08-19 | 2024-04-02 | 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 | 교차 성분 샘플 적응적 오프셋에서의 코딩 강화 |
Family Cites Families (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0223557A3 (en) | 1985-11-15 | 1989-04-05 | Data General Corporation | Display control in a data processing system |
KR0148130B1 (ko) | 1992-05-18 | 1998-09-15 | 강진구 | 블럭킹아티팩트를 억제시키는 부호화/복호화 방법 및 그 장치 |
US5502489A (en) * | 1994-01-03 | 1996-03-26 | Daewoo Electronics Co., Ltd. | Method for the motion adaptive spatial filtering of video signals in an image coding apparatus |
US6519369B1 (en) * | 1999-02-12 | 2003-02-11 | Sony Corporation | Method and apparatus for filter tap expansion |
FI117533B (fi) | 2000-01-20 | 2006-11-15 | Nokia Corp | Menetelmä digitaalisten videokuvien suodattamiseksi |
JP4156188B2 (ja) * | 2000-10-20 | 2008-09-24 | パイオニア株式会社 | 情報出力装置及び情報出力方法、情報記録装置及び情報記録方法、情報出力記録システム及び情報出力記録方法並びに情報記録媒体 |
US7450641B2 (en) | 2001-09-14 | 2008-11-11 | Sharp Laboratories Of America, Inc. | Adaptive filtering based upon boundary strength |
US7650032B2 (en) * | 2003-08-19 | 2010-01-19 | Panasonic Corporation | Method for encoding moving image and method for decoding moving image |
EP1510973A3 (en) * | 2003-08-29 | 2006-08-16 | Samsung Electronics Co., Ltd. | Method and apparatus for image-based photorealistic 3D face modeling |
US7369709B2 (en) | 2003-09-07 | 2008-05-06 | Microsoft Corporation | Conditional lapped transform |
CN1285214C (zh) * | 2004-01-14 | 2006-11-15 | 华中科技大学 | 一种环路滤波方法和环路滤波器 |
US7397854B2 (en) * | 2004-04-29 | 2008-07-08 | Mediatek Incorporation | Adaptive de-blocking filtering apparatus and method for MPEG video decoder |
US7876833B2 (en) | 2005-04-11 | 2011-01-25 | Sharp Laboratories Of America, Inc. | Method and apparatus for adaptive up-scaling for spatially scalable coding |
WO2006112996A1 (en) * | 2005-04-13 | 2006-10-26 | Thomson Licensing | Luma and chroma decoding using a common predictor |
US7511769B2 (en) * | 2005-04-19 | 2009-03-31 | Texas Instruments Incorporated | Interframe noise reduction for video |
JP5112300B2 (ja) * | 2005-06-01 | 2013-01-09 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | コンテンツ項目の特性を決定する方法および電子装置 |
WO2006137006A2 (en) | 2005-06-23 | 2006-12-28 | Koninklijke Philips Electronics N.V. | Transmission of 3d image using 2d image and depth data |
KR100678958B1 (ko) * | 2005-07-29 | 2007-02-06 | 삼성전자주식회사 | 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더 |
CN100438629C (zh) * | 2005-09-19 | 2008-11-26 | 华为技术有限公司 | 图像编码处理中的环路滤波方法 |
KR100647402B1 (ko) | 2005-11-01 | 2006-11-23 | 매그나칩 반도체 유한회사 | 이미지 센서의 화질개선장치 및 그 방법 |
US7956930B2 (en) * | 2006-01-06 | 2011-06-07 | Microsoft Corporation | Resampling and picture resizing operations for multi-resolution video coding and decoding |
RU2406259C2 (ru) | 2006-03-27 | 2010-12-10 | Квэлкомм Инкорпорейтед | Способы и системы для кодирования уточняющих коэффициентов при сжатии видеоданных |
WO2007116551A1 (ja) * | 2006-03-30 | 2007-10-18 | Kabushiki Kaisha Toshiba | 画像符号化装置及び画像符号化方法並びに画像復号化装置及び画像復号化方法 |
US9001899B2 (en) | 2006-09-15 | 2015-04-07 | Freescale Semiconductor, Inc. | Video information processing system with selective chroma deblock filtering |
US20080080618A1 (en) | 2006-09-28 | 2008-04-03 | Kazuya Takagi | Video decoding apparatus and method of the same |
CN105357527A (zh) * | 2006-11-08 | 2016-02-24 | 汤姆逊许可证公司 | 用于环内去伪影滤波的方法和设备 |
CN100578618C (zh) * | 2006-12-04 | 2010-01-06 | 华为技术有限公司 | 一种解码方法及装置 |
US9445128B2 (en) * | 2006-12-08 | 2016-09-13 | Freescale Semiconductor, Inc. | System and method of determining deblocking control flag of scalable video system for indicating presentation of deblocking parameters for multiple layers |
JP2010514246A (ja) * | 2006-12-18 | 2010-04-30 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 画像圧縮及び伸張 |
US8363734B2 (en) * | 2008-01-12 | 2013-01-29 | Huaya Microelectronics | Multi-directional comb filtering in a digital video decoder |
US8234193B2 (en) * | 2008-03-03 | 2012-07-31 | Wildfire Interactive, Inc. | Method and system for providing online promotions through a social network-based platform |
US8831086B2 (en) * | 2008-04-10 | 2014-09-09 | Qualcomm Incorporated | Prediction techniques for interpolation in video coding |
JP2009290552A (ja) * | 2008-05-29 | 2009-12-10 | Fujifilm Corp | 動画圧縮装置および動画圧縮プログラム |
KR20090129926A (ko) * | 2008-06-13 | 2009-12-17 | 삼성전자주식회사 | 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 |
US9571856B2 (en) * | 2008-08-25 | 2017-02-14 | Microsoft Technology Licensing, Llc | Conversion operations in scalable video encoding and decoding |
JP5161702B2 (ja) * | 2008-08-25 | 2013-03-13 | キヤノン株式会社 | 撮像装置、撮像システム、及び焦点検出方法 |
CN101742290B (zh) * | 2008-11-12 | 2013-03-27 | 北京中星微电子有限公司 | 视频编、解码降噪方法和视频编、解码降噪装置 |
US20110026593A1 (en) * | 2009-02-10 | 2011-02-03 | New Wei Lee | Image processing apparatus, image processing method, program and integrated circuit |
CN101511024A (zh) * | 2009-04-01 | 2009-08-19 | 北京航空航天大学 | 实时电子稳像中基于运动状态识别的运动补偿方法 |
EP2237557A1 (en) * | 2009-04-03 | 2010-10-06 | Panasonic Corporation | Coding for filter coefficients |
KR101749269B1 (ko) | 2009-06-30 | 2017-06-22 | 삼성전자주식회사 | 적응적인 인루프 필터를 이용한 동영상 부호화와 복호화 장치 및 그 방법 |
US10291938B2 (en) * | 2009-10-05 | 2019-05-14 | Interdigital Madison Patent Holdings | Methods and apparatus for adaptive filtering of prediction pixels for chroma components in video encoding and decoding |
US20120320973A1 (en) * | 2010-03-09 | 2012-12-20 | Thomson Licensing | Methods and apparatus for a classification-based loop filter |
KR101529992B1 (ko) * | 2010-04-05 | 2015-06-18 | 삼성전자주식회사 | 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치 |
US8428372B2 (en) * | 2010-04-09 | 2013-04-23 | The Boeing Company | Method, apparatus and computer program product for compressing data |
CN101860753B (zh) * | 2010-04-30 | 2012-10-03 | 北京航空航天大学 | 一种基于分形的视频压缩与解压缩方法 |
US9094658B2 (en) * | 2010-05-10 | 2015-07-28 | Mediatek Inc. | Method and apparatus of adaptive loop filtering |
US8660174B2 (en) * | 2010-06-15 | 2014-02-25 | Mediatek Inc. | Apparatus and method of adaptive offset for video coding |
US9247265B2 (en) * | 2010-09-01 | 2016-01-26 | Qualcomm Incorporated | Multi-input adaptive filter based on combination of sum-modified Laplacian filter indexing and quadtree partitioning |
CA2805722C (en) * | 2010-10-05 | 2016-03-29 | Ching-Yeh Chen | Method and apparatus of region-based adaptive loop filtering |
US9055305B2 (en) * | 2011-01-09 | 2015-06-09 | Mediatek Inc. | Apparatus and method of sample adaptive offset for video coding |
BR112013011053A8 (pt) * | 2010-11-10 | 2016-08-23 | Sony Corp | Dispositivo e método de processamento de imagem |
US9161041B2 (en) * | 2011-01-09 | 2015-10-13 | Mediatek Inc. | Apparatus and method of efficient sample adaptive offset |
WO2012092787A1 (en) * | 2011-01-09 | 2012-07-12 | Mediatek Inc. | Apparatus and method of efficient sample adaptive offset |
US20120183078A1 (en) | 2011-01-14 | 2012-07-19 | Samsung Electronics Co., Ltd. | Filter adaptation with directional features for video/image coding |
US9001883B2 (en) * | 2011-02-16 | 2015-04-07 | Mediatek Inc | Method and apparatus for slice common information sharing |
GB2488830B (en) | 2011-03-10 | 2015-07-29 | Canon Kk | Method and device for encoding image data and method and device for decoding image data |
CN103460699B (zh) | 2011-03-30 | 2017-06-20 | Lg电子株式会社 | 环路滤波方法及其设备 |
HUE042699T2 (hu) * | 2011-04-21 | 2019-07-29 | Hfi Innovation Inc | Eljárás és készülék továbbfejlesztett hurokszûréshez |
US9008170B2 (en) | 2011-05-10 | 2015-04-14 | Qualcomm Incorporated | Offset type and coefficients signaling method for sample adaptive offset |
CN103535035B (zh) | 2011-05-16 | 2017-03-15 | 寰发股份有限公司 | 用于亮度和色度分量的样本自适应偏移的方法和装置 |
PL3787289T3 (pl) * | 2011-06-14 | 2022-12-12 | Lg Electronics Inc. | Sposób kodowania i dekodowania informacji o obrazie |
WO2012175195A1 (en) * | 2011-06-20 | 2012-12-27 | Panasonic Corporation | Simplified pipeline for filtering |
PT3361725T (pt) * | 2011-06-23 | 2020-05-06 | Huawei Tech Co Ltd | Dispositivo de descodificação de desvios, dispositivo de codificação de desvios, dispositivo de filtro de imagem e estrutura de dados |
WO2012176964A1 (ko) * | 2011-06-24 | 2012-12-27 | 엘지전자 주식회사 | 영상 정보 부호화 및 복호화 방법 |
CN105049864A (zh) * | 2011-06-28 | 2015-11-11 | 三星电子株式会社 | 根据像素分类使用偏移调整的视频解码方法及其设备 |
EP2988511A1 (en) * | 2011-08-04 | 2016-02-24 | MediaTek Inc. | Method and apparatus for reordered binarization of syntax elements in cabac |
US9344743B2 (en) | 2011-08-24 | 2016-05-17 | Texas Instruments Incorporated | Flexible region based sample adaptive offset (SAO) and adaptive loop filter (ALF) |
US10070152B2 (en) | 2011-08-24 | 2018-09-04 | Texas Instruments Incorporated | Sample adaptive offset (SAO) parameter signaling |
WO2013042884A1 (ko) | 2011-09-19 | 2013-03-28 | 엘지전자 주식회사 | 영상 부호화/복호화 방법 및 그 장치 |
KR20130034566A (ko) * | 2011-09-28 | 2013-04-05 | 한국전자통신연구원 | 제한된 오프셋 보상 및 루프 필터를 기반으로 하는 영상 부호화 및 복호화 방법 및 그 장치 |
WO2013046990A1 (ja) * | 2011-09-29 | 2013-04-04 | シャープ株式会社 | オフセット復号装置、オフセット符号化装置、画像フィルタ装置、および、データ構造 |
US20130083844A1 (en) * | 2011-09-30 | 2013-04-04 | In Suk Chong | Coefficient coding for sample adaptive offset and adaptive loop filter |
US9357235B2 (en) * | 2011-10-13 | 2016-05-31 | Qualcomm Incorporated | Sample adaptive offset merged with adaptive loop filter in video coding |
US20140198844A1 (en) * | 2011-10-24 | 2014-07-17 | Mediatek Inc. | Method and apparatus for non-cross-tile loop filtering |
JP2013093792A (ja) * | 2011-10-27 | 2013-05-16 | Sony Corp | 画像処理装置および方法 |
KR102007050B1 (ko) | 2011-11-03 | 2019-10-01 | 선 페이턴트 트러스트 | 펄스 코드 변조 모드에서 부호화된 블록의 필터링 |
JP2013138395A (ja) * | 2011-11-04 | 2013-07-11 | Sharp Corp | 画像フィルタ装置、画像復号装置、画像符号化装置、および、データ構造 |
US10051289B2 (en) * | 2011-11-04 | 2018-08-14 | Qualcomm Incorporated | Adaptive center band offset filter for video coding |
GB201119206D0 (en) | 2011-11-07 | 2011-12-21 | Canon Kk | Method and device for providing compensation offsets for a set of reconstructed samples of an image |
US20130136173A1 (en) | 2011-11-15 | 2013-05-30 | Panasonic Corporation | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus |
CN104869416B (zh) * | 2011-12-22 | 2018-08-03 | 三星电子株式会社 | 视频解码设备 |
US9161035B2 (en) | 2012-01-20 | 2015-10-13 | Sony Corporation | Flexible band offset mode in sample adaptive offset in HEVC |
US9380302B2 (en) | 2012-02-27 | 2016-06-28 | Texas Instruments Incorporated | Sample adaptive offset (SAO) parameter signaling |
CN104335587B (zh) * | 2012-07-04 | 2018-06-19 | 英特尔公司 | 对于三维视频译码的视图间滤波器参数重复使用 |
SG10201703660TA (en) * | 2012-07-16 | 2017-06-29 | Samsung Electronics Co Ltd | Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus for signaling sao parameters |
-
2011
- 2011-11-07 GB GBGB1119206.9A patent/GB201119206D0/en not_active Ceased
-
2012
- 2012-01-19 GB GB1200918.9A patent/GB2496213B/en active Active
- 2012-02-24 GB GB1203285.0A patent/GB2499983A/en not_active Withdrawn
- 2012-03-26 GB GB1205304.7A patent/GB2496220A/en not_active Withdrawn
- 2012-04-13 GB GB1206591.8A patent/GB2496222A/en not_active Withdrawn
- 2012-11-07 DK DK12783599.9T patent/DK2777253T3/en active
- 2012-11-07 BR BR122019028117-3A patent/BR122019028117B1/pt active IP Right Grant
- 2012-11-07 CN CN201710785308.5A patent/CN107483935B/zh active Active
- 2012-11-07 BR BR122019026461-9A patent/BR122019026461B1/pt active IP Right Grant
- 2012-11-07 EP EP17161216.1A patent/EP3247117B1/en active Active
- 2012-11-07 US US14/356,831 patent/US10085042B2/en active Active
- 2012-11-07 EP EP19207314.6A patent/EP3648461A1/en active Pending
- 2012-11-07 RU RU2014123360/08A patent/RU2586862C2/ru active
- 2012-11-07 ES ES12783599.9T patent/ES2628070T3/es active Active
- 2012-11-07 ES ES12784571.7T patent/ES2626823T3/es active Active
- 2012-11-07 EP EP19218277.2A patent/EP3657790B1/en active Active
- 2012-11-07 US US14/356,842 patent/US9118931B2/en active Active
- 2012-11-07 BR BR122019026459-7A patent/BR122019026459B1/pt active IP Right Grant
- 2012-11-07 JP JP2014539364A patent/JP6184416B2/ja active Active
- 2012-11-07 KR KR1020187032811A patent/KR102030304B1/ko active IP Right Grant
- 2012-11-07 PL PL17161216T patent/PL3247117T3/pl unknown
- 2012-11-07 EP EP12784571.7A patent/EP2777255B1/en active Active
- 2012-11-07 IN IN4154CHN2014 patent/IN2014CN04154A/en unknown
- 2012-11-07 EP EP18173012.8A patent/EP3396957B1/en active Active
- 2012-11-07 CN CN201710785033.5A patent/CN107707914B/zh active Active
- 2012-11-07 HU HUE19218280A patent/HUE057826T2/hu unknown
- 2012-11-07 KR KR1020187032998A patent/KR102068431B1/ko active IP Right Grant
- 2012-11-07 EP EP12783601.3A patent/EP2777254B1/en active Active
- 2012-11-07 EP EP17186037.2A patent/EP3270592B1/en active Active
- 2012-11-07 PL PL19218279T patent/PL3657791T3/pl unknown
- 2012-11-07 KR KR1020147017658A patent/KR101920105B1/ko active IP Right Grant
- 2012-11-07 WO PCT/EP2012/072069 patent/WO2013068427A2/en active Application Filing
- 2012-11-07 HU HUE19218279A patent/HUE057828T2/hu unknown
- 2012-11-07 DK DK12784571.7T patent/DK2777255T3/en active
- 2012-11-07 CN CN201280059766.6A patent/CN103975588B/zh active Active
- 2012-11-07 HU HUE17161216A patent/HUE048923T2/hu unknown
- 2012-11-07 ES ES19218279T patent/ES2905473T3/es active Active
- 2012-11-07 KR KR1020197028861A patent/KR20190114049A/ko not_active Application Discontinuation
- 2012-11-07 CN CN201710785174.7A patent/CN107465918B/zh active Active
- 2012-11-07 HU HUE19218277A patent/HUE057829T2/hu unknown
- 2012-11-07 ES ES18173012T patent/ES2771249T3/es active Active
- 2012-11-07 BR BR112014010885-4A patent/BR112014010885B1/pt active IP Right Grant
- 2012-11-07 CN CN201710785191.0A patent/CN107465919B/zh active Active
- 2012-11-07 CN CN201280059744.XA patent/CN103975587B/zh active Active
- 2012-11-07 CN CN201710229259.7A patent/CN107197270B/zh active Active
- 2012-11-07 PL PL19218280T patent/PL3657792T3/pl unknown
- 2012-11-07 ES ES19218277T patent/ES2906155T3/es active Active
- 2012-11-07 CN CN201280059765.1A patent/CN103975590B/zh active Active
- 2012-11-07 JP JP2014539365A patent/JP6067024B2/ja active Active
- 2012-11-07 CN CN201710229781.5A patent/CN107396105B/zh active Active
- 2012-11-07 EP EP12783599.9A patent/EP2777253B1/en active Active
- 2012-11-07 BR BR122019028116-5A patent/BR122019028116B1/pt active IP Right Grant
- 2012-11-07 KR KR1020187032809A patent/KR102029614B1/ko active IP Right Grant
- 2012-11-07 KR KR1020187032999A patent/KR102083280B1/ko active IP Right Grant
- 2012-11-07 PL PL19218277T patent/PL3657790T3/pl unknown
- 2012-11-07 KR KR1020187032810A patent/KR101972366B1/ko active IP Right Grant
- 2012-11-07 CN CN201710229740.6A patent/CN107197271B/zh active Active
- 2012-11-07 KR KR1020207005285A patent/KR102130480B1/ko active IP Right Grant
- 2012-11-07 CN CN201710229739.3A patent/CN107347156B/zh active Active
- 2012-11-07 KR KR1020187033000A patent/KR102068432B1/ko active IP Right Grant
- 2012-11-07 PL PL18173012T patent/PL3396957T3/pl unknown
- 2012-11-07 CN CN202010208276.4A patent/CN111405278B/zh active Active
- 2012-11-07 BR BR122019026460-0A patent/BR122019026460B1/pt active IP Right Grant
- 2012-11-07 BR BR122019028118-1A patent/BR122019028118B1/pt active IP Right Grant
- 2012-11-07 BR BR122019028115-7A patent/BR122019028115B1/pt active IP Right Grant
- 2012-11-07 CN CN201710228850.0A patent/CN107295337B/zh active Active
- 2012-11-07 RU RU2016118608A patent/RU2641230C1/ru active
- 2012-11-07 EP EP19218280.6A patent/EP3657792B1/en active Active
- 2012-11-07 HU HUE18173012A patent/HUE047964T2/hu unknown
- 2012-11-07 IN IN4153CHN2014 patent/IN2014CN04153A/en unknown
- 2012-11-07 RU RU2016118606A patent/RU2636666C1/ru active
- 2012-11-07 KR KR1020147019037A patent/KR101920529B1/ko active IP Right Grant
- 2012-11-07 BR BR122019026456-2A patent/BR122019026456B1/pt active IP Right Grant
- 2012-11-07 US US14/356,751 patent/US9106931B2/en active Active
- 2012-11-07 CN CN201710326608.7A patent/CN107197256B/zh active Active
- 2012-11-07 ES ES19218280T patent/ES2906724T3/es active Active
- 2012-11-07 WO PCT/EP2012/072071 patent/WO2013068428A2/en active Application Filing
- 2012-11-07 KR KR1020147014410A patent/KR101530832B1/ko active IP Right Grant
- 2012-11-07 EP EP17161217.9A patent/EP3229471A1/en not_active Withdrawn
- 2012-11-07 RU RU2014123386/08A patent/RU2586863C2/ru active
- 2012-11-07 EP EP19218279.8A patent/EP3657791B1/en active Active
- 2012-11-07 BR BR112014010882-0A patent/BR112014010882B1/pt active IP Right Grant
- 2012-11-07 ES ES17161216T patent/ES2772837T3/es active Active
- 2012-11-07 CN CN201710785118.3A patent/CN107566840B/zh active Active
- 2012-11-07 WO PCT/EP2012/072077 patent/WO2013068433A2/en active Application Filing
- 2012-11-07 KR KR1020147014408A patent/KR101530244B1/ko active IP Right Grant
-
2015
- 2015-07-21 US US14/805,271 patent/US9774886B2/en active Active
- 2015-07-24 US US14/808,753 patent/US9794596B2/en active Active
- 2015-07-28 US US14/811,608 patent/US9848208B2/en active Active
-
2016
- 2016-12-21 JP JP2016248232A patent/JP6324481B2/ja active Active
-
2017
- 2017-06-07 US US15/616,808 patent/US10462493B2/en active Active
- 2017-07-25 JP JP2017143419A patent/JP6419269B2/ja active Active
- 2017-08-25 US US15/687,307 patent/US10575020B2/en active Active
- 2017-10-27 RU RU2017137593A patent/RU2684478C1/ru active
- 2017-12-27 RU RU2017146196A patent/RU2676410C1/ru active
-
2018
- 2018-02-23 JP JP2018030503A patent/JP6490264B2/ja active Active
- 2018-04-11 JP JP2018076454A patent/JP6490276B2/ja active Active
- 2018-08-23 US US16/110,929 patent/US10771819B2/en active Active
- 2018-10-11 JP JP2018192306A patent/JP6598957B2/ja active Active
- 2018-12-13 RU RU2018144123A patent/RU2701130C1/ru active
- 2018-12-13 RU RU2018144124A patent/RU2702054C1/ru active
-
2019
- 2019-02-27 JP JP2019034903A patent/JP6748749B2/ja active Active
- 2019-03-29 RU RU2019109208A patent/RU2707926C1/ru active
- 2019-04-01 RU RU2019109448A patent/RU2708351C1/ru active
- 2019-05-30 US US16/427,167 patent/US10743033B2/en active Active
- 2019-08-16 US US16/543,348 patent/US11076173B2/en active Active
- 2019-09-18 RU RU2019129350A patent/RU2716535C1/ru active
- 2019-10-02 JP JP2019182458A patent/JP6797993B2/ja active Active
- 2019-11-22 RU RU2019137625A patent/RU2019137625A/ru not_active Application Discontinuation
-
2020
- 2020-02-27 RU RU2020108456A patent/RU2020108456A/ru unknown
- 2020-11-19 JP JP2020192241A patent/JP7077385B2/ja active Active
-
2021
- 2021-06-14 US US17/346,917 patent/US11601687B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2628070T3 (es) | Procedimiento y dispositivo para proporcionar desplazamientos de compensación para un conjunto de muestras reconstruidas de una imagen |