Форматы графических файлов

 

Введение


Формат графического файла - способ представления и расположения графических данных на внешнем носителе.

В условиях отсутствия стандартов каждый разработчик изобретал новый формат для собственных приложений. Поэтому возникали большие проблемы обмена данными между различными программами (текстовыми процессорами, издательскими системами, пакетами иллюстративной графики, программами САПР и др.). Но с начала 80-х гг. официальные группы по стандартам начали создавать общие форматы для различных приложений. Единого формата, пригодного для всех приложений, нет и быть не может, но всё же некоторые форматы стали стандартными для целого ряда предметных областей.

Пользователю графической программы не требуется знать, как именно в том или ином формате хранится информация о графических данных. Однако умение разбираться в особенностях форматов имеет большое значение для эффективного хранения изображений и организации обмена данными между различными приложениями.

Важно различать векторные и растровые форматы.

Если заглянуть в историю, то можно проследить, как с момента появления первых ЭВМ (электронно-вычислительная машина) разработчики стремятся разнообразить способы общения пользователя и машины. Это общение было бы гораздо более ограниченным, если бы не использовало один из наиболее простых способов - язык изображений, образов. Сегодня графические изображения на экране монитора современного персонального компьютера стали для нас нормой, совершенно неотъемлемым атрибутом интерфейса. Спектр применения компьютерной графики, помимо средств интерфейса, чрезвычайно широк: от создания рекламных роликов, компьютерных мультфильмов и игр, моделей одежды, архитектурных сооружений, компьютерной живописи до визуализации результатов научных исследований. Можно с уверенностью сказать, что популярность Internet, во многом объясняется широким применением графики.



Глава 1. Виды графических форматов


Способ представления изображения оказывает влияние на возможности его редактирования, печати, на объем занимаемой памяти.

Все форматы графических файлов можно разделить на два типа:

растровые

векторные

Отличаются они принципом построения изображения.

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

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

Отсюда и основное достоинство векторных форматов - компактность полученных файлов, а также высокое качество полученных изображений, причем независимо от разрешающей способности устройства отображения. В качестве недостатка можно отметить определенную трудоемкость при создании и редактировании сложных элементов изображений, а также проблемы, возникающие при распечатке векторных изображений на некоторых принтерах.

Большинство векторных форматов могут так же содержать внедрённые в файл растровые объекты или ссылку на растровый файл (технология OPI). Сложность при передаче данных из одного векторного формата в другой заключается в использовании программами различных алгоритмов, разной математики при построении векторных и описании растровых объектов.

Форматы графических файлов определяют способ хранения информации в файле (растровый или векторный), а также форму хранения информации (используемый алгоритм сжатия).

Сжатие применяется для растровых графических файлов, так как они имеют обычно достаточно большой объем. При сжатии графических файлов алгоритм сжатия включается в формат графического файла.

Существуют различные алгоритмы сжатия, причем для различных типов изображения целесообразно применять подходящие типы сжатия.


.1 Глубина цвета


Кроме размера изображения, важной является информация о количестве цветов, закодированных в файле. Цвет каждого пиксела кодируется определенным числом бит, то есть элементарных единиц информации, с которыми может иметь дело компьютер. Каждый бит может принимать два значения 1 или 0. В зависимости от того, сколько бит отведено для цвета каждого пиксела, возможно кодирование различного числа цветов. Нетрудно сообразить, что если для кодировки отвести лишь один бит, то каждый пиксел может быть либо белым (значение 1), либо черным (значение 0). Такое изображение называют монохромным.

Далее, если для кодировки отвести четыре бита, то можно закодировать 24=16 различных цветов, отвечающих комбинациям бит от 0000 до 1111. Если отвести 8 бит -- то такой рисунок может содержать 28=256 различных цветов (от 00000000 до 11111111), 16 бит -- 216=65 536 различных цветов (так называемый High Color). И, наконец, если отвести 24 бита, то потенциально рисунок может содержать 224=16 777 216 различных цветов и оттенков вполне достаточно даже для самого взыскательного художника. В последнем случае кодировка называется 24-bit True Color. Следует обратить внимание на слово "потенциально": даже если в файле и отводится 24 бита на каждый пиксел, это еще не означает, что вы действительно сможете насладиться такой богатой палитрой ведь технические возможности мониторов ограничены.модель

Способ разделения цвета на составляющие компоненты называется Цветовой моделью. В компьютерной графике применяются три цветовые модели: RGB, CMYK и HSB.

Наиболее распространенным способом кодирования цвета является модель RGB. При этом способе кодирования любой цвет представляется в виде комбинации трех цветов: красного (Red), зеленого (Green) и синего (Blue), взятых с разной интенсивностью. Интенсивность каждого из трех цветов - это один байт (т. е. число в диапазоне от 0 до 255), который хорошо представляется двумя 16-ричными цифрами (числом от 00 до FF). Таким образом, цвет удобно записывать тремя парами 16-ричных цифр, как это принято, например, в HTML документах.

