Критерий выбора формата хранения. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Критерий выбора формата хранения.



Для того, чтобы выбрать формат, существует 4 требования:

1. Требуемое качество изображения.

2. Гибкость.

3. Эффективность.

4. Возможность поддержки.

Все форматы сформированы в группы по их области применения. Основные – это форматы для хранения файлов, форматы для мультимедиа приложений, форматы для обмена между компьютерами, форматы для передачи по электронной почте, форматы для передачи по модему.

Когда мы определились для чего нам надо сделать, то смотрится из какого приложения организуется формат. Современные пакеты поддерживают до 20 форматов. Из оставшихся выбираем векторный или растровый. Область выбора резко сужается. Это связано с конкретным устройством ввода-вывода. Как правило остаётся несколько форматов. Анализируем критерии.

Качество изображения. Считается, что для векторных изображений самое высокое качество получается в пакете Corel Draw. Он содержит самый большой набор вспомогательных функций. Здесь есть и управление толщиной, сложная работа с цветом, возможность построения кривых и пространств сплайнов. Такого широкого набора функций ни в одном пакете нет. Corel Draw содержит набор драйверов, позволяющий работать с любыми устройствами ввода-вывода. Может работать и под UNIX (хотя это крайне редко). Однако этот пакет довольно громоздкий, требует много ресурсов, и включает ряд функций, которые для САПР являются излишними. Однако одновременно мы получаем и пакет для работы с растровыми изображениями Corel Photo Paint.

Стандартным является использование формата DXF. Этот формат был разработан для пакета AUTOCAD. Он оказался очень надёжным.

Ещё одним векторным форматом является HPGL. Первоначально применяется HPGL для своих драйверов и устройств ввода-вывода. Он оказался наименее конфликтным.

С растровыми форматами изображений всё гораздо сложнее. Здесь 90% выбора формата зависит от типа изображения и его особенностей. Прежде всего надо обратить внимание на то, требуется ли векторизация изображения или нет. Программы, выполняющие векторизацию, работают с небольшим количеством форматов. Если векторизация не требуется, то чаще всего используеются форматы PCX, BMP, TIFF.

PCX – уступает свои позиции.

BMP – наиболее распространён, так как он наиболее распространён в Windows для хранения изображений.

TIFF – традиционно используется при передаче данных. Это довольно конфликтный формат, так как его предыдущие и последующие версии могут не стыковаться. Разработчики часто не указывают его версию.

Широко используется формат JPEG. Действительная полная информация о формате имеется у фирмы разработчика. Встречаются ситуации, когда формально расширение пакета есть для работы с файлом, а работа с этим типом файлов невозможна. Связано это со следующими причинами:

1. Чаще всего внутри пакета идут настройки по умолчанию. От фирменных пакетов той же фирмы всё будет нормально. Если взять тот же формат от другой фирмы, то он может оказаться неработоспособным с нашим пакетом.

2. Открыть файл не можем, но сохранять в этом формате мы можем.

3. Работа с чёрно-белым изображением корректная, а с цветным нет, либо есть искажения.

4. Часть функций работает нормально, а часть не работает вообще.

 

Наиболее распространены пакеты:

1. Пакеты САПР (Система Автоматизированного ПРоектирования).

DXF, IGES, HPGL, IBM CAD, EPS, TIFF, IFF, PIF, GDF, а также метафайлы.

2. AUTODESK: DXF, IGES, HPGL, EPS.

3. Verga CAD: DXF, IGES, HPGL, EPS, PICT, BMP, SUN Raster File.

4. HP MEIO: DXF, IGES, HPGL, PCL.

5. Пакеты деловой графики:

Lotus Free Lance Plus: CGM, EPS, HPGL.

Hardvard Graphics: CGM, EPS, HPGL, PCX, TIFF.

Corel Draw: CGM, EPS, PCX, PIC, TIFF, DXF, BMP.

Micrografix Designer: CGM, EPS, HPGL, TIFF, WMF, DXF, PIC.

