ANIM

редактировать

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

Содержание
  • 1 Основные функции
    • 1.1 Типы файлов анимации
    • 1.2 Дополнения к стандарту IFF
  • 2 История
  • 3 Технический обзор
    • 3.1 Методы сжатия, используемые в формате Anim
    • 3.2 Воспроизведение файлов ANIM
  • 4 Влияние ANIM на другие типы файлов анимации
  • 5 Внешние ссылки
Основные характеристики

Типы файлов Anim

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

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

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

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

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

  • ANIM-0 ILBM BODY (без дельта-сжатия)
  • ANIM-1 ILBM XOR
  • ANIM-2 Long Delta mode
  • ANIM-3 Short Delta mode
  • ANIM-4 Общий дельта-режим
  • ANIM-5-байтовый вертикальный дельта-режим (наиболее распространенный)
  • Стереобайтный дельта-режим ANIM-6 (стереоскопические кадры)
  • Сжатие ANIM-7 Anim-5 с использованием данных LONG / WORD
  • Сжатие ANIM-8 Anim-5 с использованием данных LONG / WORD
  • ANIM-J Формат сжатия Эрика Грэхэма ( Скульптура 3D / Скульптура 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, и его структура фрагментов выглядит следующим образом:

FORM ANIM * FORM ILBM (первый кадр) ** BMHD (данные IFF нормального типа) ** ANHD (необязательный фрагмент заголовка анимации для синхронизации 1-го кадра) ** CMAP (цветовая карта) ** BODY * FORM ILBM (кадр 2) ** ANHD (фрагмент заголовка анимации) ** DLTA (данные дельта-режима) * FORM 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 на другие типы файлов анимации

Стандарт анимации Amiga повлиял на разработку формата Animated GIF.

Внешние ссылки
  • Amiga портал
Последняя правка сделана 2021-06-07 21:54:01
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте