Файл: Локальные и глобальные сети эвм основы компьютерной коммуникации. Принципы построения сетей. Компьютерная сеть.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.11.2023

Просмотров: 517

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

1
1.8
Кодирование данных в современных компьютерах.
Кодирование текстовых, графических и звуковых данных
Изучив материал, студент должен знать:
 как кодируются данные в современных компьютерах; кодирование текстовых данных (коды ASCII и UNICODE); кодирование графических данных; кодирование звуковых данных.
Изучив материал, студент должен уметь:
 определять объем памяти необходимый для хранения текстовых, графических и звуковых данных.
1.8.1
Кодирование текстовых данных
Нажатие любой алфавитно-цифровой клавиши на клавиатуре приводит к тому, что в компьютер посылается сигнал в виде двоичного числа, представляющего собой одно из значений кодовой таблицы.
Кодовая таблица — это внутреннее представление символов в компьютере.
В качестве стандарта долгое время использовалась кодовая таблица
ASCII
(
A
merican
S
tandard
C
ode for
I
nformational
I
nterchange —
Американский
стандартный код информационного обмена).
Для хранения двоичного кода одного символа выделен
1
байт
=
8
бит.
Учитывая, что каждый бит принимает значение
1
или
0
, количество возможных сочетаний единиц и нулей равно
2 8
= 256
Значит, с помощью
1
байта можно получить
256
разных двоичных кодовых комбинаций и отобразить с их помощью
256
различных символов.
Эти коды и составляют кодовую таблицу
ASCII
Для сокращения записи и удобства пользования этими кодами символов в таблице используют шестнадцатеричную систему счисления,
При кодировании символов сначала записывается цифра столбца, а затем
строки, на пересечении которых находится данный символ. Таблица кодов
ASCII показана на рисунке 1.

2
Рисунок 1 – таблица кодов ASCII
Например, латинская буква S в таблице ASCII представлена шестнадцатеричным кодом — 53. При нажатии клавиши с буквой S в память компьютера записывается код 01010011, представляющий собой двоичный эквивалент шестнадцатеричного числа 53. Этот код может быть получен путем замены каждой шестнадцатеричной цифры её двоичным представлением. В данном случае цифра 5 заменена кодом 0101, а цифра 3 — кодом 0011. При выводе буквы S на экран, компьютер выполняет декодирование: на основании этого двоичного кода строится изображение символа.
Любой символ в таблице ASCII кодируется с помощью 8 двоичных разрядов или 2 шестнадцатеричных разрядов.
Стандарт ASCII кодирует первые 128 символов от 0 до 127: цифры, буквы латинского алфавита, управляющие символы. Таблица выше отображает кодировку символов в шестнадцатеричной системе счисления.
Первые 32 символа являются управляющими и предназначены в основном для передачи команд управления. Их назначение может варьироваться в зависимости от программных и аппаратных средств. Вторая


3 половина кодовой таблицы (от 128 до 255) американским стандартом не определена и предназначена для символов национальных алфавитов, псевдографических и некоторых математических символов. В разных странах могут использоваться различные варианты второй половины кодовой таблицы.
Хочется напомнить, что цифры кодируются по стандарту ASCII в двух случаях: при вводе-выводе и когда они встречаются в тексте. Если цифры участвуют в вычислениях, то осуществляется их преобразование в двоичный код в соответствии с правилами.
Например, рассмотрим число 45 для двух вариантов кодирования.
При использовании в тексте это число потребует для своего представления 2 байта, поскольку каждая цифра будет представлена своим кодом в соответствии с таблицей ASCII. В шестнадцатеричной системе код будет выглядеть как 3435, в двоичной системе — 0011010000110101.
При использовании в вычислениях двоичного кода этого числа по правилам записи в память компьютера десятичных целых чисел положительных и отрицательных это число будет представлено в виде 8- разрядного двоичного числа 00101101, на его запись в память компьютера потребуется 1 байт.
В настоящее время широко распространен код Unicode. Эта кодировка поддерживается в большинстве операционных систем, а также практически во всех современных браузерах и многих программах.
Стандарт
Unicode явился результатом сотрудничества
Международной организации по стандартизации (ISO) с ведущими производителями компьютеров и программного обеспечения. В мире существует 6700 живых языков, но только 50 из них являются официальными языками государств. Письменностей используется около 25, что делает возможным создание универсального стандарта.
Для кодирования этих письменностей достаточно 16-битового диапазона (2 байта на символ), то есть диапазона от 0000 до FFFF. Стандарт

4
ASCII занимает в кодовом пространстве свое почетное место в диапазоне от
0000 до 00FF.
Каждой письменности выделен свой блок кодов. На сегодняшний день кодирование всех живых официальных письменностей считается завершенным: распределено около 29000 позиций из 65535 возможных.
Кодовая таблица стандарта Unicode показана на рисунке 2.
Рисунок 2 – кодовая таблица Unicode
В последнее время консорциум Unicode приступил к кодированию остальных письменностей нашей планеты, которые представляют какой-либо

