Сразу же говорюсь. То что вы сейчас читаете не является полноценной и самостоятельной статьёй. Это дополнение к циклу статей по DVD-Rip (части первая и вторая), и если вы решите что некторые вопросы и определения освещены не полностью - обратитесь к этим статьям.
Новый кодек DivX-4.0-Beta появился совсем недавно, как дальнейшее развитие Project Mayo. Как можно заметить, после относительной неудачи с первой бетой, вышедшей под названием OpenDivx, разработчики вернулись к старому названию, теперь это снова просто DivX, только более новая версия. Оборотной стороной этого являются вновь закрытые исходники нового кодека. Посмотрим, удастся ли этой версии повторить успех своего предшественника.
С точки зрения обычного пользователя, то есть человека который только смотрит фильмы, и не подумывает о кодировании, скорее всего удастся. Один из важнейших факторов, способствующем этому, это полная обратная совместимость с версией 3.хх. То есть, новый кодек сможет проигрывать всё, что тяжким трудом накодили армии риперов к сегодняшнему дню. На этом приятные сюрпризы не заканчиваются. Кроме совместимости, в новом кодеке уделили самое пристальное внимание оптимизации кодека для ускорения его работы. Кстати, совместимостью энкодера с DivX 3.11 и оптимизацией декодера под MMX/SSE занимался человек по имени Евгений Кузнецов, что не может не радовать :-)
В результате, мы получили кодек в котором попытались объединить всё лучшее, что было наработано за время развития Divx, и который, к тому же, и работает быстрее. По поводу включенных наработок я ещё поговорю ниже, а пока, с точки зрения обычного пользователя, нас интересует всего две вещи, совместимость и скорость.
Можно делать выводы, что хотя обратная совместимость и не является 100%, она очень и очень высока, и большинство пользователей, скорее всего, никогда не столкнуться с проблемами в этом плане. Но это касается совместимости с фильмами. С совместимостью с плеерами, к сожалению, картина не столь радужная, некоторые из них (например Sasami2k) не "видят" нового кодека, и после того как он подменяет собой старый кодек отказываются проигрывать Divx фильмы вообще. Впрочем, эта проблема временная, и с выходом новых версий плееров она, безусловно, будет решена. А пока что приходится довольствоваться старым добрым Windows Media Player’ом, у которого никаких проблем с пониманием нового кодека не возникает.
Из других наиболее известных и полезных внешних фильтров можно вспомнить antifreezer, предназначенный, как легко догадаться из его названия, для борьбы с freeze frame’ами (это когда изображение останавливается, а звук продолжает идти дальше). К сожалению, у меня сейчас нет фильмов с такими багами, поэтому проверить наличие/отсутствие функций борьбы с ними в новом кодеке я не смог. Но, как мне кажется, такая известная и довольно широко распространённая проблема не могла пройти мимо внимания создателей DivX v4 кодека, и что-то по этому поводу было предпринято.
Ещё одной, очень важной и приятной особенностью нового кодека являются более широкие возможности по влиянию на скорость декодирования. В 3.х версиях кодека была возможность выставить CPU Utilization, то есть загрузку центрального процессора. Возможных значений было 4, и при увеличении уровня загрузки улучшалось качество картинки, но требовался более мощный процессор для просмотра. И, соответственно, наоборот, владельцы не очень мощных систем имели возможность пожертвовать качеством ради возможности проигрывания фильма без тормозов. Такая полезная возможность сохранилась и в новой версии кодека, причём количество возможных вариантов увеличилось с 4 до 7. Этот слайдер определяет какой обработке будет подвергнут кадр после распаковки. То есть, по сути дела, он управляет просто набором фильтров, которые будут применены к изображению. Поэтому в новой версии кодека это называется не CPU Utilization, а Postprocessing level, что более правильно по сути. Как уже говорилось, всего этих уровней 7.
0 – никакой обработки не производится, изображение выдаётся именно в том виде, в котором было сжато. Загрузка процессора минимальна.1 – включается горизонтальный деблокинг. Особенности DivX кодека таковы, что при кодировании изображение разбивается на блоки размером 8*8 пикселей. В результате при просмотре на изображении становятся заметны границы этих блоков. Этот артефакт один из наиболее бросающихся в глаза при просмотре, поэтому фильтр который сглаживает края блоков по горизонтали включается самым первым.
2 – включается вертикальный деблокинг. Таким образом на втором уровне включается всё, что кодек может сделать для подавления blockiness эффекта. Один раз увидеть лучше, чем сто раз услышать, поэтому я приведу здесь картинки демонстрирующие работу этих фильтров, взятые из файла справки для Divx v4
Деблокинг3-5 – на этих уровнях включаются различные уровни deranging фильтра основанные на изменении цвета. Он призван бороться с артефактами возникающими из за сжатия изображения.
6 – на этом уровне включается deranging фильтр основанный на изменении яркости. Для демонстрации работы deranging фильтров, я снова приведу пару картинок их файла справки для Divx v4.
Используется deranging фильтр.
6 – это последний уровень Postprocessing level, на нём изображение обрабатывается всеми фильтрами доступными кодеку и загрузка процессора максимальна. Зато, качество картинки на старых фильмах, закоденых со старым кодеком, может быть выше, из-за изменившихся фильтров в новом кодеке. Если и этого мало, и суперпроцессор позволяет, то некоторые плееры позволяют наложить на изображение ещё и дополнительные фильтры. В качестве примера такого плеера можно привести Sasami2k, но, как я уже говорил выше, текущая версия этого плеера не может нормально работать с новым DivX кодеком. Впрочем, как мне кажется, такая печальная ситуация не продлится долго.
На основании всего вышеизложенного можно сделать вывод. Разработчики DivX v4 справились со своей работой очень хорошо, и с точки зрения обычного пользователя, просматривающего фильмы, нет практически никаких противопоказаний (разве что несовместимость с некоторыми плеерами, но это явление временное, как хочется надеяться) к использованию этого кодека. Напротив, есть одни сплошные плюсы. Но это с точки зрения пользователя. А как с точки зрения риппера, который не удовлетворяется простым просмотром, а не прочь сделать что-нибудь своё, время от времени.
Окно разбито на несколько разделов, первый из которых
General parameters.
В самом первом выплывающем списке этого раздела, доступном для редактирования скрывается самая продвинутая опция, появившаяся в кодеке. Это
Variable bitrate mode.Следующим раскрывающим списком, который доступен в этом разделе, является
Доступны следующие значения
1-pass - режим кодека, при котором качество итогового файла зависит от настроек кодека в разделе Constant bitrate parameters. Представляет из себя что то среднее между low motion и high motion кодеками в Divx 3.xx кодеке.
1-pass quality based - режим кодека, наиболее похожий на low motion режим из Divx 3.хх кодека. Битрейт выдерживается максимально близко к заданному, вне зависимости от сцены.
2-pass first pass - первая попытка реализовать mm4 энкодинг в рамках Divx кодека. Принцип этой реализации схож с реализованным в пакете SBC. Видео кодится в два прохода, в первый проход создаётся файл статистики, во второй уже кодится итоговый материал. Это первый проход, когда создаётся файл статистики.
2-pass second pass - второй проход в рамках реализации mm4 алгоритма нового Divx кодека. В этот проход создаётся итоговый файл, руководствуясь данными из файла статистики, созданным во время первого прохода. Про качество материала полученного таким способом мы поговорим в конце статьи.
Следующей идёт самая важная настройка из всех доступных. Это
Output video bitstream. Это знакомый прочитавшим DVD-Rip часть 1 битрейт. Задать его можно либо цифрой, в соответствующем окне, либо слайдером, расположенным немного ниже. Как и раньше, максимально доступным битрейтом является 6000.
Quality.
Maximum key frame interval. Максимальное количество дельта кадров между ключевыми кадрами. В новый кодек изначально встроен механизм вставления ключевых кадров по изменению сцены. Эта цифра, как и следует ожидать, заставляет кодек вставить ключевой кадр если он не вставлен SCD механизмом. По умолчанию стоит 300, что соответствует 10-12 секундам, в зависимости от frame rate.Default decoder postprocessing level: Этот слайдер определяет какой уровень постпроцессорной обработки должен выставляться по умолчанию, при проигрывании полученного материала. Не вижу никакого смысла ставить меньше максимального, шестого. Если у кого будет не хватать мощности системы, уменьшит сам.
Max CPU usage: Отметив этот чекбокс у вас появится возможность в процентах ограничить максимальное значение, на которое кодек может загрузить процессор. Полезно, если вы планируете заниматься на компьютере чем-либо ещё, и не хотите что бы процесс кодирования вам мешал.
Deinterlace. Если отмечен этот чекбокс, то кодек будет пытаться соединить два полукадра в чрезстрочном изображении и восстановить исходное, прогрессивное.
Следующий раздел.
Constant bitrate parameters.
Настройки в этом разделе управляют работой кодека в режиме 1-pass (не 1-pass quality based).
Maximum quantizer и Minimum quantizer Эти два значения определяют насколько кодек может отклоняться от базового значения битрейта. Чем меньше его значение, тем лучше качество, и тем больше размер. Чем больше – тем хуже качество и меньше размер. Если выставить их одинаковыми, то теряется всякий смысл в использовании этого режима, вы получите 1-pass quality based.
Ниже идут опции позволяющее хоть как-то контролировать изменения битрейта по ходу кодирования.
Rate control averaging period, frames. Определяет как долго кодек «помнит» как менялся битрейт в процессе кодирования. Высокое значение этого параметра стоит ставить если в кодируемом материале есть длинные динамичные сцены.
Rate control reaction period, frames. Определяет как быстро кодек меняет битрейт с изменением сцены.
Rate control up/down reaction. Определяет как резко кодек может менять битрейт при изменении сцены.
Последний раздел.
Variable control parameters.
Log file. Предлагает определить файл, в который будет собираться статистика во время первого прохода при двухпроходном кодировании.
Frame dropping: Позволяет задать количество кадров, которые будут выброшены. Кодек определяет кадры, по его мнению не содержащие полезной информации, и выбрасывает их. Сделано это для того, что бы можно было сделать файл маленького размера но с приемлемым качествам. Что до меня, то я с трудом представляю себе ситуацию, когда понадобилось бы так издеваться над материалом.
Но опытные кодеры знают, что наилучшие результаты достигаются при mm4 методе кодирования. Как уже упоминалось, в новом кодеке реализован механизм кодирования в два прохода, схожий с тем, что используется в SBC. Однако, несмотря на это, качество полученного с помощью этого метода материала не идёт ни в какое сравнение с тем, что можно получить при использовании FairUse, не говоря уже про SBC, с правильными настройками. То есть, всё гораздо хуже. Да и уровень контроля над процессом кодирования, который имеется в SBC гораздо выше того, что можно получить с новым кодеком. Если быть ещё более точным, то при двухпроходном кодировании новый кодек не даёт практически никакого контроля. Из других преимуществ нового кодека создатели отмечают возможность кодить в разрешениях до 1920*1280, но при максимальном битрейте в 6000, такая возможность представляет собой только теоретический интерес.
Таким образом, выводы, которые можно сделать после ознакомления с новым кодеком таковы. Новый кодек прекрасно подходит для просмотра фильмов. Единственное, что может как то замедлить победное шествие нового кодека в этом качестве, это проблемы с некоторыми плеерами. Но не думаю, что эта продлиться долго.
С точки зрения кодера, заинтересованного в качестве получаемого материала, всё не так радужно. Качество, получаемое с помощью таких программ как FairUse и Nandub, осталось недосягаемым. Хорошая новость состоит в том, что установка нового кодека в системе никак не влияет на работу этих замечательных программ. Так что можно смотреть с новым кодеком, а кодить со старым.