TIFF

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Tagged Image File Format
Расширение

.tiff, .tif

MIME

image/tiff, image/tiff-fx

Разработчик

Microsoft и Aldus, сейчас Adobe Systems

Опубликован

1986

Тип формата

растровая графика

Развит в

EXIF, DCF, TIFF/EP, TIFF/IT, TIFF-FX, GeoTIFF

TIFF (англ. Tagged Image File Format) — формат хранения растровых графических изображений. TIFF стал популярным форматом для хранения изображений с большой глубиной цвета. Он используется при сканировании, отправке факсов, распознавании текста, в полиграфии, широко поддерживается графическими приложениями. TIFF был выбран в качестве основного графического формата операционной системы NeXTSTEP и из неё поддержка этого формата перешла в Mac OS X. Формат был разработан Aldus Corporation в сотрудничестве с Microsoft для использования с PostScript. Компания-владелец спецификаций — Aldus Corporation — впоследствии объединилась с Adobe Systems, владеющей в настоящее время авторским правом на эти спецификации.[1]

Изначально формат поддерживал сжатие без потерь, впоследствии формат был дополнен для поддержки сжатия с потерями в формате JPEG.[1]

Файлы формата TIFF, как правило, имеют расширение .tiff или .tif.

Сигнатура и заголовок файла[править | править вики-текст]

Заголовок файла содержит сигнатуру и ссылку (смещение) на первый содержательный блок данных в файле.

Сигнатура файла (магическое число) TIFF состоит из двух частей:

  • Байты 0—1 — для определения порядка байтов в файле (представлены в коде шестнадцатеричной системы счисления и в текстовом виде на основе кодировки ASCII):
    • 49 49 («„II“») — при прямом (little-endian) порядке байтов, от названия марки процессоров Intel, использующих такой порядок (см., например, Intel x86)
    • 4D 4D («MM») — при обратном (big-endian) порядке байтов, от названия марки процессоров Motorola, использовавших именно такой порядок (см., например, Motorola 680x0)
  • Байты 2—3 — идентификатор формата TIFF (42 — философское число (ответ на главный вопрос жизни, вселенной и всего такого), никакой смысловой нагрузки не несёт, в последней редакции спецификации [TIFF vision 6.0 — June 3, 1992] формата - всегда имеет указанное значение):
    • 2A 00 — при прямом порядке байтов
    • 00 2A — при обратном порядке байтов

Таким образом, существуют два возможных варианта сигнатуры (в зависимости от порядка байтов в файле):

  • 49 49 2A 00 — при прямом порядке байтов
  • 4D 4D 00 2A — при обратном порядке байтов

Далее, байты 4—7, указано смещение в байтах от начала файла (выровнено по границе WORD (машинное слово)) на первую директорию IFD (англ. image file directory).

Поддерживаемые форматы хранения данных[править | править вики-текст]

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

  • Бинарном (двуцветном, иногда неправильно называемом чёрно-белым)
  • Полутоновом
  • С индексированной палитрой
  • RGB
  • CMYK
  • YCbCr
  • CIE Lab

Поддерживаются режимы 8, 16, 32 и 64 бит на канал при целочисленном, а также 32 и 64 бит на канал при представлении значения пиксела числами с плавающей запятой.

Сжатие[править | править вики-текст]

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

При этом JPEG является просто инкапсуляцией формата JPEG в формат TIFF. Формат TIFF позволяет хранить изображения, сжатые по стандарту JPEG, без потерь данных (JPEG-LS).

Алгоритмы CCITT Group 3 и 4 предназначены для кодирования бинарных растровых изображений. Первоначально они были разработаны для сетей факсимильной связи (поэтому иногда их называют Fax 3, Fax 4). В настоящий момент они также используются в полиграфии, системах цифровой картографии и географических информационных системах. Алгоритм Group 3 напоминает RLE, так как кодирует линейные последовательности пикселов, а Group 4 — двумерные поля пикселов.

Теги[править | править вики-текст]

TIFF является теговым форматом и в нём имеются следующие виды тегов:

Основные теги[править | править вики-текст]

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

Код Hex Имя Описание
254 0x00FE NewSubfileType Тип данных, хранящихся в этом файле. Этот тег является заменой тегу SubfileType, и является очень полезным, когда в одном TIFF файле хранится несколько изображений.
255 0x00FF SubfileType Тип данных, хранящихся в этом файле (старый).
256 0x0100 ImageWidth Количество колонок в изображении.
257 0x0101 ImageLength Количество строк в изображении.
258 0x0102 BitsPerSample Количество бит в компоненте. Этот тег предполагает различное число битов в каждом компоненте (хотя в большинстве случаев оно одинаковое). Например, для RGB может быть 8 для всех компонентов — красного, зелёного и голубого, или 8,8,8 для каждого из компонентов.
259 0x0103 Compression Используемый вид компрессии.
262 0x0106 PhotometricInterpretation Используемая цветовая модель.
263 0x0107 Threshholding Вид преобразования серого в чёрное и белое для черно-белых изображений.
264 0x0108 CellWidth Количество колонок в матрице преобразования из серого в чёрное и белое.
265 0x0109 CellHeight Количество строк в матрице преобразования из серого в чёрное и белое.
266 0x010A FillOrder Логический порядок битов в байте.
270 0x010E ImageDescription Описание изображения.
271 0x010F Make Производитель изображения.
272 0x0110 Model Модель или серийный номер.
273 0x0111 StripOffsets Смещение для каждой полосы изображения в байтах.
274 0x0112 Orientation Ориентация изображения.
277 0x0115 SamplesPerPixel Количество компонентов на пиксель.
278 0x0116 RowsPerStrip Количество строк на полосу.
279 0x0117 StripByteCounts Количество байт на полосу после компрессии.
280 0x0118 MinSampleValue Минимальное значение, используемое компонентом.
281 0x0119 MaxSampleValue Максимальное значение, используемое компонентом.
282 0x011A XResolution Количество пикселей в ResolutionUnit строки.
283 0x011B YResolution Количество пикселей в ResolutionUnit столбца.
284 0x011C PlanarConfiguration Метод хранения компонентов каждого пикселя.
288 0x0120 FreeOffsets Смещение в байтах к строке неиспользуемых байтов.
289 0x0121 FreeByteCounts Количество байтов в строке неиспользуемых байтов.
290 0x0122 GrayResponseUnit Разрешение данных, хранящихся в GrayResponseCurve.
291 0x0123 GrayResponseCurve Величина плотности серого.
296 0x0128 ResolutionUnit Разрешение данных, хранящихся в XResolution, YResolution.
305 0x0131 Software Имя и версия программного продукта.
306 0x0132 DateTime Дата и время создания изображения.
315 0x013B HostComputer Компьютер и операционная система, использованные при создании изображения.
316 0x013C Artist Имя создателя изображения.
320 0x0140 ColorMap Цветовая таблица для изображений, использующих палитру цветов.
338 0x0152 ExtraSamples Описание дополнительных компонентов.
33432 0x8298 Copyright Имя владельца прав на хранимое изображение.

Расширенные теги[править | править вики-текст]

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

Специальные теги[править | править вики-текст]

Специальные теги изначально были определены фирмой Adobe. Они предназначены для хранения в TIFF специальных типов данных производителей программного обеспечения и должны быть зарегистрированы фирмой Adobe.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]