GIF

Graphics Interchange Format
Rotating earth (large).gif
Вращающаяся Земля в формате GIF В местах с синим градиентом заметен эффект постеризации, возникающий из-за недостаточной глубины палитры
Расширение .gif
MIME-тип image/gif
Сигнатура GIF87a и GIF89a
Разработчик CompuServe[en]
Тип формата растровая графика

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


Произношение названия[ | ]

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

В русском языке файлы в формате GIF обычно называют «ги́фками».

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

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

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

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

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

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

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

Пример GIF фотографии.

Сжатие[ | ]

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 — 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.

См. также[ | ]

Примечания[ | ]

  1. 1 2 Формат «ГИФ» оказался форматом «ДЖИФ». Дата обращения 22 мая 2013.
  2. Oxford English Dictionary. Oxford University Press. Дата обращения 15 апреля 2007. Архивировано 22 августа 2011 года.
  3. American Heritage Dictionary. Houghton-Mifflin. Дата обращения 15 апреля 2007. Архивировано 22 августа 2011 года.
  4. True-Color GIF / Хабрахабр
  5. § 8. Простой секрет ГИФа
  6. Информация из статьи «Почему на страницах сайта GNU нет файлов GIF»

Ссылки[ | ]