ANIM
Encyclopedia
ANIM is a file format
File format
A file format is a particular way that information is encoded for storage in a computer file.Since a disk drive, or indeed any computer storage, can store only bits, the computer must have some way of converting information to 0s and 1s and vice-versa. There are different kinds of formats for...

, used to store digital movies and computer generated animations (hence the ANIM name), and is a variation of the ILBM
ILBM
ILBM is a subtype of the Interchange File Format used for storing picture data. ILBM stands for InterLeaved BitMap which refers to the way the pictures are stored. The image data is stored as a varying number of bitplanes, each storing one bit of data for each pixel in the image...

 format, which is a subformat of Interchange File Format
Interchange File Format
Interchange File Format , is a generic container file format originally introduced by the Electronic Arts company in 1985 in order to ease transfer of data between software produced by different companies....

.

Anim FileTypes

Known filetypes for Anim into AmigaOS
AmigaOS
AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000...

 are: Anim1, Anim2, Anim3, Anim5 and Anim7. Anim1 to Anim3 did not support audio. Anim 5 and Anim7 should be able to contain Audio Data and being a complete movie animation file format. [Unconfirmed]

Additions to IFF Standard

In addition to the normal ILBM chunks, ANIM filetype also defines:
  • ANHD (ANimation HeaDer)
  • DLTA - stores changes between frames, with various compression methods supported to make use of the redundancy between frames.


Compression modes:
  • ANIM-0 ILBM BODY (no delta compression)
  • ANIM-1 ILBM XOR
  • ANIM-2 Long Delta mode
  • ANIM-3 Short Delta mode
  • ANIM-4 General Delta mode
  • ANIM-5 Byte Vertical Delta mode (most common)
  • ANIM-6 Stereo Byte Delta mode (stereoscopic frames)
  • ANIM-7 Anim-5 compression using LONG/WORD data
  • ANIM-8 Anim-5 compression using LONG/WORD data
  • ANIM-J Eric Grahams compression format (Sculpt 3D
    Sculpt 3D
    Sculpt 3D is a raytrace application released in October 1987 for Amiga computers programmed by Eric Graham. Sculpt 3D was the first ray tracing application released for the Amiga computers. It proved that raytracing could be done on home computers as well as on mainframes...

     / Sculpt 4D)


It is possible to have several compression modes inside a file.

History

The ANIM IFF format was developed in 1988 at Sparta Inc.
SPARTA Inc.
Cobham Analytic Solutions is a United States defense contractor based in Lake Forest, California. It was started in 1979 and has more than 20 offices around the United States. The acronym, SPARTA, stood for "Systems Planning Analysis Research and Technology Associates."Prior to its acquisition...

, a firm based in California
California
California is a state located on the West Coast of the United States. It is by far the most populous U.S. state, and the third-largest by land area...

, originally for the production of animated video sequences on the Amiga
Amiga
The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...

 computer, and was used for the first time in AEGIS
Aegis
An aegis is a large collar or cape worn in ancient times to display the protection provided by a high religious authority or the holder of a protective shield signifying the same, such as a bag-like garment that contained a shield. Sometimes the garment and the shield are merged, with a small...

 Aegis Animator animation and cartoon program for the Amiga line of computers. As being very efficient and also being an official subset of existing Amiga ILBM/IFF standard file format, it became the de-facto standard for any animation file on Amiga.

The file format must had these characteristics:
  • Be able to store, and play back, sequences of frames and to minimize both the storage space on disk (through compression) and playback time (through efficient de-compression algorithms).

  • Maintain maximum compatibility with existing IFF formats and to be able to display the initial frame as a normal still IFF picture.


Several compression schemes have been introduced in the ANIM format. Most of these are strictly of historical interest as the only one currently used is the vertical run length encoded
Run-length encoding
Run-length encoding is a very simple form of data compression in which runs of data are stored as a single data value and count, rather than as the original run...

 byte encoding developed by Atari
Atari
Atari is a corporate and brand name owned by several entities since its inception in 1972. It is currently owned by Atari Interactive, a wholly owned subsidiary of the French publisher Atari, SA . The original Atari, Inc. was founded in 1972 by Nolan Bushnell and Ted Dabney. It was a pioneer in...

 software programmer Jim Kent
Jim Kent
William James Kent is an American research scientist and computer programmer. He has been a contributor to genome database projects and the 2003 winner of the Benjamin Franklin Award .- Early life :...

.

Amiga Anim7 format was created in 1992 by programmer Wolfgang Hofer.

