Какой алгоритм изменения размера выбрать для видео?

Я использую фильтр для кодирования с настройки.
resize algorithms

однако я записываю свои вещи в 1920x1080 и изменяю его размер до 1280x720. Теперь вопрос: какой алгоритм я должен выбрать при принятии решения о сбалансированном качестве и размере файла?

Я всегда ходил с Lanczos, потому что это то, что было предварительно настроено. Эти описания на самом деле не помогают мне в моем вопросе.

8
задан Journeyman Geek
08.03.2023 11:49 Количество просмотров материала 3388
Распечатать страницу

3 ответа

Почему это важно?

можно утверждать, что фильтры изменения размера не имеют большого значения при уменьшении масштаба видео. Что еще более важно, они оказывают влияние на качество при масштабировании, потому что вам нужно генерировать данные там, где их нет в первую очередь.

все эти фильтры оказывают лишь незначительное влияние на размер файла. Вы поэтому не должны потревожиться о огромных разницах там.

то есть, как всегда при кодировании видео, что результат сильно зависит от исходного материала. Вы не всегда можете предсказать результат, но просто посмотрите, что работает лучше для вас.

различные алгоритмы

например, вот бикубический и билинейная интерполяция:

enter image description here

см., что бикубическая интерполяция приводит к более гладким краям? Это очень общее утверждение ... но вы можете найти обзор алгоритмов масштабирования изображений здесь.

  • билинейная интерполяция использует 2x2 окружение пикселя, а затем берет среднее этих пикселей для интерполяции нового значения. Это не лучший алгоритм, но довольно быстро.

  • Бикубической использует среду 4x4 пикселя, взвешивая самые внутренние пиксели выше, а затем принимает среднее значение для интерполяции нового значения. это – насколько я могу судить - самый популярный.

  • зона усреднения использует сопоставление исходных и целевых пикселей, усредняя исходные пиксели относительно доли охватываемых пикселей назначения. По словам на этой странице, оно должен произвести более лучшие результаты downsampling.

  • корпус и sinc интерполяция использовать полиномы более высокого порядка и поэтому сложнее вычислить, чем бикубическая интерполяция. Я не думаю, что общее увеличение времени обработки стоит использовать их.

  • Lanczos пересчет также включает фильтр sinc.

  • hqx а также 2xSaI фильтры используются для масштабирования пиксель-арта (например, игровых эмуляторов). Я не думаю, что есть веская причина использование их в видео.

сравнение Джеффа Этвуда

оказывается, Джефф Этвуд сделал сравнение алгоритмов интерполяции изображения. Его правилом было использовать бикубическую интерполяцию для понижения и билинейная интерполяция при увеличении частоты. Однако он также упомянул, что...

уменьшение изображений вполне безопасная и рациональная деятельность. Вы просто уменьшаете точность и разрешение, отбрасывая информация. Сделайте изображение настолько маленьким, насколько вы хотите, и у вас будет полная точность-в пределах разрешенного количества пикселей. Вы получите хорошие результаты независимо от того, какой алгоритм вы выбрали. (Ну, если вы не выберете алгоритмы изменения размера пикселя нефа или ближайшего соседа.)

здесь еще несколько примеров алгоритмов интерполяции изображений, включая те, о которых я упоминал выше.

Итак, какой из них выбрать?

Я, наконец, нашел документ из сцены кодирования видео, что явно запреты фильтрация бикубический. Вместо этого он поддерживает пересчет Lanczos, Spline или "Blackman". Эти ребята, наверное, знаете, о чем они говорят, так что вы можете просто хочу, чтобы придерживаться Ланцоша фильтрации.

21
отвечен slhck 2023-03-09 19:37

Я нашел хорошее изображение, которое документирует некоторые из них.

enter image description here

полноразмерная версия здесь.

В общем случае вы хотите мягкий эффект резкости при создании большего изображения в меньшее, и мягкий эффект размытия при создании меньшего изображения в большее. Фильтр MadVR по умолчанию устанавливает значение Lanczos для увеличения масштаба и бикубический для уменьшения масштаба.

4
отвечен Jeff Atwood 2023-03-09 21:54

вы конвертируете исходные пиксели 3x3 в целевые пиксели 2x2.

Если вы хотите сохранить четкие линии, выберите Lanczos или что-то, что использует больше окружающих пикселей, чтобы не размывать резкие линии (например, мех или отражения)

в противном случае средняя площадь etc (также билинейная/трилинейная) будет достаточной.

2
отвечен ZaB 2023-03-10 00:11

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх