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

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

 

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

– кодирование цветов пикселей;
– объем видеопамяти.

Изучаемые вопросы:

– Принцип формирования цвета пикселя на экране.
– Связь между количеством цветов в палитре и количеством бит для кодирования одного пикселя (формула).
– Формула определения объёма видеопамяти для хранения изображения заданного размера.

 

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

 

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

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

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

1 — белый;
0 — черный.

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

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

00 — черный;
10 — зеленый;
01 — красный;
11 — коричневый.

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

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

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

Таблица 4.1. Двоичный код восьмицветной палитры

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

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

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

Таблица 4.2. Двоичный код шестнадцатицветной палитры.
«и» — бит интенсивности

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

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

 Количество различных цветов К и количество битов для их кодирования b связаны между собой формулой К = 2b.

21 = 2, 22 = 4, 23 = 8, 24 = 16 и т. д. Для получения цветовой гаммы из 256 цветов требуется 8 битов = 1 байт на каждый пиксель, так как 28 = 256.

 Величина b называется битовой глубиной цвета.

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

 

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

640 • 480 • 1 бит = 307 200 битов = 38 400 байтов.

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

Для работы с 256-цветной палитрой на мониторе с разрешением 1024 х 768 минимальный объем видеопамяти составляет 768 Кб.

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

На самом деле видеопамять хранит одновременно не одно изображение экрана, а множество. Это способствует быстрой смене кадров. Поэтому размер видеопамяти на современных ПК составляет от сотен мегабайтов до нескольких гигабайтов.

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

 

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

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

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

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

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

 

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

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

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

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

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

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

 

Источник: https://иванов-ам.рф/informatika_07_sim/informatika_materialy_zanytii_07_24.html