В последнее время цифровое видео вошло почти в каждый дом.
Привычные носители видеоинформации – кассеты VHS доживают последние
годы. На смену им пришли более актуальные Video CD, Super Video CD,
DVD и видео диски в формате MPEG4. Самым высококачественным форматом
для видео до недавнего момента являлся DVD. Однако некоторое время
назад появился формат HD-DVD, а за ним и Blue-Ray Disc, причем
вместимость последнего может составить до 200 Гб, что позволит
записывать видео ошеломительного качества с двумя десятками
аудиодорожек.
Но пока идет война ультрасовременных форматов, любители кино без
рекламы в России едва пересевшие с видеомагнитофонов на плохонькие
DVD-плейеры и компьютеры с CD-DVD приводами, души не чают в
самописанных MPEG4 и контрафактных DVD с 8 фильмами на одном диске.
Тратить 8 Гб на один фильм российскому любителю кино кажется сущим
расточительством. Его вполне пока устраивает видео размером в 700
Мб. А у многих нет DVD, зато есть CD привод, а посмотреть заветные
фильмы так хочется...
Данная статья будет посвящена перекодированию DVD в другие видео
форматы с помощью различных видеокодеков. Также будет сделана
попытка выявить кодек, наиболее качественно сжимающий видео.
On2 VP7 [version 7.0.10.0]
Тестировавшийся битрейт
Тестирование проводилось для 7 битрейтов*: 100, 200, 300, 450,
680, 850, 1500 кбит/с.
100 кбит/с – экстремальный битрейт даже для звука. Посмотрим, что
покажет разрекламированный VP7.
200 кбит/с – битрейт с которым должен справиться VP6
последней версии. Вкупе со звуком в формате HE-AAC с
битрейтом в 48 кбит на CD диск влезет более 6 часов видео.
300 кбит/с – с таким потоком данных обещает справиться и
обновленный XviD. На диск при вышеозначенном качестве
звука поместится более четырех с половиной часов.
450 кбит/с – для любителей умещать на один диск либо очень
длинные кинофильмы, либо по два фильма средней продолжительности.
Например, "Властелин колец" со звуком в формате OGG Vorbis (60
кбит/с) при потоке видеоданных 468 кбит/с, легко умещается на диск,
правда, немного потеряв в качестве (если речь ведется о VP6).
680 кбит/с – также достаточно низкий битрейт. При потоке
аудиоданных в 128 кбит/с (как правило, такое качество звука зовется
"стандартным") на диск вмещается двухчасовой фильм. Если увеличить
качество звука до 160 кбит/с, то фильм получится длиной лишь в 1:45
– однако большинство фильмов с успехом влезают в это прокрустово
ложе.
850 кбит/с – своеобразная золотая середина. И звук уже достаточно
неплох и видео уже не раздражает глаз.
1500 кбит/с – на диск умещается лишь одночасовое видео при
"стандартном звуке". Любители писать фильм на 2 CD
предпочитают такой битрейт или даже более высокий поток данных.
Скажем, разбивая полуторачасовой фильм на 2 диска, можно сохранить
также две-три звуковых дорожки и субтитры, сохранив видео отличного
качество.
* Примечание: Речь идет о битрейте итогового видео, а не о
настройках кодировщика. Битрейт полученного видео мог расходиться с
заданным не более чем на 5%, иначе полученный файл забраковывался, и
перекодировывался с новыми настройками.
Использованные программы
Посредником между пользователем и кодером выступала бесплатная
программа нелинейного монтажа Virtual Dub Mod
1.5.4.1. Для обработки видео применялись фильтры
resize (bicubic resize) и null transform (cropping).
Для роликов с битрейтом менее 450 кбит/с размер кадра (в
зависимости от соотношения сторон) составлял 384х288 или 384х216.
Для роликов с битрейтом 450 кбит/с и более, размер кадра составлял
512х384 и 512х288 соответственно. Фильтром null transform (cropping)
производилась обрезка сторон видео, чтобы не тратить драгоценный
битрейт на унылую черноту – следовательно, финальный размер кадра
получался меньшим. Такие параметры были выбраны исходя из того, что
приведенный битрейт не должен опускаться, по заверениям некоторых
экспертов, ниже значения в 0,05 бит/пиксель (чем больше площадь
картинки, тем меньше бит приходится на один пиксель, а,
следовательно, и качество картинки ухудшается).
Для кодека XviD с битрейтом в 1500 кбит/с
кодирование проводилось с матрицами H263 и MPEG, а для анимации
включался режим "cartoon".
Сравнения качества работы кодека производилось визуально ("на
глаз"), как непосредственным просмотром получившегося ролика, так и
путем сравнения отдельных кадров. Для этого на языке Delphi была
написана программа, создающая job-скрипт для VirtualDubMod,
позволяющий сохранять в формат bmp определенные кадры из
видеофайлов.
Окно программы VirtualDub Job List Creator
Другие параметры кодирования
Тестирование производилось без перекодирования звуковой дорожки.
Время кодирования специально не замерялось! (Настройки кодеров
выставлялись в соответствии с рекомендациями разработчиков
кодека).
Кодеки работали в 2-х проходном режиме.
Интервал между ключевыми кадрами (количество дельта-кадров между
ключевыми) выставлялся равным 300. В сравнении скриншотов
участвовали именно дельта кадры, от которых и зависит визуальное
восприятие фильма.
Поскольку объем данной статьи ограничен, я приведу скриншоты с
настройками кодеков.
Постпроцессинг
Постпроцессинг – технология позволяющая улучшать качество видео,
используя различные приемы обработки изображения и сохраненные во
время кодирования данные. Ее использование для тестирования является
спорным, однако поскольку качество видео сравнивалось визуально, а
не с помощью различных технических приспособлений, то разумно было
бы использовать данную функцию (тем более что кодек – это
кодер+декодер)
У XviD включался деблокинг, однако дерингинг
(функция, нейтрализующая артефакты в виде окружностей – иногда ее
использование приводит к ухудшению восприятия изображения) и Film
Effect (эффект "зернистости") отключался.
У VP7 также отключалось зерно, ползунок
сглаженности картинки оставался там, где он был установлен по
умолчанию.
Про VP6 можно сообщить то же.
*Примечание: Однако приблизительно по скорости работы кодеки
можно распределить так: VP7, VP6, XviD. Можно заметить, что на
разных процессорах кодеки работают с разной скоростью. Так на
Celeron Tualatin 1200 МГц средняя скорость кодирования On2 VP7
составляет 2-3 кадра/с. На последних моделях Athlon и Pentium IV
достигая 18-20 кадров/с.
Подробности тестирования
Тестирование проходило в несколько этапов. Каждый ролик
кодировался тремя кодеками с 7 значениями битрейта. Итого получалось
более 100 видео роликов. Далее из получившихся видеофайлов
извлекалось от 10 и более дельта-кадров.
Далее скриншоты сравнивались между собой на более точное
соответствие оригинальным кадрам для разных битрейтов. Затем кадрам
проставлялась оценка (некоторым это может напомнить распределение
очков после очередного заезда в "Формуле 1") от одного до трех (в
случае использования кодека с дополнительным параметром кодирования
(например, XviD с матрицами H.263 и MPEG) от одного до четырех). Чем
выше качество кадра, тем выше оценка.
Пример работы кодеков VP6, VP7, XviD
Кадр из ролика "Ночной Дозор". Битрейт 680 кбит/с. Городецкий,
обросший щетиной – непростая текстура, ожидается, что кодеки станут
сильно сглаживать картинку.
VP6
VP7
XviD
Кадр из ролика "Звонок". Битрейт 300 кбит/с. Девушка у
телевизора. Этот кадр демонстрирует, как кодек умеет
перераспределять битрейт. На белый шум должно уходить очень много
битрейта, однако он не несет никакой информации и с ним можно
подхалтурить. А вот лицо девушки справа – совсем другой пример.
Сумеют ли кодеки правильно рассчитать силы?
VP6
VP7
XviD
Результаты тестирования кодеков VP6, VP7, XviD
100 кбит/с – с распространением КПК и Интернета
использование компактных роликов с малым разрешением и
экстремально-низким битрейтом вполне оправданно. И на первое место
здесь выходит VP7. Качество видео для такого битрейта
впечатляет. Второе место у VP6. Последнее место занял
XviD. Качество явно подкачало, хотя скорость
кодирования наголову выше, чем у соперников (однако ролик от
Blizzard он закодировал лучше чем VP6).
200 кбит/с – битрейт недостаточный для просмотра хоть
сколько-нибудь качественного видео, но для сети вполне подходит.
Вновь главенствует VP7. Второе у VP6.
Последнее у XviD, однако, несмотря на оценку, кодек
все же немного подтянулся к преследователям.
300 кбит/с – битрейт который я, например не гнушаюсь
использовать для фильмов, которые просматриваю позже на домашнем
компьютере.
И, по всей видимости, с появлением VP7 я буду все
чаще и чаще перегонять фильмы с таким битрейтом. На один шажок
отстал VP6. На последнем – XviD, правда
кодек здорово исправился и в принципе при грамотной и кропотливой
настройке может подобраться и к результатам показанным
VP6. Кроме того, кодирует он гораздо быстрее.
450 кбит/с. VP7 главенствует и здесь, второе
по-прежнему у VP6. На последнем месте, значительно
сократив разрыв, оказался XviD. Для сжатия не слишком
ценных фильмов можно выбрать именно этот кодек, учитывая высокую
скорость его работы.
680 кбит/с. Приблизительно с таким битрейтом я загнал на
болванку двухчасовой Дневной дозор.
Первое место вновь взял VP7. Буквально чуть-чуть
отстал от него VP6. На последнем месте снова
XviD.
850 кбит/с. Первое место у VP7. Совсем не на
много отстал VP6. Третье место вновь у
XviD, который отстал от лидера в лице
VP7 всего на чуть-чуть, и для детища Koepi это
несравненный прогресс. Он же стал лучшим по соотношению
скорость/качество. В принципе для данного битрейта вполне
позволительно использовать VP6, если вы не обладатель
мощного компьютера, поскольку кодирует он быстрее, чем
VP7.
В режиме 1500 тестирование для ролика из игры
WarCraft III не проводилось, так как в подобном случае оригинальный
битрейт видеоролика был бы превышен. Первое место у
VP7. VP6 вышел на чистое второе место.
Третье место у XviD (причем различие между
использованием матриц H263 и MPEG оказалось незначительным). На
самом деле на столь высоких битрейтах я бы посоветовал использовать
XviD. Разница в качестве практически незаметна, а
трехкратное превосходство в скорости над VP7
достаточно ощутимо.
Выводы:
1. Битрейт в 100 кбит/с является предельно низким для
видеопотока. Смотреть его рекомендуется лишь при низком разрешении и
исключительно при использовании кодека VP7
(артефакты этого кодека очень специфичны и менее заметны для
человеческого глаза, в отличие от "квадратов" DivX/XviD кодеков).
Интернет и видео для КПК – вот где найдет применение столь низкий
битрейт.
2. Битрейт в 200 кбит/с. Чуть лучше, но все же недостаточно.
Отрыв VP7 от конкурентов иногда огромен. Все же
хранить видео, даже при использовании VP7, с таким
низким битрейтом я бы посоветовал лишь для передачи по Интернету или
просмотра в самолете на любимом КПК.
3. Битрейт в 300 кбит/с мне пришелся по душе. Конечно при
использовании VP7. VP6 и тем более
XviD для такого битрейта мало подходят. Я, например,
уже принялся создавать коллекцию любимых фильмов прямо на жестком
диске именно с битрейтом 300 кбит/с и со звуком в формате HE-AAC
(40-60 кбит/с.) "Звонок", занимающий 280 Мб – это, по-моему,
здорово. Единственный минус – очень много времени уходит на
кодирование в два прохода с максимальными настройками
VP7. Для этого требуется очень мощный компьютер.
4. Битрейт в 450 кбит/с. В предыдущем тестировании я рассыпался в
комплиментах к VP6. Теперь поклоны придется отвешивать
VP7. Даже сложно сказать, возможно, ли еще более
улучшить качество видео. Неужели скоро придется боготворить
VP8?
5. Битрейт в 680 кбит/с. Преимущество VP7 уже не
столь ощутимо. Хотя на таком еще достаточно низком битрейте я бы
отказываться от использования этого кодека не стал.
6. Битрейт в 850 кбит/с. Конкуренты в лице VP6 и
XviD подбираются вплотную. И тут критичным фактором
становится скорость кодирования. У VP6 она повыше. И
если неохота ночь тратить на рипанье то VP6 вам
поможет сэкономить несколько часов.
7. Битрейт в 1500 кбит/с. Преимущества VP7
совершенно скрашены, ведь кодек оптимизирован для использования при
малых потоках данных. VP6 выглядит фаворитом, хотя и
использование XviD не выглядит крамольным. Я бы выбрал
именно последний кодек, если вспомнить про пресловутую скорость и
совместимость с аппаратными проигрывателями.
8. Если говорить про каждый кодек в отдельности, то можно сказать
следующее. VP7 новая успешная разработка от On2.
Версию 7.0.10.0 можно считать вполне стабильной. Дальнейшее развитие
кодека, как я считаю, будет связано с оптимизацией скорости
кодирования и пост-процессинга, налаживания совместимости с
некоторыми программами видеомонтажа (такими, как, Flask или XMPEG).
VP6 версии 6.4.2 не стоит сбрасывать со счетов. По
сравнению с версией 6.2 есть значительные улучшения в качестве
итогового видео. Использование кодека на высоких битрейтах не
возбраняется, а даже поощряется и он способен побить весьма
неслабого соперника в лице XviD. Единственный минус
кодеков от On2 – стационарные плееры их не
поддерживают. Над XviD изрядно потрудились, но
результаты получились противоречивыми. В одном случае на низких
битрейтах кодек показывает посредственные результаты, в другом
уверенно борется за второе место с VP6. На высоких
битрейтах кодек весьма удачно себя чувствует, как и все
Mpeg-4 совместимые кодеки. Посмотрим, какая участь
уготована XviD после наступления эры AVC/H.264
кодеков.
Все кодеки, упоминающие в этой статье, вы можете скачать здесь
Владимиров А.Ю.
08.09.2006