The fileformat used by CDTV
CDTV
The CDTV was a multimedia platform developed by Commodore International and launched in 1991. On a technological level it was essentially a Commodore Amiga 500 home computer in a Hi-Fi style case with a single-speed CD-ROM drive. Commodore marketed the machine as an all-in-one home multimedia...

 and Amiga CD32
Amiga CD32
The Amiga CD32, styled "CD32" , was the first 32-bit CD-ROM based video game console released in western Europe, Australia, Canada and Brazil. It was first announced at the Science Museum in London, United Kingdom on 16 July 1993, and was released in September of the same year...

, was called CDXL
CDXL
CDXL is an obsolete motion video file format developed by Commodore in the late 1980s and early 1990s for the Amiga computer platform. It is notable for being one of the earliest formats created for motion video playback from CD-ROM .-Background:...

 and were nothing than ANIM files with another name. CD32 supported mainly Anim7.

Technical Overview

Minimum Anim file consists of three ILBM interleaved bitmap images. The first bitmap is necessary for the creation of the "next" frame and the two more for the "history" in order to create the "delta" images calculated as differences from the first one.

The initial frame is a normal run-length-encoded, IFF picture, and this allows to have an initial preview of the contents of the file. Subsequent frames are then described by listing only their differences from a previous frame.

While the actual frame is shown on, the subsequent frame is loaded into a swap buffer page of graphic memory and Amiga switch between the screens istantanely while loading the subsequent frames thanks to its bit-blitter circuit capabilities and the DMA feature of its graphic chipset that could access memory without asking request of the CPU. This technique is called double buffering
Double buffering
In computer science, multiple buffering is the use of more than one buffer to hold a block of data, so that a "reader" will see a complete version of the data, rather than a partially-updated version of the data being created by a "writer"...

.

To better understand this, suppose one has two screens, called A and B, and the ability to instantly switch the display from one to the other. The normal playback mode is to load the initial frame into A and duplicate it into B. Then frame A is displayed on the screen. Then the differences for frame 2 are used to alter screen B and it is displayed. Then the differences for frame 3 are used to alter screen A and it is displayed, and so on. Note that frame 2 is stored as differences from frame 1, but all other frames are stored as differences from two frames back.

ANIM is an IFF FORM and its chunk structure is as follows:


FORM ANIM
  • FORM ILBM (first frame)
    • BMHD (normal type IFF data)
    • ANHD (optional animation header chunk for timing of 1st frame)
    • CMAP (Colormap)
    • BODY

  • FORM ILBM (frame 2)
    • ANHD (animation header chunk)
    • DLTA (delta mode data)

  • FORM ILBM (frame 3)
    • ANHD
    • DLTA


(And so on...)



The initial FORM ILBM can contain all the normal ILBM chunks, such as CRNG, etc. The BODY will normally be a standard run-length-encoded data chunk (but also any other legal compression mode as indicated by the BMHD). If desired, an ANHD chunk can appear here to provide timing data for the first frame. If it is here, the operation field should be =0.

The subsequent FORMs ILBM contain an ANHD, instead of a BMHD, which duplicates some of BMHD and has additional parameters pertaining to the animation frame. The DLTA chunk contains the data for the delta compression modes. If the older XOR compression mode is used, then a BODY chunk will be placed here. In addition, other chunks may be placed in each of these as deemed necessary (and as code is placed in player programs to utilize them). For example the CMAP chunks to alter the color palette.

A basic assumption in ANIMs is that the size of the bitmap, and the display mode (e.g. HAM) will not change through the animation.

The DLTA chunks are not interleaved bitmap representations, thus the use of the ILBM form is inappropriate for these frames. However, this inconsistency was not noted until there were a number of commercial products either released or close to release which generated/played this format.

Compression methods used in Anim format

Anim format allow five methods of compression: XOR mode, Long Delta mode, Short Delta mode, General Delta mode and Byte Vertical Compression.

Playing ANIM files

Playback of ANIMs will usually require two buffers, as mentioned above, and double-buffering between them. The frame data from the ANIM file is used to modify the hidden frame to the next frame to be shown. When using the XOR mode, the usual run-length-decoding routine can be easily modified to do the exclusive-or operation required. Note that runs of zero bytes, which will be very common, can be ignored, as an exclusive or of any byte value to a byte of zero will not alter the original byte value. The general procedure, for all compression techniques, is to first decode the initial ILBM picture into the hidden buffer and double buffer it into view. Then this picture is copied to the other (now hidden) buffer. At this point each frame is displayed with the same procedure. The next frame is formed in the hidden buffer by applying the DLTA data (or the XOR data from the BODY chunk) and the new frame is double-buffered into view. This process continues to the end of the file.

Influences of ANIM on other Animation filetypes

The Anim standard of Amiga influenced noteworthy the development of Animated GIF format.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK