Глава 6 (Учебник в электронном виде), страница 12
Описание файла
Файл "Глава 6" внутри архива находится в папке "Учебник". Документ из архива "Учебник в электронном виде", который расположен в категории "". Всё это находится в предмете "информационные устройства и системы" из 8 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информационные устройства и системы" в общих файлах.
Онлайн просмотр документа "Глава 6"
Текст 12 страницы из документа "Глава 6"
З а «магическим числом» следует основное содержание заголовка, содержащее общие сведения о файле, в том числе, высоту и ширину изображения, его тип (цветное палитровое/«в искусственных цветах» или монохромное полутоновое/«двухградационное»), с какого места начинаются в файле видеоданные, использовалось ли сжатие данных и т.д. Если файл содержит палитровое изображение, то после заголовка в большинстве случаев (но не всегда!) следует таблица цветов, в соответствии с которой элементам изображения присваиваются значения 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, разработанный для системы Windows, широко используется в настоящее время в графических системах, хотя и имеет ряд недостатков, связанных с организацией заголовков файлов. Формат TGA (Targa) обеспечивает очень надежное кодирование видеоданных и практически исключает несовместимость между программами. Недостаток этого формата связан с тем, что разрешение изображения в файле не запоминается. Наибольшее число библиотек изображений создано в GIF-формате, разработанном фирмой Compuserve. Его задачей являлось обеспечение максимального сжатия видеоданных при их записи в память. Он эффективен при сохранении палитровых изображений, содержащих максимум 256 цветов в максимально компактной форме.
Видеофайлы часто имеют очень большой объем, и поэтому во всех перечисленных форматах они подвергаются сжатию либо автоматически, либо путем выбора соответствующей функции. Однако, применяемые при этом методы не очень эффективны, особенно если речь идет о записи изображений в естественных цветах. В этом случае весьма полезен формат JPEG, в котором сжатие данных производится методом дискретного косинусного преобразования (ДКП).
Обзор некоторых распространенных форматов хранения изображений в СТЗ представлен в табл. 6.15
Таблица 6.15. Сравнительный анализ некоторых графических форматов
Название, фирма | Тип изображения | Назначение | Платформа | Общая оценка |
РСХ (Zsoft Corporation) | Растровое (Bitmap) | Графические редакторы на IBM РС | IBM PC | Хорошо работает при обмене данными в РС-средах, хранит простые изображения, использует схему RLE сжатия данных, но аппаратно зависим |
BMP/DIB (Microsoft) | Растровое | Хранение и обработка изображений в среде Windows | То же | Стандартный формат для Windows. Аппаратно независим, использует алгоритм RLE сжатия |
TIFF (Aldus Corporation) | Растровое | Обмен данными в настольных издательских системах | IBM PC, Macintosh, рабочие станции UNIX | Используется для обмена между несвязанными приложениями или платформами, предполагает высокое качество изображения |
EPS (Adobe Systems и Aldus) | Растровый, Векторный | Обмен данными и их перенос с помощью языка PostScript | То же | Предназначен для создания технологий, позволяющих приложениям работать с PostScript-изображениями |
JPEG | Сжатый растровый | Хранение и отображение фотографических изображений | То же + аппаратная реализация | Является основным форматом для хранения цифровых фотографий. Качество регулируется Q-фактором (1 -соответствует максимальному сжатию, 100 - минимальному) |
GIF (CompuServe Incorporated) | Растровое | Передача графических данных в режиме on-line по сети CompuServe | IBM PC, рабочие станции UNIX | Отличный формат для обмена между платформами, хорош для хранения, прост в реализации, использует LZW сжатие. |
MPEG (ISO) | Движущийся растровый | Компрессия/декомпрессия видео со звуком для multimedia/hypermedia | Независим от платформ, реализуется аппаратно | Использует сложную процедуру покадрового и внутрикадрового сжатия видео и аудио информации в реальном времени, но требует существенной вычислительной мощности |
DXF | Векторный | Для САПР | Поддерживается всеми САПР-программами, включая AutoCAD |
Примечания.
-
Обозначения:
TIFF - от англ. Tag Image File Format - формат изображения с признаками, EPS - от англ. Encapsulated PоstScript - включающий PоstScript, JPEG - от англ. Joint Photographic Experts Group - объединенная группа экспертов по фотографии, GIF - от англ. Graphics Interchange Format - формат взаимообмена с графикой, MPEG - от англ. Moving Picture Expert Group - группа экспертов по движущимся изображениям, DXF - от англ. Drawing eXchange Format - формат графического обмена.
-
Формат GIF по размеру изображения и глубине цветов подобен PCX, по структуре - TIFF.
-
PostScript - универсальный, не зависящий от платформы язык описания страницы разработан фирмой Adobe Systems.
6.5.2. Сжатие изображений
Одной из важнейших процедур обработки изображений является сжатие. Ее целью является уменьшение физического размера массива данных. В СТЗ применяется сжатие как статических, так и динамических изображений. В первом случае говорят о графических файлах, во втором - о видеоизображениях.
6.5.2.1. Сжатие графических файлов
Сначала рассмотрим наиболее известные принципы сжатия статических изображений. Процедуры сжатия могут встраиваться в спецификацию графического формата или выполняться отдельно. Существует два основных подхода к сжатию изображений: сжатие без потери информации (примерами являются методы Хаффмена, LZW, группового кодирования - RLE и др.) и сжатие с потерей информации (например, дискретное косинусное преобразование - ДКП, JPEG и MPEG). В большинстве спецификаций графических форматов включены процедуры сжатия. Анализ этих процедур показывает, что чаще всего они являются модификациями нескольких базовых методов сжатия, к которым относятся: метод группового кодирования (RLE); метод Лемпела-Зива-Велча (LZW); метод CCITT (один из вариантов этого сжатия является сжатие по алгоритму ДКП, применяемого в формате JPEG), метод фрактального сжатия и ряд других.
Заметим, что сжатие растровых, векторных и метафайловых данных осуществляется по-разному. В растровых файлах сжимаются только данные изображения, заголовок и все остальные данные (таблица цветов, концовка и т.п.) всегда остаются несжатыми. При этом несжатые данные занимают очень незначительную часть растрового файла. Векторные файлы обычно не имеют «родной» формы сжатия данных, т.к. в них хранятся математические описания изображения, а не сами данные изображения. Учитывая, что представление данных в компактной форме заложено в основу любого векторного формата, их сжатие дает очень незначительный эффект.
Методы сжатия изображений разделяются на две категории: симметричные и асимметричные.
Симметричные методы используют при сжатии и распаковке примерно одинаковые алгоритмы. Поэтому длительность процедур сжатия и распаковки примерно одинаковы. Такие алгоритмы применяются в программах обмена данными (например, протоколы V42).