Новое поколение кодеков

Практически любой человек может считать себя любителем кино. Кому-то нравятся голливудские боевики, кто-то любит отечественные сериалы, а некоторые и вовсе предпочитают индийский кинематограф. Благодаря современный технологиям любой человек может смотреть разнообразные фильмы не выходя из дома, прямо на своем компьютере, не испытывая при этом никаких сложностей с программным или техническим обеспечением. Нужен всего лишь компьютер с DVD-приводом, монитор для просмотра и какой-нибудь видеоплеер с установленными кодеками. Вот как раз о последних и поговорим.

Если быть точнее, речь пойдет о новейшем поколении семейства видеокодеков H.264 (второе название – MPEG-4 Advanced Video Codec). Данный вид компрессии дает возможность достичь значительно большей степени сжатия, нежели этого позволяли предыдущие форматы кодеков.

Стандарт H.264 был изобретен ITU-T Video Coding Experts Group (VCEG) при содействии ISO/IEC Moving Picture Experts Group (MPEG) и является результатом деятельности группы Joint Video Team (JVT).

Методика
В нашем тестировании будут принимать участие четыре кодека, которые, пожалуй, доступнее всех во Всемирной паутине. Речь пойдет о Libavcodec (FFDShow Rev. 1512), в дальнейшем будем называть его «кодек №1»; Cyberlink (кодек №2); CoreAVC (кодек №3) и кодек MainConcept H.264 (Кодек №4).

Не будем вдаваться в мельчайшие детали и грузить сложной информацией, а посмотрим несложные, но очень важные параметры каждого видеокодека. Сравнивать будем по следующим показателям: скорость работы; поддержка многопоточности; наличие или отсутствие настроек, их полнота; качество изображения и небольшие особенности каждого кодека, обнаруженные в процессе тестирования.

Тестовый стенд
Процессор, ГГц: 3.08, Intel Core 2 Duo E6300 (440 МГц FSB)
Материнская плата: Gigabyte GA-965P-S3 (Intel P965)
Видеокарта, Мб: 512, Sapphire Radeon X1900XTX
Память, Мб: 2x1024, Corsair CM2X1024-8500
Жесткий диск, Гб: 320, Western Digital 7200rpm
Блок питания, Вт: 520, PowerMan Favourite
Первый раунд
Для начала проверим качество изображения, которое достигается этими кодеками. Самый лучший способ – сделать скриншоты и сравнить снимки в статике.

На первый взгляд, существенной разницы не наблюдается. Но при более детальном рассмотрении обнаружим радикальные различия между кодеком №3 и всеми остальными образцами. Кодек CoreAVC дает некое размытое изображение, что хорошо заметно при сравнении скриншотов 3-го кодека с остальными. Кадры, снятые при помощи кодеков №1, №2 и №4, обладают примерно одинаковым качеством весьма достойного уровня. Это говорит о том, что кодеки Libavcodec (FFDShow Rev. 1512), Cyberlink и MainConcept H.264 для субъективного восприятия большинства зрителей дадут изображение одинакового уровня качества. При увеличении размера окна эти выводы подтверждаются: при использовании кодека №3 очень сложно читать текстовую информацию, которая отображается в представленном видеоролике. Остальные образцы обеспечивают хоть и не самую большую, но все же достаточную степень четкости при отображении текстовой информации.

Если ты будешь использовать кодек CoreAVC при просмотре фильмов, тебе могут встретиться некоторые трудности. Например, ты не без труда сможешь прочесть какую-либо вывеску или рассмотреть какую-то мелкую деталь, встретившуюся при просмотре фильма. А ведь порой это может повлечь утерю сюжетной линии или осложнить понимание смысла фильма. Хорошего в этом мало, не так ли? Так что образец №3 явно провалил тест на качество изображения.

После первого отборочного раунда лидируют сразу 3 кодека – №1, №2 и №4. Аутсайдером пока является кодек №3. Посмотрим, что покажут следующие тесты!

Второй раунд
Теперь проверим «скорострельность» этих кодеков во время обработки видео высокого разрешения. Для испытаний был взят видеоролик с разрешением 1920x816 и битрейтом 10350 kbps. Интересно будет узнать, все ли кодеки смогут без понижения скорости отображения видео справиться со своей работой. Для удобства процесса тестирования и повышения точности получаемых показателей мы использовали утилиту TimeCodec. Настройки для каждого кодека были выставлены по умолчанию, более того, использовался рендер VMR9, который использует для вывода картинки не оверлей, а Direct 3D 9, то есть видео обрабатывается не процессором, а видеокартой (при условии, что она совместима с DirectX 9.0). В результате была найдена чистая скорость декодирования каждым кодеком в FPS (dfps).

