Método para interpolación de valor de subpíxeles.

Un método de interpolación de una imagen, comprendiendo la imagen píxeles (A) dispuestos en filas y columnas y representados por valores que tienen un intervalo dinámico especificado, residiendo los píxeles

(A) de las filas en posiciones horizontales de unidad y residiendo los píxeles (A) de las columnas en posiciones verticales de unidad, para generar valores para subpíxeles (b, c, d, e, f, g, h, i), estando situado un subpíxel (b, c, d, e, f, g, h, i) en al menos uno de una posición horizontal fraccionada y vertical fraccionada, pudiéndose representar las posiciones verticales fraccionarias y horizontales fraccionarias de acuerdo con la notación matemática 1/2X, donde x es un número entero positivo en el intervalo de 1 a N, representando 1/2X un nivel particular de interpolación de subpíxel y N representando un nivel máximo de interpolación de subpíxel, comprendiendo el método:

a) interpolar valores para subpíxeles (b) situados en posiciones horizontales 1/2N-1 de unidad y verticales de unidad, y para subpíxeles (b) situados en las posiciones horizontales de unidad y verticales 1/2N-1 de unidad utilizando sumas ponderadas de píxeles (A) que residen en respectivas posiciones horizontales de unidad y verticales de unidad;

b) interpolar un valor para un subpíxel (c) situado en una posición horizontal 1/2N-1 de unidad y vertical 1/2N-1 de unidad utilizando una primera suma ponderada de los valores interpolados para subpíxeles (b) que residen en posiciones horizontales 1/2N-1 de unidad y verticales de unidad o una segunda suma ponderada de los valores interpolados para subpíxeles (b) que residen en las posiciones horizontales de unidad y verticales 1/2N-1 de unidad obtenidas en la etapa a); y

c) interpolar un valor para un subpíxel (h, i) situado en una posición horizontal 1/2N de unidad y vertical 1/2N de unidad utilizando:

- una media ponderada del valor de un primer subpíxel (b) situado en una posición horizontal 1/2N-m de unidad y vertical 1/2N-n de unidad y el valor de un segundo subpíxel (b) situado en una posición horizontal 1/2N-p de unidad y vertical 1/2N-q de unidad, o

- una media ponderada del valor de un píxel (A) situado en una de posición horizontal de unidad y vertical de unidad y el valor de un subpíxel (c) situado en una posición horizontal 1/2N-m de unidad y vertical 1/2N-n de unidad,

tomando las variables m, n, p y q valores enteros en el intervalo de 1 a N, tal que los respectivos primer y segundo subpíxeles (b) o el respectivo píxel (A) y subpíxel (c) se encuentran en diagonal con respecto al subpíxel (h, i) en la posición horizontal 1/2N de unidad y vertical 1/2N de unidad que se interpola.

Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/FI2002/000729.

Solicitante: Nokia Technologies OY.

Nacionalidad solicitante: Finlandia.

Dirección: KARAPORTTI 3 02610 ESPOO FINLANDIA.

Inventor/es: KARCZEWICZ, MARTA, HALLAPURO,ANTTI.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • SECCION G — FISICA > COMPUTO; CALCULO; CONTEO > TRATAMIENTO O GENERACION DE DATOS DE IMAGEN, EN GENERAL... > Transformación geométrica de la imagen en el plano... > G06T3/40 (Cambio de escala de una imagen completa o de una parte de imagen)
  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE IMAGENES, p. ej. TELEVISION > Métodos o disposiciones para la codificación, decodificación,... > H04N19/51 (Estimación del movimiento o de compensación del movimiento)
  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE IMAGENES, p. ej. TELEVISION > Métodos o disposiciones para la codificación, decodificación,... > H04N19/80 (Detalles de las operaciones de filtrado especialmente adaptados para la compresión de vídeo, p. ej para la interpolación de píxeles (H04N 19/635, H04N 19/86  tienen prioridad))
  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE IMAGENES, p. ej. TELEVISION > Métodos o disposiciones para la codificación, decodificación,... > H04N19/523 (con precisión de sub-pixel)

PDF original: ES-2540583_T3.pdf

 

google+ twitter facebook

Fragmento de la descripción:

Método para interpolación de valor de subpíxeles

La presente invención se refiere a un método para interpolación de valor de subpíxeles en la codificación y 5 decodificación de datos. Se refiere particularmente, pero no exclusivamente, a la codificación y decodificación de vídeo digital.

