Кодирование графических данных
Кодирование текстовых и символьных данных
В двоичной системе счисления кодирование “"внешних”" символов основывается на сопоставлении каждому из них определенной группы двоичных знаков. Двоичное кодирование символьных данных производится заданием кодовых таблиц, ва которых каждому символу ставится в соответствие одно –- или двухбайтовый код. Восьми двоичных разрядов достаточно для кодирования 256 различных символов. Этого количества достаточно, чтобы выразить все символы английского и русского алфавита, а также знаки препинания, символы основных арифметических операций и некоторые специальные символы.
Наиболее популярная таблица ASCII (American StandartStandard Code for Information Interchange –, американский стандартный код информационного обмена) разработана институтом стандартизации США (ANSI – American National StandartStandard Institute, ANSI) в 1981 году (см. табл. 1.10).
Коды с 0 до 127 составляют базовую (основную) таблицу, коды со 128 по 255 — расширенную (дополнительную) таблицу. Дополнительная таблица отдана национальным алфавитам и символам псевдографики.
Аналогичные системы кодирования текстовых данных были разработаны и в других странах. Так, в СССР действовала система кодирования КОИ – -8 (код информационного обмена восьмизначный). Компанией Microsoft была введена кодировка символов русского языка, известная как кодировка Windows – -1251.
Во многих азиатских странах 256 кодов не хватило. В 1991 году производители программных продуктов (Microsoft, IBM, Apple) выработали единый стандарт Unicode 3.0. Этот код построен по 31 – -битной схеме. Все текстовые документы в этой кодировке вдвое длиннее, зато она содержит буквы латинского и многих национальных алфавитов, спецсимволы и т. п.
Таблица 1.10. Базовая таблица кодировки ASCII
пробел | @ | P | `` | p | |||||||
! | A | Q | a | q | |||||||
“" | B | R | b | r | |||||||
# | C | S | c | s | |||||||
$ | D | T | d | t | |||||||
% | E | U | e | u | |||||||
& | F | V | f | v | |||||||
'‘ | G | W | g | w | |||||||
( | H | X | h | x | |||||||
) | I | Y | i | y | |||||||
* | : | J | Z | j | z | ||||||
+ | ; | K | [ | k | { | ||||||
, | < | L | \ | l | | | ||||||
- | = | M | ] | m | } | ||||||
. | > | N | ^ | n | ~ | ||||||
/ | ? | O | _ | o |
Кодирование графических данных
Различают три вида компьютерной графики: растровую, векторную и фрактальную графики. Они отличаются принципами формирования изображения при отображении на экране монитора или при печати на бумаге.
Если графические объекты формируются в виде множества точек ([K1] пикселейейов) разных цветов и разных яркостей, то это называется растровой графикой. В Интернете применяются только растровые иллюстрации. Основным элементом растрового изображения является точка. Если изображение экранное, то эта точка называется пикселемомпикселем. В зависимости от того, на какое графическое разрешение экрана настроена операционная система компьютера, на экране могут размещаться изображения 640×480, 800×600, 1024×768 и более пикселейов. При кодировании растровых изображений в памяти компьютера должна храниться информация о каждом пикселе. С размером изображения непосредственно связано его разрешение. Этот параметр измеряется в dpi (dots per inch – — точек на дюйм).
В растровой графике общепринятым на сегодняшний день считается представление черно-белых иллюстраций в виде комбинации точек с 256 градациями серого цвета. Эти мельчайшие точки образуют характерный узор, называемый растром. Точно так же изображают информацию периферийные устройства печати. У растровых изображений два основных недостатка. Во-первых, очень большие объемы данных. Для активных работ с большеразмерными иллюстрациями типа журнальной полосы требуются компьютеры с большими размерами оперативной памяти (128 Мбайт и более). Во-вторых, растровые изображения невозможно значительно увеличить без серьезных искажений. Эффект искажения при увеличении точек растра называется пикселизацией.
В отличие от растровой в векторной графике изображение представляет собой совокупность простых элементов: прямых линий, дуг, окружностей, эллипсов, прямоугольников и т. п., которые называются графическими примитивами. Положение и форма графических примитивов задаются в системе графических координат, связанных с экраном. В векторной графике объем памяти, занимаемой, например линией, не зависит от размеров линии, поскольку линия представляется в виде формулы, а точнее в виде нескольких параметров. Перед выводом на экран каждого объекта программа векторной графики производит вычисление координат экранных точек в изображении объекта. Аналогичные вычисления производятся при выводе объектов на принтер.
Векторная графика лишена недостатков растровой, но в ней сложно создавать художественные иллюстрации, поэтому чаще всего ее используют для чертежных и проектно-конструкторских работ.
Фрактальная графика, как и векторная, – — вычисляемая, но отличается от нее тем, что никакие объекты в памяти компьютера не хранятся. Изображение строится по уравнениям, поэтому ничего, кроме формулы, хранить не надо. Изменение коэффициентов в уравнении позволяет получить совершенно другую картину.
Для кодирования цветных графических изображений применяется принцип декомпозиции – — разложение произвольного цвета на основные составляющие. СуществуютСуществует многомножество различных типов цветовых моделей, но в компьютерной графике, как правило, применяютсяприменяется не более трех. Эти модели известны под названиями: RGB, CMYK и HSB.
Цветовая модель RGB. В ней в качестве составляющих используются три цвета: красный (Red), зеленый (Green) и синий (Blue). Считается, что любой цвет состоит из этих трех компонент. Совмещение всех трех цветов дает нейтральный цвет (серый), который при большой яркости стремится к белому цвету. Метод получения нового оттенка суммированием яркостей составляющих компонент называется аддитивным методом. Он применяется всюду, где цвета изображения рассматриваются в проходящем цвете, т. е. на просвет: в мониторах, слайд – -проекторах и т. п.
Каждому из основных цветов для кодирования нужно восемь двоичных разрядов, для трех – — 24, а млн. Таким образом, эта система обеспечивает однозначное определение 16.5 млн. цветов, что близко к чувствительности человеческого глаза. Режим представления цветной графики с использованием 24 двоичных разрядов называется полноцветным (True Color).
Цветовая модель CMYK. Эту модель используют для подготовки не экранных, а печатных изображений. Они отличаются тем, что видят их не в проходящем, а в отраженном цвете. Чем больше краски положено на бумагу, тем больше света она поглощает и меньше отражает. В отличие от модели RGB увеличение количества краски приводит не к увеличению визуальной яркости, а к ее уменьшению. Поэтому для подготовки печатных изображений используется не аддитивная модель, а субтрактивная (вычитающая) модель. Цветовыми компонентами этой модели являются не основные цвета, а дополнительные, т. е. те, которые получаются в результате вычитания основных цветов из белого: голубой (Cyan), пурпурный (Magenta) и желтый (Yellow). Так как цветные красители по отражающим свойствам не одинаковы, то для повышения контрастности применяется еще черный (Black) цвет.
В типографиях цветные изображения печатаются в несколько приемов. Накладывая на бумагу поочередно голубой, пурпурный, желтый и черный отпечатки, получают полноцветную иллюстрацию.
Цветовая модель HSB. Если модель RGB наиболее удобна для компьютера, модель CMYK — для типографии, то модель HSB наиболее удобна для человека. В модели HSB также три компонента: оттенок цвета (Hue), насыщенность (Saturation) и яркость цвета (Brightness). Регулируя эти три компоненты, можно получить столь же много произвольных цветов, как и при работе с другими моделями. Эта модель удобна для применения в тех графических редакторах, которые ориентированы не на обработку готовых изображений, а на их создание.
Значение цвета выбирается как вектор, выходящий из центра окружности. Точка в центре соответствует белому цвету, а точки по периметру – — чистым цветам. Направление вектора определяет цветовой оттенок и задается в модели HSB в угловых градусах. Длина вектора определяет насыщенность цвета. Яркость цвета задается на отдельной оси, нулевая точка которой имеет черный цвет.
Проще всего в компьютере реализуется модель RGB. Это связано с методом кодирования цвета байтами, поэтому создавать и обрабатывать цветные изображения принято в модели RGB. При печати рисунка RGB на цветном принтере драйвер принтера преобразует рисунок в цветовую модель CMYK.
Как уже отмечалось, режим представления цветной графики двоичным кодом из 24 разрядов называется полноцветным или True Color. Очевидно, графические данные занимают очень большие объемы на носителях. Например, если экран монитора имеет растр 800×600 точек, изображение, представленное в режиме True Color, займет 800×600×3 = 1 440 000 байт.
В случае, когда не требуется очень высокое качество отображениеяотображения цвета, применяется режим High Color, который кодирует одну точку растра двумя байтами (16 разрядов дают тысячи цветов).
Режим, который при кодировании одной точки растра использует один байт, называется индексным, в нем различаются 256 цветов. Этого недостаточно, чтобы передать весь диапазон цветов. Код каждой точки при этом выражает собственно не цвет, а некоторый номер цвета из таблицы цветов, называемой палитрой. Палитра должна прикладываться к файлам с графическими данными и используется при воспроизведении изображения.