Полученные результаты оказались следующими:
Libavcodec (FFDShow Rev. 1512) – User: 38s, kernel: 0s, total: 38s, real: 39s, fps: 70.9, dfps: 70.0.
Cyberlink – User: 6s, kernel: 0s, total: 6s, real: 22s, fps: 395.2, dfps: 123.1.
CoreAVC – User: 2s, kernel: 0s, total: 2s, real: 20s, fps: 961.0, dfps: 131.5.
MainConcept H.264 – User: 41s, kernel: 0s, total: 41s, real: 52s, fps: 65.9, dfps: 52.4.
Именно такие данные выдала используемая утилита. Наилучшие результаты показали образцы 2 и 3 со значениями чистой скорости декодирования 123.1 dfps и 131.5 dfps соответственно. Весьма посредственными результатами отметились FFDShow Rev. 1512 и MainConcept H.264 – 70.0 и 52.4 соответственно.

Специально для тех, кто в большей степени доверяет своим чувствам, а не показателям различных утилит, была оценена скорость воспроизведения видео с точки зрения человеческого восприятия. При воспроизведении трейлера фильма высокого разрешения кодеком Main Сoncept картинка слегка подтормаживает, наблюдаются рывки и прочие искажения. Качество и скорость воспроизведения видео остальными кодеками претензий не вызывают. Если учесть, что персональный компьютер и видео высокого разрешения постепенно становятся стандартным сочетанием для домашнего медиацентра, то данный тест имеет очень большой вес в результирующей оценке потребительских качеств рассматриваемых кодеков.

Определим результаты второго отборочного раунда. Меньше всего претензий к образцам №2 (Cyberlink) и №3 (CoreAVC). Кодеки этих моделей показали наивысшую скорость декодирования, да и качество обработки видео большого разрешения тоже оказалось на должном уровне. Образцы №1 и №4 оказались аутсайдерами этого испытания. Но если низкое значение dfps кодека Libavcodec (FFDShow Rev. 1512) компенсируется качеством обработки видео, то кодек MainConcept полностью провалил оба этих теста: низкое значение dfps и сбои отображения видео значительно подпортили репутацию образца №4.

Таким образом, мы обнаружили лидера первых двух отборочных раундов – кодек марки Cyberlink, который показывает весьма неплохие результаты.

Третий раунд
На этом этапе мы попытаемся сравнить возможности многопоточной работы тестируемых программных продуктов. Суть испытания проста: мы проверим, смогут ли кодеки обрабатывать сразу несколько потоков видео, и проанализируем то, как распределяется нагрузка на каждое ядро процессора тестового стенда на базе процессора Intel Cor2 Duo.

Кодек марки FFDShow (libavcodec) способен обрабатывать только один поток видео. Впрочем, можно указать большее количество потоков, используя настройки и опции пакета, однако результат был получен только для формата MPEG1-2. Это огромный недостаток. Кто-то может возразить, что, мол, зачем работать с несколькими потоками одновременно? Но если учесть, что сейчас все чаще пользователи не только просматривают, но и делают монтаж своих видеосъемок в домашних условиях, то этот вопрос отпадет. Вывод: образец №1 абсолютно неспособен обрабатывать несколько потоков видео, зато процессор загружается практически под завязку.

Кодек Cyberlink (образец №2) ничего выдающегося не показал, однако качество обработки нескольких потоков видео оказалось на довольно высоком уровне, при этом оба ядра загружались не более чем на 50 процентов.

Кодек CoreAVC приятно удивил своими отменными показателями в этом испытании. Образец №3 с блеском выполнил поставленную задачу, причем с небольшой степенью загрузки каждого ядра. Это весьма серьезная заявка на победу в конкурсе.

Ну и наконец, последний претендент – MainConcept H.264. Самое время реабилитироваться за провалы прошлых испытаний. Но чуда не произошло: на этом этапе тестирования кодеков образец №4 также откровенно провалился. Оба ядра грузятся полностью, но при этом качество изображения оставляет желать лучшего. Картинка воспроизводится с рывками и сбоями. К сожалению, кодек MainConcept H.264 никак не может доказать свою состоятельность и оправдать авансы, которые выдавали ему многие специалисты.

Лидером этого испытания является образец №3 (CoreAVC), второе место занимает Cyberlink, в хвосте плетутся образцы №1 (Libavcodec – FFDShow Rev. 1512) и №4 (MainConcept H.264).

В общем зачете лидером по-прежнему является образец №2 (Cyberlink). Неплохо реабилитировался за провал в первом испытании кодек №3 (CoreAVC), который показал бойцовский характер во втором и третьем отборочном раунде. На третьей позиции располагается образец №1, на последнем месте прочно обосновался неудачник всех испытаний – кодек MainConcept H.264.

Четвертый раунд
Здесь стоит сказать пару слов про опции и настройки представленных кодеков, а точнее, об их качестве и количестве. А нужны ли эти настройки вообще? Следует исходить из опыта пользователей и целей, которые они преследуют в своей деятельности. Не секрет, что неопытный юзер не особо радуется встретившимся на его пути сложностям. Таким препятствием может стать огромное количество опций, предлагаемых настроек и параметров, которые встретятся при использовании кодеков. Многие могут не понять, а зачем, собственно, изменять все эти параметры и что это дает на практике? Видео и так отлично смотрится, к качеству также нет претензий. В таком случае в изменении настроек действительно нет никакой необходимости.

