Прочитав на doom9.org и ixbt несколько статей про кодеки, я с некоторым недоумением обнаружил "генеральную линию партии" на то, что самые хорошие установки параметров кодирования - те, что по умолчанию.
Ни в коем случае не умаляя заслуг тех исследователей, благодаря которым в установках по умолчанию для кодеков DivX 4.12 и 5.02 появились те или иные числа, я решился на длинную серию экспериментов с варьированием некоторых параметров кодирования и отсматриванием результатов.
Я лично потратил примерно неделю своего рабочего времени, неделю работы четырёх компов (1.1GHz и около того) на упаковке видео, 20 гигабайт дискового пространства, время и внимание по крайней мере 10-ти человек (отсматривавших результаты) в течение 3-5 дней.
Отсмотр делался как минимум на:
Быстродействия процессоров всегда хватало на максимальный PostProcessing Level. Реально заметность большинства описанных ниже дефектов (кроме ring-дефектов) от PostProcessing Level зависела незначительно.
Film effect при применении фильтра от 5.02 кодека - в ряде случаев вещь хорошая, но при этих экспериментах он был выключен, дабы не вносить дополнительной путаницы в происходящее.
Тестировались исключительно игровые фильмы, по мере возможности - без крутых спецэффектов, 3D анимации и мультипликации.
УЧИТЫВАЛОСЬ то, что если в кадре есть лицо крупным планом и глаза - заметность любых недостатков изображения лица в районе глаз принципиально выше заметности ЛЮБЫХ дефектов фона. При отсматривании делалась отдельная оценка заметности для сцен "с глазами" и "без глаз".
Стандартные VCD формата кадра 352 x 288 удаётся пожать до 280-320-400к битрейт вместо 700-800 без потери качества.
При паковке с DVD с картинкой 720*400 мне удавалось получать без видимой потери качества битрейт 480-560-600, тогда как при стандартных настройках я видел ухудшение картинки при 640к битрейт по сравнению с 1280к.
Данные настройки существенно улучшают субъективное качество быстрых панорам и наездов-отъездов, при которых за 10-40 фреймов ПОЛНОСТЬЮ меняется картинка, за счёт доставления в них keyframes ("сцена изменилась").
Выбор этих двух параметров, по моему опыту, сильно влияет на заметность дефектов, порождённых недостаточно быстрой реакцией кодека на начало больших по объёму сцен. Причём эти, в сущности малые изменения, попадают как раз в диапазон "заметно-незаметно" - 10 фреймов на 25fps это 0.4 секунды, и плохо прорисованный (из-за малого битрейта на данный момент), пусть даже и ключевой фрейм бьёт по глазам - картинка за ближайшую секунду успевает улучшиться, прорисовываясь примерно как в pJpeg, с последовательным "улучшением деталей" и пропаданием дефектов, но плохая её версия уже оказалась замечена глазом.
Отсматривая результаты покадрово - я заметил, что при 10/20 получается около 5-ти (а на мелкоструктурном пейзаже с тонкими линиями - до 8-ми) таким образом "мазаных" фреймов, при 3/6 - редко два, обычно keyframe уже имеет приличное качество. при 6/16 - два, при этом keyframe обычно заметно "размыт", но следующий за ним восстанавливает чёткость мелких деталей до максимума.
Интересен также тот факт, что в ряде статей о сравнении кодеков - авторы ставят в вину 4-му кодеку заметность этого ухудшения после смены сцены, однако на пятом кодеке результат В ТОЧНОСТИ такой же, и влияние этих параметров тоже. Похоже,что никто из этих авторов не попробовал уводить эти величины от значений по умолчанию.
Такое снижение количества "forced" keyframes, на мой взгляд оправдано тем, что их отсутствие позволяет кодеку не занижать bitrate остальным кадрам. В логах кодека для ряда быстрых фрагментов по 10 минут при 300 (1 фрейм в 10-12 секунд) и при "заведомо большом" (10000) значении. Разница - примерно две ступеньки quantizer на половине разностных фреймов (по логу).
Однако это приводит к тому, что в стандартных проигрывателях уже не получается двигаться по оси времени - ключевые кадры слишком редки, и каждое перемещение движка в Media Player`e сопровождается торможениями и замираниями, пока он не доберётся до ближайшего keyframe и не посчитает наконец нужный.
Так что если вы считаете, что удобство позиционирования по фильму с хорошей
точностью важнее - ставьте меньшие значения. Я предпочитаю считать, что
фильмы большей частью смотрятся целиком, и для покадрового просмотра (если уж
ТАК надо) можно применить и VirtualDub. ;-) Тем более, что останавливать
фильм на текущем кадре это не мешает.
Настройки DivX 4.12 при паковке комиксов, слайдшоу
Есть достаточно много видеоматериалов,
имеющих характер скорее слайд-шоу,
нежели полноценного фильма, но при
этом оформленных как видеофайл.
Пример - "Бежин Луг", смонтированный из монтажных срезков.
Для таких материалов надо устанавливать следующие параметры упаковки DivX: