§20. Как кодируется изображение

Основные темы параграфа:

кодирование цветов пикселей;

объем видеопамяти.

Кодирование цветов пикселей

Информация о состоянии каждого пикселя хранится в за­кодированном виде в памяти компьютера. Код может быть однобитовым, двухбитовым и т. д.

Код пикселя — это информация о цвете пикселя.                              

Для получения черно-белого изображения (без полутонов) пиксель может находиться в одном из двух состояний: све-

тится не светится (белый черный). Тогда для его коди­рования достаточно одного бита памяти:

1 белый, 0 черный.

Пиксель на цветном дисплее может иметь различную окраску. Поэтому одного бита на пиксель недостаточно,

Для кодирования четырехцветного изображения требует­ся двухбитовый код, поскольку с помощью двух битов мож­но выразить 4 различных значения (отобразить 4 различных состояния). Может использоваться, например» такой вари­ант кодирования цветов:

  1. 0 черный, 10 зеленый,
  2. 1 красный, 11 коричневый.

Из трех базовых цветов зеленого, красного, синего можно получить восемь комбинаций трехбитового кода:

image067 

В этом коде каждый базовый цвет обозначается его первой буквой (к красный, с синий, з зеленый). Черточка означает отсутствие цвета.

Следовательно, для кодирования восьмицветного изобра­жения требуются 3 бита памяти на один видеопиксель. Если наличие базового цвета обозначить единицей, а отсутствие нулем, то получается таблица кодировки восьмицветной па­литры (табл. 4.1).

image068 

Из сказанного, казалось бы, следует вывод: с помощью трех базовых цветов нельзя получить палитру, содержащую больше восьми цветов. Однако на экранах современных компьютеров получают цветные изображения, составленные из сотен, тысяч и даже миллионов различных красок и от­тенков. Как это достигается?

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

Шестнадцатицветная палитра получается при использо­вании четырехразрядной кодировки пикселя; к трем битам базовых цветов добавляется один бит интенсивности. Этот бит управляет яркостью всех трех цветов одновременно (ин­тенсивностью трех электронных пучков) (табл. 4.2).

image069 

Большее количество цветов получается при раздельном управлении интенсивностью базовых цветов. Причем интен­сивность может иметь более двух уровней, если для кодиро­вания интенсивности каждого из базовых цветов выделять больше одного бита.

Из сказанного можно вывести правило:

Количество различных цветов К                                       

и количество битов для их кодирования b                 

связаны между собой формулой: К = 2b

Объем видеопамяти

Объем необходимой видеопамяти определяется размером графической сетки дисплея и количеством цветов. Мини­мальный объем видеопамяти должен быть таким, чтобы в него помещался один кадр (одна страница) изображения. На­пример, для сетки 640 х 480 и черно-белого изображения ми­нимальный объем видеопамяти должен быть таким:

640 *480 *1 бит = 307 200 бит = 38 400 байт.

Это составляет 37,5 Кбайт.

Для четырехцветной гаммы и той же графической сетки видеопамять должна быть в два раза больше — 75 Кбайт; для восьмицветной 112,5 Кбайт,

На современных высококачественных дисплеях использу­ется палитра более чем из 16 миллионов цветов. Требуемый размер видеопамяти в этом случае — несколько мегабайтов.

Коротко о главном

Информация в видеопамяти — это двоичные коды, обо­значающие цвета пикселей на экране.

Для кодирования двух цветов достаточно 1 бита на пик­сель; четырех цветов — 2 битов; восьми цветов 3 битов; шестнадцати цветов — 4 битов и т. д. Количество цветов К и размер кода в битах Ь связаны формулой: К — 2 .

Из трех базовых цветов можно получить S различных цве­тов, Большее число цветов получается путем управления ин­тенсивностью базовых цветов.

Минимально необходимый объем видеопамяти зависит от размера сетки пикселей и от количества цветов. Обычно в ви­деопамяти помещается несколько страниц (кадров) изобра­жения одновременно.

Вопросы и задания

1.Какая информация содержится в видеопамяти?

2.Сколько битов видеопамяти на один пиксель требуется для хра­нения двухцветного; четырехцветного; восьми цветного; шест­надцати цветного изображения?

3.Какие цвета получаются из смешения красного и синего, крас­ного и зеленого, зеленого и синего?

4.Сколько цветов будет содержать палитра, если каждый базо­вый цвет кодировать в двух битах?

5.Придумайте способ кодирования цветов для 256-цветной па­литры.

6.Пусть видеопамять компьютера имеет объем 512 Кбайт, Размер графической сетки — 640 х 480, Сколько страниц экрана одно­временно разместится в видеопамяти при палитре из 16 цветов; 256 цветов?