Lanczos yeniden örnekleme - Lanczos resampling

Yarıçap 1 ile Lanczos enterpolasyonu
Yarıçap 2 ile Lanczos enterpolasyonu
3 yarıçaplı Lanczos enterpolasyonu
Ayrık bir sinyalin (siyah noktalar) ve Lanczos enterpolasyonunun (koyu mavi eğri), boyut parametresi a 1 (üst), 2 (orta) ve 3 (alt) olarak kısmi çizimi . Ayrıca, örnek 4 ve 11'e (kesikli eğriler) karşılık gelen, kaydırılmış ve ölçeklenmiş Lanczos çekirdeğinin iki kopyası da gösterilmektedir.

Lanczos filtreleme ve Lanczos yeniden örnekleme , bir matematiksel formülün iki uygulamasıdır. Bu şekilde kullanılabilecek , düşük geçişli filtre veya düzgün için kullanılan enterpolasyon bir değeri dijital sinyal kendi arasında örnekleri . İkinci durumda, verilen sinyalin her örneğini,ikinci, daha uzun, sinc fonksiyonunun merkezi lobu tarafından pencerelenen bir sinc fonksiyonu olan Lanczos çekirdeğinin çevrilmiş ve ölçeklenmiş bir kopyasına eşler. Bu çevrilmiş ve ölçeklenmiş çekirdeklerin toplamı daha sonra istenen noktalarda değerlendirilir.

Lanczos yeniden örnekleme tipik olarak bir dijital sinyalin örnekleme hızını artırmak veya örnekleme aralığının bir kısmı kadar kaydırmak için kullanılır. Genellikle çok değişkenli enterpolasyon için de kullanılır , örneğin dijital bir görüntüyü yeniden boyutlandırmak veya döndürmek için . Bu amaç için birkaç basit filtre arasında "en iyi uzlaşma" olarak kabul edilmiştir.

Filtre, adını mucidi Cornelius Lanczos'tan almıştır ( Macarca telaffuz:  [ˈlaːnt͡soʃ] ).

Tanım

Lanczos çekirdeği

a = 1, 2, 3 için Lanczos pencereleri .
a = 2 ve a = 3 durumları için Lanczos çekirdekleri . Fonksiyonun negatif değerler aldığını unutmayın.

Her girdi örneğinin enterpolasyonlu değerler üzerindeki etkisi, filtrenin Lanczos çekirdeği olarak adlandırılan yeniden yapılandırma çekirdeği L ( x ) tarafından tanımlanır . Bu normalize edilir Sinc fonksiyonu Sinc ( x ) , pencereli ile (çarpı) Lanczos pencere ,veya yatay olarak gerilmiş bir sinc fonksiyonunun merkezi lobu olan sinc penceresi sinc( x / a ) for axa .

eşdeğer olarak,

Parametre bir çekirdek boyutunu belirleyen bir pozitif tam sayı, tipik olarak 2 ya da 3 olduğu. Lanczos çekirdeğinin 2 a − 1 lobu vardır: merkezde pozitif bir lob ve her iki tarafta da − 1 dönüşümlü negatif ve pozitif lob.

enterpolasyon formülü

Örnekleri ile tek boyutlu bir sinyal verilen s i tamsayı değerleri için, i , değer S ( x ) isteğe bağlı bir gerçek değişken interpolasyon x ayrı elde edilir kıvrım Lanczos çekirdeği olan numunelerin:

burada bir filtre boyutu parametredir ve bir zemin işlevi . Bu toplamın sınırları, çekirdek bunların dışında sıfır olacak şekildedir.

Özellikleri

Sürece parametre olarak bir pozitif tamsayıdır, Lanczos çekirdektir sürekli , her yerde ve türev tanımlandığı gibidir ve her yerde sürekli (hatta en x = ± bir , iki Sinc fonksiyonları sıfıra nereye). Bu nedenle, yeniden oluşturulan sinyal S ( x ) de sürekli türev ile sürekli olacaktır.

Lanczos çekirdeği, 1 değerine sahip olduğu x = 0 hariç , her x tamsayı argümanında sıfırdır. Bu nedenle, yeniden oluşturulan sinyal verilen örnekleri tam olarak enterpolasyon yapar: her x = tamsayı argümanı için S ( x ) = s i'ye sahip olacağız. ben .

Çok boyutlu enterpolasyon

Incipit beyaz siyah-görüntünün. JPEG yapılarıyla orijinal, düşük kaliteli genişletme.
Aynı görüntü, Lanczos yeniden örnekleme kullanılarak her yönde beş kat daha fazla örneğe yeniden örneklendi. Görüntünün aktarım işlevi değiştirilerek pikselleşme artefaktları kaldırıldı.

Lanczos filtresinin iki boyutlu çekirdeği

Değerlendirme

Avantajlar

Ayrık bir Lanczos penceresi ve frekans yanıtı ; diğer pencerelerle karşılaştırmak için Pencere işlevine bakın .

