GIF

Поделись знанием:
Перейти к: навигация, поиск
Graphics Interchange Format


Вращающаяся Земля в формате GIF. В местах с синим градиентом заметен эффект постеризации, возникающий из-за недостаточной глубины палитры.

Сигнатура

GIF87a и GIF89a

Разработчик

CompuServe

Тип формата

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

GIF или гифка ( множественное - гифки ) (англ. Graphics Interchange Format — «формат для обмена изображениями» ) — популярный формат графических изображений. Способен хранить сжатые данные без потери качества в формате не более 256 цветов. Не зависящий от аппаратного обеспечения формат GIF был разработан в 1987 году (GIF87a) фирмой CompuServe для передачи растровых изображений по сетям. В 1989-м формат был модифицирован (GIF89a), были добавлены поддержка прозрачности и анимации. GIF использует LZW-компрессию, что позволяет сжимать файлы, в которых много однородных заливок (логотипы, надписи, схемы). Долгое время GIF был одним из наиболее распространённых форматов в интернете.





Произношение названия

Создатели формата произносили его название как «джиф» /dʒɪf/[1]. Тем не менее, в англоязычном мире широко используется и произношение «гиф» /gɪf/, основанное на том, что GIF — сокращение от Graphics Interchange Format[1]. Оба варианта произношения указаны как правильные словарями Oxford English Dictionary[2] и American Heritage Dictionary[3].

Область применения

Изображение в формате GIF хранится построчно, поддерживается только формат с индексированной палитрой цветов. Стандарт разрабатывался только для поддержки 256-цветовой палитры.

Один из цветов в палитре может быть объявлен «прозрачным». В этом случае в программах, которые поддерживают прозрачность GIF (например, большинство современных браузеров) сквозь пиксели, окрашенные «прозрачным» цветом, будет виден фон. «Полупрозрачность» пикселей (технология альфа-канала) не поддерживается.

Анимированные изображения

Формат GIF поддерживает анимационные изображения. Они представляют собой последовательность из нескольких статичных кадров, а также информацию о том, сколько времени каждый кадр должен быть показан на экране. Анимацию можно сделать цикличной (англ. loop), тогда вслед за последним кадром начнётся воспроизведение первого кадра и т. д.

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

Недокументированной, но поддерживаемой возможностью является сохранение большего количества цветов с помощью анимированного GIF с нулевой задержкой между кадрами. При этом преодолевается ограничение в 256 цветов: каждый кадр содержит свою палитру[уточнить][4].

Сжатие

GIF использует формат сжатия LZW. Таким образом хорошо сжимаются изображения, строки которых имеют повторяющиеся участки. В особенности изображения, в которых много пикселей одного цвета по горизонтали[5].

Алгоритм сжатия LZW относится к форматам сжатия без потерь. Это означает, что восстановленные из GIF данные будут в точности соответствовать упакованным. Следует отметить, что это верно только для 8-битных изображений с палитрой, для цветной фотографии потери будут обусловлены переводом её к 256 цветам.

Метод сжатия LZW разработан в 1978 году израильтянами Абрахамом Лемпелем и Якобом Зивом, а позднее доработан в США Терри Велчем. LZW сжимает данные путём поиска одинаковых последовательностей (они называются «фразы») во всем файле. Выявленные последовательности сохраняются в таблице, им присваиваются более короткие маркеры (ключи).

Метод LZW, так же, как и RLE, лучше действует на участках однородных, свободных от шума цветов, он действует гораздо лучше, чем RLE, при сжатии произвольных графических данных, но процесс кодирования и распаковки происходит медленнее.

Чересстрочный GIF

Формат GIF допускает чересстрочное хранение данных. При этом строки разбиваются на группы, и меняется порядок хранения строк в файле. При загрузке изображение проявляется постепенно, в несколько проходов. Благодаря этому, имея только часть файла, можно увидеть изображение целиком, но с меньшим разрешением.

В чересстрочном GIF’е сначала записываются строки 1, 9, 17 и т. д. Таким образом, загрузив 1/8 данных, пользователь будет иметь представление о целом изображении. Вторым проходом следуют строки 5, 13, 21, разрешение изображения в браузере ещё вдвое увеличивается. Наконец, третий и четвёртый проход передают (3, 7, 11, 15, 19…) и (2, 4, 6, 8, …). Таким образом, задолго до окончания загрузки файла пользователь может понять, что́ внутри и решить, стоит ли ждать полной загрузки изображения. Чересстрочная запись незначительно увеличивает размер файла, но это, как правило, оправдывается приобретаемым свойством.

Маска, используемая в GIF:

1
4
3
4
2
4
3
4

История

Существует две спецификации формата GIF — GIF 87a и GIF 89a.

