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

ВВЕДЕНИЕ

Графический формат — это способ записи графической информации. Графические форматы файлов предназначены для хранения изображений, таких как фотографии и рисунки.
Знание файловых форматов и их возможностей является одним из ключевых факторов в компьютерной графике. Да, сегодня нет такого калейдоскопа расширений, как в начале 90-х, когда каждая компания-производитель редакторов изображений считала своим долгом создать свой файловый тип, а то и не один, однако это не означает, что "все нужно сохранять в TIFF, а сжимать JPEG’ом". Каждый, из утвердившихся сегодня форматов, прошел естественный отбор, доказал свою жизнеспособность. Все они имеют какие-то характерные особенности и возможности, делающие их незаменимыми в работе. Знание особенностей, тонкостей технологии важно для современного дизайнера так же, как для художника необходимо разбираться в различиях химического состава красок, свойствах грунтов, типов металлов и породах.
Это растровая графика, векторная графика, трёхмерная и фрактальная графика. Они отличаются принципами формирования изображения при отображении на экране монитора или при печати на бумаге.
Растровую графику применяют при разработке электронных (мультимедийных) и полиграфических изданий. Иллюстрации, выполненные средствами растровой графики, редко создают вручную с помощью компьютерных программ. Чаще для этой цели используют отсканированные иллюстрации, подготовленные художником на бумаге, или фотографии. В последнее время для ввода растровых изображений в компьютер нашли широкое применение цифровые фото- и видеокамеры. Соответственно, большинство графических редакторов, предназначенных для работы с растровыми иллюстрациями, ориентированы не столько на создание изображений, сколько на их обработку. В Интернете применяют растровые иллюстрации в тех случаях, когда надо передать полную гамму оттенков цветного изображения.
Программные средства для работы с векторной графикой наоборот предназначены, в первую очередь, для создания иллюстраций и в меньшей степени для их обработки. Такие средства широко используют в рекламных агентствах, дизайнерских бюро, редакциях и издательствах. Оформительские работы, основанные на применении шрифтов и простейших геометрических элементов, решаются средствами векторной графики намного проще. Существуют примеры высокохудожественных произведений, созданных средствами векторной графики, но они скорее исключение, чем правило, поскольку художественная подготовка иллюстраций средствами векторной графики чрезвычайно сложна.
Трёхмерная графика широко используется в инженерном программировании, компьютерном моделировании физических объектов и процессов, в мультипликации, кинемотографии и компьютерных играх.
Программные средства для работы с фрактальной графикой предназначены для автоматической генерации изображений путем математических расчетов. Создание фрактальной художественной композиции состоит не в рисовании или оформлении, а в программировании. Фрактальную графику редко применяют для создания печатных или электронных документов, но ее часто используют в развлекательных программах.
Целью данной контрольной работы будет являться первоначальное изучение графических файлов и их форматов, методов сжатия информации, а также анализе проделанной работы.
Задачей данной контрольной работы будет являться определение принадлежности графического формата к определенному подтипу: векторному, растровому, комплексному.
1.
Методы сжатия информации

