Смекни!
smekni.com

Реализация трехмерной графики (стр. 8 из 10)

Все перечисленные системы в цветном режиме между собой несовместимы, хотя для них и существуют устройства-конверторы. Устройства обработки видеосигналов в 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. Од­нако программная декомпрессия сильно загружает процессор, что неблагоприят­но сказывается на многозадачном использовании компьютера. Ряд современных дисплейных адаптеров имеют специальные аппаратные средства декомпрессии, разгружающие центральный процессор. На долю процессора остается лишь орга­низация доставки сжатого потока данных к плате адаптера.