Скачиваний:
406
Добавлен:
22.01.2014
Размер:
3.77 Mб
Скачать

27.3. Проблемы цветопередачи.

Цветовую гамму изображения можно расширить только при увеличении количества разрядов, приходящихся на один цвет. Например, как видно из табл. , стандартный VGA-режим 12h (640*480*16) использует 4 бита на пиксель (работает метод bip-mapped, 4 битовые плоскости), а режим 13h – 8 битов на плоскость. Количество одновременно воспроизводимых цветов определяется как два в степени, равный количеству битов на пиксель, т.е. для 12h - 16 цветов, а 13h - 256. В последнем режиме используется комбинация методов bip-mappedиpacked. Хотя общий объем памяти и ограничивает количество цветов, которые может создать адаптер, сам спектр оттенков, получаемых на мониторе, зависит от используемого в адаптере RAMDAC. На рис.27.2 проиллюстрирована работа RAMDAC для адаптера VGA.

8-битовое значение цвета используется как адрес для выбора одного из 256 регистров RAM в таблице цветов RAMDAC. Каждый из регистров цвета в RAMDAC является 18-разрядным и состоит из 6 битов для красной, 6 битов для зеленой и 6 битов для синей составляющей. Каждая 6-битовая составляющая преобразуется в аналоговые сигналы соответствующим цифроаналоговым преобразователем (DAC). Таблица цветов заполняется либо под управлением BIOS, либо непосредственно из прикладной программы.

Значения регистров в этой таблице может быть прочитано процессором, что дает возможность сохранять, изменять и снова восстанавливать их содержимое. Таким образом, выходной каскад VGA (RAMDAC), является 18-разрядной системой цветопередачи и позволяет отображать 262144 оттенка цвета, но так как объем памяти ограничивает использование только 8 бит на цвет, то одновременно могут отображаться только 256 цветов.

Рис.27.2.

В настоящее время появились видеоадаптеры, поддерживающие 32768 и 65536 цветов. В них для кодирования цвета используется 15 и 16 разрядов (режимы HighColorиRealColor). В видеоадаптерах с точной цветопередачей применяют 24-разрядное кодироание цвета, по 8 разрядов на каждую составляющую, что позволяет воспроизводить 16777216 цветов одновременно (режим TrueColor). Высокие режимы разрешения требуют повысить быстродействие RAMDAC:

135 МГц для разрешения 1280*1024 при частоте кадровой развертки 72 Гц; 110 Гц - для режима 1280*1024 и 1024*768 при 60 и 76 Гц соответственно.

27.4. Видеопамять.

Одним из основных элементов любой видеоподсистемы является собственная память. Ведь для того, чтобы периодически повторять видеоинформацию на экране монитора, она должна где-то храниться. Именно для этой цели и используется память видеоадаптера, которая часто называется видеопамятью или видеобуфером (фрейм-буфером).

Видеопамять является частью общей памяти компьютера, хотя и расположена на плате адаптера. Иначе говоря, эта память лежит в адресном пространстве базового микропроцессора. В IBM-совместимых компьютерах для нее зарезервирован следующий диапазон адресов: A0000-BFFFF (128 Кбайт).

В настоящее время используются два основных метода хранения данных в видеопамяти. Первый из них (bit-mapped) предполагает, что память разбита на так называемые битовые плоскости. Каждая такая плоскость содержит только один бит для каждого элемента изображения (пикселя), соответственно количество плоскостей однозначно определяет количество битов на один пиксель. Обычно применяется четыре битовых плоскости. Второй способ (packed display format) использует только одну плоскость видеопамяти, которая разбита в этом случае на n-разрядные фрагменты или точки изображения. Оба метода имеют свои достоинства и недостатки. Для хранения данных используется также комбинация указанных методов, например, когда для одного пикселя отводится 8 битов, четыре плоскости объединены одна с другой и каждая из них содержит лишь по два бита для одного пикселя.