Первая спецификация была создана в 1987 году компанией CompuServe для замены устаревшего формата RLE. GIF стал популярен в ходе развития интернета, так как позволял использовать более компактные (по размеру файла) по сравнению с другими форматами картинки на веб-страницах. Хотя к настоящему времени формат во многом устарел и для его замены создан формат PNG, он по-прежнему широко используется. GIF-формат востребован при создании так называемых синемаграфов.

Патенты

GIF первоначально использовал проприетарные алгоритмы, однако срок действия патентов на них истёк. В США патент на алгоритм сжатия LZW, использующийся в GIF (патент № 4 558 302) истёк 20 июня 2003 года. Срок действия канадского патента завершился 7 июля 2004 года. Действие патента для Великобритании, Франции, Германии и Италии завершилось 18 июня 2004 года, а для Японии — 20 июня 2004 года.

Срок действия последнего патента на GIF истёк 11 августа 2006 года[6].

Альтернатива

Существует формат APNG, созданный в 2004 году, использующий 24-битные цвета и 8-битную полупрозрачность, работающий в браузере Mozilla Firefox начиная с 2007 года. Некоторые программы и расширения также поддерживают APNG.

См. также

Напишите отзыв о статье "GIF"

Примечания

  1. 1 2 [lenta.ru/news/2013/05/22/jif/ Формат «ГИФ» оказался форматом «ДЖИФ»]. Проверено 22 мая 2013.
  2. [dictionary.oed.com/cgi/entry/50292950?query_type=word&queryword=gif&first=1&max_to_show=10&sort_type=alpha&result_place=1&search_id=kUF6-h25mk9-6375&hilite=50292950 Oxford English Dictionary]. Oxford University Press. Проверено 15 апреля 2007. [www.webcitation.org/6183G2wjj Архивировано из первоисточника 22 августа 2011].
  3. [dictionary.reference.com/browse/GIF American Heritage Dictionary]. Houghton-Mifflin. Проверено 15 апреля 2007. [www.webcitation.org/6183GcRnM Архивировано из первоисточника 22 августа 2011].
  4. [habrahabr.ru/post/149728/ True-Color GIF / Хабрахабр]
  5. [www.artlebedev.ru/kovodstvo/sections/8/ § 8. Простой секрет ГИФа]
  6. [www.gnu.org/philosophy/gif.html#venuenote Информация из статьи «Почему на страницах сайта GNU нет файлов GIF»]

Ссылки

  • [www.dcs.ed.ac.uk/home/mxr/gfx/2d-hi.html The Graphics File Format Page] (англ.)
  • [livegif.ru/articles/6_1.html Описание формата GIF (на русском)]

Отрывок, характеризующий GIF

«Обожаемый друг души моей, – писал он. – Ничто, кроме чести, не могло бы удержать меня от возвращения в деревню. Но теперь, перед открытием кампании, я бы счел себя бесчестным не только перед всеми товарищами, но и перед самим собою, ежели бы я предпочел свое счастие своему долгу и любви к отечеству. Но это последняя разлука. Верь, что тотчас после войны, ежели я буду жив и все любим тобою, я брошу все и прилечу к тебе, чтобы прижать тебя уже навсегда к моей пламенной груди».
Действительно, только открытие кампании задержало Ростова и помешало ему приехать – как он обещал – и жениться на Соне. Отрадненская осень с охотой и зима со святками и с любовью Сони открыли ему перспективу тихих дворянских радостей и спокойствия, которых он не знал прежде и которые теперь манили его к себе. «Славная жена, дети, добрая стая гончих, лихие десять – двенадцать свор борзых, хозяйство, соседи, служба по выборам! – думал он. Но теперь была кампания, и надо было оставаться в полку. А так как это надо было, то Николай Ростов, по своему характеру, был доволен и той жизнью, которую он вел в полку, и сумел сделать себе эту жизнь приятною.
Приехав из отпуска, радостно встреченный товарищами, Николай был посылал за ремонтом и из Малороссии привел отличных лошадей, которые радовали его и заслужили ему похвалы от начальства. В отсутствие его он был произведен в ротмистры, и когда полк был поставлен на военное положение с увеличенным комплектом, он опять получил свой прежний эскадрон.
Началась кампания, полк был двинут в Польшу, выдавалось двойное жалованье, прибыли новые офицеры, новые люди, лошади; и, главное, распространилось то возбужденно веселое настроение, которое сопутствует началу войны; и Ростов, сознавая свое выгодное положение в полку, весь предался удовольствиям и интересам военной службы, хотя и знал, что рано или поздно придется их покинуть.
Войска отступали от Вильны по разным сложным государственным, политическим и тактическим причинам. Каждый шаг отступления сопровождался сложной игрой интересов, умозаключений и страстей в главном штабе. Для гусар же Павлоградского полка весь этот отступательный поход, в лучшую пору лета, с достаточным продовольствием, был самым простым и веселым делом. Унывать, беспокоиться и интриговать могли в главной квартире, а в глубокой армии и не спрашивали себя, куда, зачем идут. Если жалели, что отступают, то только потому, что надо было выходить из обжитой квартиры, от хорошенькой панны. Ежели и приходило кому нибудь в голову, что дела плохи, то, как следует хорошему военному человеку, тот, кому это приходило в голову, старался быть весел и не думать об общем ходе дел, а думать о своем ближайшем деле. Сначала весело стояли подле Вильны, заводя знакомства с польскими помещиками и ожидая и отбывая смотры государя и других высших командиров. Потом пришел приказ отступить к Свенцянам и истреблять провиант, который нельзя было увезти. Свенцяны памятны были гусарам только потому, что это был пьяный лагерь, как прозвала вся армия стоянку у Свенцян, и потому, что в Свенцянах много было жалоб на войска за то, что они, воспользовавшись приказанием отбирать провиант, в числе провианта забирали и лошадей, и экипажи, и ковры у польских панов. Ростов помнил Свенцяны потому, что он в первый день вступления в это местечко сменил вахмистра и не мог справиться с перепившимися всеми людьми эскадрона, которые без его ведома увезли пять бочек старого пива. От Свенцян отступали дальше и дальше до Дриссы, и опять отступили от Дриссы, уже приближаясь к русским границам.
13 го июля павлоградцам в первый раз пришлось быть в серьезном деле.
12 го июля в ночь, накануне дела, была сильная буря с дождем и грозой. Лето 1812 года вообще было замечательно бурями.
Павлоградские два эскадрона стояли биваками, среди выбитого дотла скотом и лошадьми, уже выколосившегося ржаного поля. Дождь лил ливмя, и Ростов с покровительствуемым им молодым офицером Ильиным сидел под огороженным на скорую руку шалашиком. Офицер их полка, с длинными усами, продолжавшимися от щек, ездивший в штаб и застигнутый дождем, зашел к Ростову.
– Я, граф, из штаба. Слышали подвиг Раевского? – И офицер рассказал подробности Салтановского сражения, слышанные им в штабе.
Ростов, пожимаясь шеей, за которую затекала вода, курил трубку и слушал невнимательно, изредка поглядывая на молодого офицера Ильина, который жался около него. Офицер этот, шестнадцатилетний мальчик, недавно поступивший в полк, был теперь в отношении к Николаю тем, чем был Николай в отношении к Денисову семь лет тому назад. Ильин старался во всем подражать Ростову и, как женщина, был влюблен в него.
Офицер с двойными усами, Здржинский, рассказывал напыщенно о том, как Салтановская плотина была Фермопилами русских, как на этой плотине был совершен генералом Раевским поступок, достойный древности. Здржинский рассказывал поступок Раевского, который вывел на плотину своих двух сыновей под страшный огонь и с ними рядом пошел в атаку. Ростов слушал рассказ и не только ничего не говорил в подтверждение восторга Здржинского, но, напротив, имел вид человека, который стыдился того, что ему рассказывают, хотя и не намерен возражать. Ростов после Аустерлицкой и 1807 года кампаний знал по своему собственному опыту, что, рассказывая военные происшествия, всегда врут, как и сам он врал, рассказывая; во вторых, он имел настолько опытности, что знал, как все происходит на войне совсем не так, как мы можем воображать и рассказывать. И потому ему не нравился рассказ Здржинского, не нравился и сам Здржинский, который, с своими усами от щек, по своей привычке низко нагибался над лицом того, кому он рассказывал, и теснил его в тесном шалаше. Ростов молча смотрел на него. «Во первых, на плотине, которую атаковали, должна была быть, верно, такая путаница и теснота, что ежели Раевский и вывел своих сыновей, то это ни на кого не могло подействовать, кроме как человек на десять, которые были около самого его, – думал Ростов, – остальные и не могли видеть, как и с кем шел Раевский по плотине. Но и те, которые видели это, не могли очень воодушевиться, потому что что им было за дело до нежных родительских чувств Раевского, когда тут дело шло о собственной шкуре? Потом оттого, что возьмут или не возьмут Салтановскую плотину, не зависела судьба отечества, как нам описывают это про Фермопилы. И стало быть, зачем же было приносить такую жертву? И потом, зачем тут, на войне, мешать своих детей? Я бы не только Петю брата не повел бы, даже и Ильина, даже этого чужого мне, но доброго мальчика, постарался бы поставить куда нибудь под защиту», – продолжал думать Ростов, слушая Здржинского. Но он не сказал своих мыслей: он и на это уже имел опыт. Он знал, что этот рассказ содействовал к прославлению нашего оружия, и потому надо было делать вид, что не сомневаешься в нем. Так он и делал.