Remuestreo de Lanczos

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Aplicación de una fórmula matemática
Lanczos interpolation with radius 1
Lanczos interpolation with radius 2
Lanczos interpolation with radius 3
Parcela parcial de una señal discreta (puntos negros) y de su interpolación Lanczos (curva azul sólida), con parámetro de tamaño a igual a 1 (top), 2 (middle) y 3 (bottom). También se muestran dos copias del kernel de Lanczos, cambiadas y escaladas, correspondientes a las muestras 4 y 11 ( curvas desgastadas).
El

filtrado de Lanczos y el remuestreo de Lanczos son dos aplicaciones de una fórmula matemática. Puede usarse 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 en ventana 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 cambiarla en una fracción del intervalo de muestreo. A menudo también se utiliza para la interpolación multivariada, por ejemplo para cambiar el tamaño o rotar una imagen digital. Se ha considerado el "mejor compromiso" entre varios filtros sencillos para este fin.

El filtro fue inventado por Claude Duchon, quien lo nombró en honor a Cornelius Lanczos debido al uso que Duchon hizo de la aproximación Sigma en la construcción del filtro, una técnica creada por Lanczos.

Definición

Núcleo de Lanczos

Ventanas de lanczos para a = 1, 2, 3.
kernels Lanczos para los casos a = 2 y a 3. Tenga en cuenta que la función obtiene valores negativos.

El efecto de cada muestra de entrada en los valores interpolados está definido por el núcleo de reconstrucción del filtro L(x) , llamado núcleo Lanczos. Es la función sinc normalizada sinc(x), en 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 axa.

<math alttext="{displaystyle L(x)={begin{cases}operatorname {sinc} (x)operatorname {sinc} (x/a)&{text{if}} -a<xL()x)={}sinc⁡ ⁡ ()x)sinc⁡ ⁡ ()x/a)si − − ac)xc)a,0de otra manera.{displaystyle L(x)={begin{cases}operatorname {sinc} (x)operatorname {sinc} (x/a) -a secuestrar a alguien, '0 golpe{otherwise}<img alt="{displaystyle L(x)={begin{cases}operatorname {sinc} (x)operatorname {sinc} (x/a)&{text{if}} -a<x

Equivalentemente,

<math alttext="{displaystyle L(x)={begin{cases}1&{text{if}} x=0,\{dfrac {asin(pi x)sin(pi x/a)}{pi ^{2}x^{2}}}&{text{if}} -aleq xL()x)={}1si x=0,apecado⁡ ⁡ ()π π x)pecado⁡ ⁡ ()π π x/a)π π 2x2si − − a≤ ≤ xc)a y xل ل 0,0de otra manera.{displaystyle L(x)={begin{cases}1⁄4text{if} x=0,\{dfrac {api x)sin(pi x/a)}{pi ^{2}x^{2}}}} {text{if} -aleq x wonatext{and} xneq 0, pulsa{text{otherwise}}end{cases}}<img alt="{displaystyle L(x)={begin{cases}1&{text{if}} x=0,\{dfrac {asin(pi x)sin(pi x/a)}{pi ^{2}x^{2}}}&{text{if}} -aleq x

El parámetro a es un número 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 alternando lóbulos negativos y positivos en cada lado.

Fórmula de interpolación

Dada una señal unidimensional con muestras si, 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:

S()x)=. . i=⌊ ⌊ x⌋ ⌋ − − a+1⌊ ⌊ x⌋ ⌋ +asiL()x− − i),{displaystyle S(x)=sum _{i=lfloor xrfloor -a+1}^{lfloor xrfloor +a}s_{i}L(x-i),}

Donde a es el parámetro tamaño del filtro, y ⌊ ⌊ x⌋ ⌋ {displaystyle lfloor xrfloor } es la función del suelo. Los límites de esta suma son tales que el núcleo es cero fuera de ellos.

Propiedades

Mientras el parámetro a es un entero positivo, el núcleo de Lanczos es continuo en todas partes, y su derivado es definido y continuo en todas partes (incluso en x = ±a, donde ambas funciones sincicales van a cero). Por lo tanto, la señal reconstruida S()x) también será continuo, con derivación 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) = si para cada argumento entero x = i.

