El filtrado y el remuestreo de Lanczos son dos aplicaciones de una fórmula matemática específica. Se puede utilizar como filtro de paso bajo o para interpolar suavemente el valor de una señal digital entre sus muestras . En este último caso, asigna a cada muestra de la señal una copia trasladada y escalada del núcleo de Lanczos , que es una función sinc con ventana del lóbulo central de una segunda función sinc más larga. La suma de estos núcleos trasladados y escalados se evalúa 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 una fracción del intervalo de muestreo. También se emplea con frecuencia para la interpolación multivariante , por ejemplo, para redimensionar o rotar una imagen digital . Se ha considerado la mejor solución de compromiso entre varios filtros sencillos para este fin. [ 1 ]
El filtro fue inventado por Claude Duchon , quien lo nombró en honor a Cornelius Lanczos debido al uso que hizo Duchon de la aproximación sigma en la construcción del filtro, una técnica creada por Lanczos. [ 2 ]
Definición
núcleo de Lanczos


El efecto de cada muestra de entrada sobre los valores interpolados está definido por el núcleo de reconstrucción del filtro L ( x ) , llamado núcleo de Lanczos. Es la función sinc normalizada sinc( x ) , con ventana (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 − a ≤ x ≤ a .
De forma 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 2a − 1 lóbulos: uno positivo en el centro y a − 1 lóbulos alternos negativos y positivos 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 núcleo de Lanczos: [ 3 ]
donde a es el parámetro de tamaño del filtro, yes la función piso . Los límites de esta suma son tales que el núcleo es cero fuera de ellos.
Propiedades
Siempre que 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 núcleo 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 mediante la multiplicación de los coeficientes de una serie de Fourier truncada por, dóndees el índice del coeficiente yes cuántos coeficientes estamos conservando. [ 4 ] [ 5 ] 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 núcleo del filtro de Lanczos en dos dimensiones es
Evaluación
Ventajas

El filtro de reconstrucción teóricamente óptimo para señales de banda limitada es el filtro sinc , que tiene soporte infinito . El filtro de Lanczos es una de las muchas aproximaciones prácticas (con soporte finito) del filtro sinc. Cada valor interpolado es la suma ponderada de 2a muestras de entrada consecutivas. Por lo tanto, al variar el parámetro 2a , se puede intercambiar velocidad de cálculo por una mejor respuesta en frecuencia. El parámetro también permite elegir entre una interpolación más suave o la preservación de transitorios nítidos en los datos. Para el procesamiento de imágenes, la compensación se da 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 de Lanczos se ha comparado con otros métodos de interpolación para señales discretas, en particular con otras versiones con ventana del filtro sinc. Turkowski y Gabriel afirmaron que el filtro de Lanczos (con a = 2 ) es el "mejor compromiso en términos de reducción de aliasing, nitidez y mínimo efecto de anillo", en comparación con el sinc truncado y el sinc con ventana 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 de Lanczos (con a = 3 ) "mantiene las bajas frecuencias y rechaza las altas frecuencias mejor que cualquier filtro (alcanzable) que hayamos visto hasta ahora". [ 6 ]
La interpolación de Lanczos es un filtro popular para "escalar" videos en varias utilidades de medios, como AviSynth [ 7 ] y FFmpeg . [ 8 ]
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 general, el rango de valores de la señal interpolada puede ser más amplio que el rango abarcado por los valores de las muestras discretas. En particular, pueden aparecer artefactos de oscilación justo antes y después de cambios abruptos en los valores de las muestras, lo que puede provocar 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 oscilación es < 1 %.
Al utilizar el filtro Lanczos para el remuestreo de imágenes, el efecto de anillo crea halos claros y oscuros a lo largo de los bordes pronunciados. Si bien estas bandas pueden resultar visualmente molestas, contribuyen a aumentar la nitidez percibida y, por lo tanto, proporcionan una forma de realce de bordes . Esto puede mejorar la calidad subjetiva de la imagen, dado el papel fundamental de la nitidez de los bordes en la visión . [ 9 ]
En algunas aplicaciones, los artefactos de recorte de bajo nivel pueden mitigarse transformando los datos a un dominio logarítmico antes del filtrado. 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 de Lanczos no tiene la propiedad de partición de la unidad . Es decir, la sumaEl valor de a para todas las copias del núcleo, transformadas en enteros, no siempre es 1. Por lo tanto, la interpolación de 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 más bien teórico, ya que usar un núcleo de un solo lóbulo ( a = 1) anula todas las ventajas del método de Lanczos y proporciona un filtro deficiente. Existen muchas mejores funciones de ventana de un solo lóbulo con forma de campana.
La partición de la unidad puede introducirse mediante una normalización,
para.
Véase también
Referencias
- 1 2 Turkowski, Ken; Gabriel, Steve (1990). "Filtros para tareas comunes de remuestreo". 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.
- ↑ Claude, Duchon (1979-08-01). "Filtración de Lanczos en una y dos dimensiones" . Journal of Applied Meteorology . 18 (8): 1016– 1022. Bibcode : 1979JApMe..18.1016D . doi : 10.1175/1520-0450(1979)018 < 1016:LFIOAT > 2.0.CO ; 2 .
- ↑ 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.
- ↑ Lanczos, Cornelius (1988). Análisis aplicado . Nueva York: Dover Publications. págs. 219–221 . ISBN 0-486-65656-XOCLC 17650089
- ↑ Mazzoli, Francesco. "Explicación de la interpolación de Lánczos" . mazzo.li . Consultado el 21 de abril de 2025 .
- ^ 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.
- ↑ "Redimensionar" . Avisynth. 1 de enero de 2015. Consultado el 27 de julio de 2015 .
- ↑ "Guía práctica: Cómo convertir vídeo a mayor resolución usando FFDShow - Foros de Neowin" . Neowin.net. 18 de abril de 2006. Consultado el 31 de julio de 2012 .
- ↑ "IPOL: Métodos lineales para la interpolación de imágenes" . Ipol.im. 27-09-2011 . Consultado el 31-07-2012 .
Enlaces externos
- Ejemplos de geometría antigrano :
image_filters.cppmuestra comparaciones del remuestreo repetido de una imagen con varios núcleos. - imageresampler : Una clase de remuestreo de imágenes de dominio público en C++ con soporte para varios núcleos de filtro Lanczos con ventana.
- Procesamiento de señales
- Interpolación multivariante