ES2630107T3 - Procedimiento y dispositivo de interpolación de imágenes mediante el uso de un filtro de interpolación de alisado - Google Patents

Procedimiento y dispositivo de interpolación de imágenes mediante el uso de un filtro de interpolación de alisado Download PDF

Info

Publication number
ES2630107T3
ES2630107T3 ES14193524.7T ES14193524T ES2630107T3 ES 2630107 T3 ES2630107 T3 ES 2630107T3 ES 14193524 T ES14193524 T ES 14193524T ES 2630107 T3 ES2630107 T3 ES 2630107T3
Authority
ES
Spain
Prior art keywords
unit
interpolation
coding
smoothing
filter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES14193524.7T
Other languages
English (en)
Inventor
Alexander Alshin
Elena Alshina
Jianle Chen
Woo-Jin Han
Nikolay Shlyakhov
Yoon-Mi Hong
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Application granted granted Critical
Publication of ES2630107T3 publication Critical patent/ES2630107T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • G06F17/175Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method of multidimensional data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4007Interpolation-based scaling, e.g. bilinear interpolation
    • G06T5/70
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

Abstract

Un procedimiento de compensación de movimiento, comprendiendo el procedimiento: determinar, en una imagen de referencia de luma, un bloque de referencia de luma para la predicción de un bloque actual, mediante el uso de un vector de movimiento de luma del bloque actual; generar una muestra de luma de una ubicación de 1/2 píxel en el bloque de referencia de luma mediante la aplicación de un filtro de interpolación de 8 tomas a unas muestras de luma de una ubicación de píxel de valor entero de la imagen de referencia de luma; determinar, en una imagen de referencia de croma, un bloque de referencia de croma para la predicción de un bloque actual, mediante el uso de un vector de movimiento de croma del bloque actual; y generar una muestra de croma de una ubicación de 1/2 píxel en el bloque de referencia de croma mediante la aplicación de un filtro de interpolación a unas muestras de croma de una ubicación de píxel de valor entero de la imagen de referencia de croma; en el que el filtro de interpolación de 8 tomas comprende ocho coeficientes de filtro para generar la muestra de luma de la ubicación de 1/2 píxel, que son { -1, 4, -11, 40, 40, -11, 4, -1 }.

Description