Antecedentes de la Invención 10

Las secuencias de video digital, como las imágenes en movimiento ordinarias grabadas en película, comprenden una secuencia de imágenes quietas, creándose la ilusión de movimiento por la exhibición de las imágenes una después de la otra a una velocidad de trama relativamente rápida, normalmente de 15 a 30 tramas por segundo. Debido a la velocidad de trama relativamente rápida, las imágenes en las tramas consecutivas tienden a ser muy similares y, por lo tanto, contienen una cantidad considerable de información redundante. Por ejemplo, una escena 15 típica puede comprender algunos elementos estacionarios, tales como el escenario de fondo, y algunas áreas en movimiento, que pueden adoptar muchas formas diferentes, por ejemplo, la cara de una persona que lee un periódico, tránsito en movimiento y así sucesivamente. Alternativamente, la cámara que graba la escena por sí misma puede estar en movimiento, en cuyo caso todos los elementos de la imagen tienen el mismo tipo de movimiento. En muchos casos, esto significa que el cambio global entre una trama de video y la siguiente es más 20 bien pequeño. Desde luego, esto depende de la naturaleza del movimiento. Por ejemplo, mientras más rápido es el movimiento, mayor es el cambio de una trama a la siguiente. De manera similar, si una escena contiene un número de elementos en movimiento, el cambio de una trama a la siguiente es probable que sea mayor que en una escena en donde sólo un elemento está en movimiento.

Se debe apreciar que cada trama de una secuencia de video digital original, es decir no comprimida, comprende una cantidad muy grande de información de imagen. Cada trama de la secuencia de video digital no comprimida está formada por una disposición de píxeles de imagen. Por ejemplo, en un formato de video digital comúnmente usado, conocido como el formato de intercambio común de un cuarto (QCIF) , una trama comprende una disposición de 176 x 144 píxeles, en cuyo caso cada trama tiene 25.344 píxeles. A su vez, cada píxel está representado por cierto 30 número de bits, que llevan información acerca del contenido de luminancia y/o color de la región de la imagen correspondiente al píxel. Comúnmente, un denominado modelo de color YUV se usa para representar el contenido de luminancia y crominancia de la imagen. El componente de luminancia, o Y, representa la intensidad (brillo) de la imagen, mientras que el contenido de color de la imagen está representado por dos componentes de crominancia, marcados como U y V. 35

Los modelos de color basados en una representación de imagen/crominancia del contenido de imagen proporcionan ciertas ventajas comparadas con modelos de color que se basan en una representación que implica colores primarios (es decir, rojo, verde y azul, RGB) . El sistema visual humano es más sensible a la variación de intensidad que a las variaciones de color; los modelos de color YUV explotan esta propiedad al usar una resolución espacial 40 más baja para los componentes de crominancia (U, V) que para el componente de luminancia (Y) . De esta manera, la cantidad de información necesaria para codificar la información de color en una imagen puede reducirse con una reducción aceptable en calidad de imagen.

La resolución espacial más baja de los componentes de crominancia generalmente se logra por submuestreo. 45 Normalmente, un bloque de 16 x 16 píxeles de imagen está representado por un bloque de 16 x 16 píxeles que comprenden información de luminancia, y los componentes de crominancia correspondientes está representados cada uno por un bloque de 8 x 8 píxeles que representan un área de la imagen equivalente a los 16 x 16 píxeles del componente de luminancia. Los componentes de crominancia, por lo tanto, son submuestreados espacialmente por un factor de 2 en las direcciones x e y. El conjunto resultante de un bloque de luminancia de 16 x 16 píxeles y dos 50 bloques de crominancia de 8 x 8 píxeles comúnmente se refiere como un macrobloque de YUV o macrobloque, para brevedad.