Чем больше значение байта цветовой составляющей, тем ярче этот цвет. При наложении одной составляющей на другую яркость суммарного цвета также увеличивается.

Цветовая модель CMYK

Цветовая модель CMYK соответствует рисованию красками на бумажном листе и используется при работе с отраженным цветом, т. е. для подготовки печатных документов.

Цветовыми составляющими этой модели являются цвета: голубой (Cyan), лиловый (Magenta), желтый (Yellow) и черный (Black). Эти цвета получаются в результате вычитания основных цветов модели RGB из белого цвета. Черный цвет задается отдельно. Увеличение количества краски приводит к уменьшению яркости цвета.

Цветовая модель HSB

Системы цветов RGB и CMYK связаны с ограничениями, накладываемыми аппаратным обеспечением (монитор компьютера в случае RGB и типографские краски в случае CMYK).

Цветовая модель HSB наиболее удобна для человека, т. к. она хорошо согласуется с моделью восприятия цвета человеком. Компонентами модели HSB являются:

тон (Hue)

насыщенность (Saturation)

яркость цвета (Brightness)

Тон - это конкретный оттенок цвета. Насыщенность характеризует его интенсивность или чистоту. Яркость же зависит от примеси черной краски, добавленной к данному цвету. Значение цвета выбирается как вектор, выходящий из центра окружности. Точка в центре соответствует белому цвету, а точки по границе окружности чистым цветам. Направление вектора определяет цветовой оттенок и задается в угловых градусах. Длина вектора определяет насыщенность цвета. Яркость цвета задают на отдельной оси.

Глава 2. Векторные форматы

растровый векторный хранение палитра

Векторный формат

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

Векторные форматы: WMF, EMF, CGM, EPS, WPG, AutoCAD, DXF, DWG, CDR, AI, PCT, FLA/SWF

(от Scalable Vector Graphics - масштабируемая векторная графика) - язык разметки масштабируемой векторной графики, созданный Консорциумом Всемирной паутины (W3C) и входящий в подмножество расширяемого языка разметки XML <#"justify">.1 Растровые форматы


Растровый формат, характеризуется тем, что все изображение по вертикали и горизонтали разбивается на достаточно мелкие прямоугольники так называемые элементы изображения, или пикселы (от английского pixel- picture element).

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

Размер изображения, хранящегося в файле, задается в виде числа пикселов по горизонтали и вертикали. Для примера, оптимальное разрешение 15-дюймового монитора, как правило, составляет 1024x768.

Растровые форматы

Основные растровые форматы: GIF, BMP, WBMP, PCX, PCD, PSD, FLM, IFF, PXR, PNG, SCT/PICT, PCT, RAW, TIF/TIFF, BMP, JPEG , TGA, FPX, GIF , PhotoCD, MNG, ICO, FLA/SWF(от англ. Bitmap Picture) - формат хранения растровых изображений. Изначально формат мог хранить только аппаратно-зависимые растры (англ. Device Dependent Bitmap, DDB), но с развитием технологий отображения графических данных формат BMP стал преимущественно хранить аппаратно-независимые растры (англ. Device Independent Bitmap, DIB).

С форматом BMP работает огромное количество программ, так как его поддержка интегрирована в операционные системы Windows и OS/2. Файлы формата BMP могут иметь расширения .bmp, .dib и .rle. Кроме того, данные этого формата включаются в двоичные файлы ресурсов RES и в PE-файлы.

Разрабатывался фирмой Microsoft как совместимый со всеми приложениями Windows. В формате BMP можно сохранять черно-белые, серые полутоновые, индексные цветные и цветные изображения системы RGB (но не двухцветные или цветные изображения системы CMYK). Недостаток этих графических форматов: большой объем. Следствие - малая пригодность для Internet-публикаций.7 в модуле Save for Web умеет сохранять картинки в формате Wireless Bitmap (WBMP), специально оптимизированном для сотовых телефонов, смартфонов, карманных компьютеров и прочих мобильных устройств. Описание этого формата вместе с языком разметки WML (Wireless Markup Language) включено в спецификацию WAP (Wireless Application Protocol). Кроме Photoshop создавать изображения WBMP способна также Macromedia Fireworks 4 и выше. Формат поддерживает только два цвета, но можно имитировать больше с помощью разброса пикселей. Теоретически файлы WBMP могут содержать анимацию. Сжатие не поддерживается, что очень удивительно, так как на практике графический файл для WAP не может быть больше 1461 байт (это ограничение связано с небольшим объемом памяти сотовых телефонов). Из-за скромного разрешения дисплеев мобильных устройств безопасный размер файлов ограничено 90х24 пикселями. Помимо вышеперечисленных недостатков WBMP еще довольно сыроват: лишь немногие устройства способны отображать графику в этом формате.

