История мультимедиа в Windows: Video for Windows (ч.3)

Автор: Topol Вторник, Май 8th, 2012 Нет комментариев

Рубрика: Операционные системы

8. Microsoft Video for Windows
Но чем же ответила Microsoft на вызов Apple? Какую технологию компьютерного видео она «сварила» на своей «кухне»? Чем «умыла» чванливых «яблочников»?

Ответ на все эти вопросы подоспел в ноябре 1992 года, через полгода после релиза Windows 3.1. Тогда была выпущена первая версия новой мультимедийной подсистемы, предназначенной для поддержки именно видео.

Она носила название Video for Windows. Одно время её также называли Video Compression Manager (диспетчер сжатия видео), или VCM, по аналогии с Audio Compression Manager, но это название не прижилось.

8.1. Собственно Video for Windows
Video for Windows также имела модульную структуру (программное ядро плюс независимые кодеки) и позволяла воспроизводить видео, в том числе и со звуковым сопровождением. В последнем случае она работала совместно с ACM, которая брала на себя декодирование и вывод звука. Помимо этого, Video for Windows предоставляла разработчикам прикладных программ развитый API для написания своих видеоприложений.

Наконец, Video for Windows включала мощные средства для захвата, записи и обработки видео: монтажа, перекодирования, наложения эффектов и др. Для сравнения: Apple QuickTime ещё долгое время не имела в своём составе таких средств. «Яблочники» таки были посрамлены.

Video for Windows выпускалась как устанавливаемое отдельно дополнение к Windows 3.1. Всего имелись две редакции:

 

  • бесплатная, имевшая в своём составе только средства для просмотра видео;
  • платная, стоившая 200 долларов и включавшая, помимо этого, программы для захвата, записи и обработки аудио и видео.

Планировался выпуск специальной версии Windows 3.1, в составе которой уже присутствовала подсистема Video for Windows. Она носила название Windows 3.1 Multimedia PC Version, предназначалась для установки на готовые компьютеры со встроенными мультимедийными средствами и не должна была поступать в широкую продажу. К сожалению, дело не пошло дальше бета-версии, выпущенной в ноябре 1992 года…

Video for Windows поддерживала формат видеофайлов AVI. Собственно, этот формат был специально для неё разработан.

Список форматов кодирования видео, поддерживаемых этой подсистемой, был достаточно велик и включал в себя форматы RAW, RLE, Video1, Cinepak и Indeo.

Всего вышло семь версий Video for Windows, предназначенных для Windows 3.1. (Новые версии выходили и позднее, но предназначались они уже для других версий Windows.) Давайте кратко рассмотрим их.

  • Версия 1.0, самая первая. Вышла в ноябре 1992 года. Включала поддержку только двух форматов кодирования видео — RLE и Video1.
  • Версия 1.1. Вышла в 1993 году. Добавила поддержку формата кодирования Cinepak.
  • Версии 1.1a, 1.1b и 1.1c. Судя по всему, содержали мелкие внутренние улучшения.
  • Версия 1.1d. Добавила поддержку формата кодирования Indeo.
  • Версия 1.1e. Вышла в марте 1995 года. Судя по всему, содержала мелкие внутренние улучшения. Последняя версия под Windows 3.1, появившаяся под закат её эры.

Это интересно
С Video for Windows, кстати, связан один из громких судебных процессом между Microsoft и Apple, произошедших в 1995 году. Последняя обвинила Microsoft в том, что Video for Windows 1.1d якобы содержит несколько тысяч строк исходного кода, позаимствованного из QuickTime. Процесс длился два года и закончился победой Microsoft. Apple была вынуждена включить Internet Explorer в состав Mac OS в качестве стандартного Web-обозревателя, разрешить Microsoft разрабатывать Office for Mac в течение следующих пяти лет и заплатить своему удачливому конкуренту 150 млн. долларов.

В составе Video for Windows поставлялась новая версия Media Player — под номером 3.15. Для воспроизведения видео она использовала средства Video for Windows.