Una imagen de QCIF comprende 11 x 9 macrobloques. Si los bloques de luminancia y los bloques de crominancia están representados con una resolución de 8 bits (es decir por números en el intervalo de 0 a 255) , el número total 55 de bits requeridos para el macrobloque es (16 x 16 x 8) + 2 x (8 x 8 x 8) = 3072 bits. El número de bits necesarios para representar una trama de video en formato QCIF es, por lo tanto, de 99 x 3072 = 304.128 bits. Esto significa que la cantidad de datos requeridos para transmitir/grabar/exhibir una secuencia de video en formato QCIF, representado mediante el uso de un modelo de color YUV, a una velocidad de 30 tramas por segundo, es más de 9 Mbps (millones de bits por segundo) . Esta es una velocidad de datos extremadamente alta y no es práctica para 60 usarse en aplicaciones de grabación, transmisión y exhibición de video debido a la capacidad de almacenamiento muy grande, la capacidad de canal de transmisión y el rendimiento de hardware requerido.

Si los datos de video han de ser transmitidos en tiempo real en una red de línea fija tal como una ISDN (Red Digital de Servicios Integrados) o una PSTN convencional (Red de Telefonía de Servicios Públicos) , la amplitud de banda 65 de transmisión de datos disponible es normalmente del orden de 64kbits/s. En videotelefonía móvil, donde la transmisión tiene lugar por lo menos en parte sobre un enlace de comunicaciones de radio, la amplitud de banda disponible puede ser tan baja como de 20kbits/s. Esto significa que una reducción significativa en la cantidad de información usada para representar datos de video se debe lograr para permitir la transmisión de secuencias de video digital en redes de comunicación de baja amplitud de banda. Por esta razón, se han desarrollado técnicas de compresión de video que reducen la cantidad de información transmitida mientras retienen una calidad de imagen 5 aceptable.

Los métodos de compresión de video se basan en la reducción de las partes redundantes y perceptualmente irrelevantes de secuencias de video. La redundancia en secuencias de video se puede categorizar en redundancia espacial, temporal y espectral. La "redundancia espacial" es el término usado para describir la correlación entre 10 píxeles vecinos dentro de una trama. El término "redundancia temporal" expresa el hecho de que los objetos que aparecen en una trama de una secuencia probablemente aparezcan en tramas posteriores, mientras que la "redundancia espectral" se refiere a la correlación entre diferentes componentes de color de la misma imagen.

La compresión suficientemente eficiente generalmente no se puede lograr reduciendo simplemente las formas 15 diversas de redundancia en una secuencia de imágenes dada. Por lo tanto, la mayoría de los codificadores de video actuales reducen la calidad de aquellas partes de la frecuencia de video que son subjetivamente las menos importantes. Además, la redundancia de la corriente de bits de video comprimido es por sí misma reducida mediante codificación de menos pérdida eficiente. Normalmente, esto se logra mediante el uso de una técnica conocida como "codificación de longitud variable" (VLC) . 20

Estándares de compresión de video modernos, tales como las recomendaciones H.261, H.263 (+) (++) , H.26L de la ITU-T y la recomendación MPEG-4 del Grupo de Expertos de Imágenes en Movimiento hacen uso de la "predicción temporal compensada en movimiento". Esta es una forma de reducción... [Seguir leyendo]

 


Reivindicaciones:

1. Un método de interpolación de una imagen, comprendiendo la imagen píxeles (A) dispuestos en filas y columnas y representados por valores que tienen un intervalo dinámico especificado, residiendo los píxeles (A) de las filas en posiciones horizontales de unidad y residiendo los píxeles (A) de las columnas en posiciones verticales de unidad, 5 para generar valores para subpíxeles (b, c, d, e, f, g, h, i) , estando situado un subpíxel (b, c, d, e, f, g, h, i) en al menos uno de una posición horizontal fraccionada y vertical fraccionada, pudiéndose representar las posiciones verticales fraccionarias y horizontales fraccionarias de acuerdo con la notación matemática 1/2X, donde x es un número entero positivo en el intervalo de 1 a N, representando 1/2X un nivel particular de interpolación de subpíxel y N representando un nivel máximo de interpolación de subpíxel, comprendiendo el método: 10

a) interpolar valores para subpíxeles (b) situados en posiciones horizontales 1/2N-1 de unidad y verticales de unidad, y para subpíxeles (b) situados en las posiciones horizontales de unidad y verticales 1/2N-1 de unidad utilizando sumas ponderadas de píxeles (A) que residen en respectivas posiciones horizontales de unidad y verticales de unidad; 15