imagen1
imagen2
imagen3
imagen4
imagen5
10
15
20
25
30
35
40
45
50
55
alisado que tiene un alisamiento más fuerte que la de un filtro de interpolación para un píxel de luma.
Por ejemplo, con el fin interpolar un píxel de croma, un filtro de interpolación incluye unos coeficientes de filtro determinados sobre la base de una función de curva o un filtro de interpolación que incluye unos coeficientes de filtro determinados sobre la base de una función polinómica se puede seleccionar. Los coeficientes de filtro determinados sobre la base de una función de curva alisan muy fuertemente los píxeles de unidad de pel de valor entero de límite sobre la base de una condición de límite de la función de curva. El filtro de interpolación determinado sobre la base de una función polinómica puede incluir unos coeficientes de filtro para maximizar una respuesta de baja frecuencia.
Asimismo, con el fin interpolar un píxel de croma, un filtro de interpolación que incluye unos coeficientes de filtro determinados sobre la base de un parámetro de alisado que tiene un alisamiento más fuerte que la de un filtro de interpolación para un píxel de luma, un filtro de interpolación que incluye unos coeficientes de filtro combinados con una función de ventana para eliminar componentes de alta frecuencia y un filtro de interpolación para un píxel de luma se puede seleccionar.
Con el fin de obtener un resultado de interpolación liso de una componente de croma, una interpolación de alisado que se obtiene mediante la combinación de coeficientes de filtro para realizar transformación y una transformación inversa sobre la base de una pluralidad de funciones de base, y coeficientes de función de ventana para realizar un filtrado de paso bajo se puede seleccionar.
Se usa interpolación de imagen para transformar en una imagen de alta calidad, para transformar una imagen entrelazada en una imagen progresiva, o para muestrear de forma ascendente una imagen de baja calidad en una imagen de alta calidad. Asimismo, cuando un aparato de codificación de vídeo codifica una imagen, un estimador de movimiento y un condensador pueden realizar una inter predicción mediante el uso de una trama de referencia interpolada. La predicción de inter predicción puede aumentar mediante la interpolación de una trama de referencia para generar una imagen de alta calidad, y realizar estimación compensación de movimiento sobre la base de la imagen de alta calidad. De forma similar, cuando un aparato de descodificación de imagen descodifica una imagen, un compensador de movimiento puede realizar compensación de movimiento mediante el uso de una trama de referencia interpolada, aumentando de ese modo la precisión de la inter predicción.
Asimismo, el filtro de interpolación de alisado usado por el aparato de interpolación de imagen 10 puede obtener un resultado de interpolación liso o reducir los componentes de alta frecuencia en un resultado de interpolación usando un filtro de interpolación. Debido a que las componentes de alta frecuencia reducen la eficiencia de compresión de imagen, la eficiencia de codificación y de descodificación de imagen también se puede mejorar mediante la realización de una interpolación de imagen ajustable por alisamiento.
La figura 2 es un diagrama para describir una relación entre una unidad de pel de valor entero y una unidad de subpel.
Haciendo referencia a la figura 2, el aparato de interpolación de imagen 10 genera valores de píxel de ubicaciones ‘X’ mediante la interpolación de valores de píxel de unidad de pel de valor entero de ubicaciones ‘O’ de un bloque previamente determinado 20 en un dominio espacial. Los valores de píxel de las ubicaciones ‘X’ son valores de píxel de unidad de sub-pel de ubicaciones de interpolación determinadas por αx y αy. A pesar de que la figura 2 ilustra que el bloque previamente determinado 20 es un bloque 4 × 4, se entenderá fácilmente por un experto en la técnica que el tamaño de bloque no está limitado a 4 × 4 y puede ser mayor o menor que 4 × 4.
En el procesamiento de vídeo, se usa un procedimiento de movimiento para realizar compensación de movimiento y predicción en una imagen actual. Sobre la base de la codificación por predicción, se hace referencia a una imagen previamente descodificada para predecir una imagen actual, y un vector de movimiento indica un punto previamente determinado de una imagen de referencia. Por lo tanto, un vector de movimiento indica un píxel de unidad de pel de valor entero de una imagen de referencia.
No obstante, un píxel que se hará referencia por una imagen actual se puede ubicar entre píxeles de unidad de pel de valor entero de una imagen de referencia. Tal ubicación se denomina como una ubicación de unidad de sub-pel. Debido a que un píxel no existe en una ubicación de unidad de sub-pel, simplemente se predice un valor de píxel de unidad de sub-pel mediante el uso de valores de píxel de unidad de pel de valor entero. Dicho de otra forma, se estima un valor de píxel de unidad de sub-pel mediante la interpolación de píxeles de unidad de pel de valor entero.
A continuación se describirá un procedimiento de interpolación de píxeles de unidad de pel de valor entero en detalle con referencia a las figuras 3 y 4A a 4C.
La figura 3 es un diagrama que ilustra píxeles de unidad de pel de valor entero adyacentes a los que se hará referencia para determinar un valor de píxel de unidad de sub-pel.
Haciendo referencia a la figura 3, el aparato de interpolación de imagen 10 genera un valor de píxel de unidad de sub-pel 35 de una ubicación de interpolación mediante la interpolación de valores de píxel de unidad de sub-pel de valor entero 31 y 33 en un dominio espacial. La ubicación de interpolación se determina por α.
imagen6
10
15
20
25
30
35
40
Por ejemplo, haciendo referencia a la figura 4A, con el fin de generar el valor de píxel de unidad de sub-pel 35 mediante la interpolación de los dos valores de píxel de unidad de pel de valor entero 31 y 33, mediante el uso de una pluralidad de valores de píxeles de unidad de valor entero adyacentes 37 y 39 incluyendo los valores de píxel de unidad depende del número entero 31 y 33, 0-ésimo y 1º píxeles se pueden interpolar mediante la realización de una DCT unidimensional en 2M valores de píxel de un valor de píxel -(M -1) a valor de píxel M-ésimo, y mediante la realización de una IDCT unidimensional sobre la base de unas funciones de base desfasada.
El interpolador 14 realiza inicialmente una DCT unidimensional en valores de píxel de unidad de pel de valor entero. La DCT unidimensional se puede realizar tal como se representa en la ecuación 1.
[Ecuación 1]
imagen7
p (l) representa los valores de píxel 37 y 39 de un valor de píxel -(M -1) a un valor de píxel M-ésimo, y Ck representa una pluralidad de coeficientes en un dominio de frecuencia, que se genera mediante la realización de una DCT unidimensional en los valores de píxel 37 y 39. En este caso, k es un número entero positivo que satisface la condición anterior de la ecuación 1.
Después de que se realice una DCT unidimensional sobre los valores de píxel 37 y 39 mediante el uso de la ecuación 1, el interpolador 14 realiza transformación inversa sobre los coeficientes tal como se representa la ecuación 2.
[Ecuación 2]
imagen8
α representa una ubicación de interpolación entre dos valores de píxel tal como se ilustra en las figuras 13A -13B, y puede tener varios valores fraccionarios tal como 1 / 2, 1 / 4, 3 / 4, 1 / 8, 3 / 8, 5 / 8, 7 / 8, 1 / 16, etc. El valor fraccionario no está limitado a un valor particular, y α puede ser un valor real en lugar de un valor fraccionario. P (α) representa el valor de píxel de unidad de sub-pel 35 de la ubicación de interpolación α, que se genera como un resultado de IDCT unidimensional.
Cuando la ecuación 2 se compara con la ecuación 1, la fase de una función de coseno que es una función de base usada para realizar una IDCT se determina sobre la base de un número fraccionario α en lugar de un número entero I, esa forma es diferente de la fase de una función de base usada para realizar una DCT unidimensional. Dicho de otra forma, la fase de cada función de base usada para realizar transformación inversa, es decir, una función de coseno, se desfasa sobre la base de 2α. Si el interpolador 14 realiza IDCT sobre la base de las funciones de coseno desfasado de acuerdo con la ecuación 2, el valor de píxel de unidad de sub-pel 35 de la ubicación de interpolación α, es decir, p (α), se genera.
La DCT de acuerdo con la ecuación 1 se genera por una ecuación de matriz representada en la ecuación 3.
[Ecuación 3]
C = D × REF
En el presente caso, C es una matriz 2M × 1 de los coeficientes 2M que se han descrito en lo que antecede en relación con la ecuación 1, y REF es una matriz 2M × 1 de los valores de píxel de unidad de pel de valor entero, es decir, los valores de píxel P-(M -1), ... PM, tal como se ha descrito en lo que antecede en relación con la ecuación 1. El número de valores de píxel de unidad de pel de valor entero usados para realizar una interpolación, es decir, 2M, se refiere al número de tomas de un filtro de interpolación unidimensional. D es una matriz cuadrada para realizar una DCT unidimensional y se puede definir tal como se representa en la Ecuación 4.
[Ecuación 4]
imagen9
5
10
15
20
25
30
35
k y l son números enteros que satisfacen las condiciones anteriores, y Dkl se refiere a un fila k y una columna l de la
matriz cuadrada D para realizar una DCT en la ecuación 3. M es igual que en la ecuación 3. IDCT usando una pluralidad de funciones de base desfasada de acuerdo con la ecuación 2 se expresa por una ecuación de matriz representada en la ecuación 5.
[Ecuación 5] P (α) =W (α) × C En el presente caso, P (α) es igual que en la ecuación 2, y W (α) es una matriz 1 × 2M para realizar una IDCT
unidimensional mediante el uso de una pluralidad de funciones de base desfasada y se pueden definir tal como se representa la ecuación 6. [Ecuación 6]
imagen10
k es un número entero que satisface la condición anterior, y Wk (α) se refiere a una columna K de la matriz W (α) que se ha descrito en lo que antecede en relación con la ecuación 5. Un filtro F (α) para realizar una DCT unidimensional e IDCT unidimensional usando una pluralidad de funciones de base desfasada de acuerdo con las ecuaciones 3 y 5 se puede definir tal como se representa en la ecuación 7.
[Ecuación 7]
imagen11
k y l son números enteros que satisfacen las condiciones anteriores, Fl (α) se refiere a una columna l de F (α) y W (α) y D son iguales que los de la ecuación 3.
Con el fin de generar valores de píxel de unidad de sub-pel más fuertemente alisados, el interpolador 14 puede cambiar un filtro de interpolación usado para realizar transformación y una transformación inversa sobre la base de una función de base.
Un caso en el que se usa una función de ventana, un caso en el que se usa una pluralidad de parámetros de alisado, un caso en el que se usa una función de curva como una función de base, y un caso en el que se usa una función polinómica como una función de base para determinar varios filtros de interpolación de alisado se describirán a continuación de forma secuencial en detalle.
< Filtro de interpolación de alisado usando una función de ventana >
Se describirá a continuación en detalle un procedimiento para alisar unos coeficientes de filtro de interpolación mediante el uso de una función de ventana.
Una función de ventana puede incluir una función de ventana de Hamming, una función de ventana de coseno, una función de ventana exponencial, una función de ventana de Hamming, una función de ventana de Blackman, y una función de ventana de triángulo. A pesar de que se describirán a continuación casos en los que los filtros de interpolación sobre la base de transformación y una transformación inversa se alisan mediante el uso de ciertas funciones de ventana para conveniencia de explicación, se entenderá fácilmente por un experto en la técnica que, además de las funciones de ventana descritas, también se pueden usar otras funciones de ventana que tienen respuestas de frecuencias similares.
imagen12
10
15
20
25
30
35
40
de unidad de pel de valor entero ubicado cerca de la ubicación de interpolación no cambia demasiado.
Asimismo, si se determina un filtro de interpolación de alisado al usa una función de ventana, se puede realizar un filtrado de interpolación después de que se alisen los píxeles de referencia de unidad de pel de valor entero. Los píxeles de referencia de unidad de pel de valor entero introducidos Ref = { p-M + 1, p-M + 2, ... , p0, p1, ... , pM } pueden incluir ruido o se pueden dañar debido a un error tal como un error de cuantificación. En ese sentido, si se alisan los píxeles de referencia de unidad de pel de valor entero antes de que se realice un filtrado de interpolación, el aparato de interpolación de imagen 10 puede mejorar un efecto de interpolación.
< Filtro de interpolación de alisado usando dos parámetros >
Un filtro de interpolación de alisado puede determinar el alisamiento de coeficientes de filtro sobre la base de dos parámetros. Los coeficientes de filtro de interpolación de alisado de unidad de sub-pel que se obtienen mediante la combinación de una matriz de alisado S y coeficientes de filtro de interpolación sobre la base de transformación y una transformación inversa satisfacen la ecuación 13.
[Ecuación 13]
imagen13
La ecuación 14 muestra un ejemplo de la matriz de alisado S. [Ecuación 14]
imagen14
La matriz de alisado S de acuerdo con la ecuación 14 es una matriz de 3 diagonales. Dicho de otra forma, de entre las componentes de la matriz de alisado S, las componentes diferentes a las componentes sobre una línea central y dos líneas diagonales correspondientes entre sí y adyacentes a la línea central son todos 0.
En la matriz de alisado S, un alisamiento σ1 se puede determinar sin importar la distancia (i -α) con respecto a los píxeles de unidad de pel de valor entero que se van a interpolar. En este caso, el alisado sobre la base de la matriz de alisado S se puede denominar como alisado uniforme.
Asimismo, la matriz de alisado S, el alisamiento σi puede variar sobre la base de un índice l de una ubicación de píxel de unidad de pel de valor entero. En este caso, el alisado sobre la base de la matriz de alisado S se puede denominar como alisado no uniforme. Por ejemplo, el alisado σi puede satisfacer la ecuación 15.
[Ecuación 15]
imagen15
Un índice positivo l puede aumentar un efecto de alisado si la distancia entre una ubicación de interpolación y un píxel de referencia de unidad de pel de valor entero es grande. Por consiguiente, el índice positivo l puede controlar la velocidad de alisado sobre la base de la distancia entre una ubicación de interpolación y un píxel de referencia de unidad de pel de valor entero. Un parámetro de alisado β puede controlar el intervalo de alisado alrededor de una ubicación de interpolación.
Si el parámetro de alisado β es menor que 0, la matriz de alisado S de acuerdo con la ecuación 13 se puede cambiar a un filtro de acentuación. Por consiguiente, si la matriz de alisado S que es menor que 0 se combina con un filtro de interpolación usando una transformación y una transformación inversa, se puede generar un filtro para amplificar componentes de alta frecuencia.
Con el fin de realizar predicción de unidad de sub-pel, el aparato de interpolación de imagen 10 puede usar datos de coeficiente de filtro de interpolación de alisado previamente almacenados en la memoria.
La figura 5 es una gráfica 50 de un factor de alisado sobre la base de un parámetro de alisado β de un filtro de interpolación de alisado.
10
15
20
25
30
35
40
Las primeras y segundas curvas 52 y 54 muestran un factor de alisado para alisar un filtro de interpolación sobre la base de una transformación discreta. Si m es grande, es decir, si la distancia desde los píxeles de unidad de pel de valor entero que se van a interpolar aumenta, el factor de alisado está cerca de 0.
En el presente caso, en comparación con la segunda curva 54 en un caso en el que el parámetro de alisado β es grande, la primera curva 52 en un caso en el que el parámetro de alisado β es pequeño tiene un ancho relativamente grande del factor de alisado. Dicho de otra forma, si el parámetro de alisado es β del filtro de interpolación de alisado es grande, se pueden filtrar principalmente componentes de baja frecuencia y, por lo tanto, se pueden generar valores de píxel de unidad de sub-pel relativamente alisados fuertemente. Si el parámetro de alisado β del filtro de interpolación de alisado es relativamente pequeño, las componentes de frecuencia relativamente alta pueden permanecer e interpolarse y, por lo tanto, se pueden generar valores de píxel de unidad de sub-pel.
Con el fin de determinar unos coeficientes de filtro de un tipo de interpolación de alisado, el aparato de interpolación de imagen 10 puede usar una función de curva o una función polinómica, una función de base así como una función de base ortogonal.
< Filtro de interpolación de alisado sobre la base de función de curva >
El aparato de interpolación de imagen 10 puede determinar unos coeficientes de filtro de un filtro de interpolación de alisado sobre la base de una función de curva.
Asimismo, con el fin de analizar un resultado de interpolación, el aparato de interpolación de imagen 10 puede usar una función de curva que tiene una condición de límite. En más detalle, por ejemplo, si la interpolación de curva polinómica que tiene una variable ρ se usa para formar un filtro de interpolación usando M píxeles de unidad de valor entero pm (M es un número entero igual a o mayor que 2), con el fin de permitir que la variable ρ tenga un alisamiento máximo en un intervalo de 3 ≤ ρ ≤ M + l y para permitir que un valor de copa, es decir, un valor de resultado de interpolación se pueda alisar infinitamente en un píxel (-M + 2)-ésimo y un píxel (M -1)-ésimo, se pueden establecer condiciones adicionales de (ρ -1). Estas condiciones adicionales se denominan como condiciones de límite no de nudo o condiciones de límite de de Boor.
Un resultado de interpolación que usa coeficientes de filtro de interpolación sobre la base de una función de curva se puede representar como una suma ponderada calculada mediante el uso de la ecuación 16.
[Ecuación 16]
imagen16
Los píxeles de entrada pm son píxeles de referencia de unidad de pel de valor entero, y un grupo { pm } de píxeles de entrada en el que el intervalo de M es [-M + 1, M] (es decir, -M + l ≤ m ≤ M) ingresa. Una función de curva S (x) se corresponde con los valores de píxel generados como un resultado de interpolación. fm (x) es un interpolante de curva cardinal y se corresponde con coeficientes de filtro sobre la base de una función de curva cardinal. fm (x) pueden ser valores de función de curva cardinal que tienen la misma condición de límite y tienen valores solo en ubicaciones de píxel de referencia de unidad de pel de valor entero (es decir, -M + l ≤ m ≤ M, m es un número entero).
El coeficiente de filtro fm (x) se puede determinar mediante el uso de la ecuación 17.
[Ecuación 17]
imagen17
Cuando k es un número entero en un intervalo de 0 ≤ k ≤ 2M -2 con el coeficiente de filtro de curva fm (x) se puede determinar en cada número entero m en un intervalo de [-M + l + k, imagen18-M + k + 2], es decir, desde (-M + l + k) a
(-M + k + 2). En la ecuación 17, se puede determinar un coeficiente sobre la base de la ecuación 18.
[Ecuación 18]
imagen19
5
10
15
20
25
30
35
40
45
imagen20
Un filtro de interpolación incluyendo los coeficientes de filtro { fk } determinados sobre la base de la función polinómica de Newton de las ecuaciones 20 y 21 tiene una respuesta máxima a una banda de baja frecuencia, un resultado de interpolación más fuertemente alisado se puede obtener mediante el uso de valores de píxel usando este filtro de interpolación. Por consiguiente, un filtro de interpolación que incluye unos coeficientes de filtro determinados sobre la base de una función polinómica como una función de base se puede seleccionar como un filtro de interpolación de alisado.
En ese sentido, el aparato de interpolación de imagen 10 puede generar píxeles de interpolación más fuertemente alisados al seleccionar un filtro de interpolación alisado que incluye unos coeficientes de filtro de interpolación sobre la base de una función polinómica. En particular, debido a que los píxeles de croma tienen componentes de alta frecuencia fuertes, con el fin de generar valores de píxel de unidad de sub-pel de píxeles de unidad de pel de valor entero de luma, se puede usar un filtro de interpolación de alisado que incluye unos coeficientes de filtro de interpolación sobre la base de una función polinómica.
< Coeficientes de filtro de interpolación para interpolación puesta a escala >
Varios procedimientos de generación de filtro de interpolación de alisado de acuerdo con las realizaciones de la presente invención se basan en una expresión aritmética para generar un número de punto flotante en lugar de un número entero, y los valores absolutos de los coeficientes de filtro por lo general no son mayores que 1. En concreto, un resultado de cálculo de un número real en lugar de un número entero se puede generar mediante una ubicación de interpolación de unidad de sub-pel α.
La eficiencia del cálculo sobre la base de un número entero es mayor que la del cálculo sobre la base de punto flotante. En ese sentido, el aparato de interpolación de imagen 10 puede mejorar la eficiencia de cálculo del filtrado de interpolación al poner a escala coeficientes de filtro de números enteros mediante el uso de un factor de puesta a escala. Asimismo, debido a que aumenta una profundidad de bits de valores de píxel, también puede mejorar la precisión de filtrado de interpolación.
El aparato de interpolación de imagen 10 puede multiplicar unos coeficientes de filtro fm (α) por un valor previamente determinado, y puede realizar una interpolación de imagen mediante el uso de coeficientes de filtro grandes Fm (α). Por ejemplo, los coeficientes de filtro Fm (α) se pueden poner a escala desde los coeficientes de filtro fm (α) tal como se representa en la ecuación 22.
[Ecuación 22]
imagen21
Para eficiencia de cálculo, el factor de puesta a escala puede ser en la forma de 2n. n puede ser 0 o un número entero positivo. Un resultado de filtrado de interpolación usando coeficientes de filtro puestos a escala por 2n puede tener una profundidad de bits puesta a escala por n bits en comparación con un resultado que se obtiene mediante el uso de coeficientes de filtro originales.
El filtrado de interpolación de cálculo de valor entero usando los coeficientes de filtro puestos a escala Fm (α) puede satisfacer la ecuación 23. Dicho de otra forma, después de que se realice un filtrado de interpolación mediante el uso de los coeficientes de filtro puestos a escala Fm (α), la profundidad de bits de puesta a escala tiene que reconstruirse a una profundidad de bits original.
[Ecuación 23]
imagen22
En este caso, un desplazamiento puede ser 2n -1.
Dicho de otra forma, debido a que un resultado de filtrado puesto a escala usando un filtro de interpolación de alisado puesto a escala de ese modo tiene que reducirse mediante un factor de puesta a escala, es decir, 2n, para reconstruirse a bits originales, una profundidad de bits del resultado de filtrado puesto a escala se puede reducir en n bits.
10
15
20
25
30
35
40
45
Si se realiza un filtrado de interpolación de dos pasos mediante la realización de un filtrado de interpolación unidimensional en una dirección horizontal y mediante la realización de un filtrado de interpolación unidimensional en una dirección vertical, se puede hacer una reducción por un total de 2n bits. Por consiguiente, si se pone a escala un filtro de interpolación unidimensional por n1 bits y un segundo bit de interpolación unidimensional se pone a escala por 2n bits, después de que se realice el filtrado de interpolación de dos pasos mediante el uso del primer y el segundo filtros de interpolación unidimensionales, se puede hacer una reducción por una suma de n1 y n2, es decir, 2n bits. El primer filtro de interpolación unidimensional puede ser un filtro de interpolación que no está puesto a escala.
Debido a que una suma de los coeficientes de filtro de alisado fm (α) es 1,
[Ecuación 24]
imagen23
Una condición para normalizar los coeficientes de filtro de alisado puestos a escala Fin (α) del filtro de interpolación puesto a escala necesita satisfacer la ecuación 25.
[Ecuación 25]
imagen24
No obstante, la condición de normalización de acuerdo con la ecuación 25 puede causar un error de redondeo. El aparato de interpolación de imagen 10 puede redondear los coeficientes de filtro puestos a escala Fm (α) sobre la base de la condición de normalización de acuerdo con la ecuación 19. Para normalización, algunos de los coeficientes de filtro puestos a escala Fm (α) se pueden ajustar dentro de un intervalo previamente determinado de valores originales. Por ejemplo, algunos de los coeficientes de filtro puestos a escala Fm (α) se pueden ajustar dentro de un intervalo de ± 1 con el fin de corregir un error de redondeo.
Varios filtros de interpolación de alisado y coeficientes de filtro se han descrito en lo que antecede. En concreto, como una función para determinar unos coeficientes de filtro de un filtro de interpolación de alisado, se puede usar una función de ventana, una función de curva, una función polinómica, etc. Para un filtro de interpolación de alisado, una respuesta de frecuencia de una función puede variar sobre la base de una frecuencia pero una ganancia de filtro de la respuesta de frecuencia de la función puede estar cerca de 1. Por consiguiente, el aparato de interpolación de imagen 10 puede determinar unos coeficientes de filtro mediante el uso de una función que tiene una ganancia de filtro de la cual una respuesta de frecuencia está más cerca de uno incluso cuando una frecuencia varía, y puede seleccionar un filtro de interpolación de alisado que incluye los coeficientes de filtro.
La figura 7 es un diagrama de flujo de un procedimiento de interpolación de imagen de acuerdo con un ejemplo.
En la operación 71, un filtro de interpolación se selecciona de forma diferente sobre la base de una ubicación de interpolación de unidad de sub-pel y un alisamiento de entre los filtros de interpolación para generar al menos un valor de píxel de unidad de sub-pel ubicado entre píxeles de unidad de pel de valor entero de una imagen. Un alisamiento del filtro de interpolación se puede determinar sobre la base de una distancia entre una ubicación de interpolación y unas unidades de pel de valor entero.
Un filtro de interpolación de acuerdo con un ejemplo puede ser un filtro que incluye unos coeficientes de filtro para realizar transformación y una transformación de inversa sobre la base de una pluralidad de funciones de base. Un filtro de interpolación de alisado de acuerdo con un ejemplo puede incluir al menos una de un filtro de interpolación combinado con una función de ventana, un filtro de interpolación sobre la base de una pluralidad de parámetros de alisado, un filtro de interpolación sobre la base de un parámetro de alisado, un filtro de interpolación de curva, y un filtro de interpolación de función polinómica.
Con el fin de realizar un filtrado mediante el uso de un filtro de interpolación de alisado, los coeficientes de filtro se pueden determinar para alisar más fuertemente píxeles de referencia de unidad de pel de valor entero lejos de una ubicación de interpolación.
En la operación 73, al menos un valor de píxel de unidad de sub-pel se genera mediante la interpolación de valores de píxel de los píxeles de unidad de pel de valor entero mediante el uso del filtro de interpolación seleccionado en operación 71.
De entre los filtros de interpolación, si se selecciona un filtro de interpolación que incluye unos coeficientes de filtro
10
15
20
25
30
35
40
45
50
puestos a escala a números enteros, los valores de píxel generados mediante el uso del filtro de interpolación se pueden normalizar sobre la base de un factor de puesta a escala.
De acuerdo con un ejemplo, un filtro de interpolación se puede seleccionar de forma diferente sobre la base de características de píxeles que se van a interpolar, y los valores de píxel de unidad de sub-pel se puede generar mediante el uso del filtro de interpolación seleccionado.
Varios ejemplos de coeficientes de filtro, de un filtro de interpolación determinado en consideración de una ubicación de interpolación de unidad de sub-pel y un alisamiento se describirán a continuación con referencia a las figuras 8A a 12C.
Las figuras 8A a 8C son unas tablas que muestran unos coeficientes de filtro de unos filtros de interpolación de 12 tomas determinados sobre la base de un parámetro de alisado y una ubicación de interpolación, de acuerdo con unos ejemplos de la presente invención.
Haciendo referencia a las figuras 8A a 8C, de entre los filtros de interpolación que se han descrito en lo que antecede sobre la base de transformación ortogonal, con el fin de realizar una transformación ortogonal y una transformación inversa después de alisar los píxeles de referencia de unidad de pel de valor entero tal como se ha descrito en lo que antecede en relación con la figura 5, los coeficientes de filtro de un filtro de interpolación de alisado que se obtiene mediante la combinación de una matriz de alisado y un filtro de interpolación sobre la base de una transformación ortogonal se muestran.
Las figuras 8A a 8C muestran varios filtros de interpolación incluyendo diferentes coeficientes de filtro a medida que un parámetro de alisado β varía como 0, 0,002, 0,004, 0,006, 0,008, 0,010, 0,012, 0,014, 0,016, 0,018, y 0,020, y una ubicación de interpolación αvarían como 1/ 8, 1 / 4, 3 /8, 1/ 2, 5 / 8, 3/ 4, y 7/ 8.
Por ejemplo, en la tabla de la figura 8A, si un parámetro de alisado β es 0,002 y la ubicación de interpolación α es 1 / 8, un filtro que incluye unos coeficientes de filtro { fm }, por ejemplo, { f-11, f-10, f-9, f-8, f-7, f-6, f-5, f-4, f-3, f-2, f-1, f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12 }, determinados como { -1, 4 -7, 12, -24, 246, 37, -16, 9, -5, 3, -1 } se puede seleccionar como un filtro de interpolación.
Las figuras 9A a 9C son unas tablas que muestran unos coeficientes de filtro de unos filtros de interpolación de 6 tomas determinados sobre la base de un parámetro de alisado y una ubicación de interpolación, de acuerdo con unos ejemplos de la presente invención.
A pesar de que los coeficientes de filtro de las figuras 8A a 8C son 12 coeficientes de filtro de un filtro de interpolación de 12 tomas de entre los filtros de interpolación de alisado que se obtienen mediante la combinación de una matriz de alisado y un filtro de interpolación de transformación ortogonal, las figuras 9A a 9C muestran seis coeficientes de filtro de un filtro de interpolación de 6 tomas. En las figuras 8A a 8C, y 9A a 9C, se pueden mostrar varios filtros de interpolación de alisado que incluyen diferentes coeficientes de filtro sobre la base de los parámetros de alisado β y la ubicación de interpolación α.
Los coeficientes de filtro mostrados en las figuras 8A a 8C, y 9A a 9C son coeficientes puestos a escala en un factor de puesta a escala de 256 (= 28) sobre la base de un filtrado de interpolación de puesta a escala y entonces redondeados.
En las figuras 8A a 8C, y 9A a 9C, cuando la ubicación de interpolación α es constante y aumenta el parámetro de alisado β, un coeficiente de filtro fm puede ser relativamente pequeño.
Asimismo, cuando el parámetro de alisado β es constante y la ubicación de interpolación α está lejos de 1 / 2, si m del coeficiente de filtro fm está lejos de M = 0 hacia M = -m + 1 o m = M, el coeficiente de filtro de fm puede ser relativamente pequeño en comparación con f0. El coeficiente de filtro fm cerca de m = 0 puede ser relativamente grande.
Por consiguiente, cuando aumenta el parámetro de alisado β, si la ubicación de interpolación α está lejos de 1 / 2, es decir, cerca de un píxel de unidad de valor entero, se puede seleccionar un filtro de interpolación más acentuado, es decir, un filtro de interpolación menos alisado.
Debido a que un filtro de interpolación de acuerdo con un ejemplo es un filtro simétrico de reflector de espejo, un coeficiente de filtro fm (α) de una ubicación de interpolación (1 -α) se puede determinar mediante el uso del coeficiente de filtro. fm (α) de la ubicación de interpolación α. Por ejemplo, en la figura 9A, de entre los coeficientes de filtro { fm } que tienen el parámetro de alisado β = 0,002, los coeficientes de filtro { fm (3 / 8) } de la ubicación de interpolación α = 3 / 4 y coeficientes de filtro { fm (5 / 8) } de la ubicación de interpolación α = 1 -3 / 8 = 5 / 8 se comparan tal como se muestra a continuación.
{ fm(3 / 8) } ={ 11, -42, 196, 117, -35, 10},
{ fm(5 / 8) } ={ 10, -35, 117, 196, -42, 11}
10
15
20
25
30
35
40
45
50
55
Es decir, se muestra que los coeficientes de filtro { fm (3 / 8 } } cuando m = -2, -1, 0 son iguales que los coeficientes de filtro { fm (5 / 8) } cuando m = 3, 2, 1, y los coeficientes de filtro { fm (3 / 8) } cuando m = 3, 2, 1 son igual que los coeficientes de filtro { fro(5 / 8) } cuando m = -2, -1, 0. Por consiguiente, en las tablas de las figuras 10 a 12C, a pesar de que solo los coeficientes de filtro de interpolación fm (α) en un caso en el que la ubicación de interpolación es menor que o igual a 1 / 2 se muestran, se entenderá fácilmente por un experto en la técnica que los coeficientes de filtro de interpolación fm (α) en un caso en el que la ubicación de interpolación es mayor que 1 / 2 también se pueden determinar.
La figura 10 es una tabla que muestra unos coeficientes de filtro de unos filtros de interpolación de 6 tomas determinados para píxeles de croma sobre la base de un parámetro de alisado y una ubicación de interpolación, de acuerdo con un ejemplo de la presente invención.
El aparato de interpolación de imagen 10 puede seleccionar de forma diferente un filtro de interpolación sobre la base de características de imagen. Por ejemplo, si un filtro de interpolación de alisado que se obtiene mediante la combinación de una matriz de alisado y un filtro de interpolación de transformación ortogonal se determina, un parámetro de alisado puede variar sobre la base de características de imagen.
Por ejemplo, debido a que los píxeles de croma se muestrean de forma descendente sobre la base de un formato de color de 4 : 2 : 0, los píxeles de croma tienen menos componentes de baja frecuencia en comparación con píxeles de luma. En este caso, haciendo referencia a la figura 10, sin importar un filtro de interpolación para píxeles de luma, solo se puede seleccionar de forma adicional un filtro de interpolación para píxeles de croma. Varios coeficientes de filtro de unos filtros de interpolación seleccionados de forma diferente sobre la base de una componente de color se describirán a continuación con referencia a la figura 11.
La figura 11 es una tabla que muestra unos coeficientes de filtro de unos filtros de interpolación de alisado determinados de forma diferente sobre la base de una componente de color y una ubicación de interpolación de imagen, de acuerdo con un ejemplo de la presente invención.
Haciendo referencia a la figura 11, varios filtros de interpolación de alisado que incluyen diferentes coeficientes de filtro como un número de tomas de filtro 2M, una ubicación de interpolación α, y una componente de color L (Iuminancia) / C (croma) varían. Los coeficientes de filtro de la figura 11 son coeficientes puestos a escala en un factor de puesta a escala de 256 (= 28) y redondeados. Tal como se ha descrito en lo que antecede, sobre la base de características reflectoras de espejo de coeficientes de filtro de interpolación, solo se muestra un caso en el que la ubicación de interpolación α es menor que o igual a 1 / 2.
De forma similar a las figuras 8A a 10, un resultado de comparar unos coeficientes de filtro para una componente de croma y coeficientes de filtro para una componente de luma similar a un resultado de comprar unos coeficientes de filtro en un caso en el que un parámetro de alisado β es grande y coeficientes de filtro en un caso en el que el parámetro de alisado β es pequeño.
Las figuras 12A a 12C son unas tablas que muestran unos coeficientes de filtro de unos filtros de interpolación de alisado sobre la base de una ubicación de interpolación de imagen y un factor de puesta a escala, incluyendo aquellos de acuerdo con realizaciones de la presente invención.
Las figuras 12A a 12C muestran varios ejemplos modificados de coeficientes de filtro de unos filtros de interpolación de alisado, que se ponen a escala, se redondean, y se normalizan a medida que un factor de puesta a escala de 2n varía como 512, 256, 128 y 64, y el número de tomas de filtro de un filtro de interpolación y una ubicación de interpolación α varían.
En concreto, en la figura 12C, los coeficientes de filtro de interpolación para interpolar unidades de 1 / 8 de píxel pueden ser útiles para realizar compensación de movimiento sobre píxeles de croma. No obstante, debido a que la calidad de imagen de píxeles de croma, que es reconocida de forma visual por las personas, es menos crítica en comparación con píxeles de luma, debido a una toma de filtro relativamente corta, por ejemplo, 4 tomas, y una profundidad de bits baja, también se puede usar un filtro de interpolación de alisado que tiene un factor de puesta a escala de 25.
Los coeficientes de filtro mostrados en las figuras 8A a 12C simplemente son partes de varios ejemplos, y se entenderá fácilmente por un experto en la técnica que los coeficientes de filtro de unos filtros de interpolación considerando alisado, de acuerdo con unos ejemplos, se pueden modificar sobre la base de varios factores incluyendo una ubicación de interpolación, un parámetro de alisado, una función de ventana, una función de curva, una función polinómica, un factor de puesta a escala, y redondeo.
La codificación y descodificación de vídeo usando un filtro de interpolación de alisado, de acuerdo con unos ejemplos de la presente invención, se describen a continuación con referencia a las figuras 13A a 27. La codificación y descodificación de vídeo sobre la base de unas unidades de codificación que tienen una estructura de árbol, de acuerdo con unos ejemplos de la presente invención, se describen a continuación con referencia a las figuras 15 a
25. Los procedimientos de codificación y de descodificación de vídeo usando un filtro de interpolación de alisado, de acuerdo con unos ejemplos de la presente invención, se describen a continuación con referencia a las figuras 26 y
imagen25
10
15
20
25
30
35
40
45
50
55
unidad de sub-pel, el codificador 120 puede generar un valor de píxel de unidad de sub-pel mediante el uso de un filtro de interpolación que incluye unos coeficientes de filtro determinados por el aparato de interpolación de imagen 100 sobre la base de transformación y una transformación inversa.
Con el fin de realizar de forma eficiente un filtrado de interpolación, el aparato de codificación de vídeo 100 puede almacenar previamente coeficientes de filtro de interpolación en la memoria. De acuerdo con una ubicación de interpolación, un alisamiento, el número de tomas de filtro, una profundidad de bits, un factor de puesta a escala, y una función de base de filtrado de interpolación sobre la base de transformación se pueden almacenar en la memoria del aparato de codificación de vídeo 100.
Por ejemplo, al menos uno de (i) los coeficientes de filtro de unidad de 1 / 4 de pel de 8 tomas { -1, 4, -10, 57, 19, -7, 3, -1 } que tienen un factor de puesta a escala de 26, (ii) coeficientes de filtro de unidad de pel de 8 tomas { -1, 4, -11, 40, 40, -11, 4, -1 } que tienen un factor de puesta a escala de 26, (iii) coeficientes de filtro de unidad de 1 / 8 de pel de 4 tomas { -3, 60, 8, -4 } que tienen un factor de puesta a escala de 26, (iv) coeficientes de filtro de unidad de 1 / 4 de pel de 4 tomas { -4, 54, 16, -2 } que tienen un factor de puesta a escala de 26, (v) coeficientes de filtro de unidad de 3 / 8 de pel de 4 tomas { -5, 46, 27, -4 } que tienen un factor de puesta a escala de 26, y (vi) coeficientes de filtro de unidad de *s-pel de 4 tomas { -4, 36, 36, -4 } que tienen un factor de puesta a escala de 26 se pueden almacenar en la memoria y se pueden usar para realizar un filtrado de interpolación de alisado.
Además de los coeficientes de filtro que se han mencionado en lo que antecede, los coeficientes de filtro de interpolación de alisado modificables sobre la base de varias funciones de base y funciones de ventana tal como se muestra en las figuras 8A a 12C se pueden usar para realizar un filtrado de interpolación.
Si el filtrado de interpolación se realiza mediante el uso de los coeficientes de filtro almacenados en la memoria, se puede mejorar una velocidad de cálculo de la inter predicción.
De entre una pluralidad de filtros de interpolación, el codificador 120 puede seleccionar y usar un filtro de interpolación de alisado deseado para realizar una inter predicción sobre la base de una ubicación de interpolación de unidad de sub-pel α y un alisamiento. Además, un filtro de interpolación de alisado apropiado para un píxel actual se puede determinar sobre la base del número de tomas de filtro, una profundidad de bits, un factor de puesta a escala, etc.
El codificador 120 puede determinar un filtro de interpolación sobre la base de características de imagen. Por ejemplo, el codificador 120 puede determinar diferentes filtros de interpolación sobre la base de las componentes de color de píxeles. Por ejemplo, un filtro de interpolación para píxeles de luma y un filtro de interpolación para píxeles de croma se pueden seleccionar de forma separada y, por lo tanto, los valores de píxel de unidad de sub-pel se pueden generar de forma individual mediante la realización de un filtrado de interpolación.
Un vídeo se puede codificar mediante la realización de una inter predicción sobre la base de una interpolación de unidad de sub-pel, intra predicción, transformación y cuantificación.
La unidad de salida 130 puede codificar y enviar información de codificación y puede enviar datos de imagen codificados. Como la información de codificación, la información acerca del filtro de interpolación seleccionado se puede codificar adicionalmente. Dicho de otra forma, la información acerca de un filtro de interpolación usado para realizar una codificación por predicción de unidad de sub-pel se puede codificar. Por ejemplo, un descodificador tiene que saber de un filtro de interpolación usado para codificar una imagen con el fin de descodificar la imagen mediante el uso del mismo filtro de interpolación usado en el procedimiento de codificación. Para esto, la información que indica el filtro de interpolación usado se puede codificar junto con la imagen. No obstante, si se selecciona un filtro sobre la base de un resultado de codificación previo, es decir, contexto, la información acerca del filtro seleccionado puede no codificarse adicionalmente.
La unidad de salida 130 puede realizar una codificación por entropía en información de codificación y datos de imagen codificados y puede enviar una secuencia de bits.
La figura 13B es un diagrama de bloques de un aparato de codificación de vídeo 200 usando un filtro de interpolación de alisado, de acuerdo con un ejemplo de la presente invención.
El aparato de descodificación de vídeo 200 incluye un receptor y extractor 220 y un descodificador 230. Las operaciones del receptor y extractor 220 y el descodificador 230 del aparato de descodificación de vídeo 200 se pueden controlar de forma cooperativa mediante un procesador de descodificación de vídeo, un procesador de gráficos y una CPU.
Con el fin de reconstruir una imagen de una secuencia de bits, el aparato de descodificación de vídeo 200 puede descodificar datos de imagen codificados de la secuencia de bits mediante la realización de operaciones incluyendo descodificación por entropía, cuantificación inversa, transformación inversa, inter predicción / compensación, e intra predicción / compensación.
El receptor y extractor 220 recibe y analiza una secuencia de bits de un vídeo codificado. El receptor y extractor 220
10
15
20
25
30
35
40
45
50
55
puede extraer datos codificados de cada unidad de datos de una imagen actual, e información de codificación incluyendo la información acerca de un procedimiento de codificación que se va a usar para descodificar los datos codificados, desde la secuencia de bits analizada.
Si la información de codificación incluye la información de filtro de interpolación, el descodificador 230 puede leer información acerca de un filtro de interpolación usado para realizar una intra predicción de unidad de sub-pel desde la información de filtro de interpolación, y puede realizar compensación de movimiento mediante el uso del filtro de interpolación usado en un procedimiento de codificación.
El descodificador 230 puede descodificar datos de imagen codificados mediante la realización de varias operaciones de descodificación tal como descodificación por entropía, cuantificación inversa, transformación inversa, inter predicción / compensación, e intra predicción / compensación en una imagen codificada de acuerdo con varios procedimientos de descodificación determinados sobre la base de información acerca de un modo de codificación.
Con el fin de realizar compensación de movimiento, una región de referencia de una imagen de referencia que es temporalmente previa o subsiguiente a una imagen actual se puede determinar mediante el uso de datos de referencia, y un valor de píxel de la región de referencia y datos residuales se pueden combinar para reconstruir un valor de píxel actual.
Si los datos residuales y los datos de referencia se determinan sobre la base de píxeles interpolados en una unidad de sub-pel en un procedimiento de codificación, el descodificador 230 también puede realizar compensación de movimiento sobre la base de píxeles interpolados en una unidad de sub-pel. Con el fin de realizar compensación en movimiento de unidad de sub-pel, el descodificador 230 puede generar un valor de píxel de unidad de sub-pel mediante la interpolación de píxeles de unidad de pel de valor entero adyacentes de la imagen de referencia. El valor de píxel de unidad de sub-pel se puede generar mediante la realización de un filtrado de interpolación sobre dos o más píxeles de referencia de unidad de pel de valor entero incluyendo los píxeles de unidad de valor entero adyacentes.
Con el fin de realizar de forma eficiente interpolación de imagen, el aparato de descodificación de vídeo 200 puede determinar de forma selectiva unos coeficientes de filtro de interpolación. El descodificador 230 puede incluir el aparato de interpolación de imagen 100 ilustrado en la figura 1. Dicho de otra forma, con el fin de realizar compensación de movimiento de unidad de sub-pel, el descodificador 230 puede generar un valor de píxel de unidad de sub-pel mediante el uso de un filtro de interpolación sobre la base de transformación.
Con el fin de realizar de forma eficiente un filtrado de interpolación, el aparato de descodificación de vídeo 200 puede almacenar previamente coeficientes de filtro de interpolación seleccionadles de forma variable en la memoria de acuerdo con una ubicación de interpolación, un alisamiento, el número de tomas de filtro, una profundidad de bits, un factor de puesta a escala, y una función de base de filtrado de interpolación sobre la base de transformación.
Tal como se ha descrito en lo que antecede, por ejemplo, al menos uno de (i) coeficientes de filtro de unidad de 1 / 4 de pel de 8 tomas { -1, 4, -10, 57, 19, -7, 3, -1 } que tienen un factor de puesta a escala de 26, (ii) coeficientes de filtro de unidad de 1 / 2 de pel de 8 tomas { -1, 4, -11, 40, 40, -11, 4, -1 } que tienen un factor de puesta a escala de 26, (iii) coeficientes de filtro de unidad de 1 / 8 de pel de 4 tomas (-3, 60, 8, -11) que tienen un factor de puesta a escala de 26, (iv) coeficientes de filtro de unidad de 1 / 4 de pel de 4 tomas { -4, 54, 16, -2 } que tienen un factor de puesta a escala de 26, (v) coeficientes de filtro de unidad de 3 / 8 de pel de 4 tomas { -5, 46, 27, -4 } que tienen un factor de puesta a escala de 26, y (vi) coeficientes de filtro de unidad de 1 / 2 de pel de 4 tomas (-4, 36, 36, -4 } que tienen un factor de puesta a escala de 26 se pueden almacenar en memoria y se pueden usar para realizar un filtrado de interpolación de alisado. Además de los coeficientes de filtro que se han mencionado en lo que antecede, los coeficientes de filtro de interpolación de alisado modificables de acuerdo con varias funciones de base y funciones de ventana tal como se muestra en las figuras 8A a 12C se pueden usar para realizar un filtrado de interpolación de alisado.
De entre una pluralidad de filtros de interpolación, el descodificador 230 puede seleccionar y usar un filtro de interpolación apropiado para que un píxel actual realice compensación de movimiento de unidad de sub-pel, de acuerdo con una ubicación de interpolación de unidad de sub-pel α, el número de tomas de filtro, una profundidad de bits, un factor de puesta a escala, etc.
Asimismo, el descodificador 230 puede determinar un filtro de interpolación de alisado sobre la base de características de imagen. Por ejemplo, diferentes filtros de interpolación se pueden determinar de acuerdo con unas componentes de color de píxeles, filtrado de interpolación para píxeles de luma de filtrado de interpolación para píxeles de croma se pueden realizar de forma separada y, por lo tanto, los valores de píxel de unidades de sub-pel interpolados se puede generar de forma individual.
Por consiguiente, el descodificador 230 puede reconstruir datos en un dominio espacial mediante la realización de una cuantificación inversa / transformación inversa, y puede reconstruir valores de píxel y una imagen actual mediante la realización de una intra predicción y compensación de movimiento sobre la base de una interpolación de unidad de sub-pel así como interpolación de unidad de pel de valor entero. Si se reconstruyen imágenes, se puede descodificar un vídeo.
10
15
20
25
30
35
40
45
50
55
La figura 14A es un diagrama de flujo de un procedimiento de codificación de imagen usando un filtro de interpolación de alisado, de acuerdo con un ejemplo de la presente invención.
En la operación 1410, con el fin de codificar una imagen actual de un vídeo de entrada, se realiza la codificación por predicción usando una interpolación de unidad de sub-pel. Un filtro de interpolación se selecciona de forma diferente sobre la base de una ubicación de interpolación de unidad de sub-pel y un alisamiento de entre los filtros de interpolación para generar un valor de píxel de unidad de sub-pel. El alisamiento del filtro de interpolación se puede determinar sobre la base de la distancia entre una ubicación de interpolación y unas unidades de pel de valor entero.
El valor de unidad de sub-pel se puede generar mediante la realización de un filtrado de interpolación sobre dos o más píxeles de referencia de unidad de pel de valor entero de una imagen de referencia. Los datos residuales y los datos de referencia se determinan mediante el uso del valor de píxel de unidad de sub-pel generado, realizando de ese modo codificación por predicción.
Con el fin de realizar de forma eficiente interpolación de imagen, se pueden determinar de forma selectiva unos coeficientes de filtro de interpolación. De entre los coeficientes de filtro de interpolación previamente almacenados en la memoria, un filtro de interpolación deseado se puede seleccionar sobre la base de una ubicación de interpolación de unidad de sub-pel, un alisamiento, el número de tomas de filtro, una profundidad de bits, un factor de puesta a escala, una función de base de filtrado de interpolación sobre la base de transformación, y una componente de color, y la interpolación se puede realizar para generar el valor de píxel de unidad de sub-pel.
En la operación 1420, la transformación y la cuantificación se realizan en un resultado de inter predicción sobre la base de una interpolación de unidad de sub-pel, e intra predicción.
En la operación 1430, una secuencia de bits se puede enviar mediante la realización de una codificación por entropía sobre una información de codificación y datos de imagen codificados en la forma de coeficientes de transformación cuantificados. La información de codificación puede incluir información acerca de un filtro de interpolación usado para realizar una codificación por predicción de unidad de sub-pel.
La figura 14B es un diagrama de flujo de un procedimiento de descodificación de imagen usando un filtro de interpolación de alisado, de acuerdo con un ejemplo de la presente invención.
En la operación 1450, una secuencia de bits de un vídeo codificado se recibe, se descodifica por entropía, y se analiza para extraer unos coeficientes de transformación cuantificados e información de codificación de una imagen actual de la secuencia de bits.
Si la información de codificación incluye información acerca de un filtro de interpolación, el tipo de un filtro de interpolación requerido se puede leer de la información.
En la operación 1460, de acuerdo con varios procedimientos de descodificación determinados sobre la base de un modo de codificación leído de la información de codificación, la cuantificación inversa y la transformación inversa se realizan en los coeficientes de transformación cuantificados, y se agregan datos residuales, reconstruyéndose de ese modo datos en un dominio espacial.
En la operación 1470, los datos de imagen codificados se pueden descodificar mediante la realización de varias operaciones de descodificación tal como compensación de movimiento e intra predicción sobre la base del modo de codificación.
En concreto, si los datos residuales codificados y los datos de referencia se extraen sobre la base de píxeles interpolados en una unidad de sub-pel, la compensación de movimiento se puede realizar sobre la base de los píxeles interpolados en una unidad de sub-pel. De entre los filtros de interpolación para generar un valor de píxel de unidad de sub-pel, un filtro de interpolación se selecciona de forma diferente sobre la base de una ubicación de interpolación de unidad de sub-pel y un alisamiento.
Con el fin de realizar de forma eficiente interpolación de imagen, los coeficientes de filtro de interpolación se pueden determinar de forma selectiva. De entre los coeficientes de filtro de interpolación almacenados previamente en memoria, se puede seleccionar un filtro de interpolación deseado de acuerdo con una ubicación de interpolación de unidad de sub-pel, un alisamiento, el número de tomas de filtro, una profundidad de bits, un factor de puesta a escala, una función de base de filtrado de interpolación sobre la base de transformación, y una componente de color, e interpolación se pueden realizar para generar el valor de píxel de unidad de sub-pel. Debido a que se realiza compensación de movimiento en píxeles interpolados mediante el uso de los coeficientes de filtro de interpolación previamente almacenados en la memoria, puede aumentar una velocidad de cálculo.
Se determina una imagen de referencia y una región de referencia mediante el uso de los datos de referencia, y el valor de píxel de unidad de sub-pel se puede generar mediante la realización de un filtrado de interpolación sobre dos o más píxeles de referencia de unidad de pel de valor entero de la imagen de referencia. Se puede realizar compensación de movimiento mediante la combinación del valor de píxel de unidad de sub-pel generado y los datos residuales y, por lo tanto, se puede realizar descodificación por predicción.
5
10
15
20
25
30
35
40
45
50
55
En la operación 1480, se reconstruye una imagen actual mediante el uso de valores de píxel que se obtienen mediante la realización de una descodificación por predicción y, por lo tanto, se descodifica un vídeo.
< Codificación y descodificación de vídeo usando una interpolación de alisado sobre la base de unas unidades de codificación que tienen una estructura de árbol >
Los aparatos de codificación y de descodificación de vídeo que usan un filtro de interpolación de alisado sobre la base de unas unidades de codificación que tienen una estructura de árbol, y procedimientos de codificación y de descodificación de vídeo que se corresponden con los aparatos de codificación y de descodificación de vídeo, de acuerdo con unos ejemplos de la presente invención, se describirán a continuación en detalle con referencia a las figuras 13A a 27.
El aparato de codificación de vídeo 100 puede codificar un vídeo sobre la base de unas unidades de codificación y unas unidades de transformación que tienen una estructura de árbol.
Una imagen actual de un vídeo se puede dividir sobre la base de una unidad de codificación máxima para la imagen actual. Si la imagen actual es más grande que la unidad de codificación máxima, los datos de imagen de la imagen actual se pueden dividir en al menos una unidad de codificación máxima. La unidad de codificación máxima puede ser una unidad de datos que tiene un tamaño de 32 × 32, 64 × 64, 128 × 128, 256 × 256, etc., en la que una forma de la unidad de datos es un cuadrado que tiene un ancho y una longitud en cuadrados de 2. El codificador 120 puede codificar datos de imagen de cada una de al menos una unidad de codificación máxima.
Una unidad de codificación de acuerdo con un ejemplo de la presente invención se puede caracterizar por un tamaño y un tamaño máximo y una profundidad. La profundidad en otro número de veces que la unidad de codificación se divide espacialmente de la unidad de codificación máxima, y a medida que la profundidad se agudiza, las unidades de codificación más profunda de acuerdo con las profundidades se pueden dividir de la unidad de codificación máxima a una unidad de codificación mínima. Una profundidad de la unidad de codificación máxima es una profundidad superior y una profundidad de la unidad de codificación mínima es una profundidad interior. Debido a que un tamaño de una unidad de codificación que se corresponde con cada profundidad disminuye a medida que se agudiza la profundidad de la unidad de codificación máxima, una unidad de codificación que se corresponde con una profundidad superior puede incluir una pluralidad de unidades de codificación que se corresponden con unas profundidades inferiores.
Tal como se ha descrito en lo que antecede, los datos de imagen de la imagen actual se dividen en las unidades de codificación máxima de acuerdo con un tamaño máximo de la unidad de codificación, y cada una de las unidades de codificación máxima puede incluir unidades de codificación más profunda que están divididas de acuerdo con unas profundidades. Debido a que la unidad de codificación máxima de acuerdo con un ejemplo de la presente invención está dividida de acuerdo con unas profundidades, los datos de imagen de un dominio espacial incluido en la unidad de codificación máxima se pueden clasificar de forma jerárquica de acuerdo con unas profundidades.
Una profundidad máxima y un tamaño máximo de una unidad de codificación, que limitan el número total de veces que se divide de forma jerárquica una altura y un ancho de la unidad de codificación máxima, se pueden predeterminar.
El codificador 120 codifica al menos una región dividida que se obtiene mediante la división de una región de la unidad de codificación máxima de acuerdo con unas profundidades, y determina una profundidad para enviar datos de imagen finalmente codificados de acuerdo con al menos una región dividida. Dicho de otra forma, el codificador 120 determina una profundidad codificada mediante la codificación de los datos de imagen en las unidades de codificación más profunda de acuerdo con unas profundidades, de acuerdo con la unidad de codificación máxima de la imagen actual, y al seleccionar una profundidad que tiene el menor error de codificación.
El codificador 120 puede enviar los datos de imagen codificados de la unidad de codificación que se corresponde con la profundidad codificada determinada. Asimismo, el codificador 120 puede transmitir una información acerca de la profundidad codificada o determinada a la unidad de salida 130 para que la información acerca de la profundidad codificada se pueda codificar como información de codificación.
Los datos de imagen de la unidad de codificación máxima se codifican sobre la base de las unidades de codificación más profunda que se corresponden con al menos una profundidad igual a o por debajo de la profundidad máxima, y resulta descodificar los datos de imagen que se comparan sobre la base de cada una de las unidades de codificación más profunda. Una profundidad que tiene el menor error de codificación se puede seleccionar después de comparar errores de codificación de las unidades de codificación más profunda. Al menos una profundidad codificada se puede seleccionar para cada unidad de codificación máxima.
El tamaño de la unidad de codificación máxima se divide a medida que una unidad de codificación se divide de forma jerárquica de acuerdo con unas profundidades, y a medida que aumenta el número de unidades de codificación. Asimismo, incluso si las unidades de codificación corresponden a la misma profundidad en una unidad de codificación máxima, se determina si se divide cada una de las unidades de codificación que se corresponden con la misma profundidad a una profundidad inferior al medir un error de codificación de los datos de imagen de
10
15
20
25
30
35
40
45
50
55
cada unidad de codificación, de forma separada. Por consiguiente, incluso cuando se incluyen datos de imagen en una unidad de codificación máxima, los datos de imagen se dividen en regiones de acuerdo con las profundidades y los errores de codificación pueden inferir de acuerdo con regiones en una unidad de codificación máxima y, por lo tanto, las profundidades codificadas pueden inferir de acuerdo con regiones en los datos de imagen. Por lo tanto, una o más profundidades se pueden determinar en una unidad de codificación máxima, y los datos de imagen de la unidad de codificación máxima se pueden dividir de acuerdo con unidades de codificación de al menos una profundidad codificada.
Por consiguiente, el codificador 120 puede determinar unidades de codificación que tienen una estructura de árbol incluida en la unidad de codificación máxima. Las ‘unidades de codificación que tienen una estructura de árbol’ de acuerdo con un ejemplo de la presente invención incluyen unidades de codificación que se corresponden con una profundidad determinada para hacer la profundidad codificada, de entre todas las unidades de codificación más profunda incluidas en la unidad de codificación máxima. Una unidad de codificación de una profundidad codificada se puede determinar de forma jerárquica de acuerdo con unas profundidades en la misma región de la unidad de codificación máxima, y se pueden determinar de forma independiente en diferentes regiones. De forma similar, una profundidad codificada en una región actual se puede determinar de forma independiente a partir de una profundidad codificada en otra región.
Una profundidad máxima de acuerdo con un ejemplo es un índice relacionado con el número de veces que se realiza la división de una unidad de codificación máxima a una unidad de codificación mínima. Una primera profundidad máxima de acuerdo con un ejemplo puede denotar el número total de veces que se realiza la división de la unidad de codificación máxima a la unidad de codificación mínima. Una segunda profundidad máxima de acuerdo con un ejemplo puede denotar el número total de niveles de profundidad de la unidad de codificación máxima a la unidad de codificación mínima. Por ejemplo, cuando una profundidad de la unidad de codificación máxima es 0, una profundidad de una unidad de codificación, en la que la unidad de codificación máxima se divide una vez, se puede establecer a 1, y una profundidad de una unidad de codificación, en la que la unidad de codificación máxima se divide dos veces, se puede establecer a 0. En el presente caso, si la unidad de codificación mínima es una unidad de codificación en la que la unidad de codificación máxima se divide cuatro veces, existen cinco niveles de profundidad de profundidades 0, 1, 2, 3 y 4 y, por lo tanto, la primera profundidad máxima se puede establecer a 4, y la segunda profundidad máxima se puede establecer a 5.
La codificación por predicción y una transformación se pueden realizar de acuerdo con la unidad de codificación máxima. La codificación por predicción y la transformación también se realizan sobre la base de las unidades de codificación más profunda de acuerdo con una profundidad igual a o profundidades menores que la profundidad máxima, de acuerdo con la unidad de codificación máxima.
Debido a que el número de unidades de codificación más profunda aumenta en cualquier momento que se divide la unidad de codificación máxima de acuerdo con unas profundidades, la codificación incluyendo la codificación por predicción y la transformación se realiza en todas las unidades de codificación más profunda generadas a medida que se agudiza la profundidad. Para conveniencia de descripción, la codificación por predicción y la transformación se describirán a continuación sobre la base de una unidad de codificación de una profundidad actual, en una unidad de codificación máxima.
El aparato de codificación de vídeo 100 puede seleccionar de forma variable un tamaño o forma de una unidad de datos para codificar los datos de imagen. Con el fin de codificar los datos de imagen, las operaciones, tal como codificación por predicción, transformación, y codificación por entropía, se realizan, y en este momento, la misma unidad de datos se puede usar para todas las operaciones o diferentes unidades de datos se pueden usar para cada operación.
Por ejemplo, el aparato de codificación de vídeo 100 puede seleccionar no solo una unidad de codificación para codificar los datos de imagen, sino también una unidad de datos diferente de la unidad de codificación para realizar la codificación por predicción sobre los datos de imagen en la unidad de codificación.
Con el fin de realizar una codificación por predicción de la unidad de codificación máxima, la codificación por predicción se puede realizar sobre la base de una unidad de codificación que se corresponde con una profundidad codificada, es decir, sobre la base de una unidad de codificación que ya no está dividida a unidades de codificación que se corresponden con una profundidad inferior. En lo sucesivo, la unidad de codificación que ya no está dividida se vuelve una unidad básica para la codificación por predicción que se denominará como una ‘unidad de predicción’. Una división que se obtiene mediante la división de la unidad de predicción puede incluir una unidad de predicción a una unidad de datos que se obtiene mediante la división de al menos uno de una altura y un ancho de la unidad de predicción.
Por ejemplo, cuando una unidad de codificación de 2N × 2N (en la que N es un número entero positivo) ya no está dividida y se vuelve una unidad de predicción de 2N × 2N, un tamaño de una división puede ser 2N × 2N, 2N × N, N × 2N o N × N. Ejemplos de un tipo de división incluyen divisiones simétricas que se obtienen mediante la división de forma simétrica de una altura o ancho de la unidad de predicción, unas divisiones que se obtienen mediante la división de forma asimétrica de la altura o el ancho de la unidad de predicción, tal como 1 : n o n : 1, unas divisiones
imagen26
imagen27
10
15
20
25
30
35
40
45
50
55
unidades de codificación, unidades de predicción, unidades de división y unas unidades de transformación incluidas en la unidad de codificación máxima.
Por ejemplo, la información de codificación enviada a través de la unidad de salida 130 se puede clasificar en información de codificación de acuerdo con unidades de codificación, e información de codificación de acuerdo con unidades de predicción. La información de codificación de acuerdo con las unidades de codificación puede incluir la información acerca del modo de predicción y sobre el tamaño de las divisiones. La información de codificación de acuerdo con las unidades de predicción puede incluir información acerca de una dirección estimada de un inter modo, sobre un índice de imagen de referencia del inter modo, sobre un vector de movimiento, sobre una componente de croma de un intra modo, y sobre un procedimiento de interpolación del intra modo.
La información acerca de un tamaño máximo de la unidad de codificación definida de acuerdo con las imágenes, fragmentos, o GOP, e información acerca de una profundidad máxima se puede insertar en un encabezado, un SPF
o un PPS de una secuencia de bits.
En el aparato de codificación de vídeo 100, la unidad de codificación más profunda puede ser una unidad de codificación que se obtiene mediante la división de una altura o un ancho de una unidad de codificación de una profundidad superior, que es una capa por encima, por 2. Dicho de otra forma, cuando el tamaño de la unidad de codificación de la profundidad actual es 2N × 2N, el tamaño de la unidad de codificación de la profundidad inferior es N × N. Asimismo, la unidad de codificación de la profundidad actual que tiene el tamaño de 2N × 2N puede incluir máximo 4 de la unidad de codificación de la profundidad inferior.
Por consiguiente, el aparato de codificación de vídeo 100 puede formar las unidades de codificación que tienen la estructura de árbol al determinar unidades de codificación que tienen una forma óptima y un tamaño óptimo para cada unidad de codificación máxima, sobre la base del tamaño de la unidad de codificación máxima y también la profundidad máxima determinada considerando características de la imagen actual. Asimismo, debido a que la codificación se puede realizar en cada unidad de codificación máxima mediante el uso de cualquiera de los varios modos de predicción y transformaciones, se puede determinar un modo de codificación óptimo considerando características de la unidad de codificación de varios tamaños de imagen.
Por lo tanto, si una imagen que tiene alta resolución o gran cantidad de datos se codifica en un macro bloque convencional, un número de macro bloques por imagen aumenta de forma excesiva. Por consiguiente, un número de piezas de información comprimida generada para cada macro bloque aumenta y, por lo tanto, es difícil transmitir la información comprimida y disminuye la eficiencia de compresión de datos. No obstante, mediante el uso del aparato de codificación de vídeo 100, la eficiencia de compresión de imagen puede aumentar debido a que una unidad de codificación se ajusta mientras considera características de una imagen mientras aumenta un tamaño máximo de una unidad de codificación mientras considera un tamaño de la imagen.
La unidad de salida 130 puede codificar y enviar información de codificación indicando un procedimiento de codificación usado para codificar un vídeo sobre la base de unas unidades de codificación que tienen una estructura de árbol y unas unidades de transformación que tienen una estructura de árbol. La información de codificación puede incluir información acerca de varios modos de codificación de unas unidades de codificación que se corresponden con una profundidad codificada, e información acerca de la profundidad codificada.
Las definiciones de varios términos, tal como una unidad de codificación, una profundidad, una unidad de predicción, una unidad de transformación, e información acerca de varios modos de codificación, para varias operaciones del aparato de descodificación de vídeo 200 son idénticas a los descritos con referencia al aparato de codificación de vídeo 100.
El receptor 210 recibe una secuencia de bits de un vídeo codificado. El receptor y extractor 220 analiza la secuencia de bits recibida. El receptor y extractor 220 extrae datos de imagen codificados para cada unidad de codificación de la secuencia de bits analizada, en la que las unidades de codificación tienen una estructura de árbol de acuerdo con cada unidad de codificación máxima, y envía los datos de imagen extraídos al descodificador 230. El receptor y extractor 220 puede extraer información acerca de un tamaño máximo de una unidad de codificación de una imagen actual, de un encabezado, un SPS, un PPS sobre la imagen actual.
Asimismo, el receptor y extractor 220 puede extraer información de codificación sobre las unidades de codificación que tienen una estructura de árbol de acuerdo con cada unidad de codificación máxima, de la secuencia de bits analizada. La información acerca de una profundidad codificada y un modo de codificación se extrae de la información de codificación. La información que se extrae acerca de la profundidad codificada y el modo de codificación se envía al descodificador 230. Dicho de otra forma, los datos de imagen en una secuencia de bits se pueden dividir en la unidad de codificación máxima para que el descodificador 230 pueda descodificar los datos de imagen para cada unidad de codificación máxima.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con la unidad de codificación máxima se puede establecer para información acerca de al menos una unidad de codificación que se corresponde con la profundidad codificada, e información acerca de un modo de codificación puede incluir información acerca de un tipo de división de una unidad de codificación correspondiente que se corresponde con la
10
15
20
25
30
35
40
45
50
55
profundidad codificada, acerca de un modo de predicción, y un tamaño de una unidad de transformación.. Para inter predicción, la información relacionada con el filtrado de interpolación para interpolar unidades de sub-pel se puede extraer de la información de codificación de acuerdo con una profundidad codificada. Asimismo, se puede extraer información de división de acuerdo con la información acerca de la profundidad codificada.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con cada unidad de codificación máxima extraída por el receptor y extractor 220 es información acerca de una profundidad codificada y un modo de codificación determinado para generar un error de codificación mínimo cuando un codificador, tal como el aparato de codificación de vídeo 100, realiza de forma repetida una codificación para cada unidad de codificación más profunda de acuerdo con unas profundidades de acuerdo con cada unidad de codificación máxima. Por consiguiente, el aparato de codificación de vídeo 200 puede reconstruir una imagen al descodificar los datos de imagen de acuerdo con una profundidad codificada y un modo de codificación que genera el error de codificación mínima.
Debido a que la información de codificación acerca de la profundidad codificada y el modo de codificación se pueden asignar a una unidad de datos previamente determinada de entre una unidad de codificación correspondiente, una unidad de predicción y una unidad mínima, el receptor y extractor 220 puede extraer la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de datos previamente determinadas. Las unidades de datos previamente determinadas a las cuales se asigna la misma información acerca de la profundidad codificada y el modo de codificación se puede inferir para hacer unidades de datos incluidas en la misma unidad de codificación máxima.
El descodificador 230 puede determinar al menos una profundidad codificada de una unidad de codificación máxima actual mediante el uso de información de división de acuerdo con unas profundidades. La información de división representa que los datos de imagen ya no están divididos en la profundidad actual, la profundidad actual es una profundidad codificada. Por consiguiente, el descodificador 230 puede descodificar datos de imagen codificados de al menos una unidad de codificación que se corresponde con cada profundidad codificada en la unidad de codificación máxima actual mediante el uso de la información acerca del tipo de división de la unidad de predicción, el modo de predicción, y el tamaño de la unidad de transformación para cada unidad de codificación que se corresponde con la profundidad codificada, y enviar los datos de imagen de la unidad de codificación máxima actual.
Dicho de otra forma, las unidades de datos que contienen la información de codificación incluyendo la misma información de división se pueden recopilar al observar el grupo de información de codificación asignado para la unidad de datos previamente determinada desde la unidad de codificación, la unidad de predicción, y la unidad mínima, y se puede considerar que las unidades de datos recopiladas son una unidad de datos que se va a descodificar por el descodificador 230 en el mismo modo de codificación.
El descodificador 230 puede reconstruir la imagen actual al descodificar los datos de imagen codificados en cada unidad de codificación máxima sobre la base de la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de codificación máxima. El tipo de división, el modo de predicción, y la unidad de transformación se pueden leer como el modo de codificación para cada unidad de codificación de entre las unidades de codificación que tienen la estructura de árbol incluida en cada unidad de codificación máxima. Un procedimiento de descodificación puede incluir una predicción que incluye intra predicción y compensación de movimiento, y una transformación inversa.
El descodificador 230 puede realizar una intra predicción o compensación de movimiento de acuerdo con una división y un modo de predicción de cada unidad de codificación, sobre la base de la información acerca del tipo de división y el modo de predicción de la unidad de predicción de las unidades de codificación que tienen una estructura de árbol.
Asimismo, el descodificador 230 puede leer la estructura de unidades de transformación que tienen una estructura de árbol y puede realizar transformación inversa en cada unidad de codificación sobre la base de las unidades de transformación.
El aparato de descodificación de vídeo 200 puede tener información acerca de al menos una unidad de codificación que genera el error de codificación mínimo cuando la codificación se realiza de forma recursiva para cada unidad de codificación máxima, y puede usar la información para descodificar la imagen actual. Dicho de otra forma, las unidades de codificación que tienen una estructura de árbol determinadas para hacer las unidades de codificación óptima en cada unidad de codificación máxima se pueden descodificar. Asimismo, el tamaño máximo de la unidad de codificación se determina en consideración de la resolución y una cantidad de datos de imagen.
Por consiguiente, incluso si los datos de imagen tienen una resolución alta y una gran cantidad de datos, los datos de imagen se pueden descodificar y reconstruir de forma eficiente mediante el uso de un tamaño de una unidad de codificación y un modo de codificación, que se determinan de forma adaptable de acuerdo con características de los datos de imagen, mediante el uso de información acerca de un modo de codificación óptimo recibido de un codificador.
La figura 15 es un diagrama para describir un concepto de unas unidades de codificación de acuerdo con una
10
15
20
25
30
35
40
45
50
55
realización de la presente invención.
Un tamaño de una unidad de codificación se puede expresar en ancho x altura, y puede ser 64 × 64, 32 × 32, 16 × 16, y 8 × 8. Una unidad de codificación de 64 × 64 puede estar dividida en divisiones de 64 × 64, 64 × 32, 32 × 64, o 32 × 32, una unidad de codificación de 32 × 32 puede estar dividida en divisiones de 32 × 32, 32 × 16, 16 × 32, o 16 × 16, una unidad de codificación de 16 × 16 puede estar dividida en divisiones de 16 × 16, 16 × 8, 8 × 16, u 8 × 8 y una unidad de codificación de 8 × 8 puede estar dividida en divisiones de 8 × 8, 8 × 4, 4 × 8 o 4 × 4.
En los datos de vídeo 310, una resolución es 1920 × 1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 2. En los datos de unidad 320, una resolución es 1920 × 1080, un tamaño máximo de una unidad de codificación es 64, y una profundidad máxima es 3. En los datos de vídeo 330, una resolución es 352 × 288, un tamaño máximo de una unidad de codificación es 16, y una profundidad máxima es 1. La profundidad máxima mostrada en la figura 15 denota un número total de divisiones de una unidad de codificación máxima a una unidad de descodificación mínima.
Si una resolución es alta o una cantidad de datos es grande, un tamaño máximo de una unidad de codificación puede ser grande para no solo aumentar la eficiencia de codificación sino también reflejar de forma precisa las características de una imagen. Por consiguiente, el tamaño máximo de la unidad de codificación de los datos de vídeo 310 y 320 que tienen la resolución más alta que los datos de vídeo 330 puede ser 64.
Debido a que la profundidad máxima de los datos de vídeo 310 es 2, las unidades de codificación 315 de los datos de vídeo 310 pueden incluir una unidad de codificación máxima que tienen un tamaño de eje largo de 64, y las unidades de codificación que tienen tamaños de eje largo de 32 y 16 debido a que las profundidades se agudizan a dos capas mediante la división de la unidad de codificación máxima dos veces. Mientras tanto, debido a que la profundidad máxima de los datos de vídeo 330 es 1, las unidades de codificación 335 de los datos de vídeo 330 pueden incluir una unidad de codificación máxima que tiene un tamaño de eje largo de 16, y las unidades de codificación que tienen un tamaño de eje largo de 8 debido a que las profundidades se agudizan a una capa mediante la división de la unidad de codificación máxima una vez.
Debido a que la profundidad máxima de los datos de vídeo 320 es 3, las unidades de codificación 325 de los datos de vídeo 320 pueden incluir una unidad de codificación máxima que tiene un tamaño de eje largo de 64 y unas unidades de codificación que tienen tamaños de eje largo de 32, 16, y 8 debido a que las profundidades se agudizan a tres capas mediante la división de la unidad de codificación máxima tres veces. A medida que una profundidad se agudiza, la información detallada se puede expresar de forma precisa.
La figura 16 es un diagrama de bloques de un codificador de imagen 400 sobre la base de unas unidades de codificación, de acuerdo con un ejemplo de la presente invención.
El codificador de imagen 400 realiza operaciones del codificador 120 del aparato de codificación de vídeo 100 para codificar datos de imagen. Dicho de otra forma, un intra pronosticador 410 realiza una intra predicción en unidades de codificación en un intra modo, de entre una trama actual 405, y un estimador de movimiento 420 y un compensador de movimiento 425 realiza una inter estimación y una compensación de movimiento en unidades de codificación en un inter modo de entre la trama actual 405 mediante el uso de la trama actual 405, y una trama de referencia 495.
Con el fin de realizar de forma precisa estimación de movimiento mediante el uso de píxeles de referencia en unidades de sub-pel, el estimador de movimiento 420 y el compensador de movimiento 425 pueden generar píxeles en las unidades de sub-pel mediante la interpolación de píxeles en unidades de pel de valor entero. Un filtro de interpolación para generar píxeles en unidades de sub-pel puede ser el filtro de interpolación de alisado que se ha descrito en lo que antecede en relación con las figuras 1 y 13A.
En la salida de datos del intra pronosticador 410, el estimador de movimiento 420, y el compensador de movimiento 425 se envía como un coeficiente de transformación cuantificado a través de un transformador 430 y un cuantificador 440. El coeficiente de transformación cuantificado se reconstruye como datos en un dominio espacial a través de un cuantificador inverso 460 y un transformador inverso 470, y los datos reconstruidos en el dominio espacial se envían como la trama de referencia 495 después de pos-procesarse a través de un filtro de desbloqueo 480 y un filtro de bucle 490. El coeficiente de transformación cuantificado se puede enviar como una secuencia de bits 455 a través de un codificador por entropía 450.
Con el fin de que el codificador de imagen 400 se aplique en el aparto de codificación de vídeo 100, todos los elementos del codificador de imagen 400, es decir, el intra pronosticador 410, el estimador de movimiento 420, el compensador de movimiento 425, el transformador 430, el cuantificador 440, el codificador por entropía 450, el cuantificador inverso 460, el transformador inverso 470, el filtro de desbloqueo 480, y el filtro de bucle 490, tienen que realizar operaciones sobre la base de cada unidad de codificación de entre unas unidades de codificación que tienen una estructura de árbol, mientras consideran la profundidad máxima de cada unidad de codificación máxima.
En concreto, el intra pronosticador 410, el estimador de movimiento 420, y el compensador de movimiento 425 tienen que determinar divisiones y un modo de predicción de cada unidad de codificación de entre las unidades de
10
15
20
25
30
35
40
45
50
55
codificación que tienen una estructura de árbol mientras se considera el tamaño máximo y la profundidad máxima de una unidad de codificación máxima actual, y el transformador 430 tiene que determinar el tamaño de la unidad de transformación en cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol.
La figura 17 es un diagrama de bloques de un descodificador de imagen 500 sobre la base de unas unidades de codificación, de acuerdo con un ejemplo de la presente invención.
Un analizador 510 analiza datos de imagen codificados a descodificar e información acerca de la codificación requerida para descodificar a partir de una secuencia de bits 505. Los datos de imagen codificados se envían como datos inversamente cuantificados a través de un descodificador por entropía 520 y un cuantificador inverso 530, y los datos inversamente cuantificados se reconstruyen a datos de imagen en un dominio espacial a través de un transformador inverso 540.
Un intra pronosticador 550 realiza una intra predicción sobre unidades de codificación en un intra modo con respecto a los datos de imagen en el dominio espacial, y un compensador de movimiento 560 realiza compensación de movimiento sobre unidades de codificación en un inter modo mediante el uso de una trama de referencia 585.
Con el fin de realizar de forma precisa estimación de movimiento mediante el uso de píxeles de referencia en unidades de sub-pel, el compensador de movimiento 560 puede generar píxeles en unidades de sub-pel mediante la interpolación de píxeles en unidades de pel de valor entero. Un filtro de interpolación para generar píxeles en unidades de sub-pel puede ser el filtro de interpolación de alisado que se ha descrito en lo que antecede en relación con las figuras 2 y 13B.
Los datos de imagen en el dominio espacial, que pasan a través del intra pronosticador 550 y el compensador de movimiento 560, se pueden enviar como una trama reconstruida 595 después de pos-procesarse a través de un filtro de desbloqueo 570 y un filtro de bucle 580. Asimismo, los datos de imagen que se pos-procesan a través del filtro de desbloqueo 570 y el filtro de bucle 580 se pueden enviar como la trama de referencia 585.
Con el fin de descodificar los datos de imagen en el descodificador 230 del aparato de descodificación de vídeo 200, el descodificador de imagen 500 puede realizar operaciones que se realizan después del analizador 510.
Con el fin de que el descodificador de imagen 500 se aplique en el aparato de descodificación de vídeo 200, todos los elementos del descodificador de imagen 500, es decir, el analizador 510, el descodificador por entropía 520, el cuantificador inverso 530, el transformador inverso 540, el intra pronosticador 550, el compensador de movimiento 560, el filtro de desbloqueo 570, y el filtro de bucle 580, tienen que realizar operaciones sobre la base de unas unidades de codificación que tienen una estructura de árbol para cada unidad de codificación máxima.
En concreto, la intra predicción 550 y el compensador de movimiento 560 tienen que determinar divisiones y un modo de predicción para cada una de las unidades de codificación que tienen una estructura de árbol, y el transformador inverso 540 tiene que determinar un tamaño de una unidad de transformación para cada unidad de codificación.
La figura 18 es un diagrama que ilustra unas unidades de codificación más profunda de acuerdo con unas profundidades, y unas divisiones, de acuerdo con un ejemplo de la presente invención.
El aparato de codificación de vídeo 100 y el aparato de descodificación de vídeo 200 usan unidades de codificación jerárquica para considerar características de una imagen. Una altura máxima, un ancho máximo, y una profundidad máxima de unidades de codificación se pueden determinar de forma adaptable de acuerdo con las características de la imagen, o se pueden establecer de forma diferente por un usuario. Los tamaños de las unidades de codificación más profunda de acuerdo con unas profundidades se pueden determinar de acuerdo con el tamaño máximo previamente determinado de la unidad de codificación.
En una arquitectura jerárquica 600 de unidades de codificación, de acuerdo con un ejemplo de la presente invención, la altura máxima y el ancho máximo de las unidades de codificación son cada uno 64, y la profundidad máxima es 3. En este caso, la profundidad máxima denota el número total de veces que se realiza la división a partir codificación máxima a una unidad de codificación mínima. Debido a que una profundidad se agudiza a lo largo de un eje vertical de la estructura jerárquica 600, se divide cada uno de una altura y un ancho de la unidad de codificación más profunda. Asimismo, una unidad de predicción y unas divisiones, que son bases para la codificación por predicción de cada unidad de codificación más profunda, se muestran a lo largo de un eje horizontal de la estructura jerárquica 600.
Dicho de otra forma, una unidad de codificación 610 es una unidad de codificación máxima de la estructura jerárquica 600, en la que una profundidad de 0 y un tamaño, es decir, una altura por ancho, es 64 × 64. La profundidad se agudiza a lo largo del eje vertical y una unidad de codificación 620 que tiene un tamaño de 32 × 32 y una profundidad de 1, una unidad de codificación 630 que tiene un tamaño de 16 × 16 y una profundidad de 2 y una unidad de codificación 640 que tiene un tamaño de 8 × 8 y una profundidad de 3 existen. La unidad de codificación 640 que tiene el tamaño de 8 × 8 y la profundidad de 3 es una unidad de codificación mínima.
10
15
20
25
30
35
40
45
50
55
La unidad de predicción y las divisiones de una unidad de codificación se disponen a lo largo del eje horizontal de acuerdo con cada profundidad. Dicho de otra forma, si la unidad de codificación 610 que tiene el tamaño de 64 × 64 y la profundidad de 0 es una unidad de predicción, la unidad de predicción se puede dividir en divisiones incluidas en la unidad de codificación 610, es decir, una división 610 que tiene un tamaño de 64 × 64, unas divisiones 612 que tienen el tamaño de 64 × 32, unas divisiones 614 que tienen el tamaño de 32 × 64, o divisiones 616 que tienen el tamaño de 32 × 32.
De forma similar, una unidad de predicción de la unidad de codificación 620 que tiene el tamaño de 32 × 32 y la profundidad de uno se puede dividir en divisiones incluidas en la unidad de codificación 620, es decir, una división 620 que tiene un tamaño de 32 × 32, unas divisiones 622 que tienen un tamaño de 32 × 16, unas divisiones 624 que tienen un tamaño de 16 × 32, o divisiones 626 que tienen un tamaño de 16 × 16.
De forma similar, una unidad de predicción de la unidad de codificación 630 que tienen el tamaño de 16 × 16 y la profundidad de dos se puede dividir en divisiones incluidas en la unidad de codificación 630, es decir, una división que tiene un tamaño de 16 × 16, unas divisiones 632 que tienen un tamaño de 16 × 8, unas divisiones 634 que tiene un tamaño de 8 × 16, o divisiones 636 que tienen un tamaño de 8 × 8.
De forma similar, una unidad de predicción de la unidad de codificación 640 que tiene el tamaño de 8 × 8 y la profundidad de 3 se puede dividir en divisiones incluidas en la unidad de codificación 640, es decir una división que tiene un tamaño de 8 × 8, unas divisiones 642 que tienen un tamaño de 8 × 4, unas divisiones 644 que tienen un tamaño de 4 × 8, o divisiones 646 que tienen un tamaño de 4 × 4.
Con el fin de determinar que la al menos una profundidad codificada de las unidades de codificación que constituyen la unidad de codificación máxima 610, el codificador 120 del aparato de codificación de vídeo 100 realiza una codificación para unidades de codificación que se corresponden con cada profundidad incluida en la unidad de codificación máxima 610.
Un número de unidades de codificación más profunda de acuerdo con unas profundidades que incluyen datos en el mismo intervalo y el mismo tamaño aumenta a medida que se agudiza la profundidad. Por ejemplo, cuatro unidades de codificación que se corresponden con una profundidad de dos se requieren para cubrir datos que se incluyen en una unidad de codificación que se corresponde con una profundidad de 1. Por consiguiente, con el fin de comparar resultados de codificación de los mismos datos de acuerdo con unas profundidades, se codifica cada una de la unidad de codificación que se corresponde con la profundidad de 1 y cuatro unidades de codificación que se corresponden con la profundidad de 2.
Con el fin de realizar una codificación para una profundidad actual de entre las profundidades, un error de codificación mínimo se puede seleccionar para la profundidad actual para realizar una codificación para cada unidad de predicción en las unidades de codificación que se corresponden con la profundidad actual, a lo largo del eje horizontal de la estructura jerárquica 600. Como alternativa, el error de codificación mínimo se puede buscar mediante la comparación de los errores de codificación menores de acuerdo con unas profundidades, mediante la realización de una codificación para cada profundidad a medida que la profundidad se agudiza a lo largo del eje vertical de la estructura jerárquica 600. Una profundidad y una división que tiene el error de codificación mínimo de la unidad de codificación 610 se puede seleccionar como la profundidad codificada y un tipo de división de la unidad de codificación 610.
La figura 19 es un diagrama para describir una relación entre una unidad de codificación 710 y unas unidades de transformación 720, de acuerdo con un ejemplo de la presente invención.
El aparato de codificación de vídeo 100 o el aparato de descodificación de vídeo 200 codifica o descodifica una imagen de acuerdo con unidades de codificación que tienen tamaños menores que o iguales a una unidad de codificación máxima para cada unidad de codificación máxima. Los tamaños de unidades de transformación para transformación durante codificación se pueden seleccionar sobre la base de unas unidades de datos que nos mayores que una unidad de codificación correspondiente.
Por ejemplo, en el aparato de codificación de vídeo 100 o el aparato de descodificación de vídeo 200, si un tamaño de la unidad de codificación 710 es 64 × 64, la transformación se puede realizar mediante el uso de las unidades de transformación 720 que tienen un tamaño de 32 × 32.
Asimismo, los datos de la unidad de codificación 710 que tienen el tamaño de 64 × 64 se pueden codificar mediante la realización de la transformación en cada una de las unidades de transformación que tienen el tamaño de 32 × 32, 16 × 16, 8 × 8, y 4 × 4, que son menores que 64 × 64, y entonces se puede seleccionar una unidad de transformación que tiene el error de codificación menor.
La figura 20 es un diagrama para describir una información de codificación de unas unidades de codificación que se corresponden con una profundidad codificada, de acuerdo con un ejemplo de la presente invención.
La unidad de salida 130 del aparato de codificación de vídeo 100 puede codificar y transmitir una información 800 sobre un tipo de división, información 810 sobre un modo de predicción, e información 820 sobre un tamaño de una
imagen28
imagen29
imagen30
imagen31
imagen32
imagen33
imagen34
imagen35