Издательские системы:

Ventura: CGM, HPGL, GEM, PIC, BMP, WMF.

PageMaker: CGM, EPS, HPGL, PIC, PCX, WMF, Video Show, Micrographix, BMP.

 

Каждая последующая версия программ всегда имеет расширенный набор поддерживаемых форматов. Также учтены новые устройства ввода-вывода. Большинство устройств формируют растровые изображения (сканер, принтер, монитор). Но например планшеты и дигитайзеры (есть и «трёхмерные») формируют векторные изображения. Кроме того надо знать, что пакет может изменять тип изображения, например сканируем точечное изображение, а в программе в результате обработки получаем векторное изображение. Используется при копировании чертежей.

Принтеры и графопостроители (плоттеры) работают в собственном формате. Ряд принтеров преобразовывают в свой формат внутри, а для некоторых требуется установка специальных драйверов. У принтеров также существует ещё проблема со шрифтами. Есть ряд принтеров, у которых шрифты зашиты в ПЗУ и их нельзя изменить, в результате приходится печатать в графическом режиме, в результате чего, скорость печати на некоторых моделях уменьшается очень существенно.

Также надо учитывать платформу. Например в России 90% рынка за IBM-совместимыми компьютерами, в то время в США около 40% – это Macintosh. В России, например, если требуется конфиденциальность, то лучше применять компьютеры Макинтош, так как они не распространены.

Ряд форматов поддерживают обе платформы, но есть некоторые особенности.

PC: TIFF, IFF, IMG, TGA, DXF, HPGL, WMF.

Apple: PICT, TIFF, CGM.

UNIX: BMP, TIFF, DXF, JPG, MPC.

Существуют специальные языки (Post Script), которые описывают изображения.

Новое направление, которое является универсальным средством – это гибкость. Гибкость – это возможность сохранить работоспособность при переходе к новому оборудованию.

Постскрипты например, очень сложны и требуют ресурсы машины. К сожалению на 100% предсказать работоспособность нельзя.

Эффективность оценивается по тем ресурсам, которые нужно затратить на обработку, хранение и передачу данных в этом формате. Надо рассматривать конкретный случай. Во-первых, исходят из реальных возможностей машины. Программное обеспечение на порядок сложнее у векторных программ, тем не менее стараются их внедрять. Когда мы привязаны к точечным изображениям прежде всего надо разумно выбрать разрешение для данного изображения, количество бит на пиксел. Подход чем больше тем лучше здесь наиболее подходящий, но обычно для изготовления качественных изображений применяют не более 700 dpi. Выигрыш может быть на методе сжатия файла. Для каждого изображения надо выбирать свой индивидуальный способ.

 

Формат IFF.

Для хранения изображения и звука. Имеет расширение.lbv. Первоначально был разработан фирмой Electronic Arts для пакета Deluxe Paint. Также имеет блочную структуру. Состоит из заголовка и набора блоков данных, причём сами блоки могут иметь произвольную длину. Заголовок имеет длину 12 байт. Фактически это 3 записи по 4 байта.

В первой строке содержится FORM – идентификатор того, что файл в формате IFF.

Во второй строке содержится длина данных в байтах.

В третьей строке содержится тип данных, записываются в виде ASCII.

Таким образом, выбирается нужная длина. Типов данных определено восемь. Эта запись содержится в третьей строке. Если данные тесктовые, то там пишется WORD. Прочая графика – PBM. Ещё один вид текстовых данных – FTXT. Звук – AIFF, музыка – SMUS, семь бит выборки данных – 8SUX.

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

Блоки имеют тоже похожую запись. Первым пишется имя блока длиной 4 байта, затем длина данных 4 байта и потом сами данные. Необязательно соблюдается правило: первый блок содержит особенности текущего режима. В этом формате нормированы имена блоков. Имя несёт информацию о содержимом блока. Новый блок всегда должен начинаться с чётного адреса. Если количество данных нечётное, то вводится пустая строка из нулей.