b) interpolar un valor para un subpíxel (c) situado en una posición horizontal 1/2N-1 de unidad y vertical 1/2N-1 de unidad utilizando una primera suma ponderada de los valores interpolados para subpíxeles (b) que residen en posiciones horizontales 1/2N-1 de unidad y verticales de unidad o una segunda suma ponderada de los valores interpolados para subpíxeles (b) que residen en las posiciones horizontales de unidad y verticales 1/2N-1 de unidad obtenidas en la etapa a) ; y 20

c) interpolar un valor para un subpíxel (h, i) situado en una posición horizontal 1/2N de unidad y vertical 1/2N de unidad utilizando:

- una media ponderada del valor de un primer subpíxel (b) situado en una posición horizontal 1/2N-m de unidad y vertical 1/2N-n de unidad y el valor de un segundo subpíxel (b) situado en una 25 posición horizontal 1/2N-p de unidad y vertical 1/2N-q de unidad, o - una media ponderada del valor de un píxel (A) situado en una de posición horizontal de unidad y vertical de unidad y el valor de un subpíxel (c) situado en una posición horizontal 1/2N-m de unidad y vertical 1/2N-n de unidad, tomando las variables m, n, p y q valores enteros en el intervalo de 1 a N, tal que los respectivos 30 primer y segundo subpíxeles (b) o el respectivo píxel (A) y subpíxel (c) se encuentran en diagonal con respecto al subpíxel (h, i) en la posición horizontal 1/2N de unidad y vertical 1/2N de unidad que se interpola.

2. Un método de acuerdo con la reivindicación 1, en el que una primera y una segunda ponderaciones se utilizan en 35 la media ponderada que se hace referencia en la etapa c) , siendo las magnitudes relativas de las ponderaciones proporcionales a la proximidad en la línea recta diagonal del subpíxel (h, i) en posición horizontal 1/2N de unidad y vertical 1/2N de unidad en los respectivos primer y segundo subpíxeles (b) o el respectivo píxel (A) y subpíxel (c) utilizado en la etapa c) .

3. Un método de acuerdo con la reivindicación 2, en el que en una situación donde los respectivos primer y segundo subpíxeles (b) o el respectivo píxel (A) y subpíxel (c) utilizado en la etapa c) están situados simétricamente con respecto al subpíxel (h, i) en la posición horizontal 1/2N de unidad y vertical 1/2N de unidad que se interpola, teniendo la primera y la segunda ponderaciones valores iguales.

4. Un método de acuerdo con la reivindicación 1, en el que la primera suma ponderada de los valores de subpíxeles (b) que residen en posiciones horizontales 1/2N-1 de unidad y verticales de unidad en la etapa b) se utiliza cuando se interpola un valor para un subpíxel (f) en la posición horizontal 1/2N de unidad y vertical 1/2N de unidad.

5. Un método de acuerdo con la reivindicación 1, en el que la segunda suma ponderada de los valores de subpíxeles 50 (b) que residen en las posiciones horizontales de unidad y verticales 1/2N de unidad en la etapa b) se utiliza cuando se interpola un valor para un subpíxel (g) en la posición horizontal 1/2N de unidad y vertical 1/2N-1 de unidad.

6. Un método de acuerdo con la reivindicación 1, que comprende interpolar valores para subpíxeles (h, i) en las posiciones horizontales 1/2N de unidad y verticales 1/2N de unidad tomando un promedio del valor de un píxel (A) 55 que está situado en una posición horizontal de unidad y vertical de unidad y el valor de un subpíxel (c) situado en una posición horizontal 1/2N-1 de unidad y vertical 1/2N-1 de unidad.

7. Un método de acuerdo con la reivindicación 1, que comprende interpolar valores para subpíxeles (h, i) en posiciones horizontales 1/2N de unidad y verticales 1/2N de unidad tomando un promedio del valor de un subpíxel (b) 60 situado en una posición horizontal 1/2N-1 de unidad y vertical de unidad y el valor de un subpíxel (b) situado en una posición horizontal de unidad y vertical 1/2N-1 de unidad.

8. Un método de acuerdo con la reivindicación 1, en el que N es uno de los valores enteros 2, 3, y 4.

9. Un método de acuerdo con la reivindicación 1, en el que en al menos una de la etapa a) y de la etapa b) , interpolando un valor de subpíxel usando una suma ponderada implica el cálculo de un valor intermedio para el valor de subpíxel, teniendo dicho valor intermedio un intervalo dinámico mayor que el intervalo dinámico especificado.

