stringtranslate.com

Remuestreo de Lanczos

Gráfico parcial de una señal discreta (puntos negros) y de su interpolación de Lanczos (curva azul sólida), con un parámetro de tamaño a igual a 1 (arriba), 2 (centro) y 3 (abajo). También se muestran dos copias del núcleo de Lanczos, desplazadas y escaladas, correspondientes a las muestras 4 y 11 (curvas discontinuas).

El filtrado de Lanczos y el remuestreo de Lanczos son dos aplicaciones de una determinada fórmula matemática. Se puede utilizar como filtro de paso bajo o para interpolar suavemente el valor de una señal digital entre sus muestras . En el último caso, asigna cada muestra de la señal dada a una copia traducida y escalada del núcleo de Lanczos , que es una función sinc enventanada por el lóbulo central de una segunda función sinc más larga. La suma de estos núcleos traducidos y escalados se evalúa luego en los puntos deseados.

El remuestreo de Lanczos se utiliza normalmente para aumentar la frecuencia de muestreo de una señal digital o para desplazarla en una fracción del intervalo de muestreo. También se suele utilizar para la interpolación multivariable , por ejemplo para cambiar el tamaño o rotar una imagen digital . Se ha considerado el "mejor compromiso" entre varios filtros simples para este propósito. [1]

El filtro fue inventado por Claude Duchon, quien lo bautizó en honor a Cornelius Lanczos debido al uso que Duchon hizo de la aproximación Sigma para construir el filtro, una técnica creada por Lanczos. [2]

Definición

Grano de Lanczos

Ventanas de Lanczos para a = 1, 2, 3.
Núcleos de Lanczos para los casos a = 1, 2 y 3, con sus espectros de frecuencia. Un filtro sinc tendría un corte en la frecuencia 0,5.

El efecto de cada muestra de entrada sobre los valores interpolados se define mediante el núcleo de reconstrucción del filtro L ( x ) , llamado núcleo de Lanczos. Es la función sinc normalizada sinc( x ) , multiplicada por la ventana de Lanczos .o ventana sinc , que es el lóbulo central de una función sinc estirada horizontalmente sinc( x / a ) para axa .

De manera equivalente,

El parámetro a es un entero positivo, normalmente 2 o 3, que determina el tamaño del núcleo. El núcleo de Lanczos tiene 2 lóbulos a − 1 : uno positivo en el centro y lóbulos negativos y positivos alternados a cada lado.

Fórmula de interpolación

Dada una señal unidimensional con muestras s i , para valores enteros de i , el valor S ( x ) interpolado en un argumento real arbitrario x se obtiene mediante la convolución discreta de esas muestras con el kernel de Lanczos: [3]

donde a es el parámetro de tamaño del filtro y es la función base . Los límites de esta suma son tales que el núcleo es cero fuera de ellos.

Propiedades

Mientras el parámetro a sea un entero positivo, el núcleo de Lanczos es continuo en todas partes, y su derivada está definida y es continua en todas partes (incluso en x = ± a , donde ambas funciones sinc tienden a cero). Por lo tanto, la señal reconstruida S ( x ) también será continua, con derivada continua.

El kernel de Lanczos es cero en cada argumento entero x , excepto en x = 0 , donde tiene valor 1. Por lo tanto, la señal reconstruida interpola exactamente las muestras dadas: tendremos S ( x ) = s i para cada argumento entero x = i .

El remuestreo de Lanczos es una forma de un método general desarrollado por Lanczos para contrarrestar el fenómeno de Gibbs al multiplicar los coeficientes de una serie de Fourier truncada por , donde es el índice del coeficiente y es la cantidad de coeficientes que conservamos. [4] El mismo razonamiento se aplica en el caso de funciones truncadas si deseamos eliminar las oscilaciones de Gibbs en su espectro.

Interpolación multidimensional

El comienzo de una imagen en blanco y negro. Original, ampliación de baja calidad con artefactos JPEG.
La misma imagen se remuestreó cinco veces más en cada dirección, utilizando el remuestreo de Lanczos. Los artefactos de pixelación se eliminaron modificando la función de transferencia de la imagen.

El núcleo del filtro de Lanczos en dos dimensiones es

Evaluación

Ventajas

Una ventana de Lanczos discreta y su respuesta de frecuencia ; consulte la función Ventana para comparar con otras ventanas.

El filtro de reconstrucción teóricamente óptimo para señales de banda limitada es el filtro sinc , que tiene soporte infinito . El filtro Lanczos es una de las muchas aproximaciones prácticas (con soporte finito) del filtro sinc. Cada valor interpolado es la suma ponderada de 2 a muestras de entrada consecutivas. Por lo tanto, al variar el parámetro 2 a se puede intercambiar la velocidad de cálculo por una respuesta de frecuencia mejorada. El parámetro también permite elegir entre una interpolación más suave o una preservación de transitorios nítidos en los datos. Para el procesamiento de imágenes, el equilibrio es entre la reducción de artefactos de aliasing y la preservación de bordes nítidos. Además, como con cualquier procesamiento de este tipo, no hay resultados para los bordes de la imagen. Aumentar la longitud del núcleo aumenta el recorte de los bordes de la imagen.

