3.5. Форматы представления анимации и цифрового видео
3.5.1. Анимационные GIF-файлы
Известно, что анимационные файлы в формате GIF занимают почетное место на Web-страницах. Надо сказать, что в электронных изданиях любого типа анимационные файлы также используются достаточно широко. Это объясняется тем обстоятельством, что GIF-файлы непосредственно воспроизводятся большинством браузеров, причем объем памяти, занимаемый этими файлами, сравнительно невелик. Для учебных электронных изданий анимационные файлы обеспечивают уникальную возможность демонстрации последовательности действий, протекания физических, электрических, технологических и других процессов в простой и наглядной форме. Следует особо отметить, что затрата вычислительных ресурсов на такие демонстрации – минимальна.
Искусственный мир компьютерной анимации лежит где-то посредине между миром неподвижных изображений, форматы которых были рассмотрены в разд. 3.3, и реальным миром видеоизображений. Обычные мультипликационные фильмы состоят из множества рисованных изображений-кадров, в которых последовательно изменяются позиции объекта анимации. В результате, при отображении с достаточной скоростью такой последовательности изображений у зрителя возникает впечатление движения объектов.
Возможности GIF-анимации связаны с тем, что этот формат позволяет хранить в одном файле несколько различных изображений. Единственный существенный недостаток GIF-файлов связан с применением индексированных цветов, для чего в файле используется глобальная и локальные цветовые палитры. Глобальная цветовая палитра хранит до 256 различных цветовых оттенков, каждый из которых может быть использован в любом из изображений, которое хранится в данном файле. Локальные палитры относятся к каждому отдельному изображению, т. е. хранимые в них цветовые оттенки не могут использоваться в других (не своих) изображениях. Каждое такое изображение формирует отдельный кадр, причем задержка следующего кадра и его линейное смещение относительно предыдущего по каждой координате может регулироваться. Разрешение для всех изображений, входящих в данный файл, или количество пикселов по каждой координате должно в таком файле поддерживаться постоянным.
Рис. 3.8. Структура анимационного файла формата GIF 87a
Структура файлового формата GIF 87а представлена на рис. 3.8. Файл начинается с общего заголовка и дескриптора логического экрана, причем в последнем хранится ширина и высота каждого изображения в пикселах, индекс цвета фона и значение коэффициента сжатия. Там же задается размер глобальной цветовой таблицы, которая может и отсутствовать. В этом случае обязательно используется для каждого отдельного изображения локальная палитра. В большинстве случаев рекомендуется пользоваться именно глобальной палитрой, что экономит общее информационное пространство, занимаемое файлом.
После указанных трех элементов следуют наборы данных, характеризующие каждое из входящих в файл изображений. Каждое изображение в отдельности описывается локальным дескриптором и локальной цветовой палитрой, после которых следуют данные изображения. Данные обычно состоят из последовательностей пакетов данных, называемых блоками, причем в состав отдельных блоков могут входить и подблоки.Малый размер GIF-файлов связан с использованием поблочного LZWсжатия изображения, причем большинство сжимаемых блоков имеют размер 255 байтов. Каждый пиксел декодированного изображения характеризуется размером в 1 байт и содержит значение индекса цвета, т. е. положение нужного цветового тона в глобальной или локальной цветовой палитре.