Claims (1)

  1. imagen1
ES14193524.7T 2010-09-30 2011-09-30 Procedimiento y dispositivo de interpolación de imágenes mediante el uso de un filtro de interpolación de alisado Active ES2630107T3 (es)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US38826410P 2010-09-30 2010-09-30
US388264P 2010-09-30
US201061426479P 2010-12-22 2010-12-22
US201061426479P 2010-12-22
US201161431909P 2011-01-12 2011-01-12
US201161431909P 2011-01-12
US201161450775P 2011-03-09 2011-03-09
US201161450775P 2011-03-09

Publications (1)

Publication Number Publication Date
ES2630107T3 true ES2630107T3 (es) 2017-08-18

Family

ID=45893683

Family Applications (4)

Application Number Title Priority Date Filing Date
ES15173605.5T Active ES2629870T3 (es) 2010-09-30 2011-09-30 Procedimiento y dispositivo de interpolación de imágenes usando un filtro de interpolación de suavizado
ES15173606.3T Active ES2646306T3 (es) 2010-09-30 2011-09-30 Procedimiento de interpolación de imágenes mediante el uso de un filtro de interpolación de alisado
ES14193524.7T Active ES2630107T3 (es) 2010-09-30 2011-09-30 Procedimiento y dispositivo de interpolación de imágenes mediante el uso de un filtro de interpolación de alisado
ES15173607.1T Active ES2640666T3 (es) 2010-09-30 2011-09-30 Dispositivo de interpolación de imágenes mediante el uso de un filtro de interpolación de alisado

