ANIM

Last updated

ANIM is a file format, used to store digital movies and computer generated animations (hence the ANIM name), and is a variation of the ILBM format, which is a subformat of Interchange File Format.

Contents

Main Features

Anim FileTypes

Known filetypes for Anim into AmigaOS 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, being a complete movie animation file format. [ citation needed ]

Additions to IFF Standard

In addition to the normal ILBM chunks, ANIM filetype also defines:

Compression modes:

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

History

The ANIM IFF format was developed in 1988 at Sparta Inc., a firm based in California, originally for the production of animated video sequences on the Amiga computer, and was used for the first time in Aegis Development's Videoscape and Video Titler programs for the Amiga line of computers. Being very efficient and an official subset of existing Amiga ILBM/IFF standard file format, it became the de facto standard for animation files on the Amiga.

The file format must have these characteristics:

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 byte encoding developed by Atari software programmer Jim Kent.

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

A video file format originally created for the Commodore CDTV, and later adapted for the Amiga CD32, was called CDXL and was similar to the ANIM file format.

Technical Overview

A minimum Anim file consists of three ILBM interleaved bitmap images. The first bitmap is a full image, necessary for the creation of the "next" frame whilst the other two are "delta" images, calculated as differences from the first one.

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

While the first frame is displayed, the subsequent frames are loaded into a buffer in graphics memory. The Amiga switches between the screens almost instantaneously while loading further frames using the blitter. Utilising its DMA capabilities, the graphics chipset could access memory without interrupting the CPU. This technique is called double buffering.

To better understand this, suppose one has two screens, called A and B, with the ability to instantly switch the display from one to the other. The initial frame is loaded in to screen A and B. Screen A is displayed. The differences between frame 1 and frame 2 are calculated and altered in screen B, which is then displayed. Then the differences from this and frame 3 are used to alter screen A, which is then 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 the development of Animated GIF format. [ citation needed ]

Related Research Articles

GIF Bitmap image file format family

The Graphics Interchange Format is a bitmap image format that was developed by a team at the online services provider CompuServe led by American computer scientist Steve Wilhite and released on 15 June 1987. It has since come into widespread usage on the World Wide Web due to its wide support and portability between applications and operating systems.

Lossless compression is a class of data compression that allows the original data to be perfectly reconstructed from the compressed data with no loss of information. Lossless compression is possible because most real-world data exhibits statistical redundancy. By contrast, lossy compression permits reconstruction only of an approximation of the original data, though usually with greatly improved compression rates.

Original Chip Set Chipset used in Amiga personal computer

The Original Chip Set (OCS) is a chipset used in the earliest Commodore Amiga computers and defined the Amiga's graphics and sound capabilities. It was succeeded by the slightly improved Enhanced Chip Set (ECS) and greatly improved Advanced Graphics Architecture (AGA).

Portable Network Graphics Family of lossless compression file formats for image files

Portable Network Graphics is a raster-graphics file format that supports lossless data compression. PNG was developed as an improved, non-patented replacement for Graphics Interchange Format (GIF) — unofficially, the initials PNG stood for the recursive acronym "PNG's not GIF".

Run-length encoding (RLE) is a form of lossless data compression in which runs of data are stored as a single data value and count, rather than as the original run. This is most efficient on data that contains many such runs, for example, simple graphic images such as icons, line drawings, Conway's Game of Life, and animations. For files that do not have many runs, RLE could increase the file size.

bzip2 File compression software

bzip2 is a free and open-source file compression program that uses the Burrows–Wheeler algorithm. It only compresses single files and is not a file archiver. It was developed by Julian Seward, and maintained by Mark Wielaard and Micah Snyder.

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

Audio Interchange File Format (AIFF) is an audio file format standard used for storing sound data for personal computers and other electronic audio devices. The format was developed by Apple Inc. in 1988 based on Electronic Arts' Interchange File Format and is most commonly used on Apple Macintosh computer systems.

The Resource Interchange File Format (RIFF) is a generic file container format for storing data in tagged chunks. It is primarily used to store multimedia such as sound and video, though it may also be used to store any arbitrary data.

Deluxe Paint Raster graphics editor

Deluxe Paint, often referred to as DPaint, is a bitmap graphics editor series created by Dan Silva for Electronic Arts. The original Deluxe Paint was written for the Commodore Amiga 1000 and released in November 1985. It was eventually ported to other platforms, including an MS-DOS version which became the standard for pixel graphics in video games in the 1990s, the only competitor being Autodesk Animator Pro.

ILBM File format

Interleaved Bitmap (ILBM) is an image file format conforming to the Interchange File Format (IFF) standard. The format originated on the Amiga platform, and on IBM-compatible systems, files in this format or the related PBM format are typically encountered in games from late 1980s and early 1990s that were either Amiga ports or had their graphical assets designed on Amiga machines.

Delta encoding is a way of storing or transmitting data in the form of differences (deltas) between sequential data rather than complete files; more generally this is known as data differencing. Delta encoding is sometimes called delta compression, particularly where archival histories of changes are required.

8-Bit Sampled Voice (8SVX) is an audio file format standard developed by Electronic Arts for the Commodore-Amiga computer series. It is a data subtype of the IFF file container format. It typically contains linear pulse-code modulation (LPCM) digital audio.

Hold-And-Modify Display mode used in Commodore Amiga computers

Hold-And-Modify, usually abbreviated as HAM, is a display mode of the Commodore Amiga computer. It uses a highly unusual technique to express the color of pixels, allowing many more colors to appear on screen than would otherwise be possible. HAM mode was commonly used to display digitized photographs or video frames, bitmap art and occasionally animation. At the time of the Amiga's launch in 1985, this near-photorealistic display was unprecedented for a home computer and it was widely used to demonstrate the Amiga's graphical capability. However, HAM has significant technical limitations which prevent it from being used as a general purpose display mode.

Image file formats are standardized means of organizing and storing digital images. An image file format may store data in an uncompressed format, a compressed format, or a vector format. Image files are composed of digital data in one of these formats so that the data can be rasterized for use on a computer display or printer. Rasterization converts the image data into a grid of pixels. Each pixel has a number of bits to designate its color. Rasterizing an image file for a specific device takes into account the number of bits per pixel that the device is designed to handle.

In computing, indexed color is a technique to manage digital images' colors in a limited fashion, in order to save computer memory and file storage, while speeding up display refresh and file transfers. It is a form of vector quantization compression.

PICtor is an image file format developed by John Bridges, the principal author of PCPaint, the first Paintbrush program for the PC. It was also the native file format for Pictor Paint and Graphics Animation System for Professionals (GRASP) and became the first widely accepted DOS imaging standard.

Hunk is the executable file format of tools and programs of the Amiga Operating System based on Motorola 68000 CPU and other processors of the same family. This kind of executable got its name from the fact that the software programmed on Amiga is divided in its internal structure into many pieces called hunks, in which every portion could contain either code or data.

CDXL is 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.

A file format is a standard way that information is encoded for storage in a computer file. It specifies how bits are used to encode information in a digital storage medium. File formats may be either proprietary or free.