BM HD (Bitmap Header). При наличии такого имени описывается размер изображения.

CMAP – Color Map.

CRNG – Color Cycle Deluxe Paint.

CGPT – Color Cycle Graphic Art.

BODY

VHDR – хранят данные о темпе, октаве.

NAME – имя звука.

AUTH – имя автора.

ANNO – дата.

ATAK – модуляционная огибающая звука.

RLSE и так далее.

При обмене информацией с другими компьютерами следует пользоваться стандартными именами.

Рассмотрим блоки ILBM:

1) 4 байта. Блок с именем BM HD. Здесь содержится общая информация о графическом режиме. Первая запись о том, какой это блок идентификатор.

2) 4 байта. Длина блока. На ширину и высоту в пикселах отводится по 2 байта.

3) 2 байта. Координаты левого верхнего окна вывода.

4) Запись о числе битовых плоскостей.

5) Указатель – упакованы или неупакованы данные.

6) Ширина и высота пикселов.

7) Максимальная ширнна и высота изображения.

CMAP – Color Map – палитра.

1. Метка (имя).

2. Длина блока в байтах (3n).

3. Таблица цветов для данного изображения (3n).

Пакеты графики работают с 16777216 цветами, таким образом здесь выбраны 2 в степени n цветов, которые используются в этой конкретной картинке.

CRNG – список индексов стандартных цветов пакета Deluxe Paint.

CGPT – список индексов стандартных цветов пакета Graphic Art.

BODY – блок данных. В нём содержится сам рисунок.

Данные записываются построчно. Данные уплотняются или неуплотняются – это указано в BM HD. Первый байт данных управляющий. Если значение меньше 128, то далее следует такое количество неповторяющихся данных, если больше 128, то далее идут повторяющиеся данные, число повторений которых вычисляется по формуле через значение первого байта.

DEST – как будет накладываться этот байт на исходные.

CLUT – используется для описания палитры (есть разбиение на монохромное и цветное изображение).

DPPV – описывает перспективу вращающегося трёхмерного объекта (здесь задаётся способ).

TINK – позволяет разбивать некоторые изображения на части и работать с ними в отдельности.

Для ряда программ порядок следования блоков важен, а для некоторых нет, поэтому чтобы не возникало проблем, то лучше блоки располагать в перечисленной последовательности.

ЭТО ЕДИНСТВЕННЫЙ ФОРМАТ У КОТОРОГО МЛАДШИЙ И СТАРШИЙ БАЙТЫ ПЕРЕСТАВЛЕНЫ МЕСТАМИ.

Есть пакеты, где содержится набор прототипов, есть программы, содержащие прообразы инструментов.

Звук описывается по требованиям пакета Deluxe Paint.

VHDR – в нём хранится основная информация. Это:

1. Длина в байтах числа, преобразуемого в образ аккорда.

2. Число байтов для конкретного звука.

3. Задаётся число используемых октав.

4. Громкость звука.

5. Нормируется скорость считывания данных.

6. Задаётся число байт для формирования модуляции.

7. Тип инструмента.

8. Затухание, усиление.

Для простых мелодий чаще используется восьмибитный формат AIFF для Sound Manager Apple Macintosh. Также есть целый набор блоков для авторских прав.

Формат IFF используется очень редко, так как он предназначен для программных продуктов, с которыми работают профессиональные музыканты. Этот формат может использоваться для телеконференций.

 

Форматы PCX и BMP.

Первым был разработан формат PCX и предназначался для Paintbrush. Этот формат хранит точечные изображения в самом примитивном виде, однако он является самым малоконфликтным. Он –используется во многих серьёзных программных продуктах, например, в большинстве издательских систем. Также есть в простых графических пакетах.

Формат BMP очень похож на PCX и имеет ту же идеалогию и запись с разложением на битовые плоскости. В настоящий момент хранение изображений в формате BMP есть во всех графических пакетах. Растровые изображения разбиваются на строки и столбцы и дальнейшее хранение выполняется построчно.

