Форматы представления графической информации в ЭВМ. Формат графических изображений TIFF

Автор работы: Пользователь скрыл имя, 14 Февраля 2013 в 15:32, курсовая работа

Описание

Впрочем, думается, большинство полиграфистов не пользуется этой возможностью, поскольку она увеличивает время печати. TIFF означает – теговый формат графических файлов. TIFF был создан в 1986 году группой компаний. Среди них были: Aldus, Datacopy, DEST Corporation, Hewlett Packard, Microsoft, Microtek International и New Image Technology. У этого формата относительно короткая история, которая включает шесть новых версий. TIFF был создан для того, чтобы представить жизнеспособный метод передачи данных между сканерами и компьютерными программами. С самого начала TIFF был разработан для полиграфической индустрии. TIFF – один из самых гибких форматов пиксельных файлов.

Содержание

Введение3
1. Структура5
1.1. Заголовок файла (Image File Header - IFD)5
1.2. Директории файла (Image File Directory)6
2. Определения8
3. Поля9
3.1. Базовые поля9
3.2. Информационные поля17
3.3. Факсимильные поля18
3.4. Поля запоминания и восстановления документов20
3.5. Поля, не рекомендуемые для дальнейшего использования20
4. Частные поля25
5. Обзор форматов файлов для изображений26
6. Дополнительная информация27
Заключение28
Список используемой литературы29

Работа состоит из  1 файл

Курсовая работа .docx

— 99.83 Кб (Скачать документ)

SamplesPerPixel

Tag = 277 (115h)

Type = SHORT

Length = 1

Число компонент в пикселе. SamplesPerPixel равно 1 для двухуровневых, серых и палитровых изображений и равно 3 для RGB-изображений.

StripByteCounts

Tag = 279 (117h)

Type = SHORT or LONG

Length = StripsPerImage для PlanarConfiguration=1.

 = SamplesPerPixel*StripsPerImage для

   PlanarConfiguration=2

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

StripOffsets

Tag = 273 (111h)

Type = SHORT or LONG

Length = StripsPerImage для PlanarConfiguration=1.

= SamplesPerPixel*StripsPerImage для

  PlanarConfiguration=2

Для каждой полосы ее байтовое смещение в файле. Смещение указывается по отношению к началу TIFF-файла. Заметим, что наличие этого поля делает положение текущей полосы независимым от местоположения других полос. Эта возможность должна быть особенно полезна для редактирующих программ. Это дает единственный способ нахождения данных изображения для программ чтения и, следовательно, должно существовать.

Заметим, что для значения тега могут использоваться типы данных SHORT или LONG. Значение SHORT используется для небольших TIFF-файлов. Однако, следует заметить, что предыдущие описания TIFF-файлов требовали значения LONG и некоторые прикладные программы могут не ожидать появления значения типа SHORT.

XResolution

Tag = 282 (11Ah)

Type = RATIONAL

Length = 1

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

YResolution

Tag = 283 (11Bh)

Type = RATIONAL

Length = 1

Число пикселов на единицу, определенную полем ResolutionUnit в направлении Y, т.е. в направленииImageLength.

 

3.2. Информационные поля

Информационными полями являются поля, которые могут содержать некоторую полезную информацию для пользователя, например, откуда пришло изображение. Большинство из них является ASCII-полями. Прикладные программы могут иметь диалоговое окно типа More Info… для высвечивания такой информации.

Artist

Tag = 315 (13Bh)

Type = ASCII

Имя человека, создавшего изображение.

Если вам нужно добавить к  изображению замечание типа Copyright, то это то место, где это следует сделать. На практике вы возможно захотите записать содержимое этого поля сразу после 8-байтового TIFF-заголовка. Проверьте, что ваш IFD и указатели полей выставлены надлежащим образом, и сделайте это.

DateTime

Tag = 306 (132h)

Type = ASCII

Length = 20

Дата и время создания изображения. Используйте формат YYYY:MM:DD HH:MM:SS с 24 часовым диапазоном значений для часов и одним пробелом между датой и временем. Длина строки вместе с нулевым символом составляет 20 байтов.

HostComputer

Tag = 316 (13Ch)

Type = ASCII

Компьютер, на котором создано изображение. ENIAC или что-то еще.

ImageDescription

Tag = 270 (10Eh)

Type = ASCII

Например, пользователь может по своему усмотрению добавить к изображению комментарий типа "1988 Компания на пикнике".

Предполагается, что это то, что в газетах и журналах называется "подписью под иллюстрацией".

Make

Tag = 271 (10Fh)

Type = ASCII

Тип сканера, видеодигитайзера и т.п.

Model

Tag = 272 (110h)

Type = ASCII

Название/номер модели сканера, видеодигитайзера и т.п.

Этот тег предназначен исключительно  для информации пользователю.

Software

Tag = 305 (131h)

Type = ASCII

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

 

3.3. Факсимильные поля

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

Compression (базовый тег)

Tag = 259 (103h)

Type = SHORT

Length = 1

Значение тега определяет схему сжатия растровых данных. В настоящее время для этого тега определены значения 3 и 4.

Compression=3

Факсимильно-совместимая схема сжатия CCITT Group 3, в точности соответствующая документу "Standardization of Group 3 facsimile apparatus for document transmission, Recommendation T.4, Volume VII, Fascicle VII.3, Terminal Equipment and Protocols for Telematic Services, The International Telegraph and Telephone Consultative Committee (CCITT), Geneva, 1985, pp. 16-31". Каждая полоса должна начинаться с выравниванием на байт (напоминаем, что изображение может состоять целиком из одной полосы). Строки, которые не являются первыми в полосе не обязательно начинаются с границы байта. Данные запоминаются как байты, никакие перестановки байтов внутри слов не допускаются. Для задания таких опций Group 3, как 1D и 2D используется поле Group3Options.

Compression=4

Факсимильно-совместимая схема сжатия CCITT Group 4, в точности соответствующая документу "Facsimile Coding Schemes and Coding Control Functions for Group 4 Facsimile Apparatus, Recommendation T.6, Volume VII, Fascicle VII.3, Terminal Equipment and Protocols for Telematic Services, The International Telegraph and Telephone Consultative Committee (CCITT), Geneva, 1985, pp. 40-48". Каждая полоса должна начинаться с выравниванием на байт. Строки, которые не являются первыми в полосе не обязательно начинаются с границы байта. Данные запоминаются как байты, но не как слова перестановки байтов внутри слов не допускаются. Опции для Group 4 определены в поле Group4Options.

Group3Options

Tag = 292 (124h)

Type = LONG

Length = 1

См. Compression=3. Неиспользуемые биты должны быть нулевыми. Бит с номером 0 является младшим. Наверное, не имеет смысла пытаться читать файл, если один из этих битов имеет единичное значение, но вы не знаете, что он означает.

Бит 0 равен 1 для двумерного кодирования (в противном случае подразумевается одномерное). Если для двумерного кодирования задано более одной полосы, каждая полоса должна начинаться с одномерной схемы. Т.е. RowsPerStrip должен быть умножен на "Parameter K", как это указано в документации CCITT.

Бит 1 равен 1, если используется режим  без компрессии.

Бит 2 равен 1, если перед кодом EOL добавляются биты-заполнители, чтобы EOL всегда заканчивался на границе байта. Это обеспечивает, что EOL-последовательность всегда заканчивается единичным байтом, которому предшествуют по крайней мере два нулевых: xxxx-0000-0000-0001.

Group4Options

Tag = 293 (125h)

Type = LONG

Length = 1

См. Compression=4. Это поле образовано 32 битами-флагами. Неиспользуемые биты должны быть нулевыми. Бит с номером 0 является младшим. Наверное, не имеет смысла пытаться читать файл, если один из этих битов имеет единичное значение, но вы не знаете, что он означает. В настоящее время изучаются схемы кодирования для серых и цветных изображений. Они будут добавлены, когда это изучение закончится.

При двумерной схеме кодирования  каждая полоса кодируется так, как если бы она была отдельным изображением. В частности, каждая полоса начинается с границы байта и кодирование для первой строки полосы проводится независимо от предыдущих строк с использованием горизонтальных кодов (т.е. так, как если бы предыдущая строка была пустой). Каждая полоса заканчивается 24-битным блока конца факсимильного сообщения (end-of-facsimile block - EOFB).

Бит 0 не используется.

Бит 1 равен 1, если используется режим  без компрессии.

 

3.4. Поля запоминания и восстановления документов

Эти поля могут полезны для запоминания и восстановления документов. Не рекомендуется их использование для обмена с программами типа настольных издательств.

DocumentName

Tag = 269 (10Dh)

Type = ASCII

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

PageName

Tag = 285 (11Dh)

Type = ASCII

Название страницы, с которой  было просканировано изображение.

PageNumber

Tag = 297 (129h)

Type = SHORT

Length = 2

Этот тег используется для указания номера страницы для многостраничных (в том числе факсимильных) документов. Задаются два значения типа SHORT. Первое значение является номером страницы; второе - номером страницы в документе.

Отметим, что страницы не обязательно  должны следовать в порядке их номеров. Номер первой страницы равен 0.

XPosition

Tag = 286 (11Eh)

Type = RATIONAL

X-смещение левого края изображения относительно левого края страницы, заданное в единицах, определяемых тегом ResolutionUnits.

YPosition

Tag = 287 (11Fh)

Type = RATIONAL

Y-смещение верхнего края изображения относительно верхнего края страницы, заданное в единицах, определяемых тегом ResolutionUnits.

В координатной схеме TIFF положительным направлением для Y считается направление вниз, поэтому YPosition всегда положительно.

 

3.5. Поля, не рекомендуемые для дальнейшего использования

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

CellLength

Tag = 265 (109h)

Type = SHORT

Length = 1

Длина в одно битных компонентах матрицы для полутонирования или дифферинга. Считается, что Threshholding = 2.

Это поле, а также поля CellWidth и Threshholding, находятся под вопросом, поскольку они не могут быть однозначно использованы для создания изображений в серых тонах из черно-белых изображений, полученных методами дифферинга или полутонирования (в этом состоит их единственное правдоподобное назначение). Единственный корректный способ выполнения такой операции состоит не в обработке этих полей, а написании удовлетворительных программ, которые способны оперировать с экранными углами, не кратными 45 градусам и разрешать другие проблемы, возникающие при полутонировании.

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

CellWidth

Tag = 264 (108h)

Type = SHORT

Length = 1

Ширина в одно битных компонентах матрицы полутонирования/дифферинга.

FillOrder

Tag = 266 (10Ah)

Type = SHORT

Length = 1

Порядок значений данных внутри байта (1 или 2).

FillOrder=1

Старшие биты располагаются в байтах первыми. Т.е. значения данных (или кодовых слов) упорядочены от битов старших порядков к битам младших порядков внутри байта.

FillOrder=2

Младшие биты располагаются в байте первыми. Поскольку такой порядок битов представляет ограниченный интерес, и поскольку для программ чтения этот порядок несложно инвертировать (используя таблицу перекодировки из 256 байтов), мы рекомендуем использовать FillOrder=2 только для частных целей, не связанных с обменом информацией.

FreeByteCounts

Tag = 289 (121h)

Type = LONG

Для каждого свободного блока в  файле число байтов в этом блоке. Программы чтения TIFF-файлов могут игнорировать теги FreeOffsets и FreeByteCounts, если таковые присутствуют.

Теги FreeOffsets и FreeByteCounts не переопределяют логическое адресное пространство внутри файла.

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

FreeOffsets

Tag = 288 (120h)

Type = LONG

Для каждого свободного блока файла  его байтовое смещение.

MaxSampleValue

Tag = 281 (119h)

Type = SHORT

Length = SamplesPerPixel

Максимальное используемое значение компоненты пикселов. Например, если изображение состоит из 6-битовых данных, выровненных в младших битах 8-битовых байтов, то значение MaxSampleValue не может быть больше 63. Это поле никак не влияет на визуальные характеристики изображения и не оказывает влияния на интерпретацию других полей. Используется только для статистических целей.

MinSampleValue

Tag = 280 (118h)

Type = SHORT

Length = SamplesPerPixel

Минимальное используемое значение компонент пикселов. Это поле никак не влияет на визуальные характеристики изображения.

SubfileType

Tag = 255 (FFh)

Type = SHORT

Length = 1

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

SubfileType=1

Изображение с полным разрешением. Поля ImageWidth, ImageLength и StripOffsets являются обязательными.

SubfileType=2

Изображение с уменьшенным разрешением. Поля ImageWidth, ImageLength и StripOffsets обязательны. Далее предполагается, что это изображение является версией другого изображения, находящегося в этом же файле, но с уменьшенным разрешением.

SubfileType=3

Отдельная страница многостраничного изображения.

Отметим, что в одном TIFF-файле может находиться несколько изображений, причем каждое из них описывается собственной IFD.

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

Orientation

Tag = 274 (112h)

Type = SHORT

Length = 1

Значение тега определяет ориентацию изображения на экране. Возможны следующие значения:

Orientation=1

При высвечивании нулевая строка соответствует верхнему краю изображения и нулевая колонка - левой его стороне.

Orientation=2

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

Orientation=3

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

Orientation=4

При высвечивании нулевая строка соответствует нижнему краю изображения и нулевая колонка - левой его стороне.

Orientation=5

При высвечивании нулевая строка соответствует левой стороне изображения и нулевая колонка - верхнему его краю.

Orientation=6

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

Orientation=7

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

Orientation=8

При высвечивании нулевая строка соответствует левой стороне изображения и нулевая колонка - нижнему его краю.

По умолчанию равно 1.

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

Threshholding

Tag = 263 (107h)

Type = SHORT

Length = 1

Значение тега определяет тип двухуровнего изображения. Возможны следующие значения:

Threshholding=1

Двухуровневое изображение со сплошными линиями. BitsPerSample должен быть равен 1.

Информация о работе Форматы представления графической информации в ЭВМ. Формат графических изображений TIFF