Family Applications Before (2)

Application Number Title Priority Date Filing Date
ES15173605.5T Active ES2629870T3 (es) 2010-09-30 2011-09-30 Procedimiento y dispositivo de interpolación de imágenes usando un filtro de interpolación de suavizado
ES15173606.3T Active ES2646306T3 (es) 2010-09-30 2011-09-30 Procedimiento de interpolación de imágenes mediante el uso de un filtro de interpolación de alisado

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES15173607.1T Active ES2640666T3 (es) 2010-09-30 2011-09-30 Dispositivo de interpolación de imágenes mediante el uso de un filtro de interpolación de alisado

Country Status (18)

Country Link
US (5) US9124902B2 (es)
EP (7) EP4318277A3 (es)
JP (7) JP5654685B2 (es)
KR (7) KR101452861B1 (es)
CN (6) CN104994381B (es)
BR (2) BR122021005436B1 (es)
CY (4) CY1119447T1 (es)
DK (4) DK2996336T3 (es)
ES (4) ES2629870T3 (es)
HR (4) HRP20170917T1 (es)
HU (4) HUE036401T2 (es)
LT (4) LT2996335T (es)
MX (5) MX2013003606A (es)
PL (4) PL2996335T3 (es)
PT (4) PT2953355T (es)
RS (3) RS56176B1 (es)
SI (4) SI2860980T1 (es)
WO (1) WO2012044105A2 (es)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5323252B2 (ja) * 2010-03-30 2013-10-23 株式会社東芝 動画像符号化方法、復号化方法、符号化装置および復号化装置
KR101682147B1 (ko) * 2010-04-05 2016-12-05 삼성전자주식회사 변환 및 역변환에 기초한 보간 방법 및 장치
BR112013000554A2 (pt) * 2010-07-09 2020-09-24 Samsung Electronics Co., Ltd. método para interpolar imagem, e aparelho para interpolar imagem
JP5665508B2 (ja) * 2010-11-30 2015-02-04 キヤノン株式会社 画像処理装置及び方法、並びにプログラム及び記憶媒体
EP2724534A2 (en) 2011-06-24 2014-04-30 Motorola Mobility LLC Selection of phase offsets for interpolation filters for motion compensation
US9282339B2 (en) * 2011-06-28 2016-03-08 Samsung Electronics Co., Ltd. Method for image interpolation using asymmetric interpolation filter and apparatus therefor
KR101956284B1 (ko) * 2011-06-30 2019-03-08 엘지전자 주식회사 보간 방법 및 이를 이용한 예측 방법
US9883203B2 (en) * 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
DE102011119177A1 (de) * 2011-11-23 2013-05-23 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Verfahren zum Erstellen eines ersten Parametersatzes
JP5911166B2 (ja) * 2012-01-10 2016-04-27 シャープ株式会社 画像処理装置、画像処理方法、画像処理プログラム、撮像装置、及び画像表示装置
US8675102B2 (en) * 2012-06-08 2014-03-18 Apple Inc. Real time denoising of video
US20140078394A1 (en) * 2012-09-17 2014-03-20 General Instrument Corporation Selective use of chroma interpolation filters in luma interpolation process
JP2016502379A (ja) 2013-01-04 2016-01-21 サムスン エレクトロニクス カンパニー リミテッド 位相差を考慮した映像アップサンプリングを利用するスケーラブルビデオ符号化方法及びその装置、並びにスケーラブルビデオ復号化方法及びその装置
JP6007312B2 (ja) * 2013-03-07 2016-10-12 独立行政法人石油天然ガス・金属鉱物資源機構 画像処理装置、画像処理方法及び画像処理プログラム
DE102013219737B4 (de) 2013-09-30 2019-05-09 Siemens Healthcare Gmbh Angiographisches Untersuchungsverfahren eines Gefäßsystems
JP2015144423A (ja) * 2013-12-25 2015-08-06 三星電子株式会社Samsung Electronics Co.,Ltd. 画像符号化装置、画像復号化装置、それらの方法、プログラム及び画像処理システム
CN110225360A (zh) * 2014-04-01 2019-09-10 联发科技股份有限公司 视频编码中自适应内插滤波的方法
KR102440941B1 (ko) 2015-03-03 2022-09-05 삼성전자주식회사 이미지 처리 정보에 따라 크기와 방향을 갖는 초기 위상을 계산할 수 있는 이미지 처리 장치들
KR102402671B1 (ko) 2015-09-09 2022-05-26 삼성전자주식회사 보간 필터의 연산 복잡도를 조절할 수 있는 영상 처리 장치, 영상 보간 방법 및 영상 부호화 방법
GB201516670D0 (en) 2015-09-21 2015-11-04 Taranis Visual Method and system for interpolating data
WO2017052409A1 (en) * 2015-09-25 2017-03-30 Huawei Technologies Co., Ltd. Apparatus and method for video motion compensation with selectable interpolation filter
KR102146436B1 (ko) 2015-09-25 2020-08-20 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 모션 보상을 위한 장치 및 방법
MY190412A (en) 2015-09-25 2022-04-21 Huawei Tech Co Ltd Adaptive sharpening filter for predictive coding
WO2017052405A1 (en) * 2015-09-25 2017-03-30 Huawei Technologies Co., Ltd. Apparatus and method for video motion compensation
MX2018003673A (es) 2015-09-25 2018-08-01 Huawei Tech Co Ltd Aparato y metodo para compensacion de movimiento de video.
CA3005417A1 (en) * 2015-11-17 2017-05-26 Huawei Technologies Co., Ltd. Method and apparatus for video coding
US10009622B1 (en) 2015-12-15 2018-06-26 Google Llc Video coding with degradation of residuals
CN115334315A (zh) 2016-02-01 2022-11-11 Oppo广东移动通信有限公司 预测图像生成装置、运动图像解码装置、以及运动图像编码装置
KR20180042899A (ko) * 2016-10-19 2018-04-27 디지털인사이트 주식회사 적응적 보간 필터를 사용하는 비디오 코딩 방법 및 장치
CN116320498A (zh) 2016-11-28 2023-06-23 韩国电子通信研究院 用于滤波的方法和装置
WO2018097700A1 (ko) * 2016-11-28 2018-05-31 한국전자통신연구원 필터링을 위한 방법 및 장치
WO2018132150A1 (en) * 2017-01-13 2018-07-19 Google Llc Compound prediction for video coding
EP3577900A4 (en) * 2017-01-31 2020-08-26 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR IMPLEMENTING VIDEO CODING WITH PLANAR INTRA-IMAGE PREDICTION
US10499078B1 (en) * 2017-02-07 2019-12-03 Google Llc Implicit motion compensation filter selection
KR102511546B1 (ko) * 2017-02-24 2023-03-17 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10440396B2 (en) * 2017-03-28 2019-10-08 Qualcomm Incorporated Filter information sharing among color components
JP6981811B2 (ja) 2017-08-25 2021-12-17 株式会社ニューフレアテクノロジー パターン検査装置及びパターン検査方法
WO2019065537A1 (ja) * 2017-09-28 2019-04-04 シャープ株式会社 動き補償フィルタ装置、画像復号装置および動画像符号化装置
SG11202003260WA (en) * 2017-11-07 2020-05-28 Huawei Tech Co Ltd Interpolation filter for an inter prediction apparatus and method for video coding
WO2019160860A1 (en) * 2018-02-14 2019-08-22 Futurewei Technologies, Inc. Adaptive interpolation filter
US20190273946A1 (en) * 2018-03-05 2019-09-05 Markus Helmut Flierl Methods and Arrangements for Sub-Pel Motion-Adaptive Image Processing
KR102435316B1 (ko) 2018-03-29 2022-08-23 후아웨이 테크놀러지 컴퍼니 리미티드 이미지 처리 장치 및 방법
TWI677233B (zh) * 2018-08-02 2019-11-11 瑞昱半導體股份有限公司 決定濾波器係數的方法
JP7250917B2 (ja) * 2018-10-06 2023-04-03 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 補間フィルタを使用するイントラ予測のための方法および装置
WO2020182091A1 (en) 2019-03-08 2020-09-17 Beijing Bytedance Network Technology Co., Ltd. Reshaping model in video processing
KR20210139446A (ko) * 2019-03-28 2021-11-22 후아웨이 테크놀러지 컴퍼니 리미티드 인트라 스무딩을 위한 방법 및 장치
WO2020211863A1 (en) 2019-04-18 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Selective use of cross component mode in video coding
CN113711610B (zh) 2019-04-23 2024-04-16 北京字节跳动网络技术有限公司 降低跨分量依赖性的方法
KR102641796B1 (ko) 2019-05-08 2024-03-04 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 교차-성분 코딩의 적용가능성에 대한 조건들
WO2020259427A1 (en) 2019-06-22 2020-12-30 Beijing Bytedance Network Technology Co., Ltd. Syntax element for chroma residual scaling
CN110351482A (zh) * 2019-06-25 2019-10-18 杭州汇萃智能科技有限公司 图像预处理装置、方法和一种相机
JP7460748B2 (ja) 2019-07-07 2024-04-02 北京字節跳動網絡技術有限公司 クロマ残差スケーリングのシグナリング
JP6797247B2 (ja) * 2019-07-10 2020-12-09 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオ動き補償用の装置および方法
CN114667734A (zh) * 2019-09-23 2022-06-24 阿里巴巴集团控股有限公司 通过重采样执行运动补偿插值的滤波器
US20210176486A1 (en) * 2019-12-09 2021-06-10 Alibaba Group Holding Limited Methods and apparatuses for motion compensation
WO2021126017A2 (en) * 2020-04-29 2021-06-24 Huawei Technologies Co., Ltd. Method and apparatus of subsample interpolation filtering
CN117083855A (zh) * 2021-03-31 2023-11-17 瑞典爱立信有限公司 平滑表面预测
US20230179763A1 (en) * 2021-12-06 2023-06-08 Tencent America LLC Interpolation Filters for Adaptive Motion Vector Difference Resolution
WO2023200135A1 (ko) * 2022-04-15 2023-10-19 현대자동차주식회사 크로마 성분에 대한 개선된 인루프필터를 이용하는 비디오 코딩을 위한 방법 및 장치

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07266331A (ja) * 1994-03-30 1995-10-17 Hitachi Chem Co Ltd 単結晶の切断方法
JP3637740B2 (ja) * 1997-08-25 2005-04-13 三菱住友シリコン株式会社 ワイヤソーおよびインゴット切断方法
JP3075269B2 (ja) 1998-10-13 2000-08-14 セイコーエプソン株式会社 画像データ補間方法、画像データ補間装置および画像データ補間プログラムを記録した媒体
US6768817B1 (en) 1999-09-03 2004-07-27 Truong, T.K./ Chen, T.C. Fast and efficient computation of cubic-spline interpolation for data compression
WO2001018743A1 (en) * 1999-09-03 2001-03-15 Cheng T C Fast and efficient computation of cubic-spline interpolation for data compression
DE10055286A1 (de) * 2000-11-08 2002-05-23 Freiberger Compound Mat Gmbh Vorrichtung und Verfahren zum Trennen von Werkstoffen
DE10122628B4 (de) * 2001-05-10 2007-10-11 Siltronic Ag Verfahren zum Abtrennen von Scheiben von einem Werkstück
JP4120301B2 (ja) * 2002-04-25 2008-07-16 ソニー株式会社 画像処理装置およびその方法
SG140441A1 (en) * 2003-03-17 2008-03-28 St Microelectronics Asia Decoder and method of decoding using pseudo two pass decoding and one pass encoding
KR101038822B1 (ko) 2003-09-07 2011-06-03 마이크로소프트 코포레이션 인터레이스형 비디오의 코딩 및 디코딩
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7502505B2 (en) 2004-03-15 2009-03-10 Microsoft Corporation High-quality gradient-corrected linear interpolation for demosaicing of color images
US8165389B2 (en) 2004-03-15 2012-04-24 Microsoft Corp. Adaptive interpolation with artifact reduction of images
US7623575B2 (en) * 2005-01-05 2009-11-24 Lsi Corporation Method and apparatus for sub-pixel motion compensation
KR20070055212A (ko) 2005-11-25 2007-05-30 삼성전자주식회사 프레임 보간장치, 프레임 보간방법 및 움직임 신뢰성평가장치
CN100566413C (zh) * 2006-06-05 2009-12-02 华为技术有限公司 一种自适应插值处理方法及编解码模块
US9014280B2 (en) * 2006-10-13 2015-04-21 Qualcomm Incorporated Video coding with adaptive filtering for motion compensated prediction
JP2008118447A (ja) * 2006-11-06 2008-05-22 Canon Inc 画像形成装置及び画像形成方法ならびにそのプログラム
CN101212672B (zh) * 2006-12-30 2011-01-05 安凯(广州)微电子技术有限公司 视频内容自适应的亚像素插值方法和装置
KR101369746B1 (ko) * 2007-01-22 2014-03-07 삼성전자주식회사 적응적 보간 필터를 이용한 영상 부호화, 복호화 방법 및장치
EP2048886A1 (en) 2007-10-11 2009-04-15 Panasonic Corporation Coding of adaptive interpolation filter coefficients
KR101418116B1 (ko) 2007-10-24 2014-07-09 고려대학교 산학협력단 프레임 보간 장치 및 그를 포함한 프레임 속도 상향 변환장치
JP4988627B2 (ja) * 2008-03-05 2012-08-01 ルネサスエレクトロニクス株式会社 フィルタ演算器及び動き補償装置
BRPI0915591A2 (pt) * 2008-07-04 2016-08-02 Toshiba Kk método e aparelho de codificação/decodificação de imagem em movimento
US8610673B2 (en) * 2008-12-03 2013-12-17 Microsoft Corporation Manipulation of list on a multi-touch display
US8761268B2 (en) * 2009-04-06 2014-06-24 Intel Corporation Selective local adaptive wiener filter for video coding and decoding
WO2011086672A1 (ja) 2010-01-13 2011-07-21 株式会社 東芝 動画像符号化装置および復号装置
BR112013000554A2 (pt) * 2010-07-09 2020-09-24 Samsung Electronics Co., Ltd. método para interpolar imagem, e aparelho para interpolar imagem
US20120134425A1 (en) * 2010-11-29 2012-05-31 Faouzi Kossentini Method and System for Adaptive Interpolation in Digital Video Coding
CN103283237B (zh) * 2010-12-22 2017-03-22 Lg电子株式会社 帧内预测方法和使用该方法的设备
US20120230423A1 (en) * 2011-03-10 2012-09-13 Esenlik Semih Line memory reduction for video coding and decoding

