Программный интерфейс DirectDraw обходит в своей работе стандартный для Windows механизм вывода изображений: GDI (Graphic Device Interface), отличающийся низкими качеством и быстродействием. Если в интерфейсе какой-либо программы (это случается, например, для программных MPEG-плееров) встречается выбор между DirectDraw и GDI, не задумываясь, выбирайте первое.
Форматы компьютерного видео
Существует несколько форматов компьютерного видео, из которых наиболее известны AVI (фирма Microsoft), QuickTime (фирма Apple).
Большая часть систем захвата кадров и нелинейного монтажа имеют дело с форматом AVI (Audio Video Interleave – чередование аудио и видео). Этот формат позволяет одновременно хранить изображение и звук. Они записываются попеременно, так что после кадра идет запись звукового сопровождения к нему.
По структуре AVI-формат представляет собой вариант формата RIFF. Файл этого формата состоит из блоков (chunks), которые, в свою очередь, могут содержать другие вложенные блоки. Самый «верхний» блок – RIFF – содержит идентификатор формы «avi_», который собственно и обозначает, что мы имеем дело с AVI-файлом. Для идентификатора отведено четыре символа, но один из них не используется.
В AVI-файле есть по крайней мере два подблока: заголовка и данных. Первый содержит общую информацию о фильме: разрешение изображения, частота кадров, формат аудио и т. д. В заголовке для записи длины файла отводится 32 байта. Это значит, что максимально возможный размер файла – около четырех гигабайт. На самом деле реальная длина AVI-файла стандартного формата, с которой могут работать программы монтажа, не превышает 2 Гбайт. Во времена возникновения формата это казалось достаточным, поскольку FAT 16 не допускал существования разделов диска, превышающих 2 Гбайт, а длина файла, естественно, не может превышать размер логического диска. С появлением FAT 32 верхняя граница размера раздела значительно отодвинулась. И теперь ограничение на размер AVI-файла стало «костью в горле» операторов видеомонтажа. Дело в том, что такого размера недостаточно для какого-нибудь мало-мальски приличного ролика. При полном разрешении (768x576) с компрессией 4,5:1 в два гигабайта помещается всего около 7 минут видеозаписи. Поэтому приходится идти на всевозможные хитрости. Расширенный AVI-формат, который поддерживают многие современные платы видеозахвата и монтажа, дает возможность обойти ограничение при монтаже, записывая только измененные фрагменты исходных клипов. Конечно, это не всегда удобно. Один из российских специалистов предлагает оригинальную программу, которая автоматически создает файлы требуемой длины. Если затем в видеоредакторе расположить файлы последовательно, то получается сплошной поток без потери кадров на стыках. Размер и количество видеофайлов изменяемое. Процесс ввода автоматически завершается, если заполнено указанное количество файлов или закончилось свободное место на диске. Программу можно получить, связавшись с автором по E-mail p.boris@usa.net.
Подблок данных организован в виде последовательностей записей, каждая из которых состоит из одного кадра и соответствующего звукового сопровождения. Для видео деление на кадры совершенно естественно, но звук представляет собой непрерывный поток, искусственно расчленяемый на фрагменты, соответствующие кадрам. Если для записи как видео, так и звука используется устройство видеоввода, проблем обычно не возникает. Если звук пишется через звуковую карту, точная синхронизация изображения и звука отсутствует и звук может «уходить от изображения. Способ борьбы с этим злом (к сожалению, весьма трудоемкий) приведен по адресу: www.hardware.ru/ixbt/multimedia/vIDEmputonpc.html.
Изображения в формате AVI поддерживают довольно разнообразные палитры. Их список приводится ниже:
• 8-битная (256 градаций серого);
• 9-битная YUV;
• 12-битная YUV, 4:1:1;
• 16-битная YUY2, 4:2:2;
• 8-битная цветная (RGB);
• 15-битная RGB (16-битная с установкой в 0 старшего бита, 5 для красного, 5 для зеленого, 5 бит для синего);
• 16-битная RGB (5 бит для красного, 6 для зеленого, 5 для синего);
• 24-битная RGB (стандартная RGB-палитра);
• 32-битная RGB (по информативности полностью равна 24-битной: старший байт устанавливается в 0, для кодирования каждого из трех цветов отводится 1 байт).
...
32-битное представление цвета не увеличивает точности цветопередачи. Наиболее информативной палитрой является 24-битная RGB.
Запись в формате AVI может производиться без сжатия или со сжатием. Обычно используется Motion JPEG (см. раздел о сжатии изображений). Также поддерживаются форматы компрессии: Microsoft Video 1 (формат работает только с 8– и 16-битным цветом, 24-битный не поддерживается), Microsoft RLE (только 8-битный цвет), Indeo, Cinepak Editable MPEG, который по сути дела мало отличается от M JPEG, поскольку использует только I-кадры.
Читать дальше
Конец ознакомительного отрывка
Купить книгу