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

  3. Параметры декомпрессии сжатого видео, настройки видеокарты, монитора/телевизора и быстродействие компьютера, используемого для просмотра. Чем меньше быстродействие, тем больше будут заметны рывки изображения, выпадение кадров (особенно в динамичных сценах).

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

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

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

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

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

Какой софт нужен для просмотра фильмов в формате 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 и программы плеера.Кроме навороченного интерфейса я не обнаружил каких-либо значительных улучшений, влияющих на проигрывание MPEG-4 фильмов. Отсутствие возможности настройки кодека DivX и крайне высокая загрузка процессора вызывают большие сомнения по поводу оправданности использования этого проигрывателя.

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

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

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

Какое железо нужно для нормального просмотра 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-мегагерцовой системной шиной.

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

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

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

HDD, CD-ROM. Скорость этих устройств при достаточно сильном процессоре почти не влияет на производительность системы в целом.

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

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

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

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

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



Сергей Коряков (ksv@shakht.donpac.ru)
Hosted by uCoz