Скачиваний:
471
Добавлен:
04.03.2014
Размер:
4.9 Mб
Скачать

6.5.1. Структура графического файла

Графический файл сос­тоит из двух основных час­тей: заголовка и собственно данных. В начале заголовка стоят несколько числовых значений, которые указывают спецификацию файла (TIF, BMP и т.д.). В англоязычной литера­туре их называют «магическими числами».

Все программы обработки изображений различают форматы файлов не по расширениям, а по «маги­ческим числам». Поэтому, в принципе, например, TIF-файлу можно дать любое название, что никак не отра­зится на возможности его считывания. Исклю­чением из этого правила являются фото-CD файлы, которые не имеют ни магических чисел, ни обычного заголовка.

За «магическим числом» следует основное содержание заголовка, содержащее общие сведения о файле, в том числе, высоту и ширину изобра­жения, его тип (цветное палитровое/«в искусственных цветах» или монохромное полутоновое/«двух­гра­дацион­ное»), с какого места начинаются в файле видеодан­ные, использовалось ли сжатие данных и т.д. Если файл содержитпалитровое изображение, то после заголовка в большинстве случаев (но не всегда!) следует таблица цветов, в соответствии с которой элементам изображения присваиваются значения RGB-троек.

Далее записываются видеоданные. Способ их хранения зависит от типа изображения и формата файла. Поэтому, создание универсальных программ считывания и записи основных графических форматов является нетривиальной задачей. Данные (структура данных), называемые фай­ловыми элементами, подразделя­ются на три категории: поля, теги и потоки. Полем называется структура данных в графи­ческом файле, имеющая фиксированный размер. Фиксированное поле может иметь не только фиксированный размер, но и фиксированную позицию в файле. Тег представляет собой структуру данных, размер и позиция которой изменяются от файла к файлу. Поля и теги спроектированы таким образом, чтобы помочь программе обработки изображений получить быстрый доступ к нужным данным. Если позиция в файле известна, то программа получает доступ к ней непосредственно, без предварительного чтения промежуточных данных. Файл, в котором данные организованы в виде потока, не дает таких возможностей и должен читаться последовательно. Поток позволяет поддерживать блоки дан­ных переменной длины. Теоретически могут существовать «чистые» фай­лы фиксированных полей (содер­жащие только фик­­­си­рованные поля), «чистые» теговые и «чистые» потоковые файлы. Однако реально такие файлы большая редкость. Чаще применяются комбинации двух и более элементов данных. Так, известные форматы TIFF и TGA ис­пользуют и теги, и фиксированные поля, а файлы формата GIF - фиксированные поля и потоки.

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

Несмотря на то, что векторные файлы значительно отличаются друг от друга, большинство из них также имеет стандартную базовую структу­ру (рис. 6.38). Непосредственно векторные данные записываются очень компактно. Так, например, в формате ASCII, три элемента изображения (окружность синего цвета, черная прямая и красный прямоугольник), могут быть записаны следующим образом: «CIRCLE, 40, 100, 100, BLUE»; «50, 136, 227, BLACK»; «RECT, 80, 65, 25, 78, RED». Здесь цифрами обозначены координаты характерных точек (например, центра тяжести) и размеры характерных линий (например, радиуса). Замкнутые линии векторных изображений могут быть заполнены цветом, который, в общем случае, не зависит от цвета контура элемента. Таким образом, каждый элемент изображения связан с двумя или более цветами, один из них задан для контура элемента, а остальные - для заполнения.  Цвета заполнения,  в частности, могут быть прозрачными. Если не принимать в расчет палитру и информацию об атрибутах, можно сказать, что размер векторного файла прямо пропорционален количеству содержащихся в нем объектов. Это специфическая особенность векторных файлов, поскольку размер растрового файла не зависит от сложности описанного в нем изображения (на него может повлиять только способ сжатия данных).

В завершении приведем краткий обзор основных графических форматов, использующихся в СТЗ. Наиболее простым форматом уже много лет является PCX-формат. Его основное достоинство, связанное с наглядностью представления видеоданных в структуре файла, привело к появлению многочисленных программ обработки изображений именно из PCX-формата. Самым распространенным, пожалуй, является TIF-формат, называемый также теговым форматом. В нем можно хранить все типы изображений и каждая программа обработки должна включать процедуры чтения и записи TIF-фай­лов. Недостатком TIF-фор­мата является его сложность, что приводит к воз­никновению проблем со сжатием изображений и совместимостью файлов. Известный формат BMP, разработанный для системы Win­dows, широко используется в настоящее время в графических сис­темах, хотя и имеет ряд недостатков, связанных с организацией заголовков файлов. Формат TGA (Targa) обес­печивает очень надеж­ное кодирование видеоданных и практически исключает несовместимость между программами. Недостаток этого формата связан с тем, что разре­шение изображения в файле не запоминается. Наибольшее число библиотек изображений создано в GIF-формате, разработанном фирмой Com­puserve. Его задачей являлось обеспечение максимального сжатия видеоданных при их записи в память. Он эффективен при сохранении палитровых изображений, содержащих максимум 256 цветов в максимально компактной форме.

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

Обзор некоторых распространенных форматов хранения изображений в СТЗ представлен в табл. 6.15

Таблица 6.15. Сравнительный анализ некоторых графических форматов

Название, фирма

Тип изображения

Назначение

Платформа

Общая оценка

РСХ (Zsoft Cor­po­rati­on)

Растровое (Bitmap)

Графические редакторы на IBM РС

IBM PC

Хорошо работает при обмене данны­ми в РС-средах, хранит простые изо­бражения, испо­ль­зует схему RLE сжа­тия данных, но аппаратно зависим

BMP/DIB

(Microsoft)

Растровое

Хранение и обработ­ка изображений в среде Windows

То же

Стандартный формат для Windows. Аппаратно независим, использует ал­горитм RLE сжатия

TIFF (Al­dus Cor­po­ration)

Растровое

Обмен данными в нас­тольных издате­льских системах

IBM PC, Ma­cin­tosh, рабо­­­чие станции UNIX

Используется для обмена между несвязан­ными при­ложе­ни­ями или пла­т­­фор­ма­ми, пре­дполагает вы­сокое ка­чество изображения

EPS (Ado­be Sy­s­­tems и Al­dus)

Растровый,

Векторный

Обмен данными и их пе­ренос с помо­­щью языка PostScript

То же

Предназначен для создания техноло­гий, позволяющих приложениям работать с PostScript-изображе­ни­я­ми

JPEG

Сжатый растровый

Хранение и отобра­­же­ние фотогра­­фичес­ких изображений

То же + аппаратная реализация

Является основным форматом для хранения цифровых фотогра­фий. Качество регулируется Q-фа­ктором (1 -соответст­вует максима­льному сжатию, 100 - минимальному)

GIF (Com­pu­Serve In­cor­po­rated)

Растровое

Передача графических дан­ных в режи­ме on-li­ne по сети Compu­Serve

IBM PC, рабо­чие станции UNIX

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

MPEG (ISO)

Движущий­ся растровый

Компрессия/деко­м­пре­с­­сия видео со зву­ком для multi­me­dia/­hy­per­media

Независим от пла­т­форм, ре­ализуется аппаратно

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

DXF

Векторный

Для САПР

Поддерживается всеми САПР­-про­граммами, включая Auto­CAD

Примечания.

  1. Обозначения:

TIFF - от англ. Tag Image File Format - формат изображения с признаками, EPS - от англ. Encapsulated PоstScript - вклю­чающий PоstScript, JPEG - от англ. Joint Photographic Experts Group - объединенная группа экспертов по фотографии, GIF - от англ. Graphics Inter­change Format - фор­мат взаимообмена с графикой, MPEG - от англ. Moving Picture Expert Group - группа экспертов по движущимся изображе­ниям, DXF - от англ. Drawing eXchan­ge Format - формат графического обмена.

  1. Формат GIF по размеру изображения и глубине цветов подобен PCX, по структуре - TIFF.

  2. PostScript - универсальный, не зависящий от платформы язык описания страницы разработан фирмой Adobe Systems.

Соседние файлы в папке Учебник - информационные системы