9.3.1 Система отображения

Предыдущая  Содержание  Следующая V*D*V

Каждая графическая система отображения имеет контроллер видео/дисплея, который является основным графическим оборудованием. Видео контроллер имеет область памяти, известную как кадровый буфер. На экране отображается содержание кадрового буфера.

Любое изображение на экране состоит из горизонтальных строк развертки, отображаемых оборудованием дисплея. После каждой горизонтальной строки развертки луч съезжает в вертикальном направлении и прочерчивает следующую горизонтальную строку развертки. Таким образом, всё изображение состоит из горизонтальных линий, отсканированных сверху внизу, а каждый цикл сканирования называется обновлением. Количество обновлений экрана происходящих в секунду называется частотой обновления.

Изображение, до его представления на экране, становится доступным в памяти кадрового буфера контроллера. Это цифровое изображение делится на отдельные области памяти, называемые пикселями (точками, сокращение от pictorial elements, элементы отображения). Количество пикселей в горизонтальном и вертикальном направлении называется разрешением экрана. Например, разрешение экрана 1024 × 768 - это матрица пикселей из 1024 столбцов и 768 строк. Эти 1024 × 768 пикселей передаются на экран за один цикл обновления.

Каждый пиксель - это, по существу, информация о цвете по определённому (строка, столбец) индексу отображаемой матрицы. Цветовая информация, представленная в пикселях, обозначается с использованием стандартного представления цвета. Цвет либо представлен в области RGB, используя Красные, Зелёные и Синие биты, или в области YUV (* более часто YUV используется в системах кодирования/декодирования видео), используя значения яркости (Y) и цветности (U и V). RGB является общим представлением в большинстве графических систем. Расположение бит и число битов, занимаемых каждым цветом, приводят к различным форматам, перечисленным в Таблице 9.1.

 

Таблица 9.1 Форматы цвета RGB

 

Формат

Биты

Красный

Зелёный

Синий

Цветов

Монохромный

1

2

Индексный - 4 бита

4

2^4 = 16

Индексный - 8 бит

8

2^8 = 256

RGB444

12

4

4

4

2^12

RGB565

16

5

6

5

2^16

RGB888

24

8

8

8

2^24

 

Число или диапазон значений цвета, которое будет отображаться, определяет количество байт, занимаемых одним пикселем, выражаемое в термине размер пикселя. Рассмотрим, например, мобильное устройство отображения с разрешением 160 × 120 с 16 цветами. Размер пикселя здесь 4 бита на пиксель (16 уникальных значений наилучшим образом представляются с помощью 4-х битов), другими словами, ½ байта на пиксель. Требуемый размер памяти кадрового буфера рассчитывается по формуле

 

Память кадрового буфера = Ширина дисплея * Высота дисплея * Байты-на-Пиксель

 

В приведённом выше примере требуемая область памяти - это 160 × 120 × (½) байт. Большинство реализаций кадрового буфера являются линейными в том смысле, что они представляют собой непрерывный место в памяти, как и массив. Начальный байт каждой строки отделён на постоянное число байт, называемое шириной строки или шаг по индексу (stride). В нашем примере шириной строки является 160 * (½) байт. Таким образом, расположением любого пикселя (x, у) = (line_width * у) + x. Рисунок 9.4 иллюстрирует расположение пикселя (40, 4), выделенного заливкой.

 

Рисунок 9.4 Расположение пикселей в линейном кадровом буфере.

Рисунок 9.4 Расположение пикселей в линейном кадровом буфере.

 

Теперь посмотрим на первые три записи в Таблице 9.1. Они отличаются от остальных записей, в смысле, что они являются индексными цветовыми форматами. Индексные форматы присваивают индексы, которые соответствуют определённому цветовому оттенку. Например, в системе с монохромным дисплеем, только с одним битом, с двумя значениями (0 или 1), можно привязать 0 к красному и 1 к чёрному. По сути то, что мы имеем теперь, представляет собой таблицу со значениями цвета, зависящими от их индекса. Эта таблица называется справочной таблицей цветов (Color LookUp Table, CLUT). Их также называют цветовыми палитрами. Каждая запись в палитре связывает значение пикселя с заданным пользователем уровнем интенсивности красного, зелёного и синего. Теперь, после ознакомления с CLUT, обратите внимание, как содержимое кадрового буфера получает перевод в различные цветовые оттенки на основе значений в CLUT. Например, CLUT можно разумно использовать на мобильном телефоне для изменения цветовых тем, как показано на Рисунке 9.5.

 

Рисунок 9.5 Работа с таблицей цветов.

Рисунок 9.5 Работа с таблицей цветов.

 

Предыдущая  Содержание  Следующая