GIF (англ. Graphics Interchange Format - формат для обмена изображениями). GIF - формат хранения графических изображений. Формат GIF способен хранить сжатые данные без потери качества в формате не более 256 цветов. Независящий от аппаратного обеспечения формат GIF был разработан в 1987 году (GIF87a) фирмой CompuServe для передачи растровых изображений по сетям. В 1989-м формат был модифицирован (GIF89a), были добавлены поддержка прозрачности и анимации. GIF использует LZW <#"justify">Глава 3. Методы сжатия графических данных


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

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

Вот несколько алгоритмов сжатия данных, которые не вносят изменения в исходные файлы и гарантируют полное восстановление данных.

Метод RLE

(Run Length Encoding - кодирование с переменной длиной строки). Действие метода RLE заключается в поиске одинаковых пикселов в одной строке. Если в строке, допустим, имеется 3 пиксела белого цвета, 21 - черного, затем 14 - белого, то применение RLE дает возможность не запоминать каждый из них (38 пикселов), а записать как 3 белых, 21 черный и 14 белых в первой строке.

В основном, этот тип сжатия применим для монохромных изображениях, сохраненных в цветовой модели Bitmap, где при сжатии данных с его использованием можно добиться наилучших результатов. Для сжатия других типов данных (в том числе, и не графических) алгоритм применим, но малоэффективен, так как сжимаемые данные должны иметь простую повторяющуюся структуру). Этот алгоритм имеет еще одно важное преимущество, заключающееся в его относительной простоте, что позволяет быстро производить распаковку из этого формата и упаковку в этот формат. В принципе, на основе этого несложного алгоритма, работают более совершенные и более сложные (а также менее быстрые) методы упаковки графических данных, которые мы рассмотрим ниже. Этот метод сжатия графических данных используется в файлах формата PSD, BMP и других.

Метод CCITTGroup 3, CCITT Group 4 - Два похожих метода упаковки графических данных, работающие с однобитными изображениями, сохраненными в цветовой модели Bitmap. Основаны на поиске и исключении из исходного изображения дублирующихся последовательностей данных (как в предыдущем типе сжатия, RLE). Различием является лишь то, что эти алгоритмы ориентированы на упаковку именно растровой графической информации, так как работают с отдельными рядами пикселов в изображении. Изначально алгоритм был разработан для сжатия данных, передаваемых через факсимильные системы связи (CCITT Group 3), а более совершенная разновидность этого метода архивации данных (CCITT Group 4) подходит для записи монохромных изображений с высокой степенью сжатия. Как и предыдущий алгоритм, он, в основном, подходит для сжатия изображений с большими одноцветными областями. Его достоинством является скорость выполнения, а недостатком - ограниченность применения для компрессии графических данных (не все данные удается таким образом эффективно упаковать). Этот метод сжатия графических данных используется в файлах формата PDF, PostScript и других.

Метод LZW

Метод сжатия LZW (Lempel-Ziv-Welch) разработан в 1978 году Лемпелом и Зивом, и доработан позднее в США. Сжимает данные путем поиска одинаковых последовательностей (они называются фразы) во всем файле. Выявленные последовательности сохраняются в таблице, им присваиваются более короткие маркеры (ключи). Так, если в изображении имеются наборы из розового, оранжевого и зеленого пикселов, повторяющиеся 50 раз, LZW выявляет это, присваивает данному набору отдельное число (например, 7) и затем сохраняет эти данные 50 раз в виде числа 7. Метод LZW, так же, как и RLE, лучше действует на участках однородных, свободных от шума цветов, он действует гораздо лучше, чем RLE, при сжатии произвольных графических данных, но процесс кодирования и распаковки происходит медленнее. Этот метод позволяет достичь одну из наилучших степеней сжатия среди других существующих методов сжатия графических данных, при полном отсутствии потерь или искажений в исходных файлах. Этот метод сжатия графических данных используется в файлах формата TIFF, PDF, GIF, PostScript и других.

Метод ZIP- метод сжатия данных, аналогичный методу, использованному в популярном алгоритме архивации PKZip. В основу метода сжатия положен метод, аналогичный LZW. Как и предыдущий метод сжатия данных, этот способ не вносит искажений в исходный файл, и лучше всего подходит для компрессии графических данных с одинаковыми одноцветными или повторяющимися областями. Этот метод сжатия графических данных используется в файлах формата PDF, TIFF и некоторых других.