İçin teorik olarak en uygun yeniden filtre bant-sınırlı sinyallerin olan Sinc filtre sonsuz sahiptir, destek . Lanczos filtresi, sinc filtresinin birçok pratik (sonlu destekli) yaklaşımından biridir. Her bir ara değerli değer ağırlıklı toplamıdır 2 bir ardışık girdi örnekleri. Bu nedenle, değiştirilerek 2 , bir parametre bir geliştirilmiş frekans tepkisi için hesaplama hızı satabilirler. Parametre ayrıca, verideki daha yumuşak bir enterpolasyon veya keskin geçişlerin korunması arasında seçim yapılmasına da izin verir. Görüntü işleme için, değiş-tokuş indirgenmesi arasındadır aliasing eşya ve keskin kenarların korunması. Ayrıca, bu tür herhangi bir işlemede olduğu gibi, görüntünün sınırları için sonuç yoktur. Çekirdeğin uzunluğunu artırmak, görüntünün kenarlarının kırpılmasını artırır.

Lanczos filtresi, ayrık sinyaller için diğer enterpolasyon yöntemleriyle, özellikle de sinc filtresinin diğer pencereli versiyonlarıyla karşılaştırılmıştır. Turkowski ve Gabriel , Lanczos filtresinin ( a = 2 ile ), kesik sinc ve Bartlett , kosinüs ve Hann pencereli sinc ile karşılaştırıldığında "takma ad, keskinlik ve minimum zil sesinin azaltılması açısından en iyi uzlaşma" olduğunu iddia etti. 2 boyutlu görüntü verilerinin kırımı ve enterpolasyonu. Jim Blinn'e göre , Lanczos çekirdeği ( a = 3 ile ) "düşük frekansları korur ve yüksek frekansları şimdiye kadar gördüğümüz (ulaşılabilir) herhangi bir filtreden daha iyi reddeder."

Lanczos enterpolasyonu, AviSynth ve FFmpeg gibi çeşitli medya yardımcı programlarındaki videoları "yükseltmek" için popüler bir filtredir .

sınırlamalar

Çekirdek a > 1 için negatif değerler aldığından, tüm örnekler pozitif olsa bile enterpolasyonlu sinyal negatif olabilir. Daha genel olarak, enterpolasyonlu sinyalin değer aralığı, ayrık numune değerlerinin kapsadığı aralıktan daha geniş olabilir. Özellikle, numune değerlerinde ani değişikliklerden hemen önce ve sonra, kırpma artefaktlarına yol açabilecek çınlama artefaktları olabilir . Ancak bu etkiler (penceresiz) sinc filtreye kıyasla daha azdır. İçin bir  = 2 (üç loblu çekirdek) zil 1% 'dir.

Yöntem, ücretsiz GNU Image Manipulation Program (GIMP) yazılımında bulunan enterpolasyon seçeneklerinden biridir. Zil efektini görselleştirmenin bir yolu, siyah beyaz bir blok grafiği yeniden ölçeklendirmek ve Lanczos enterpolasyonunu seçmektir.

Görüntü yeniden örnekleme için Lanczos filtresini kullanırken, zil efekti herhangi bir güçlü kenar boyunca açık ve koyu haleler oluşturacaktır. Bu bantlar görsel olarak rahatsız edici olsa da, algılanan keskinliği artırmaya yardımcı olurlar ve bu nedenle bir tür kenar geliştirme sağlarlar . Bu, görüşte kenar keskinliğinin özel rolü göz önüne alındığında, görüntünün öznel kalitesini iyileştirebilir .

Bazı uygulamalarda, alt uç kırpma yapaylıkları, verileri filtrelemeden önce logaritmik bir alana dönüştürerek iyileştirilebilir. Bu durumda enterpolasyonlu değerler, girdi örneklerinin aritmetik ortalamasından ziyade ağırlıklı geometrik ortalaması olacaktır.

Lanczos çekirdeği, birlik özelliğinin bölünmesine sahip değildir . Yani, çekirdeğin tüm tamsayı ile çevrilmiş kopyalarının toplamı her zaman 1 değildir. Bu nedenle, sabit örneklerle ayrık bir sinyalin Lanczos interpolasyonu sabit bir fonksiyon vermez. Bu kusur en çok a = 1 olduğunda belirgindir  . Ayrıca, a = 1 için enterpolasyonlu sinyalin her tamsayı argümanında sıfır türevi vardır. Bu oldukça akademiktir, çünkü tek loblu bir çekirdek ( a  = 1) kullanmak, Lanczos yaklaşımının tüm faydalarını kaybeder ve zayıf bir filtre sağlar. Çok daha iyi tek loblu, çan şeklindeki pencereleme işlevleri vardır.

Ayrıca bakınız

Referanslar

Dış bağlantılar

  • Tahıl Karşıtı Geometri örnekleri : image_filters.cpp , bir görüntüyü çeşitli çekirdeklerle tekrar tekrar örneklemenin karşılaştırmalarını gösterir.
  • imageresampler : Birkaç pencereli Lanczos filtre çekirdeğini destekleyen C++'da bir kamu malı görüntü yeniden örnekleme sınıfı.