10. Un método de acuerdo con la reivindicación 9, en el que el valor intermedio para un subpíxel que tiene una resolución de subpíxel 1/2N-1 se utiliza en la interpolación de un valor de subpíxel para un subpíxel que tiene una 5 resolución de subpíxel 1/2N.

11. Un método de acuerdo con la reivindicación 1, en el que el intervalo dinámico especificado corresponde al intervalo de valores que dichos píxeles (A) puede tomar.

12. Un método de acuerdo con la reivindicación 11, que comprende representar un valor de subpíxel interpolado en la etapa a) utilizando un primer valor intermedio, teniendo dicho primer valor intermedio un intervalo dinámico igual al intervalo dinámico especificado de los valores de los píxeles respectivos utilizados en la suma ponderada de la etapa a) multiplicado por un valor igual a la suma de las respectivas ponderaciones utilizadas en la suma ponderada de la etapa a) . 15

13. Un método de acuerdo con la reivindicación 12, en el que el intervalo dinámico de dicho primer valor intermedio se define por el número de bits utilizados para representar los valores de los píxeles respectivos utilizados en la suma ponderada de la etapa a) más el número de bits necesarios para representar la suma de las respectivas ponderaciones utilizadas en la suma ponderada de la etapa a) . 20

14. Un método de acuerdo con la reivindicación 12, que comprende truncar el primer valor intermedio dividiendo matemáticamente el primer valor intermedio por un primer factor de escala, teniendo dicho primer factor de escala un valor igual a la suma de las respectivas ponderaciones utilizadas en la suma ponderada de la etapa a) , formando de este modo un valor de subpíxel con un intervalo dinámico igual al intervalo dinámico especificado de dichos 25 valores de píxel.

15. Un método según la reivindicación 12, que comprende el uso de primeros valores intermedios de subpíxel calculados en la etapa a) como los valores interpolados en las respectivas sumas ponderadas de la etapa b) , y que representan un valor de subpíxel interpolado en la etapa b) utilizando un segundo valor intermedio, teniendo dicho 30 segundo valor intermedio un intervalo dinámico igual al intervalo dinámico de los valores de subpíxeles respectivos utilizados en la suma ponderada de la etapa b) multiplicado por un valor igual a la suma de las respectivas ponderaciones utilizadas en la suma ponderada de la etapa b) .

16. Un método según la reivindicación 15, que comprende truncar el segundo valor intermedio dividiendo 35 matemáticamente el segundo valor intermedio por un segundo factor de escala, teniendo dicho segundo factor de escala un valor igual a la suma de las respectivas ponderaciones utilizadas en la suma ponderada de la etapa a) multiplicado por la suma de las respectivas ponderaciones utilizadas en la suma ponderada de la etapa b) , formando de este modo un valor de subpíxel con un intervalo dinámico igual al intervalo dinámico especificado de dichos valores de píxel. 40

17. Un método de acuerdo con la reivindicación 14, que comprende el uso de unos primeros valores de subpíxel truncados intermedios cuando se interpola un valor para un subpíxel (h, i) que tiene una resolución de subpíxel 1/2N en la etapa c) .

18. Un método de acuerdo con la reivindicación 16, que comprende el uso de unos segundos valores de subpíxel truncados intermedios cuando se interpola un valor para un subpíxel (h, i) que tiene una resolución de subpíxel 1/2N en la etapa c) .

19. Un interpolador (730, 750, 845, 890) para interpolar una imagen, comprendiendo la imagen píxeles (A) 50 dispuestos en filas y columnas y representados por valores que tienen un intervalo dinámico especificado, los píxeles (A) en las filas residiendo en posiciones horizontales de unidad y los píxeles (A) en las columnas residiendo en posiciones verticales de unidad, estando el interpolador (730, 750, 845, 890) adaptados para generar valores para subpíxeles (b, c, d, e, f, g, h , i) , estando un subpíxel (b, c, d, e, f, g, h, i) situado en al menos uno de una posición horizontal fraccionada y una vertical fraccionada, pudiéndose representar las posiciones verticales 55 fraccionarias y horizontales fraccionarias de acuerdo con la notación matemática 1/2X, donde x es un número entero positivo en el intervalo de 1 a N, representando 1/2X un nivel particular de interpolación de subpíxel y representando N un nivel máximo de interpolación de subpíxel, estando el interpolador (730, 750, 845, 890) adaptado para:

