TL; DR
Bei der Abtastung nach unten: Verwenden Sie die Lanczos- oder Spline-Filterung.
Bei der Probenahme: Verwenden Sie die Bikubik- oder Lanczos-Filterung.
Diese basieren auf Material, das ich im Laufe der Jahre gelesen habe und von dem, was ich in der Industrie gesehen habe. Die Empfehlungen können je nach Inhaltstyp und Anwendungsbereich variieren.
Warum spielt es eine Rolle?
Man könnte argumentieren, dass die Größenänderungsfilter nicht so wichtig sind, wenn Sie ein Video verkleinern. Noch wichtiger ist, dass sie sich auf die Qualität beim Upscaling auswirken, da Sie Daten generieren müssen, bei denen dies gar nicht erst der Fall ist.
Diese Filter haben nur einen geringen Einfluss auf die Dateigröße. Sie sollten sich daher keine Sorgen über große Unterschiede machen.
Fakt ist, wie immer beim Encodieren von Videos, dass das Ergebnis stark vom Quellmaterial abhängt. Sie können das Ergebnis nicht immer vorhersagen, sondern nur sehen, was für Sie am besten funktioniert.
Unterschiedliche Algorithmen
Als Beispiel ist hier bikubische vs. bilineare Interpolation :
Sehen Sie, dass bikubische Interpolation zu glatteren Kanten führt? Das ist eine sehr allgemeine Aussage ... aber Sie können einen Überblick über die Bildskalierung Algorithmen finden hier .
Die bilineare Interpolation verwendet eine 2x2-Umgebung eines Pixels und verwendet dann den Durchschnitt dieser Pixel, um den neuen Wert zu interpolieren. Es ist nicht der beste Algorithmus, sondern eher schnell.
Die bikubische Interpolation verwendet eine 4x4-Umgebung eines Pixels, wobei die innersten Pixel höher gewichtet werden , und verwendet dann den Durchschnitt, um den neuen Wert zu interpolieren. Für mich ist es das beliebteste.
Die Flächenmittelung verwendet eine Abbildung von Quell- und Zielpixeln, wobei die Quellpixel im Hinblick auf den Bruchteil der abgedeckten Zielpixel gemittelt werden. Laut dieser Seite sollten beim Downsampling bessere Ergebnisse erzielt werden.
Spline- und Sinc- Interpolation verwenden Polynome höherer Ordnung und sind daher schwerer zu berechnen als bikubische Interpolation. Ich denke nicht, dass die Gesamtverkürzung der Bearbeitungszeit es wert ist, sie zu nutzen.
Bei der Lanczos- Neuabtastung wird ebenfalls ein Zinkfilter verwendet. Es ist rechenintensiver, wird aber normalerweise als sehr hochwertig beschrieben und kann für Up- und Downsampling verwendet werden.
Für die Pixel-Art-Skalierung werden sowohl HQX- als auch 2xSaI- Filter verwendet (z.B. Spieleemulatoren ). Ich glaube nicht, dass es einen guten Grund gibt, sie in Videos zu verwenden.
Jeff Atwoods Vergleich
Es stellte sich heraus, dass Jeff Atwood einen Vergleich der Bildinterpolationsalgorithmen durchgeführt hat . Seine Faustregel war, beim Upsampling bikubische Interpolation für Downsampling und bilineare Interpolation zu verwenden. Dies wird jedoch normalerweise nicht für die Videokodierung empfohlen - und einige Kommentatoren haben Zweifel an der Fachkompetenz von Atwood auf diesem Gebiet geäußert.
Er erwähnte jedoch auch, dass ...
Das Verkleinern von Bildern ist eine absolut sichere und rationelle Operation. Sie reduzieren lediglich die Präzision und Auflösung, indem Sie Informationen verwerfen. Stellen Sie das Bild so klein ein, wie Sie möchten, und Sie haben vollständige Wiedergabetreue - innerhalb der Grenzen der zulässigen Pixelanzahl. Sie erhalten gute Ergebnisse, egal welchen Algorithmus Sie wählen. (Nun, es sei denn, Sie wählen den Algorithmus "Nave Pixel Resize" oder "Nearest Neighbor".)
Andere Beispiele
Hier einige weitere Beispiele für Bildinterpolationsalgorithmen , einschließlich der oben erwähnten.
Ich habe auch Dokumente (Szenenregeln) aus der Videocodierungsszene gefunden, die die bikubische Filterung für das Downsampling explizit verbieten . Stattdessen unterstützen sie das Resampling von Lanczos, Spline oder "Blackman".