В этом формате можно хранить цветные и монохромные изображения. С тем, сколько разрядов и сколько цветов в картинке, проявляется разница в версиях формата.

Для обоих форматов:

0 – синий цвет

1 – зелёный цвет

2 – красный цвет

3 – интенсивность

Этот порядок нестандартный. Последовательно записаны биты плоскостей 0, 1, 2, 3.

Уплотнение.

1. В первых версиях всё сводилось к стандартной палитре в 256 цветов. Начиная с версий 3 – 4 палитру можно передавать вместе с файлом.

Заголовок.

Имеет длину 128 байт.

Запись 1. Это идентификатор типа файла.

0A – PCX

BM – BMP

Запись 2. Версия формата. Версия 2.х – с передачей палитры, 3.х – без передачи палитры.

Запись 3. Уплотнение. Применяется RLE –метод сжатия.

Запись 4. Количество бит на пиксел.

Запись 5. Окно изображения.

Хmin

Ymin

Xmax

Ymax

Также смотри примечание.

Запись 6. Разрешение по горизонтали и вертикали (dpi).

Далее может следовать описание палитры (16×3 байт). Затем идёт число битовых плоскостей. Максимум 4, минимум 1.

Затем кодируется монохромное или цветное изображение по записанному числу: 1 – монохромное, 2 – градации серого. Другие уровни записи не допускаются. Далее следует резервная часть, которая до конца заполнена нулями.

ПРИМЕЧАНИЕ. Число строк должно быть кратно 8, а число точек в строке кратно 16. Если размер изображения не кратен, то выполняется дополнение до ближайшего кратного. При больших размерах изображения эти дополнения не влияют на размер файла. Добавленные участки заполняются нулями по всем битовым плоскостям. Уплотнение данных проводят по каждой плоскости отдельно по способу RLE. Особенность в том, что код уплотнён или неуплотнён – это 6-ой и 7-ой разряды.

11 – уплотнено

00 – неуплотнено

В ряде случаев из-за применения такого способа сжатия возможен обратный эффект – размер файла может оказаться больше. Уплотнение фактически никогда не происходит, чтобы его выполнить, надо при сохранении файла отметить специальный флажок. Так же способ задания палитры зависит от конкретного типа графического адаптера (CGA, EGA, VGA).

Начиналось всё с CGA. Работает с 16 цветами. Соответственно полезная информация не может занимать полный байт. Записи разбиты на тройки. Для CGA в первом слове из трёх информацию несут 4 старших бита, это цвет фона. Все остальные игнорируются. Во втором слове информацию несут три разряда.

7-ой разряд: 0 – монохромное, 1 – цветное.

5-ый разряд: 0 – тёмный, 1 – светлый.

6-ой разряд. Цвета для смешивания:

0 – зелёный, красный, жёлтый.

1 – синий, белый, оттенок красного.

Таким образом можно получить 8 вариантов палитры на одном из 16 фонов.

Стандартные адаптеры EGA/VGA также используют 16 цветов, но их формируют совершенно по другому.

VGA – 16 цветов. Базовые цвета – красный, синий, зелёный. Используются все три байта записи. Количество уровней каждого цвета должно быть 4, чтобы формировать 16 цветов.

EGA. Значение каждого байта должно делиться на 4. Может принимать значения 0, 1, 2, 3. Два бита дадут 4 уровня яркости.

VGA (256 цветов). Образуют палитру по аналогии с EGA путём деления значения байта, только делится он на 4. Таким образом формируется доля базового цвета и получают стандартную палитру в 256 цветов. Если мы хотим работать с выбранными 256 цветами из 16777216 цветов, то в конце файла добавляется нестандартная палитра. С полным набором в 16777216 цветов формат PCX никогда не работает.

Если стоит монитор SVGA/XGA, то будут использоваться только 256 цветов. А выбор 256 цветов будет описываться в палитре, которая будет дописываться в конец файла.

 

Хранение графики в Windows.

Основное средство графики в Windows – это Paint Brush. Под него был разработан формат BMP. Существует много версий, но они мало конфликтуют друг с другом.