Основных недостатков у Video for Windows было два. Первый заключался в том, что данная подсистема поддерживала воспроизведение видео с ограниченным разрешением и ограниченной частотой кадров. Их значения составляли:

  • для видео стандарта NTSC — 320х240 пикселов и 30 кадр/с;
  • для видео стандарта PAL — 352х240 пикселов и 25 кадр/с.

В те времена этого было вполне достаточно — тогдашние компьютеры просто не «потянули» бы видео более высокого разрешения. Но уже в 90-е, с распространением дисков DVD-Video, возможностей Video for Windows для воспроизведения уже не хватало.

Второй недостаток — Video for Windows принципиально не поддерживала форматы кодирования видео, в которых отдельные кадры записывались не в том порядке, в котором они следовали в фильме. К таким форматам относились, в частности, MPEG I, MPEG II и MPEG IV всех разновидностей. Так что и с воспроизведением видеодисков Video CD у Video for Windows были проблемы…

Тем не менее, мультимедийная подсистема Video for Windows оказалась своего рода долгожителем, входила в состав всех последующих версий Windows, вплоть до XP, и окончательно сошла со сцены только с появлением Windows Vista.

8.2. AVI
Формат видеофайлов AVI (Audio Video Interleaved, чередующиеся аудио и видео) был представлен Microsoft вместе с подсистемой Video for Windows в ноябре 1992 года.

Формат AVI позволяет хранить в одном файле и видеодорожку с фильмом, и аудиодорожку со звуковым сопровождением, причём обеспечивает их синхронное воспроизведение. Также имеется возможность хранения метаданных: названия фильма, имени режиссёра, имён занятых в нём исполнителей и пр. Аудио и видео, хранящиеся в файлах AVI, могут быть закодированы с применением практически любого формата.

Самое интересное, что существует возможность сохранить в файле AVI несколько аудиодорожек. Это может пригодиться, например, для хранения фильмов с несколькими вариантами звукового сопровождения (различными переводами на русскый и оригинальным звуком). Файлы AVI с несколькими аудиодорожками встречаются сейчас довольно часто (так, в фильмотеке автора имеется несколько десятков таких фильмов).

Также стандарт AVI позволяет хранить в файле, наряду с несколькими аудиодорожками, ещё и несколько видеодорожек. Однако этой возможностью мало кто пользуется (и вообще, непонятно, зачем это может понадобиться…). Во всяком случае, автору такие видеофайлы не попадались.

В феврале 1996 года компания Matrox выпустила спецификацию OpenDML, расширяющую возможности формата AVI. (Эта спецификация также известна как AVI 2.0.) Она добавляет в этот формат поддержку специфических средств, предназначенных для профессионалов в области компьютерного видео, в частности, таймкодов.

Достоинства формата AVI: простота, широкая поддержка ПО и различными оборудованием (стационарными и портативными проигрывателями) и возможность использования в профессиональной области (это относится к модификации OpenDML).

Недостатки:

  • Ограниченный размер файлов, составляющий 1 Гб. Впрочем, модификация OpenDML снимает это ограничение.
  • Отсутствует возможность сохранения в файле значения соотношения сторон кадра у видео. В этом случае возможно искажение размеров кадра при воспроизведении.
  • В файлах AVI присутствует очень много свободного пространства, не занятого никакими полезными данными. Избавиться от него невозможно, так как это следствие некоторых особенностей самого формата AVI.
  • Отсутствует возможность хранения субтитров.

Несмотря на всё это, формат AVI оказался настолько удачным, что дожил до наших дней. Большинство фильмов сейчас распространяется именно в этом формате.

8.3. RAW
Формат кодирования видео RAW (в переводе с англ. — «сырой») — самый простой из всех ныне существующих. Фактически он представляет собой оцифрованное видео, не подвергнутое никакому сжатию.

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

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

Формат RAW применяется лишь для хранения видео, предназначенного для дальнейшей обработки на профессиональном уровне. Других областей применения у него нет.

