Кодирование текстовой, звуковой и графической информации в ЭВМ
Кодирование текстовой информации в ПК.Для представления символов в числовой форме был предложен метод кодирования, получивший в дальнейшем широкое распространение и для других видов представления нечисловых данных (звуков, изображений и др.). Кодом называется уникальное беззнаковое целое двоичное число, поставленное в соответствие некоторому символу. Под алфавитом компьютерной системы понимают совокупность вводимых и отображаемых символов. Алфавит компьютерной системы включает в себя арабские цифры, буквы латинского алфавита, знаки препинания, специальные символы и знаки, буквы национального алфавита, символы псевдографики - растры, прямоугольники, одинарные и двойные рамки, стрелки.
Нажатие алфавитно-цифровой клавиши на клавиатуре приводит к тому, что в компьютер посылается сигнал в виде двоичного числа, представляющего собой одно из значений кодовой таблицы. Кодовая таблица - это внутреннее представление символов в компьютере. Во всем мире в качестве стандарта принята таблица ASCII (American Standart Code for Informational Interchange - американский стандартный код информационного обмена).
Для хранения двоичного кода одного символа выделен 1 байт = 8 бит. Учитывая, что каждый бит принимает значение 1 или 0, количество возможных сочетаний единиц и нулей равно 28 = 256. Следовательно, с помощью 1 байта можно получить 256 разных двоичных кодовых комбинаций и отобразить с их помощью 256 различных символов. Эти коды и составляют таблицу ASCII.
Например, при нажатии клавиши с буквой «H» в память компьютера записывается код 01001000. При выводе буквы «H» на экран компьютер выполняет декодирование - на основании этого двоичного кода строится изображение символа.
HELLO (Здравствуйте) - 01001000 01000101 01001100 01001100 01001111
Примечание. Цифры кодируются по стандарту ASCII в двух случаях - при вводе-выводе и когда они встречаются в тексте. Если цифры участвуют в вычислениях, то осуществляется их преобразование в двоичный код по правилам перевода чисел из одной системы счисления в другую.
Для сравнения рассмотрим представление числа 2710 для двух вариантов кодирования.
При использовании в тексте это число потребует для своего представления 2 байта, поскольку каждая цифра будет представлена своим кодом в соответствии с таблицей ASCII . В двоичной системе –
00110010 00110111.
При использовании в вычислениях код этого числа будет получен по специальным правилам перевода и представлен в виде 8-разрядного двоичного числа 00011011, на что потребуется 1 байт.
В системе ASCII закреплены две таблицы кодирования: базовая и расширенная. Базовая таблица закрепляет значения кодов от 0 до 127: цифры, буквы латинского алфавита, знаки препинания, управляющие символы (таблица 2.3). Первые 32 символа являются управляющими и предназначены в основном для передачи команд управления. Их назначение может варьироваться в зависимости от программных и аппаратных средств. Расширенная таблица (символы с номерами от 128
до 255) американским стандартом не определена и предназначена для символов национальных алфавитов, псевдографических и некоторых математических символов. В разных странах могут использоваться различные варианты второй половины кодовой таблицы.
Отсутствие единого стандарта расширенной таблицы ASCII кодов в привело к множественности одновременно действующих кодировок. Только в России можно указать несколько действующих стандарта кодировки.
Так, например, кодировка символов русского языка, известная как кодировка Windows-1251, была введена «извне» - компанией Microsoft, но, учитывая широкое распространение операционных систем и других продуктов этой компании в России, она глубоко закрепилась и нашла широкое распространение. Эта кодировка используется на большинстве локальных компьютеров, работающих на платформе Windows. Де-факто она стала стандартной в российском секторе World Wide Web.
Таблица 2.3
Базовая таблица кодировки ASCII
32 пробел | @ | Р | * | p | ||||||
33 ! | А | Q | а | q | ||||||
34 " | В | R | b | r | ||||||
35 # | С | S | с | s | ||||||
36 $ | D | Т | d | t | ||||||
37 % | Е | U | е | u | ||||||
38 & | F | V | f | v | ||||||
39 ' | G | W | g | w | ||||||
40 ( | Н | X | h | x | ||||||
41 ) | I | Y | i | y | ||||||
42 * | : | J | Z | J | z | |||||
43 + | ; | К | [ | k | { | |||||
44 , | < | L | \ | I | | | |||||
45 - | = | М | ] | m | } | |||||
46 . | > | N | ^ | n | ~ | |||||
47 / | ? | О | _ | o |
Другая распространенная кодировка носит название КОИ-8 (код обмена информацией, восьмизначный) - ее происхождение относится ко временам действия Совета Экономической Взаимопомощи государств Восточной Европы (таблица 2.4). На базе этой кодировки ныне действуют кодировки КОИ8-Р (русская) и КОИ8-У (украинская). Сегодня кодировка КОИ8-Р имеет широкое распространение в компьютерных сетях на территории России и в некоторых службах российского сектора Интернета. В частности, в России она де-факто является стандартной в сообщениях электронной почты и телеконференций.
Международный стандарт, в котором предусмотрена кодировка символов русского алфавита, носит название кодировки ISO (International StanduM Organiektion - международный институт стандартизации). На практике данная кодировка используется редко.
В связи с изобилием систем кодирования текстовых данных, действующих в России, возникает задача межсистемного преобразования данных - это одна из распространенных задач информатики.
Таблица 2.4
Кодировка КОИ-8
144 ░ | 160 - | 176 ╟ | 192 ю | п | Ю | П | ||||
129 | | 145 ▒ | 161 Е | 177 ╠ | 193 a | я | А | Я | |||
130 ┌ | 146 ▓ | 162 ╒ | 178 ╡ | 194 б | р | Б | Р | |||
131 ┐ | 147 ó | 163 е | 179 Е | 195 ц | с | Ц | С | |||
132 └ | 148 ■ | 164 ╓ | 180 ╢ | 196 д | т | Д | Т | |||
133 ┘ | 149 • | 165 ╔ | 181 ╣ | 197 e | у | Е | У | |||
134 ├ | 150 √ | 166 ╕ | 182 ╤ | 198 ф | ж | Ф | Ж | |||
135 ┤ | 151 ≈ | 167 ╖ | 183 ╥ | 199 г | в | Г | В | |||
136 ┬ | 152 ≤ | 168 ╗ | 184 ╦ | 200 x | ь | X | Ь | |||
137 ┴ | 153 ≥ | 169 ╘ | 185 ╧ | 201 и | ы | И | Ы | |||
138 ┼ | 170 ╙ | 186 ╨ | 202 й | з | Й | |||||
139 ▀ | 155 ⌡ | 171 ╚ | 187 ╩ | 203 к | ш | К | Ш | |||
140 ▄ | 156 ° | 172 ╛ | 188 ╪ | 204 л | э | Л | Э | |||
141 █ | 157 ² | 173 ╜ | 189 ╫ | 205 м | щ | М | Щ | |||
142 ▌ | 158 · | 174 ╝ | 190 ╬ | 206 н | ч | Н | Ч | |||
143 ▐ | 159 ¸ | 175 ╞ | 191 е | 207 о | ъ | О | Ъ |
Кодирование графических данных. Есть два основных способа представления изображений.
Первый - графические объекты создаются как совокупности линий, векторов, точек - называется векторной графикой.
Второй - графические объекты формируются в виде множества точек (пикселей) разных цветов и разных яркостей, распределенных по строкам и столбцам, - называется растровой графикой.
Модель RGB. Чтобы оцифровать цвет, его необходимо измерить. Немецкий ученый Грасман сформулировал три закона смешения цветов:
1) закон трехмерности - любой цвет может быть представлен комбинацией трех основных цветов - красного (Red, R),зеленого (Green, G) и синего (Blue, В);
2) закон непрерывности - к любому цвету можно подобрать бесконечно близкий;
3) закон аддитивности - цвет смеси зависит только от цвета составляющих.
На практике считается, что любой цвет, видимый человеческим глазом, можно получить путем механического смешения красного (Red, R),зеленого (Green, G) и синего (Blue, В) (такая система кодирования называется системой RGB по первым буквам названий основных цветов). Эта схема применяется для создания графических образов в устройствах, излучающих свет, - мониторах, телевизорах.
Если для кодирования яркости каждой из основных составляющих использовать 256 значений (8 двоичных разрядов), как это принято для полутоновых черно-белых изображений, то на кодирование цвета одной точки требуется 4 разряда. При этом система кодирования обеспечивает определение 16,5 млн. различных цветов, что близко к чувствительности человеческого глаза. Режим представления цветной графики с использованием 24 двоичных разрядов называется полноцветным (True Color).
Модель CMYK. Каждому из основных цветов можно поставить в соответствие дополнительный цвет, который дополняет основной цвет до белого. Для любого из основных цветов дополнительным будет цвет, образованный суммой пары остальных основных цветов: голубой (Cyan, С),пурпурный (Magenta, М)и желтый (Yellow, Y). Принцип декомпозиции произвольного цвета на составляющие компоненты можно применять не только для основных цветов, но и для дополнительных, то есть любой цвет можно представить в виде суммы голубой, пурпурной и желтой составляющей. Такой метод кодирования цвета принят в полиграфии (в полиграфии используется еще дополнительно и четвертая краска - черная (Black, К)).Данная система кодирования обозначается четырьмя буквами CMYK (черный цвет обозначается буквой К) - для представления цветной графики в этой системе надо иметь 32 двоичных разряда.
Если уменьшить количество двоичных разрядов, используемых для кодирования цвета каждой точки, то можно сократить объем данных, но при этом диапазон кодируемых цветов заметно сокращается. Кодирование цветной графики 16-разрядными двоичными числами называется режимом High Color.
При кодировании информации о цвете с помощью 8 бит данных можно передать 256 цветовых оттенков. Такой метод кодирования цвета называется индексным. Смысл названия в том, что, поскольку
256 значений совершенно недостаточно, чтобы передать весь диапазон цветов, доступный человеческому глазу, код каждой точки растра выражает не цвет сам по себе, а только его номер (индекс)в некоей справочной таблице, называемой палитрой. Эта палитра должна прикладываться к графическим данным - без нее нельзя воспользоваться методами воспроизведения информации на экране.
Расчет необходимого объема видеопамяти для хранения битовой карты изображения в различных видеорежимах.Графическая информация на экране дисплея ПК представляется в виде изображения, которое формируется из точек (пикселей). В современных компьютерах разрешающая способность (количество точек на экране дисплея), а также количество цветов зависят от видеоадаптера и могут меняться программно.
Цветные изображения могут иметь различные режимы: 16 цветов, 256 цветов, 65 536 цветов (high color), 16 777 216 цветов (true color).
Очевидно, что количество бит на точку (пиксель), например, режима true color, равно:
I= log2 65 536 = 16 бит = 2 байта.
Наиболее распространенной разрешающей способностью экрана является разрешение 800 на 600 точек, т.е. 480 000 точек.
Рассчитаем, например, необходимый для режима true color (65 536 цветов) объем видеопамяти:
V= 2 байта х 480 000 = 960 000 байт = 937,5 Кбайт.
Аналогично рассчитывается объем видеопамяти, необходимый для хранения битовой карты изображений при других видеорежимах.
В видеопамяти компьютера хранится битовый план (bit map), являющийся двоичным кодом изображения, отсюда она считывается (не реже 50 раз в секунду) и отображается на экране.
Кодирование звуковой информации.Звук - это упругая продольная волна в воздушной среде. Чтобы ее представить в виде, читаемом компьютером, необходимо выполнить следующие преобразования (рис. 2.2). Звуковой сигнал преобразовать в электрический аналог звука с помощью микрофона. Электрический аналог получается в непрерывной форме и не пригоден для обработки на цифровом компьютере. Чтобы перевести сигнал в цифровой код, надо пропустить его через аналого-цифровой преобразователь (АЦП). При воспроизведении происходит обратное преобразование - цифро-аналоговое (через ЦАП). Конструктивно АЦП и ЦАП находятся в звуковой карте компьютера.
Т.о. при двоичном кодировании аналогового звукового сигнала непрерывный сигнал дискретизируется (оцифровывается), т. е. заменяется серией отдельных выборок (см. рис. 2.3). Качество двоичного кодирования зависит от двух параметров: количества распознаваемых дискретных уровней сигнала и количества выборок в секунду.
Рис. 2.2. Схема обработки звукового сигнала
Рис. 2.3. Схема дискретизации звукового сигнала
Различные звуковые карты могут обеспечить как 8-, так и 16-битные выборки. При замене непрерывного звукового сигнала его дискретным представлением в виде ступенек 8-битные карты позволяют закодировать 256 различных уровней дискретизации звукового сигнала, соответственно 16-битные - 65 536 уровней.
Частота дискретизации аналогового звукового сигнала (количество выборок в секунду) также может принимать различные значения (5,5, 11, 22 и 44 кГц). Таким образом, качество звука в дискретной форме может быть очень плохим (качество радиотрансляции) при 8 битах и 5,5 кГц и весьма высоким (качество аудио-СD) при 16 битах и 44 кГц.
Можно оценить объем моноаудиофайла с длительностью звучания
1 с. при среднем качестве звука (16 бит, 22 кГц). Для этого 16 бит на одну выборку необходимо умножить на 22 000 выборок в секунду, что дает в результате 43 Кбайта.
Вопросы и задания для самопроверки
1. Дайте определение понятию «система счисления». Приведите пример.
2. Правила перевода чисел из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления.
3. Правила перевода чисел из двоичной системы счисления в восьмеричную и шестнадцатеричную системы счисления.
4. Правила сложения и вычитания двоичных чисел.
5. Правила умножения двоичных чисел.
6. Числа с фиксированной и плавающей запятой.
7. Прямой, обратный и дополнительный код. Правила перевода.
8. Правило сложения чисел в обратном коде.
9. Правило сложения чисел в дополнительном коде.
10. Кодирование текста в ЭВМ.
11. Кодирование графической информации в ЭВМ.
12. Модель RGB и CMYK.
13. Кодирование звуковой информации в ЭВМ.
14. Перевести число 2610 из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления?
15. Перевести число 11100100102 в десятичную, восьмеричную и шестнадцатеричную системы счисления?
16. Сложить/вычесть числа 101012 и 110012, умножить числа 101012 и 10012.
17. Перевести число 0,3910 из десятичной системы счисления в двоичную.
18. Найти прямой, обратный и дополнительный код чисел 101.012 и – 1101.1012.
19. Сложить числа из п. 18 в обратном и дополнительном коде.