Содержание
Введение
1. Принципы вывода изображений
2. Графический режим
3. Текстовый режим
4. Трехмерная графика
4.1. Графический конвейер
4.2. Рендеринг
4.3. Реализация трехмерной графики
5. Обработка видеоизображений
5.1. Стандарты MPEG
Введение
Персональный компьютер смог стать привлекательным вычислительным средством благодаря интерактивности взаимодействия с пользователем. Интерактивность подразумевает наличие устройств оперативного ввода и вывода информации. Основной поток выходной информации — визуальный, причем информация представляется как в текстовом, так и в графическом виде. Визуальная информация может выводиться на экран, возможно получение и ее «твердой копии» (Hard Copy) — на бумаге, пленке и т. п. Для интерактивного режима вывод на бумагу малоинтересен, хотя в далекой истории компьютеров интерактивный режим впервые был реализован именно на телетайпе (грубо говоря, электрической пишущей машинке, подключенной к компьютеру). Данный реферат посвящен активным средствам вывода визуальной информации — видеосистеме PC. Активность подразумевает возможность изменения изображения без смены носителя.
В первые годы существования PC его видеосистемой называли средства вывода текстовой или графической информации на какой-либо экран, В качестве оконечного устройства чаще всего использовали (и продолжают использовать) мониторы с электронно-лучевыми трубками. Адаптеры, позволяющие подключать монитор к шине компьютера, называли видеоадаптерами и подразделяли на алфавитно-цифровые и графические. Последние, естественно, кроме графической, позволяли выводить и текстовую информацию. Вся выводимая информация формировалась в результате действия и под управлением системных и прикладных программ.
По мере «взросления», на PC стали взваливать и казавшуюся ранее неподъемной ношу воспроизведения и обработки движущихся телевизионных изображений — так называемого «живого видео». Так назрела необходимость корректировки терминологии. Видеосистема современного компьютера состоит из обязательной графической (формирующей изображение программно) и дополнительной подсистемы обработки видеоизображений. Обе эти составляющие части обычно используют общий монитор, а соответствующие аппаратные средства системного блока могут располагаться на раздельных картах различного функционального назначения или объединяться на одном комбинированном адаптере, который можно назвать адаптером дисплея (Display Adapter).
Графический адаптер служит для программного формирования графических и текстовых изображений и является промежуточным элементом между монитором и шиной компьютера. Изображение строится по программе, исполняемой центральным процессором, в чем ему могут помогать графические акселераторы и сопроцессоры. В BIOS имеется поддержка функций формирования текстовых и, графических изображений, по старинке называемая видеосервисом (BIOS Int lOh). Существует ряд классов адаптеров (MDA, CGA, EGA, VGA, SVGA...), которые будут рассмотрены ниже. В монитор адаптер посылает сигналы управления яркостью лучей RGB (Red, Green, Blue — красный, зеленый и синий — базисные цвета) и синхросигналы строчной и кадровой разверток. Кроме этих сигналов, относящихся только к формированию изображения, интерфейс с монитором может содержать и сигналы обмена конфигурационной информацией между монитором и компьютером. Так, например, PnP-мониторы при наличии соответствующей поддержки адаптером способны сообщать системе свои параметры (модель и параметры синхронизации).
Средства работы с видеоизображениями, передаваемыми в стандартах PAL, SECAM или NTSC, относятся уже к мультимедийному оборудованию. От программно-управляемых графических средств они отличаются тем, что оперируют с «живым» изображением, поступающим в компьютер извне (с видеокамеры, TV-тюнера) или воспроизводимым с какого-либо носителя информации (например, CD-ROM или DVD).
Все компоненты дисплейного адаптера могут размещаться на одной карте расширения, а зачастую они устанавливаются прямо на системной плате, используя преимущества локального подключения. Мультимедийные средства могут размещаться на отдельных картах, связанных с графическим адаптером специальным интерфейсом, а могут быть выполнены и в виде небольшого «дочернего» модуля, устанавливаемого на графическую карту.
Стандартизацией в области видеосистем занимается международная организация VESA (Video Electronic Standard Association — ассоциация по стандартизации в области видеоэлектроники, доступная по адресу http://www.vesa.org). Благодаря ее усилиям обеспечивается совместимость как на уровне аппаратных средств, так и на уровне программного обеспечения.
С самого начала появления персонального компьютера его видеосистему стремились строить для максимального приближения к идеалу WYSIWYG (What You See Is What You Get) — что видишь, то и имеешь, или наоборот. Поскольку под словом «имеешь» чаще всего подразумевается некоторая отпечатанная продукция, то имеется и идеал WYSIWYP (What You See Is What You Print) — что видишь на мониторе, то и будет напечатано. Стремление к этим идеалам, подкрепленное техническим прогрессом, приводит к неуклонному росту качественных показателей видеосистемы и проникновению компьютерных технологий в такие области, как, например, хранение точных (!) копий произведений искусства в электронном виде.
1. Принципы вывода изображений
Видеосистема PC ориентирована на растровый метод вывода изображения. Растровый метод подразумевает, что некий рисующий инструмент, способный оставлять видимый след, сканирует всю поверхность, на которую выводится изображение. Траектория движения инструмента постоянна и не зависит от выводимого изображения, но инструмент может рисовать, а может и не рисовать отдельные точки траектории. Видимым изображением являются оставленные им точки. В случае видеомонитора инструментом является модулированный луч (или три луча базисных цветов), построчно сканирующий экран и вызывающий свечение люминофора, нанесенного на внутреннюю поверхность экрана. Каждая строка растра разбивается на некоторое количество точек — пикселов (Pixel — сокращение от Picture Element — элемент изображения), засветкой каждой из которых по отдельности может управлять устройство, формирующее изображение (например, графическая карта). Видеомонитор является растровым устройством вывода динамически изменяемых изображений. Его луч сканирует экран с частотой, которая не должна позволять глазу видеть мерцание изображения. Матричные дисплеи, применяемые в блокнотных ПК, также относятся к растровым устройствам. Растровыми устройствами вывода статических изображений являются принтеры, в которых сканирование листа производится однократно (хотя возможны и многократные проходы).
Альтернатива растровым устройствам — векторные устройства вывода изображений. В этих устройствах инструмент прорисовывает только изображаемые фигуры и его траектория движения определяется выводимым изображением. Изображение состоит из графических примитивов, которыми могут быть отрезки прямых — векторы (откуда и название метода вывода), дуги, окружности. К векторным устройствам вывода статических изображений относятся перьевые плоттеры. Существовали (а, может, где-то используются и сейчас) и векторные мониторы, однако ввиду сложности построения системы управления лучом, обеспечивающей быстрое и точное движение луча по сложной траектории, эта линия угасла. Рассмотрим растровую систему вывода изображений, подразумевая в качестве оконечного устройства монитор с электронно-лучевой трубкой — CRT (Catode Ray Terminal, дословно — монитор на катодно-лучевой трубке). Сканирование экрана модулированным лучом обеспечивается генераторами горизонтальной и вертикальной разверток монитора. Луч может оставлять след только во время прямого хода по строке (слева направо). Строка разбивается на некоторое количество точек разложения, каждая из которых может иметь состояние (яркость и цвет), не зависимое от других (для монитора это разбиение условно). На обратном ходе по строке луч принудительно гасится. Следующая строка прорисовывается параллельно предыдущей, но с некоторым вертикальным смещением (вниз), и так происходит сканирование до окончания кадра — достижения правого нижнего угла экрана. Во время обратного хода луча по вертикали, за время которого генератор горизонтальной развертки успеет сделать несколько строчных циклов, луч также принудительно гасится. В следующем кадре сканирование может производиться по-разному. В системах с прогрессивной (Progressive), или нечередующейся (N1 — Noninterlaced), разверткой луч идет по тем же самым строкам (рис. 1, а). В системах с чересстрочной разверткой (IL — Interlaced) луч пойдет по строкам, смещенным по вертикали на половину шага строки (рис. 1, б). Таким образом, всю поверхность экрана луч проходит за два цикла кадровой развертки, называемых полукадрами. Чересстрочная развертка позволяет почти вдвое снизить частоту горизонтальной (строчной) развертки, а следовательно, и темп вывода точек изображения. Выгода от этого снижения будет понятна позже, а пока поясним, как определяются частоты развертки.
Рисунок 1. Сканирование экрана: а – прогрессивная развертка; б – чересстрочная развертка
Как известно, глаз является инерционным органом зрения — он воспринимает изменение яркости или освещенности только до какой-то определенной частоты. Существует понятие критической частоты световых мельканий (КЧСМ), которую измеряют так: человек смотрит неподвижно на некоторый безынерционный источник света (например, светодиод), который вспыхивает и гаснет с плавно повышаемой частотой. Сначала человек воспринимает вспышки по отдельности, с повышением частоты он видит уже только мерцание, а начиная с некоторой частоты, мерцания для него сливаются в ровный свет. Эта частота и называется критической, и у разных людей она может находиться в пределах примерно 40-60 Гц. Неподвижность взгляда и источника в нашем опыте оговаривалась, поскольку при движении мелькающего объекта человек будет его воспринимать как трассу прерывистых светящихся точек (стробоскопический эффект). Наблюдение мерцающих объектов раздражает и утомляет зрительную систему, поэтому частота кадров (прорисовки экрана) должна быть, по крайней мере, не ниже значения КЧСМ. Таким образом, мы получили ориентировочное значение минимальной частоты кадров, равное 50 Гц (эта компромиссная частота применяется во многих телевизионных системах). Теперь посмотрим, что из этого следует. Вполне очевидно, что для качественного изображения экран должен иметь как можно больше точек матрицы разложения — то есть строк в кадре и точек на строке. Возьмем популярный режим 800x600 (600 строк по 800 точек). За один период прогрессивной кадровой развертки луч должен успеть прочертить 600 видимых строк, да еще некоторое количество невидимых строк (примерно 50) он прочертит на обратном ходе по кадру. Получается, что частота строк должна составить 50 Гц * (600 + 50) = 32,5 кГц (вроде и не так уж много). Этой частоте соответствует период около 30 мкс (1/32,5), из которого на прямой ход по строке остается около 25 мкс. За это время необходимо вывести 800 точек строки, так что на каждую точку отводится 25/800 = 0,03 мкс, что соответствует частоте вывода точек в 30 МГц, а это для электронных схем уже высокая частота. Поскольку соседние точки выводимого изображения в принципе друг с другом не связаны, то полоса частот сигнала, модулирующего интенсивность луча, должна быть несколько выше этого значения (примерно на 25 %). Такую широкую полосу пропускания должен обеспечивать весь видеотракт: видеоусилители модуляторов лучей, сигнальные линии интерфейсного кабеля, и, наконец (вернее, сначала), такой широкополосный сигнал должен сформировать графический адаптер. На всех этих стадиях высокие частоты порождают технические проблемы. Если реальная полоса пропускания в этом тракте будет уже, четкого изображения получить не удастся — переходы будут размыты. Если же частотная характеристика тракта в требуемом диапазоне будет неравномерной, появятся специфические искажения цветов или яркости около границ отображаемых объектов (справа от граничной линии). Понятно, что с технической точки зрения есть стимулы снижать требуемую верхнюю границу полосы частот видеотракта. При чересстрочной развертке за каждый полукадр сканируется только половина строк разложения (четные в одном полукадре и нечетные в другом), следовательно, строчная частота уменьшается, а длительность прохода видимой части строки увеличивается примерно вдвое. Таким образом, при заданных условиях (разрешении экрана и ограничении минимальной кадровой частоты) чересстрочная развертка позволяет снизить требуемую полосу пропускания вдвое.