Любопытная деталь: ранее в комплект поставки Windows, начиная с версии 95 и кончая XP, входил видеофайл clock.avi, содержащий анимированное изображение идущих часов. Видео в этом файле было закодировано в формате RAW, а аудио — в формате PCM.

8.4. RLE
Формат кодирования видео RLE (Run-length encoding, кодирование длин фрагментов) был представлен Microsoft ещё во времена Windows 3.0.

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

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

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

Достоинство у формата RLE одно — чрезвычайная простота в реализации. Недостаток только что был озвучен — этот формат не подходит для кодирования «настоящих» фильмов.

Зачем Microsoft вообще включила поддержку этого формата в Video for Windows — непонятно. Ведь данная подсистема поддерживала ещё и формат кодирования Video1 (о нём — чуть позже), который был заметно лучше RLE.

Хотя поддержка RLE включалась во все версии Video for Windows, в настоящее время он нигде не используется.

8.5. Video1
Формат кодирования видео Video1 (также известен как MS-CRAM) был представлен Microsoft вместе с Video for Windows.

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

Как видим, этот формат реализует кодирование с потерями.

Достоинство формата Video1: хорошая степень сжатия и относительная простота реализации. Недостаток — не очень высокая, по сравнению с форматами, появившимися позже, степень сжатия, из-за чего размер сжатого с его помощью видео весьма велик.

Можно сказать, что Video1 был первым форматом, подходящим для кодирования настоящих фильмов. Собственно, для этого он и использовался в те времена.

Как и в случае с RLE, формат Video1 поддерживается всеми версиями Video for Windows. В настоящее время нигде не применяется.

8.6. Cinepak
Формат кодирования видео Cinepak был представлен фирмой SuperMac Technologies в 1991 году. В 1993 году вышла очередная версия Video for Windows под номером 1.1, где была заявлена поддержка данного формата.

Формат Cinepak реализует кодирование видео с потерями.

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

Формат Cinepak разрабатывался специально для кодирования видео с размерами кадра 320х240 пикселов, записываемое на диски CD-ROM, которые предназначались для воспроизведения на односкоростных приводах. Гарантировалась успешное воспроизведение такого видео даже на относительно маломощных компьютерах. В течение долгого времени Cinepak заявлялся как формат кодирования видео, используемый в Video for Windows по умолчанию.

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

Формат Cinepak поддерживался всеми версиями Video for Windwos, начиная с 1.1. В настоящее время не используется, хотя до сих пор можно встретить короткометражные фильмы (в основном, музыкальные клипы), закодированные с его помощью.

8.7. Indeo
Формат кодирования видео Indeo был представлен корпорацией Intel в 1992 году. В Video for Windows его поддержка появилась, начиная с версии 1.1d. В 2000 году был продан компании Ligos Corporation.

Формат Indeo реализует кодирование видео с потерями.

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

В период с 1993-го по 2000 год вышло несколько версий этого формата. Они отличались функцией, которая использовалась для вычисления среднего значения цвета у фрагментов кадра, и различными дополнительными возможностями. В состав Video for Windows 1.1d и более поздних версий входили четыре кодека Indeo, которые поддерживали видео, сжатое в версиях 2.1 RT21, 2.1 YVU9, 3.1 и 3.2 этого формата соответственно.

Достоинства формата Indeo: очень высокое по тем временам качество видео. Недостатки: высокие аппаратные требования и значительные временные затраты при кодировании видео.

Пик использования формата Indeo пришёлся на середину 90-х годов. В настоящее время он имеет сугубо нишевое примерение (кодирование внутриигрового видео, системы видеоконференций и др.). Хотя до сих пор ещё можно встретить короткометражные фильмы, закодированные в этом формате.

8.8. Вывод видео через GDI
После того как видео будет считано из файла и декодировано, его следует вывести на экран. Подсистема Video for Windows выполняла вывод видео через подсистему GDI.