a) interpolar valores para subpíxeles (b) situados en posiciones horizontales 1/2N-1 de unidad y verticales de 60 unidad, y por subpíxeles (b) situados en posiciones horizontales 1/2N-1 de unidad y verticales utilizando sumas ponderadas de píxeles (A) que residen en respectivas posiciones horizontales de unidad y verticales de unidad;

b) interpolar un valor para un subpíxel (c) situado en una posición horizontal 1/2N-1 de unidad y vertical 1/2N-1 de unidad utilizando una primera suma ponderada de los valores interpolados para subpíxeles (b) que 65 residen en posiciones horizontales 1/2N-1 de unidad y verticales de unidad o una segunda suma ponderada de los valores interpolados para subpíxeles (b) que residen en posiciones horizontales 1/2N-1 de unidad y verticales de unidad obtenidas en la etapa a) ; y c) interpolar un valor para un subpíxel (h, i) situado en una posición horizontal 1/2N de unidad y vertical 1/2N de unidad utilizando:

- una media ponderada del valor de un primer subpíxel (b) situado en una posición horizontal 1/2N-m de unidad y vertical 1/2N-n de unidad y el valor de un segundo subpíxel (b) situado en una posición horizontal 1/2N-p de unidad y vertical 1/2N-q de unidad, o - una media ponderada del valor de un píxel (A) situado en una de posición horizontal de unidad y vertical de unidad y el valor de un subpíxel (c) situado en una posición horizontal 1/2N-m de unidad 10 y vertical 1/2N-n de unidad, tomando las variables m, n, p y q valores enteros en el intervalo de 1 a N, tal que los respectivos primer y segundo subpíxeles (b) o el respectivo píxel (A) y subpíxel (c) se encuentran en diagonal con respecto al subpíxel (h, i) en la posición horizontal 1/2N de unidad y vertical 1/2N de unidad que se interpola. 15

20. Un interpolador (730, 750, 845, 890) de acuerdo con la reivindicación 19, en donde el interpolador (730, 750, 845, 890) está configurado para utilizar una primera y una segunda ponderaciones en la media ponderada que se hace referencia en la etapa c) , siendo las magnitudes relativas de las ponderaciones proporcionales a la proximidad en la línea recta diagonal del subpíxel (h, i) en posición horizontal 1/2N de unidad y vertical 1/2N de unidad en los 20 respectivos primer y segundo subpíxeles (b) o el respectivo píxel (A) y subpíxel (c) utilizado en la etapa c) .

21. Un interpolador (730, 750, 845, 890) de acuerdo con la reivindicación 20, en donde el interpolador (730, 750, 845, 890) está configurado para utilizar una primera y una segunda interpolaciones que tienen valores iguales en una situación donde los respectivos primer y segundo sub -píxeles (b) o el correspondiente píxel (A) y subpíxel (c) 25 que se utiliza en la etapa c) están colocados simétricamente con respecto al subpíxel (h, i) en posición horizontal 1/2N de unidad y vertical 1/2N de unidad que se interpola.

22. Un interpolador (730, 750, 845, 890) de acuerdo con la reivindicación 19, en donde el interpolador (730, 750, 845, 890) está configurado para utilizar la primera suma ponderada de los valores de subpíxeles (b) que residen en 30 posiciones horizontales 1/2N-1 de unidad y verticales de unidad en la etapa b) cuando se interpola un valor para un subpíxel (f) en posición horizontal 1/2N-1 de unidad y vertical 1/2N de unidad.

23. Un interpolador (730, 750, 845, 890) de acuerdo con la reivindicación 19, en donde el interpolador (730, 750, 845, 890) está configurado para utilizar la segunda suma ponderada de los valores de subpíxeles (b) que residen en 35 las posiciones horizontales de unidad y verticales 1/2N-1 de unidad en la etapa b) cuando se interpola un valor para un subpíxel (g) en posición horizontal 1/2N de unidad y vertical 1/2N-1 de unidad.

24. Un interpolador (730, 750, 845, 890) de acuerdo con la reivindicación 19, en donde el interpolador (730, 750, 845, 890) está configurado para interpolar valores de subpíxeles (h, i) en posiciones horizontales 1/2N de unidad y 40 verticales 1/2N de unidad tomando un promedio del valor de un píxel (A) situado en una posición horizontal de unidad y vertical de unidad y el valor de un subpíxel (c) situado en una posición horizontal 1/2N-1 de unidad y vertical 1/2N-1 de unidad.

