Animation Formats
The major animation formats that one is likely to encounter include MPEG, SGI Movie, QuickTime, AVI, FLI/FLC, and GIF89a. Here is a quick and general summary of their characteristics:
MPEG | SGI Movie | QuickTime | AVI | FLI/FLC | GIF89a | |
---|---|---|---|---|---|---|
8-bit Color | ||||||
24-bit Color | ||||||
Fast Playback | ||||||
Portable | ||||||
Small File Size |
MPEG
MPEG (a standard from the Motion Picture Experts Group) is an unusual animation format when compared to the types listed below. One of the things that makes it so unique is that you can actually specify how much compression you want for an animation sequence using adjustable "quality settings". Briefly, the basic idea of MPEG encoding is predicting motion between images using three types of "frames". They are I (intra) frames, P (predicted) frames, and B (bidirectional) frames. Each source image is associated with a frame type which determines the algorithm used to encode it into the animation. What this means is that the quality setting can be individually specified for each of these frame types which affects their encoding algorithms and allows tremendous control over the final animation. In practice, setting them all to the same value will usually produce reasonable results. A program like TkAniMaker presents the quality settings as integer ranges from 1 to 31 with higher numbers resulting in better compression but worse image quality. The amount of compression can be far greater than what is offered by any of the other formats, but there is always some trade-off in image quality. In cases where file size is important (such as for WWW pages), the trade-off is well worth it!SGI Movie
SGI Movie is a custom animation format developed by SGI for its IRIX-based machines. It is not very portable to other platforms, but the image quality can be very good, playback can be quite fast, and a stereo CD-quality soundtrack can be included. SGI Movies are created with the Movie Maker, makemovie, MediaConvert, and TkAniMaker programs under IRIX. There is currently no program for creating SGI Movies under Linux.There are three basic compression schemes used in SGI movies: MVC1, MVC2, and JPEG. MVC1 animations have image quality reasonably close to the original source images. MVC2 animations can be two or three times smaller (in terms of file size) than their MVC1 equivalents, however, the image quality is somewhat worse with a slight (but noticable) mosaic effect. JPEG animations have the worst image quality when compared to the other two, but are always the smallest. It should also be noted that these JPEG animations will play pack significantly slower because of the computationally-intensive decompression that is required. As with individual images, the JPEG compression has a tendency to make sharp edges such as text appear "fuzzy". Although not generally a good idea because the file size can be enormous, it is possible to create an SGI movie without any compression at all in order to get the best possible image quality, which is identical to the source images.
QuickTime
QuickTime is a format first developed for the Macintosh computer. Like the SGI Movie format, it allows a high-quality audio track to be synchronized with the video. The basic compression schemes used in QuickTime movies (at least for SGI's implemention) are RLE and JPEG. The image quality of the QuickTime JPEG is identical to the SGI Movie JPEG (i.e. fuzzy). The QuickTime RLE is the closest in quality to the original 24-bit images, however, it is significantly larger than the SGI Movie formats.Apple is the official source of QuickTime information (including samples) on their WWW pages. Movie Maker can import and export QuickTime animations. Movie Player and XAnim can play them back, although, XAnim can deal with more QuickTime compression schemes.
AVI
AVI (Audio Video Interleaved) is a format first developed for the PC (namely the Windows OS). It also allows an interleaving of the audio and video tracks. Players exist for most platforms; on the SGI it's XAnim. There is no practical way to create an AVI on the SGI using IRIX 5.3; although, it is possible with IRIX 6.x.FLI/FLC
FLI and FLC are old formats originally created by Autodesk for the PC. The basic difference between FLI and FLC is that FLI (the original format for Autodesk Animator) is supposed to be limited to dimensions of 320x200 while the newer FLC can go all the way up to 1280x1024. FLC does have a number of "standard" sizes (320x200, 640x480, 800x600, and 1280x1024) and animations may play back much faster (with a program such as XAnim) if one of these is used rather than an arbitrary image size. This unusual behavior is probably due to the way that the animations are structured and decoded.Both FLI and FLC are limited to 8-bit color since they were created at a time when higher color resolutions were not common on the PC. This color limitation may not be much of a problem for computer generated images that have a limited color palette anyway. The fact that only 8-bit color has to be processed compared to usually higher color resolutions for the other formats results in superior playback speed. Another factor contributing to the speed is the compression that the format uses. FLI/FLC simply stores the parts of an image that change from one frame to the next, which is a relatively easy scheme to decode. Several of the other formats actually throw out some data when the images are compressed into an animation resulting in varying degrees of "fuzziness" and/or "blockiness". FLI/FLC animations remain "sharp" since the only image data that may get lost is when converting down from 24-bit originals to 8-bit. When starting with images that have a low number of colors (<= 256) to begin with, nothing is lost during animation creation.
A program called ppm2fli will produce FLI/FLC on the SGI. The USGS has some more information about the FLI/FLC format as well as sample animations of coastal ocean modeling.
GIF89a
This format basically consists of a number of GIF images stored in one file with inter-frame timing information. Each image can have its own colormap (limited to 8-bit just like regular GIF images) or all the images can share a global colormap. It is really designed for simple animations on Web pages (using Netscape 2.0 or higher) because there is no frame-to-frame compression, just the usual LZW compression for each individual frame. Also, players like XAnim always buffer all the images in memory which severly limits its usefullness with large animations. The GIFMerge and WhirlGIF programs provide a way to create them on the SGI. Here is a source of more information on GIF89a animation.
Examples
In an effort to better illustrate the differences between the animation formats, here are example animations in each format created with the same set of 24 images. The source images are all 24-bit SGI RGB files with dimensions of 376x349 and they depict a rotating earth. Several animation files are actually available on-line (such as the MPEGs) while the rest of the links are to the first image of their respective animations. The items in parentheses next to the formats are their respective compressions (global quality setting for the MPEGs).
File size in bytes | ||
---|---|---|
Raw 24-bit | 9448128 |
|
SGI Movie (None) | 13122408 |
|
SGI Movie (MVC1) | 1424872 | |
SGI Movie (MVC2) | 741485 | |
SGI Movie (JPEG) | 574880 | |
QuickTime (None) | 12598725 |
|
QuickTime (RLE) | 4001181 | |
QuickTime (JPEG) | 553581 | |
FLI/FLC | 1422254 | |
GIF89a | 1157657 | |
MPEG (1) | 1297651 | |
MPEG (2) | 839538 | |
MPEG (3) | 627059 | |
MPEG (4) | 505926 | |
MPEG (5) | 423537 | |
MPEG (6) | 365398 | |
MPEG (7) | 321383 | |
MPEG (8) | 287865 | |
MPEG (9) | 258239 | |
MPEG (10) | 235945 | |
MPEG (11) | 216734 | |
MPEG (12) | 200704 | |
MPEG (13) | 186864 | |
MPEG (14) | 174704 | |
MPEG (15) | 164078 | |
MPEG (16) | 155617 | |
MPEG (17) | 147011 | |
MPEG (18) | 139622 | |
MPEG (19) | 132830 | |
MPEG (20) | 127236 | |
MPEG (21) | 121715 | |
MPEG (22) | 116866 | |
MPEG (23) | 112696 | |
MPEG (24) | 108918 | |
MPEG (25) | 104970 | |
MPEG (26) | 101875 | |
MPEG (27) | 98769 | |
MPEG (28) | 95914 | |
MPEG (29) | 93363 | |
MPEG (30) | 90843 | |
MPEG (31) | 88617 |
The original 24-bit images were reduced to 8-bit for the FLI/FLC & GIF89a formats using ImageMagick's convert program.
Lasted modified: Wednesday, 30-Oct-02 17:44:29 EST