Автор: Владимиров А.Ю.
Статья учавствовала в нашем конкурсе статей.
В последнее время цифровое видео вошло почти в каждый дом. Привычные носители видеоинформации – кассеты 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 в другие видео форматы с помощью различных видеокодеков. Также будет сделана попытка выявить кодек, наиболее качественно сжимающий видео.
Фильмы, использованные для тестирования
Название |
Формат |
Кадр/с |
Размер картинки |
Отношение сторон |
Развертка |
Звонок (The Ring) |
NTSC |
23,976 |
720х480 |
16:9 |
Progressive |
Особое мнение (Prior Minority) |
PAL |
25 |
720х576 |
16:9 |
Progressive |
Ночной Дозор. Трейлер |
PAL |
25 |
720х576 |
4:3 |
Progressive |
Ночной Дозор |
PAL |
25 |
720х576 |
16:9 |
Interlaced |
Ролик из WarCraft III |
|
25 |
800х368 |
|
Progressive |
Трейлер Ночного Дозора характеризуется необычайно шустрым движением в кадре, и специфической монтажной клиповой нарезкой, из-за чего кодекам приходится с необыкновенной частотой втыкать ключевые кадры в видеопоток, что естественно неблагоприятно сказывается на дельта-кадрах.
Ролик из игры WarCraft III: The Frozen Throne. Неоднократно отмечалось, что компьютерная анимация от Blizzard славится своим качеством, поднимаясь на один уровень с такими анимационными шедеврами как Final Fantasy. Сам ролик представляет восхождение одного из главных героев на ледяной трон, характеризуется малым движением в кадре, с чередованием крупных и дальних планов.
Ролик из триллера Звонок - достаточно сложный для любого кодека. И резкая смена планов, и интересная операторская работа, очень сложные для кодирования кадры – все присутствует в этом клипе.
Ролик из фантастического блокбастера Ночной Дозор. Небольшой фрагмент подводных съемок, крупные и дальние планы, карта метрополитена, интересная текстура небритой щеки господина Городецкого – основные трудности для кодека.
Ролик из фантастического экшна Особое мнение. Фрагмент погони за Полом Андертоном на футуристическом шоссе, где все является плодом работы специалистов из Силиконовой долины, кроме Тома Круза.
Кодеки, участвовавшие в тестировании
Тестировавшийся битрейт
Тестирование проводилось для 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 определенные кадры из видеофайлов.
Другие параметры кодирования
Тестирование производилось без перекодирования звуковой дорожки. Время кодирования специально не замерялось! (Настройки кодеров выставлялись в соответствии с рекомендациями разработчиков кодека).
Кодеки работали в 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) от одного до четырех). Чем выше качество кадра, тем выше оценка.
Пример работы кодеков
Кадр из ролика "Ночной Дозор". Битрейт 680 кбит/с. Городецкий, обросший щетиной – непростая текстура, ожидается, что кодеки станут сильно сглаживать картинку.
Кадр из ролика "Звонок". Битрейт 300 кбит/с. Девушка у телевизора. Этот кадр демонстрирует, как кодек умеет перераспределять битрейт. На белый шум должно уходить очень много битрейта, однако он не несет никакой информации и с ним можно подхалтурить. А вот лицо девушки справа – совсем другой пример. Сумеют ли кодеки правильно рассчитать силы?
Результаты тестирования
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 кодеков.