25. Un interpolador (730, 750, 845, 890) de acuerdo con la reivindicación 19, en donde el interpolador (730, 750, 45 845, 890) está configurado para interpolar valores de subpíxeles (h, i) en posiciones horizontales 1/2N de unidad y verticales 1/2N de unidad tomando un promedio del valor de un subpíxel (b) situado en una posición horizontal 1/2N-1 de unidad y vertical de unidad, y el valor de un subpíxel (b) situado en una posición horizontal de unidad y vertical 1/2N-1 de unidad.

26. Un interpolador (730, 750, 845, 890) de acuerdo con la reivindicación 19, en el que N es uno de los valores enteros 2, 3, y 4.

27. Un interpolador (730, 750, 845, 890) de acuerdo con la reivindicación 19, en donde en al menos una de la etapa a) y de la etapa b) , el interpolador (730, 750, 845, 890) está configurado para interpolar un valor de subpíxel usando 55 una suma ponderada que implica el cálculo de un valor intermedio para el valor de subpíxel, teniendo dicho valor intermedio un intervalo dinámico mayor que el intervalo dinámico especificado.

28. Un interpolador (730, 750, 845, 890) de acuerdo con la reivindicación 27, en donde el interpolador (730, 750, 845, 890) está configurado para utilizar el valor intermedio para un subpíxel que tiene una resolución de subpíxel 60 1/2N-1 en la interpolación de un valor de subpíxel para un subpíxel que tiene una resolución de subpíxel 1/2N.

29. Un interpolador (730, 750, 845, 890) de acuerdo la reivindicación 19, en el que el intervalo dinámico especificado corresponde al intervalo de valores que dichos píxeles (A) pueden tomar.

30. Un interpolador (730, 750, 845, 890) de acuerdo con la reivindicación 29, en donde el interpolador (730, 750, 845, 890) está configurado para representar un valor de subpíxel interpolado en la etapa a) utilizando un primer valor intermedio, teniendo dicho primer valor intermedio un intervalo dinámico igual al intervalo dinámico especificado de los valores de los píxeles respectivos utilizados en la suma ponderada de la etapa a) multiplicado por un valor igual a la suma de las respectivas ponderaciones utilizadas en la suma ponderada de la etapa a) .

31. Un interpolador (730, 750, 845, 890) de acuerdo con la reivindicación 30, en el que el intervalo dinámico de dicho primer valor intermedio se define por el número de bits utilizados para representar los respectivos valores de los píxeles utilizados en la suma ponderada de la etapa a) más el número de bits requeridos para representar la suma de las respectivas ponderaciones utilizadas en la suma ponderada de la etapa a) .

32. Un interpolador (730, 750, 845, 890) de acuerdo con la reivindicación 30, en donde el interpolador (730, 750, 845, 890) está configurado para truncar el primer valor intermedio dividiendo matemáticamente el primer valor intermedio por un primer factor de escala, teniendo dicho primer factor de escala un valor igual a la suma de las respectivas ponderaciones utilizadas en la suma ponderada de la etapa a) , formando de este modo un valor de subpíxel con un intervalo dinámico igual al intervalo dinámico especificado de dichos valores de píxel. 15

33. Un interpolador (730, 750, 845, 890) de acuerdo con la reivindicación 30, en donde el interpolador (730, 750, 845, 890) está configurado para utilizar los primeros valores de subpíxel intermedios calculados en la etapa a) como los valores interpolados en las respectivas sumas ponderadas de la etapa b) , y para representar un valor de subpíxel interpolado en la etapa b) utilizando un segundo valor intermedio, teniendo dicho segundo valor intermedio un 20 intervalo dinámico igual al intervalo dinámico de los valores de subpíxeles respectivos utilizados en la suma ponderada de la etapa b) multiplicado por un valor igual a la suma de las respectivas ponderaciones utilizadas en la suma ponderada de la etapa b) .