Почти все современные форматы графических файлов используют какой-либо из методов сжатия информации, поэтому, для лучшего понимания дальнейшего материала, начало данного раздела содержит краткое изложение этих методов.
Методы сжатия информации:
Одним из простейший способов сжатия является метод RLE (Run Length Encoding – кодирование с переменной длиной строки). Действие метода RLE заключается в поиске одинаковых пикселов в одной строке. Если в строке, допустим, имеется 3 пиксела белого цвета, 21 – черного, затем 14 – белого, то применение RLE дает возможность не запоминать каждый из них (38 пикселов), а записать как 3 белых, 21 черный и 14 белых в первой строке.
Метод сжатия LZW (Lempel-Ziv-Welch) разработан в 1978 году Лемпелом и Зивом, и доработан позднее в США. Сжимает данные путем поиска одинаковых последовательностей (они называются фразы) во всем файле. Выявленные последовательности сохраняются в таблице, им присваиваются более короткие маркеры (ключи). Так, если в изображении имеются наборы из розового, оранжевого и зеленого пикселов, повторяющиеся 50 раз, LZW выявляет это, присваивает данному набору отдельное число (например, 7) и затем сохраняет эти данные 50 раз в виде числа 7. Метод LZW, так же, как и RLE, лучше действует на участках однородных, свободных от шума цветов, он действует гораздо лучше, чем RLE, при сжатии произвольных графических данных, но процесс кодирования и распаковки происходит медленнее.
Метод сжатия Хаффмана (Huffman) разработан в 1952 году и используется как составная часть в ряде других схем сжатия, таких как LZW, Дефляция, JPEG. В методе Хаффмана берется набор символов, который анализируется, чтобы определить частоту каждого символа. Затем для наиболее часто встречающихся символов используется представление в виде минимально возможного количества битов. Например, буква "е" чаще всего встречается в английских текстах. Используя кодировку Хаффмана, вы можете представить "е" всего лишь двумя битами (1 и 0), вместо восьми битов, необходимых для представления буквы "е" в кодировке ASCII.
Метод сжатия CCITT (International Telegraph and Telephone Committie) был разработан для факсимильной передачи и приема. Является более узкой версией кодирования методом Хаффмана. CCITT Group 3 идентичен формату факсовых сообщений, CCITT Group 4 – формат факсов, но без специальной управляющей информации.
2.
Графические форматы файлов

2.1
Растровый формат