GDI (Graphic Device Interface, интерфейс графических устройств) — это стандартная графическая подсистема Windows, присутствововавшая в её составе ещё с самых первых версий. Она выполняет вывод текста, изображений и графических примитивов на экран и устройства печати. Да-да, печать выполняется также с помощью GDI!

Отметим, что рисованием окон и элементов управления занимается другая подсистема Windows, носящая название User. GDI участия в этом не принимает.

Из-за особенностей работы GDI вывод графики через эту подсистему занимает довольно много времени. В случае обычной графики, выводимой обычными офисными приложениями, это не очень критично. Ну выведется какая-то загогулина не за 0,1, а за 0,2 секунды, ну и что? Вряд ли пользователь заметит эту задержку…

Но определённым приложениям требуется выводить графику максимально быстро и в течение строго определённого времени. К таким приложениям относятся динамические игры и проигрыватели видео. В самом деле, каждый кадр фильма должен быть выведен в строго определённый промежуток времени (1/30 или 1/25 секунды, в зависимости от телестандарта), в противном случае видео начнёт дёргаться. А GDI этого отнюдь не гарантирует.

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

Поэтому воспроизведение видео, даже не самого качественного и с очень маленьким кадром, отнимало у тогдашних компьютеров много системных ресурсов. В этом свете ограничение на размер кадра видео, накладываемое Video for Windows и равное 320х240 и 352х240 пикселов, кажется вполне разумным.

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

9. Microsoft Encarta
После выхода Video for Windows стали появляться мультимедийные программы, использующие эту подсистему для вывода аудио- и видеозаписей, что входили в их комплект. Одной их первых таких программ была компьютерная энциклопедия Microsoft Encarta.

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

В 2005 году появилась онлайновая версия Encarta, доступная в Интернете только для покупателей оригинальной, «дисковой» этой энциклопедии. В какой-то степени она была предшественницей современных онлайновых энциклопедий, построенных на платформе Wiki, таких, как Википедия. Пользователи сами писали статьи, которые публиковались после проверки их модераторами.

В 2008 году вышла последняя версия Encarta, имевшая наименование 2009. Она была представлена в двух редакциях. Обычная редакция Standard Edition насчитывала 50 тыс. статей. Расширенная же редакция — Premium Edition — могла похвастаться 62 тыс. статей, 25 тыс. графических иллюстраций и более 300 видеороликов. В те времена это была одна из самых авторитетных энциклопедий.

Окончательный «конец» Encarta наступил 31 октября 2009 года, когда перестали выходить обновления для её «дисковой» версии, а онлайновая версия перестала подерживаться и была закрыта.

10. Multimedia PC level 2
Как мы уже знаем, в 1991 году Microsoft предприняла попытку определить минимальные требования для компьютеров, претендующих на звание мультимедийных, и установить для них некий эталон качества. Результатом стал выход стандарта Multimedia PC level 1.

Но впоследствии Windows получила средства для воспроизведения не только аудио, но и видео. И, как уже понятно, требования к мультимедийным компьютерам существенно изменились.

Реакцией на это стал вышедший в 1993 году новый стандарт - Multimedia PC level 2. Он предъявлял к компьютерам такие требования:

  • процессор — Intel 486SX с тактовой частотой 25 Мгц или аналогичный;
  • объём оперативной памяти — 4 Мб;
  • объём жёсткого диска — 160 Мб;
  • видеокарта с разрешением 640х480 пикселов, способная выводить одновременно 65536 цветов (16-разрядный цвет);
  • привод CD-ROM с двукратной скоростью, временем поиска не более 0,4 секунды, загружающий процессор не более чем на 40%;
  • звуковая карта среднего уровня, поддерживающая частоту дискретизации 44,1 КГц и разрядность выводимого звука, равную 16 битам («CD-качество«);
  • операционная система — Windows 3.1 или Windows 3.0 с установленным пакетом Multimedia Extensions 1.0.

Такой компьютер уже мог выводить видео сносного на тот момент качества без рывков и дёргания.

Источник: thevista.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты