Все перечисленные системы в цветном режиме между собой несовместимы, хотя для них и существуют устройства-конверторы. Устройства обработки видеосигналов в PC могут поддерживать все системы или только некоторые из них, на что следует обращать внимание при их приобретении.
Обсудим возможные точки соприкосновения компьютерной графики и телевизионного видеосигнала.
Вывод компьютерной графики на экран обычного телевизора представляет интерес как средство презентаций: телевизоры с большим экраном применяются достаточно широко и имеют умеренную цену, чего не скажешь о больших мониторах. Кроме того, транслировать один и тот же сигнал на несколько телевизоров проще, чем на несколько компьютерных мониторов. Ряд моделей современных графических карт имеют выход телевизионного сигнала, причем независимый от выхода на основной монитор. Есть и преобразователи форматов (например, конвертор VGA-TV) в виде отдельных внешних устройств со стандартным интерфейсом компьютерного монитора на входе и каким-либо телевизионным сигналом на выходе. В простейшем варианте конвертор только преобразует сигналы из RGB в один из интерфейсов телеприемника, но при этом требуется установка разрешения и частот синхронизации графического адаптера, совпадающих со стандартом телеприемника. Для пользователя PC эти ограничения малоприятны, а иногда и невыполнимы. Более сложные конверторы имеют собственную буферную память, которая заполняется вновь оцифрованным видеосигналом, снятым с выхода графического адаптера. На телевизионный выход информация из буфера выдается уже с телевизионной частотой. Буфер может хранить одну, несколько или все строки экрана. От этого зависят ограничения на режим разрешения и соотношения частот регенерации графического адаптера и телевизионного монитора (в последнем случае они вообще могут быть несвязанными). Естественно, эти варианты сильно отличаются по сложности и цене (конвертор с полноэкранным буфером самый дорогой). Однако когда графический адаптер выводит движущееся изображение, смена которого привязана к кадровой синхронизации, при несовпадении кадровых частот на телевизионном экране движение будет искажаться. Общей проблемой конверторов является необходимость борьбы с мерцанием (flickering): поскольку в телеприемниках используется чересстрочная развертка, горизонтальная полоса шириной в пиксел будет отображаться с частотой 25 или 30 Гц, что улавливается глазом. Возможны и варианты внутренних адаптеров (карт расширения), подключаемых к шине расширения PC и внутреннему разъему графической карты (VFC или VAFC). Некоторые модели конверторов позволяют накладывать графическое изображение на внешний видеосигнал (например, для создания титров). Ввиду ограниченной горизонтальной разрешающей способности телеприемников (полоса пропускания шире 5 МГц для телевизора как такового бессмысленна), возможность замены монитора телевизором для регулярной работы сомнительна. В стандарте NTS С обеспечивается разрешение 640 х 480, в PAL и SEC AM — 800 х 600. Однако такое разрешение реально достижимо только при использовании интерфейса S-Video. Композитный сигнал, как было сказано выше, не обеспечивает столь высокого разрешения. Выход телевизионного сигнала имели адаптеры CGA и EGA, с приходом VGA этот интерфейс на графических картах применять перестали. Однако на новом витке развития техники об интерфейсе с телевизионным приемником снова вспомнили. Microsoft рекомендует устанавливать на новых графических картах кроме стандартного интерфейса VGA (RGB-Analog) выход композитного сигнала и S-Video. Более того, рекомендуется предусмотреть возможность одновременной работы VGA-монитора и TV-приемника, что не так-то просто обеспечить из-за различия параметров синхронизации.
Гораздо чаще используют обратное «скрещивание» — вывод видеоизображения на экран компьютерного монитора. Видеоизображение выводится в окно, занимающее весь экран или его часть. Поскольку вывод видео перекрывает часть графического изображения, такой способ вывода называют видеооверлеем (Video Overlay), а платы, обеспечивающие данный режим, называют видеооверлейными (overlay board). Эти платы позволяют изменять размер окна видео так же, как и размер любого окна в Windows. В оверлейной плате для видеоизображения имеется специальный «слой» видеопамяти, независимой от видеобуфера графического адаптера. В этом слое содержится оцифрованное растровое отображение каждого кадра видеосигнала. Поскольку для видеосигнала принято цветовое пространство в координатах Y-U-V, в этом слое памяти пикселы также отображаются в этом пространстве, а не в R-G-B, свойственном графическим адаптерам. В такой системе движущееся видеоизображение, видимое на экране монитора, существует лишь в оверлейном буфере, но никогда не попадает в видеопамять графического адаптера и не передается ни по каким внутренним цифровым шинам компьютера. В видеопамяти графического адаптера «расчищается» окно, через которое «выглядывает» видеоизображение из оверлейного буфера. Некоторый цвет (комбинация бит RGB) принимается за прозрачный. Оверлейная логика сравнивает цвет очередного пиксела графического буфера с этим прозрачным, и если он совпадает, вместо данного пиксела выводится соответствующий пиксел видеооверлея. Если цвет не совпадает с прозрачным, то выводится пиксел из графического буфера. Таким образом, имея доступ к пикселам графического буфера, можно на видеоизображение накладывать графику для организации видеоэффектов или вывода в видеоокне «всплывающих» (PopUp) меню. Наложение производится на уровне потока бит сканируемых пикселов, который может передаваться в оверлейную плату через разъем Feature Connector (см. ниже). Оверлейная плата обычно имеет несколько входов для источников аналогового видеосигнала и программно-управляемые средства выбора одного из них. В составе такого устройства обычно есть и фрейм-граббер (Frame Grabber) — средство захвата видеокадра. Его другое название — Video Capture. По команде оператора движущееся изображение может быть мгновенно зафиксировано в оверлейном буфере, после чего захваченный кадр может быть записан на диск в каком-либо графическом формате для последующей обработки и использования. Более совершенные устройства позволяют записывать в реальном времени последовательность видеокадров, выполняя их компрессию методами M-JPEG, DVI или INDEO (MPEG-кодирование требует слишком больших ресурсов для выполнения преобразования в реальном времени), но об этом чуть позже.
Фрейм-граббер может и не иметь отношения к видеооверлею, а быть отдельным устройством, подключаемым к источнику видеосигнала и какому-либо интерфейсу компьютера. В этом случае видеоизображение наблюдается уже не на мониторе компьютера, а на обычном телевизоре, подключенном к тому же источнику видеосигнала или фрейм-грабберу. По команде оператора требуемый кадр фиксируется в буферной памяти фрейм-граббера, откуда по интерфейсу поступает в компьютер для обработки или(и) хранения.
TV-тюнер — устройство приема видеосигналов с радиочастотного входа (антенны), в сочетании с оверлейной платой позволяет просматривать телепрограммы на обычном мониторе компьютера. Тюнер может поддерживать стандарты цветопередачи PAL, SECAM и NTSC, но из-за несовпадения стандартов на промежуточную частоту звукового сопровождения некоторые карты не принимают звуковое сопровождение отечественных телеканалов.
Теперь посмотрим, во что «выльется» попытка передачи видеоизображения в цифровом виде, естественном для графической системы компьютера (Bitmap). Пусть разрешение видеоэкрана составит 640 х 480 — максимально возможное для телевизионного изображения NTS С. Поскольку аналоговый телевизионный сигнал позволяет передавать в принципе неограниченное число цветов, примем глубину цвета True Color — 24 бита на пиксел. Тогда одному кадру изображения будет соответствовать битовый образ объемом 640 х 480 х 24 = 7 372 800 бит или около 7 Мбит на кадр. В телевидении полные кадры сменяются с частотой 25 Гц (30 Гц в NTSC), так что для непосредственной передачи телевизионного изображения в формате Bitmap требуется обеспечить поток данных в 7 х 25 = 175 Мбит/с, или около 22 Мбайт/с. О том, чтобы записывать такой поток данных даже на самый быстрый винчестер, раньше не было и речи, но современные диски уже могут его выдержать (см. главу 7). Но этот поток заполняет 1 Гбайт диска всего за 44 секунды. Конечно, если пожертвовать количеством цветов и «опуститься», например, до режима High Color (16 бит на пиксел), то требуемый поток уменьшится до 116 Мбит/с. Но и такой поток слишком велик. Выходом может быть только сжатие передаваемой информации,
Выше уже отмечалось, что формат Bitmap является довольно расточительным способом описания изображений. Соседние (по вертикали и горизонтали) элементы реального изображения обычно между собой сильно взаимосвязаны (коррелированны), поэтому имеются богатые возможности сжатия описания. Иллюстрация этому — очень большой коэффициент сжатия BMP-файлов любым архиватором. Если сжатие файлов данных при архивации обязательно требует возможности точного восстановления исходных данных при распаковке, то при сжатии изображений в большинстве случаев можно позволить некоторые вольности, когда восстановленное изображение не совсем точно соответствует оригиналу. И наконец, соседние кадры движущегося изображения между собой в большинстве случаев тоже сильно связаны, что наводит на мысль о применении дифференциального описания кадров. Все эти рассуждения подводят нас к пониманию возможностей сжатия видеоинформации и принципов действия кодеков — компрессоров-декомпрессоров видеосигнала. Как и в случае программного сжатия и восстановления данных, задача компрессии оказывается сложнее задачи восстановления (легко заметить, что распаковка файлов, например, архиватором ARJ, происходит гораздо быстрее упаковки). Процедура сжатия может выполняться как одноступенчатым, так и двухступенчатым способом. В первом случае сжатие выполняется одновременно с записью в реальном масштабе времени. Во втором случае поток несжатых данных интенсивностью в несколько десятков мегабайт в секунду записывается на специальный (очень большой и очень быстрый) диск. По окончании записи фрагмента выполняется его сжатие, которое может занимать на порядок больше времени, чем сама запись. Декомпрессия, естественно, представляет интерес лишь в том случае, если она выполняется в реальном масштабе времени (к счастью, она и реализуется проще). Ряд кодеков позволяет осуществлять декомпрессию в реальном времени чисто программными способами, используя стандартный графический адаптер SVGA. Однако программная декомпрессия сильно загружает процессор, что неблагоприятно сказывается на многозадачном использовании компьютера. Ряд современных дисплейных адаптеров имеют специальные аппаратные средства декомпрессии, разгружающие центральный процессор. На долю процессора остается лишь организация доставки сжатого потока данных к плате адаптера.