Растровые изображения формируются в процессе сканирования многоцветных иллюстраций и фотографий, а также при использовании цифровых фото- и видео камер. Можно создать растровое изображение непосредственно на компьютере с помощью растрового графического редактора.
Растровое изображение создается с использованием точек различного цвета (пикселей), которые образуют строки и столбцы. Каждый пиксель может принимать любой цвет из палитры, содержащей десятки тысяч или даже десятки миллионов цветов, поэтому растровые изображения обеспечивают высокую точность передачи цветов и полутонов. Качество растрового изображения возрастает с увеличением пространственного разрешения (количества пикселей в изображении по горизонтали и вертикали) и количества цветов в палитре.
Недостатком растровых изображений является их большой информационный объем, так как необходимо хранить код цвета каждого пикселя.
Рассмотрим непосредственно расширения растрового графического формата:
1) Формат файла BMP (сокращенно от BitMaP) – это "родной" формат растровой графики для Windows, поскольку он наиболее близко соответствует внутреннему формату Windows, в котором эта система хранит свои растровые массивы. Для имени файла, представленного в BMP-формате, чаще всего используется расширение BMP, хотя некоторые файлы имеют расширение RLE, означающее run length encoding (кодирование длины серий). Расширение RLE имени файла обычно указывает на то, что произведено сжатие растровой информации файла одним из двух способов сжатия RLE, которые допустимы для файлов BMP-формата.
В файлах BMP информация о цвете каждого пиксела кодируется 1, 4, 8, 16 или 24 бит (бит/пиксел). Числом бит/пиксел, называемым также глубиной представления цвета, определяется максимальное число цветов в изображении. Изображение при глубине 1 бит/пиксел может иметь всего два цвета, а при глубине 24 бит/пиксел – более 16 млн. различных цветов.
2) PCX стал первым стандартным форматом графических файлов для хранения файлов растровой графики в компьютерах IBM PC. На этот формат, применявшийся в программе Paintbrush фирмы ZSoft, в начале 80-х гг. фирмой Microsoft была приобретена лицензия, и затем он распространялся вместе с изделиями Microsoft. В дальнейшем формат был преобразован в Windows Paintbrush и начал распространяться с Windows. Хотя область применения этого популярного формата сокращается, файлы формата PCX, которые легко узнать по расширению PCX, все еще широко распространены сегодня.
Файлы PCX разделены на следующие три части: заголовок PCX, данные растрового массива и факультативная таблица цветов. 128-байт заголовок PCX содержит несколько полей, в том числе поля размера изображения и числа бит для кодирования информации о цвете каждого пикселя. Информация растрового массива сжимается с использованием простого метода сжатия RLE; факультативная таблица цветов в конце файла содержит 256 значений цветов RGB, определяющих цвета изображения. Формат PCX первоначально был разработан для адаптеров CGA- и EGA-дисплеев и в дальнейшем был модифицирован для использования в адаптерах VGA и адаптерах истинных цветов. Кодирование цвета каждого пикселя в современных изображениях PCX может производиться с глубиной 1, 4, 8 или 24 бит.
3) Если PCX – один из самых простых для декодирования форматов растровой графики, то TIFF (Tagged Image File Format, формат файлов изображения, снабженных тегами) – один из самых сложных. Файлы TIFF имеют расширение TIFF. Каждый файл начинается 8-байт заголовком файла изображения (IFH), важнейший элемент которого – каталог файла изображения (Image File Directory, IFD) – служит указателем к структуре данных. IFD представляет собой таблицу для идентификации одной или нескольких порций данных переменной длины, называемых тегами; теги хранят информацию об изображении. В спецификации формата файлов TIFF определено более 70 различных типов тегов. Например, тег одного типа хранит информацию о ширине изображения в пикселах, другого – информацию о его высоте. В теге третьего типа хранится таблица цветов (при необходимости), а тег четвертого типа содержит сами данные растрового массива. Изображение, закодированное в файле TIFF, полностью определяется его тегами, и этот формат файла легко расширяется, поскольку для придания файлу дополнительных свойств достаточно лишь определить дополнительные типы тегов.
Так что же делает TIFF столь сложным? С одной стороны, составление программ, различающих все типы тегов, – это непростое дело. В большинстве программ для чтения файлов TIFF реализуется только подмножество тегов, именно поэтому созданный одной программой файл TIFF иногда не может быть прочитан другой. Кроме того, программы, создающие файлы TIFF, могут определять собственные типы тегов, имеющие смысл только для них. Программы чтения файлов TIFF могут пропускать непонятные для них теги, но всегда существует опасность, что это повлияет на внешний вид изображения.
Еще одна сложность заключается в том, что файл TIFF может содержать несколько изображений, каждому из которых сопутствуют собственный IFD и набор тегов. Данные растрового массива в файле TIFF могут сжиматься с использованием любого из нескольких методов, поэтому в надежной программе для чтения файлов TIFF должны быть средства распаковки RLE, LZW (LempelZivWelch) и несколько других. Ситуацию еще больше ухудшает то обстоятельство, что пользование программами распаковки LZW должно осуществляться в соответствии с лицензионным соглашением с фирмой Unisys Corp. на право пользования алгоритмом LZW и часто за плату. В результате даже самые лучшие программы считывания TIFF нередко "сдаются", когда сталкиваются со сжатым по методу LZW изображением.
Несмотря на свою сложность, файловый формат TIFF остается одним из лучших для передачи растровых массивов с одной платформы на другую благодаря своей универсальности, позволяющей кодировать в двоичном виде практически любое изображение без потери его визуальных или каких-либо иных атрибутов.
4) Большинство ведущих специалистов-графиков, имеющих дело с алгоритмом LZW, сталкиваются с аналогичными юридическими проблемами при использовании популярного межплатформенного формата файлов растровой графики GIF (Graphics Interchange Format – формат обмена графическими данными, произносится "джиф"), разработанного компанией CompuServe. Обычно для имени файлов GIF используется расширение GIF, и тысячи таких файлов можно получить в CompuServe.
Структура файла GIF зависит от версии GIF-спецификации, которой соответствует файл. В настоящее время используются две версии, GIF87a и GIF89a. Первая из них проще. Независимо от номера версии, файл GIF начинается с 13-байт заголовка, содержащего сигнатуру, которая идентифицирует этот файл в качестве GIF-файла, номер версии GIF и другую информацию. Если файл хранит всего одно изображение, вслед за заголовком обычно располагается общая таблица цветов, определяющая цвета изображения. Если в файле хранится несколько изображений (формат GIF, аналогично TIFF, позволяет в одном файле кодировать два и больше изображений), то вместо общей таблицы цветов каждое изображение сопровождается локальной таблицей цветов.
5) Формат PNG (Portable Network Graphic – переносимый сетевой формат, произносится "пинг") был разработан для замены GIF, чтобы обойти юридические препятствия, стоящие на пути использования GIF-файлов. PNG унаследовал многие возможности GIF и, кроме того, он позволяет хранить изображения с истинными цветами. Еще более важно, что он сжимает информацию растрового массива в соответствии с вариантом пользующегося высокой репутацией алгоритма сжатия LZ77 (предшественника LZW), которым любой может пользоваться бесплатно.
6) Формат файла JPEG (Joint Photographic Experts Group – Объединенная экспертная группа по фотографии, произносится "джейпег) был разработан компанией C-Cube Microsystems как эффективный метод хранения изображений с большой глубиной цвета, например, получаемых при сканировании фотографий с многочисленными едва уловимыми (а иногда и неуловимыми) оттенками цвета. Самое большое отличие формата JPEG от других рассмотренных здесь форматов состоит в том, что в JPEG используется алгоритм сжатия с потерями (а не алгоритм без потерь) информации. Алгоритм сжатия без потерь так сохраняет информацию об изображении, что распакованное изображение в точности соответствует оригиналу. При сжатии с потерями приносится в жертву часть информации об изображении, чтобы достичь большего коэффициента сжатия. Распакованное изображение JPEG редко соответствует оригиналу абсолютно точно, но очень часто эти различия столь незначительны, что их едва можно (если вообще можно) обнаружить.
2.2
Векторный формат

В данном подразделе рассмотрим самые распространенные расширения графических файлов векторного формата.
1) Encapsulated PostScript (EPS) — расширение формата PostScript, данные в котором записываются в соответствии со стандартом DSС (английский, Document Structuring Conventions), но при этом c рядом расширений, позволяющих использовать этот формат как графический.
Формат EPS был создан компанией Adobe на основе языка PostScript и послужил базой для создания ранних версий формата Adobe Illustrator.
В своей минимальной конфигурации EPS-файл имеет так называемый BoundingBox DSC comment — информацию, описывающую размер изображения. Таким образом, даже если приложение не может растеризовать данные, содержащиеся в файле, оно имеет доступ к размерам изображения и его preview.
Программа QuarkXPress версий 4, 5 и 6 не может растеризовать данные из EPS-файла, поэтому использует в верстке только preview — уменьшенную копию всего изображения, которая хранится в EPS-файле отдельно от основных данных. Программа Adobe InDesign версий CS-CS4 такого ограничения не имеет. Использование уменьшенной по качеству копии изображения предназначено для упрощения вывода изображения на экран и, как следствие, значительного ускорения работы с вёрсткой. Preview может быть записано в формате TIFF или WMF (только для РС) или вовсе опущено.
Формат используется в профессиональной полиграфии и может содержать растровые изображения, векторные изображения, а также их комбинации.
Изображение, записанное в формате EPS, может быть сохранено в разных цветовых пространствах: Grayscale, RGB, CMYK, Lab, Multi-channel.
Структура данных растрового EPS-файла может быть записана разными методами: ASCII-данные (текстовые данные), Binary (двоичные данные) и JPEG с различной степенью сжатия.
2) WMF (англ. Windows MetaFile) — универсальный формат векторных графических файлов для Windows приложений. Используется для хранения коллекции графических изображений Microsoft Clip Gallery. Формат разработан Microsoft и является неотъемлемой частью Windows, так как сохраняет последовательность аппаратно-независимых функций GDI (Graphical Device Interface), непосредственно выводящих изображение в заданный контекст графического устройства (на экран, на принтер и т.п.). Очень часто WMF неявно используется для сохранения образа окна вывода программы и его последующего восстановления, а также при переносе информации через буфер обмена (clipboard). Из MS Windows запись и чтение в файл этого формата осуществляются чрезвычайно просто и быстро, в других операционных системах поддержка этого формата бесполезна. Его понимают некоторые программы для Macintosh. На платформе Macintosh аналогичную роль играет формат PICT.
3) Формат файла CDR — векторное изображение или рисунок, созданный с помощью программы CorelDRAW. Данный формат файла разработан компанией Corel для использования в собственных программных продуктах. CDR-файлы не поддерживаются многими программами, предназначенными для редактирования изображений. Однако, файл можно экспортировать с помощью CorelDRAW в другие, более распространенные и популярные форматы изображений.
Также, файл CDR можно открыть программой Corel Paint Shop Pro. Для лучшей совместимости, компания Corel рекомендует сохранять файлы в CorelDRAW формате CDR версии 9.0 или более ранней.
4) Portable Document Format (PDF) — кроссплатформенный формат электронных документов, созданный фирмой Adobe Systems с использованием ряда возможностей языка PostScript. В первую очередь предназначен для представления в электронном виде полиграфической продукции, — значительное количество современного профессионального печатного оборудования может обрабатывать PDF непосредственно. Для просмотра можно использовать официальную бесплатную программу Adobe Reader, а также программы сторонних разработчиков. Традиционным способом создания PDF-документов является виртуальный принтер, то есть документ как таковой готовится в своей специализированной программе — графической программе или текстовом редакторе, САПР и т. д., а затем экспортируется в формат PDF для распространения в электронном виде, передачи в типографию и т. п.
2.3
Комплексный формат