В литературе даже не приводится разница между версиями этих форматов. Файл BMP состоит из трёх частей:

1. Заголовок BITMAP FILE.

2. Информационная часть BITMAP INFO.

3. Данные BITMAP.

 

1. Структура заголовка. Он состоит из пяти записей.

 

Смещение Длина, байт Описание
    Здесь записано “BM” – это признак того, что файл в формате BMP.
    Длина файла в байтах.
    Резервная запись
    Резервная запись
  Указывает на смещение до начала области данных.

 

Сама длина заголовка постоянная.

2. Он описывает параметры изображения. Имеет переменную длину. Имеет переменную длину.

Запись 1. Длина 4 байта. Длина данной части в байтах.

Запись 2. Длина 4 байта. Ширина рисунка в пикселах.

Запись 3. Длина 4 байта. Высота рисунка в пикселах.

Запись 4. Длина 2 байта. Признак разбиения на битовые плоскости.

Запись 5. Длина 2 байта. Количество бит на пиксел.

Запись 6. Кодируется тип сжатия данных.

Запись 7. Длина 4 байта. Размер изображения в байтах.

Запись 8. Разрешение по горизонтали в пикселах.

Запись 9. Разрешение по вертикали в пикселах.

Запись 10. Количество используемых цветов и запись количества основных типов.

Следующая запись будет начинаться со смещения 36h. Начиная с этой записи описывается палитры. Количество цветов в поле со смещением 2Eh (обозначим n), тогда длина 4×n.

Первый байт – интенсивность синего.

Второй байт – интенсивность зелёного.

Третий байт – интенсивность красного.

Четвёртый байт – резервный, заполнен нулями.

В этой палитре можно использовать не все записи. Те, которые относятся к данному изображению должна быть в начале записи. Такая структура ускоряет обработку изображения.

3. Само изображение. Разбито на строчки и столбцы.

Первое ограничение – разрывы строк не допускаются. Если строка в изображении не участвует, то её нужно заполнить нулями.

Второе нестандартное – то, что хранится оно с левого нижнего угла построчно.

Метод сжатия RLE4 или RLE8. Полностью соответствуют ранее рассмотренному. Поле со смещением 1Сh задаёт количество бит на пиксел. В нём запсианы стандартные цифры.

1) Если записана 1, то это чёрно-белое изображение. Тогда 1 – заполнение первым цветом палитры, а 0 – заполнение вторым цветом палитры.

2) Если записана 4, то это 16-цветное изображение. В палитре реальное описание состоит из 16 полей по 4 байта. Чтобы сократить количество пустых заполнений нулями, то каждый байт записи палитры трактуется следующим образом:

Одна запись – это запись двух точек, причём старшие полбайта принадлежат дальней точке, а младшие полбайта принадлежат первой точке.

Пример.

2 – цвет записан вторым в палитре и принадлежит он второй точке.

5 – цвет записан пятым в палитре и принадлежит первой точке.

3) Если записано 8, то используется 256 цветов. Использован 1 байт на точку. Палитра состоит из 256 записей, каждое поле по 4 байта.

4) Если записано 24, то 16777216 цветов. Чтобы записать такую палитру, надо много памяти, но поступают по другому. палитра кодируется в области данных. В резервный байт вводят интенсивность. При этом длина записи фактически не увеличивается.

 

Сжатие. Там, где использовано сжатие:

0 – не упаковано.

1 – RLE8

2 – RLE4

Таким образом хранятся любой сложности растровые рисунки. Автоматического сжатия ни Windows, ни Paint Brush не производят. Чтобы использовать сжатие, надо использовать специальные команды при сохранении файла. Ламеры хранят рисунки BMP неупакованными.

 

Графика ещё хранится в специфических форматах. Стартовые заставки хранятся в формате RLE. По своей сути ничем не отличающегося от формата BMP со сжатием RLE4, так как для заставок не требуется большее количество цветов. Формируются в такой формат программой WinGIF.

 