А теперь рассмотрим алгоритмы и методы сжатия данных, которые вносят изменения в исходные файлы, показывая при этом более высокую степень упаковки графических изображений.

Метод JPEG

Из множества алгоритмов сжатия с потерями кодирование с преобразованием оказалось наиболее востребованным. Наилучший пример такого метода - популярный стандарт JPEG (Joint Photographers Experts Group - Объединенная группа экспертов по машинной обработке фотографических изображений). Рассмотрим на примере JPEG работу алгоритма сжатия с потерями.

Сжатие с преобразованием основано на простом условии: в трансформированном сигнале (например, с помощью преобразования Фурье) полученные значения данных не несут прежней информационной нагрузки. В частности, низкочастотные компоненты сигнала начинают играть более важную роль, чем высокочастотные компоненты. Удаление 50% битов из высокочастотных компонентов может привести, например, к удалению лишь 5% закодированной информации.сжатие начинается путем разбиения изображения на группы размером 8×8 пикселов. Полный алгоритм JPEG работает с широким рядом битов на пиксел, включая информацию о цвете. При распаковке сжатого файла требуется такое же количество байтов для аппроксимации исходной группы 8×8. Эти аппроксимированные группы затем объединяются, воссоздавая несжатое изображение. Почему используются группы размерами 8×8, а не 16×16? Такое группирование было основано исходя из максимального возможного размера, с которым работали микросхемы на момент разработки стандарта.

Для реализации методов сжатия было исследовано множество различных преобразований. Например, преобразование Karhunen-Loeve обеспечивает наиболее высокий коэффициент сжатия, но оно трудно осуществляется. Метод преобразования Фурье реализуется гораздо проще, но он не обеспечивает достаточно хорошего сжатия. В конце концов, выбор был сделан в пользу разновидности метода Фурье - дискретного косинусного преобразования (Discrete Cosine Transform - DCT).

На примере работы алгоритма JPEG видно, как несколько схем сжатия объединяются, обеспечивая большую эффективность. Вся процедура сжатия JPEG состоит из следующих этапов:

изображение разбивается на группы 8×8;

каждая группа преобразуется с помощью преобразования DCT;

каждый спектральный элемент 8×8 сжимается путем сокращения числа битов и удаления некоторых компонентов с помощью таблицы квантования;

видоизмененный спектр преобразуется из массива 8×8 в линейную последовательность, все высокочастотные компоненты которой помещаются в ее конец;

серии нулей сжимаются с помощью метода RLE;

последовательность кодируется либо методом Хаффмана, либо арифметическим методом для получения сжатого файла.



Заключение


Графические форматы различаются по виду хранимых данных (растровая, векторная и комплексные форматы), по допустимому объему данных, параметрам изображения, хранению палитры, методике сжатия. Растровый файл состоит из точек, число которых определяется разрешением, измеряемым обычно в точках на дюйм (dpi). Важным фактором, влияющим на качество изображения и размер файла, является глубина цвета - число разрядов, отводимых для хранения цветовой информации. Очевидно, что даже файлы с низким разрешением содержат в себе тысячи или десятки тысяч точек. Для уменьшения объемов файлов разработаны специальные алгоритмы сжатия. Именно они и являются основной причиной существования графических форматов. Векторный способ записи графических данных применяется в системах автоматического проектирования (CAD) и в графических пакетах. В этом случае изображение состоит из простейших элементов (линия, ломаная, эллипс, прямоугольник и т.д.) и кривых. У каждого метода есть свои преимущества. Растровый позволяет передавать тонкие, едва уловимые детали образов, векторный же лучше всего применять, если оригинал имеет отчётливые геометрические очертания. Векторный файл меньше по объему, зато растровый быстрее отобразится на экране, так как для вывода векторного изображения процессору необходимо произвести множество математических операций. С другой стороны, векторные файлы гораздо проще редактировать. Существует множество программ, переводящих данные из векторного формата в растровый. Как правило, такая задача решается довольно просто, чего нельзя сказать об обратной операции - преобразовании растрового файла в векторный (трассировка) и даже о переводе одного векторного файла в другой. Векторные алгоритмы записи используют уникальные для каждой фирмы-поставщика математические модели, описывающие элементы изображения.

Список литературы


1. Залогова Л.А. Компьютерная графика: Практикум. - М.: ЛБЗ, 2005.

. Миронов Д. Компьютерная графика в дизайне. - СПб: Питер, 2005.

. Музыченко. Самоучитель компьютерной графики. - М.: Тех-нолоджи 3000, 2005.

. Петров М.Н., Молочков В.П. Компьютерная графика: Учебник для вузов. 2-е изд. - СПб. Питер, 2005.


Введение Формат графического файла - способ представления и расположения графических данных на внешнем носителе. В условиях отсутствия стандартов кажд

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