Существуют также комплексные форматы, которые могут хранить как векторную, так и растровую информацию. Это форматы DjVu, CGM, AI (формат программы Adobe Illustrator), EPS (Encapsulated PostScript – профессиональный универсальный векторно-растровый формат, используемый всеми профессиональными графическими программами) и PDF (Portable Document Format – формат программы Adobe Acrobat, который может содержать растровую и векторную графику, а также текстовую информацию).
1) DjVu (от фр. déjà vu — «уже виденное») — технология сжатия изображений с потерями, разработанная специально для хранения сканированных документов — книг, журналов, рукописей и прочее, где обилие формул, схем, рисунков и рукописных символов делает чрезвычайно трудоёмким их полноценное распознавание. Также является эффективным решением, если необходимо передать все нюансы оформления, например, исторических документов, где важное значение имеет не только содержание, но и цвет и фактура бумаги; дефекты пергамента: трещинки, следы от складывания; исправления, кляксы, отпечатки пальцев; следы, оставленные другими предметами и т.д.
DjVu стал основой для нескольких библиотек научных книг. Огромное количество книг в этом формате доступно в файлообменных сетях.
Формат оптимизирован для передачи по сети таким образом, что страницу можно просматривать ещё до завершения скачивания. DjVu-файл может содержать текстовый (OCR) слой, что позволяет осуществлять полнотекстовый поиск по файлу. Кроме того, DjVu-файл может содержать встроенное интерактивное оглавление и активные области — ссылки, что позволяет реализовать удобную навигацию в DjVu-книгах.
2) CGM (от англ. Computer Graphics Metafile) — формат для хранения и обмена графическими данными, не относящимися к САПР.
2.4
3
D
полигоны