34. Un interpolador (730, 750, 845, 890) de acuerdo con la reivindicación 33, en donde el interpolador (730, 750, 25 845, 890) está configurado para truncar el segundo valor intermedio dividiendo matemáticamente el segundo valor intermedio por un segundo factor de escala, teniendo dicho segundo factor de escala un valor igual a la suma de las respectivas ponderaciones utilizadas en la suma ponderada de la etapa a) multiplicado por la suma de las respectivas ponderaciones utilizadas en la suma ponderada de la etapa b) , formando de este modo un valor de subpíxel con un intervalo dinámico igual al intervalo dinámico especificado de dichos valores de píxel. 30

35. Un interpolador (730, 750, 845, 890) de acuerdo con la reivindicación 32, en donde el interpolador (730, 750, 845, 890) está configurado para utilizar los primeros valores truncados intermedios de subpíxel cuando se interpola un valor para un subpíxel (h, i) que tiene una resolución de subpíxel 1/2N en la etapa c) .

36. Un interpolador (730, 750, 845, 890) de acuerdo con la reivindicación 34, en donde el interpolador (730, 750, 845, 890) está configurado para utilizar los segundos valores truncados intermedios de subpíxel cuando se interpola un valor para un subpíxel (h, i) que tiene resolución de subpíxel 1/2N en la etapa c) .

37. Un codificador de vídeo (700) , un decodificador de vídeo (800) o un códec de vídeo (700, 800) que comprende 40 un interpolador (730, 750, 845, 890) de acuerdo con cualquiera de las reivindicaciones 19 a 36.

38. Un terminal de comunicaciones (60, MS) que comprende un codificador de vídeo, un decodificador de vídeo o un códec de vídeo de acuerdo con la reivindicación 37.

39. Un programa de ordenador para interpolar una imagen, comprendiendo la imagen píxeles (A) dispuestos en filas y columnas y representados por valores que tienen un intervalo dinámico especificado, residiendo los píxeles (A) de las filas en posiciones horizontales de unidad y los píxeles (A) de las columnas residiendo en posiciones verticales de unidad, para generar valores para subpíxeles (b, c, d, e, f, g, h, i) , estando situado un subpíxel (b, c, d, e, f, g, h, i) en al menos uno de una posición horizontal fraccionada y una vertical fraccionada, pudiéndose representar las 50 posiciones verticales fraccionarias y horizontales fraccionarias de acuerdo con la notación matemática 1/2X, donde x es un número entero positivo en el intervalo de 1 a N, representando 1/2X un nivel particular de interpolación de subpíxel y N representando un nivel máximo de interpolación de subpíxel, comprendiendo el programa de ordenador:

a) un código de programa para interpolar valores para subpíxeles (b) situados en posiciones horizontales 1/2N-1 de unidad y verticales de unidad, y para subpíxeles (b) situados en posiciones horizontales de unidad y verticales 1/2N-1 de unidad utilizando sumas ponderadas de píxeles (A) que residen en respectivas posiciones horizontales de unidad y verticales de unidad;

b) un código de programa para interpolar un valor para un subpíxel (c) situado en una posición horizontal 60 1/2N-1 de unidad y vertical 1/2N-1 de unidad utilizando una primera suma ponderada de los valores interpolados para subpíxeles (b) que residen en posiciones horizontales 1/2N-1 de unidad y verticales de unidad o una segunda suma ponderada de los valores interpolados para subpíxeles (b) que residen en las posiciones horizontales de unidad y verticales 1/2N-1 de unidad obtenidas en la etapa a) ; y c) un código de programa para interpolar un valor para un subpíxel (h, i) situado en una posición horizontal 65 1/2N de unidad y vertical 1/2N de unidad utilizando:

- una media ponderada del valor de un primer subpíxel (b) situado en una posición horizontal 1/2N-m de unidad y vertical 1/2N-n de unidad y el valor de un segundo subpíxel (b) situado en una posición horizontal 1/2N-p de unidad y vertical 1/2N-q de unidad, o - una media ponderada del valor de un píxel (A) situado en una de posición horizontal de unidad y 5 vertical de unidad y el valor de un subpíxel (c) situado en una posición horizontal 1/2N-m de unidad y vertical 1/2N-n de unidad, tomando las variables m, n, p y q valores enteros en el intervalo de 1 a N, tal que los respectivos primer y segundo subpíxeles (b) o el respectivo píxel (A) y subpíxel (c) se encuentran en diagonal con respecto al subpíxel (h, i) en la posición horizontal 1/2N de unidad y vertical 1/2N de unidad que 10 se interpola.