Формат ICO.

Особый формат для хранения пиктограмм. Отличие таких изображений от других:

1. Их никогда не уплотняют.

2. В таком формате содержится 2 битовых карты, то есть иконка должна быть дублирована для цветного и монохромного.

Файл ICO имеет следующую структуру:

1. Запись длиной 2 байта. Заполнена нулями.

2. Запись длиной 2 байта. Имеет значение 1 и говорит о том, что это пиктограмма.

3. Запись длиной 2 байта. Количество изображений в файле. Можно хранить несколько пиктограмм. Если стоит 1, то одно изображение в цветном и в чёрно-белом.

4. Запись. Ширина пиктограммы в пикселах.

5. Запись. Высота пиктограммы в пикселах.

6. Запись (1 байт). Количество цветов.

7. Имеется 5 резервных байт.

8. Запись 4 байта. Pixel Array. Массив пикселов.

9. Запись 4 байта. Смещение в байтах до конкретного изображения.

10. Кусок в 4 байта для дополнительных данных.

На описание таблицы цветов используется 40 байт. Их 16, каждая по 4 байта. Палитра заложена избыточная. Для разнообразия выделяется 16 цветов. Далее идёт

512 байт – XOR-описание цветной палитры.

128 байт – AND-описание монохромной пиктограммы.

 

Векторные изображения.

Windows принципиально не работает с векторными изображениями. Это является крупным недостатком. Чтобы как-то это сгладить предусмотрен WWF (Windows Wector File) формат. Данные можно хранить в таком формате и отправлять на векторные устройства вывода. Изменять ничего нельзя. В таком формате записана последовательность вызовов функций GDI.

Метафайл состоит из заголовка и области данных. Заголовок имеет следующую структуру.

2 байта – тип метафайла.

2 байта – длина этого заголовка.

2 байта – указана версия Windows.

4 байта – длина файла в словах.

2 байта – максимальное количество элементов.

4 байта – максимальное количество элементов.

Подтипом метафайла подразумевается вовсе не тип каманд, а где расположен этот метафайл. Кодируется 1 или 2. 1 – в основной памяти.

2 – метафайл сам в себе.

Записи в метафайл – это своего рода команды. Их более чем 70 типов. Все имеют однотипную структуру.

Первая запись – длина 4 байта. Длина записи этой команды в словах.

Вторая запись – длина 2 байта. Эта запись представляет собой записанные 16-ричным кодом от функции.

Идёт поле с параметрами, причём на каждый из параметров отводится 2 байта. Нужно быть осторожным при использовании цветов. Здесь заложен 32-битный формат команд. Обращаться к цвету по индексу или абсолютно определяется это старшим байтом 32-разрядной записи.

0 – абсолютная

1 – индексная

24 бита, которые следуют за старшим. При 0 содержат абсолютное значение. Красный, зелёный, синий – на каждое из которых отводится 1 байт.

В Windows работать с векторным не можем, а хранить и передавать мы можем через WWF.

Как ни парадоксально, но в Windows доступны векторные шрифты. Растровые шрифты при масштабировании становятся очень плохо выглядящими. При работе с векторными шрифтами нужно знать специфические требования:

– Гарнитуры.

– Начертание – варианты внутри одной гарнитуры. Описываются двумя словами. 1 – насыщенность шрифта, 2 – угол наклона.

1. Насыщенность – светлый, полужирный, жирный.

2. Начертание. Прямой, наклонный и курсив. Может добавляться третье слово: контурный или оттенёный шрифт.

Измеряется в кеглях. Кегли измеряются в пунктах (10, 12, 14 и так далее). Пункт равен 1/72 дюйма.

Только в последние годы стали расставлять границы. Когда такие шрифты переводятся в растровый вид и выводятся на принтер. Ширина символов на матричном принтере одинакова.

 

Словарь терминов.

 

Ламер – неумелый пользователь (обычно никогда не становится более умелым).

 



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 185; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.146.221.204 (0.131 с.)