Resampling Lanczos es una forma de un método general desarrollado por Lanczos para contrarrestar el fenómeno de Gibbs multiplicando coeficientes de una serie Fourier truncada por sinc()π π k/m){displaystyle mathrm {sinc} (pi k/m)}, donde k{displaystyle k} es el índice de coeficiente y m{displaystyle m} ¿Cuántos coeficientes tenemos? El mismo razonamiento se aplica en el caso de funciones truncadas si queremos eliminar las oscilaciones de Gibbs en su espectro.

Interpolación multidimensional

El incipit de una imagen en blanco y negro. Ampliación original y de baja calidad con artefactos JPEG.
La misma imagen se muestra hasta cinco veces más muestras en cada dirección, utilizando el muestreo de Lanczos. Los artefactos de pixelación fueron eliminados cambiando la función de transferencia de la imagen.

El núcleo del filtro Lanczos en dos dimensiones es

L()x,Sí.)=L()x)L()Sí.).{displaystyle L(x,y)=L(x)L(y). }

Evaluación

Ventajas

Una discreta ventana Lanczos y su respuesta de frecuencia; ver función Window para comparación 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 2a muestras de entrada consecutivas. Por lo tanto, al variar el parámetro 2a se puede cambiar 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 agudos 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 los bordes nítidos. Además, como ocurre 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, particularmente 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 timbre mínimo", en comparación con la sincronización truncada y la sincronización de ventanas de Bartlett, coseno y Hann, para diezmar e interpolar datos de imágenes bidimensionales. Según Jim Blinn, el núcleo de Lanczos (con a = 3) "mantiene las frecuencias bajas y rechaza las frecuencias altas mejor que cualquier otro (alcanzable) filtro que hemos visto hasta ahora."

La interpolación de Lanczos es un filtro popular para "aumentar" vídeos en varias utilidades multimedia, como AviSynth y FFmpeg.

Limitaciones

Dado que el kernel asume valores negativos para a > 1, la señal interpolada puede ser negativa incluso si todas las muestras son positivas. De manera más general, 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 timbre justo antes y después de cambios abruptos en los valores de la muestra, 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), el timbre es < 1%.

El método es una de las opciones de interpolación disponibles en el software gratuito GNU Image Manipulation Program (GIMP). Una forma de visualizar el efecto de timbre es cambiar la escala de un gráfico de bloques en blanco y negro y seleccionar la interpolación de Lanczos.

Cuando se utiliza el filtro Lanczos para remuestrear imágenes, el efecto de timbre 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, proporcionan una forma de mejorar los bordes. Esto puede mejorar la calidad subjetiva de la imagen, dado el papel especial que juega la nitidez de los bordes en la visión.

En algunas aplicaciones, los artefactos de recorte de gama baja se pueden mejorar 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 Lanczos no tiene la partición de propiedad de unidad. Es decir, la suma U()x)=. . i▪ ▪ ZL()x− − i){textstyle U(x)=sum _{iin mathbb {Z}L(x-i)} de todas las copias traducidas por entero del núcleo no siempre 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. También, para a = 1 la señal interpolada tiene cero derivado 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 pobre. Hay muchas mejores funciones de ventana en forma de campana.

Contenido relacionado

Spl (Unix)

spl es el nombre de una colección de rutinas o macros del kernel de Unix utilizadas. para cambiar el nivel de prioridad de interrupción. Históricamente...

PERLA (lenguaje de programación)

PEARL, o lenguaje en tiempo real de automatización de procesos y experimentos, es un lenguaje de programación diseñado para realizar múltiples tareas y...

Código BCH

En la teoría de la codificación, los códigos Bose–Chaudhuri–Hocquenghem forman una clase de códigos cíclicos de corrección de errores que se...

Matemáticas ML

Lenguaje de marcado matemático es un lenguaje de marcado matemático, una aplicación de XML para describir notaciones matemáticas y capturar tanto su...

Clasificación de raíz

En informática, radix sort es un algoritmo de clasificación no comparativo. Evita la comparación al crear y distribuir elementos en cubos de acuerdo con su...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save