09 - Форматы графических файлов.ppt
- Количество слайдов: 30
Форматы графических файлов
Форматы графических изображений Способ организации информации в файле носит название формата. Формат графических файлов – это набор методов, правил, предназначенных для представления, хранения, обработки и распространения изображений, представленных в цифровом виде. Все множество форматов условно делится на три категории: • хранящие изображение в растровом виде (BMP, TIFF, PCX, PSD, JPEG, PNG, GIF); • хранящие изображение в векторном виде (WMF, DXF, Microsoft SYLK, Shockwave Flash); • универсальные, совмещающие векторное и растровое представления (EPS, PICT, CDR, AI, FH 9, FLA и т. п. ) и метафайлы (CGM, EMF, PDF, WMF), которые кроме информации о растровых и/или векторных изображениях содержат информацию о командах визуализации. Основные критерии выбора формата — это совместимость программ и компактность записи.
Растровые форматы Формат Фирма разработчик Максимальное количество цветов (бит на пиксел) Максимальный размер изображения Метод сжатия Запись нескольких изображений PCX Z-Soft 16 777 216 (24 бита) 65535 х65535 RLE - BMP Microsoft 16 777 216 (24 бита) 65535 х65535 RLE - TGA True. Vision 4 294 967 296 (32 бита) 65535 х65535 RLE - GIF Compu. Serve 256 (8 бит) 65535 х65535 LZW + PNG W 3 C 281 474 976 710 656 бит) 2147483647 х 2147483647 Deflate - JPEG Joint Photographic Experts Group 16 777 216 (24 бита) 65535 х65535 JPEG - TIFF Aldus Corporation 16 777 216 (24 бита) Всего 4 294 967 295 LZW, RLE, JPEG и прочие + (48
Формат PCX В формате PCX использован один из вариантов алгоритма сжатия RLE (Run Length Encoding – групповое кодирование). 2 2 2 2 135 11 11 <счетчик повторений, значение> <7 2> 135 <4 11> Однако, в случае, если строка состоит из большого количества неповторяющихся символов, её объем может вырасти. ABCABCDDEFFFF 1 A 1 B 1 C 2 D 1 E 8 F В версии RLE для PCX признаком счетчика служат единицы в двух левых битах (11******) текущего байта кодированного массива. Соответственно 6 бит, которые остались, означают количество повторов (от 1 до 63) в цепочке следующего за счетчиком значения (второй байт). Таким образом, строка из 63 повторяемых байтов преобразуется в два байта, то есть для таких цепочек достигается сжатие почти в 32 раза.
Пример кодирования RLE PCX Кодирование RLE эффективно для данных, содержащих большое количество серий, например, для простых графических изображений, таких как иконки и графические рисунки. Однако это кодирование плохо подходит для изображений с плавным переходом тонов, таких как фотографии.
Формат BMP (bitmap) Поддерживается всеми графическими редакторами, работающими под управлением ОС Windows. Применяется для хранения растровых изображений, предназначенных для использования в Windows, например, в качестве фона вашего рабочего стола. С помощью этого формата можно задать глубину цвета от 1 до 32 бит. BMP расходуется очень мало системных ресурсов, поэтому этот формат очень часто используется для хранения логотипов, экранных заставок, значков и прочих элементов графического оформления программ Преимущества — очень быстрый вывод изображений, основной недостаток — огромные размеры файлов: размер BMP-файла размер по горизонтали х размер по вертикали х глубину пиксела.
Формат TGA (Targa Image File ) В TGA используется алгоритм сжатия RLE, отличающийся от варианта алгоритма, в формате PCX. Этот вариант алгоритма RLE имеет большую максимальную степень сжатия для некоторых растров и не так сильно увеличивает в размерах исходный файл в самом плохом случае. Если в строке растра встречается последовательность одинаковых байтов, то она кодируется парой «счетчик, значение» . Признаком счетчика является единица в старшем бите (1*******). Например, последовательность 197 197 (135, 197) Здесь к количеству повторов (7), которое занимает семь младших битов, прибавили 128 (то есть единицу в старший бит – 10000111) и получили 7 + 128 = 135. Неповторяемые значения байтов представляются литералами. Литерал (литеральная группа) записывается так – сначала идет счетчик элементов в литеральной группе, а потом записываются значения элементов. Например строка 71 197 197 241 16 72 методом RLE для TGA будет кодироваться следующим образом: 1 71 135 197 3 241 16 72 В лучшем случае этот алгоритм сжимает файл в 64 раза (а не в 32 как в RLE для PCX формата). Возможно также увеличение размеров, однако оно значительно меньше, чем в случае PCX. В среднем показатель компрессии метода RLE для TGA примерно такой же как для PCX, поэтому для одних изображений лучше PCX, для других – TGA. В формате TGA можно хранить не только стандартные черно-белые и RGBизображения, но и изображения, основанные на индексной палитре. В этом формате записывается и Alfa-канал, поэтому TGA используется при передаче телевизионных изображений.
Формат GIF (Graphics Interchange Format) Формат разрабатывался для обмена растровыми изображениями в сети Интернет. Поддерживает до 256 цветов. Есть возможность записи изображений с чередованием строк (interlacing, чересстрочная развертка). При этом сначала выводится каждая восьмая строка, затем – каждая четвертая и т. д. Пользователь может прервать прием изображения из сети, не ожидая вывода всех строк изображения. К недостаткам чересстрочной записи относится некоторое увеличение размера файла. В формате GIF можно назначить один или несколько цветов прозрачными, они станут невидимыми в браузерах Интернета и в некоторых других программах. Файл GIF может содержать не одно, а несколько растровых изображений, которые могут загружаться браузерами друг за другом с указанной в файле частотой. Так обеспечивается иллюзия движения (GIF-анимация). Формат GIF хорошо подходит для создания небольших и простых анимационных фрагментов. GIF-файлы не требуют значительного объема памяти для их хранения. Чтобы создать анимацию, необходимо сначала создать каждый отдельный фрейм, а затем скомпилировать их в единый GIF-файл.
Алгоритм сжатия LZW (Lemmel. Ziv-Welch) В алгоритмах класса LZ используется словарный метод сжатия. Создается словарь, содержащий повторяемые последовательности символов (фразы), которые находятся исходном кодируемом массиве символов. Каждая фраза получает код – порядковый номер (индекс) в словаре. Вначале идет инициализация словаря. Если алгоритм предназначен для сжатия байтов растрового изображения, то для инициализации в словарь записывают 256 чисел от 0 до 255, и они получают, соответственно коды от 0 до 255. В ходе дальнейшей работы алгоритма в словарь, начиная с 257 -ой позиции, записываются двухсимвольные, а потом и более длинные фразы. Например строка байтовых данных 241 16 72 10 10 10 241 16 72 13 5 преобразуется в 241 16 72 10 259 256 72 13 5 При этом словарь будет иметь следующий вид:
Алгоритм сжатия LZW (Lemmel. Ziv-Welch) Преимуществом LZ-подобных алгоритмов является то, что в файл результатов обычно не нужно записывать словарь. Такой словарь восстанавливается в процессе декодирования. Метод LZW, так же, как и RLE, лучше действует, если в изображении присутствуют однородные по цвету участки большого размера, свободные от шума. Обычно LZW обеспечивает большее сжатие, чем RLE, но работает медленнее – как при кодировании, так и при декодировании.
Формат PNG – это новый графический стандарт, созданный для замены формата GIF. Разработан под руководством Томаса Бутелля. PNG ( «пинг» ) предназначен специально для передачи изображений по сетям. Этот формат не защищен патентами, не требует лицензирования и финансовых отчислений и поэтому может получить широкое распространение. Общие черты GIF и PNG: • использование метода компрессии без потерь; • поддержка индексированных цветов до 8 бит на пиксел; • маска прозрачности (Alfa-канал); • обеспечение прогрессивного показа (по мере загрузки файла несколько стадий показа – от грубой версии к полноценному изображению); • кроме изображения файл может содержать также и текст. Отличия PNG от GIF: • большая максимальная глубина цвета – до 48 битов на пиксел для изображений типа True Color, а для градаций серого – до 16 битов на пиксел; • полный Alpha-канал до 16 битов на пиксел; • запись в файл гамма-коррекции; • эффективное распознавание поврежденных данных;
Формат JPEG(Joint Photographic Experts Group) 1991 г. JPEG - это алгоритм сжатия информации с потерями. В соответствии с этим алгоритмом находится и удаляется та часть графических данных, которая существенным образом не влияет на восприятие реального изображения. Методы с потерями дают более высокие коэффициенты сжатия, но не позволяют с точностью до пиксела воссоздать первоначальное изображение. В основе алгоритма сжатия JPEG лежит не поиск одинаковых элементов, как в случае RLE и LZW, а поиск разницы между пикселами. Кодирование осуществляется за несколько шагов.
Формат JPEG Шаг 1. 24 -битное изображение из RGB преобразуется в цветовую модель YCb. Cr Y = 0. 299 R + 0. 587 G + 0. 114 B, Cb = -0. 1687 R – 0. 3313 G + 0. 5 B + 128, Cr = 0. 5 R – 0. 4187 G – 0. 0813 B + 128. Известно, что канал яркости Y (luminance) содержит значительно больший объем информации сравнительно с двумя цветовыми каналами Cb и Cr (chrominance blue и chrominance red), поэтому в телевизионных системах каналу Y предоставляется больший диапазон частот. В JPEG наибольшему сжатию подвергаются компоненты Cb и Cr.
Формат JPEG Шаг 2. Изображение разделяется на блоки размером 8 х8 пикселов, и каждый такой блок подвергается двумерному дискретному косинусному преобразованию (ДКП) – Discrete Cosine Transform (DCT). Это преобразование имеет следующий вид: Преобразование выполняется в отдельности для компонентов Y, Сb и Cr, причем для Y обрабатывается весь блок 8 х8, а для Сb и Cr делается прореживание – берется каждый второй пиксел. ДКП преобразует пространственное распределение в частотное (подобно преобразованию Фурье). В результате получаем блоки размером также 8 х8, однако каждый элемент F(u, v) здесь является частотным коэффициентом спектра, причем коэффициенты для нижних частот располагаются в левом верхнем углу, а для высоких частот – в правом верхнем углу. Преобразование ДКП само по себе не приводит к потери информации, однако, если элементы спектра (F(u, v)) записываются не как дробные, а округляются до целого, то это уже даст некоторую ошибку при декодировании.
Формат JPEG Шаг 3. Квантование. Каждый элемент блока 8 х8 после ДКП будет делиться на соответствующий элемент матрицы квантования где Q(u, v) – матрица квантования, элементами которой являются числа от 1 до 255. После деления выполняется округление до ближайшего целого числа. В стандарте JPEG имеются рекомендованные таблицы квантования, отдельно для Y, Cb и Cr. Значения квантования меньше в левой части таблицы, чем в правой нижней части. Фактически таблица квантования определяет цифровой фильтр, который ослабляет верхние частоты. Указанные в стандарте таблицы не являются обязательными – любая программа записи файлов JPEG может использовать собственные таблицы (понятно, что тогда эти таблицы должны быть записаны в файл, иначе невозможно декодирование). Квантование – это основной фактор сжатия в соответствии с методом JPEG. В результате деления и округления большинство элементов блока 8 х8 будет равняться нулю, что способствует компактности записи блока. Чем больше значение таблицы квантования, тем вероятнее преобразование результата деления на нуль. Однако это приводит к потерям информации – чем больше значащих элементов преобразуется в нуль, тем меньше результат декодирования будет похож на исходное изображение. .
Формат JPEG Шаг 4. Элементы блока 8 х8 записываются в виде одномерного вектора байтов. Элементы выбираются «зигзагом» , как показано на рис. Шаг 5. Кодирование вектора. Сначала вектор кодируется методом RLE. Получается код в виде таких пар: «счетчик, значение» . Здесь счетчик задает количество нулей, которые записываются перед байтом значения. Потом выполняется кодирование пар методом Хаффмана. В файл JPEG, кроме сжатых кодов, записывается также таблица Хаффмана для обеспечения дальнейшего декодирования. Метод сжатия Хаффмана, разработанный в 1952 году, используется как составная часть в ряде схем сжатия, таких как LZ. В соответствии с этим методом сначала для каждого символа вычисляется вероятность его появления. Потом символу приписывается битовый код, длина которого зависит от этой вероятности. Символы, которые чаще встречаются, получают более короткий битовый код, а символы, которые встречаются реже – более длинный код. Процесс JPEG-декодирования выполняется в обратном порядке.
Формат JPEG Положительные черты алгоритма JPEG : достигается сжатие в 10 – 30 раз без существенного ухудшения изображения цветной фотографии; пользователям предоставляется возможность задавать необходимую степень сжатия; алгоритм довольно простой для реализации на персональных компьютерах и автономных устройства, таких как цифровые фотоаппараты. Отрицательными сторонами алгоритма является то, что: при увеличении степени сжатия более чем в 20 – 30 раз изображение сильно искажается, распадаясь на отдельные большие квадраты 8 х8. Это потому, что происходят большие потери в низких частотах при квантовании; для отдельных изображений с высокой детализацией даже при умеренном сжатии возникает эффект Гиббса – ореолы вокруг контуров объектов.
Формат TIFF (tagged image file format, TIF) Доступен весь диапазон цветовых моделей — от монохромной до RGB и CMYK. Был разработан совместно фирмами Aldus Corporation и Microsoft как универсальный открытый формат, допускающий модификации. Поэтому файл TIF-формата, созданный на IBM PC или совместимом компьютере, поддерживается операционной системой Macintosh и большинством Unix-подобных платформ. Он также поддерживается практически всеми основными пакетами растровой и векторной графики, программами редактирования и верстки текста. В отличие от рассмотренных форматов BMP и PCX, формат TIFF поддерживает ряд дополнительных функций: Использование дополнительных каналов (альфа-каналов, или, как их еще называют, каналов масок). Использование сжатия. Это свойство позволяет уменьшать размеры файла до 50 % от исходного с помощью LZW-алгоритма сжатия, выполняемого без потери информации. Возможности выполнения предварительного цветоделения. Положительной чертой формата TIFF является его гибкость. Он может хранить несколько изображений. Могут использоваться разнообразные цветовые модели. Поддерживается много методов сжатия – LZW, Deflate, JPEG и другие. На сегодняшний день формат TIF является лучшим выбором при импорте растровой графики в векторные программы и издательские системы.
Формат PSD (Adobe Photoshop document) В последнее время этот формат получает поддержку все большего числа программ, что фактически делает его универсальным. По сравнению с уже рассмотренными форматами PSD позволяет сохранять изображение с массой дополнительных атрибутов, включая слои, их маски, дополнительные альфа-каналы, каналы плашечных цветов, контуры и все остальное, что может сделать Photoshop. Этот формат постоянно развивается. В настоящее время усовершенствованный формат PSD с поддержкой хранения нескольких слоев могут импортировать программы Illustrator и In. Desidn. Программы Fractal Design Painter и Corel PHOTO-PAINT позволяют открывать многослойные документы Photoshop для выполнения последующего их редактирования.
Векторные графические форматы Векторная иллюстрация — это набор геометрических примитивов – линий, дуг, прямоугольников, эллипсов и т. п. Векторные графические форматы состоят из списка примитивов, либо содержат в себе набор инструкций, команд для построения примитивов. Большинство векторных форматов могут содержать внедренные растровые объекты или ссылку на растровый файл (технология ОРI)
Формат IGES первый стандартный формат обмена данными между различными САПР. IGES-файл состоит из шести разделов: Flag (Флаг, необязательный раздел), Start (Начало), Global (Глобальные данные), Directory Entry (Запись в каталоге), Parameter Data (Параметрические данные), Terminate (Конец). Пять обязательных разделов идентифицируются буквами S, G, D, P и Т, в столбце 73.
Формат DXF - внешний формат программы Auto. CAD, для обмена чертежами с другими системами. DXF-файл – это текстовый файл в формате ASCII, состоящий из пяти разделов: Header (Заголовок), Table (Таблица), Block (Блок), Entity (Элемент) и Terminate (Конец). В разделе Header описывается среда Auto. CAD, в которой был создан DXF-файл. В разделе Table содержится информация о типах линий, слоях, стилях текста и видах, которые могут быть определены в чертеже. В разделе Block содержится список графических элементов. Конкретные данные по каждому элементу хранятся в разделе Entity – это главный раздел DXF-файла, в котором описываются все элементы, присутствующие на чертеже.
Универсальные графические форматы и метафайлы При совместной работе нескольких программ часто возникает потребность в обмене разными графическими данными, как растровыми, так и векторными. Для поддержки обмена такими данными используются специальные графические форматы — метафайлы. Метафайлы могут хранить информацию про растровые и/или векторные изображения и про команды визуализации. Как примеры метафайлов можно привести файлы CGM, EPS, PICT, WMF/EMF, графику Excel, файлы Adobe Table Editor, HPGL-и PLT-графику, OLE-объекты, изображения Lotus PIC и прочие изображения, вставленные командой Paste Special. В числе примеров использования метафайлов в Интернете в первую очередь следует назвать формат PDF, предложенный и активно продвигаемый фирмой Adobe. Главным признаком метафайла является то, что графическое описание объектов состоит из команд определенного графического устройства (принтера, драйвера GDI и т. п. ). Можно сказать, что, наверное, любой векторный формат — это метафайл. Например, формат DXF содержит команды (хотя команды не для устройства, а для программы, которая интерпретирует эти команды). Кроме того, поскольку векторный формат содержит описание изображения как список графических примитивов, то важна последовательность наложения этих примитивов — можно сказать, что векторный формат — это не список примитивов, а последовательность команд.
Универсальные графические форматы и метафайлы WMF (Windows Metafile) EMF (Enhanced Metafile) PICT Post. Script EPS (Encapsulated Post. Script) PDF (Portable Document Format) Al (Adobe Illustrator Document)
Формат WMF (Windows Metafile) Формат WMF был разработан компанией Microsoft для 16 разрядных версий Windows. Метафайл представляет собою последовательность команд графического языка GDI из всех основных категорий графических примитивов 16 -разрядного интерфейса Windows GDI. В этот формат конвертируются векторные изображения при переносе из программы в программу через clipboard (буфер обмена). Формат EMF (Enhanced Metafile) В 32 -разрядных версиях Windows, начиная с Windows NT 3. 51, компания Microsoft использует 32 -разрядный формат метафайлов, названный расширенным форматом метафайлов EMF. Если сравнивать с WMF, то формат EMF поддерживает 32 -разрядную систему координат и новые 32 -разрядные функции GDI, содержит заголовок с геометрическими данными и палитрой и даже обеспечивает некоторую поддержку Open. GL. Формат EMF, по сравнению с форматом WMF, меньше зависит от устройства, вследствие чего получает все большую популярность.
Формат PICT Файлы PICT в основном используются для обмена графикой между программами на Macintosh. Файл PICT может содержать битмапы (растры) в однобитных, черно-белых или RGB форматах. Файлы PICT, содержащие только один битмап, также поддерживаются на платформе Windows с помощью Quick. Time for Windows. Вне Macintosh PICT имеет расширение. PIC или. РСТ. Формат Post. Script — язык описания страниц (язык управления лазерными принтерами) фирмы Adobe. Был создан в 80 -х годах для реализации принципа WYSIWYG (What You See is What You Get). Файлы этого формата имеют расширение. PS или. PRN. Файлы Post. Script содержат в себе сам документ (то, что вы видите на страницах), все связанные файлы (растровые и векторные), использованные шрифты, а также другую информацию устройства вывода: платы цветоделения, дополнительные платы, линиатуру растра и форму растровой точки для любой платы и т. п.
Формат EPS (Encapsulated Post. Script) Предназначен для передачи векторной и растровой графики в издательские системы. Сначала EPS разрабатывался как векторный формат, позже появился растровый вариант — Photoshop EPS. Формат EPS использует упрощенную версию языка Post. Script: не может содержать в одном файле больше, чем одну страницу, не сохраняет ряд установок для принтера и т. п. Основное достоинство EPS — его надежность и универсальность. Почти все программы, которые работают с графикой, могут записывать и читать EPS-файлы. Этот формат обеспечивает точное преобразование кривых, стиля линий и заливок. Как и файлы печати Post. Script, формат EPS используют для записи конечного варианта работы, хотя такие программы, как Adobe Illustrator и Adobe Photoshop, могут использовать его как рабочий. Родная программа для формата EPS — Adobe Illustrator.
Формат PDF (Portable Document Format) PDF — «родной» формат программы Adobe Acrobat, которая является основным средством электронного распространения документов на платформах Macintosh, Windows, Unix и DOS. PDF-файлы можно просматривать с помощью программы Acrobat Reader, распространяемой бесплатно. PDF-файла имеют малые размеры. Для этого используется компрессия, причем для каждого вида объектов применяется свой способ: растровые изображения описываются в формате JPEG. PDF-файлы могут содержать элементы, обеспечивающие поиск и просмотр электронных документов, в частности гипертекстовые ссылки и электронное оглавление. Многие программы (Adobe Page. Maker, Corel. DRAW, Free. Hand) позволяют экспортировать свои документы в PDF, а некоторые еще и редактировать графику, записанную в этом формате. Обычно в этом формате хранят документы, предназначенные только для чтения, но не для редактирования. Файл в формате PDF содержит все необходимые шрифты.
Формат Al (Adobe Illustrator Document) Adobe Illustrator — это векторный редактор фирмы Adobe. Он был создан сразу же после выхода языка Post. Script Level 1, созданного этой же фирмой. Поэтому его можно назвать интерфейсом для Post. Script (многие программы даже определяют формат Adobe Illustrator как Generic EPS). AI — родной формат редактора Adobe Illustrator, напрямую открывается растровым редактором Photoshop, его поддерживают почти все программы, связанные с векторной растровой графикой на платформах Macintosh и Windows. Все, что создает Adobe Illustrator, поддерживается языком Post. Script (исключение составляет эффект Gradient Meshes в 8 -й версии, получаемые в результате выполнения которого объекты нужно растеризовать перед выводом на печать). Формат AI является наилучшим посредником при передаче векторов из одной программы в другую, с PC на Macintosh и обратно.
09 - Форматы графических файлов.ppt