Но рано или поздно любитель кино столкнется с видеоконтентом, качество которого не удовлетворит его при параметрах «по умолчанию» на данной конфигурации, и одним из эффективных способов повышения качества видео станет грамотное использование предложенных настроек. Здесь как раз пригодится видеокодек с широким диапазоном различных опций и параметров воспроизведения видео. Также расширенные возможности кодека оценит профессионал или человек, увлекающийся съемкой и монтажом видео. Он сможет настроить программное обеспечение именно так, как нужно ему для реализации поставленных в данный момент задач.

Образец №1, кодек Libavcodec (FFDShow Rev. 1512), предлагает очень широкий выбор опций. Хотя далеко не факт, что каждая примочка способна как-то повлиять на качество изображения. По крайней мере, невооруженным глазом разница не всегда наблюдается.

Гораздо меньше настроек предполагает кодек Cyberlink. Здесь все просто и понятно: контроль цветовой гаммы и еще несколько простеньких инструментов. Даже начинающий пользователь сможет полностью разобраться в том, что могут изменить настройки, предложенные интерфейсом кодека №2.

Кодек №3, CoreAVC, предполагает набор достаточного числа настроек: обрабатываемые стандарты, цветовая гамма, изменение размеров и так далее. Все достаточно просто, без излишеств. Никаких претензий здесь не имеется, если учитывать, что рассматривается не профессиональный инструмент, а всего лишь кодек для работы на домашнем компьютере.

Образец №4 также не обладает большим числом возможных настроек. А зачем, собственно? Ведь кодек MainConcept H.264 демонстрирует отвратительные результаты практически во всех испытаниях, и никакие настройки не помогут исправить подобную ситуацию :).

Лидеров и аутсайдеров на этом этапе выделять не будем, так как наши рассуждения могут оказаться субъективными. Кому-то даже три представленных опции могут показаться лишними, а для кого-то и двадцати различных вариантов отображения видео окажется недостаточным.

Пятый раунд
Здесь представлены, так сказать, обывательские особенности каждого кодека, исходя из которых ты сможешь сделать выбор того или иного продукта.

В состав кодека FFDShow Rev. 1512 входит Libavcodec, который и осуществляет декодирование стандарта H.264. На данный момент образец №1 – единственный бесплатный кодек, способный осуществлять работу с H.264. Еще одно преимущество – возможность постоянного обновления билдов, которые периодически появляются в сети Интернет.

Образец №2 (Cyberlink) входит в комплект платного функционального комбайна PowerDVD 7.3 и не поставляется отдельно. Основное преимущество Cyberlink – обеспечение поддержки аппаратного ускорения со стороны видеокарт, поддержка AVIVO и PureVideo.

Кодек CoreAVC 1.5.0.0 представляет собой полностью софтовый продукт, однако, как мы уже выяснили, это самый быстрый на сегодняшний день образец. Распространяется этот продукт также на платной основе.

MainConcept H.264 Video Decoder 1.00.1889.00 – это не индивидуальный кодек, а всего лишь небольшой элемент эффективного набора MainConcept H.264 Encoder V2. Пакет также распространяется на платной основе.

Вне конкурса
Помимо представленных моделей кодеков хотелось бы сказать пару слов об еще одном продукте: x264 Revision 424x264. Это один из наиболее продвинутых кодеков на сегодняшний день, который используют профессионалы. Мы не стали включать этот продукт в конкурсные испытания, так как обыкновенный пользователь вряд ли станет работать с таким инструментом. Причина тому – необычайное множество опций, с которыми весьма трудно справиться, и неискушенному пользователю будет достаточно сложно настроить качество изображения обрабатываемого видео с помощью x264 Revision 424x264. Кодек поддерживает оптимизацию отношения вносимых искажений к скорости потока видео; несколько режимов работы управления скоростью видеопотока; параллельное кодирование на нескольких CPU; поддержку компрессии кадров с чересстрочной разверткой и многое другое. Согласись, для обыкновенного просмотра видео на персональном компьютере это явно не понадобится.

Итоги
Ради справедливости стоит отметить, что все результаты, полученные в данном исследовании, могут и не совпасть с твоими личными тестами. Многое зависит от программного и технического обеспечения твоего ПК.

Подводить итоги испытаний оказалось нелегко. Сказать, какой именно продукт лучше, практически невозможно, так как все зависит от твоих целей и опыта. Но если рассмотреть представленную картину в целом, то только один кодек заслуживает особого уважения: Cyberlink (образец №2). Именно у этого экземпляра нет откровенных недостатков в работе и функционировании. Для домашнего использования подобный продукт будет наиболее подходящим. Но все же выбирать – тебе, так как каждый человек индивидуален, и он будет пользоваться именно тем, что ему больше подойдет. Надеюсь, эта статья поможет совершить этот нелегкий выбор!