Во времена Холодной войны учёные реализовали визуальное представление информации с помощью ЭВМ. С тех пор технологии создания, хранения и обработки цифровой графики перманентно развиваются. Рассмотрим, каким образом производится двоичное кодирование разной графической информации. Ознакомимся с особенностями процесса для разных типов картинок.
Как кодируется растровое изображение
Растровая картинка состоит из пикселей – мельчайших квадратиков. Представьте, поверх картинки натягивается сеть с мелкими квадратными ячейками. Процесс разбивки изображения на виртуальные квадратики называется дискредитацией. Простейшее чёрно-белое изображение может быть закодировано двумя символами: ноль и единица. Каждая цифра отвечает за свой цвет. При разрешении 1600 (ширина, число столбцов) на 1200 (высота, количество строк) пикселей картинка состоит из 1920000 пикселей – единиц и ноликов при глубине цвета 1 бит.
Дискредитации характерны потери информации. При разбивке исходного изображения в одном квадратике могло находиться несколько цветов, после обработки – только один. Аналогично нарушаются места перехода цветов из одного в другой. Это заметно, например, при масштабировании рисунков.
С цветными фотографиями ситуация обстоит сложнее из-за большего количества оттенков и глубины цвета. Последняя определяется количеством бит, необходимым для кодирования точки. Актуальная ныне глубина цвета 24 (истинный цвет) и 32 бита. Рассмотрим, как кодируется цветное изображение.
В работе Юнга-Гельмгольца доказано, что человеческий глаз наиболее чувствителен к зелёной, синей и красной компонентам света. Эти цвета применяются для кодирования цифровой графической информации, ведь путём их комбинирования можно получить все остальные. Цвет точки задаётся наличием или отсутствием компоненты каждого из каналов RGB – red, green, blue. При большой глубине увеличивается количество оттенков, при этом указывается интенсивность их свечения в диапазоне 0…255.
Из таблицы видно, что комбинациями, состоящими из трёх цифр (011, 110 и т. д.) – единица и ноль, можно закодировать 8 цветов: 23.
Для веб-страниц рисунки целесообразнее кодировать с помощью шестнадцатеричного кода, например, #FF0000 – где каждая пара цифр задаёт ту же интенсивность свечения цветов. Позволяет зашифровать 2563= 16,78 млн цветов. Они занимают по 24 бита в памяти. Исходя из этого, можно рассчитать максимальный объем, нужный для хранения фотографии или рисунка с известным разрешением – длиной и шириной. Сжатие файла уменьшит его размер.
Система шифрования CMYK использует 32-битную глубину цвета для представления цифровой графики. Различает почти 4,295 млрд оттенков. Наиболее естественной признана система HSB, где цифрами задаются тон, насыщенность и яркость каждого пикселя.
Растровое кодирование – это процесс присвоения уникального кода – последовательности символов в двоичной или шестнадцатеричной системе счисления каждому пикселю.
Кодирование векторных изображений
Векторные композиции состоят из примитивов – линий, дуг, геометрических фигур, описываемых математическими формулами. Фигуры находятся на отдельных слоях для простоты обработки и обладают атрибутами, к которым относятся: толщина, тип и цвет линий, заливки.При кодировании векторной графики для отрезков хранятся:
- Последовательности команд для их построения.
- Координаты концов примитивов.
Для четырёхугольников – координаты вершин, правила образования примитива.
При кодировании векторных изображений сохраняются координаты начала и конца образующих картинку элементов и описывающие их математические выражения. Сами объекты в файле не сохраняются, чем снижают его размер.
Векторное кодирование исключает потери информации при сохранении, масштабировании и преобразовании, ведь не требует дискредитации.
Фрактальное кодирование
Фрактальная графика относится к вычисляемой – картинка формируется в графической памяти в момент открытия файла на основании математической формулы. Сами объекты в файле не сохраняются.Тесты
Как кодируют векторные рисунки?- Путём хранения координат вершин или концов фигуры.
- Посредством запоминания формул, образующих композицию.
- Запоминанием места расположения каждой точки картинки.
В чем состоит идея растрового кодирования?
- В указании яркости и контрастности.
- В задании цвета и ярости пикселя.
- В указании кода яркости свечения каждого цвета пикселя.
Тройками из нулей и единиц можно закодировать:
- 7 цветов.
- 8 цветов.
- 256 цветов.
Как вы считаете, материал был полезен?