Богданов - 4 (Книга - Богданов)
Описание файла
Файл "Богданов - 4" внутри архива находится в папке "Книга - Богданов". Документ из архива "Книга - Богданов", который расположен в категории "". Всё это находится в предмете "инженерная графика" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "компьютерная рафика" в общих файлах.
Онлайн просмотр документа "Богданов - 4"
Текст из документа "Богданов - 4"
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ИНСТИТУТ
(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
С. О. БОГДАНОВ
МЕТОДИЧЕСКОЕ ПОСОБИЕ
«ПРЕДСТАВЛЕНИЕ ГРАФИЧЕСКОЙ ИНФОРМАЦИИ В ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКЕ»
Часть 4
Форматы растровых файлов
Векторные изображения
МОСКВА 1998
Форматы растровых файлов
На первый взгляд кажется непонятным, откуда появилось такое разнообразие форматов растровых изображений. Ведь их природа достаточно проста — это матрица пикселей. Какие же здесь могут быть вариации?
Различные группы разработчиков старались наделить разрабатываемые форматы теми или иными свойствами, часто взаимоисключающими, которые определялись в соответствии с решаемыми задачами и областями применения. Обычно рассматриваются такие свойства форматов как качество кодирования графики, легкость ввода-вывода и обработки информации, переносимость на другие платформы, поддержка формата другими производителями программного и аппаратного обеспечение, эффективность хранения графических данных, расширяемость, возможность калибровки цветов и поддерживаемые цветовые модели, а также многое другое (в том числе и простота написания программ для поддержки формата).
Не редки случаи, когда особо удачные форматы патентовались разработчиками, и их детали не раскрывались. Одним из подобных примеров является формат PhotoCD, разработанный фирмой Kodak. Он позволяет в очень компактном виде хранить изображения фотографического качества, а при декодировании получать изображения с различными заранее определенными разрешениями. Устройство формата хранится в тайне и защищено патентом, однако Kodak бесплатно предлагает всем желающим программный инструментарий для декодирования и просмотра. Выгода здесь заключается в том, что процессы кодирования изображений и создание графических библиотек на компакт-дисках в формате PhotoCD бесплатными не являются.
Итак, ясно, что каждый формат разработан для своей области применения и имеет определенные особенности. Рассмотрим теперь подробнее несколько наиболее распространенных сегодня форматов.
Bitmap (BMP)
Так называемые битовые карты, используемые в Microsoft Windows и OS/2, являются, пожалуй, самым простым по своей структуре форматом растровых изображений. Файл BMP состоит из двух частей: структуры данных, содержащую основные параметры изображения (ширина, высота, разрешение, тип сжатия и, может быть, ссылка на карту цветов), и собственно графических данных.
Этому формату «повезло», пожалуй, больше других. Битовые карты являются неотъемлемой частью графических операционных систем, поэтому для работы с ними существует целый набор функций, непосредственно поддерживаемый операционными системами. Но с другой стороны это оборачивается и недостатком — на других платформах этот формат практически нигде не поддерживается.
Файлы BMP могут содержать изображения с 1, 4, 8 или 24 битами на пиксель. Графические данные сохраняются построчно справа налево, а сами строки — снизу вверх. При 24 бит на пиксель используется палитра True Color, описанная выше. То есть битовая карта содержит RGB-изображение, и каждый канал (красный, зеленый и синий) кодируется одним байтом и, соответственно, имеет 256 градаций. В том случае, если используется 1, 4 или 8 бит на пиксель, файл должен содержать карту цветов.
Когда необходимо уменьшить размер файла, часто прибегают к уменьшению палитры цветов. Как правило, в большинстве изображений (типа фотографий) без заметного уменьшения качества удается выделить 256 (а иногда и меньше: 16 или даже 2) наиболее часто используемых в них цветов, а остальные «подогнать» под выбранные. Поскольку теперь на один пиксел приходится не три, а один байт, то размер файла уменьшается в три раза. Для каждого из этих 256 (соответственно, 16 или 2) цветов сохраняется его представление в палитре True Color, и эти данные заносятся в таблицу. С ее помощью затем определяется реальный цвет пиксела, поэтому собранные в ней цвета называют индексными, а саму таблицу — картой цветов.
Существуют две разновидности битовых карт: зависимые и независимые от устройства. Обычно работают с битовыми картами, независимыми от устройства (DIB, Device-Independent Bitmap). Как правило, именно они сохраняются в виде файлов и обрабатываются программами. Лишь непосредственно перед выводом, например, на экран битовую карту приводят к виду зависимому от устройства в соответствии с графическим режимом, в котором работает устройство отображения.
В качестве алгоритма сжатия может использоваться групповое кодирование (RLE).
Файлы, представляющие собой битовые карты Microsoft Windows, обычно имеют расширения .BMP, .ICO, .DIB и .RLE.
Tag Image File Format (TIFF)
TIFF изначально разрабатывался как универсальный, независимый от платформы формат с ориентацией на использование в настольных издательских системах и связанных с ними приложениях. Действительно, для издательской деятельности TIFF подходит как нельзя лучше среди остальных растровых форматов, но сфера его применения гораздо шире.
Рис. 14. Уменьшение палитры цветов (индексирование)
У ниверсальность формата определяется его структурой. Она содержит три уровня: заголовок файла, некоторое количество каталогов (IFD, Image File Directory), содержащих служебную информацию или указатели на данные и собственно графические данные. IFD содержат полную информацию о том, как следует интерпретировать графические данные, доступ к которым, кстати, тоже осуществляется по ссылке, содержащейся в специальном каталоге. Все IFD организованы в файле в виде связанного списка (рис. 12), каждый IFD представляет собой массив 12-байтовых структур данных. Полезная информация об изображении, записанном в файле, находится в элементах этих массивов, которые обычно представляют собой теговые указатели, то есть они содержат сам тег, сведения о типе данных и их количестве и указатель на данные.Такая структура файла гарантирует безграничные возможности расширения. Разумеется, существуют спецификации на формат (последняя редакция TIFF версии 6.0 была утверждена в июне 1992), где перечисляются теги и данные, которые они описывают. Производители программного обеспечения обязаны следовать этим спецификациям, чтобы с одним и тем же файлом могли работать различные программы, но тем не менее им никто не запрещает расширять формат новыми тегами для своих нужд. Если какие-то нововведения находят поддержку у других разработчиков, появляется новая редакция формата.
Благодаря своей гибкости TIFF поддерживает наибольшее среди других форматов количество цветовых моделей и алгоритмов сжатия. Это один из немногих форматов, способный хранить изображения в схеме CMYK. Благодаря возможности цветокалибровки TIFF гарантирует одинаковое отображение на различных устройствах вывода цветной графики и в градациях серого.
Любое вычислительное устройство, способное работать с графикой, можно отнести к одному из двух видов архитектур: архитектуры типа Intel и типа Motorola. В данном случае важным различием между ними является порядок следования байт. Когда идет речь об архитектуре Intel, при увеличении адреса мы сначала получаем доступ к младшему байту машинного слова, а затем к старшему. Процессоры же с архитектурой типа Motorola требуют сначала старший и только потом уже младший байт.
Формат TIFF изначально разрабатывался как многоплатформенный, и эта особенность микропроцессорной техники нашла в нем свое отражение. Первые два байта файла, принадлежащие заголовку файла, содержат символы ММ (для Motorola) или II (для Intel), указывая на порядок следования байт в самом файле. Разумеется, любые программы, работающие с TIFF, учитывают это и способны правильно интерпретировать данные. Преимущество такой особенности формата проявляется при работе на «родной» архитектуре файла, значительно ускоряя работу.
Как ни странно, но универсальность TIFF является и его недостатком. Многие разработчики часто злоупотребляют возможностями расширения формата, в результате чего ухудшается совместимость файлов между различными программами. Версия 6.0 формата появилась, в основном, с той целью, чтобы внести порядок и сделать совместимыми множество реализаций формата.
Graphic Interchange Format (GIF)
Как уже следует из названия, GIF является не просто форматом графических данных, а представляет собой специальным образом организованную информацию для передачи в потоке данных. К примеру, TIFF имеет произвольную организацию данных — теги могут следовать в любом порядке. GIF же имеет последовательную организацию. На само кодирование изображения это практически не влияет, но зато для того, чтобы начать интерпретацию графики, не обязательно ждать, пока файл будет загружен целиком.
Впервые GIF появился в сети CompuServe и с тех пор очень активно используется для передачи графической информации практически во всех компьютерных сетях. Например, в стремительно расширяющейся в последние годы сети Internet более 90% всей графики представлено в форматах GIF и JPEG.
GIF поддерживает 24-битный цвет (True Color), реализованный в виде палитры с количеством цветов до 256. Максимальный размер изображения — 65536 х 65536 пикселей. Графические данные могут быть сжаты с помощью алгоритма LZW. К расширенным возможностям формата относятся:
-
«прозрачный» цвет;
-
сохранение нескольких изображений в одном файле, причем с возможностью «проигрывания» их последовательности с любой задержкой между кадрами (animated GIF);
-
возможность черезстрочной организации графических данных (interlaced GIF), что позволяет просматривать изображение целиком еще во время чтения графической информации и детализировать его по мере дальнейшей загрузки;
-
поддержка логического экрана — специальной области, в которой будут выводиться все последующие изображения.
GIF содержит пять основных компонентов, располагающихся в фиксированной последовательности: блок заголовка, блок дескриптора логического экрана, глобальная таблица цветов (палитра), блоки данных изображения и завершающий блок. Каждый блок отличается по определенному коду, или тегу, расположенному в первом байте.
В целом этот формат данных прекрасно справляется с возложенными на него функциями, хотя и не лишен недостатков. К ним относятся ограниченная 256 цветами палитра и невозможность использования каких бы то ни было цветовых моделей, кроме индексированной RGB.
JPEG
Схема сжатия JPEG, которая была описана выше, непосредственно реализуется в формате с тем же названием. Следует отметить, что графическая информация, преобразованная методом JPEG и содержащая изобилующие нулями данные DСТ после квантования, подвергается дополнительному сжатию каким-либо алгоритмом, не вносящим потери. Как правило, для этого используется алгоритм Хаффмана. Структура файла, все его элементы в точности соответствуют этапам сжатия методом JPEG.
Файл JPEG состоит из сегментов, выстроенных в определенную последовательность. Каждый сегмент начинается с двухбайтового маркера, который идентифицирует его тип. Иногда за маркером следуют данные, иногда маркер сам представляет собой сегмент. Файл содержит сегменты начала и конца изображения, заголовка, сегмент расширенной информации, таблицы факторов квантования, фреймы (данные DСТ), таблицы Хаффмана и др.
Основной недостаток формата — большие требования к вычислительным ресурсам и, как следствие, низкая скорость кодирования и восстановления изображений. Поэтому в компьютерных сетях, например в Internet, когда необходимо передавать большие объемы графической информации и быстро ее отображать, этот формат из-за хорошего сжатия используются для кодирования одиночных больших изображений. Маленькие же, которых обычно много, выгоднее передавать в виде быcтро декодируемых GIF-файлов.
Потери информации вследствие применения JPEG-компрессии могут приводить в некоторых случаях к нежелательным эффектам. Например, открывая в графическом редакторе JPEG-файл для внесения изменений, не следует после этого снова сохранять его в формате JPEG. Вторичное сжатие этим способом очень сильно увеличит потери, и при просмотре такое изображение будет казаться состоящим из цветных прямоугольных лоскутков. Поэтому при подготовке изображения рекомендуется использовать форматы без компрессии или с использованием неразрушающего сжатия и только конечный результат работы переводить в JPEG.
FlashPix