Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

ANIM - это формат файла , используемый для хранения цифровых фильмов и компьютерной анимации (отсюда и название ANIM), и является разновидностью формата ILBM , который является подформатом формата файла обмена .

Основные характеристики [ править ]

Anim FileTypes [ править ]

Известные типы файлов для Anim в AmigaOS : Anim1, Anim2, Anim3, Anim5 и Anim7. Anim1 to Anim3 не поддерживает звук. Anim 5 и Anim7 должны иметь возможность содержать аудиоданные, являясь полным форматом файла анимации фильма. [ необходима цитата ]

Дополнения к стандарту IFF [ править ]

В дополнение к обычным блокам ILBM тип файла ANIM также определяет:

  • ANHD ( Imation Н е Д э)
  • DLTA - хранит изменения между кадрами, при этом поддерживаются различные методы сжатия, позволяющие использовать избыточность между кадрами.

Режимы сжатия:

  • КОРПУС ANIM-0 ILBM (без дельта-сжатия)
  • ANIM-1 ILBM XOR
  • ANIM-2, режим Long Delta
  • ANIM-3 Режим короткого треугольника
  • ANIM-4 Общий дельта-режим
  • ANIM-5-байтовый вертикально-дельта-режим (наиболее распространенный)
  • ANIM-6 Stereo Byte Delta mode ( стереоскопические кадры)
  • Сжатие ANIM-7 Anim-5 с использованием данных LONG / WORD
  • Сжатие ANIM-8 Anim-5 с использованием данных LONG / WORD
  • Формат сжатия ANIM-J Эрика Грэхэма ( Sculpt 3D / Sculpt 4D)

Внутри файла может быть несколько режимов сжатия.

История [ править ]

Формат ANIM IFF был разработан в 1988 году компанией Sparta Inc. , расположенной в Калифорнии , первоначально для производства анимированных видеопоследовательностей на компьютере Amiga , и впервые был использован в программах Aegis Development Videoscape и Video Titler для Amiga. линейка компьютеров. Будучи очень эффективным и являясь официальным подмножеством существующего стандартного формата файлов Amiga ILBM / IFF, он стал де-факто стандартом для файлов анимации на Amiga.

Формат файла должен иметь следующие характеристики:

  • Уметь сохранять и воспроизводить последовательности кадров и минимизировать как пространство для хранения на диске (за счет сжатия), так и время воспроизведения (за счет эффективных алгоритмов декомпрессии).
  • Обеспечьте максимальную совместимость с существующими форматами IFF и возможность отображать начальный кадр как обычное неподвижное изображение IFF.

В формате ANIM введено несколько схем сжатия. Большинство из них представляют сугубо исторический интерес, поскольку в настоящее время используется только кодирование байтов с кодированием длины вертикальной серии, разработанное программистом Atari Джимом Кентом .

Формат Amiga Anim7 был создан в 1992 году программистом Вольфгангом Хофером .

Формат видеофайлов, первоначально созданный для Commodore CDTV , а затем адаптированный для Amiga CD32 , назывался CDXL и был похож на формат файла ANIM.

Технический обзор [ править ]

Минимальный файл Anim состоит из трех чередующихся растровых изображений ILBM. Первое растровое изображение - это полное изображение, необходимое для создания «следующего» кадра, в то время как два других - это «дельта-изображения», рассчитанные как отличия от первого.

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

Пока отображается первый кадр, последующие кадры загружаются в буфер графической памяти. Amiga переключается между экранами почти мгновенно, одновременно загружая следующие кадры с помощью блиттера. Используя возможности прямого доступа к памяти, графический чипсет мог обращаться к памяти, не прерывая работу процессора. Этот метод называется двойной буферизацией .

Чтобы лучше понять это, предположим, что у одного есть два экрана, называемые A и B, с возможностью мгновенного переключения дисплея с одного на другой. Исходный кадр загружается в экраны A и B. Отображается экран A. Различия между кадром 1 и кадром 2 вычисляются и изменяются на экране B, который затем отображается. Затем отличия от этого кадра и кадра 3 используются для изменения экрана A, который затем отображается, и так далее. Обратите внимание, что кадр 2 сохраняется как отличия от кадра 1, но все остальные кадры сохраняются как отличия от двух кадров назад.

ANIM - это ФОРМА IFF, и его чанковая структура выглядит следующим образом:

ФОРМА ЖИВОТНОГО* ФОРМА ILBM (первый кадр)** BMHD (данные IFF нормального типа)** ANHD (дополнительный фрагмент заголовка анимации для синхронизации 1-го кадра)** CMAP (цветовая карта)**ТЕЛО* ФОРМА ILBM (рама 2)** ANHD (фрагмент заголовка анимации)** DLTA (данные дельта-режима)* ФОРМА ILBM (рамка 3)** ANHD** DLTA(И так далее...)

Исходная FORM ILBM может содержать все обычные блоки ILBM, такие как CRNG и т. Д. BODY обычно будет стандартным блоком данных с кодировкой длины прогона (но также и любым другим допустимым режимом сжатия, указанным BMHD). При желании здесь может появиться блок ANHD, чтобы предоставить данные синхронизации для первого кадра. Если он здесь, поле операции должно быть = 0.

Последующие формы ILBM содержат ANHD вместо BMHD, который дублирует некоторые BMHD и имеет дополнительные параметры, относящиеся к кадру анимации. Блок DLTA содержит данные для режимов дельта-сжатия. Если используется более старый режим сжатия XOR, то здесь будет размещен фрагмент BODY. Кроме того, в каждый из них могут быть помещены другие фрагменты, если это будет сочтено необходимым (и поскольку код помещается в программы проигрывателя для их использования). Например, фрагменты CMAP для изменения цветовой палитры.

Основное предположение в ANIM состоит в том, что размер растрового изображения и режим отображения (например, HAM) не будут меняться во время анимации.

Блоки DLTA не являются представлениями перемежающихся битовых карт, поэтому использование формы ILBM для этих кадров неуместно. Однако это несоответствие не было замечено до тех пор, пока не был выпущен или близок к выпуску ряд коммерческих продуктов, которые генерировали / воспроизводили этот формат.

Методы сжатия, используемые в формате Anim [ править ]

Формат Anim поддерживает пять методов сжатия: режим XOR, режим длинной дельты, режим короткой дельты, общий дельта-режим и байтовое вертикальное сжатие.

Воспроизведение файлов ANIM [ править ]

Для воспроизведения ANIM обычно требуются два буфера, как упоминалось выше, и двойная буферизация между ними. Данные кадра из файла ANIM используются для преобразования скрытого кадра в следующий отображаемый кадр. При использовании режима XOR обычную процедуру декодирования длин серий можно легко изменить для выполнения требуемой операции «исключающее ИЛИ». Обратите внимание, что запуски нулевых байтов, которые будут очень распространены, можно игнорировать, поскольку исключительное или любое значение байта до байта нуля не изменит исходное значение байта. Общая процедура для всех методов сжатия состоит в том, чтобы сначала декодировать исходное изображение ILBM в скрытый буфер и сделать его двойным буфером для просмотра. Затем это изображение копируется в другой (теперь скрытый) буфер. На этом этапе каждый кадр отображается с одинаковой процедурой.Следующий кадр формируется в скрытом буфере путем применения данных DLTA (или данных XOR из блока BODY), и новый кадр дважды буферизуется для отображения. Этот процесс продолжается до конца файла.

Влияние ANIM на другие типы файлов анимации [ править ]

Стандарт Anim в Amiga повлиял на развитие формата Animated GIF . [ необходима цитата ]

Внешние ссылки [ править ]