Анимационные GIF-файлы
Известно, что

Искусственный мир компьютерной анимации лежит где-то посередине между миром неподвижных изображений, форматы которых были рассмотрены в § 3.3, и реальным миром видеоизображений. Обычные мультипликационные фильмы состоят из множества рисованных изображений-кадров, в которых последовательно изменяются позиции объекта анимации. В результате при отображении с достаточной скоростью такой последовательности изображений у зрителя возникает впечатление движения объектов.
Возможности GIF-анимации связаны с тем, что этот формат позволяет хранить в одном файле несколько различных изображений. Единственный существенный недостаток GIF-файлов связан с применением индексированных цветов, для чего в файле используется глобальная и локальные цветовые палитры. Глобальная цветовая палитра хранит до 256 различных цветовых оттенков, каждый из которых может быть использован в любом из изображений, которое хранится в данном файле. Локальные палитры относятся к каждому отдельному изображению, т. е. хранимые в них цветовые оттенки не могут использоваться в других (не своих) изображениях.
Каждое такое изображение формирует отдельный кадр, причем задержка следующего кадра и его линейное смещением относительно предыдущего по каждой координате может регулироваться. Разрешение для всех изображений, входящих в данный файл, или количество пикселов по каждой координате должно в каждом файле поддерживаться постоянным.
Структура файлового формата GIF представлена на рис. 3.5

Там же задается размер глобальной цветовой таблицы, которая может и отсутствовать. В этом случае обязательно используется для каждого отдельного изображения локальная палитра. В большинстве случаев рекомендуется пользоваться именно глобальной палитрой, что экономит общее информационное пространство, занимаемое файлом.
После указанных трех элементов следуют наборы данных, характеризующие каждое из входящих в файл изображений. Каждое изображение в отдельности описывается локальным дескриптором и локальной цветовой палитрой, после которых следуют данные изображения. Последние обычно состоят из последовательностей пакетов данных, называемых блоками, причем в состав отдельных блоков могут входить и подблоки.
Малый размер GIF-файлов связан с использованием поблочного LZW-сжатия изображения, причем большинство сжимаемых блоков имеют размер 255 байтов. Каждый пиксел декодированного изображения характеризуется размером в 1 байт и содержитзначение индекса цвета, т. е. положение нужного цветового тона в глобальной или локальной цветовой палитре.
Имеется две разновидности формата GIF-файлов: первоначальная версия, названная GIF 87a, и выпущенная двумя годами позднее вторая версия, названная GIF 89а. Вторая версия добавила несколько новых возможностей, в том числе хранение текстовых и графических данных в одном файле. Для этого в описание файла добавлен специальный блок «Управляющие расширения», который размещен сразу после трех общих для всего файла элементов и предшествует описанию отдельных изображений в составе файла. На рис. 3.6

3.5.2.