logo search
43121

Глава 12. Форматы анимированной графики и видео

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

Как раз десять лет назад появились достаточно быстродействующие компьютеры и достаточно емкие жесткие диски, чтобы обрабатывать и хранить компьютерное видео. И именно в то время возникло понятие "мультимедиа" (multimedia), обозначавшее совокупность текстовых, цифровых, звуковых и видеоданных, объединенных в единое целое.

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

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

Вероятно, самым первым форматом записи фильмов был QuickTime, разработанный фирмой Apple для компьютеров Macintosh и позднее перенесенный на Microsoft Windows. Фирма Microsoft в ответ разработала программный пакет Video for Windows и формат записи фильмов AVI, позволяющий использовать различные алгоритмы сжатия. Несколькими годами позднее, когда мощности персональных компьютеров еще возросли, независимая группа MPEG разработала очень сильный для своего времени алгоритм сжатия MPEG 1. Именно в этом формате записывались диски VideoCD - первый и не слишком удачный опыт создать цифровое кино "для народа".

Вероятно, вы видели эти диски, не могли не видеть. VideoCD - это обычный компакт-диск, на который записывался один огромный файл формата MPEG 1 с расширением dat; на одном таком диске помещалось около часа видео, поэтому полноразмерные фильмы поставлялись на двух дисках. Качество видео было очень плохим, фильмы смотрели на компьютерах с помощью специальных программ, открывая их в маленьком окошке, или на особых проигрывателях, похожих на видеомагнитофоны. Бизнес по продаже дисков VideoCD был развит вольно сильно: автор припоминает, что видел в Волгограде магазин, торгующий фирменными дисками с отечественным кино. Но все, же VideoCD - один из тех многочисленных блинов, что, будучи первыми, выходят комом.

Настоящую жизнь компьютерному кино дали появившиеся во второй половине девяностых годов лазерные диски DVD. Эти лазерные диски высокой плотности позволяют записывать до 6 гигабайт информации, чего вполне хватает не только на полноразмерный фильм высокого качества, но и на несколько звуковых дорожек, интерактивные меню и прочие "бонусы". Для записи фильмов на такие диски используется алгоритм MPEG 2.

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

Покадровая и трансформационная анимация

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

Покадровая анимация

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

Каждый из множества кадров, составляющих фильм, занимает при хранении определенное пространство на диске. Предположим, что это пространство составляет 100 килобайт - для хранения полноцветного изображения высокого разрешения в формате JPEG этого даже маловато. Теперь предположим, что таких изображений у нас 100 000 - такой длинный у нас фильм. Умножаем 100 на 100 000 и получаем 10 000 000, т. е. примерно 10 гигабайт. (Примерно, потому что гигабайт - это не 1 000 000 000, а 1 073 741 824 байт.) Выходит, для хранения фильма нам нужен целый жесткий диск, а уж сколько для этого понадобится компакт-дисков, просто страшно подумать. Этот фильм даже на DVD не влезет!

Что делать?

Конечно же, надо сжать фильм посильнее. И, если можно, сжать не только сами кадры, но и саму их последовательность, выбросив часть информации, без которой можно и обойтись. И, разумеется, сжать звуковое сопровождение.

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

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

Такие алгоритмы, как MPEG 4 и DivX, позволяют поместить полноразмерный фильм на обычный компакт-диск, т. е. размер сжатого с их помощью видеофайла составляет 600-720 мегабайт. Это уже вполне приемлемые параметры, учитывая объемы современных жестких дисков. Именно эти два алгоритма, как нам кажется, и совершили "компьютерно-киношную" революцию, создав высококачественное цифровое кино "для народа". То есть, сделали то, чего не удалось сделать VideoCD.

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

Трансформационная анимация

Как вы знаете, отдельные кадры покадровой анимации сохраняются в виде растровых изображений. В векторном виде сохранять их, вроде бы, неудобно - об этом уже говорилось. Теперь давайте предположим, что мы не вняли голосу разума и все-таки сохранили каждый кадр такой анимации в векторном виде. (Скажем честно, такая анимация, какая изображена на рис. 12.1, сама просится в векторный вид. Сами посмотрите - ведь простейшая графика, линии и заливки.) Далее, предположим, что мы можем описывать с помощью формул не только форму кривых и прочих графических примитивов, но и их поведение. Следовательно, мы можем изменить форму "рта", просто вызвав нужную формулу и подставив в нее нужные параметры. Что у нас получится?

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

Как вы уже поняли, векторная графика и трансформационная анимация -братья навек. Как трансформационная анимация немыслима без векторной графики (к растровому изображению ее применить просто невозможно), так и векторной графике сам Бог велел добавить трансформационную анимацию. Однако хоть векторная графика как способ представления изображений существует довольно давно, трансформационная анимация возникла только в последние годы. Фактически трансформационную анимацию создал пакет Flash, если до него и существовали какие-то аналогичные разработки, то они остались неизвестными широкой публике.

