TIFF - мультиплатформенный контейнер

События, с которых мы начнем наше повествование, начались в середине 70-х прошлого столетия в компании Evans & Sutherland Computer Corporation. Ее сотрудник Джон Гэфни (John Gaffney) решал тогда весьма нетривиальную задачу, а именно - создание интерпретатора для большой базы трехмерных графических данных для Нью-Йоркского порта. В принципе, поступил разработчик согласно времени, поскольку тогда не было каких-либо готовых универсальных решений, и все нужно было делать практически с нуля. Так и появился отдельный язык программирования the Design System. В его разработке принял участие и другой сотрудник компании - Джон Уорнок (John Warnock) - уникальный человек, начавший свой трудовой путь еще в 1963 в IBM, в 1969-м получивший докторскую степень, а после поменявший несколько мест работы. Не задержался он и в Evans & Sutherland, перейдя в 1978-м в Xerox PARC (центр Xerox в Пало-Альто). Там собралось множество ученых, но совместно с Мартином Невеллом (Martin Newell) Уорнок начал писать новый язык подобный the Design System, и назван он был весьма просто - JaM, то есть John и Martin. В принципе, одна из основных задач, которая тогда решалась - это исследование и создание протоколов печати, вывода на экран и так далее. То есть, все, что сегодня кажется обыденным, в то время только зарождалось.

Между тем, Уорнок долго не продержался и в Xerox. Проработав там четыре года, он, объединившись вместе с партнером Чаком Гешке (Chuck Geschke), уговорил Hambrecht & Quist финансировать их суммой в 2.1 млн. долл. на двухлетний период и основал корпорацию Adobe.

Изначально партнеры хотели создать собственную рабочую станцию печати и даже дали ей название - PostScript. Но потом подумали, что такой вариант не является оптимальным, и перенаправили свои усилия на другое - разработку обеспечения для принтеров от сторонних производителей. В 1984-м появился язык описания страниц PostScript (Level 1), идейно подобный JaM и the Design System и даже очень похожий на них. Причем он подразумевал ряд отличий от других предлагаемых тогда на рынке решений, что выражалось в платформонезависимости, удобстве лицензирования и использования, общедоступности спецификаций. В разработке первого PostScript также приняли активное участие Дуг Бротц (Doug Brotz), Билли Пэкстон (Billi Paxton) и Эд Трафт (Ed Taft).

Но заявить о появлении нового стандарта - это одно, а заработать на этом деньги - совершенно другое. На карьеру Adobe большое влияние оказала фирма Apple. Стив Джобс, видя, что продажи его компьютеров начали падать, а конкуренция в то время начала нарастать, решил, что ему нужно нечто такое, что могли бы делать только Mac'и. В результате он вложил 2,5 млн. долларов в программно-аппаратную поддержку принтеров Apple LaserWriter (этим занималась Adobe) и программу допечатной подготовки (этим занималась Aldus, а сама их программа называлась PageMaker). После этого в мире полиграфии произошла технологическая революция, причем на такой ход событий обратило внимание множество других компаний, и PostScript стал общепринятым стандартом и неотъемлемой частью множества систем. Дальнейшая история нам известна, только стоит упомянуть, что через некоторое время Aldus объединилась с Adobe. Сделка для последних обошлась не так дешево, и дело даже не в PageMaker, которая была у Aldus. Ведь был и другой жирный кусок пирога...

Aldus совместно с Microsoft разработала специальный стандарт графических файлов для работы с PostScript. Назван он был TIFF (Tagged Image File Format)...

 


TIFF

Поскольку была произнесена фраза "для работы с PostScript", то из нее сразу же вытекает следующее:

  • Качество, требуемое в полиграфическом производстве
  • Мультиплатформенность

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

Судите сами. Возьмем, например, палитры, вернее, цветовые пространства. Что нам предлагает большинство графических форматов? Правильно, конкретно заданные стандарты, а в TIFF вы можете хранить изображения в следующих вариантах:

  • Черно-белый двухбитный
  • Черно-белый в градациях серого
  • С индексированой палитрой
  • RGB
  • CMYK
  • YCbCr
  • CIE Lab

Изображения могут быть в режимах 8, 16, 32 и 64 бит на канал при целочисленном, а также 32 и 64 бит на канал при представлении цвета числом с плавающей запятой. Опционально поддерживается альфа-канал (канал прозрачности). Мало того, TIFF может хранить в себе несколько копий изображения с различным разрешением. Плюс к этому осуществлена поддержка многослойных картинок. Вообще, TIFF может сохранять векторы Photoshop'a, Alpha-каналы для создания масок в видеоклипах Adobe Premiere и массу других дополнительных данных, но об этом чуть позже.

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

  • PackBits
  • Lempel-Ziv-Welch (LZW) (!)
  • ZIP
  • H.264 (Apple)
  • JBIG
  • Deflate
  • JPEG (по существу, инкапсуляция JPEG в TIFF)
  • CCITT Fax 3 & 4

Насчет LZW "отдельная песня", о чем мы говорили и в материале по формату PNG. Ситуация с зажатием по патентам заставила многих разработчиков отказаться от использования этого стандарта компрессии, поэтому некоторые программы TIFF с LZW не читают. В версии формата TIFF номер 6.0 во избежание тех же проблем с лицензированием LZW вообще был исключен из списка.

И хоть сейчас патенты на LZW прекратили свое действие, данный алгоритм компрессии приобрел "дурную славу", и, думается, вскоре мы о нем будем лишь вспоминать, а не использовать.

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

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


В завершение

Честно сказать, после многодневного чтения различных материалов и т.п. Джон Уорнок произвел на меня впечатление больше хорошего предпринимателя, нежели ученого. Ведь и PostScript стартовал не с его идей (Adobe лицензировал идеи the Design System у Evans & Sutherland), и дальнейшие сделки Adobe показывают, что они хорошо трансформировали перспективные идеи в деньги. Ведь на самом деле Photoshop придуман не в Adobe, PageMaker - не в Adobe, Flash - не в Adobe и так далее.

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

Кристофер,
christopher@tut.by

Версия для печатиВерсия для печати

Номер: 

35 за 2007 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!