El filtro Lanczos se ha comparado con otros métodos de interpolación para señales discretas, en particular otras versiones en ventana del filtro sinc. Turkowski y Gabriel afirmaron que el filtro Lanczos (con a = 2 ) es el "mejor compromiso en términos de reducción de aliasing, nitidez y zumbido mínimo", en comparación con sinc truncado y sinc con ventanas de Bartlett , coseno y Hann , para la decimación e interpolación de datos de imágenes bidimensionales. [1] Según Jim Blinn , el núcleo Lanczos (con a = 3 ) "mantiene las frecuencias bajas y rechaza las frecuencias altas mejor que cualquier filtro (alcanzable) que hayamos visto hasta ahora". [5]

La interpolación de Lanczos es un filtro popular para "mejorar" la calidad de los videos en varias utilidades multimedia, como AviSynth [6] y FFmpeg . [7]

Limitaciones

Dado que el núcleo asume valores negativos para a > 1 , la señal interpolada puede ser negativa incluso si todas las muestras son positivas. En términos más generales, el rango de valores de la señal interpolada puede ser más amplio que el rango abarcado por los valores de muestra discretos. En particular, puede haber artefactos de vibración justo antes y después de cambios abruptos en los valores de muestra, lo que puede generar artefactos de recorte . Sin embargo, estos efectos se reducen en comparación con el filtro sinc (sin ventana). Para a  = 2 (un núcleo de tres lóbulos), la vibración es < 1%.

Al utilizar el filtro Lanczos para el remuestreo de imágenes, el efecto de anillo creará halos claros y oscuros a lo largo de los bordes fuertes. Si bien estas bandas pueden resultar visualmente molestas, ayudan a aumentar la nitidez percibida y, por lo tanto, brindan una forma de mejora de los bordes . Esto puede mejorar la calidad subjetiva de la imagen, dada la función especial de la nitidez de los bordes en la visión . [8]

En algunas aplicaciones, los artefactos de recorte de gama baja se pueden mejorar transformando los datos a un dominio logarítmico antes de filtrarlos. En este caso, los valores interpolados serán una media geométrica ponderada, en lugar de una media aritmética, de las muestras de entrada.

El núcleo Lanczos no tiene la propiedad de partición de la unidad . Es decir, la suma de todas las copias del núcleo traducidas a números enteros no siempre es 1. Por lo tanto, la interpolación Lanczos de una señal discreta con muestras constantes no produce una función constante. Este defecto es más evidente cuando  a = 1. Además, para a = 1 la señal interpolada tiene derivada cero en cada argumento entero. Esto es bastante académico, ya que el uso de un núcleo de un solo lóbulo ( a  = 1) pierde todos los beneficios del enfoque Lanczos y proporciona un filtro deficiente. Hay muchas mejores funciones de ventana de un solo lóbulo en forma de campana.

La partición de la unidad se puede introducir mediante una normalización,

para .

Véase también

Referencias

  1. ^ ab Turkowski, Ken; Gabriel, Steve (1990). "Filtros para tareas de remuestreo comunes". En Glassner, Andrew S. (ed.). Graphics Gems I . Academic Press. págs. 147–165. CiteSeerX  10.1.1.116.7898 . ISBN 978-0-12-286165-9.
  2. ^ Claude, Duchon (1979-08-01). "Filtrado de Lanczos en una y dos dimensiones". Journal of Applied Meteorology . 18 (8): 1016–1022. Código Bibliográfico :1979JApMe..18.1016D. doi : 10.1175/1520-0450(1979)018<1016:LFIOAT>2.0.CO;2 .
  3. ^ Burger, Wilhelm; Burge, Mark J. (2009). Principios del procesamiento de imágenes digitales: algoritmos básicos. Springer. pp. 231–232. ISBN 978-1-84800-194-7.
  4. ^ Lanczos, Cornelius (1988). Análisis aplicado. Nueva York: Dover Publications. pp. 219–221. ISBN 0-486-65656-X.OCLC 17650089  .
  5. ^ Blinn, Jim (1998). El rincón de Jim Blinn: píxeles sucios. Morgan Kaufman. págs. 26 y 27. ISBN 978-1-55860-455-1.
  6. ^ "Cambiar tamaño". Avisynth. 1 de enero de 2015. Consultado el 27 de julio de 2015 .
  7. ^ "Guía práctica: conversión ascendente de vídeo con FFDShow - Foros de Neowin". Neowin.net. 18 de abril de 2006. Consultado el 31 de julio de 2012 .
  8. ^ "IPOL: métodos lineales para la interpolación de imágenes". Ipol.im. 2011-09-27 . Consultado el 2012-07-31 .

Enlaces externos