5 интерес: письменности мёртвых языков, выпавших из современного обихода, китайские иероглифы, искусственно созданные алфавиты и т. п.
Для представления такого разнообразия языков 16-битового кодирования уже недостаточно, и сегодня Unicode уже приступил к освоению 21-битового пространства кодов (000000-10FFFF), которое разбито на 16 зон, названных плоскостями.
Итак! Если каждому символу алфавита сопоставить определенное целое число, то с помощью двоичного кода можно кодировать и текстовую информацию. Восьми двоичных разрядов достаточно для кодирования 256 различных символов. Этого хватит, чтобы выразить различными комбинациями из восьми битов все символы английского и русского языков, как строчные, так и прописные, а также знаки препинания, символы основных арифметических действий и некоторые общепринятые специальные символы, например символ «@». Для одинакового кодирования текстовых данных существуют специальные таблицы кодирования. К сожалению их, достаточно много из-за противоречий между символами национальных алфавитов, а также противоречий корпоративного характера.
А также трудности, связанные с единой системой кодирования текстовых данных вызваны ограниченным набором кодов (256). В настоящее время разработана система, основанная на 16-разрядном кодировании символов.
Она получила название UNICODE. Шестнадцать разрядов позволяют обеспечить уникальные коды для 65536 различных символов – этого поля достаточно для размещения в одной таблице символов большинства языков планеты.
1.8.2
Кодирование графических данных
Представление графических данных в двоичном коде. Есть два основных способа представления изображений. Создавать и хранить графические объекты в компьютере можно различными способами, однако


6 самыми популярными являются растровое и векторное кодирование изображения. Поговорим об этом подробнее.
Растровое изображение представляет собой совокупность точек, используемых для его отображения на экране монитора.
Объём растрового изображения определяется как произведение количества точек и информационного объёма одной точки, который зависит от количества возможных цветов. Для черно-белого изображения информационный объём одной точки равен 1 биту, так как точка может быть либо чёрной, либо белой, что можно закодировать одной из двух цифр — 0 или 1.
Рисунок 3 – Растровое кодирование
Информационный объём растрового изображения (V) определяется как произведение числа входящих в изображение точек (N) на информационный объём одной точки (q), который зависит от количества возможных цветов, т. е. V=N⋅q.
При чёрно-белом изображении q = 1 бит (например, 1 — точка подсвечивается и 0 — точка не подсвечивается). Поэтому для хранения чёрно-белого (без оттенков) изображения размером 100x100 точек требуется
10000 бит.

7
Если между чёрным и белым цветами имеется ещё шесть оттенков серого (всего 8), то информационный объём точки равен 3 бита (log2 8
= 3).
Информационный объём такого изображения увеличивается в три раза: V =
30000 бит.
Рассмотрим, сколько потребуется бит для отображения цветной точки: для 8 цветов необходимо 3 бита; для 16 цветов — 4 бита; для 256 цветов — 8 битов (1 байт). В таблице 1 представлено кодирование цветовой палитры из 16 цветов.
Таблица 1 – Кодирование цветовой палитры из 16 цветов
Разные цвета и их оттенки получаются за счёт наличия или отсутствия трёх основных цветов (красного, синего, зеленого) и степени их яркости.
Каждая точка на экране кодируется с помощью 4 битов.
Цветные изображения могут отображаться в различных режимах, соответственно изменяется и информационный объём точки (см. таблицу 2).