Форматы видеофайлов

Теперь поговорим о самых распространенных на сегодняшний день форматах видеофайлов. А в описании каждого формата также опишем используемые для этого формата алгоритмы сжатия. Практически все эти форматы обеспечивают сохранение только покадровой анимации, кроме самого формата Shockwave/Flash и его предшественника FutureSplash.

QuickTim

Один из самых первых, если не самый первый, формат видеофайлов, получивший широкое распространение. Разработан фирмой Apple в конце 80-х годов, изначально предназначался для использования на компьютерах Macintosh, впоследствии был перенесен в операционную систему Microsoft Windows. Позднее подвергался неоднократным усовершенствованиям. В настоящее время последней версией является 5.0.

Позволяет хранить и видео-, и аудиоинформацию в одном файле с расширением mov. Для сжатия данных используется одноименный алгоритм. Степень сжатия довольно велика, но качество получающегося фильма не очень высоко по сравнению с качеством, обеспечиваемым алгоритмами группы MPEG и DivX. Поэтому формат и алгоритм QuickTime в последнее время теряет свои позиции.

За прошедшие десять лет формат QuickTime получил довольно большую популярность, в основном, для создания коротких музыкальных, рекламных или обзорных видеоклипов. Абсолютный лидер на платформе Macintosh. В Web-дизайне применяется крайне редко. Насколько известно автору, для распространения полноразмерных фильмов вообще не применяется, хотя в этом формате часто распространяются музыкальные видеоклипы.

AVI

Формат данных AVI (Audio and Video Interlaced - чередующиеся аудио и видео) был разработан фирмой Microsoft в начале 90-х годов для использования в мультимедийном программном пакете Microsoft Video for Windows. Для сжатия как аудио-, так и видеоинформации могли использоваться различные алгоритмы, что обеспечивает этому формату большую гибкость.

MPEG

Этот формат был разработан в начале 90-х годов группой MPEG (Motion Picture Encoding Group -- группа кодирования движущегося изображения) для сохранения фильмов, сжатых с использованием алгоритмов, созданных той же группой. Базируется на формате AVI, но лишен его ограничений.

Файл формата MPEG имеет расширение dat, mpg, mpe, mpeg, mpl, mp2 или mp4. Собственно, набор возможных расширений очень велик, но все они однотипны: как правило, используются буквы тир.

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

DivX

Фактически такого формата не существует. На самом деле, это обычный файл AVI или MPEG, сжатый с использованием алгоритма DivX. Созданный в самом конце 90-х годов на основе алгоритма MPEG 4 группой "независимых программистов" (фактически, хакеров), он обеспечивает еще большую степень сжатия при несколько более низком качестве изображения.

Видеофайлы, сжатые с использованием старых версий этого алгоритма, записывались в формате AVI. Версия 5, появившаяся совсем недавно, также поддерживает формат MPEG. Иногда файлы формата AVI, сжатые этим алгоритмом, имеют расширение divx.

Формат DivX используется, в основном, для распространения полнометражных фильмов на обычных компакт-дисках (для этого он, собственно, и создавался). Очень часто такие диски содержат пиратские копии фильмов, из-за этого формат DivX считается чуть ли не незаконным, "хакерским", хотя в самом его существовании нет ничего противозаконного. Совсем недавно формат DivX получил признание крупных разработчиков игр, распространивших в этом формате демонстрационные ролики. В Web-дизайне формат DivX не применяется.

WMV

Дальнейшее развитие формата AVI. Разработан фирмой Microsoft в самом конце 90-х годов как часть инициативы Windows Media (создание набора аппаратных и программных средств, направленных на улучшение мультимедийных возможностей современных Windows-совместимых компьютеров). Само название этого формата переводится как Windows Media - Video.

Видеофайлы, сохраненные в этом формате, имеют расширение wmv или asf. (Существует особая разновидность формата - WMA (Windows Media -Audio), предназначенная для хранения звука, такие файлы имеют расширение wma.) По сравнению с AVI формат WMV имеет различные дополнительные возможности, в частности, средства защиты от несанкционированного копирования.

В настоящее время этот формат стремительно набирает популярность. Но используется он опять же для распространения полноразмерных фильмов и видеоклипов.

RealMedia

Разработан фирмой RealNetwork в середине 90-х для распространения видео через Интернет. Вероятно, первый видеоформат, ориентированный на использование в Сети. Подвергался неоднократным усовершенствованиям. В настоящее время последней версией является 8.0.

Позволяет хранить и видео-, и аудиоинформацию в одном файле с расширением U. Для сжатия данных используется одноименный алгоритм. Степень сжатия весьма велика, и достигаемое при сжатии качество фильма также достаточно высоко.

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