Формат X файла — формат файла для хранения 3D объектов, созданный компанией Microsoft.
Этот формат хранит информацию о геометрии 3D объекта (координаты вершин и координаты нормалей), текстурные координаты, описание материалов, пути и названия к текстурам, которые используются. Хранится иерархия объектов, хранится анимация, и хранятся привязки вершин к «костям» с описанием весов. В X файле может отсутствовать какая-либо информация об объекте (например в X файле могут содержаться только координаты вершин).
X файл может быть текстовым либо бинарным.
В начале X файла идёт заголовок, затем идёт описание информации об объекте. Описание информации может быть в произвольном порядке, но заголовок всегда идёт в самом начале.
ЗАКЛЮЧЕНИЕ

Ни одна другая область применения компьютера не может похвастать таким многообразием типов форматов файлов, как компьютерная графика. Каждая более или менее солидная софтверная компания считает своим долгом сделать хоть какой, но графический редактор, а в придачу к нему, само собой разумеется, создается свой собственных формат файлов, в котором, как уверяют разработчики, этот редактор сохраняет шедевры, созданные с его помощью, наилучшим образом. Как итог такого подхода сложилась ситуация, когда уже никто не в состоянии охватить все многообразие типов существующих графических форматов. Графические файлы довольно непросто устроены, в отличие скажем от простого текстового файла. Со временем появилась необходимость получения графических файлов с определёнными требованиями. Например, компьютерному художнику необходимо очень высокое качество картинки, рядовому пользователю – хорошее качество, но не очень большой объём, веб-дизайнеру нужно при минимальном объёме получить более или менее приличное изображение. Но требования переносимости файлов между различными приложениями вынудили выделить несколько определенных форматов, ставших, каждый в своей области, стандартами де-факто. Так, для изображений в Интернете, в большинстве случаев, используются форматы JPEG и GIF, для хранения изображений – JPEG, в издательском деле царствует TIFF и т.д.
Нельзя сказать, что есть плохие форматы, а есть хорошие. Каждый формат имеет преимущества и недостатки. В этой статье будет рассказано лишь о некоторых графических форматах, поддерживаемых большинством графических программ и используемых на практике чаще других.
Растровые изображения сохраняются в файле в виде прямоугольной таблицы, в каждой клеточке которой записан двоичный код цвета соответствующего пикселя. Такой файл хранит данные и о других свойствах графического изображения, а также алгоритме его сжатия.
Векторные изображения сохраняются в файле как перечень объектов и значений их свойств – координат, размеров, цветов и тому подобное.
Как растровых, так и векторных форматов графических файлов существует достаточно большое количество. Среди этого многообразия форматов нет того идеального, какой бы удовлетворял всем возможным требованиям. Выбор того или другого формата для сохранения изображения зависит от целей и задач работы с изображением. Если нужна фотографическая точность воссоздания цветов, то преимущество отдают одному из растровых форматов. Логотипы, схемы, элементы оформления целесообразно хранить в векторных форматах. Формат файла влияет на объем памяти, который занимает этот файл. Графические редакторы позволяют пользователю самостоятельно избирать формат сохранения изображения. Если вы собираетесь работать с графическим изображением только в одном редакторе, целесообразно выбрать тот формат, какой редактор предлагает по умолчанию. Если же данные будут обрабатываться другими программами, стоит использовать один из универсальных форматов.
Существуют универсальные форматы графических файлов, которые одновременно поддерживают и векторные, и растровые изображения.
Список используемой литературы

1. Эйнджел Э. Интерактивная компьютерная графика. Вводный курс на базе. Второе издание. М., Сп-б, Киев, Издательский Дом «Вильямс», 2001;.
2. Роджерс Д., Адамс Дж. Математические основы машинной графики. М., Мир, 2001;.
3. Е. В. Шишкин, А. В. Боресков «Компьютерная графика: полигональные модели», М., Диалог-МИФИ, 2001.
4. Иванов В. П., Батраков А. С. Трехмерная компьютерная графика. М., Радио и Связь, 1995;.
5. Гнилой В. Интерактивная машинная графика. – М.: Мир, 1981.