Все современные видеоподсистемы могут работать в одном из двух основных видеорежимов: текстовом или графическом. В текстовом (символьном) экран разбивается на отдельные символьные позиции, в каждой из которых может выводиться один символ. Символьной позиции соответствует номер столбца X и номер строки Y. В видеопамяти для каждой такой позиции отводится по два байта, причем первый (четный байт) содержит код самого символа, а следующий (нечетный) - его атрибуты. Под атрибутами обычно понимают способ отображения символа (например, яркость, цвет, мерцание). Так как символьная позиция состоит из отдельных точек, то те из них, которые образуют само изображение символа называют передним планом (foreground), а остальные - фоном (background). Изменяя с определенной частотой цвет фона (или самого символа) можно добиться эффекта мерцания. С увеличением числа пикселей на символьную позицию повышается качество отображаемых символов.

Для преобразования кодов символов, хранимых в видеопамяти адаптера, в точечные изображения на экране служит так называемый знакогенератор. Обычно он представляет собой ПЗУ, в котором хранятся изображения символов, "разложенные" по строкам. При получении кода символа знакогенератор формирует на своем выходе соответствующий двоичный код, который затем преобразуется в видеосигнал.

В графическом режиме каждому пикселю отводится от одного (монохромный режим) до нескольких битов (обычно цветной). Графический режим называют еще режимом с адресацией всех точек (All Points Addresable), так как имеется доступ к каждой точке изображения. Начальные адреса в видеобуфере для текстовых и графических режимов не совпадают. Большинство текстовых режимов имеют стартовый адрес в памяти B0000h, а графические - A0000h.

Максимальное разрешение и количество воспроизводимых цветов для конкретной видеоподсистемы в первую очередь зависят от общего объема видеопамяти и количества битов, приходящихся на один элемент изображения. Если для отображения одного пикселя отводится 1 бит, то можно обеспечить монохромный режим, если два бита, то 4 оттенка серого или цвета.

Как известно, для формирования цвета элемента изображения на экране монитора обычно используются три основных цвета R (Red), G (Green), B (Blue). Кроме них некоторые адаптеры, работающие с уровнями ТТЛ, вырабатывают также сигнал интенсивности (яркости) изображения - Intensity. Это дает возможность реализовать так называемую 16 цветную палитру - IRGB. Другие адаптеры (также с цифровыми уровнями сигналов) кодируют цвет не одним, а двумя независимыми сигналами - основным (R, G, или B) и дополнительным с меньшей интенсивностью (r,g или b). Все возможные комбинации позволяют отображать уже 64 цвета, хотя одновременно по прежнему только 16, поскольку для кодирования отводится всего 4 бита. Видеоадаптеры с аналоговым сигналом подают на монитор сигналы R, G, B и сигналы синхронизации.

Существует несколько вариантов форматов изображения, соответствующих режимам работы различных адаптеров (таблица 27.4).

В частности формат изображения определяет тип режима (текстовый, графический), разрешающую способность в точках, или символьных позициях и количество воспроизводимых цветов. Поддержка стандартных видеорежимов производится через функцию ROM BIOS. Например, режим 3 определяет текстовый тип, 25 строк на 80 столбцов, 16 цветов, а 13h - графический, 640*480 точек, 256 цветов.

Таблица 27.3

Введем еще одно понятие - видеостраница (далее, просто страница). Размер памяти, необходимый для заполнения экрана, особенно в текстовых режимах, намного меньше размера видеобуфера (128 Кбайт). Например, в режиме 3 надо иметь всего 80*25*2 = 4000 байт. Именно эта величина и определяет размер страницы для режима 3. Для режима, определяющего 25 строк в 40 столбцах - около 2 Кб. Если реальная емкость видеобуфера больше 1 страницы, то в ней можно организовать несколько страниц, причем в любой момент времени на экран может выводится содержание только одной, активной (или текущей) страницы. Остальные страницы остаются доступными процессору для модификации.