Перейти к содержанию

TIFF

Материал из Википедии — свободной энциклопедии
Tagged Image File Format
Изображение логотипа
Расширение .tif[1][2] или .tiff
MIME-тип image/tiff[1][2]
Разработчик Aldus, сейчас Adobe Systems
Опубликован 1986
Тип формата растровая графика
Развит в EXIF, DCF, TIFF/EP, TIFF/IT, TIFF-FX, GeoTIFF
Сайт adobe.io/open/sta… (англ.)
Логотип Викисклада Медиафайлы на Викискладе

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

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

Файлы формата 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, без потерь данных (Lossless JPEG), но сжатие JPEG-LS в спецификации «TIFF Revision 6.0» не поддерживается.

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

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

Основные метки

[править | править код]

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

КодHexИмяОписание
2540x00FENewSubfileTypeТип данных, хранящихся в этом файле. Эта метка является заменой метке SubfileType, и является очень полезной, когда в одном TIFF файле хранится несколько изображений.
2550x00FFSubfileTypeТип данных, хранящихся в этом файле (старый).
2560x0100ImageWidthКоличество столбцов в изображении.
2570x0101ImageLengthКоличество строк в изображении.
2580x0102BitsPerSampleКоличество бит в компоненте. Эта метка предполагает различное число битов в каждом компоненте (хотя в большинстве случаев оно одинаковое). Например, для RGB может быть 8 для всех компонентов — красного, зелёного и голубого, или 8,8,8 для каждого из компонентов.
2590x0103CompressionИспользуемый вид сжатия.
2620x0106PhotometricInterpretationИспользуемая цветовая модель.
2630x0107ThreshholdingВид преобразования серого в чёрное и белое для черно-белых изображений.
2640x0108CellWidthКоличество колонок в матрице преобразования из серого в чёрное и белое.
2650x0109CellHeightКоличество строк в матрице преобразования из серого в чёрное и белое.
2660x010AFillOrderЛогический порядок битов в байте.
2700x010EImageDescriptionОписание изображения.
2710x010FMakeПроизводитель изображения.
2720x0110ModelМодель или серийный номер.
2730x0111StripOffsetsСмещение для каждой полосы изображения в байтах.
2740x0112OrientationОриентация изображения.
2770x0115SamplesPerPixelКоличество компонентов на пиксель.
2780x0116RowsPerStripКоличество строк на полосу.
2790x0117StripByteCountsКоличество байт на полосу после компрессии.
2800x0118MinSampleValueМинимальное значение, используемое компонентом.
2810x0119MaxSampleValueМаксимальное значение, используемое компонентом.
2820x011AXResolutionКоличество пикселей в ResolutionUnit строки.
2830x011BYResolutionКоличество пикселей в ResolutionUnit столбца.
2840x011CPlanarConfigurationМетод хранения компонентов каждого пикселя.
2880x0120FreeOffsetsСмещение в байтах к строке неиспользуемых байтов.
2890x0121FreeByteCountsКоличество байтов в строке неиспользуемых байтов.
2900x0122GrayResponseUnitРазрешение данных, хранящихся в GrayResponseCurve.
2910x0123GrayResponseCurveВеличина плотности серого.
2960x0128ResolutionUnitРазрешение данных, хранящихся в XResolution, YResolution.
3050x0131SoftwareИмя и версия программного продукта.
3060x0132DateTimeДата и время создания изображения.
3150x013BHostComputerКомпьютер и операционная система, использованные при создании изображения.
3160x013CArtistИмя создателя изображения.
3200x0140ColorMapЦветовая таблица для изображений, использующих палитру цветов.
3380x0152ExtraSamplesОписание дополнительных компонентов.
334320x8298CopyrightИмя владельца прав на хранимое изображение.

Расширенные метки

[править | править код]

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

Специальные метки

[править | править код]

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

Примечания

[править | править код]
  1. 1 2 Parsons G., Rafferty J., Zilles S. Tag Image File Format (TIFF) - image/tiff, Tag Image File Format (TIFF) - image/tiff MIME Sub-type Registration (англ.): MIME Sub-type RegistrationIETF, 1998. — 8 p. — doi:10.17487/RFC2302
  2. 1 2 Parsons G., Rafferty J. Tag Image File Format (TIFF) - image/tiff, Tag Image File Format (TIFF) - image/tiff MIME Sub-type Registration (англ.): MIME Sub-type RegistrationIETF, 2002. — 8 p. — doi:10.17487/RFC3302
  3. Mr TIFF (англ.). Inventing The Future (27 октября 2025). Дата обращения: 5 ноября 2025.
  4. 1 2 TIFF Revision 6.0. Adobe Systems (3 июня 1992). Дата обращения: 31 мая 2012. Архивировано из оригинала 25 июня 2012 года.