TL; DR
Podczas próbkowania: użyj filtrowania Lanczos lub Spline.
Podczas próbkowania: użyj filtrowania Bicubic lub Lanczos.
Są one oparte na materiałach, które czytałem przez lata i na podstawie tego, co widziałem w branży. Zalecenia mogą się różnić w zależności od typu treści i obszaru zastosowania.
Dlaczego to ma znaczenie?
Można argumentować, że filtry zmiany rozmiaru nie mają aż tak dużego znaczenia, gdy zmniejszamy skalę wideo. Co ważniejsze, mają one wpływ na jakość podczas skalowania, ponieważ musisz generować dane tam, gdzie ich nie ma.
Wszystkie te filtry mają niewielki wpływ na rozmiar pliku. Dlatego nie powinieneś martwić się o ogromne różnice.
Faktem jest, jak zawsze podczas kodowania wideo, że wynik w dużej mierze zależy od materiału źródłowego. Nie zawsze możesz przewidzieć wynik, ale po prostu sprawdź, co będzie dla Ciebie najlepsze.
Różne algorytmy
Jako przykład, oto interpolacja dwuububowa vs. dwuliniowa :
Widzisz, że interpolacja bicubic powoduje gładsze krawędzie? To bardzo ogólne stwierdzenie ... ale można znaleźć przegląd algorytmów skalowania obrazu tutaj .
Interpolacja dwuliniowa wykorzystuje środowisko piksela 2x2, a następnie przyjmuje średnią tych pikseli do interpolacji nowej wartości. To nie jest najlepszy algorytm, ale raczej szybki.
Interpolacja dwuububowa wykorzystuje środowisko 4x4 piksela, ważąc najwyższe piksele wewnętrzne, a następnie przyjmuje średnią do interpolacji nowej wartości. Według mnie jest najbardziej popularny.
Uśrednianie obszaru wykorzystuje odwzorowanie pikseli źródłowych i docelowych, uśredniając piksele źródłowe w odniesieniu do ułamka pokrytych pikseli docelowych. Zgodnie z tą stroną powinno to przynieść lepsze wyniki przy próbkowaniu w dół.
Interpolacja splajnu i cynku korzysta z wielomianów wyższego rzędu i dlatego jest trudniejsza do obliczenia niż interpolacja dwuubnowa. Nie sądzę, aby ogólny wzrost czasu przetwarzania był wart ich wykorzystania.
Ponowne próbkowanie Lanczosa obejmuje również filtr cynkowy. Jest droższy pod względem obliczeniowym, ale zwykle opisywany jako bardzo wysokiej jakości i może być stosowany do próbkowania w górę i w dół.
Filtry hqx oraz 2xSaI są używane do skalowania pikseli (np. emulatorów gier). Nie sądzę, żeby istniał dobry powód, aby używać ich w filmie.
Porównanie Jeffa Atwooda
Okazuje się, że Jeff Atwood dokonał porównania algorytmów interpolacji obrazu . Jego podstawową zasadą było stosowanie interpolacji dwuububowej do próbkowania w dół i interpolacji dwuliniowej podczas próbkowania w górę. To powiedziawszy, nie jest to zwykle zalecane do kodowania wideo - a niektórzy komentatorzy mają wątpliwości co do wiedzy Atwood w tej dziedzinie.
Wspomniał jednak również, że…
Redukcja obrazów jest całkowicie bezpieczną i racjonalną operacją. Po prostu zmniejszasz precyzję i rozdzielczość, odrzucając informacje. Spraw, aby obraz był tak mały, jak chcesz, i masz całkowitą wierność - w granicach dozwolonej liczby pikseli. Otrzymasz dobre wyniki bez względu na wybrany algorytm. (Cóż, chyba że wybierzesz algorytmy NAVE Pixel Resize lub Nearest Neighbor).
Inne przykłady
Oto kilka innych przykładów algorytmów interpolacji obrazu , w tym te, o których wspomniałem powyżej.
Znalazłem także dokumenty (reguły scen) ze sceny kodowania wideo, które wyraźnie zakazują filtrowania bicubic dla próbkowania w dół. Zamiast tego popierają ponowne próbkowanie Lanczosa, Spline lub „Blackmana”.