В первом разделе рассмотрены история, основные направления и некоторые приложения компьютерной графики.
В втором разделе рассмотрены зрительный аппарат человека и психофизиологические особенности восприятия цветов, которые необходимо учитывать при построении систем компьютерной графики.
В восьмом разделе рассмотрены дисплеи с произвольным сканированием луча (векторные или каллиграфические дисплеи), дисплеи с растровым сканированием луча (растровые дисплеи), их архитектура и работа основных компонент.
В десятом разделе рассмотрены архитектуры дисплейных подсистем IBM PC.
В одиннадцатом разделе рассмотрены устройства ввода, используемые в компьютерной графике.
В двенадцатом, заключительном разделе рассмотрены нетрадиционные устройства (сенсорная панель, речевой диалог, а также устройства, используемые в системах виртуальной реальности).
В приложении приведены алгоритмы перехода от одной цветовой модели к другой.
· рассмотрена история развития компьютерной графики, начиная от ее появления в 1950 г;
· пояснены основные направления компьютерной графики:
— изобразительная компьютерная графика,
— обработка и анализ изображений,
— анализ сцен (перцептивная компьютерная графика),
· дано общее описание некоторых важных приложений компьютерной графики, подробно рассматривается приложение для компьютерного моделирования, как нового инструмента исследований, и направление «виртуальная реальность», возникшее в последние годы.
0.1.1 Классификация устройств вывода
Устройства вывода можно классифицировать следующим образом:
1. По принципам записи (обновления) изображения:
· с произвольным сканированием луча, при котором изображение формируется при перемещении луча по экрану в соответствии с координатами строящихся элементов изображения (каллиграфические, штриховые устройства);
· с растровым сканированием луча, при котором изображение представляется в виде матрицы точек. Изображение на экране формируется при перемещении луча в соответствии с разверткой слева-направо по строке и сверху-вниз по строкам с подсветкой требуемых точек.
2. По принципам отображения:
· периодическая регенерация информации на экране из неотображающей памяти;
· использование отображающего устройства сохранения изображения.
3. По технологическим способам вывода (свечение люминофора, вычерчивание пишущим узлом, перенос красителя и т.п.).
0.1.2 История компьютерной графики
Развитие компьютерной графики, особенно на ее начальных этапах, в первую очередь связано с развитием технических средств и в особенности дисплеев. Рассмотрение начнем с истории развития технологий вывода (векторные, растровые и иные дисплеи), затем приведем краткую хронологию становления дисплейной техники у нас в стране и в заключение рассмотрим этапы развития методов и приложений.
История технологий вывода
Произвольное сканирование луча. Дисплейная графика появилась как попытка использовать электроннолучевые трубки (ЭЛТ) с произвольным сканированием луча для вывода изображения из ЭВМ. Как пишет Ньюмен [1] «по-видимому, первой машиной, где ЭЛТ использовалась в качестве устройства вывода была ЭВМ Whirlwind-I (Ураган-I), изготовленная в 1950 г.» в Массачусетском технологическом институте. С этого эксперимента начался этап развития векторных дисплеев (дисплеев с произвольным сканированием луча, каллиграфических дисплеев). На профессиональном жаргоне вектором называется отрезок прямой. Отсюда и происходит название «векторный дисплей».
Обычно серийные векторные дисплеи успевали 50 раз в секунду строить только около 3000-4000 отрезков. При большем числе отрезков изображение начинает мерцать, так как отрезки, построенные в начале очередного цикла, полностью погасают к тому моменту, когда будут строиться последние.
Другим недостатком векторных дисплеев является малое число градаций по яркости (обычно 2-4). Были разработаны, но не нашли широкого применения двух-трехцветные ЭЛТ, также обеспечивавшие несколько градаций яркости.
Векторные дисплеи обычно подключаются к ЭВМ высокоскоростными каналами связи.
Первые серийные векторные дисплеи за рубежом появились в конце 60-х годов. В 1963 г. был разработан прототип дисплейной станции IBM 2250 (до осени 1964 г. работы были засекречены).
Растровое сканирование луча. Прогресс в технологии микроэлектроники привел к тому, с середины 70-х годов подавляющее распространение получили дисплеи с растровым сканированием луча. Подробному рассмотрению этих дисплеев посвящен разд. 0.9.
Текстовый диалог поддерживается с помощью алфавитно-цифровой клавиатуры, косвенный графический диалог осуществляется перемещением перекрестия по экрану обычно с помощью координатных колес.
Такие дисплеи подключаются к ЭВМ низкоскоростными каналами связи (типа телефонных).
Появление таких дисплеев с одной стороны способствовало широкому распространению компьютерной графики, с другой стороны представляло собой определенный регресс, так как распространялась сравнительно низкокачественная и низкоскоростная, не слишком интерактивная графика. Более подробно о таких дисплеях см. в п. 0.10.1.
Плазменная панель. В 1966 г. была изобретена плазменная панель, которую упрощенно можно представить как матрицу из маленьких разноцветных неоновых лампочек, каждая из которых включается независимо и может светиться с регулируемой яркостью. Ясно, что системы отклонения не нужно, не обязательна также и память регенерации, так как по напряжению на лампочке можно всегда определить горит она ли нет, т.е. есть или нет изображение в данной точке. В определенном смысле эти дисплеи объединяют в себе многие полезные свойства векторных и растровых устройств. К недостаткам следует отнести большую стоимость, недостаточно высокое разрешение и большое напряжение питания. В целом эти дисплеи не нашли широкого распространения. Более подробно о них см. п. 0.10.2.
Жидкокристаллические индикаторы. Дисплеи на жидкокристаллических индикаторах работают аналогично индикаторам в электронных часах, но, конечно, изображение состоит не из нескольких сегментов, а из большого числа отдельно управляемых точек. Эти дисплеи имеют наименьшие габариты и энергопотребление, поэтому широко используются в портативных компьютерах несмотря на меньшее разрешение, меньшую контрастность и заметно большую цену, чем для растровых дисплеев на ЭЛТ. Более подробно о дисплеях на жидкокристаллических индикаторах см. п. 0.10.3.
Электролюминисцентные индикаторы. Наиболее высокие яркость, контрастность, рабочий температурный диапазон и прочность имеют дисплеи на электролюминисцентных индикаторах. Благодаря достижениям в технологии они стали доступны для применения не долько в дорогих высококлассных системах, но и в общепромышленных системах. Работа таких дисплеев основана на свечении люминофора под воздействим относительно высокого переменного напряжения, прикладываемого к взаимноперпендикулярным наборам электродов, между которыми находится люминофор. Более подробно о таких дисплеях см. п. 0.10.4.
Дисплеи с эмиссией полем. Дисплеи на электронно-лучевых трубках, несмотря на их относительную дешевизну и широкое распространение, механически непрочны, требуют высокого напряжения питания, потребляют большую мощность, имеют большие габариты и ограниченный срок службы, связанный с потерей эмиссии катодами. Одним из методов устранения указанных недостатков, является создание плоских дисплеев с эмиссией полем с холодных катодов в виде сильно заостренных микроигл. Более подробно о таких дисплеях см. п. 0.10.5.
Хронология некоторых отечественных разработок
В следующем ниже перечислении приведены далеко не все проведенные в стране разработки. К сожалению по многим из них у меня не было точной информации. Могу лишь упомянуть, что дисплеи разрабатывались в Новосибирске, Протвино, Ленинграде, Москве, Зеленограде, Воронеже, Львове, Виннице, Минске (ИТК АН БССР), Киеве и, конечно, во многих других. Одним из первых векторных дисплеев был дисплей УПГИ, серийно выпускавшийся для комплектации АРМ машиностроительного направления. Для автоматизации проектирования печатных плат и простого цветного вывода использовался дисплей ЦРД (цветной растровый дисплей). Вероятно первой законченной конструкторской проработкой векторного дисплея был «экран динамического вывода», выполненный в начале 60-х годов.
· 1968, ВЦ АН СССР, машина БЭСМ-6, вероятно, первый отечественный растровый дисплей, видеопамять на магнитном барабане весом 400 кГ;
· 1972, Институт автоматики и электрометрии (ИАиЭ), векторный дисплей Символ;
· 1977, ИАиЭ, векторный дисплей ЭПГ-400. Серия
· 1981-1982, векторные дисплеи ЭПГ-СМ (ИАиЭ), ЭПГ-2СМ. Серия Серия
· 1983, ИПФ, растровая цветная полутоновая дисплейная станция Гамма-4. 1024×768×8 бит, таблица цветности, поддержка окон, видеопамять 4 Мбайта, прокрутка изображения, плавное, переменное мастабирование. Серия
· 1984, ИПФ, растровое расширение символьных терминалов Гамма-5. 512×256×1 бит, прокрутка изображения. Серия 1984;
Итак, стартовав в 1950 г., компьютерная графика к настоящему времени прошла путь от экзотических экспериментов до одного из важнейших, всепроникающих инструментов современной цивилизации, начиная от научных исследований, автоматизации проектирования и изготовления, бизнеса, медицины, экологии, средств массовой информации, досуга и кончая бытовым оборудованием. Можно выделить следующие этапы развития:
0.1.3 Направления компьютерной графики
В нынешнем, устоявшемся состоянии принято разделять компьютерную графику на следующие направления: · изобразительная компьютерная графика, · обработка и анализ изображений, · анализ сцен (перцептивная компьютерная графика),
Изобразительная компьютерная графика
Объекты: синтезированные изображения. Задачи: · построение модели объекта и генерация изображения, · преобразование модели и изображения, · идентификация объекта и получение требуемой информации.
Обработка и анализ изображений
Объекты: дискретное, числовое представление фотографий. Задачи: · повышение качества изображения,
Итак, в основе обработки и анализа изображений лежат методы представления, обработки и анализа изображений плюс, естественно, изобразительная компьютерная графика хотя бы для того, чтобы представить результаты.
Анализ сцен
Предмет: исследование абстрактных моделей графических объектов и взаимосвязей между ними. Объекты могут быть как синтезированными, так и выделенными на фотоснимках.
Примеры: машинное зрение (роботы), анализ рентгеновских снимков с выделением и отслеживанием интересующего объекта, например, сердца.
Итак, в основе анализа сцен (перцептивной компьютерной графики) находятся изобразительная графика + анализ изображений + специализированные средства.
Когнитивная компьютерная графика
Только формирующееся новое направление, пока недостаточно четко очерченное.
Общая последовательность познания заключается в, возможно циклическом, продвижении от гипотезы к модели (объекта, явления) и решению, результатом которого является знание (рис. 0.1.1).
Человеческое познание использует два основных механизма мышления, за каждым из которых закреплена половина мозга:
Первоначально ЭВМ имели малую производительность процессоров и средств компьютерной графики, т.е. по сути дела имели возможность работы только с символами (некоторый упрощенный аналог логического мышления).
С появлением супер-ЭВМ, производительностью в миллиард и более операций в секунду и графических супер-станций, производительностью до сотен миллионов операций в секунду, появилась возможность достаточно эффективного манипулирования образами (картинами).
Важно отметить, что мозг не только умеет работать с двумя способами представления информации, причем с образами он работает иначе и эффективнее чем ЭВМ, но и умеет соотносить эти два способа и совершать (каким-то образом) переходы от одного представления к другому.
Другие важнейшие задачи:
· поиск путей перехода от образа к формулировке гипотезы о механизмах и процессах, представленных этими (динамическими) образами на экране дисплея.
0.1.4 Приложения компьютерной графики
Как уже отмечалось, компьютерная графика стала основным средством взаимодействия человека с ЭВМ. Важнейшими сформировавшимися областями приложений являются:
· компьютерное моделирование, которое явилось исторически первым широким приложением компьютерной графики,
· системы автоматизации научных исследований, системы автоматизации проектирования, системы автоматизации конструирования, системы автоматизации производства, автоматизированные системы управления технологическими процессами,
· средства массовой информации,
По телевидению часто можно видеть передачи иллюстрирующие приложения компьютерной графики в автоматизации проектирования (были передачи об автоматизированном проектировании самолетов, автомобилей), много передач об автоматизации производства с различными робототехническими системами.
Передачи о мире бизнеса практически не обходятся без показа различной дисплейной техники и ее использования.
Применение компьютерной графики в средствах массовой информации мы видим ежедневно, как в виде различных заставок и телеэффектов на экране, так и в виде газет, при подготовке многих из которых используется электронная верстка на компьютере.
С компьютерными играми, отнимающими не только время досуга, конечно же знаком каждый.
Компьютерная графика в интегрированной САПР
Общий цикл разработки какого-либо промышленного изделия, будь то радиатор батареи центрального отопления или же самолет можно представить в виде схемы, показанной на рис. 0.1.2.
Естественно, что могут выполняться возвраты на повторное выполнение общего цикла, начиная с некоторого этапа.
Компьютерная графика в компьтерном моделировании
Ясно, что в настоящее время на всех этапах разработки в той или иной мере используются ЭВМ и, следовательно, компьютерная графика. На этапе исследований важную роль, кроме натурных экспериментов, играет компьютерное моделирование работы изделия и/или его компонент. Рассмотрим в качестве примера задачи моделирования быстропротекающих процессов механики сплошной среды. К таким задачам относятся задачи сварки и упрочнения взрывом, задачи расчета синтеза алмазов взрывом, задачи расчета защиты космических аппаратов от метеоритов и микрометеоритов и т.д.
Следует отметить что реальный физический процесс развивается за единицы или десятки микросекунд, поэтому натурный эксперимент не только дорогостоящ, но и дает мало информации. Обычно это один или несколько рентгеновских снимков, прямые измерения, как правило, или затруднены, или датчики вносят заметные изменения в процесс.
В настоящее время широко используются двумерные задачи моделирования, когда важны две пространственных координаты. Это достаточно широкий круг реальных процессов, но в ряде случаев обязательно использование трехмерных задач, которые считаются много дольше. Основные проблемы, стоящие на пути широкого распространения трехмерных задач, состоят в том, что, во-первых, при существующих численных методах объем вычислений растет быстрее чем четвертая степень требуемой точности, во-вторых, визуализация результатов существенно усложняется и замедляется. В дальнейшем рассмотрении речь идет о двумерных задачах.
В качестве иллюстрации некоторых явлений, которые необходимо моделировать, на рис. 0.1.3 показан один из этапов решения осесимметричной задачи обжатия капсулы с газом с помощью взрыва.
Рассчитываемая область разбивается сеткой с общим числом узлов до 1-2 тысячи. Количество независимых переменных, рассчитываемых для узла, от 8 до 12 (скорость вдоль осей X и Y, давление, плотность, температура и т.д.).
Количественные параметры задач
Расчет ведется небольшими шагами по времени. Вначале на одном шаге по времени для всех узлов рассчитываются все величины. Затем время увеличивается и расчет повторяется.
На маленькую задачу потребовалось бы:
256·128·5·2048·12 40·62
@ 1 623 602листа
Если сложить эти листы, то высота стопки составила бы 1 623 602×0.1 мм @ 162 метра, длина полосы составила бы 1 623 602×297 мм @ 482 километра.
На большую задачу потребовалось бы:
1024·256·15·2048·12 40·62
@ 38 966 437 листов.
Если сложить эти листы, то высота стопки составила бы 38 966 437×0.1 мм
3 897 м, длина полосы составила бы 38 966 437×297 мм
Очевидно, что выдача результатов задачи в числовом виде, когда длина выдачи была бы больше, чем расстояние от Москвы до Владивостока (оно равно @ 11 тысяч километров), совершенно лишена смысла.
ЭВМ настолько много и быстро продуцирует результатов, что без новой технологии их обработки моделирование становится просто бессмысленным. Можно предложить два способа представления результатов в форме удобной для восприятия и анализа человеком:
3 1024·256·2048 10·30
@ 1.7 Мбайт
что, вообще говоря, поменьше, чем 30 Гбайт/12 = 2.5 Гбайта
В последнем случае, правда, возникает другая проблема. Она состоит в том, что числовая информация утрачивается и остаются только визуальные образы, а для разработки конструкций конечно же нужна числовая информация. Здесь используются два подхода:
На существующем уровне технологии дисковых накопителей реально сохранять решение не более чем одной задачи, поэтому практически возможно использование только подхода с пересчетом. Кроме этого, обычно расчеты выполняются в режиме диалога с оперативным изменением параметров задачи, поэтому технологических проблем с возвратами не возникает. Конечно, вычислитель используется недостаточно эффективно.
Виртуальная реальность
Из-за большой сложности и дороговизны разработка систем виртуальной реальности во всем мире финансируется, в основном, по военным программам. Первые шаги в этом направлении были сделаны еще в 60-е годы при разработке компьютерных тренажеров для летчиков. Но в них обеспечивалось воздействие только на зрение. К таким системам, например, принадлежат системы «Аксай» и «Альбатрос», разработанные Институтом Автоматики и электрометрии. Известны также и т.н. полунатурные системы моделирования, имитирующие вибрации, тряску и эволюции самолета и работу бортового оборудования. Обучаемый при этом находится в кабине самолета, укрепленной на системе перемещающихся направляющих. Конечно, тренажеры очень дороги, так только один специальный шлем в тренажерах для военных летчиков стоит около 1 млн долларов.
Сейчас работы по виртуальной реальности на Западе рассматриваются как главное направление развития компьютерной отрасли в будущем, которое окажет важное влияние на конкурентоспособность стран. В целом пик развития этого направления ожидается в начале грядущего тысячелетия.
0.2 Зрительный аппарат человека
Системы отображения графической информации воздействуют на зрительный аппарат человека, поэтому с необходимостью должны учитывать как физические, так и психофизиологические особенности зрения.
0.2.1 Устройство глаза
Интересно отметить, что природа создала целый ряд конструкций глаза. При этом глаза у всех позвоночных похожи на глаза человека, а глаза у беспозвоночных либо сложные (фасеточные) как у насекомых, либо недоразвитые в виде световувствительного пятна. Только у осьминогов глаза устроены как у позвоночных, но светочувствительные клетки находятся непосредственно на внутренней поверхности глазного яблока, а не как у нас позади других слоев, занимающихся предварительной обработкой изображения. Поэтому, возможно, особого смысла в обратном расположении клеток в сетчатке нет. А это просто один из экспериментов природы.
Итак, внутренний слой сетчатки глаза содержит два типа светочувствительных рецепторов, занимающих область с раствором около 170 ° относительно зрительной оси:
@ 100 млн. палочек (длинные и тонкие рецепторы ночного зрения), @ 6.5 млн. колбочек (короткие и толстые рецепторы дневного зрения).
Информация от рецепторов передается в мозг по зрительному нерву, содержащему около 800 тысяч волокон.
Колбочки и палочки содержат зрительные пигменты. Зрительные пигменты очень похожи на любые другие пигменты, в том, что они поглощают свет и степень поглощения зависит от длины волны. Важное свойство зрительных пигментов состоит в том, что когда зрительный пигмент поглощает фотон света, то изменяется форма молекулы и в то же самое время происходит переизлучение света. Пигмент при этом изменился, измененная молекула поглощает свет менее хорошо чем прежде, т.е. как часто говорят, «отбеливается». Изменение формы молекулы и переизлучение энергии некоторым, пока еще не вполне ясным образом, инициируют светочувствительную клетку к выдаче сигнала.
Информация от светочувствительных рецепторов (колбочек и палочек) передается другим типам клеток, которые соединены между собой. Специальные клетки передают информацию в зрительный нерв. Таким образом волокно зрительного нерва обслуживает несколько светочувствительных рецепторов, т.е. некоторая предварительная обработка изображения выполняется непосредственно в глазу, который по сути представляет собой выдвинутую вперед часть мозга.
Область сетчатки, в которой волокна зрительного нерва собираются вместе и выходят из глаза, лишена светочувствительных рецепторов и называется слепым пятном.
Радужная оболочка (см. рис. 0.2.1) действует как диафрагма, изменяя количество света, проходящего в глаз. Диаметр зрачка меняется от
2 мм (при ярком свете) до
8 мм (при малой освещенности).
За сетчаткой находится сосудистая оболочка, которая содержит капилляры, снабжающие глаз кровью.
0.2.2 Чувствительность глаза
При ярком свете чувствительность палочек мала, но при низких уровнях освещенности их чувствительность возрастает и обеспечивает нашу способность видеть при тусклом свете. Палочки содержат пигмент с максимальной чувствительностью на длине волны около 510 нм (точечная линия на рис. 0.2.2), в зеленой части спектра. Пигмент палочек часто называется зрительным пурпуром из-за его цвета. Максимальная плотность палочек приходится на область с раствором около 20 ° относительно оси.
Максимальная плотность колбочек достигается в области с раствором порядка 8 ° ×6 ° относительно оси, называемой желтым пятном. В центре этой области (ямке) к каждой колбочке подходит отдельное волокно зрительного нерва. Это область максимальной остроты зрения.
Суммарная кривая спектральной чувствительности глаза для случая яркого освещения, т.е. цветного зрения, показана на рис. 0.2.2 сплошной линией.
Из этих графиков видно почему «ночью все кошки серы». В самом деле, например, отклик на красный цвет ( l = 700 мкм) при низких уровнях освещения (точечная кривая на рис. 0.2.2) практически равен нулю. Поэтому красный цвет ночью будет выглядеть черным.
В силу того, что коэффициент преломления в радужке и хрусталике растет с увеличением частоты света, глаз не избавлен от хроматической аберрации. Т.е. если изображение сфокусировано для одной из частот, то на других частотах изображение расфокуировано. Хрусталик оптимально фокусирует на сетчатке свет с длиной волны около 560 нм. Так как пики чувствительности средне- длинноволновых колбочек (530 и 560 нм, соответственно) близки к друг к другу, поэтому изображения для этих колбочек могут быть одновременно сфокусированными. Изображение же для коротковолновых палочек будет размытым. Так степень фокусировки разная, то не требуется одинаковой разрешаютей способности глаза для разных типов колбочек. В глазу человека на одну коротковолновую колбочку приходится 20 средне- и 40 длинноволновых. В этой связи понятно, почему ширина полосы пропускания для «холодных», коротковолновых цветов в телевидении может быть выбрана существенно меньшей без субъективно заметной потери верности воспроизведения.
0.3 Физические принципы формирования оттенков
Пример субтрактивного формирования оттенков показан на рис. 0.3.2. При освещении падающим белым светом в слое голубой краски из спектра белого цвета поглощается красная часть, затем из оставшегося света в слое пурпурной краски поглощается зеленая часть спектра, отраженный от поверхности бумаги свет еще раз подвергается поглощению и в результате мы видим синий цвет.
0.4 Цветовые модели
Преобразования между пространствами RGB и CMY определяются следующим образом:
щ ъ ъ ъ ъ ы
Y
I
Q
щ ъ ъ ъ ъ ы
=
щ ъ ъ ъ ъ ы
0.299
0.587
0.114
0.596
-0.274
-0.322
0.211
-0.522
0.311
щ ъ ъ ъ ъ ы
щ ъ ъ ъ ъ ы
R
G
B
щ ъ ъ ъ ъ ы
(0.4.1)
щ ъ ъ ъ ъ ы
R
G
B
щ ъ ъ ъ ъ ы
=
щ ъ ъ ъ ъ ы
1.0
0.956
0.623
1.0
-0.272
-0.648
1.0
-1.105
0.705
щ ъ ъ ъ ъ ы
щ ъ ъ ъ ъ ы
Y
I
Q
щ ъ ъ ъ ъ ы
(0.4.2)
Насыщенность S определяет насколько близок цвет к «чистому» пигменту и меняется от 0 на вертикальной оси V до 1 на боковых гранях шестигранного конуса.
Подпрограммы перехода от RGB к HSV и обратно приведены в Приложении 1.
Цветовой тон H, аналогично системе HSV, задается углом поворота.
Насыщенность S меняется в пределах от 0 до 1 и задается расстоянием от вертикальной оси L до боковой поверхности конуса. Т.е. максимально насыщенные цветовые цвета располагаются при L=0.5, S=1.
В общем, систему HLS можно представить как полученную из HSV «вытягиванием» точки V=1, S=0, задающей белый цвет, вверх для образования верхнего конуса.
Подпрограммы перехода от RGB к HLS и обратно приведены в Приложении 1.
0.4.1 Задание цветов
Растровые дисплеи, как правило, используют аппаратно-ориентированную модель цветов RGB.
В полноцветных дисплеях для каждого пиксела в видеопамять заносится тройка значений RGB. В этом случае при необходимости отображения пиксела из видеопамяти непосредственно выбирается тройка значений RGB, которая и передается на монитор (но может и передаваться в таблицу цветности).
0.4.2 Интерполяция цветов
Интерполяция цветов требуется во многих случаях для создания эффектов реалистичности изображения, например, при наложении цветов в технике акварели, т.е. при наложении одного прозрачного цвета на другой, при создании эффектов постепенного изменения цвета в последовательности картин, при построчном заполнении многоугольника методом Гуро и т.д.
Если требуется интерполировать между двумя цветами обладающими одним и тем же цветовым тоном (насыщенностью), так чтобы получаемые цвета имели тот же самый цветовой тон (насыщенность), то необходимо использовать модель или HVS или HLS.
В остальных случаях более удобно пользоваться аппаратно-ориентированной моделью RGB.
0.5 Печатающие устройства
С точки зрения процесса переноса цветов на бумагу устройства печати можно разделить на механические и немеханические. На рис. 0.5.1-0.5.2 приведена классификация механических и немеханических методов документирования. На рис. 0.5.3 приведена классификация, детализирующая различные методы отображения текстов.
Посимвольно-ориентированные методы гарантируют высокое качество текста, но для графического представления они вряд ли применимы. Растрово-ориентированные методы подходят также и для графического вывода.
0.5.1 Разрешение устройств
Важнейшей характеристикой растровых устройств, формирующих изображение из отдельных точек, является пространственное разрешение. Оно в первую очередь определяется размером элементарного пятна, а также возможностями размещения пятен. Так как обычно растровое пятно представляет собой некоторую область с убыванием интенсивности от центра к краям, то для различимости отдельных пятен необходимо не слишком большое их перекрытие. На рис. 0.5.4 показаны случаи различимости и неразличимости отдельных пятен. Если пересечение пятен ниже уровня » 0.6 от максимальной интенсивности, то пятна различимы (см. рис. 0.5.4а). Если же пересечение пятен выше уровня 0.6, то пятна неразличимы (см. рис. 0.5.4б). Это обстоятельство используется для повышения качества печати (степени гладкости) на растровых принтерах за счет частичного наложения пятен.
Другими факторами, определяющими разрешающую способность, являются: · форма пятна (круглое, эллипсоидальное или иное); · распределение яркости по пятну (по гауссу или иное).
Кроме пространственного разрешения существенной характеристикой устройств документирования является адресное разрешение, т.е. точность с которой может задаваться позиция. Как правило, адресное разрешение превышает пространственное или во всяком случае не меньше последнего.
Адресное разрешение определяет размер памяти, требуемый для хранения отображаемого растрового образа, а также возможности по устранению ступенчатости изображения.
0.5.2 Матричный принтер
Широко распространенным устройством является матричный принтер. Он позволяет довольно качественно выводить текст и формировать графические изображения в основном для вспомогательных целей.
В одноцветных принтерах красящая лента свернута в кольцо Мебиуса, так что обеспечивается использование ленты с двух сторон. Цветные принтеры, в зависимости от используемой бумаги, работают в один или несколько проходов. Если возможно использование обычной бумаги, то все цвета печатаются в каждой строке, прежде чем произойдет перемещение к следующей. Цвет переключается механически вертикальным смещением красящей ленты. В более скоростных (и дорогостоящих) цветных принтерах, использующих специальную толстую перфорированную бумагу, лента состоит из трех частей: красной, желто-зеленой и синей. Печать происходит постранично в три прохода.
Забота о неналожении точек различных цветов друг на друга возлагается на пользователя. При повторной печати точки другим цветом краситель с бумаги частично переносится на ленту, поэтому ленты быстро мажутся, особенно, светлых оттенков.
Обычно принтеры имеют несколько комплектов внутренних шрифтов и память для загрузки шрифтов, созданных пользователем. В хороших принтерах оба хода головки рабочие и слева-направо и справа-налево.
Как правило, принтеры имеют встроенную память для накопления распечатываемого текста (до нескольких десятков страниц).
Скорости печати в символьном режиме порядка первых сотен символов в секунду (120, 120-200, более 200). Скорости печати строк в минуту также первые сотни (до 200, 200-400, более 400).
В наименовании высококачественных принтеров обычно имеются буквы, определяющие наивысшее качество печати:
Протокол матричного принтера
Стандартами де-факто для знакосинтезирующих принтеров стали три системы команд:
· система команд фирмы Epson;
· система команд фирмы IBM для семейства принтеров Proprinter;
· система команд фирмы IBM для графического принтера (IBM Graphics printer).
0.5.3 Струйная печать
Цветная струйная печать хорошо подходит для использования в деловой графике. Набор сопел для чернил размещается в головке печати, с, по крайней, мере одним соплом на один субтрактивный цвет. Нынешние модели базируются на технологиях: «капля по запросу», «пузырьковой технологии струйной печати» и «Micro Piezo, Micro Dot, Micro Wave».
Принцип действия струйной печати пояснен на рис. 0.5.6. Цилиндрический пьезоэлектрический кристалл плотно надет на резиновую трубку, заканчивающуюся соплом. При подаче напряжения на кристалл трубка обжимается и выбрасывает каплю чернил в сопло. Дроссель служит для того, чтобы при обжатии трубки чернила выбрасывались только в сопло, а не в резервуар с чернилами. Частота работы сопел составляет до 900 герц.
Обычная разрешающая способность по горизонтали до 150 точек на дюйм (6 точек/мм) по горизонтали и до 100 точек на дюйм по вертикали (4 точки/мм). Достижения современной технологии изготовления головок позволяют разместить до 50 сопел на 1/6 дюйма, чем обеспечивается вертикальное разрешение до 300 точек на дюйм (12 точек/мм).
Достоинством устройств струйной печати является малое энергопотребление и практически бесшумная работа.
В струйных черно/белых принтерах фирмы HP используется и другой способ формирования капелек, показанный на рис. 0.5.7. На изолирующую подложку нанесены токоподводящие проводники. На небольшом расстоянии от подложки находится пленка с отверстиями сопел. Напротив каждого сопла в разрыве токоподводящего проводника размещена высокоомная площадка. Между подложкой и пленкой с соплами образован капилляр для подвода специальных чернил. При пропускании импульса тока около 1 А высокоомная площадка быстро разогревается, под действием теплового удара формируется волна, выбрасывающая капельку чернил из сопла.
Фирма Seiko Epson Corporation разработала новую технологию струйной печати (Micro Piezo, Micro Dot и Micro Wave), отличтительным свойством которой является управление мениском чернил в сопле. Технология позволяет управлять размером и формой чернильных пятен, повысить скорость выстреливания капель, увеличить количество оттенков до шести, включая полутона, и устранить зернистость. Технология позволяет получить разрешение до 1440 точек на дюйм ( » 57 точек на мм). Принцип работы струйных принтеров, использующих новую технологию, представлен на рис. 0.5.8. На рис. 0.5.9 показаны результаты печати по технологиям Micro Dot и традиционной.
Протокол устройств струйной печати
Стандартом де-факто для струйных принтеров является протокол принтеров фирмы Epson, ряд принтеров эмулирует язык HPGL, разработанный фирмой Хьюлетт-Паккрад для графопостроителей.
0.5.4 Лазерный принтер
Черно-белый лазерный принтер
Схема устройства монохромного лазерного принтера показана на рис. 0.5.10. Слой фоточувствительного селена, нанесенный на алюминиевый барабан, в темном боксе аппарата получает равномерный положительный поверхностный заряд с помощью коронного разряда. Этот фоточувствительный слой является изолятором в темноте и полупроводником при освещении. Заряженный слой облучается источником света с целью создания на нем скрытого изображения в виде распределения заряда. Скрытое изображение делается видимым с помощью мелкодисперсного порошка положительного тонера. Синхронно с вращением барабана перемещается обычная бумага. Частички тонера под действием электростатического поля переносятся на бумагу. Полученное изображение фиксируется термическим способом. Перед следующим заряжанием фоточувствительный слой очищается от оставшихся частиц тонера и разряжается.
Цветной лазерный принтер
Схема устройства цветного лазерного принтера показана на рис. 0.5.12. Как видно из рисунка цветной лазерный принтер подобен черно-белому.
Для печати за один проход по бумаге используются гибкая светочувствительная лента, покрытая слоем селена, и лента переноса, на которой формируются изображения для всех четырех цветов.
Изображение, сформированное на ленте переноса, переносится на бумагу и затем закрепляется нагреванием.
Протоколы лазерных принтеров
Стандартом де-факто для лазерных принтеров является система команд PCL (язык команд принтера) лазерных принтеров HP LaserJet Plus фирмы Hewlett Paccard.
Многие лазерные принтеры имеют как систему команд PCL, так и аппаратные интерпретаторы PostScript. В целом данные для печати в PCL во много раз короче, чем данные, представленные в PostScript, соответственно несравненно меньше и время передачи данных на принтер. Особенно эти проблемы заметны при программной обработке, например, на принтер, поддерживающий только PostScript, выдаются данные из системы TeX для авторской подготовки статей. Зачастую при этом менее 10 Кбайт текста преобразуется более чем в 100 Кбайт данных на языке PostScript.
0.5.5 Принтеры на твердых красителях
Цветной лазерный принтер по сути представляет собой конструктивно объединенные четыре монохромных принтера, работающие последовательно. Для большинства цветных лазерных принтеров скорость черно-белой (монохромной) печати в четыре раза превышает скорость цветной печати.
В отличие от цветных лазерных принтеров, принтеры на твердых красителях (solid ink printers) исходно разрабатывались как цветные устройства. Перед началом работы твердые красители расплавляются нагревательным элементом и готовы к работе в течение рабочего дня (рис. 0.5.13).
В лаборатории фирмы Тектроникс, разработавшей эти принтеры, достигнута скорость печати до 100 страниц/мин. На рис. 0.5.14 показан внешний вид принтера Phaser 840, выпускаемого фирмой Тектроникс.
Протоколы принтеров на твердых красителях
Рассмотренными принтерами поддерживаются языки описания страниц Adobe Postscript Level 2, HPGL, HCL-5.
0.6 Графопостроители
В разделе рассмотрены назначение, классификация, принципы действия и устройство графопостроителей.
Графопостроители можно классифицировать следующим образом:
Результат работы графопостроителей состоит в установлении головки в требуемую позицию, маркировании позиций и/или их соединение линиями.
Требуемые координаты задаются в 2D координатной системе, большей частью это XY-система.
0.6.1 Планшетные графопостроители
В планшетных графопостроителях (рис. 0.6.1) носитель неподвижно закреплен на плоском столе. Закрепление либо электростатическое, либо вакуумное, либо механическое за счет притягивания, прижимающих бумагу пластинок, к (электро)магнитам, вмонтированным в поверхность стола. При документировании на бумаге специальной бумаги не требуется. Головка перемещается по двум перпендикулярным направлениям. Размер носителя ограничен размером планшета.
В некоторых устройствах небольших размеров головка закреплена неподвижно, а перемещается стол с закрепленным на нем носителем, как это сделано во фрезерных станках с числовым программным управлением.
0.6.2 Графопостроители с перемещающимся носителем
Имеются три разновидности графопостроителей с перемещающимся носителем:
· барабанные графопостроители, в которых носитель фиксированного размера укреплен на вращающемся барабане;
· рулонные графопостроители, которые подобны фрикционным, но используют специальный носитель с краевой перфорацией.
Общая схема графопостроителя с перемещающимся носителем приведена на рис. 0.6.2.
Вне зависимости от способа перемещения носителя, система привода графопостроителей с произвольным сканированием использует либо шаговые двигатели, поворачивающиеся на фиксированный угол при подаче одного импульса, либо исполнительную систему с обратной связью, содержащую двигатели привода и датчики положения.
Перемещения с шаговыми двигателями обычно выполняются на 1 шаг по одному из 8 направлений (рис. 0.6.3).
Поэтому требуется аппроксимация вычерчиваемой кривой штрихами основных направлений. Повышение точности аппроксимации достигается как уменьшением шага, так и путем увеличения числа направлений перемещения за счет использования дополнительных пар моторов или за счет изменения передаточного числа.
0.6.3 Электростатические графопостроители
Электростатические графопостроители быстрее перьевых графопостроителей, но медленнее лазерных печатающих устройств. Их скорость составляет от 500 до 1000 линий, наносимых на бумагу в 1 мин. Они работают с разрешением 200-400 точек на дюйм. Электростатические графопостроители необходимы, если требуется высококачественный цветной вывод для CAD-системы. Такой графопостроитель в 10-20 раз быстрее перьевого. Среди лидеров на рынке этих устройств фирмы Versatec, Calcomp и Benson. Эти графопостроители весьма дорогие их цена 30-150 тысяч долларов.
Основные параметры графопостроителей
Точность определяется минимально возможным значением приращения координаты. Обычные значения десятки микрометров.
Уникальные высокоточные графопостроители имеют зачастую и уникальные протоколы управления.
Графопостроители широкого распространения, как правило, поддерживают протокол графопостроителей фирмы Хьюлетт-Паккард HPGL (Hewlett Packard Graphics Language). Он содержит небольшое количество графических функций, легко читается и интерпретируется.
Некоторые графопостроители интерпретируют протокол REGIS, разработанный для терминалов VT 240 (и более мощных).
0.7 Электронно-лучевые трубки
0.7.1 Черно-белые кинескопы
Пространственное разрешение таких ЭЛТ определяется диаметром пятна и составляет 3-10 точек/мм (85-250 точек/дюйм).
Адресное разрешение определяется уже схемотехническими решениями разработчиков дисплея и составляет для пользователей обычно 1024 пиксела по горизонтали (10 разрядов). Для уменьшения эффектов ступенчатости внутри цифровых систем разверток векторных дисплеев используется 11 или 12 разрядов.
б) Электростатическая отклоняющая система
0.7.2 Цветные кинескопы
Устройство цветных кинескопов подобно устройству черно-белых с тем отличием, что обязательно имеется три типа люминофора для красного, зеленого и синего цветов, а также средств для формирования и управления тремя отдельными электронными лучами (в некоторых, скорее экспериментальных цветных кинескопах используется единственный электронный луч).
Первый цветной масочный кинескоп с тремя отдельными электронными пушками, установленными друг относительно друга под 120 ° был разработан в США в 1950 г (кинескоп с дельта-образным расположением пушек). На рис. 0.7.2-0.7.5 иллюстрируется устройство такого кинескопа.
Проблемы цветных масочных кинескопов
Основными проблемами цветных масочных кинескопов, определившими необходимость разработки альтернативных конструкций кинескопов, являются следующие:
· большие напряжения и токи,
· малая яркость (на экран из-за маски попадает
· статическое сведение лучей,
· динамическое сведение лучей,
· статический и динамический балансы белого.
Кинескопы с планарным расположением пушек
Достоинства планарных кинескопов: · б\’ольшая прозрачность маски, · б\’ольшее заполнение экрана люминофором, · б\’ольшая яркость и меньшее энергопотребление, · до углов отклонения в 90 ° не нужно динамическое сведение лучей.
Трехлучевой тринитрон
Одной триаде из RGB полосок люминофора соответствует одна проволока фокусирующей сетки.
Яркость хроматрона выше чем у любого масочного кинескопа.
Недостатки: сложная система поддержания чистоты цвета, меньшее разрешение, требуется высокая стабилизация питания.
Однолучевой хроматрон
Несколько более простую конструкцию по сравнению с трехлучевым хроматроном имеет однолучевой хроматрон (рис. 0.7.9). Но как видно из рисунка требуется втрое более скоростная система управления отклоняющими напряжениями на сетке.
Все остальные конструктивные особенности, достоинства и недостатки у однолучевого хроматрона соответствуют таковым для трехлучевого.
Индексный кинескоп
Наиболее точное управление лучом обеспечивается в индексном кинескопе (рис. 0.7.10).
На внутреннюю поверхность экрана колбы (см. рис. 0.7.10) нанесены вертикальные полоски триад люминофора, разделенные индексными полосками, излучающими в ультрафиолетовом диапазоне внутрь колбы. Излучение принимается датчиком. Таким образом точно известно положение луча по горизонтали.
В зависимости от положения луча его ток модулируется напряжением для красного, зеленого или синего цветов (UR, UG или UB).
Недостатки индексного кинескопа следующие: · сложность поэлементной коммутации цветов, · высокая линейность строчной развертки, · более низкие яркость, контрастность, четкость.
0.7.3 Разрешение мониторов
Число строк на мониторе с растровым сканированием зависит от расстояния наблюдения и остроты зрения человека. Для получения хорошего качества и меньшего утомления глаза человека число строк должно быть таким, чтобы при наблюдении с выбранного расстояния отдельные строки не были различимы.
Пусть с расстояния L две смежных строки видны под углом f (рис. 0.7.11), в этом случае выполняется соотношение:
tan(
f 2
) =
h/2 L
=
(H/N)/2 L
,
где
h
—
расстояние между строками,
L
—
расстояние от глаза до экрана,
H
—
высота экрана,
N
—
число строк разложения.
Так как угол f очень мал, то tan([( f )/ 2]) @ [( f )/ 2], отсюда следует:
Для неразличимости двух строк угловое расстояние между ними должно составлять величину порядка 1 (на самом деле это значение варьируется возле 4/10000 радиана @ 1.38).
Важным параметром в определении числа строк является отношение высоты экрана H к расстоянию до глаза L. Имеется оптимальное отношение. Если расстояние мало, глаз не видит весь объект. Напротив, при большом расстоянии становятся неразличимыми детали. При формате кадра 4:3 1 оптимальное расстояние наблюдения составляет 4. 6 высот экрана. Таким образом получаем, что оптимальное число строк составляет от 416 до 625.
Кроме психофизиологических условий разрешение мониторов определяется технологией изготовления. Для цветного кинескопа разрешение определяется расстоянием h между пятнами люминофора одного и того же цвета (рис. 0.7.12). Для современных кинескопов это расстояние равно 0.26 мм.
0.7.4 Люминофоры
Экран электронно-лучевых трубок покрывается изнутри люминофором, который излучает свет при падении на него электронного луча (флуоресценция). После выключения луча излучение продолжается еще некоторое время (фосфоресценция) (рис. 0.7.13). Время этого послесвечения является одним из важных параметров трубки, так как определяет как часто будет требоваться регенерация изображения, т.е. его повторный вывод для того чтобы пользователь видел немерцающую картину. Параметры некоторых люминофоров приведены в таблице 0.7.1.
0.7.5 Гамма-коррекция
Электронно-лучевые трубки мониторов обладают нелинейной зависимостью интенсивности свечения люминофора I от числа электронов в луче N. Упрощенно эта зависимость имеет вид:
Более точно это соотношение имеет вид:
I = k×U g (U) + I0,
(0.7.3)
Чтобы избежать искажений, используется гамма-коррекция входного сигнала. Для этого входное значение возводится в степень 1/ g и затем передается монитору.
На самом деле зависимости более сложные. Необходимо учитывать уровень освещения в комнате, где находится компьютер, яркость и контрастность, установленные на мониторе, и наконец субъективное восприятие пользователя.
Встроенные гамма-коррекции
Некоторые графические системы имеют встроенную аппаратную гамма-коррекцию, которая может регулироваться. Как правило, встроенная гамма-коррекция отличается от усредненного значения гаммы мониторов, равного 2.5 и близка к минимальному значению гаммы мониторов (см. выше). Дополнительная гамма-коррекция, требуемая для обеспечения верности воспроизведения, называется «системной».
Файл изображения может иметь свою собственную гамму, равную величине гамма-коррекции, использованной при формировании файла. Эта гамма-коррекция называется «файловой». Большинство растровых графических файлов, за исключением файлов TGA и PNG, не предусматривают сохранения «файловой гаммы», поэтому при воспроизведении может потребоваться ее подбор.
IBM PC и графические станции фирмы SUN не имеют встроенной гамма-коррекции, т.е. их системная гамма примерно равна 2.5. Поэтому для верного воспроизведения сигнал (значение кода пиксела) следует возводить в степень 1/2.5.
Графические станции фирмы Silicon Graphics имеют встроенную аппаратную гамма-коррекцию, равную 1.7, т.е. при посылке пиксела в буфер кадра его значение возводится в степень 1/1.7. Таким образом программное обеспечение должно само вначале отрегулировать сигнал возведением в степень 1/1.5 (2.5/1.7
1.5). Т.е. системная гамма для этих станций составляет 1.5.
Графические станции Макинтош имеют встроенную аппаратную гамма-коррекцию, равную 1.4. Таким образом для полной гамма-коррекции программное обеспечение должно само вначале отрегулировать сигнал возведением в степень 1/1.8 (2.5/1.4
1.8). Т.е. системная гамма для этих станций составляет 1.8.
Влияние гамма-коррекции на передачу цветов
Значения гаммы для различных мониторов могут быть различны для красного, зеленого и синего каналов. Кроме этого мониторы могут отличаться и по спектральным характеристикам люминофоров. Поэтому для обеспечения верности воспроизведения изображения, построенного на другом мониторе, может потребоваться подбор гаммы. Обычно это делается после оценки гаммы монитора с помощью калибровочных тестовых изображений.
Влияние значения гаммы на цветопередачу очевидно. Пусть, например мы имеем изображение цветного квадрата, построенного с использованием модели RGB (см. раздел 0.4) и вычисленным соотношением яркостей цветов равным 8:2:2. После воспроизведения на графической системе без гамма-коррекции мы получим соотношение, равное 32:1:1.
1 Формат кадра 4:3 выбран из тех соображений, что зона действия желтого пятна глаза составляет 8по горизонтали и 6 по вертикали. Объект, попадающий на желтое пятно, виден наиболее ясно и целиком, т.е. соотношение его сторон также должно быть порядка 4:3.
0.8 Дисплеи с произвольным сканированием луча (каллиграфические или векторные дисплеи)
В данном разделе рассматривается архитектура дисплеев с произвольным и растровым сканированием луча, использующих ЭЛТ в качетве устройства отображения.
Вводятся понятия дисплейного файла, линейного дисплейного файла и структурированного дисплейного файла, дисплейного процессора.
Показывается, что дисплейный процессор состоит из дисплейного контроллера, блока преобразований и дисплейного генератора.
Анализируется процесс преобразования модели объекта в изображение, рассматриваются целесообразные границы разделения функций между центральным процессором и графической системой, описываются альтернативные архитектуры дисплеев.
В настоящее время подавляющее распространение получили растровые дисплеи. Рассмотрение векторных дисплеев производится, в основном, из-за того что построение изображения на них осуществляется с использованием привычных понятий позиционирования и вычерчивания. На примере таких устройств формулируются общие понятия и выделяются принципиальные компоненты любой графической системы, назначением которой является представление модели объекта в изображение.
Дисплейный файл
Линейный и сегментированный дисплейные файлы
Структурированный дисплейный файл
Для сокращения объема дисплейного файла в составе команд дисплейного процессора могут предусматриваться не только графические команды формирования изображений и перехода, но и команды организации циклов и обращения к подпрограммам. Если описание изображения построено с использованием вложенных вызовов подпрограмм, то такого сорта дисплейный файл называется структурированным.
Легко видеть, что наличие механизма вложенных вызовов подпрограмм, в общем случае, требует наличия у дисплейного процессора средств геометрических преобразований и отсечения частей изображения, выходящих за пределы экрана. (Представьте себе изображение в перспективе улицы из типовых домов. Можно обойтись одной подпрограммой для построения дома, но каждый дом должен подвергаться индивидуальному преобразованию, а для некоторых домов потребуется отсечение).
Архитектура
Первые графические векторные дисплеи с регенерацией появились на зарубежном рынке в конце 60-х годов. В нашей стране серийные векторные дисплеи появились в середине 70-х годов.
Практически с самого начала векторные дисплеи имели разрешение 1024×1024 точки и могли без мерцания отображать от 1500 до 3000 векторов. Векторы могли быть нескольких типов (сплошные, штриховые, точечные, пунктирные и т.д.) с несколькими градациями яркости. Встроенные средства генерации символов обычно имели возможность строить символы двух фиксированных размеров нескольких ориентаций. В качестве средства диалога использовались буквенно-цифровая и символьная клавиатуры и световое перо.
Рассмотрим архитектуру простой графической системы. Далее будет использоваться понятие «дисплейный процессор» широко распространенное в литературе, но не имеющее точного определения. Здесь под ним мы будем понимать (рис. 0.8.1) аппаратную часть графической системы, которая: · формирует изображение на дисплее из описания картины; · обрабатывает графический ввод от пользователя.
Обе задачи весьма специальны и вычислительно интенсивны и могли бы значительно затруднить обычную работу ЦП.
В зависимости от требований приложений и используемых приборов вывода дисплейные процессоры имеют различную сложность и работают на различных принципах. По принципу формирования изображения различаются два основных класса дисплейных процессоров (см. рис. 0.8.1):
· каллиграфические или векторные устройства, называемые еще устройствами с произвольным сканированием луча;
Дисплейный процессор обязательно состоит из дисплейного контроллера и дисплейного генератора. Более мощные дисплейные процессоры оснащаются и собственными средствами преобразования и сохранения геометрических данных.
Так как для управления трубкой отклоняющие по X и Y напряжения должны формироваться независимо друг от друга, запишем выражение для координат вектора в следующей общей форме:
Vi = Pn + dP ·(i/k) = Pn + i ·(dP/k)
Умножение, путем i-кратного сложения даст:
Очередная точка вычисляется из соотношения:
Число адресуемых точек обычно выбирается так, что диаметр точки D = 1.41 ×R, где R точно единица растра. Это определяется необходимостью смыкания точек, стоящих в противоположных углах по диагонали квадратной растровой сетки.
Так как вектора на дисплее должны выглядеть непрерывными, то приращение | dP |/2 p должно быть меньше чем элемент растра:
| dX | / 2 p | dY | / 2 p ь э ю
Ю 2 p > L
Чтобы по возможности уменьшить число сложений, p вычисляется таким образом, чтобы выполнялось:
Для того чтобы можно было отобразить больше векторов без мерцания одновременно выполняют построение вектора на экране и определение инкремента dP/2 p для следующего. Этим способом можно выполнять в сумматоре без помех следующие сложения при начале нового вектора. При обработке коротких векторов можно, для повышения скорости вычислений, находить инкремент dP/2 p в «барабанном сдвигателе» (это сдвиговый регистр, в котором решена проблема перехода через границы слов). При использовании быстрых переключающих схем удается достичь времени прорисовки диагонали дисплея за 20 мкс при разрешении 1024×1024 (тактовая частота 50 МГц).
Xn = Yn = 0, Xk = 6, Yk = 3
в десятичной системе
dX / 2 p = 0.11
в двоичной системе
dY / 2 p = 0.011
в двоичной системе
Другое улучшение может быть получено использованием округления. Для этого перед началом генерации вектора в оба сумматора надо загрузить 0.5. Отклонение вычерченной точки от точной позиции будет по максимуму равно половине растрового расстояния.
10-бит
ЦАП
11-бит
ЦАП
12-бит
ЦАП
X
Y
X
Y
X
Y
000.
000.
000.1
000.0
000.11
000.01
001.
000.
001.1
000.1
001.10
000.11
010.
001.
010.0
001.0
010.01
001.00
011.
001.
011.0
001.1
011.00
001.10
011.
001.
011.1
001.1
011.11
001.11
100.
010.
100.1
010.0
100.10
010.01
101.
010.
101.0
010.1
101.01
010.10
110.
011.
110.0
011.0
110.00
011.00
В растровых дисплеях ступеньки в одну дискрету возникают обязательно. Их устранение возможно не за счет уточнения позиционирования, как в векторных, а за счет корректировки изображений пикселов, что приводит к понижению пространственного разрешения. Более подробно борьба с лестничным эффектом в растровых дисплеях освещена во второй части курса.
Другие алгоритмы генерации векторов
Описанный выше генератор векторов имеет тот недостаток, что точки могут прописываться дважды и поэтому на дисплее с произвольным сканированием могут вызывать нежелательные колебания яркости. Кроме того из-за независимого вычисления обеих координат нет предпочтительных направлений.
Субъективно, однако, лучше смотрятся вектора с единичным шагом по большей относительной координате (несимметричный ЦДА). Для dX > dY (при dX,dY > 0) это означает, что координата по X направлению должна увеличиться на 1 dX раз, а координата по Y-направлению должна также dX раз увеличиться, но на dY/dX. Так как, как правило, dX не является степенью двойки, то требуется выполнения деления, что затруднено при аппаратной реализации.
Разработаны алгоритмы цифрового генератора векторов для окружностей и конических сечений.
Цифровой генератор векторов представляет собой специализированный, легко применимый процессор, встраиваемый в современные растровые системы как один из функционально-ориентированных процессоров. Его интеграция с приборами вывода различной точности и скорости показана на рис. 0.8.4.
Знакогенератор
Знаки (буквы, цифры, значки), наряду с векторами, являются наиболее широко употребимыми графическими примитивами. Они в общем представлены в закодированной форме, например, ASCII, КОИ-8 и т.д. Эти коды преобразуются знакогенератором в координатные значения для представления соответствующих знаков.
Векторный метод
Знаки запомнены в генераторе символов в виде приращений координат. Для формирования изображения знака вызывается генератор векторов для построения отрезков, составляющих знак. Для повышения эффективности кодирования используются короткие векторы в виде отрезков, соединяющих точки специального символьного растра. Знак кодируется как последовательность номеров растровых точек. Фактические относительные координаты, которые передаются генератору векторов, должны перед этим преобразоваться, чтобы, например, сохранить масштаб или направление вычерчивания знаков. При этом такое преобразование не влияет на качество знака. Генератор знаков, работающий таким образом, имеет высокое качество генерации знаков и пригоден для генерации определенных пользователем последовательностей символов.
Метод матрицы точек
При использовании такого метода знаки заданы как последовательности точек внутри точечной матрицы (например, 5×7 или 16×32 точек) и запомнены в генераторе знаков. При выводе знака матрица знака сканируется по строкам или по столбцам и используется для управления включением/выключением луча. Качество символов приемлемое только при отображении 1:1. Координатные преобразования, за исключением сдвига и поворота на углы, кратные 90, как правило, невозможны. Так как тогда каждая отдельная точка знака должна бы была преобразовываться и соответствующим образом выводиться, что приводило бы к затратам времени, неприемлемым для большинства приложений.
Наряду с управлением отклонением включением/выключением луча в некоторых реализациях знакогенератор формирует сигналы для управления межсимвольным расстоянием в строке. Знакогенераторы с матрицей точек обычно используются в дисплеях с растровым сканированием луча.
Генераторы кривых и плоскостей
Наряду с генераторами векторов и знаков, многие дисплеи имеют генераторы кривых и плоскостей. Преимущество их использования в первую очередь состоит большей скорости вычерчивания а, кроме того, экономится память для хранения картины и требуется меньшее время для ее передачи. В основном, используются генераторы дуг окружностей и эллипсов.
0.8.2 Преобразования
Преобразование изображения заключается либо в его геометрическом, координатном преобразовании, либо в преобразовании видимости, заключающемся, в частности, в отсечении частей полной сцены, невидимых в заданном окне просмотра.
Координатные преобразования
Дисплеи большой мощности обеспечивают выполнение геометрических преобразований (сдвиг, вращение, масштабирование, перспектива) в реальном времени с помощью аппаратуры перемножения матриц. При этом используются однородные координаты, позволяющие любое преобразование представить как умножение координат вектора на матрицу 4×4. На преобразование требуется 16 умножений и 12 сложений. При перспективных преобразованиях дополнительно требуются 2 деления. Аппаратура преобразований, в основном, реализуется на СБИС. На обычных стандартных чипах достигнуты времена преобразования в 3 мкс (без делений).
Отсечение векторов
Если изображение выходит за пределы экрана, то на части дисплеев увеличивается время построения за счет того, что изображение строится в «уме». В некоторых дисплеях выход за пределы экрана приводит к искажению картины, так как координаты просто ограничиваются при достижении ими граничных значений, а не выполняется точный расчет координат пересечения (эффект «стягивания» изображения). Некоторые, в основном, простые дисплеи просто не допускают выхода за пределы экрана. Все это, особенно в связи с широким использованием технологии просмотра окнами, требует выполнения отсечения сцены по границам окна видимости.
Программное исполнение отсечения достаточно медленный процесс, поэтому, естественно, в мощные дисплеи встраивается соответствующее оборудование.
Первое сообщение об аппаратуре отсечения, реализующей алгоритм Коэна-Сазерленда для отсечения отрезка на прямоугольном окне в устройстве Clipping Diviger, появилось в 1968 г.
Имеются реализации в СБИС варианта алгоритма Сазерленда-Ходгмана для отсечения многоугольника на прямоугольном окне. В этом алгоритме многоугольник последовательно отсекается всеми четырьмя сторонами окна.
0.8.3 Дисплейный контроллер
Из блок-схемы простой графической системы (см. рис. 0.8.1), после рассмотрения работы дисплейного генератора и блока преобразований, ясно назначение дисплейного контроллера: · связь с компьютером; · управление формированием изображения; · обработка графического ввода.
Специального пояснения обеспечение связи с компьютером повидимому не требует.
В чем заключается обработка графического ввода будет в основном уяснено при рассмотрении различных устройств ввода.
Здесь требует пояснений лишь функция управления формированием изображений, которая зависит от выбранной архитектуры. Если, например, дисплейный файл находится в ЦП, то ЦП выставляет стартовый адрес и инициирует контроллер. Когда контроллеру требуется следующая команда, то он приостанавливает процессор и выполняет доступ к памяти. Полученная команда декодируется и исполняется. Это могут быть команды построений, управления атрибутами построения, выполнения преобразований, отсечения, задания следующего адреса доступа и т.д. Понятно, что в этом случае контроллер отнимает время ЦП, которое могло бы быть использовано более полезным образом. С этой целью проанализируем различные построения графических системы.
0.8.4 Варианты архитектуры графических систем
Здесь мы рассмотрим самые общие соображения по построению графической системы, не зависящие от метода формирования изображения (произвольное или растровое сканирование луча).
Ясно, что отображение, хотя временами и очень трудная, но стабильная проблема, в то время как моделирование определяется потенциально бесконечным количеством приложений. Поэтому, оговорив интерфейс, есть смысл разделять моделирование и отображение так чтобы было возможно из независимое развитие.
Принципиальным моментом в разработке распределенной системы является выбор оптимального разделения функций между подсистемами моделирования и отображения. Естественно предполагать, что какая-либо граница раздела должна находиться в месте полного завершения выполнения некоторой функции. Кроме того, вряд ли целесообразно разделять между различными подсистемами некоторый файл данных и программу (процессор) его «интенсивной» обработки. Для уяснения задачи распределения функций рассмотрим модель графической системы с точки зрения процессов преобразования информации при формировании изображения.
Процесс вывода может быть представлен следующей схемой:
В этой модели отдана дань традиционному соображению о полезности структурированного дисплейного файла, представляющего собой иерархию вложенных объектов. Каждый объект, кроме примитивных элементов, может содержать экземпляры объектов нижнего уровня. Экземпляр объекта может сопровождаться набором совершаемых над ним преобразований. Использование экземпляров объекта выполняется либо его копированием, либо ссылкой (аналогично вызову подпрограммы). На самом же деле такое описание изображения подразумевает иерархичность его структуры, которая действительно имеет место в только ряде задач проектирования.
Следует отметить, что, так называемая, аппаратно-ориентированная форма для современных дисплеев, как правило, весьма высокоуровневая и включает в себя типичные наборы примитивов, атрибутов, средств сегментирования и даже структурирования. Аппаратность же в основном заключается в использовании некоторой вполне определенной формы кодирования, причем обычно наиболее компактной.
Из рассмотренного ясно, что наиболее целесообразны границы раздела ВЫВ1, ВЫВ3, ВЫВ4. Причем первые две обеспечивают аппаратную независимость, а последняя соответствует минимальным требованиям к подсистеме отображения.
Естественно полагать, что подсистема моделирования находится в ЦП, а подсистема отображения представлена дисплейным процессором.
Для повышения быстродействия при выполнении преобразований используются архитектуры с двойной буферизацией, использующие два дисплейных контроллера и два буфера для сохранения изображения. Дисплейный контроллер 1 выполняет преобразования и формирует линейный дисплейный файл в одном из буферов. Параллельно с этим более простым дисплейный контроллером 2 ведется отображение из второго буфера. Затем буфера переключаются.
0.8.5 Области применения векторных дисплеев
Основными качествами векторных дисплеев являются:
· векторное представление с высоким разрешением,
· динамическое представление с преобразованиями в реальном масштабе времени,
Параметры векторных дисплеев по разрешению, достигнутые уже более десятилетия назад, все еще проблематичны для растровых устройств. Так, например, дисплей СМ 7316 (НИИ периферийного оборудования, Киев, 1982 г.) мог отображать без мерцания до 4000-6000 векторов и 4096 символов при разрешении 2048×2048.
Поэтому такие дисплеи хорошо подходят для задач САПР, в которых требуется быстрое представление большого числа отрезков и малое время ответа на воздействие пользователя.
Кроме этого векторные дисплеи (их геометрическая часть) могут рассматриваться как геометрические процессоры для растровых систем.
0.9 Растровые дисплеи
Растровый (телевизионный) принцип формирования изображения заключается в разложении изображения на горизонтальные строки, состоящие из отдельных элементов. Вывод такого изображения осуществляется независимо от процесса построения с одинаковой скоростью последовательным сканированием по строкам в направлении сверху-вниз от 25 до 80 раз в секунду. В отличие от векторных дисплеев, в силу отделения процесса формирования картины от процесса ее вывода, сложность немерцающего изображения не ограничена.
Хотя телевидение (аналоговое) появилось еще в 30-е годы, использование телевизионного построчного представления изображений в компьтерной графике стало реально возможным с появлением дешевой полупроводниковой памяти для хранения растрового представления и прогрессом в технологии мониторов.
Растровые дисплеи имеют наиболее широкое распространение, что связано со следующими основными свойствами устройств этого класса:
· обеспечивается наивысшее качество при меньшей стоимости,
· полные цветовые возможности и легкость представления закрашенных поверхностей,
· возможность совместимости с телевидением позволяет смешивать синтезированные и естественные изображения и поддерживать новые технологии в телекоммуникациях (видеотекст, системы Multimedia),
· интерактивная компьтерная графика и обработка изображений могут выполняться в рамках одной системы,
· сложность немерцающего изображения практически неограничена,
· телевизор хорошо знаком каждому как привычный предмет обихода.
0.9.1 Видеоконтроллер
Видеоконтроллер формирует изображение на экране монитора путем его построчного вывода. При этом точно соблюдает время развертки строки, либо соответствующее телевизионным нормам, либо предопределенным параметрам (ширина полосы, частота строк и кадров и т.д.). Некоторые мониторы для сокращения полосы пропускания используют т.н. чересстрочную развертку (Interlacing), при которой две картинки имеют половинное вертикальное разрешение и выдаются на экран по двум вложенным в друг друга гребенкам строк (рис. 0.9.2). Вначале выдаются строки 1-го полукадра, затем 2-го. Таким образом, при частоте кадров 50 Гц полная смена изображения на экране выполняется с частотой 25 Гц. Такой способ используется в телевещании. Для синтезированных изображений он мало пригоден (при частоте кадров 50 Гц), так как одиночные горизонтальные линии, занимающие ровно одну строку, неприятно и очень утомляюще мерцают.
Важнейшим параметром не только для монитора, но и для растровой системы в целом является время, требуемое на обработку одного пиксела. Время, требуемое на обработку строки аппаратурой дисплея, составляет:
Причем для чересстрочной развертки обратный ход кадровой развертки за полную прорисовку картинки выполняется, естественно, дважды.
Так как часть времени строчной развертки тратится на перемещение луча к началу следующей строки (обратный ход строчной развертки, horizontal retrace), то время на обработку одного пиксела составит:
В таблице 0.9.1. приведены времена для некоторых мониторов.
В мониторах используются кинескопы с прямоугольной областью отображения с соотношением сторон обычно 4:3, что соответствует особенностям зрения человека. Если же для дисплея отношение числа пикселов в строке к числу строк отличается от 4:3, например, 512:512, то для занятия под изображение всей поверхности экрана потребуется сформировать не квадратные, а прямоугольные пикселы. Чтобы картинка выглядела на экране правильно (круг как круг и т.д.) ее потребуется предварительно искажать. Поэтому все современные дисплеи либо имеют соотношение 4:3 (640:480, 768:576, 1280:960 и т.д.), либо занимают под изображение не всю поверхность экрана.
После этих замечаний относительно представления растровых изображений легко сформулировать назначение видеоконтроллера:
· адресация и чтение данных из видеопамяти;
· формирование синхроимпульсов разверток по горизонтали и вертикали, соответствующих формату изображения. Эти синхроимпульсы используются монитором для формирования отклоняющих напряжений;
· управление монитором для задания требуемых цветов и интенсивностей, цифро-аналоговое преобразование.
Кроме этого, из таблицы 0.9.1. видно, что времена на обработку пиксела существенно меньше, чем времена доступа к динамической полупроводниковой памяти, составляющие 100 нс и более, поэтому видеопамять обычно организована специальным образом, так что из нее читается сразу не один пиксел.
Дополнительно заметим, что пикселы строки отображаются на экран строго последовательно. Поэтому обычным техническим решением является перепись пикселов в быстрый сдвиговый регистр с целью параллельно-последовательного преобразования и формирования сигналов управления цветами и интенсивностями по данным из этого регистра.
Таким образом блок-схема простого видеоконтроллера имеет вид:
Полноцветные дисплеи и дисплеи с таблицей цветности (ТЦ)
Мы, по сути дела, рассмотрели однобитовый растровый дисплей (дисплей с одной битовой плоскостью, одним битовым планом). Увеличивая количество плоскостей мы, естественно, увеличиваем количество отображаемых цветов. Можно выделить два класса цветных растровых дисплеев:
· полноцветные дисплеи, в которых для каждого пиксела сразу хранятся значения R, G, B. Обычно полноцветные дисплеи имеют по 1 байту на цвет. Т.е. объем видеопамяти составит почти 4 Мбайта при полной картинке 1280×1024 специально организованной, быстрой памяти. В таком дисплее на экране одновременно формально может присутствовать до 2 24 яцветов (более 16 миллионов);
Использование таблицы цветности поясняется на рис. 0.9.5.
Управление плоскостями изображения
В дисплее в N битами на пиксел можно запомнить N черно-белых, бинарных или же N/3 RGB картин. Каждая такая картина может отображаться с помощью соответствующей загрузки ТЦ. Если требуется, то их можно даже переключать с тактовой частотой! В случае черно-белого бинарного изображения ТЦ требуется загружать таким образом, чтобы ее элемент, соответствующий 1, содержал значения, дающее либо белый, либо черный оттенок.
Пусть, например, имеем дисплей с шестью битами на пиксел, с нумерацией плоскостей от нуля до пяти. Таблица цветности тогда должна иметь 64 элемента. Предположим, что надо включить изображение с зеленым цветом для плоскости номер ноль, а все остальные выключить. А затем включить красным цветом изображение в битовой плоскости номер один. Соответствующие этому раскраски таблицы цветности будут иметь вид:
Приоритет изображений
Во многих приложениях требуются изображения, объекты которых хотя и размещены в пространстве, но не имеют глубины. В этом случае не требуется решение общих задач пересечения поверхностей и удаления невидимых граней. Достаточно просто упорядочить объекты по глубине. К этому классу относятся, например, изображения слоев печатной платы, изображения слоев чертежа, окна системы управления окнами и т.д. Это упорядочение или приоритет может быть реализовано с использованием битовых плоскостей, закрашенных требуемым образом. Так как это не полное решение 3D задачи, то часто говорят об 2.5D изображениях. Если хотим получить эффект перекрытия отдельных прозрачных изображений, то заданному приоритету следует сопоставить соответствующий смешанный цвет в таблице цветности.
Значение
Содержимое таблицы
Содержимое таблицы
пиксела
цветности при
цветности при
перекрытии слоев
прозрачных слоях
0 0 0
Цвет фона
черный
0 0 1
Цвет картинки В
синий
0 1 0
Цвет картинки Б
зеленый
0 1 1
Цвет картинки Б
изумрудный
1 0 0
Цвет картинки A
красный
1 0 1
Цвет картинки A
пурпурный
1 1 0
Цвет картинки A
коричневый
1 1 1
Цвет картинки A
белый
Картинка:
А Б В
Приоритет А > Б > В
Прозрачные слои
Эффекты перемещений с помощью ТЦ
Динамическое изменение соотношений между кодами пикселов и соответствующих им цветам с помощью таблицы цветности позволяет моделировать эффекты движения, причем выполняемые очень быстро, в темпе разверток, а не в темпе генерации примитивов. Например, построим кривую с распределенными вдоль нее значениями кодов пикселов. Меняя элементы ТЦ, соответствующие этим кодам мы можем создавать эффекты ее постепенного построения, движения вдоль нее, рассыпания и т.д.
Преобразования изображения «на лету»
На уровне видеовывода, кроме цветовых преобразований, могут быть реализованы несложные геометрические преобразования в реальном времени причем также без изменения данных в видеопамяти.
Для реализации сдвига нужны регистр координат и быстрые компараторы, которые сравнивают текущую позицию луча с желаемой новой позицией объекта и управляют адресацией для видеопамяти. Аналогичным образом может выполняться отсечение и вращение на 90.
Плавное, не целочисленное масштабирование выполняется путем выбрасывания/дублирования не всех, а части пикселов в строке и строк.
Также В.Г. Сизыхом предложен и реализован метод однотонной заливки многоугольников в темпе видеовывода, позволяющий повысить скорость раскраски по максимуму в 768 раз. Для обычных синтезированных сцен повышение скорости более чем в 100 раз. Идея состоит в том, что при выполнении видеовывода строки отличные от нуля коды пикселов «защелкиваются» на регистре и передаются на вывод до тех пока не прийдет код, отличный от установленного. Последовательность закраски следующая:
· кадровый буфер очищается (все пикселы получают значение 0);
· у однотонно закрашенных многоугольников кодом с требуемым цветом строятся только левые ребра;
· крайние правые ребра прорисовываются кодом отличным от 0, но цвет, соответствующий данному коду, должен совпадать с цветом фона.
Записать элементы ТЦ
Построить отрезки
Но-
Байты ТЦ
AB кодом 2
мер
R
G
B
Пояснение
BC кодом 1
0
255
255
255
белый
CD кодом 4
1
255
255
255
белый
DA кодом 2
2
255
000
000
красный
DE кодом 4
3
000
255
000
зеленый
EF кодом 3
4
000
000
255
синий
FA кодом 3
CG кодом 1
GE кодом 1
0.9.2 Создание изображения
Модуль генерации изображений растрового дисплея (см. рис. 0.9.1), часто называемый в литературе «image creation system» (ICS), имеет то же назначение что и дисплейный генератор для векторного дисплея. Важнейшее отличие от генератора изображений для векторного дисплея состоит в том, что в растровом дисплее генератор изображения в произвольное время заносит его представление в видеопамять (т.н. функционально-растровое преобразование).
Вывод изображения на экран осуществляется независимо работающей подсистемой отображения, которая синхронно с разверткой читает строки пикселов и выдает их на экран.
С этим несомненным достоинством связаны два основных недостатка растровых дисплеев по сравнению с векторными:
· непосредственное взаимодействие с изображением затруднено, так как временного соответствия между «указанием» объекта на экране и его генерацией не существует, поэтому в растровых системах используется программное моделирование сцены для определения совпадения координат объекта и положения того или иного устройства указания;
· динамическое представление «не дергающихся» перемещений требует, чтобы скорости генерации и воспроизведения совпадали. Это в общем случае возможно только на векторных дисплеях.
Прогресс в области вычислительных технологий, по-видимому, позволит найти приемлемое решение этих проблем, например с использованием рассмотренного ниже растрирования в реальном времени.
Набор команд для растровых дисплеев, соответственно дополнительным возможностям, шире. Он включает команды задания яркостей или цвета, определения закрашенных поверхностей, команды копирования блоков пикселов, известные как Bitblt (Bit Boundary Block Transfer) или RasterOp (растровые операции) и выполнения логических операций над кодами пикселов.
Практически используются следующие операции:
Очистка
приемник:= константа
Узор
приемник:= постоянный узор
Копирование
приемник:= источник
Инвертирование
приемник:= NOT приемник
Логическое И
приемник:= источник AND приемник
Логическое ИЛИ
приемник:= источник OR приемник
Исключающее ИЛИ
приемник:= источник XOR приемник
Особенный интерес представляет операция XOR (Exclusive OR), позволяющая после двойного ее применения с одним и тем же источником восстановить исходное значение пиксела. В частности, эта операция может использоваться для генерации курсоров графического ввода: (Приемник XOR Источник) XOR Источник = Приемник XOR (Источник XOR Источник) = Приемник XOR 0 = Приемник
Кодирование данных в видеопамяти
Кодирование длин серий
К одному из простейших методов кодирования относится кодирование длин серий (run length encoding), заключающееся в том, что группа повторяющихся значений пикселов кодируется в виде пар из значения пиксела и числа его повторений.
С помощью такого кодирования достигается сокращение занимаемого объема в 10 и более раз. Так в задачах численного моделирования (см. п. *) средняя степень сжатия составляла 29 раз. Но для некоторых случаев возможно и увеличение объема, например, если изображение имеет вид шахматного поля из отдельных пикселов.
Ясно, что при таком способе кодирования утрачивается соответствие между координатой пиксела на экране и адресом в памяти изображения. Доступ к строкам возможен путем их последовательного просмотра. Для сокращения времени доступа можно использовать списочную структуру, как это показано на рис. 0.9.8.
Легко видеть, что у метода кодирования длинами серий, особенно при интерактивной работе, имеются следующие недостатки:
· объем занимаемой памяти сильно зависит от изображения и резко возрастает при сокращении длины повторения;
· изменение изображения требует исключения и создания элементов списка;
· определение длины серии требует просмотра. Для каждой строки нужно все описание картины для определения возможного вклада.
В целом, этот метод кодирования используется не для интерактивной работы, а для хранения изображения на диске или для передачи. В частности, кодирование длин серий используется в описании изображения для растровых дисплеев фирмы Tektronix, и в графическом редакторе Paintbrusch на IBM PC для оперативного хранения изображения.
Клеточное кодирование
В таком дисплее экран разбит на прямоугольные ячейки (знакоместа). Содержимое ячейки кодируется и размещается в видеопамяти по адресу знакоместа. Сокращение занимаемого объема памяти достигается за счет меньшей длины кодового слова, по сравнению с количеством пикселов в ячейке. Этот метод пригоден для алфавитно-цифровых дисплеев и примитивной графики. Так, например, при размере ячейки 8×8 и 8-ми битовом кодовом слове для дисплея со знакоместами достигается восьмикратная экономия памяти по сравнению с Bit-Map дисплеем. Наряду с символами и знаками в таком дисплее можно представлять и элементарные вектора. Функционально-растровое преобразование для векторов в таком дисплее выполняется подбором подходящей комбинации знакомест.
Такое представление используется в настоящее время только для алфавитно-цифровых режимов, так как в одном знакоместе может быть представлен либо один знак, либо отрезок и так как цвет и другие параметры отображения задаются сразу для всех пикселов знакоместа.
Использование знакомест для простого текстового дисплея разрешением 512×512 точек при размере знакоместа 8×8 и размере матрицы символа 5×7 показано на рис. 0.9.9. Такая матрица символов позволяет представить три вида шрифта: · большие + маленькие символы латиницы, · большие + маленькие символы кириллицы, · большие символы латиницы + кириллицы.
Кроме аппаратного использования для алфавитно-цифровых режимов, этот метод кодирования используется и в программной реализации для сокращения объема изображения при передаче или запоминании на диске. В частности, клеточное представление изображения используется в растровых дисплеях фирмы Tektronix и графических стандартах GKS (Graphical Kernel System) и CGI (Computer Graphics Interface).
Повышение быстродействия подсистемы визуализации
Одним из возможных методов повышения быстродействия системы визуализации является растрирование в реальном времени, при котором, как и в векторных дисплеях, промежуточное хранение изображения в видеопамяти отсутствует. В этом случае для каждого пиксела экрана требуется просканировать описание всего изображения, чтобы определить вклад различных объектов картины. Насколько трудна эта задача видно из таблицы 0.9.1, когда для дисплеев с разрешением 1024×768 это надо проделать за 16.5 нс! При введении буфера строки на обработку описания сцены требуется уже 20.9 мкс, что все равно слишком мало.
В какой-то мере решить эту задачу можно распараллеливанием. Можно усмотреть два способа распараллеливания:
В высококлассных, дорогостоящих графических системах в определенной мере используются оба способа, причем «процессор на пиксел» использовался только в экспериментальных дисплеях. Обычно же специализированный растровый процессор обслуживает полосу пикселов.
На рис. 0.9.10 приведен сравнительный анализ методов распараллеливания.
Объекты :
Параллельно
Последовательно
Пикселы :
Последовательно
Параллельно
Больше объектов :
Больше процессоров
Ускорение процессоров
Больше пикселов :
Ускорение процессоров
Больше процессоров
Пример :
Системы реального
Системы с Z-буфером.
времени
При использовании мультипроцессоров главная проблема возникает не при преобразовании и разложении картины и не при вычислении пикселов, а при формировании полной картины из пикселов, которые сформированы из отдельных частей картины. Она должна решаться таким же образом, как и проблема перекрытия фрагментов, возникающая при реалистичном представлении трехмерных сцен.
0.9.3 Видеопамять
В ныне существующих растровых дисплеях одной из важнейших компонент, обеспечивающих взаимодействие подсистем генерации и отображения, является видеопамять. Каждая из подсистем должна иметь свой доступ к видеопамяти и большой ширины. Причем доступ от подсистемы отображения для обеспечения немерцающего изображения жестко синхронизован с развертками монитора. А доступ со стороны подсистемы генерации для достижения высокой интерактивности и больших скоростей перемещения объектов желательно исполнять в произвольный момент времени.
Обычные микросхемы памяти имеют время цикла порядка первых сотен наносекунд. Из сравнения с таблицей 0.9.1 видно, что это заметно превышает время на пиксел, требуемое разверткой. В этой связи память организуется таким образом, чтобы за один доступ одновременно считывается многобитное слово памяти (16, 32, 64 бита). Следует отметить, что число микросхем памяти, требуемое для организации широкого доступа, обычно дает суммарный объем памяти больший, чем требуется из соображений разрешения. Рассмотрим, например, память для дисплея 1024×768 пикселов в суммарным объемом в 786 432 бит. Требуемое время доступа к пикселу составляет 16.52 нс (см. таблицу 0.9.1). Используя микросхемы памяти организации 64К×1 бит с временем доступа 340 нс, получаем, что для достижения требуемого времени доступа надо одновременно запустить не менее 21 микросхемы. Суммарный объем памяти составит 21×64×1024 = 1 376 256 бит, что почти в два раза больше чем надо. На самом деле еще хуже, так как обычно ширину доступа выбирают их ряда 8, 16, 24 и т.д. Тогда получим суммарный объем памяти 24×64×1024 = 1 572 864 бита, что ровно в 2 раза больше.
На рис. 0.9.11 показан простой вариант для дисплея 512×512×1 бит с 16 корпусами 16К×1 400 нс динамической памяти с произвольным доступом (см. таблицу 0.9.1). Под управлением тактового генератора все микросхемы одновременно читаются и со скоростью » 10.3 мегапикселов/с загружают данные в 16-ти разрядный сдвиговый регистр. Видно что память двухпортовая, т.е. шины данных, адреса и управления подключаются и от видеоконтроллера и от генератора изображений.
При одновременном доступе ко всем 16 микросхемам выдаются 16 пикселов, чем обеспечивается время отображения порядка 1600 нс. Так как цикл памяти в 400 нс, то видеоконтроллеру требуется только около 25% от имеющегося в наличии суммарного времени доступа. Остаток, включая и время обратного хода, может быть использован подсистемой генерации изображения для записи в видеопамять.
Замена этих 16 микросхем памяти на 4 микросхемы 64К×1 не улучшит, а ухудшит показатели системы. Ширина доступа станет 4 пиксела, т.е. обеспечится время отображения в 400 нс, а время цикла памяти остается порядка 400 нс, так что на доступ от генератора изображений останется только время обратного хода.
Таким образом, задачу увеличения разрешения дисплея применением микросхем большего объема решить нельзя. Будет требоваться все увеличивающаяся ширина доступа, так как цикл динамической памяти становится много большим времени отображения пиксела (см. таблицу 0.9.1). С другой стороны, как было ранее показано в примере для дисплея 1024×768, объем памяти, определяемый шириной доступа становится все больше объема, требуемого разрешением.
Требуются иные технические решения.
A. Использование статической памяти. Радикальное и дорогостоящее решение. Времена доступа к статической памяти в 3-7 раз меньше, чем у динамической, энергопотребление в 1.3-5.5 раз больше, корпуса б\’ольших размеров, стоимость выше. Не требуется регенерации памяти. При некоторых эксплуатационных требованиях, например, повышенной радиационной стойкости, это единственное решение. Для иллюстрации в таблице 0.9.2 приведены некоторые параметры нескольких микросхем памяти одинакового объема.
Б. Использование двойной буферизации. Также недешевое, технически сложное решение. Используется два комплекта видеопамяти. В то время как идет отображение из одного буфера, второй буфер целиком отдается генератору изображений. Во время обратного хода кадровой развертки буфера меняются местами.
В. Использование микросхем иной организации памяти. Взамен микросхем побитовой организации nKx1, используются микросхемы nKxt, например, 16Кx4, 32Кx8. Эти микросхемы можно использовать двояко:
V:=
((V OR M) XOR M)
OR
(N AND M)
| |
| |
Зачистка разрядов в
Вырезание по
пикселе видеопамяти
маске разрядов в
заносимом пикселе
Г. Использование VRAM. VRAM (Video Random Access Memory) [15] была разработана для решения проблемы конкуренции за циклы памяти между видеорегенерацией и модификацией изображения при их одновременном выполнении.
VRAM представляет собой двухпортовую динамическую память, имеющую с своем составе: · собственно массив памяти 256×256×1 (64К×1) или 256×256×4; · 256 или 1024-битовый сдвиговый регистр.
Каждая из этих двух частей имеет собственные сигналы ввода/вывода и управления. Сдвиговый регистр загружается строкой из массива памяти за один цикл. После загрузки сдвиговый регистр независим от массива памяти и может тактироваться с максимальной частотой до 25 МГц. После требования всего одного цикла для записи 256 или 1024 бит VRAM готова одновременно и для видеорегенерации и для обновления изображения. Время на доступ для отображения составляет менее 1.5% времени доступа. В системах же базирующихся на DRAM эти затраты достигают до 60%.
На рис. 0.9.13 представлена структура VRAM микросхемы TMS4161 фирмы Texas Instruments.
0.10 Другие типы дисплеев
В дальнейшем планируется включить разделы по новым, уже появляющимся на рынке технологиям, таким как органические электролюминисцентные дисплеи и дисплеи с поверхностным эммитированием заряда (surface conduction emitter displays).
0.10.1 Дисплеи на запоминающей трубке
Перед началом нового построения старое изображение стирается для чего запоминающая сетка равномерно отрицательно заряжается подачей на нее импульса длительностью около 0.5 с. При этом экран неприятно вспыхивает.
Изображение записывается высокоскоростными электронами записывающего прожектора, которые выбивают из запоминающей сетки электроны, захватываемые положительно заряженным коллектором. В результате на запоминающей сетке создается скрытое изображение в виде областей относительного положительного заряда. Скорость перемещения записывающего луча с сохранением эффекта запоминания не превышает 200 м/с. Т.е. диагональ обычного дисплея прорисовывается за время » 2 мс, что в 100 медленнее чем на векторных дисплеях.
Воспроизведение запомненного изображения осуществляется с помощью потока несфокусированных низкоскоростных проявляющих электронов. Пластины коллиматора изгибают траектории проявляющих электронов таким образом, чтобы они подходили к запоминающей сетке под прямым углом. Попадая на участки относительного положительного заряда сетки, проявляющие электроны проходят сквозь сетку и вызывают свечение люминофора. Остальные проявляющие электроны отталкиваются и попадают на коллектор.
Итак, основные виды работ ЗЭЛТ следующие: 1. Стирание изображения. 2. Запись изображения. 3. Воспроизведение запомненного изображения. 4. Отображение без запоминания.
Достоинства ЗЭЛТ: · большое разрешение (до 4096×4096 при 19 дюймах), · отсутствие мерцания, · низкие требования к скорости отклоняющей системы, · малая стоимость.
Недостатки ЗЭЛТ: · обычно невозможно выборочное стирание, · мал контраст изображения, · обычно черно-белое изображение, · небольшая скорость работы.
0.10.2 Дисплеи с плазменный панелью
Если для незажженной ячейки между проводниками нарастает напряжение, то при достижении напряжения зажигания Uз (рис. 0.10.3) ячейка загорается. Газ в ячейке ионизируется, в ячейке возникает плазменный столбик, ток через нее заметно увеличивается, а напряжение падает до напряжения горения Uг, заметно меньшего, чем напряжение загорания. При уменьшении приложенного напряжения до напряжения потухания Uп разряд в ячейке прекращается и она гаснет за время порядка 20 мкс, за которое все ионы попадут на отрицательный электрод.
В зависимости от приложенного напряжения, ячейки панели могут находиться в трех состояниях:
· отображение содержимого панели. Поддерживающее напряжение между проводниками покрывающих пластин равно среднему напряжению горения Uc (см. рис 0.10.3). В этом случае горящие ячейки продолжают гореть и образуют светящиеся точки на изображении, а не горящие не зажигаются;
· включение точки. К поддерживающему напряжению между проводниками, пересекающимися над требуемой ячейкой, добавляется такой импульс поджига, что достигается напряжение зажигания Uз и ячейка загорается (если она еще не горела);
· стирание точки. К поддерживающему напряжению между проводниками, пересекающимися над требуемой ячейкой, добавляется такой импульс гашения, что достигается напряжение потухания Uп и ячейка выключается (если она горела).
Более поздние плазменные панели не содержат маски и растровых анодов. Она также состоят из двух параллельных стеклянных пластин, на внутренних поверхностях которых нанесены взаимно перпендикулярные группы проводников, формирующие растровые ячейки панели. Проводники покрыты диэлектрической пленкой и между ними приложено высокочастотное напряжение, недостаточное для зажигания, но достаточное для горения (поддерживающее напряжение). При высокочастотном питании газ ведет себя так, как будто он разделен на отдельные ячейки. Частота питающего напряжения такова, что хотя разряд при малых напряжениях и прекращается, но ионы не успевают рекомбинировать, поэтому при возрастании напряжения разряд возобновляется и создается впечатление непрерывного свечения точки.
Для включения негорящей ячейки к поддерживающему напряжению добавляется импульс поджига, достаточный для зажигания.
Для выключения горящей ячейки к поддерживающему напряжению добавляется такой импульс, что до достижения очередного максимума напряжение будет таково, что ионы успеют рекомбинировать и ячейка не загорится.
Известны и другие конструкции плазменных панелей, например, для вывода цветных полутоновых изображений. В таких панелях отдельный пиксел представляет собой триаду газоразрядных тиратронов, имеющих общий электрод для поддержания разряда в смеси редких газов типа He и Xe (рис. 0.10.5). Возникающее при этом ультрафиолетовое (UV) излучение возбуждает люминофоры, которыми покрыты торцы тиратронов. Эти люминофоры имеют соответствующие фотолюминесцентные характеристики и излучают красный, зеленый и синий цвета. Эффект изменения яркости моделируется за счет зажигания/поджигания разряда с требуемой (не слишком большой) частотой.
Дисплеи на плазменной панели в некотором смысле идеальные устройства. Имеются все важнейшие качества, вплоть до цветовых возможностей:
· большой угол наблюдения (до 160 ° ), так как свет излучается во всех направлениях,
· изображение может запоминаться, выборочно стираться и строиться снова,
· поточечная адресация позволяет использовать как векторные, так и растровые принципы построения изображения,
· панель плоская, поэтому дисплей может иметь много меньшие размеры, чем дисплей на электронно-лучевой трубке,
· картинка, независимо от ее сложности и структуры полностью лишена мерцания,
· информация от внешних источников изображений, например, слайдов или фильмов может проецироваться сквозь этот дисплей, обеспечивая таким способом простое смешение с картинками, сформированными компьютером.
В настоящее время дисплеи на плазменной панели в основном используются либо в особых условиях применения (высокие вибрации, низкие температуры) либо в качестве экранов коллективного просмотра. Лидерами в серийном производстве PDP являются фирмы Фуджицу и Хитачи параметры некоторых дисплеев этих фирм приведены в табл. 0.10.1.
0.10.3 Дисплеи с жидкокристаллическим индикатором
Австрийский ботаник Friedrich Reinitzer открыл жидкие кристаллы в 1888 г. В 1963 г. Williams в фирме RCA исследовал поляризационные эффекты в жидких кристаллах. В 1973 г. был разработан первый дисплей на жидких кристаллах (EL 8025) для переносной ЭВМ.
Жидкие кристаллы находятся в некотором числе фаз, промежуточных между твердым и жидким состояниями. Молекулы ЖК являются стрежнеобразными органическими соединениями (рис. 0.10.6) и находятся в различных ориентациях в этих фазах (рис. 0.10.7).
В изоторопической фазе, которая является жидкой фазой при повышении температуры, и позиция и ориентация молекул случайны.
Если температура понижается далее, то молекулы получают периодическую упорядоченность в слоях (смектическая фаза). Таким образом при понижении температуры в ЖК увеличивается упорядоченность и в конце концов наступает твердое состояние.
Изотропическая фаза
Нематическая фаза
Вследствие оптической и электрической анизотропии ЖК-молекул коэффициент преломления зависит от направления поляризации света относительно оси молекулы. Это свойство используется для поворота поляризации при прохождении света через закрученную ЖК-структуру.
Известно, что свет не проходит через два скрещенных поляризатора (рис. 0.10.8).
Молекулы в нематической фазе принудительно закручиваются за счет их помещения между двумя стекляными пластинами, каждая из которых имеет линейчатую гравировку, перпендикулярную к другой. На поверхности стекла молекулы вынужденно размещаются вдоль гравировки, а так как гравировки взаимно перпендикулярны, то между пластинами формируются перекрученные цепочки ЖК-молекул (рис. 0.10.9).
Расстояние между пластинами составляет порядка 10 мкм. В зависимости от расстояния между пластинами и типа ЖК-кристалла закрученность составляет обычно 90 ° или 270 ° (twisted nematics и super-twisted nematics, TN и STN).
При приложении электрического поля молекулы, вследствие их анизотропии, ориентируются вдоль поля. В этом случае цепочки раскручиваются и пропадает возможность поворота плоскости поляризации (рис. 0.10.10).
ЖК-дисплеи имеют два таких перекрещенных поляризатора с перекрученным жидким кристаллом между ними (рис. 0.10.11). Благодаря вращению плоскости поляризации ЖК-цепочками свет проходит и дисплей становится ярким. При приложении электрического поля к взаимноперпендикулярным прозрачным электродам, нанесенных на внутренние стороны пластин, эффект поворота плоскости поляризации пропадает и соответствующий пиксел становится темным.
При выключении напряжения кристалл за время порядка от первых десятков до сотен миллисекунд возвращается в исходное состояние.
Важной особенностью жидких кристаллов является то, что при протекании постоянного тока кристалл подвергается электролитической диссоциации и теряет свои свойства, поэтому жидкокристаллические индикаторы запитываются переменным напряжением, с постоянной составляющей не более десятков милливольт.
В простых индикаторах (с пассивной матрицей) ячейки растра, составляющие изображение, запитываются последовательно. Для этого на проводники, пересекающиеся над нужной точкой подают напряжение. В результате точка подсвечивается. Благодаря большому времени релаксации и достаточно высокой частоте сканирования ( » 1 мс на строку) изображение не мерцает. Естественно, что такие индикаторы медленны. Цветные ЖК-индикаторы используют три ячейки растра для формирования пиксела. Яркость свечения для каждой из компонент опреределяет цветовой оттенок.
В целом ЖК-индикаторы имеют следующие основные характеристики: · толщина
Следует ожидать, что с развитием технологии недостатки будут устраняться.
0.10.4 Дисплеи с электролюминисцентным индикатором
В 1937 г. был открыт эффект электроминисценции, заключающийся в излучении света легированного марганцем ZnS под воздействием электрического поля высокой напряженности (
Панель электролюминисцентного индикатора состоит из стеклянной пластины, прозрачных проводников из окиси олова, чередующихся слоев изолятора и люминофора и темных проводников, перпендикулярных прозрачным (рис. 0.10.12).
Люминофор светится под воздействием переменного напряжения, прикладываемого к электродам строк и столбцов. Это переменное напряжение возбуждает свободные электроны в кристаллической структуре люминофора. Возбужденные свободные электроны, сталкиваясь с атомами примеси, переводят их электроны на более высокие энергетические уровни. При возврате в свое обычное состояние они испускают фотоны в видимом спектре.
Люминофор, применяемый в электролюминисцентных индикаторах, требует довольно высокого напряжения (170-210 В), что требует применения более дорогостоящих микросхем управления, чем для жидкокристаллических индикаторов.
0.10.5 Дисплеи с эмиссией полем
Дисплеи с эмиссией полем представляются весьма перспективными из-за небольших габаритов, широкого угла наблюдения (почти 180 ° ), малого энергопотребления (несколько ватт для дисплея размером с записную книжку), хорошего воспроизведения цветов (люминофор ЭЛТ), высокой скорости работы (в принципе той же что и ЭЛТ).
Дисплеи данного типа (в основном пятидюймовые одноцветные дисплеи для приборов) в настоящее время серийно в промышленных масштабах производит PixTech (консорциум компаний в Европе, США и Японии).
Компания Candescent Сан-Хосе, Калифорния объявила о планируем выпуске таких дисплеев размером с записную книжку.
Однако успехи в крупносерийном производстве ЖК индикаторов с активной матрицей, по-видимому, не дадут возможности дисплеям с эмиссией полем получить широкий рынок.
0.11 Дисплейные подсистемы IBM PC
Дисплеи для IBM PC относятся к растровым дисплеям. Их специальное рассмотрение делается в связи с тем, что в настоящее время они наиболее распространенны, хотя вряд ли могут служить примером изящных технических решений.
Дисплейная подсистема IBM PC состоит из двух основных компонент: · видеоадаптера, · монитора.
В свою очередь и видеоадаптеры и мониторы разделяются на несколько различных типов. Допускаются определенные (не произвольные) их комбинации.
0.11.1 Видеоадаптеры
Первоначально IBM PC выпускались с черно-белым адаптером MDA (Monochrome Display Adapter). Максимальное разрешение составляло 640×350 точек, графические возможности отсутствовали. Следующим был также черно-белый видеоадаптер «Геркулес», выпущенный фирмой Hercules Computer Technology, Inc. Этот адаптер обеспечивает разрешение 720×350 с графическими возможностями.
Первым цветным видеоадаптером фирмы IBM стал CGA (Color Graphics Adapter). Разрешение его мало (320×200), цветов мало (до 4), программирование противоестественное. Максимальное разрешение составляет 640×200.
Первым видеоадаптером со сравнительно приемлемыми характеристиками стал VGA (Video Graphics Array) с максимальным разрешением до 800×600 при 256 цветах.
Многие фирмы выпускают улучшенные версии VGA под названиями Super VGA и Ultra VGA, но общий стандарт отсутствует.
Фирма Texas Instruments предложила стандарт на программный интерфейс с интеллектуальными видеоадаптерами, использующими графические процессоры TMS 340xx (TIGA-стандарт, Texas Instruments Graphics Architecture). В настоящее это самые мощные видеоадаптеры для IBM PC.
Сводка основных параметров упомянутых видеоадаптеров приведена в таблице 0.11.1.
0.11.2 Мониторы
Для отображения текста и графики используется несколько типов мониторов:
· композитный монитор, на вход которого подается композитный сигнал системы NTSC (National Television System Committee), применяемой в телевидении. Используется с видеоадаптером CGA;
· аналоговый дисплей, на вход которого подаются готовые RGB-сигналы, сформированные видеоадаптером. Используется с видеоадаптерами VGA, SVGA, XGA.
0.11.3 Замечание об адресации в IBM PC
Это замечание предназначено для тех, кто не знаком с обозначением адресов для IBM PC, так как при рассмотрении видеоадаптеров будет применяться именно оно.
0.11.4 Архитектура видеоадаптеров
Все видеоадаптеры содержат в себе видеопамять и видеоконтроллер (см. рис. 0.9.1). Видеопамять доступна процессору как обычная оперативная память и, в зависимости от типа видеоадаптера, занимает или часть или всю память, отводимую в адресном пространстве IBM PC под экранный буфер (128 Кбайт от адреса A000:0000 до B000:FFFF).
В символьных режимах видеопамять интерпретируется как последовательность байт, содержащая байты коды отображаемых знаков и байты атрибутов, задающих цвета.
0.11.5 Видеоадаптер CGA
Содержит 16 Кбайт видеопамяти, начинающейся с адреса B800:0000, и контроллер электронно-лучевой трубки.
0.11.6 Видеоадаптеры EGA/VGA
Графический контроллер обеспечивает обмен между центральным процессором и видеопамятью, которая так же как и в CGA находится в адресном пространстве для экранного буфера.
Видеопамять имеет объем, как правило 256 Кбайт, но для EGA может быть и 64 Кбайт. Видеопамять разбита на 4 банка (цветовых слоя). Банки занимают одно адресное пространство таким образом, что по каждому адресу расположено сразу 4 байта по одному байту в каждом слое. Можно запрещать или разрешать запись в отдельные слои памяти при помощи регистра разрешения записи цветового слоя. Для операции чтения в каждый данный момент времени может быть доступен только один слой, задаваемый с помощью регистра выбора читаемого слоя. В большинстве режимов работы видеопамять разделена несколько страниц. При этом одна из них активна и отображается на экране. Запись информации возможна как на активную, так и на неактивные страницы.
Преобразователь последовательности выбирает данные из памяти, требуемым для того или иного режима образом, и формирует последовательный поток бит, передаваемый контроллеру атрибутов.
Контроллер атрибутов, используя таблицу цветности, преобразует информацию о цветах, полученную из видеопамяти, в информацию для ЭЛТ.
Контроллер ЭЛТ генерирует синхроимпульсы управления ЭЛТ.
Тактовый генератор управляет временными параметрами видеоадаптера и доступом от процессора в слоям видеопамяти.
Показанный на рис. 0.11.3 ЦАП преобразует цифровые сигналы яркостей в аналоговые значения, необходимые аналоговому монитору.
Большое количество различных регистров у адаптеров позволяет гибко регулировать режимы работы, управлять сигналами синхронизации, определять формат экрана и т.д.
Текстовый режим
Также как для CGA для кодирования символа используется два байта. Первый из них содержит код символа и заносится в нулевой цветовой слой, второй байт содержит атрибут символа и заносится во второй цветовой слой.
Байт атрибута задает цвета символа и фона, мерцание и одну из двух активных таблиц знакогенератора.
Графические режимы
Имеется большой набор графических режимов. В режимах, совместимых с CGA используется только 0-й слой памяти, распределение которого по адресному пространству и интерпретация значений бит такая же как и для CGA (см. рис. 0.11.1).
В одном из режимов, применимом только для VGA, память интерпретируется как линейная последовательность всех четырех слоев (см. рис. 0.11.4). Это режим с разрешением 320×200 с байтом на пиксел, т.е. с 256 градациями.
Графические акселераторы
Акселераторы, кроме типа и возможностей графического процессора, различаются по следующим основным параметрам:
· памятью для сохранения изображений. В некоторых случаях используется обычная динамическая память DRAM, но обычно используется специализированная видеопамять VRAM;
· используемой шиной. В настоящее время обычно используется PCI;
0.12 Устройства ввода
0.12.1 Клавиатуры (Keyboards)
0.12.2 Кнопки (Buttons)
Программируемые функциональные кнопки обычно служат для задания какого-либо определенного воздействия, связанного с нажатием, отпусканием или удержанием кнопки (ввод команды, выбор параметра). Конструктивно кнопки устроены аналогично кнопкам текстовой клавиатуры. Чаше всего они объединены с текстовой клавиатурой, но иногда выделены в виде отдельного блока. Другой разновидностью функциональной клавиатуры являются кнопки на зондах планшетов или на «мышке».
Основное отличие кнопочного устройства от текстового состоит в том, что клавиш на клавиатуре всегда ограниченное количество и с ними жестко связаны определенные метки (коды клавиш). Клавиши же кнопочного устройства не имеют заранее определенного значения и их число может меняться от одной до нескольких десятков.
По сути дела текстовая клавиатура просто разновидность кнопочной, но так как она нашла большое распространение, то обычно выделяется в отдельный класс устройств.
Во многих компьютерных системах за счет написания собственного драйвера можно превратить текстовую клавиатуру в программируемую функциональную и наоборот.
0.12.3 Световое перо (Lightpen)
Световое перо (рис. 0.12.1) служит для непосредственного указания элементов изображения на экране. При аналоговой генерации векторов (символов) можно идентифицировать конкретный вектор (символ). При цифровой генерации векторов можно идентифицировать «рассматриваемую» точку изображения. Из-за нечеткой оптики светового пера и трудностей позиционирования в точку на экране эта возможность практически не нужна. Чаще световое перо используется для указания всего элемента изображения. В каждом случае используется временное соответствие светового сигнала и сиюминутного состояния обработки команд построения. На векторном дисплее таким образом устанавливается однозначное соответствие между текущей командой, отрабатываемой дисплейным генератором, и элементом изображения, от которого пришел световой импульс.
Для идентификации некоторого сложного элемента картинки как целого, например, изображения микросхемы, используется техника «идентификаторов указания». Идентификатор указания представляет собой неграфический, комментирующий элемент дисплейного файла. При аппаратной обработке идентификаторов указания дисплейный процессор запоминает их последовательность, в общем случае иерархическую. Для идентификации объекта при поступлении импульса от светового пера достаточно просмотреть запомненные идентификаторы указания.
Пример дисплейного файла с двумя указуемыми объектами
В данном примере имеется два не вложенных указуемых элемента. До отработки команды picid 001 стек идентификаторов указания пуст. После ее отработки и до первой команды end_picid в стеке будет находится 001. После отработки end_picid стек идетификаторов указания очищается и до команды picid 002 остается пустым.
В качестве эха светового пера обычно используют сверхподсветку выделенного элемента изображения. В векторных дисплеях сверхподсветка примитивного элемента (вектор, символ) реализуется аппаратно.
0.12.4 Планшеты (Tabletts)
Планшеты являются устройствами ввода с непосредственным заданием координат (локаторы). Это одно из важнейших устройств ввода. Пользователь может вводить информацию в компьютер привычным образом, как при использовании карандаша и бумаги.
В общем планшеты работают в различных режимах:
· точечном, когда генерируется координата при нажатии кнопки зонда;
· непрерывном, когда последовательность координат генерируется непрерывно при нахождении зонда в рабочей области планшета (при этом может производиться сокращение объема передаваемых данных так, как это описано выше);
· переключаемом непрерывном, когда генерируется непрерывная последовательность координат при нажатии кнопки зонда;
· приращений, когда формируются приращения к последней выданной позиции.
Имеется много различных способов определения координат зонда на планшете. Далее будут рассмотрены основные из них.
Потенциометрический (градиентный) планшет
Поверхность планшета представляет собой резистивное покрытие (рис. 0.12.2). По границам к этому покрытию подводится ток попеременно по X и Y направлениям. Зонд планшета имеет гальванический контакт с резистивным покрытием. Координата определяется по падению напряжения в точке контакта. Для устранения искажений поля, вызываемого взаимным влиянием контактных шин, питающие напряжения подводят через диоды. Основные проблемы при разработке таких планшетов:
· материал покрытия должен быть достаточно высокоомным, чтобы обеспечить простоту и точность измерения;
· материал покрытия должен обладать однородной проводимостью, чтобы обеспечить линейность ввода координат;
· материал покрытия должен быть достаточно прочным, чтобы выдержать постоянный контакт с наконечником планшета.
Акустический планшет
В таком планшете разрядник в зонде излучает ультразвуковой сигнал, который принимается ленточными микрофонами, расположенными на двух смежных сторонах планшета (рис. 0.12.3а). Акустические планшеты с тремя группами микрофонов (рис. 0.12.3б) могут выдавать трехмерную координатную информацию.
По времени прихода звука к микрофонам определяется точное положение зонда. В связи с большой скоростью распространения звука в воздухе @ 330 м/с эти измерения не представляют трудностей. Акустический планшет позволяет определять координаты и при значительном удалении от поверхности планшета, но с ошибкой, как это пояснено на рис. 0.12.4a).
Это свойство планшета позволяет определять 3D координаты с помощью плоского планшета, имеющего по микрофону на каждой стороне. При стороне планшета = 2а и измерении координат x и y относительно центра планшета из рис. 0.12.4б) можно написать следующие выражения для z:
Основным недостатком акустического планшета является сильная зависимость от окружающей среды, особенно влажности.
Емкостные планшеты
В таких планшетах под непроводящей рабочей поверхностью генерируется электромагнитное поле с помощью взаимно перпендикулярных групп проводников (рис. 0.12.5). Проводники в каждой группе должны быть точно параллельны и находиться на одинаковых расстояниях друг от друга. Эти проводники служат передающими антеннами. На передающие антенны поочередно подается высокочастотное напряжение. Сигнал принимается емкостным датчиком зонда. Пусть датчик находится между двумя проводниками, тогда вначале будет получен сигнал от одной антенны, затем от другой. По соотношению амплитуд сигналов можно узнать точное расположение между антеннами.
Недостатком этого планшета является то, что зонд должен находиться либо непосредственно на рабочей поверхности, либо на малых расстояниях от нее (на толщину нескольких листов бумаги).
Магнитоэлектрические планшеты
В таких планшетах катушка в зонде и проводники под рабочей поверхностью планшета могут рассматриваться как первичная и вторичная обмотки трансформатора. Если приемная катушка находится на зонде, то конструктивно этот планшет подобен емкостному планшету. Существенно большее разрешение достигается при использовании обмотки зонда как передатчика, но в этом случае катушка зонда должна иметь много витков, чтобы сгенерировать достаточно мощное поле. Большинство далее упоминаемых кодировщиков, используемых для ввода чертежей, работает на этом принципе.
Магнитострикционные планшеты
Магнитострикционные планшеты используют магнитострикционные проволоки как носители сигнала, которые под воздействием внешнего магнитного поля незначительно изменяют свою форму (рис. 0.12.6). Магнитное поле, вызываемое передающими катушками на краю планшета и перпендикулярное магнитострикционным проволокам, генерирует изменение их длин. Это изменение длины распространяется вдоль проволоки как волна механического напряжения со скоростью около 5000 м/с. Волна, попадая в приемную катушку, расположенную в зонде планшета, из-за изменения потока формирует в катушке импульс напряжения. Время прихода волны пропорционально расстоянию от передающей катушки на краю планшета до зонда. Так как расстояние всегда измеряется вдоль проволоки, то не требуется, чтобы проволоки были абсолютно параллельны. Не требуется располагать проволоки так часто, как это следовало бы из разрешения прибора. Более того достаточно их расположить на расстоянии в 2-3 мм все равно при этом на планшете гарантируется достаточное изменение потока. Этот принцип имеет относительно высокую точность (0.01 мм), широко используется в робототехнике и в большинстве планшетов.
Bit Pad One фирмы Summagraphics работает на магнитострикционном принципе. Размер его рабочей области 300×300 мм. На подложке под рабочей поверхностью планшета с шагом » 3 мм расположены по 96 проволок для каждой из осей. Разрешение по координате составляет 0.1 мм.
Стандартом на рынке для PC является планшет Bit Pad Two, имеющий разрешение в 0.05 мм и точность в 0.5 мм.
Не прямой ввод графической информации, как правило, основан на перемещении пользователем по экрану графического курсора.
Под «мышкой» понимается небольшое ручное устройство ввода, выдающее приращения координат при перемещении «мышки» по рабочей поверхности (по рабочему столу для механических «мышек» и по специальной пластине для оптических «мышек»). При перемещении механической «мышки» по столу движение передается одним (двумя) шарами на пару потенциометров или датчиков угла поворота, соответствующих перемещениям по двум взаимно-перпендикулярным направлениям. Обычно в качестве датчика угла используется диск с нанесенными непрозрачными радиальными полосками (рис. 0.12.7). Комплект из двух пар светодиод-фотодиод позволяет определить направление поворота. Вследствие произвольного и не слишком точного перемещения «мышки» наилучшим методом ее использования является статический относительный.
Трекбол
Джойстик
0.12.6 Потенциометр
Потенциометр с аналого-цифровым преобразователем обеспечивает быстрый ввод точных числовых значений с контролем значения выводом на дисплей. Используются потенциометры вращения и ползунковые. Для задания значений углов наиболее подходят потенциометры вращения.
0.12.7 Растровый сканер
Сканеры используются для растрового ввода изображений с последующей их обработкой и/или документированием.
В САПР сканеры используются для автоматизации ввода ранее подготовленной конструкторской документации. В этом случае проблема заключается в том, что данные от сканера представлены в растровой, а не векторной форме и требуется выполнение обратного преобразования растр-вектор. Эта задача сложна и далека от решения (необходимо распознавать различные изображения и тексты в том числе рукописные, учитывать, что изображение представляется поточечно, причем одна и та же линия может получить при сканировании не только различную ширину, но и дырки и т.д.).
Сканеры работают в один или три прохода, большинство сканеров работает в один проход.
Цвет подсветки в стационарных сканерах обычно белый. Сканирование цветных изображений обеспечивается сменой светофильтров. В некоторых сканерах смена производится вручную.
0.12.8 Кодировщик
Обычно в полуавтоматических кодировщиках используется два основных режима работы:
· дискретный, когда оператор устанавливает зонд в требуемую точку и выдает команду определения координаты;
· непрерывный, когда оператор перемещает зонд вдоль некоторой линии, а устройство автоматически генерирует последовательность координат. Координаты генерируются либо через заданные интервалы времени, либо по удовлетворению некоторого критерия, например, при достижении заданной разности координат текущей и последней зафиксированной точки.
0.13 Нетрадиционные устройства
Более распространенным устройством указания является сенсорная панель, позволяющая рукой указывать объекты на экране.
Прогресс в полупроводниковой индустрии сделал реально применимыми и устройства речевого диалога.
С точки зрения средств вывода в системах виртуальной реальности используются по сути дела обычные растровые дисплеи в сочетании с механизмами отслеживания положения головы и направления взгляда для управления формированием сцены.
Кроме уже рассмотренных обычных устройств ввода в системах виртуальной реальности используются устройства ввода с тремя и шестью степенями свободы (перемещения вдоль трех осей и вращения вокруг них), а также устройства для обеспечения тактильной и силовой обратной связи, имитирующие ощущения прикосновения и «податливость» в ответ на воздействие.
0.13.1 Сенсорная панель (Touch Screen)
Более сложные сенсорные панели используют прозрачную (стеклянную) поверхность, покрытую прозрачным проводящим слоем окиси олова. Факт указания определяется по изменению сопротивления.
Известны сенсорные панели и с другими принципами определения координаты прикосновения пальца, например, с использованием поверхностных акустических волн.
0.13.2 Речевой диалог
Для надежного распознавания как отдельно произносимых слов так и слитной речи в реальном масштабе времени требуется производительность порядка 10 млн оп/с.
Появились коммерческие системы речевого ввода, распознающие порядка 1000 слов. Слова определяются как отдельные высказывания, отделенные достаточно длительными промежутками от других слов во фразе. Для целей диалога распознаватели речи используются в составе вспомогательных средств подачи отдельных простых команд. На графических рабочих местах такие системы могут освобождать пользователя от необходимости задания команд с помощью клавиатуры или меню, например, при вводе графической информации с помощью планшетов, когда подача команд с помощью обычных средств диалога нарушает так называемую тактильную непрерывность диалога.
Синтез речи обычно производится по формантному методу. Сначала текст переводится в последовательность фонем, затем по ней рассчитывается динамика управления формантным синтезатором, который генерирует и выдает сообщение.
0.13.3 Средства диалога для систем виртуальной реальности
В системах виртуальной реальности, в отличие от обычных приложений компьютерной графики, как правило, требуется вывод и ввод трехмерной координатной информации, как для управления положениями синтезируемых объектов, так и для определения координат частей тела оператора и направления его взгляда.
Space ball. Одним из первых появилось устройство спейсбол (space ball), представляющее собой конструктивное объединение мышки и небольшого трекбола. Мышка перемещается оператором по столу и обеспечивает ввод двух координат. Ввод третьей координаты обеспечивается вращением шарика трекбола большим пальцем руки.
Для манипулирования объектами в трехмерном пространстве часто используется техника виртуальной сферы. Управляемый объект окружается (воображаемой) сферой. Для перемещения сферы используется мышь, а вращение сферы и заключенного в нее объекта обеспечивается вращением шарика трекбола.
Отслеживание положения головы обеспечивается либо механическими рычажными системами, либо комплектом инфракрасных или электромагнитных датчиков.
Power Glove, Date Glove, Date Suit. Непосредственный ввод геометрической информации о положении частей тела с поддержкой тактильной и даже силовой обратной связи обеспечивается перчатками и костюмами данных.
В более продвинутой перчатке данных Date Glove фирмы VPL (рис. 0.13.1) для определения углов сгибания пальцев используются оптические волокна. Для обеспечения тактильной обратной связи используются пневматические активаторы.
Были эксперименты обеспечения тактильной обратной связи за счет вибрации пьезокристаллов.
Более простой прибор, использующий силовую обратную связь, был разработан фирмой Digital и представляет собой рукоятку, подобную рукоятке газа в мотоцикле, которая может менять свое сопротивление скручиванию.
Проблема в обеспечении тактильной и силовой обратной связи состоит в том, что пользователь реагирует на воздействия и вносит изменения быстрее, чем система сможет среагировать. Для хорошего ощущения объекта система тактильной обратной связи должна обеспечивать скорость порядка 100-300 Гц, что почти на порядок выше обычной скорости перезаписи визуальной информации.
Пиджак данных (Date Suit) по принципам работы подобен перчатке данных и отличается только количеством датчиков.