Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Лекция 6. Растровые файлы и их организация

Читайте также:
  1. Cat - слить и вывести файлы на стандартный вывод.
  2. I. Организация класса
  3. I. Организация класса.
  4. I. Организация начала урока
  5. II. Организация деятельности Школы Права
  6. II. ОРГАНИЗАЦИЯ УЧЕБНОЙ ПРАКТИКИ.
  7. III. Организация и порядок прохождения практики
  8. III. Организация и проведение натуральных обследований структуры и интенсивности автотранспортных потоков на основных автомагистралях
  9. III. Организация информирования поступающих
  10. III. Организация практик

Заголовок

Палитра

Растровые данные

Концовка

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

Заголовок

Палитра

Каталог изображений

Растровые данные изображения 1

Растровые данные изображения 2

...

Растровые данные изображения N

Концовка

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

Заголовок

Каталог изображений

Палитра 1

Растровые данные изображения 1

...

Палитра N

Растровые данные изображения N

Концовка

Заголовок — раздел двоичных и симв. данных в формате аспи данных, который хранит общую информацию о растровых данных, хранящихся в файле. //Структура и содержимое конкретного заголовка определяется исполнением //

Типичный набор полей заголовка.

идентификатор файла

версия файла

информ-ия

описыв-ая изобр-ие

количество строк в изображении

количество пикселей в строке

количество битов в пикселе

количество цветовых плоскостей

тип сжатия

коорд-ты

изобр-ия

х координата начала изображения

у координата начала изображения

текст описания

неиспользуемое пространство

Идентификатор файла

Во всех структурах заголовок начинается с уникального ID-значения, идентификатора формата. Он позволяет программе определить формат графического файла, с которым она работает. Идентификаторы файлов выбираются разработчиками произвольно и содержат последовательность символов ASCII, например, формат bmp, gif, или любое числовые значения, уникальные для форматов, исполненных даже на различных платформах. Если значение, прочитанное в начале файла, совпадает с имеющимся идентификатором, то программа, читающая заголовок, предполагает, что ей известен данный формат.

Существуют 3 обстоятельства, когда этот простой способ не работает:

1. в некоторых форматах идентификатор файла опущен и на этом месте находятся любые данные

2. автор формата специально воспроизвел ID-значение другого формата, которое, например, позаимствовал с другой платформы

3. распространители формата дополняют его новыми возможностями, сохраняя при этом ID файла и его спецификацию

Версия файла

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

Информация, описывающая изображение

Количество строк называется высотой изображения или количеством строк развертки. Содержит значение, определяющее количество строк развертки растровых данных.

Количество пикселей в строке называется шириной изображения или шириной строки-развертки. Определяют количество пикселей сохраненных в каждой строке.

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

Если растровые данные были записаны в виде последовательности цветовых плоскостей, то добавляется поле — количество цветовых плоскостей.

Тип сжатия

Если с целью уменьшения объема файла формат поддерживает какой-нибудь вид кодирования, то в заголовок должно быть включено поле — тип сжатия. Некоторые форматы поддерживают несколько алгоритмов компрессии, все они должны быть перечислены в этом поле.

Координаты изображения

Определяют координаты точки у начала изображения на устройство вывода. Чаще всего они имеют значение (0,0), что позволяет совмещать начало изображения с точкой отсчета системы координат устройства.

Текстовое описание растра

Комментарии содержат произвольные символьные в формате ASCII, например, название изображения, имя автора, имя файла, имя программы, использованной для создания изображения.

Неиспользуемое пространство

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

Часто заголовок расширяется до 128, 256, 1024 байтов.

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

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

Строки развертки объединяют пиксельные данные в 2-х мерную сетку, что позволяет рассматривать положение каждого пикселя в …

Организация данных в виде строк развертки

При такой организации пиксельные данные в файле, описывающем это изображение, представляют собой последовательности наборов значений, где каждый набор соответствует строке изображения. //Несколько строк представлены некоторыми наборами, записанными в файл от начала до конца.// Если известен размер каждого пикселя изображения и количество пикселей в строке, то можно рассчитать смещения начала каждой строки в файле.

Пусть в строке 21 пиксель, на 1 пиксель — 8 бит(1 байт), тогда смещение будет:

1строка: 0…..20

2строка: 21…41

3строка: 42…62

4строка: 63…

Если 24 бита, то 0…62

63…125

126…

Некоторые форматы требуют, чтобы строки изображения занимали четное количество байт.

21 пиксель ------ 24 пикселя. 8 бит

0…23

24…47

48…71

Существует правило, согласно которому строки растровых данных выравниваются по границе байта. Рассмотренное выше изображение будет занимать 24 байта.

Пиксельные данные, организованные в виде строк развертки, могут быть сохранены в файле 3 способами:

1. в виде непрерывных данных

2. в виде полос

3. в виде фрагментов

Непрерывные данные

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

Полосы

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

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

Пример: 1280x1024. на 1 пиксель — 8 бит инфо, т.е. 1 байт на пиксель.

Т.е. получим изображение размером 1310720 байт (1280 Кб, 1,25 Мб).

128 строк x 8 полос = 1024.

160 Кб на обработку одной полосы.

Если на 1 пиксель приходится 3 байта, то на все изображение необходимо:

Vпам.=1310720x3 =3932160 байт=3,75 Мбайт

На одну полосу:

Vпам./8=480 кбайт

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

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

Фрагменты

Фрагменты подобны полосам, но каждый фрагмент соответствует вертикальной прямоугольной области изображения. Фрагменты могут иметь любую ширину от 1 пикселя до ширины всего изображения. Фрагменты организуются таким образом, что пиксельные данные соответствующие одному фрагменту имеют объем, кратный 16 Кб(8), а их высота и ширина кратны 16 пикселям. Если данные изображения организованы в виде фрагментов, то фрагментируется все изображение, все фрагменты имеют одинаковый размер и не перекрываются.

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

Организация данных в виде плоскостей

Если данные изображения разделены на 2 и более плоскости, то файлы, в которых содержатся изображения, называются плоскостными файлами. Изображение, которое использует несколько цветовых плоскостей, называется составным изображением. Составное изображение представляется несколькими блоками растровых данных, причем каждый блок будет содержать одну из цветовых составляющих, используемых в данном изображении. Конструирование каждого из этих блоков подобно процессу графического разделения, т.е. используются фильтры разделения на цветовые составляющие. Блоки информации для каждой цветовой составляющей м.б. сохранены в файле последовательно или физически раздельно. Организация данных в виде плоскостей используется, когда устройство отображения способно управлять в каждый момент времени только одним цветом.

Пример. 2 строки на 3 столбца.

В виде строк развертки.

(00, 01, 02) (03, 04, 05) (06, 07, 08)

(09, 10, 11) (12, 13, 14) (15, 16, 17)

В виде плоскостей.

Красная плоскость Синяя плоскость Зеленая плоскость

00 03 06 02 05 08 01 04 07

09 12 15 11 14 17 10 13 16

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

Палитра аналогична векторным файлам.

Концовка

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




Дата добавления: 2014-12-15; просмотров: 83 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.011 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав