MPEG4 в вопросах и ответах

Фильмы, записанные в формате MPEG-4, уже успели завоевать заслуженную популярность среди широкой аудитории пользователей ПК. Такие фильмы обычно умещаются на одном компакт-диске, а по качеству изображения могут успешно конкурировать с видеокассетами. Не последним фактором, определяющим популярность MPEG-4 дисков, является их цена - 60-70 р. против 400-600 р. за DVD. Поэтому промежуточным этапом на пути массового перехода домашних пользователей с аналоговых VHS-видеомагнитофонов на цифровой стандарт DVD вполне мог бы стать именно MPEG-4.

В русскоязычной части Internet можно найти много материалов, посвященных стандарту MPEG-4, однако большая их часть содержит описание тонкостей процесса компрессии видео в этот формат. Это, безусловно, специфический и требующий подробного исследования вопрос, но для пользователей, выступающих только в роли зрителей, подобные статьи зачастую не могут дать ответ на вопросы, возникающие при желании посмотреть фильмы. Другой крупный источник информации - это конференции. В разделах "Процессоры", "Видео", "Мультимедиа" постоянно поднимаются темы, связанные с быстродействием, качеством, оптимальной конфигурацией и всем тем, что касается MPEG-4, но поступающие ответы зачастую противоречат друг другу. Кто-то заявляет, что всю жизнь смотрел без тормозов MPEG-4 на Pentium 200, другие жалуются на слайд-шоу, имея при этом компьютер с процессором Pentium III.

В настоящей статье предпринята попытка разъяснить вопросы, наиболее часто возникающие у людей, недавно столкнувшихся с этим форматом, а также привлечь к нему внимание тех, кто никогда раньше не сталкивался с MPEG-4. Надеюсь, после прочтения данного материала читатель, не занимающийся редактированием и компрессией видео, сможет уверенно сказать: "Теперь я знаю об этом достаточно".

Что это такое MPEG?

