Некоторые люди думают, что "чем больше битрейт - тем лучше качество".
В данном тексте приводится ряд примеров, когда бессмысленно говорить
об улучшении качества только за счёт увеличения битрейта.
Немного экспериментальной статистики
Битрейт мпег4 потока более высокий, чем битрейт, получающийся
при Quantizer 2 (минимальный уровень потерь) всех кадров (его показывает,
например, Xvid на картинке своей статистики, если включен её показ при
кодировании) - абсолютно бессмысленен.
Для ДВД рипа - битрейт, больший, чем 2/3 оригинального мпег2 битрейта
- заведомо не улучшает картинку по сравнению с 1/3. В силу природы
алгоритмов мпег2 и мпег4.
Проводившееся мной слепое и обманное тестирование показало
(ПРИ УСЛОВИИ, что видеопоток НЕ перепакован дважды с относительно
низким битрейтом ни в мпег2, ни в мпег4, при условии, что размер
картинки сохранялся, а к картинкам не применялось никакой
дополнительной обработки):
при слепом тестировании и не рассматривая стопкадры, человек неспособен отличить "что лучше, а что хуже" при сравнении Xvid моей упаковки со средним битрейтом в пределах 600-800 с оригинальным мпег2 потоком с ДВД.
при обманном тестировании человек УВЕРЕННО находит "недостаки мпег4 рипа" на показываемом ему мпег2 оригинальном потоке, выдаваемом за "показ мпег4 рипа". Даже при просмотре стоп-кадров!
рассматривая стоп-кадры при слепом тестировании, опытный риппер в сильно больше чем половине случаев (но не в 100%) правильно различает мпег2 и мпег4 потоки. Ибо артефактов упаковки на 600-800 битрейте всё-таки в среднем видно БОЛЬШЕ, чем на оригинальном ДВД. Особенно на B-frames. Особенно при условии, что у меня обычно стоит максимальное число B-frames 4.
битрейт ниже 400 на тех же изображениях уверенно отличается в худшую сторону независимо от способа просмотра.
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)
Совершаем нормальный IVTC процесс, выкидывающий лишнюю информацию
из потока и вычищающий артефакты интерлейса.
Пример строк в AviSynth:
Telecide(post=false,guide=2,blend=false)
Decimate(cycle=5)
BicubicResize(640,340,0,0.1,8,8,704,458)
Сравните размеры. Теперь результат очевиден? Третий вариант меньше
и лучше для просмотра, чем оба предыдущих.
Что ещё? SpatialSoften()
Эффективным способом вычистить некоторый простейший шум и уменьшить
необходимый битрейт является применение фильтров SpatialSoften и
TemporalSoften в AviSynth
Пожалуй, пределом настройки SpatialSoften для игрового фильма является:
SpatialSoften(4,4,16)