Видео на вашем компьютере: ТВ тюнеры, захват кадра, видеомонтаж, DVD
Шрифт:
В настоящее время существуют два основных типа жестких дисков: с интерфейсом IDE и SCSI. Устройства с интерфейсом SCSI обычно рекомендуются продавцами как наиболее быстрые. На самом деле их использование далеко не всегда оправдано. Во-первых, они в 1,5–3 раза дороже, при этом далеко не во столько же раз быстрее.
Шина SCSI, использующая параллельную передачу данных, – первая попытка создания универсального, аппаратно независимого интерфейса (ближе к нам на этой эволюционной линии стоят USB и FireWire, с которыми вы познакомились в предыдущем разделе). Спецификация SCSI-1 (1985 г.) предусматривала 8-разрядную шину, допускала подключение до 8 устройств и имела скорость обмена от 1,5 до 5 Мбайт/c. Затем прошли усовершенствования интерфейса, увеличившие скорость и число подключаемых устройств: SCSI-2, Fast SCSI, Wide SCSI. Работа с SCSI требует некоторой квалификации, поскольку каждое устройство должно иметь
Ultra Wide SCSI имеет скорость передачи 40 Мбайт/с. Диски IDE спецификации UltraATA/33 (UltraATA) – скорость 33 Мбайт/с. Такие диски выпускаются сейчас всеми крупными производителями. Они устанавливаются в компьютере как обычный жесткий диск и совершенно не требуют от пользователя каких-либо дополнительных усилий. У наиболее современных Ultra 2 Wide SCSI скорость передачи до 80 Мбайт/c (уже появились устройства Ultra 3 – скорость до 160 Мбайт/с). Производители ГОЕ не отстают: фирма Quantum предложила спецификацию UltraATA/66, предусматривающую удвоенную по сравнению с UltraATA/33 скорость передачи – 66 Мбайт/с. Правда, эти диски уже требуют подключения при помощи специального 80-жильного кабеля (при подключении обычным 40-жильным они будут работать как ATA/33). Но это единственное их отличие, заметное пользователю. Работа же с SCSI-устройствами требует некоторой квалификации, хотя в среднем скорость дисковой подсистемы на основе SCSI-устройств 1,5 раза выше, чем при использовании IDE-устройств того же класса. Кроме того, IDE-устройства, например, не поддерживают на аппаратном уровне многопотоковый режим, поэтому одной из причин пропуска кадров при работе в среде Windows 95/98 являются изменения в файле подкачки, происходящие во время записи видео.
Но самое главное впереди: впечатляющие цифры, приведенные в предыдущем абзаце, мало что значат для реального процесса записи. Эти цифры отражают скорость передачи данных по шине. Скорость записи на диск значительно меньше и очень зависит от конкретной ситуации. Различия по скорости записи для отдельного IDE– и SCSI-дисков весьма невелики и определяются механическими особенностями самого носителя, а не характеристиками шины. Для того чтобы использовать преимущества высокоскоростной передачи, мы должны иметь несколько одновременно работающих дисков. Но об этом речь пойдет ниже. Если же мы говорим об одном носителе, следует выбирать диски, оптимизированные для видеозаписи. Они рассчитаны на безостановочную запись длинных последовательностей. Обычный диск в разгаре записи может остановиться для термокалибровки головок. Если это происходит в момент ввода видеопоследовательности, появятся пропущенные кадры. Диск, оптимизированный для видео, будет производить термокалибровку по окончании записи последовательности.
Однако распараллеливание записи дает несравненно большие преимущества. Еще несколько лет назад RAID-массивы из нескольких дисков создавались только на основе SCSI и стоили баснословно дорого. (Что довольно забавно, поскольку аббревиатура RAID означает Redundant Arrays of Inexpensive Disks и переводится как «избыточные массивы недорогих дисков»). Около двух лет назад фирма Promise выпустила очень дешевые контроллеры для создания массивов из IDE-дисков.
Любой RAID-массив (как из IDE-, так и из SCSI-дисков) строится на основе распределения данных между несколькими носителями, которые воспринимаются системой как единое целое. Существует девять уровней RAID-массивов, различающихся архитектурой и, как следствие, надежностью, скоростью и ценой. Наиболее распространены типы 0, 1 и 5 (рис. 3.10). Уровень 0 – наиболее простой и быстрый. Он представляет собой распределение данных «в чистом виде». Пространство каждого диска разбивается на сегменты размером от одного сектора до нескольких мегабайт. Совокупность всех сегментов на всех дисках является единым массивом. Поток данных разбивается на блоки, которые последовательно записываются на диски. Дублирования информации и вычисления контрольных сумм не происходит. Этот тип массива имеет очень высокую скорость и самую низкую надежность: вся информация теряется, если выходит из строя любой из дисков. Несмотря на этот недостаток, именно данный уровень RAID обычно используется для компьютерного видео.
Рис. 3.10. Типы RAID-массивов на примере массива из двух дисков
Массив уровня 1 в некотором роде является антиподом массива уровня 0: вся информация здесь дублируется, запись происходит не быстрее, чем на одиночный диск. Зато значительно возрастает надежность. Только этот тип позволяет получить отказоустойчивую систему всего из двух дисков. При видеозаписи этот уровень практически не используется. При работе RAID уровня 5 производится контроль ошибок. В RAID 5 данные подразделяются на слова с числом бит в слове, равным числу дисков. Биты каждого слова записываются на диски последовательно. В процессе записи вычисляется контрольная сумма. Для контрольных сумм не выделяется отдельный диск (как в редко используемых уровнях 3 и 4). Они записываются
Для массивов параметры интерфейса оказываются гораздо более существенными, чем для отдельных дисков. Массивы на SCSI – вещь обычная, но весьма дорогостоящая (примерно от 300 и до нескольких десятков тысяч долларов). Некоторые фирмы поставляют массивы, состоящие из IDE-дисков, но связанные с компьютером по интерфейсу SCSI. Фирма Promise как раз и предлагает такой вариант, но для индивидуального пользователя он все же не очень подходит. Гораздо интереснее «для домашнего использования» другое их предложение: плата FastTrack (рис. 3.11) – контроллер в стандарте PCI, который позволяет подключать до четырех дисков. Плата имеет два канала передачи информации. К обоим каналам должно быть подключено одинаковое число дисков, но не более двух. Другими словами, на основе одного адаптера можно создать массив из двух или четырех дисков. На одной материнской плате могут работать два контроллера (если у вас достаточно пустых PCI-слотов). Можно создать массив из восьми дисков и при этом освободить IDE-каналы на материнской плате для подключения других накопителей. Можно создавать массивы уровней 0, 1 или 1/0, когда два или четыре диска образуют массив типа 0, который отображается на оставшиеся два или четыре диска.
Рис. 3.11. RAID-адаптер FAST TRACK
Скорость передачи данных при постоянной работе – до 25 Мбайт/с.
Вывод изображения на экран
Качество представляемого на экране изображения – не менее важная характеристика системы ввода изображений, чем, например, скорость записи. Помимо того что искажения при выводе на экран создают неудобства, они еще и влияют на выбор захватываемых кадров и фрагментов.
Лишь в редких случаях захватом изображения и его выводом на экран занимается одно и то же устройство: речь идет о видеоплатах с функцией захвата изображения, например ATI All-In-Wonder. В большинстве случаев видеоплата отвечает за вывод на экран, а видеоввод является функцией другого устройства. В этой ситуации для получения на экране видеоизображения нормального качества видеоадаптер должен обладать некоторыми существенными особенностями.
Наверное, многие из вас, просматривая спецификации плат видеоввода, обращали внимание на один из пунктов требований к видеокарте. Этот пункт формулируется как «поддержка [спецификации] DirectDraw». При установке многие устройства захвата кадра, а также программные модули для кодировки/декодирования (например, изображений в MPEG-форматах) предлагают поставить драйверы DirectDraw, DirectVideo и другие.
Вывод графического изображения видеоадаптером осуществляется в одном из видеоформатов. К числу характеристик видеоформата относятся разрешение и глубина цвета: число бит информации на пиксел изображения. (До сих пор мы, следуя дизайнерской традиции, именовали последний параметр палитрой, так же мы будем поступать в главе, посвященной ретуши изображения, однако в литературе, посвященной аппаратным проблемам видеовывода, термин «палитра» имеет несколько иное значение, поэтому сохраним неуклюжее, на взгляд автора, словосочетание «глубина цвета»). Итак, видеокарта осуществляет вывод изображения в одном из стандартных видеоформатов.
Драйверы DirectDraw, говоря упрощенно, позволяют выводить на экран прямоугольный фрагмент изображения в любом из видеорежимов, возможных для данной видеокарты. При этом, например, глубина цвета может не совпадать с видеорежимом экрана. Характеристики изображения в процессе вывода на экран хранятся как в системной памяти, так и в памяти видеоплаты (которую будем называть видеопамятью). Если изображение находится на экране (экранная поверхность), информация о нем всегда хранится в видеопамяти. Информация о поверхности, не отображенной в данный момент на экране (внеэкранной), располагается как в системной, так и в видеопамяти. В свою очередь, экранные поверхности могут состоять из слоев, называемых страницами. Страница, изображение которой в данное время не присутствует на экране, хранится в видеопамяти, выводится на экран практически мгновенно. Область хранения этой, невидимой, поверхности называется «вторичным буфером». Поверхности могут описываться при помощи палитры (для восьмибитного цвета), когда задается палитра цветов и соответствующим пикселам приписываются значения палитры. При большей, чем 8, глубине цвета используется так называемое беспалитровое представление, когда нет заранее заданной палитры изображения, а данные о цвете хранятся в определенном формате описания. (Оба пути имеют преимущества – в случае с палитрой необходимо хранить информацию о ней, иначе цвета изображения могут исказиться. Однако, переключая палитру, можно мгновенно изменять цвет больших областей изображения. При беспалитровом представлении не надо заботиться о наличии палитры, но необходимо кодировать цвет каждого пиксела картинки).
DirectDraw представляет собой способ копирования внеэкранной (не находящейся в видеопамяти) поверхности во вторичный буфер видеоадаптера. DirectDraw – это своего рода «менеджер памяти», управляющий как видео, так и системной памятью с целью максимального быстродействия при выводе видеофрагментов на экран. Программный интерфейс DirectDraw обычно использует аппаратные возможности видеоплаты, однако часть функций можно эмулировать программно, естественно, с понижением быстродействия (что отчасти делает весь процесс бессмысленным).