8
Таблица 2 – Информационный объем точки
Описание цвета пикселя является кодом цвета.
Количество бит, отводимое на каждый пиксель для представления
цвета, называют глубиной цвета
(англ. color depth). От количества выделяемых бит зависит разнообразие палитры.
Наиболее распространенными значениями глубины цвета являются 8,
16, 24 или 32 бита.
Чем больше глубина цвета, тем больше объем графического файла.
Для хранения растрового изображения размером 32x32пикселя отвели
512 байтов памяти.
Каково максимально возможное число цветов в палитре изображения?
Решение. Число точек изображения равно 32⋅32 = 1024. Мы знаем, что 512 байтов = 512⋅8=4096 бит. Найдём глубину цвета 4096÷1024=4. Число цветов равно 2 4
= 16.
Цвет на Web-страницах кодируется в виде RGB-кода в шестнадцатеричной системе: #RRGGBB, где RR, GG и BB — яркости красного, зеленого и синего, записанные в виде двух шестнадцатеричных цифр; это позволяет закодировать 256 значений от 0 (00 16
) до 255 (FF
16
) для каждой составляющей.
Коды цветов показаны в таблице 3.
При обозначении цветов в HTML –документах вначале ставят знак номера #. В HTML: #FF0000 — интенсивно красный цвет, #00FF00 — зелёный цвет, #0000FF
— синий цвет. Отсутствие цветов (#000000) даёт


9 чёрный цвет, а самое интенсивное сочетание всех трёх каналов (#FFFFFF) даёт белый цвет.
Таблица 3 – Коды некоторых цветов
FF — наибольшая яркость цветовой компоненты, для получения различных оттенков одного и того же цвета изменяют яркость.
Чтобы получить светлый оттенок какого-то «чистого» цвета, нужно одинаково увеличить нулевые составляющие; например, чтобы получить светло-красный цвет, нужно сделать максимальной красную составляющую и, кроме этого, одинаково увеличить остальные — синюю и зелёную:
#FF9999
(сравните с красным: #FF0000).
Чтобы получить тёмный оттенок чистого цвета, нужно одинаково уменьшить все составляющие, например, #660066 — это тёмно-фиолетовый цвет (сравните с фиолетовым #FF00FF).
Заметим, что если старший бит в коде (первая, третья или пятая цифра) находится в диапазоне от 0 до 3, то можно считать, что эта цветовая компонента отсутствует в цвете, то есть #0F0F0F — это чёрный цвет.
Также следует отметить, что равное или почти равное сочетание цветовых компонент обозначает серый цвет разной интенсивности.
Итак, подведем итог, графические объекты формируются в виде множества точек (пикселей) разных цветов и разных яркостей, распределенных по строкам и столбцам. Такой способ называется растровой

10 графикой. Линейные координаты и индивидуальные свойства каждой точки
(яркость, цветность) можно выразить с помощью целых чисел, которые и запоминаются в памяти компьютера.
Рассмотрим второй способ.
Векторное изображениепредставляет собой совокупность графических примитивов. Каждый примитив состоит из элементарных отрезков кривых, параметры которых (координаты узловых точек, радиус кривизны и пр.) описываются математическими формулами.
Для каждой линии указываются её тип (сплошная, пунктирная, штрих-пунктирная), толщина и цвет, а замкнутые фигуры дополнительно характеризуются типом заливки.
Рассмотрим, например, такой графический примитив, как окружность радиуса r. Для её построения необходимо и достаточно следующих исходных данных:
− координаты центра окружности;
− значение радиуса r;
− цвет заполнения (если окружность не прозрачная);
− цвет и толщина контура (в случае наличия контура).
Информация о векторном рисунке кодируется обычным способом, как хранятся тексты, формулы, числа, т. е. хранится не графическое изображение, а только координаты и характеристики изображения его деталей. Поэтому для хранения векторных изображений требуется существенно меньше памяти, чем растровых изображений.
Таким образом, графические объекты создаются как совокупности линий (кривых третьего порядка) – векторная графика. Из элементарных объектов (линий) создаются простейшие геометрические объекты
(примитивы) из которых, в свою очередь, составляются законченные композиции. В векторных редакторах каждая линия рассматривается как математическая кривая третьего порядка и, соответственно, представляется математической формулой (в компьютере хранятся числовые коэффициенты


11 этой формулы). Такое представление намного компактнее, чем растровое, данные занимают много меньше места, однако, построение любого объекта выполняется не простым отображением точек на экране, а сопровождается непрерывным пересчетом параметров кривой в координаты экранного или печатного изображения. Соответственно, работа с векторной графикой требует более производительных вычислительных систем.
Вернемся еще раз к оцифровке цветов.
Для оцифровки цветов в современных компьютерах используют две основные модели.
Модель RGB. Чтобы оцифровать цвет его необходимо измерить. Три закона смешения цветов сформулировал немецкий ученый Грасман:
1) закон трехмерности – любой цвет может быть представлен комбинацией трех основных цветов;
2) закон непрерывности – к любому цвету можно подобрать бесконечно близкий;
3) закон аддитивности – цвет смеси зависит только от цвета составляющих.
За основные три цвета приняты красный (Red), зеленый (Green), синий (Blue). Каждый составляющий цвет при этом характеризуется своей яркостью, поэтому модель называется аддитивной. Эта схема применяется для создания графических образов в устройствах, излучающих свет, - мониторах, телевизорах.
Модель CMYK. Напечатанный на бумаге графический объект сам не излучает световых волн. Изображение формируется на основе отраженной волны от окрашенных поверхностей. Окрашенные поверхности, на которые падает белый свет (т.е. сумма всех цветов), должны поглотить (т.е. вычесть) все составляющие цвета, кроме того цвета, который мы видим. Цвет поверхности можно получить красителями, которые поглощают, а не излучают. Например, если мы видим зеленое дерево, то это означает, что из падающего белого цвета, т.е. суммы красного, зеленого, синего, поглощены

12 красный и синий, а зеленый отражен. Цвета красителей должны быть дополняющими:
− голубой (Cyan = B+ G), дополняющий красного;
− пурпурный (Magenta = R+B), дополняющий зеленого;
− желтый (Yellow = R+G), дополняющий синего.
Но так как цветные красители по отражающим свойствам не одинаковы, то для повышения контрастности применяется еще черный
(black).
Модель CMYK названа по первым буквам слов Cyan, Magenta,
Yellow и последней букве слова black. Так как цвета вычитаются, модель называется субстрактивной.
1   ...   19   20   21   22   23   24   25   26   27