Also Published As

Publication number Publication date
HRP20171672T1 (hr) 2018-01-12
DK2996336T3 (en) 2017-10-02
KR20140122215A (ko) 2014-10-17
US9253507B2 (en) 2016-02-02
BR122020014075B1 (pt) 2023-11-28
CN104980738A (zh) 2015-10-14
WO2012044105A3 (ko) 2012-06-07
KR101658806B1 (ko) 2016-09-22
PT2860980T (pt) 2017-07-12
US20150237357A1 (en) 2015-08-20
CN103238320A (zh) 2013-08-07
US9277247B2 (en) 2016-03-01
PT2996336T (pt) 2017-09-22
HUE034477T2 (en) 2018-02-28
EP2953355A1 (en) 2015-12-09
HRP20171386T1 (hr) 2017-11-03
CN105049844B (zh) 2017-07-28
JP2015057919A (ja) 2015-03-26
US20150237358A1 (en) 2015-08-20
CN105072443B (zh) 2018-07-27
US9179167B2 (en) 2015-11-03
LT2860980T (lt) 2017-07-10
BR122021005436B1 (pt) 2022-08-23
HUE036401T2 (hu) 2018-07-30
MX339848B (es) 2016-06-15
EP2996336B1 (en) 2017-09-13
US20150245058A1 (en) 2015-08-27
CY1119672T1 (el) 2018-04-04
SI2996336T1 (sl) 2017-10-30
MX2013003606A (es) 2013-04-24
HUE035494T2 (en) 2018-05-02
KR101658808B1 (ko) 2016-09-22
KR101539235B1 (ko) 2015-07-27
LT2996335T (lt) 2017-11-27
KR101658807B1 (ko) 2016-09-22
US9124902B2 (en) 2015-09-01
PL2953355T3 (pl) 2017-12-29
JP2015188261A (ja) 2015-10-29
CN104994381B (zh) 2019-01-04
LT2953355T (lt) 2017-07-10
JP6902937B2 (ja) 2021-07-14
JP5654685B2 (ja) 2015-01-14
EP2624558A2 (en) 2013-08-07
DK2953355T3 (da) 2017-06-26
CN105049843A (zh) 2015-11-11
US20150237359A1 (en) 2015-08-20
JP2015165727A (ja) 2015-09-17
EP2953355B1 (en) 2017-06-14
KR20140096004A (ko) 2014-08-04
MX339849B (es) 2016-06-15
JP2015188260A (ja) 2015-10-29
SI2996335T1 (sl) 2017-12-29
CN103238320B (zh) 2016-06-01
CN104994381A (zh) 2015-10-21
HRP20170981T1 (hr) 2017-09-22
PT2953355T (pt) 2017-06-26
DK2860980T3 (en) 2017-07-17
HRP20170917T1 (hr) 2017-09-22
CN105049843B (zh) 2018-02-06
KR101452861B1 (ko) 2014-10-27
PT2996335T (pt) 2017-11-14
EP2624558A4 (en) 2015-03-25
KR101657537B1 (ko) 2016-09-19
JP2013542666A (ja) 2013-11-21
MX339850B (es) 2016-06-15
KR20150041763A (ko) 2015-04-17
MX336877B (es) 2016-02-04
HUE037725T2 (hu) 2018-09-28
CY1119450T1 (el) 2018-03-07
PL2996336T3 (pl) 2017-11-30
ES2646306T3 (es) 2017-12-13
EP3276961A1 (en) 2018-01-31
ES2640666T3 (es) 2017-11-03
EP2996335B1 (en) 2017-11-01
RS56359B1 (sr) 2017-12-29
KR20150041762A (ko) 2015-04-17
EP4318277A3 (en) 2024-02-28
JP2017188943A (ja) 2017-10-12
RS56473B1 (sr) 2018-01-31
CY1119447T1 (el) 2018-03-07
PL2860980T3 (pl) 2017-09-29
CN104980738B (zh) 2017-04-12
PL2996335T3 (pl) 2018-02-28
EP4318277A2 (en) 2024-02-07
US20130182780A1 (en) 2013-07-18
DK2996335T3 (da) 2017-11-20
LT2996336T (lt) 2017-09-25
SI2953355T1 (sl) 2017-07-31
CN105049844A (zh) 2015-11-11
EP2860980A1 (en) 2015-04-15
EP2996336A1 (en) 2016-03-16
KR20150041761A (ko) 2015-04-17
WO2012044105A2 (ko) 2012-04-05
RS56176B1 (sr) 2017-11-30
EP2860980B1 (en) 2017-06-28
KR20120034057A (ko) 2012-04-09
EP2996335A1 (en) 2016-03-16
CN105072443A (zh) 2015-11-18
JP2015165726A (ja) 2015-09-17
KR101707610B1 (ko) 2017-02-16
CY1119203T1 (el) 2018-02-14
SI2860980T1 (sl) 2017-08-31
US9118933B1 (en) 2015-08-25
KR20140146560A (ko) 2014-12-26
ES2629870T3 (es) 2017-08-16

