TL; DR
Numune alırken: Lanczos veya Spline filtreleme kullanın.
Numune alırken: Bikübik veya Lanczos filtreleme kullanın.
Bunlar yıllar boyunca okuduğum materyale ve endüstride kullandığım malzemelere dayanıyor. Öneriler içerik türüne ve uygulama alanına göre değişiklik gösterebilir.
Neden fark eder?
Bir videoyu küçültdüğünüzde yeniden boyutlandırma filtrelerinin çok fazla önemi olmadığı söylenebilir. Daha da önemlisi, yükseltme sırasında kalite üzerinde bir etkisi vardır, çünkü ilk etapta olmayan yerlerde veri oluşturmanız gerekir.
Bu filtrelerin hepsinin dosya boyutu üzerinde çok az etkisi vardır. Bu nedenle, orada büyük farklılıklar için endişelenmemelisiniz.
Gerçek, her zaman olduğu gibi video kodlanırken sonucun büyük ölçüde kaynak malzemeye bağlı olmasıdır. Her zaman sonucu tahmin edemezsiniz, ama sadece sizin için en iyi olanı görün.
Farklı algoritmalar
Örnek olarak, bisubik ve bilinear enterpolasyon :
Bikubik enterpolasyonun daha pürüzsüz kenarlara yol açtığını gördünüz mü? Bu çok genel bir ifade… ancak görüntü ölçekleme algoritmalarına genel bir bakış burada bulabilirsiniz .
Bilineer enterpolasyon , bir pikselin 2x2 ortamını kullanır ve daha sonra yeni değeri enterpolasyonlamak için bu piksellerin ortalamasını alır. En iyi algoritma değil, oldukça hızlı.
Bikübik enterpolasyon , en içteki pikselleri daha ağır hale getiren bir pikselin 4x4 ortamını kullanır ve daha sonra yeni değeri enterpolasyonlamak için ortalamayı alır. Bu, benim için - en popüler olanı.
Alan ortalaması , kaynak ve hedef piksellerin eşlenmesini kullanır ve kaynak piksellerin, kapsanan hedef piksellerin fraksiyonuna göre ortalaması alınır. Bu sayfaya göre , altörnekleme yaparken daha iyi sonuçlar vermelidir.
Spline ve sinc enterpolasyon, daha yüksek mertebeden polinomlar kullanır ve bu nedenle hesaplamak, bikubik enterpolasyondan daha zordur. İşlem süresindeki genel artışın bunları kullanmaya değer olduğunu düşünmüyorum.
Lanczos yeniden örnekleme de samimi bir filtre içerir. Daha hesaplamalı olarak pahalıdır, ancak genellikle çok yüksek kalite olarak tanımlanır ve yukarı ve aşağı örnekleme için kullanılabilir.
hqx ve 2xSaI filtreleri piksel-sanat ölçeklendirmesi için kullanılır (örneğin oyun emülatörleri). Bunları videoda kullanmak için iyi bir neden olduğunu düşünmüyorum.
Jeff Atwood'un karşılaştırması
Jeff Atwood'un görüntü enterpolasyon algoritmalarını karşılaştırdığı ortaya çıktı . Başparmak kuralı aşağı örnekleme için bikubik enterpolasyon ve yukarı örnekleme sırasında bilinear enterpolasyon kullanmaktı. Bununla birlikte, video kodlama için tipik olarak önerilen bu değildir - ve bazı yorumcular Atwood'un bu alandaki uzmanlığı hakkında şüphe uyandırdı.
Ancak şunları da belirtti ...
Görüntüleri azaltmak tamamen güvenli ve rasyonel bir işlemdir. Bilgileri atarak hassasiyeti ve çözünürlüğü azaltırsınız. Görüntüyü istediğiniz kadar küçük hale getirin ve izin verdiğiniz piksel sayısı sınırları dahilinde tam bir aslına sahip olun. Hangi algoritmayı seçerseniz seçin iyi sonuçlar elde edersiniz. (Nefis Piksel Yeniden Boyutlandır veya En Yakın Komşu algoritmalarını seçmediğiniz sürece.)
Diğer örnekler
Aşağıda, yukarıda bahsettiğimler dahil olmak üzere, görüntü enterpolasyon algoritmalarına birkaç örnek daha verilmiştir .
Ayrıca video kodlama sahnesinden alt örnekleme için bikubik filtrelemeyi açıkça yasaklayan belgeler (sahne kuralları) buldum . Bunun yerine, Lanczos, Spline veya "Blackman" yeniden örneklemeyi onaylıyorlar.