Информатика и информационные технологии

© М.Е. Крекин, 1999, 2002

Глава 4
Два способа кодирования изображения

Эта глава посвящена растровому и векторному представлению графики.


§4.1

растровое изображение

Как вы знаете, изображение на экране компьютера (или при печати с помощью принтера) составляется из маленьких "точек" -- пикселов. Их так много, и они настолько малы, что человеческий глаз воспринимает картинку как непрерывную. Естественно, качество изображения будет тем выше, чем "плотнее" расположены пикселы (т.е. чем больше разрешение устройства вывода), и чем точнее закодирован цвет каждого из них.

Разрешение обычно измеряют в "точках на дюйм" (dpi)8. Для разных устройств эта величина примерно следующая:

  • монитор -- около 75 dpi;
  • матричный принтер -- около 150 dpi (в режиме повышенного качества);
  • струйный принтер -- 300 dpi и более;
  • лазерный принтер -- 300 dpi, 600 dpi и более;
  • фотонаборный аппарат -- 1200 dpi и выше.

Как кодируется цвет пикселов? В простейшем случае каждый пиксел может быть или черным, или белым. Значит, для его кодирования достаточно одного бита. Однако, в этом случае полутона приходится имитировать, чередуя черные и белые пикселы (заметим, что примерно так формируют полутоновое изображение на принтерах и при типографской печати). Чтобы получить реальные полутона, для хранения каждого пиксела нужно отводить большее количество разрядов. В этом случае черный цвет по прежнему будет представлен нулем, а белый -- максимально возможным числом. Например, при восьмибитном кодировании получится 256 разных значений яркости -- 256 полутонов.

Сложнее обстоит дело с цветными изображениями. Ведь здесь нужно закодировать не только яркость, но и оттенок пиксела. Изображение на мониторе формируется путем сложения в различных пропорциях трех основных цветов: красного, зеленого и синего9. Значит, нам просто нужно хранить информацию о яркости каждой из этих составляющих.

Для получения наивысшей точности цветопередачи достаточно иметь по 256 значений для каждого из основных цветов (вместе это дает 2563 -- более 16 миллионов оттенков)10. Во многих случаях можно обойтись несколько меньшей точностью цветопередачи. Если использовать для представления каждой составляющей по 5 бит (а тогда для хранения данных пиксела будет нужно не 3, а 2 байта), удастся закодировать 32768 оттенков11.

Естественно, на практике встречаются (и нередко) ситуации, когда нам гораздо важнее не идеальная точность, а минимальный размер файла; бывают и изображения, где изначально используется небольшое количество цветов. В таких случаях поступают вот как: собирают все нужные оттенки в таблицу и нумеруют их, после чего хранят уже не полный код цвета каждого пиксела, а номера цветов в таблице (индексы)12. Чаще всего используют 256-цветные таблицы. Поскольку в разных компьютерах могут быть приняты разные стандартные таблицы цветов, не исключено, что открыв полученный от кого-нибудь графический файл, вы увидите совершенно немыслимую картинку.

Кстати, именно поэтому при создании страниц в Web стараются использовать так называемую "безопасную палитру" Netscape, включающую 216 цветов, правильно отображаемых в разных системах.

При печати на бумаге используется несколько иная цветовая модель: если монитор испускал свет, оттенок получался в результате сложения цветов, то краски -- поглощают свет, цвета вычитаются. Поэтому в качестве основных используют голубую, сиреневую и желтую краски. Кроме того, из-за неидеальности красителей, к ним обычно добавляют четвертую -- черную13. Для хранения информации о каждой краске и в этом случае чаще всего используется 1 байт.

Нужно отметить, что цветовая модель -- не единственное отличие принтера и монитора. При печати в большинстве случаев нет возможности изменять яркость точки. Поэтому разные оттенки приходится имитировать, с помощью растрирования: изображение разбивают на квадратики и, в зависимости от необходимого отенка, в большей или меньшей степени заполняют эту "растровую точку" точками краски. В результате реальное разрешение напечатанной фотографии (его измеряют в "линиях на дюйм" -- lpi -- и называют линиатурой) оказывается гораздо ниже, чем значение разрешения в dpi, указанное в паспорте принтера.

Контрольные вопросы

  1. От каких характеристик изображения (при одном и том же его размере в миллиметрах) зависит объем занимаемой им памяти?
  2. Определите, сколько памяти будет занимать изображение размером 800х600 пиксел при различной глубине цвета (для моделей RGB и CMYK).

Примечания

  1. Dot Per Inch. 1 дюйм = 25,4 мм
  2. RGB = Red-Green-Blue
  3. True color (англ.) -- истинный цвет
  4. High color (англ.) -- высококачественный цвет
  5. Indexed color (англ.) -- индексированный (табличный) цвет
  6. CMYK = Cyan-Magenta-Yellow-blacK

[Предыдущая страница][Содержание][Следующая страница]
[Титульная страница][Новости][Макинтош][Информатика и ИТ][Об авторе]
Hosted by uCoz