Similar Documents

Publication Publication Date Title
ES2630107T3 (es) Procedimiento y dispositivo de interpolación de imágenes mediante el uso de un filtro de interpolación de alisado
ES2701978T3 (es) Procedimiento de decodificación usando un filtro de interpolación
RU2612612C2 (ru) Способ и устройство для выполнения интерполяции на основе преобразования и обратного преобразования
KR101992764B1 (ko) 예측 코딩/디코딩 방법 및 상응한 코더/디코더와 전자 설비
ES2728112T3 (es) Procedimiento y aparato de codificación de video con intra predicción
US10085028B2 (en) Method and device for reducing a computational load in high efficiency video coding
KR20180005186A (ko) 인트라 예측을 수행하는 영상 복호화 방법 및 그 장치 및 인트라 예측을 수행하는 영상 부호화 방법 및 그 장치
KR20180006915A (ko) 인트라 예측을 수행하는 영상 복호화 방법 및 그 장치 및 인트라 예측을 수행하는 영상 부호화 방법 및 그 장치
US20180199058A1 (en) Video encoding and decoding method and device
ES2299847T3 (es) Tasa de bits fija, compresion y descompresion entre cuadros de un video.
US20150010060A1 (en) Moving image encoding device, encoding mode determination method, and recording medium
JP5612177B2 (ja) 動画像符号化方法、復号化方法、符号化装置および復号化装置
JP5690898B2 (ja) 画像復号化方法
TWI789653B (zh) 具模式全域設定之以矩陣為基礎之框內預測技術
JP6294708B2 (ja) 画像処理装置、及びプログラム
RU2021112647A (ru) Интерполяция для внешнего предсказания с уточнением
BR122021005437B1 (pt) Método para compensação de movimento
BR112013007203B1 (pt) Método de compensação de movimento
JP2011071825A (ja) 画像処理システムおよび画像処理プログラム