TL; DR
Під час відбору проб: Використовуйте фільтрацію Lanczos або Spline.
Під час відбору проб: Використовуйте фільтрування Bicubic або Lanczos.
Вони ґрунтуються на матеріалах, які я читав протягом багатьох років, і на тому, що я бачив, що використовується в галузі. Рекомендації можуть відрізнятися залежно від типу вмісту та області застосування.
Чому це важливо?
Можна стверджувати, що фільтри розміру не мають великого значення, коли ви зменшуєте масштаб відео. Що ще важливіше, вони впливають на якість при збільшенні масштабу, оскільки вам потрібно генерувати дані там, де їх не в першу чергу.
Усі ці фільтри мають лише незначний вплив на розмір файлу. Тому вам не варто турбуватися про величезні відмінності.
Фактом є, як завжди, при кодуванні відео, що результат сильно залежить від вихідного матеріалу. Ви не завжди можете передбачити результат, але просто подивіться, що найкраще підходить для вас.
Різні алгоритми
Як приклад, ось бікубічна та білінеарна інтерполяція :
Бачите, що двостулкова інтерполяція призводить до більш гладких країв? Це дуже загальне твердження… але огляд алгоритмів масштабування зображень ви можете знайти тут .
Білінеарна інтерполяція використовує середовище 2x2 пікселя, а потім бере середнє значення цих пікселів для інтерполяції нового значення. Це не найкращий алгоритм, але досить швидкий.
Бікубічна інтерполяція використовує піксельне середовище 4х4, зважуючи найпотаємніші пікселі, а потім приймає середнє значення для інтерполяції нового значення. Це - наскільки я переживаю - найпопулярніший.
Для усереднення області використовується відображення пікселів джерела та призначення, усереднення вихідних пікселів щодо частки пікселів призначення, які охоплюються. Згідно з цією сторінкою , вона повинна давати кращі результати при зниженні тиску.
Інтерполяція сплайну та синхронізації використовує поліноми вищого порядку, і тому їх важче обчислити, ніж двокутова інтерполяція. Я не думаю, що загальне збільшення часу на обробку варто використовувати їх.
Реконструкція Lanczos включає також фільтр sinc. Він дорожче обчислюється, але зазвичай описується як дуже якісний і може бути використаний для збільшення та зменшення кемпінгу.
hqx , а також 2xSaI- фільтри використовуються для піксельного масштабування (наприклад, емулятори гри). Я не думаю, що є вагомі причини використовувати їх у відео.
Порівняння Джеффа Етвуда
Виявляється, Джефф Етвуд зробив порівняння алгоритмів інтерполяції зображень . Його головне правило полягало в тому, щоб використовувати бикубическую інтерполяцію для пониження та білінеарної інтерполяції під час вибору. Однак, це не те, що зазвичай рекомендується для кодування відео - і деякі коментатори викликають сумніви щодо досвіду Atwood у цій галузі.
Однак він також зазначив, що ...
Зменшення зображень - це абсолютно безпечна та раціональна операція. Ви просто знижуєте точність та роздільну здатність, відкидаючи інформацію. Зробіть зображення настільки маленьким, наскільки ви хочете, і ви матимете повну вірність - в межах кількості дозволених пікселів. Ви отримаєте хороші результати незалежно від того, який алгоритм ви виберете. (Ну, якщо ви не вибрали алгоритми Pixel Resize або Найближчий сусід.)
Інші приклади
Ось ще кілька прикладів алгоритмів інтерполяції зображень , включаючи ті, про які я згадував вище.
Я також знайшов документи (правила сцени) зі сцени кодування відео, які явно забороняють бикубическую фільтрацію для пониження часу. Натомість вони схвалюють Lanczos, Spline або "Blackman" перекомпонування.