- •Тема 2.Семантика и формализация в информатизации
- •§ 1. Информация, ее виды и свойства
- •1.1. Различные уровни представлений об информации
- •1.2. Непрерывная и дискретная информация
- •1.3. Единицы количества информации: вероятностный и объемный подходы
- •Вероятностный подход
- •Объемный подход
- •§ 2. Кодирование информации
- •2.1. Абстрактный алфавит
- •Абвгдеёжзийклмнопрстуфхцчшщъыьэюя
- •2.2. Кодирование и декодирование
- •2.3. Понятие о теоремах шеннона
- •2.4. Международные системы байтового кодирования
- •§ 3. Системы счисления
- •3.1. ПОзиционные системы счисления: двоичная, восьмиричная, шестнадцатирИчНая
- •3.2. Перевод чисел из одной системы счисления в другую. Кратные системы счисления
- •3.3. СМешанные системы счисления
- •3.4. Представление целых чисел в эвм
- •3.5. Представление графической информации в эвм
- •3.6. Представление звука в эвм
- •§ 4. Алгоритм
- •4.1. Алгоритм и его свойства
- •4.2. Способы представления алгоритмов
- •4.3. Понятие исполнителя алгоритма
3.5. Представление графической информации в эвм
Под графической информацией будем понимать неподвижное изображение, например, рисунок, фотографию и т.д. С графической информацией связана также видеоинформация: в первом приближении это то, что мы видим в окружающем мире, а также изображение с экрана телевизора и т.п.
С 80-х годов интенсивно развивается технология обработки на компьютере графической информации. Компьютерная графика позволяет создавать и редактировать рисунки, схемы, чертежи, преобразовывать изображения (фотографии, слайды и т.д.), представлять статистические данные в форме деловой графики, создавать анимационные модели (научные, игровые и т.д.), обрабатывать «живое видео».
Графическая информация на экране монитора представляется в виде изображения, которое формируется из точек (пикселей).
Изображение, которое мы видим на экране компьютера, всегда имеет свое машинное, двоичное представление в памяти ЭВМ. Сначала рассмотрим модель монохромного, двуцветного изображения (иногда говорят черно-белого изображения). Суть такого изображения в том, что имеется некоторый фон, на котором другим цветом нанесено изображение.
Пусть имеется некоторый рисунок. Носителем этого рисунка может быть, например, бумага. Поместим данный рисунок в прямоугольную рамку. Выберем некоторый масштаб и проведем в рамке горизонтальные и вертикальные координатные линии. Таким образом, на рисунок будет нанесена координатная сетка, представляющая собой совокупность клеток.
Горизонтальный ряд клеток назовем линией. Каждая линия представляет собой сообщение. После получения линий-сообщений мы начинаем этап преобразования информации из непрерывной формы в дискретную (операцию дискретизации) следующим образом: просматривая слева направо клетки, каждой клетке поставим в соответствие либо ноль, либо единицу. Если в клетке имеется фрагмент изображения, то припишем ей единицу, иначе приписываем клетке ноль. Если изображение находится на границе клеток, то можно одной клетке (по выбору) приписать единицу, а другой – ноль. Восстановление рисунка проводится в обратном порядке.
В этом простейшем случае (черно-белое изображение без градаций серого цвета) каждая точка экрана может иметь лишь два состояния — «черная» или «белая», т.е. для хранения ее состояния необходим 1 бит.
Рассмотрим далее модель цветного изображения. Каждый цвет есть световая волна заданной частоты. Такие частоты образуют непрерывный спектр. Среди множества всех цветов мы должны выбрать некоторое конечное подмножество и занумеровать их. Таким образом, мы выполняем операцию квантования.
Снова на рисунок наносим координатную сетку, получаем линии-сообщения. Каждой клетке припишем некоторый номер в диапазоне номеров цветов изображения по некоторому отбору. Каждому номеру поставим в соответствие двоичный набор – такое количество бит (нулей и единиц), которое достаточно для кодирования номера цвета. Полученную двоичную запись для всех клеток будем считать машинным кодом цветного изображения. Например, для модели 16-цветного изображения потребуется по четыре бита для кодирования каждой клетки. Восстановление рисунка проводится в обратном порядке.
Цветные изображения могут иметь различную глубину цвета (бит на точку: 4, 8, 16. 24). Каждый цвет можно рассматривать как возможное состояние точки, и тогда по формуле N = 21 может быть вычислено количество цветов, отображаемых на экране монитора.
Таблица 2.4. Количество отображаемых листов
Глубина цвета (I) |
Количество отображаемых цветов (N) |
4 |
24= 16 |
8 |
28 = 256 |
16 (High Color) |
216= 65536 |
24 (True Color) |
224= 16777216 |
Совершенно очевидно, что в большинстве случаев в результате двоичного представления изображения часть информации теряется. Однако при очень большом количестве клеток, налагающихся на рисунок, человеческий глаз практически не в состоянии отличить разницу между оригиналом и изображением, восстановленным из двоичного кода. Для высокой точности представления цветного изображения требуется большое количество памяти ЭВМ.
Изображение может иметь различный размер, который определяется количеством точек по горизонтали и по вертикали. В современных персональных компьютерах обычно используются четыре основных размера изображения или разрешающих способностей экрана: 640*480, 800*600, 1024*768 и 1280*1024 точки.
Графический режим вывода изображения на экран определяется разрешающей способностью экрана и глубиной цвета. Полная информация о всех точках изображения, хранящаяся в видеопамяти, называется битовой картой изображения.
Для того чтобы на экране монитора формировалось изображение, информация о каждой его точке (цвет точки) должна храниться в видеопамяти компьютера. Рассчитаем необходимый объем видеопамяти для наиболее распространенного в настоящее время графического режима (800*600 точек, 16 бит на точку).
Всего точек на экране: 800 * 600 = 480000
Необходимый объем видеопамяти: 16 бит*480000=7680000 бит = 960000 байт = 937,5 Кбайт.
Аналогично рассчитывается необходимый объем видеопамяти для других графических режимов.
Таблица 2.5. Объем видеопамяти для различных графических режимов
Режим экрана |
Глубина цвета (бит на точку) |
|||
4 |
8 |
16 |
24 |
|
640 на 480 |
150 Кбайт |
300 Кбайт |
600 Кбайт |
900 Кбайт |
800 на 600 |
234 Кбайт |
469 Кбайт |
938 Кбайт |
1,4 Мбайт |
1024 на 768 |
384 Кбайт |
768 Кбайт |
1,5 Мбайт |
2,25 Мбайт |
1280 на 1024 |
640 Кбайт |
1,25 Мбайт |
2,5 Мбайт |
3,75 Мбайт |
Современные компьютеры обладают такими техническими характеристиками, которые позволяют обрабатывать и выводить на экран, так называемое «живое видео», т.е. видеоизображение естественных объектов. Видеоизображение формируется из отдельных кадров, которые сменяют друг друга с высокой частотой (не воспринимаемой глазом). Обычно частота кадров составляет 25 Гц, т.е. за 1 секунду сменяется 25 кадров.
Поскольку линейные координаты и индивидуальные свойства каждой точки (яркость) можно выразить с помощью целых чисел, то можно сказать, что растровое кодирование позволяет использовать двоичный код для представления графических данных. Общепринятым на сегодняшний день считается представление черно-белых иллюстраций в виде комбинации точек с 256 градациями серого цвета, и, таким образом, для кодирования яркости любой точки обычно достаточно восьмиразрядного двоичного числа.
Для кодирования цветных графических изображений применяется принцип декомпозиции произвольного цвета на основные составляющие. В качестве таких составляющих используют три основные цвета: красный (Red, R), зеленый (Green, G) и синий (Blue, В). На практике считается (хотя теоретически это не совсем так), что любой цвет, видимый человеческим глазом, можно получить путем механического смешения этих трех основных цветов. Такая система кодирования называется системой RGB по первым буквам названий основных цветов.
Если для кодирования яркости каждой из основных составляющих использовать по 256 значений (восемь двоичных разрядов), как это принято для полутоновых черно-белых изображений, то на кодирование цвета одной точки надо затратить 24 разряда. При этом система кодирования обеспечивает однозначное определение 16,5 млн различных цветов, что на самом деле близко к чувствительности человеческого глаза. Режим представления цветной графики с использованием 24 двоичных разрядов называется полноцветным (True Color).
Каждому из основных цветов можно поставить в соответствие дополнительный цвет, то есть цвет, дополняющий основной цвет до белого. Нетрудно заметить, что для любого из основных цветов дополнительным будет цвет, образованный суммой пары остальных основных цветов. Соответственно, дополнительными цветами являются: голубой ( Cyan, С), пурпурный (Magenta, М) и желтый (Yellow, Y). Принцип декомпозиции произвольного цвета на составляющие компоненты можно применять не только для основных цветов, но и для дополнительных, то есть любой цвет можно представить в виде суммы голубой, пурпурной и желтой составляющей. Такой метод кодирования цвета принят в полиграфии, но в полиграфии используется еще и четвертая краска — черная (Black, К). Поэтому данная система кодирования обозначается четырьмя буквами CMYK (черный цвет обозначается буквой К, потому, что буква В уже занята синим цветом), и для представления цветной графики в этой системе надо иметь 32 двоичных разряда. Такой режим тоже называется полноцветным (True Color).
Если уменьшить количество двоичных разрядов, используемых для кодирования цвета каждой точки, то можно сократить объем данных, но при этом диапазон кодируемых цветов заметно сокращается. Кодирование цветной графики 16-разрядными двоичными числами называется режимом High Color.
При кодировании информации о цвете с помощью восьми бит данных можно передать только 256 цветовых оттенков. Такой метод кодирования цвета называется индексным. Смысл названия в том, что, поскольку 256 значений совершенно недостаточно, чтобы передать весь диапазон цветов, доступный человеческому глазу, код каждой точки растра выражает не цвет сам по себе, а только его номер (индекс) в некоей справочной таблице, называемой палитрой. Разумеется, эта палитра должна прикладываться к графическим данным — без нее нельзя воспользоваться методами воспроизведения информации на экране или бумаге (то есть, воспользоваться, конечно, можно, но из-за неполноты данных полученная информация не будет адекватной: листва на деревьях может оказаться красной, а небо — зеленым).