TIFF

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

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

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

Файлы формата 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. 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. 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. TIFF Revision 6.0 (недоступная ссылка). Adobe Systems (3 июня 1992). Дата обращения: 31 мая 2012. Архивировано 25 июня 2012 года.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.