LINUX.ORG.RU
ФорумTalks

ffmpeg. Сравнение качества ресемплинга

 , ,


2

2

Есть сравнение аудио кодеков, где можно наглядно убедиться в превосходстве Nero AAC над другими кодеками, в частности Opus и Vorbis - http://bernholdtech.blogspot.ru/2013/03/Nine-different-audio-encoders-100-pas...
Где все остальные кодеки (за исключением Apple AAC, они почти на равных) пестрят искажениями и замыливанием, в то время как Nero AAC даже после 100 прогонок lossy-lossy еще можно как-то слушать.

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

Для этого понадобится не более 10 прогонок, код для ffmpeg выглядит следующим образом:

ffmpeg -i test.jpg -vf ^
[in]scale=iw-1:-1:sws_flags=sinc[middle];^
[middle]scale=iw-1:-1:sws_flags=sinc[middle];^
[middle]scale=iw-1:-1:sws_flags=sinc[middle];^
[middle]scale=iw-1:-1:sws_flags=sinc[middle];^
[middle]scale=iw-1:-1:sws_flags=sinc[middle];^
[middle]scale=iw-1:-1:sws_flags=sinc[middle];^
[middle]scale=iw-1:-1:sws_flags=sinc[middle];^
[middle]scale=iw-1:-1:sws_flags=sinc[middle];^
[middle]scale=iw-1:-1:sws_flags=sinc[middle];^
[middle]scale=iw-1:-1:sws_flags=sinc[out] sinc.png
Изображение в процессе будет уменьшаться на 1 пиксель 10 раз с выбранным ресемплингом.

Результаты:

Оригинал: https://pic4a.ru/712/xqX.jpg

bilinear: https://pic4a.ru/712/LNf.png
bicubic: https://pic4a.ru/712/ixz.png
sinc: https://pic4a.ru/712/5iR.png
lanczos: https://pic4a.ru/712/wjj.png
spline: https://pic4a.ru/712/eTF.png

Сравнение lanczos vs. bicubic: http://screenshotcomparison.com/comparison/126932
Сравнение bicubic vs. spline: http://screenshotcomparison.com/comparison/126933

Итого: bilinear - сплошное мыло, lanczos - дает артефакты на краях контрастных объектов, bicubic - меньше артефактов, но мыльнее, spline - без артефактов, лучшая четкость.
Отдельно хочется упомянуть sinc, который дал самую четкую картинку, но с ghosting-эффектом. При ресемплинге одним проходом под конечное разрешение, разумеется, этого не наблюдается, и его можно назвать самым лучшим алгоритмом, дающим самую четкую картинку, на которой не замылились детали даже после 10 прогонок. Но использовать его для работы с материалом все же не стоит, ибо при ближайшем рассмотрении (увеличении изображения в несколько раз) все-таки просматривается вышеупомянутое искажение. В программе просмотра изображений, которая все еще остается передовой и единственной в мире используется именно sinc: Просмотрщику картинок нового поколения таки быть!

Ответ на: комментарий от Harald

а какое отношение имеют кодеки к ресэмплингу, можно поинтересоваться

Методологией тестирования «lossy-lossy»(c)

Moderators ★★
() автор топика
Ответ на: комментарий от MrClon

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

Собственно автор дефолтного аудиокодека OGG в комментарии всё расписал, но я перескажу. Opus, как и AAC, разбивает исходник на куски равной длины (20 мс по-умолчанию) и оптимизирует сначала локально, затем большими отрезками. ffmpeg даже сейчас, а в 2013 и libopus, добавляли тишину в начале файла, из-за чего сбивается предыдущее квантование и примитивы, к которым приводит кодек данные, смещаются, из-за чего кол-во искажений резко возрастает. Парни убрали багу в кодеке, которая влияла на добавление подобных смещений, назвать это «оптимизацией» сложно.

chupasaurus
()
Ответ на: комментарий от chupasaurus

Понятненько, спасибо. А зачем тишина добавлялась не уточняется? Или это действительно просто баг?

MrClon ★★★★★
()
Ответ на: комментарий от Moderators

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

MrClon ★★★★★
()

Есть сравнение аудио кодеков, где можно наглядно убедиться в превосходстве Nero AAC

Не знаю как у неадекватов, но кодирую lossless в lossy только один раз, а не 100.

RazrFalcon ★★★★★
()
Ответ на: комментарий от RazrFalcon

Не знаю как у неадекватов, но кодирую lossless в lossy только один раз, а не 100.

Ты статью читал? Что в ней говорится?

Moderators ★★
() автор топика
Ответ на: комментарий от MrClon

В кодеке - был баг, в ffmpeg - хз, но встречал не только сегодня, подозреваю, что для некоего выравнивания битрейта под указанный.

chupasaurus
()
Ответ на: комментарий от MrClon

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

Moderators ★★
() автор топика
Ответ на: комментарий от Moderators

Ты высказал утверждение (о состоятельности тестирования кодеков многократной прогонкой), я тебе в общем виде объяснил несостоятельность этого утверждения. Потом другой человек объяснил тебе почему в конкретном случае из А не следует Б.
Признай что был не прав и успокойся

MrClon ★★★★★
()
Ответ на: комментарий от MrClon

я тебе в общем виде объяснил несостоятельность этого утверждения.

А я, в свою очередь, ответил, что с возрастанием качества кодека, уменьшается и уровень и искажений, им вносимых

Потом другой человек объяснил тебе почему в конкретном случае из А не следует Б.

Ты это про «синтетический» звук? Насмешил, содомит))

Moderators ★★
() автор топика
Ответ на: комментарий от Moderators

Тебе на все эти бредни уже ответили, и не раз. Ты либо притворяешься идиотом, либо не притворяешься.

MrClon ★★★★★
()
Ответ на: комментарий от MrClon

Тебе на все эти бредни уже ответили

Улучшение качества кодека - бред, а «синтетический» звук не бред, Бггг))

Moderators ★★
() автор топика
Ответ на: комментарий от MrClon

И не забывай, что ты, и другие, высказывают СВОЕ личное мнение, я же УТВЕРЖДАЮ что оно НЕ ВЕРНО. Если ты не знаешь, чем отличается личное мнение шарикова от информации, которую можно рассматривать всерьез - то косишь «под идиота» именно ты.

Moderators ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.