MPEG - аббревиатура, расшифровывающаяся как Moving Picture Experts Group (прежде чем писать письмо, что первая буква расшифровывается не так - сходите на http://www.mpeg.org).

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

Среди разработок этой группы в области цифровой видеозаписи наиболее известными являются:

  • Стандарт MPEG-1. Был выпущен в 1992 г. Чаще ассоциируется у пользователей с фильмами на VideoCD. Типичный бытовой формат видео для MPEG-1 в стандарте PAL составляет 352*288 пикселов, 25 кадров в секунду. Аудио часть - стереозвук с частотой дискретизации 44,1 кГц, сжатый в MPEG-1 Layer II. Полнометражный фильм, записанный в этом формате, занимает два компакт-диска в стандарте VideoCD. Качество изображения на VideoCD дисках находится на уровне бытовой VHS видеокассеты.

  •  
  • Стандарт MPEG-2. Выпущен в 1995 г. Пользователи сталкиваются с этим форматом копрессии видео главным образом приоберетая DVD диски с фильмами. Типичный размер кадра для DVD фильма в видеостандарте PAL составляет 720*576, при 30 кадрах в секунду. По сравнению с MPEG-1, в аудио части добавлена поддержка многоканального звука (Dolby Digital 5.1, DTS, и т.п.). Увеличение битрейта и применение усовершенствованного алгоритма сжатия видеопотока обеспечило DVD фильмам гораздо лучшее качество изображения, чем на VideoCD. MPEG-2 сегодня применяется также в цифровом спутниковом телевидении. Бытовые проигрыватели DVD-дисков в нашей стране ещё только завоёвывают популярность. Не последнюю роль в этом играет относительно высокая цена фильмов на DVD. Лицензионный диск с одним фильмом стоит 15-25$ (в Москве розничные цены, в том числе в интернет-магазинах, колеблются от $20 до $35 - прим. ред.). 

  •  
  • Стандарт MPEG-4. Разрабатывать его начали еще в первой половине 90-х годов прошлого века. В декабре 1999 года был представлен релиз этого формата, получивший официальный статус стандарта ISO/IEC. MPEG-4 задумывался как способ передачи потоковых медиа-данных, в первую очередь видео, по каналам с низкой пропускной способностью. Стандарт неожиданно завоевал популярность у бюджетного пользователя: применение более сложных алгоритмов компрессии позволило размещать полнометражные фильмы длительностью полтора-два часа в приемлемом качестве всего на одном компакт-диске! При одном и том же битрейте и определённых условиях кодирования, качество изображения фильма в MPEG-4 может быть сравнимо или даже лучше, чем в случае применения MPEG-1 или MPEG-2. Однако применение новых алгоритмов сжатия повлекло за собой и существенное увеличение требований к вычислительным ресурсам, необходимым для качественной декомпрессии изображения из этого формата. Так, к примеру, на большинстве компакт-дисков с фильмами в формате MPEG-4 в системных требованиях указан PII-400, в то время как MPEG-1 вполне сносно воспроизводится даже на компьютере с процессором P100.

В чём отличие MPEG-4 от MPEG-1 и MPEG-2?

Стандарт MPEG-4 задает принципы работы с контентом (цифровым представлением медиа-данных) для трех областей: собственно интерактивного мультимедиа (включая продукты, распространяемые на оптических дисках и через Сеть), графических приложений (синтетического контента) и цифрового телевидения - DTV; фактически данный формат задает правила организации среды, причем среды объектно ориентированной. Он имеет дело не просто с потоками и массивами медиа-данных, а с медиа-объектами (ключевое понятие стандарта). В MPEG-4 определен двоичный язык описания объектов, классов и сцен - BIFS, который разработчики характеризуют как "расширение Си++".

Стандарт MPEG-4 представляет пользователям гибкие средства работы с мультимедийным контентом. Помимо работы с аудио и видео, формат позволяет работать с естественными и синтезированными компьютером 2D и 3D объектами, производить привязку их взаимного расположения и синхронизацию друг относительно друга, а также указывать их интерактивное взаимодействие с пользователем. Кроме того, формат обеспечивает доступ к мультимедийной информации через каналы различной пропускной способности.

Алгоритм компрессии видео в MPEG-4 работает по той же схеме, что и в предыдущих форматах. При кодировании исходного изображения кодек ищет и сохраняет ключевые кадры, на которых происходит смена сюжета. А вместо сохранения промежуточных кадров прогнозирует и сохраняет лишь информацию об изменениях в текущем кадре по отношению к предыдущему. Полученная таким образом информация сжимается по алгоритмам компрессии, аналогичным тем, что применяются в архиваторах. Компрессия звука чаще всего производится в формат MP3 или WMA. Однако возможно использование любого кодека, вплоть до применяемого в DVD шестиканального AC-3 потока (единственное требование - чтобы данный аудиокодек был установлен в системе).

Кардинальное нововведение при компрессии видео в MPEG-4 заключается в следующем. В отличие от предыдущих форматов, которые делили изображение на прямоугольники, при обработке изображений кодек оперирует объектами с произвольной формой. К примеру, человек, двигающийся по комнате, будет воспринят как отдельный объект, перемещающийся относительно неподвижного объекта - заднего плана. Естественно, алгоритмы поиска и обработки подобных объектов требуют гораздо больше вычислительных ресурсов, нежели в случае MPEG-1/2. Но с учетом быстродействия современных компьютеров последнее обстоятельство нельзя рассматривать сегодня как крупное препятствие на пути широкого распространения формата MPEG4. Для сравнения - во времена выхода MPEG-2, в 1995 году, частота процессора новых PC составляла около 100 МГц. Сегодня эта цифра возросла в десять раз!

Для нас как конечных пользователей наибольший интерес представляет именно хранение и воспроизведение видео на компьютере. Этот формат вполне можно назвать дешевой и как следствие более доступной альтернативой DVD в области развлечений.

Более подробно о стандарте MPEG-4 можно прочитать на русском языке здесь (http://mpeg.boom.ru/divx.htm).

От чего зависит качество MPEG-4 фильмов?

Качество фильмов в формате MPEG-4 зависит от многих факторов, их можно условно разделить на три группы.
  1. Качество исходного материала. К примеру, если фильм с двух VideoCD (MPEG-1) компакт-дисков c разрешением 352*288 сжимается до одного диска в MPEG-4 или, что того хуже, с пиратской видеокассеты, то ни о каком приемлемом качестве не может быть и речи.

  2.  
  3. Параметры сжатия исходного видеоматериала: битрейт (поток данных, который проходит через декодер), размер изображения и другие, менее существенные. Значение этих параметров определяет прежде всего продолжительность фильма. Так, на один CD можно вместить фильм продолжительностью полтора часа, а можно исхитриться впихнуть и трехчасовой. При этом понятно, что в первом случае поток данных оказывается шире, а требуемая степень компрессии меньше. Следовательно, фильм будет сжат и записан на CD с меньшими потерями в качестве изображения. Оптимальный выбор параметров кодирования в MPEG-4 является строго индивидуальным и зависит от конкретного фильма. Поэтому без достаточного опыта в этом деле трудно добиться хорошего результата. Не секрет, что все фильмы в MPEG-4 имеют кустарное изготовление. Зачастую качество изображения очень низкое, а впечатление от просмотра фильма может быть полностью испорчено артефактами и постоянными рывками изображения. В формате DVD, напротив, фактически все диски имеют изображение и звук превосходного студийного качества.

  4.  
  5. Параметры декомпрессии сжатого видео, настройки видеокарты, монитора/телевизора и быстродействие компьютера, используемого для просмотра. Чем меньше быстродействие, тем больше будут заметны рывки изображения, выпадение кадров (особенно в динамичных сценах).
На факторы первых двух групп по понятным причинам зритель никакого влияния оказать не может, поэтому мы их не будем рассматривать. Здесь остается только посоветовать тщательнее выбирать диски. Факторы третьей группы зависят всецело от пользователя и его компьютера, ниже мы рассмотрим их более подробно.

Оверлей: что это такое?

Видеопоток в Windows может воспроизводиться через специальный режим DirectDraw, называемый Overlay (оверлей), при этом видеоинформация выводится не в видеобуфер, а в отдельную область локальной памяти видеоплаты, где она дополнительно обрабатывается аппаратными средствами самой видеоплаты (преобразование цветового пространства YUV в RGB, аппаратное масштабирование и фильтрация). Размер кадра оверлея и глубина его цвета не зависят от десктопа. После обработки буфер оверлея может выводиться на десктоп или по отдельному каналу, например, через видеовыход на телевизор, причем многие видеоплаты позволяют производить над содержимым этого буфера гамма-коррекцию, регулировать яркость, контрастность и т.д. независимо от десктопа. На десктоп оверлей выводится по технологии "хромакей". Windows рисует окно, где должен отображаться оверлей, и заполняет его "ключевым цветом"; видеоконтроллер, встречая этот цвет, при выводе на DAC (цифро-аналоговый преобразователь) замещает его данными из буфера оверлея, предварительно производя масштабирование изображения до размера окна или на весь экран. Проверить, работает или нет режим оверлея при воспроизведении видео, очень просто: достаточно попытаться сделать скриншот экрана - если на месте видеоизображения появится черный прямоугольник, значит, видео выводится через оверлей.

Что такое DivX и для чего он нужен?

DivX (http://divx.ctw.cc) - кодек, производящий компрессию/декомпрессию изображения, сжатого в стандарте MPEG-4. В стремлении вытеснить с рынка потокового видео конкурентов (к примеру Apple c его QuickTime) в Microsoft занялись разработкой кодека, позволяющего компрессировать видеопоток в формат MPEG-4. На одном из этапов отладки нового продукта в "массы" была выпущена бета-версия этого кодека, которая после небольших доработок группой хакеров была переименована в DivX-кодек. По "политическим" мотивам Microsoft позже свернула разработки в этом направлении, выпустив только модуль для воспроизведения уже закодированного видео.

При установке DivX производит регистрацию в системе, для того чтобы к нему могли обращаться программы более высокого уровня - плееры. Fast и Low Motion - это модификации кодеков для быстро и медленно меняющихся сцен.
 


Рисунок 1. Панель управления: видеокодеки

Какой софт нужен для просмотра фильмов в формате MPEG-4?

В заголовке MPEG-4 видеофайла есть информация о том, каким кодеком он закодирован. Вариантов обычно два: либо это стандартный Microsoft MPEG-4, либо DivX. Существует утилита, позволяющая переправлять заголовок файла и таким образом обманывать программу-плеер (http://rising.nm.ru/ru/divx/index.htm).

Для формата DivX необходимо использовать DivX (http://www.divx-digest.net/software/encode/DivX_311alpha.zip) кодек. Во избежание проблем со звуком и изображением желательно также установить DireсtX не ниже 7-й версии и DXMedia 6.0. Обычно на компакт-дисках с фильмами в формате MPEG-4 есть установка кодека DivX и программы плеера.

Для просмотра подойдёт Windows Media Player 6.4.
 


Рисунок 2. Windows Media Player 6.4
Данный плеер представляет собой приложение, использующее в своей работе компонент ActiveMovie. Собственно, возможностями последнего и определяется набор типов файлов, которые можно проигрывать с помощью этого плеера. Достоинства: относительно низкая загрузка процессора, достаточно удобный, не перегруженный интерфейс, входит в поставку ОС Windows 98, Me, 2000. Недостатки: отсутствует возможность включения/отключения оверлеев, нет поддержки многоканального звука.

WMP7.1 - новейшая официальная версия универсального проигрывателя от Microsoft.
 


Рисунок 3. Windows Media Player 7.1
Кроме навороченного интерфейса я не обнаружил каких-либо значительных улучшений, влияющих на проигрывание MPEG-4 фильмов. Отсутствие возможности настройки кодека DivX и крайне высокая загрузка процессора вызывают большие сомнения по поводу оправданности использования этого проигрывателя.

Нужно заметить, что качество и скорость изображения зависят в основном от кодека - плеер является только надстройкой. (Однако некоторые плееры от энтузиастов гораздо бережнее обращаются с памятью и не раздражают постоянно трещащим от свопинга винчестером, как это любят делать оптимизированные для низкого битрейта "поделки" от M$. Кроме того, сторонние плееры имеют множество настроек - от достаточно банального, но легкодоступного ползунка качества DivX до включения оверлея и выбора режима многоканального звука - прим. ред.)

Чем, кроме плееров от Microsoft можно смотреть MPEG-4?

Существует много альтернативных проигрывателей видео в MPEG-4, принципиальных различий между ними нет, так как все они используют один и тот же кодек, но есть реально необходимые настройки, которые отсутствуют в стандартных проигрывателях.

BSPlayer (http://bsplayer.cjb.net).
 


Рисунок 4. BSPlayer в стандартном оформлении и со скином DVD
Удобный плеер с богатыми функциональными возможностями, среди них:
  • Встроенный собственный DirectShow фильтр для улучшения качества изображения; 
  • Наложение на изображение информации о времени проигрывания и уровне звука; 
  • Поддержка субтитров; 
  • Возможность просмотра видео в замедленном 1/2X и ускоренном 2X режиме; 
  • Поддержка многоканального звука; 
  • Возможность (с рядом ограничений) включения/отключения вывода изображения через оверлей; 
  • Многоязычный интерфейс. Есть поддержка русского; 
  • Эмуляция основного меню DVD диска. 
Кроме того, плеер позволяет делать скриншоты с фильма, даже при включенном оверлее. Можно принудительно изменять формат вывода изображения между 4:3, 9:16 и оригинальным. Единственным недостатком плеера является несколько более высокий уровень загрузки процессора по сравнению с WMP 6.4.

Sasami2k (http://sasami2k.kiwidream.com/index2.html). 
 


Рисунок 5. Sasami2k
Мощный видеоплеер с удобным интерфейсом, имеющий массу интересных настроек и функций, таких как:
  • Доступ к свойствам декомпрессора аудио; 
  • Вывод на экран в режимах RGB 565 RGB 888 Overlay YUY2 (автовыбор); 
  • Видеофильтры (применение этих фильтров ведет к значительному увеличению загрузки процессора):
    • Светлее; 
    • Темнее; 
    • Повысить резкость (фильтр низких частот); 
    • Размывка (фильтр высоких частот); 
    • Усреднение блоком; 
    • Усреднение крестом; 
    • Mean (большая размывка); 
    • Чересстрочный режим (не повышает скорости); 
    • Перевернуть (нужно для старых версий кодека); 
    • Негатив. 
  • Pan-and-scan function (плавное масштабирование на лету); 
  • Supersampling (повышение разрешения интерполяцией). Дает некоторое улучшение изображения в полноэкранном режиме, но опять же ведет к увеличению загрузки процессора; 
  • Возможность изменения в настройках приоритета, с которым по умолчанию запускается проигрыватель. 
Главным достоинством данного плеера является возможность включения режима оверлей при просмотре фильмов с любым разрешением. В случае необходимости плеер "наращивает" разрешение исходного кадра до значения, кратного 16 или 32. Но, с другой стороны, большим минусом проигрывателя является крайне высокая загрузка процессора (начиная с качества 1 в настройках кодека). При отключенном выводе изображения через оверлей включение последнего понижает коэффициент использования процессора примерно до уровня WMP6.4, не работающего через оверлей, в общем, отличный плеер, но только не для "слабых" PC.

Сразу после установки, все пункты меню в данном плеере выводятся на корейском языке. Для того чтобы изменить язык, используемый по умолчанию, на английский, необходимо найти в каталоге с установленным плеером файл sasami2000.enu и переименовать его в sasami2000.rus

PlayA (http://www.projectmayo.com/projects/subproject.php?projectID=2&subprojectID=3)
 


Рисунок 6. PlayA
Основное достоинство данного плеера - крайне низкая загрузка CPU, достигнутая, по-видимому, за счет того, что при работе плеер не использует никаких программных фильтров, обрабатывающих видеопоток дополнительно. Регулировок качества, яркости, цветности и прочего попросту нет! Однако даже если отключить эти фильтры в других, рассмотренных ранее проигрывателях, то по показателю быстродействия PlayA все равно уверенно опередит их. Поэтому данный плеер смело можно рекомендовать в качестве замены стандартного проигрывателя на "слабых" машинах.
 

Рисунок 7. Загрузка процессора при использовании для просмотра различных плееров
Отсюда (http://www.divx-digest.com/software/index.html#players) можно скачать множество других плееров и сопутствующего софта.

Можно ли смотреть MPEG-4 видео в ОС, отличных от Windows?

Конечно, можно. К примеру, если сходить по последней ссылке (см. чуть выше), то можно найти плееры для Linux и BeOS. Нетрудно устроить поиск или выйти на сайты поддержки вашей ОС, для того чтобы найти соответствующие им плееры.

Как можно измерить быстродействие кодека DivX на моем компьютере?

К сожалению, измерить максимально достижимый fps (кадры/cек) так, как это делается, например в Quake, нельзя. Раздел Статистика в плеерах выдает только текущее число кадров в секунду, которое не может превышать то значение (обычно 24-25), с которым записан MPEG-4 файл. Если для декомпрессии видеопотока не хватает вычислительных ресурсов процессора, то кодеку приходится пропускать некоторые кадры, для того чтобы не потерять синхронизацию видео и звука, при этом начинается подергивание изображения, и, следовательно, падает мгновенное значение fps. Для оценки быстродействия кодека мгновенное значение fps непригодно, так как в случае нехватки вычислительной мощности компьютера оно постоянно изменяется в зависимости от движения объектов в кадре, а при достаточном быстродействии компьютера остается постоянным в пределах номинального (24-25 кадров/сек.).

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

Все тесты, приведенные в этой статье (за исключением тех случаев, где указывается на применение других конфигураций), я проводил на следующем компьютере:

  • процессор Duron 700; 
  • материнская плата Chaintech 7AJA (KT133, южный мост 686B); 
  • видеокарта ASUS 3800 RIVA TNT2PRO 16Mb; 
  • RAM 192MB (на частоте 133Mz); 
  • звуковая плата Creative 128 PCI CT 4810. 
Тестирование проводилось в операционной системе Windows 2000 PRO, средняя загрузка процессора определялась с помощью системного монитора, входящего в состав средств администрирования операционной системы.

Средний процент использования процессора во всех тестах определялся за промежуток времени, равный 1 мин. 40 с, при воспроизведении начинающегося на 106-ой минуте фрагмента фильма "Матрица" (сцена с падающим вертолетом). Параметры сжатия используемого фильма: разрешение 680*312, битрейт 80,595 Kbit/s, продолжительность 130 мин. 59,240 с. Размер файла - 648 620 032 байта. Причем там, где явно не сказано об обратном, качество изображения в свойствах кодека DivX выставлялось на 2 и не использовался режим оверлея.
 


Рисунок 8. Системный монитор
На представленных ниже диаграммах приведены средние значения коэффициента использования процессора в различных условиях работы, поэтому указанная, к примеру, загрузка процессора 87,7% (на рисунке выше) не означает, что кодеку достаточно вычислительной мощности процессора для воспроизведения видеопотока без потери кадров, ведь мгновенное значение коэффициента использования каждые несколько секунд "прыгает" до 100%. Для нормального просмотра фильмов без раздражающей потери кадров в видеопотоке желательно, чтобы загрузка процессора не превышала 70%.

Что можно сделать, если MPEG-4 "тормозит"?

Заикающийся звук, резкое подергивание картинки на динамичных сценах, "выпадение кадров" - верные признаки того, что вашей системе не хватает мощности для нормальной декомпрессии видеопотока. Кстати, статистику работы видеокодека при просмотре фильма можно выяснить в разделе меню Вид/Статистика универсального проигрывателя. Перечисленные выше явления могут возникать не только на откровенно слабых машинах, но и на достаточно мощных компьютерах при неоптимальной настройке. В этом случае начать проверку системы нужно с установок в BIOS SETUP. Особое внимание следует уделить настройке подсистемы памяти, так как именно ее задача - успеть пропустить весь разжатый кодеком поток данных между процессором и видеокартой. Кодек MPEG-4 исполняется почти полностью на программном уровне, поэтому разгон процессора может дать существенный прирост по производительности. Ниже приведены результаты оптимизации настроек BIOS Setup моего компьютера.
 

Рисунок 9. Изменение загрузки процессора в зависимости от настроек BIOS
По умолчанию память работала на частоте 100Мгц с таймингами памяти 7-1-1-1R 4-1-1-1W 3-3-3CL. Увеличение рабочей частоты памяти до 133Мгц, уменьшение таймингов до 6-1-1-1R 4-1-1-1W 2-2-2CL и включение Bank interleave 4-way привело к снижению средней загрузки CPU на 4,8%, а последующий разгон внешней шины процессора до 107 Мгц (частота процессора 7*107=750Мгц, памяти - 107+33=140Мгц) дал снижение загрузки еще на 4,3%. Таким образом, правильная настройка и небольшой разгон системы привели почти к десятипроцентному снижению загрузки процессора. Теперь поговорим о настройках операционной системы. Прежде всего желательно скачать последний патч (заплатку) с сайта производителя для чипсета, установленного на вашей материнской плате, особенно, если этот чипсет от VIA. Затем нужно проверить, включен ли режим DMA для CD-ROM и жесткого диска: в Панели управления в разделе Система посмотреть свойства CD-ROM и жесткого диска. В этом режиме обмен данными между оперативной памятью и внешними устройствами происходит без участия процессора. Кроме того, при просмотре фильмов с жесткого диска, работающего в режиме UDMA, средняя загрузка процессора снижается на 1-2%. Выигрыш по производительности, конечно, небольшой, но ради уменьшения общего шумового фона от компьютера стоит постараться.
 

Рисунок 10. Загрузки CPU в зависимости от используемого накопителя
Изменение разрешения и глубины цветов рабочего стола и разгон видеокарты не оказывают значительного влияния на быстродействие кодека. В подтверждение привожу следующий график. При изменениях в широком диапазоне частоты графического процессора/памяти на видеокарте RIVA TNT2 PRO от 100/125 до 160/200, а также разрешения и глубины цветов экрана разброс результатов средней загрузки процессора составил 4,3%.
 

Рисунок 11. Загрузка процессора в зависимости от настройки видеокарты
Полученный результат наглядно показывает, что видеокарта практически не участвует в процессе декомпрессии видеопотока. Единственное, что может поручить ей плеер, это масштабирование и преобразование формата цветов в исходной картинке, а эти действия массовые графические контроллеры научились хорошо делать еще лет пять назад. Так как размер потока между видеокартой и процессором не зависит от разрешения экрана, то небольшое колебание процента загрузки CPU связано главным образом с изменением работы видеопамяти в различных режимах скорости.

Как уже говорилось, масштабирование изображения и преобразования формата цветов из YUV в RGV может и должно (для разгрузки процессора) производиться на аппаратном уровне силами видеокарты. Аппаратное масштабирование поддерживают практически все видеоадаптеры последних двух-трех лет выпуска, однако некоторые видеопроцессоры, например от MATROX и NVIDIA TNT/TNT2, не всегда запускают оверлеи, если разрешение исходной картинки для масштабирования не кратно по горизонтали 16 или 32. Оверлей также может не работать при неправильной настройке драйверов видеокарты или же просто потому, что программа-плеер не умеет выводить видео в этом режиме. Мне так и не удалось включить оверлей при просмотре "Матрицы" (разрешение 680*312) на видеокарте TNT2PRO во всех плеерах кроме Sisami2k. При просмотре других фильмов (с разрешением по горизонтали, кратным 32) включение режима оверлея снижало загрузку процессора (Duron 700) в среднем на 10-15%. 

Если все предыдущие рекомендации существенно не помогли, остается только жертвовать качеством декомпрессии в обмен на плавность. При открытом файле MPEG-4 в WMP 6.4, в меню Файл > Свойства > Дополнительно, выберите свойства MPEG-4 DVD Video decompressor и подберите оптимальный уровень CPU Quality. Уменьшение этого показателя высвободит дополнительные такты процессора, и изображение не будет "затыкаться".

При значении 0 будет выключен программный фильтр сглаживания изображения; уровни от 1 до 4 соответственно повышают степень сглаживания - это ведет к уменьшению заметности "квадратиков" на изображении.
 


Рисунок 12. Загрузка процессора при различном уровне фильтрации
Можно попробовать из каталога Windows\System удалить файл DivX_c32.ax, который при воспроизведении видео дополнительно обрабатывает разжатый видеопоток, корректируя яркость, контрастность, насыщенность цвета и качество сглаживания. Минус в том, что после удаления этого файла вы лишитесь соответствующих настроек в свойствах кодека. В самом крайнем случае можно пойти на уменьшение разрешения кадра MPEG-4 фильма, так как с уменьшением разрешения резко высвобождаются ресурсы для полноценного воспроизведения видеопотока. Подробнее об этом можно прочитать здесь: http://mpeg.boom.ru/pixel.htm.

Можно ли как-то улучшить качество изображения при просмотре видео?

Если для просмотра MPEG-4 фильмов вы используете проигрыватель WMP 6.4 из состава OS Windows, то, запустив его в меню Файл>Свойства>Дополнительно, выберите свойства MPEG-4 DVD Video decompressor: в этом разделе ползунок CPU Quality можно перемещать от 0 до 4 начиная с единицы. При значении CPU Quality "четыре" достигается наилучшее качество изображения, однако при этом сильно возрастает объем вычислений, необходимых для просчета каждого кадра. В этом разделе также можно подстроить уровень яркости, контрастности, насыщенности и баланса цветов.
 

Рисунок 13. CPU Quality 0


Рисунок 14. CPU Quality 4

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

Существуют ли для PC видеокарты с аппаратным ускорителем MPEG-4?

На сегодня таких видеокарт нет в природе и причин тому несколько.

Экономические. MPEG-4 - это обширный стандарт, описывающий работу с мультимедиа. Использование кодеков из его состава для сжатия и хранения фильмов на CD в качестве дешевой альтернативы DVD является лишь одним из его применений. При этом в видеоформате MPEG-4 (так, как он реализован сегодня) и накопителях на CD полностью отсутствует какая бы то ни было аппаратно-программная защита от несанкционированного копирования, так что пиратское тиражирование CD (в частности CD MPEG-4) осуществить гораздо проще, нежели DVD. Поэтому вряд ли стоит ожидать согласия со стороны крупнейших производителей видеопродукции на разработку подобного вида устройств именно как альтернативы DVD.

Технические. Стандарт MPEG-4 на сегодня является достаточно сырым, его постоянно дополняют, изменяют и исправляют. Кроме того, декомпрессия видео в этом стандарте осуществляется по весьма сложным алгоритмам, для достижения качественного результата работы которых требуются значительные вычислительные ресурсы.

Какое железо нужно для нормального просмотра MPEG-4 фильмов?

На упаковке CD c записанными в этом формате фильмами в графе системные требования обычно пишут: компьютер не ниже PII-400. Но это далеко не однозначная оценка. Быстродействие программного декодера напрямую зависит от параметров сжатия конкретного фильма, главным образом от битрейта и размера кадра. Фильмы с разрешением 352*288 длительностью в один час вполне прилично смотрятся на Pentium 200MMX, в то время как при разрешении 720*576 фильм длительностью в два часа превращает просмотр в "слайд-шоу" на Pentium II 400 (предполагается, что в обоих случаях фильм занимает один CD). Чтобы узнать основные параметры сжатого видеофайла, нужно в проводнике щелкнуть по нему правой кнопкой мыши и выбрать пункт Свойства, после чего открыть закладку Сведения.

Итак, рассмотрим по порядку компоненты компьютера, от которых зависит плавность и качество воспроизведения MPEG-4 видео.

Процессор. Быстродействие практически всех старых socket 7 систем является недостаточным для качественного воспроизведения большинства фильмов, записанных со сравнительно высокими разрешениями. К примеру, фильм "Матрица", сжатый с параметрами 680 x 312, 24 бит, 196481 кадров, 25,000 кадров/с, 80 кБ/с, длительностью 131 минута, мне так и не удалось нормально посмотреть на компьютере с процессором K6-2+ 500 даже с установкой нулевого качества изображения. А ведь это самый быстрый представитель socket 7 процессоров из когда-либо выпускавшихся! Положение не спасает даже интегрированный в его ядре кэш второго уровня объемом 128Kb (как у процессора более позднего поколения - Celeron). Что уж говорить о процессорах без такого кэша, да еще и работающих на меньших частотах. Узким местом Socket 7 систем является даже не процессор, а пропускная способность шины данных между памятью и процессором. Не хватает производительности и у представителей следующего поколения процессоров - Celeron и первых моделей Pentium II с частотой FSB всего 66 МГц. Для нормального просмотра подобных фильмов желательно иметь процессор с частотой не ниже 600-700 МГц и - самое главное - со 100-, а лучше 133-мегагерцовой системной шиной.
 


Рисунок 15. Загрузка ЦП в зависимости от процессора
В этом тесте в настройках DivX качество изображения выставлялось на 0. Возможно, индивидуальная настройка каждого из PC несколько изменила бы относительные соотношения производительности кодека на различных компьютерах, но общая картина все равно осталась бы прежней: K6-2 безнадежно тормозит, Celeron 733 из-за своей 66-мегагерцовой внешней шины показывает почти такой же результат, что и Pentium II 400, обладающий большим кэшем L2 и работающий на частоте внешней шины 100Мгц. Среди дешевых процессоров сегодня лучшим выбором для нового компьютера является Duron.

Видеокарта. Видеокарты последних лет выпуска обладают примерно одинаковым набором функций для вывода двухмерного изображения и уровнем производительности в 2D режимах, вполне достаточным для воспроизведения MPEG-4 фильмов. Единственное, на что нужно обратить внимание, это на используемую видеокартой шину. AGP несколько повышает общую производительность в 2D по сравнению с PCI, связано это главным образом с более высокой скоростью доступа к локальной памяти видеокарты через шину PCI. Аппаратно ускорять MPEG-4 не умеет ни один из выпускающихся сегодня видеоконтроллеров, поэтому видеокарты отличаются друг от друга в основном уровнем качества видеосигнала, выдаваемого на монитор (выражается, к примеру, в "замыливании" изображения), и некоторыми различиями в алгоритмах масштабирования и преобразования изображения.
 


Рисунок 16. Загрузка процессора при различных видеокартах
Объем и параметры работы памяти. 64Mb вполне достаточно для воспроизведения видео. Однако с учетом сегодняшних необычно низких цен на модули памяти в качестве разумного минимума лучше установить 128МБ. Большое значение для быстродействия кодека имеет скорость работы с памятью. Поэтому крайне желательно выставить частоту системной памяти в BIOS SETUP на 133 МГц, а также настроить другие параметры, относящиеся к системной памяти, на максимальное быстродействие (см. рисунок 9).

Звуковая плата. Использование старой звуковой платы ISA или программного звука, интегрированного на системной плате, не способствует повышению производительности компьютера. Лучше использовать полноценную звуковую плату PCI. Что интересно - программный вывод звука через контроллер, встроенный в южный мост 686B чипсета VIA на процессоре Duron 700, и далее через AC'97 кодек занимает даже меньше ресурсов, чем при выводе через старую звуковую плату ISA.
 


Рисунок 17. Загрузка процессора в зависимости от типа звуковой карты
HDD, CD-ROM. Скорость этих устройств мало влияет на производительность видеокодека, так как поток данных в MPEG-4 находится на уровне одно- или двукратной скорости CD-DA, то есть на гораздо более низких отметках в сравнении со скоростями современных накопителей. Главное, чтобы они работали в режиме DMA (см. рисунок 10).

Как лучше смотреть фильмы - на телевизоре или на мониторе?

На этот вопрос трудно ответить однозначно. С одной стороны, у компьютерного кинескопа гораздо меньше размер зерна люминофора, за счет чего достигается заметно более высокая четкость изображения, но, с другой стороны, обычно по размеру диагонали экрана мониторы сильно проигрывают телевизорам. А чем больше размер экрана, тем дальше располагается зритель от последнего - в результате повышенная зернистость изображения становится незаметной для человеческого глаза. Исходя из этих соображений, можно посоветовать следующее: если вы являетесь обладателем 17-дюймового монитора и 21-дюймового телевизора, то предпочтительнее все-таки смотреть фильмы на компьютерном мониторе. В случае если ваш телевизор 25 и более дюймов, то лучше использовать для просмотра фильмов телевизор. Естественно, подключить телевизор к компьютеру можно только в том случае, если ваша видеокарта обладает TV выходом. Можно установить вторую PCI видеокарту с TV-OUT, но в этом случае не исключены трудности с софтом, откровенная кривизна которого может свести на нет все преимущества телевизионного просмотра.

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

И напоследок о самом важном. Возможно, вам приходилось замечать при подключении антенного штекера к работающему телевизору проскакивающую между соединяемыми разъемами искру. Так вот, такая искра практически гарантированно выведет из строя микросхему, отвечающую за TV-OUT. Поэтому перед коммутацией соединительных кабелей не пренебрегайте инструкциями и вынимайте из розетки питающие вилки компьютера и телевизора!

Где еще можно почитать о MPEG-4?

Мне встречались следующие интересные ресурсы, из которых можно почерпнуть достаточно много полезной информации:
 
Сергей Коряков (ksv@shakht.donpac.ru)

Опубликовано - 18 июня 2001 года