- •Кодирование информации Методические указания к лабораторной работе по дисциплине «Информатика»
- •Оглавление
- •Теоретическая часть кодирование информации.
- •1. Представление чисел в компьютере
- •2. Кодирование текстовой информации. Кодировка ascii
- •2.1. Вычисление информационного объема сообщения
- •2.2. Кодирование и декодирование информации
- •3. Кодирование и обработка графической информации
- •Примеры типовых решений Задача №1
- •Задача №2
- •Задача №3
- •Задача №4
- •Задача №5
3. Кодирование и обработка графической информации
Графическая информация может храниться в растровом и векторном форматах.
Векторное изображение – это набор геометрических фигур, которые можно описать математическими зависимостями.
Растровое изображение хранится в виде набора пикселей, для каждого из которых задается свой цвет, независимо от других.
Глубина цвета – это количество бит на пиксель (обычно от 1 до 24 бит на пиксель).
В режиме истинного цвета (true color) информация о цвете каждого пикселя растрового изображения хранится в виде набора его rgb-составляющих (red, green, blue); каждая из rgb-составляющих – целое число (яркость) в интервале [0,255] (всего 256 вариантов), занимающее в памяти 1 байт или 8 бит (так как 28 = 256); таким образом, на каждый пиксель отводится 3 байта = 24 бита памяти (глубина цвета – 24 бита); нулевое значение какой-то составляющей означает, что ее нет в этом цвете, значение 255 – максимальная яркость; в режиме истинного цвета можно закодировать 2563 = 224 = 16 777 216 различных цветов.
Палитра
– это ограниченный набор цветов, которые
используются в изображении (обычно не
более 256); при кодировании с палитрой
выбираются n
любых цветов (из полного набора 16 777 216
цветов), для каждого из них определяется
rgb-код и уникальный номер от 0 до n-1;
тогда информация о цвете пикселя – это
номер
его цвета в палитре; при кодировании с
палитрой количество бит
на 1 пиксель
(k)
зависит от количества цветов в палитре
n,
они связаны формулой:
;
объем памяти на все изображение
вычисляется по формуле
,
где
–
число бит на пиксель, а
– общее количество пикселей2
.
Полезно знать на память таблицу степеней двойки: она показывает, сколько вариантов n (а данном случае – сколько цветов) можно закодировать с помощью k бит:
K, бит |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
N, вариантов |
2 |
4 |
8 |
16 |
32 |
64 |
128 |
256 |
512 |
1024 |
цвет на Web-страницах кодируется в виде RGB-кода в шестнадцатеричной системе: #RRGGBB, где RR, GG и BB – яркости красного, зеленого и синего, записанные в виде двух шестнадцатеричных цифр; это позволяет закодировать 256 значений от 0 (0016) до 255 (FF16) для каждой составляющей; коды некоторых цветов:
#FFFFFF – белый,
#000000 – черный,
#CCCCCC и любой цвет,где R = G = B, – это серый разных яркостей
#FF0000 – красный,
#00FF00 – зеленый,
#0000FF – синий,
#FFFF00 – желтый,
#FF00FF – фиолетовый,
#00FFFF – цвет морской волны.
Примеры типовых решений Задача №1
Тема: Кодирование текстовой информации. Кодировка ASCII. Основные кодировки кириллицы.
Что нужно знать:
все символы кодируются одинаковым числом бит3 (алфавитный подход);
чаще всего используют кодировки, в которых на символ отводится 8 бит (8-битные) или 16 бит (16-битные);
при измерении количества информации принимается, что в одном байте 8 бит, а в одном килобайте (1 кбайт) – 1024 байта, в мегабайте (1Мбайт) – 1024 кбайта4;
после знака препинания внутри (не в конце!) текста ставится пробел;
чтобы найти информационный объем текста I, нужно умножить количество символов N на число бит на символ K: I = N * K;
две строчки текста не могут занимать 100 кбайт в памяти.
Пример 1. Определите информационный объем текста
Бамбарбия! Кергуду!
1) 38 бит
2) 144 бита
3) 152 бита
4) 19 бит
Решение:
в этом тексте 19 символов (обязательно считать пробелы и знаки препинания);
если не дополнительной информации, считаем, что используется 8-битная кодировка (чаще всего явно указано, что кодировка 8- или 16-битная) ;
поэтому в сообщении 19*8 = 152 бита информации (ответ 3).
Пример 2. Автоматическое устройство осуществило перекодировку информационного сообщения на русском языке, первоначально записанного в 16-битном коде Unicode, в 8-битную кодировку КОИ-8. При этом информационное сообщение уменьшилось на 480 бит. Какова длина сообщения в символах?
Решение:
обозначим количество символов через N;
при 16-битной кодировке объем сообщения – 16*N бит;
когда его перекодировали в 8-битный код, его объем стал равен– 8*N бит;
таким образом, сообщение уменьшилось на 16*N – 8*N = 8*N = 480 бит;
отсюда находим N = 480/8 = 60 символов.
