XviD.Ru Битрейт и качество. Почему меньше не значит хуже


Яндекс.Метрика Рейтинг@Mail.ru правильный HTML5 правильный CSS
Развитие детей ЭСТЕР
Облачный рендеринг. Быстро и удобно
☆ от 50 руб./час ☆ AnaRender.io
У вас – деньги. У нас – мощности. Считайте с нами!
English version here

Некоторые люди думают, что "чем больше битрейт - тем лучше качество". В данном тексте приводится ряд примеров, когда бессмысленно говорить об улучшении качества только за счёт увеличения битрейта.

Немного экспериментальной статистики

Битрейт мпег4 потока более высокий, чем битрейт, получающийся при Quantizer 2 (минимальный уровень потерь) всех кадров (его показывает, например, Xvid на картинке своей статистики, если включен её показ при кодировании) - абсолютно бессмысленен.

Для ДВД рипа - битрейт, больший, чем 2/3 оригинального мпег2 битрейта - заведомо не улучшает картинку по сравнению с 1/3. В силу природы алгоритмов мпег2 и мпег4.

Проводившееся мной слепое и обманное тестирование показало (ПРИ УСЛОВИИ, что видеопоток НЕ перепакован дважды с относительно низким битрейтом ни в мпег2, ни в мпег4, при условии, что размер картинки сохранялся, а к картинкам не применялось никакой дополнительной обработки):


VHS и DVD рип. Сравнение размеров

Возьмём VHS кассету плохого качества и DVD нормального качества.

Попробуем упаковать оба потока, отресайзив их до одинакового размера картинки, с фиксированным максимальным качеством (quantizer 2)

Сравним размеры получившихся файлов. В большинстве случаев Вы получите меньший размер для ДВД-версии. И порой разница будет просто грандиозной, в 3-4 раза. Что это значит?

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

Так, если Вы видите однодисковый DVD-rip, он НАВЕРНЯКА лучше качеством двухдискового VHS-ripa. Если Вы видите два VHS-ripa разного размера - однодисковый МОЖЕТ быть лучше двух и трёхдискового, просто потому что кассета была "чище", и если риппер более правильно провёл процедуру "telecide/deinterlace".

Почему следует стараться сделать всё возможное для IVTC?

NTSC поток содержит дублированную информацию. Если мы интерпретируем этот поток как прогрессивные кадры и пакуем их любым алгоритмом, дублированные поля становятся частями различных кадров. Так как MPEG алгоритмы теряют часть информации в каждом кадре, такие картинки становятся более различными, чем оригинальными. Дубли перестают быть полными дублями. А большая разница - больший битрейт нужен.

Примеры ниже пакуются с фиксированным максимальным качеством с NTSC DVD. Уменьшаем размер картинки.

Картинки справа показывают увеличенной маленькую часть 1 кадра фрагмента:

Пакуем БЕЗ IVTC/deinterlace. Сохраняем 29.97fps и все кадры как есть. Заметим, что ресайз творит из артефактов интерлейсинга "муар" - расчёску с большим размером "зубьев", чем оригинальная "один пиксел высотой". Пример строк в AviSynth:


BicubicResize(640,340,0,0.1,8,8,704,458)


321k размер - получившийся видеофайл.

Deinterlace с blending. Пример строк в AviSynth:

FieldDeinterlace()
BicubicResize(640,340,0,0.1,8,8,704,458)


296k размер - получившийся видеофайл.

Совершаем нормальный IVTC процесс, выкидывающий лишнюю информацию из потока и вычищающий артефакты интерлейса. Пример строк в AviSynth:

Telecide(post=false,guide=2,blend=false)
Decimate(cycle=5)
BicubicResize(640,340,0,0.1,8,8,704,458)


254k размер - получившийся видеофайл.

Сравните размеры. Теперь результат очевиден? Третий вариант меньше и лучше для просмотра, чем оба предыдущих.

Что ещё? SpatialSoften()

Эффективным способом вычистить некоторый простейший шум и уменьшить необходимый битрейт является применение фильтров SpatialSoften и TemporalSoften в AviSynth
  1. Пожалуй, пределом настройки SpatialSoften для игрового фильма является:

    SpatialSoften(4,4,16)


    235k размер - получившийся видеофайл.
  2. А вот эти значения очень даже подходят для рисованых мультфильмов:

    SpatialSoften(8,8,32)


    223k размер - получившийся видеофайл.

Удалить дупы в мультфильмах

Используя плагин Dup для AviSynth при упаковке рисованых мультфильмов, можно достичь серьёзного выигрыша, если в мультфильме движение прорисовано не в каждом кадре. Например, многие аниме имеют реально 15fps при 30 кадрах показа. Венгерский мультфильм "Вук" имеет движение в каждом кадре только при панорамах, когда движется фон. А движения персонажей прорисованы только в половине кадров.
© 1999-2015 Sergej Qkowlew. Разрешается использование текста, используемых в нём графических файлов, яваскриптов, файлов с табличными данными и элементов оформления полностью или частично в любых целях, КРОМЕ как для дезинформации кого-либо относительно материалов, произведений искусства, проектов, лиц, организаций, событий. Ссылку на источник давать разрешается.