Graphics Interchange Format
| File extension: |
|
| MIME type: |
image/gif |
| Type code: |
GIF |
| Uniform Type Identifier: |
com.compuserve |
| Magic: |
GIF87a/GIF89a |
| Developed by: |
CompuServe |
| Type of format: |
bitmap image format |
|
An example of a GIF image. The dithering process used to overcome the format's 256-color limitation makes the image appear coarse-grained.
A rotating globe in GIF format. The gradient blue areas of this image transition choppily, a common GIF artifact produced when dithering is not employed.
-
For other uses, see GIF (disambiguation).
GIF (Graphics Interchange Format) is an 8-bit-per-pixel bitmap image format using a pallete of up to 256 distinct colors from the 24-bit RGB color space. The format was introduced by CompuServe in 1987 and has since come into widespread usage on the World Wide Web due to its wide support and portability. It also supports animations and even allows a separate palette of 256 colors for each frame.
A GIF image employs lossless data compression so that the file size of an image may be reduced without degrading the visual quality, provided the image can be rendered with only 256 colours. (However, there is a hack that can overcome this limitation under certain circumstances; see true colour.) This limitation makes the GIF format unsuitable for color photographs (which are more commonly seen in the JPEG format) and other images with continuous color, but well-suited for more simple images such as graphics or logos with solid areas of color. Monochrome photographs can be represented well by the GIF format but still suffer from filesize bloat due to the inappropriate compression technique.
Many software developers were surprised when it was revealed that the compression algorithm used by the GIF format had been patented by Unisys, and that they would have to pay royalties for writing programs that generated GIF files. The desire for a comparable format with fewer legal restrictions (as well as fewer technical restrictions such as the number of colours) led to the development of the PNG (Portable Network Graphics) standard. Although the original GIF and related patents have expired, PNG is still touted as a technically superior alternative, and has become the third most common image format on the web.
|
Contents
- 1 History
- 2 Pronunciation
- 3 Unisys and LZW patent enforcement
- 4 Usage
- 5 Palettes
- 6 Alternatives
- 7 References
- 8 See also
- 9 External links
|
History
The GIF format was introduced in 1987 by CompuServe in order to provide a colour image format for their file downloading areas, replacing their earlier RLE format which was black and white only. GIF became popular because it used LZW data compression, which was more efficient than the run-length encoding that formats such as PCX and MacPaint used, and fairly large images could therefore be downloaded in a reasonable amount of time, even with very slow modems.
The original version of GIF was called 87a. In 1989, CompuServe devised an enhanced version, called 89a,[1] that added support for multiple images in a stream, interlacing and storage of application-specific metadata. The two versions can be distinguished by looking at the first six bytes of the file, which, when interpreted as ASCII, read "GIF87a" and "GIF89a", respectively.
When the World Wide Web gained popularity, GIF became one of the two image formats commonly used on Web sites, the other being the black and white XBM. JPEG came later with the Mosaic browser.
The GIF89a feature of storing multiple images in one file, accompanied by control data, is used extensively on the web to produce simple animations. The optional interlacing feature, which stored image scanlines out of order in such a fashion that even a partially downloaded image was somewhat recognizable, also helped GIF's popularity, as a user could abort the download if it was not what was required.
GIF images are limited to 256 colours, though it is possible to hack around this limitation, under certain circumstances, using the animation feature (see Animated GIFs, below).
Pronunciation
Some English-speakers pronounce the acronym "GIF" with a plosive (as in the word "gift"). Others pronounce it with an affricate (as in the word "giraffe").
Unisys and LZW patent enforcement
The LZW compression algorithm was covered by U.S. Patent 4,558,302, owned by Unisys Corporation. When CompuServe first developed the GIF format, they did not know that LZW was covered by a patent. In December 1994, after Unisys discovered that the newly popular file format used LZW compression, they announced that they would be seeking royalties on that patent; all commercial programs capable of producing GIF files would be required to pay a license fee to Unisys.
By this time, GIF was in such widespread use that most companies producing these programs had little choice but to pay. These problems were one factor leading to the development of the PNG format, which has become the third most common image format on the Web after GIF and JPEG.[2]
In late August 1999, Unisys terminated its royalty-free LZW technology licenses for free software and non-commercial proprietary software and even for individual users of unlicensed programs, prompting the League for Programming Freedom to launch the Burn All GIFs campaign to inform the public of the alternatives.
Many legal experts have concluded that the patent does not cover devices that can only uncompress LZW data and cannot compress it; for this reason, the popular gzip program can read .Z files but cannot write them.
On June 20, 2003, the United States patent on the LZW algorithm expired,[3] which meant that Unisys could no longer collect royalties for use of the GIF format in that country. Those bothered by the patent enforcement dubbed this day GIF Liberation Day. The equivalent patents in Europe and Japan expired on June 18 and June 20, 2004 respectively, with the Canadian patent following on July 7.
Usage
Although JPEG has replaced GIF in many situations, especially those where accurate representations of photographic-quality source images are required; the GIF format is still widely utilized. As it remains the only natively-supported animation format for most web browsers, GIF is frequently used to make small animations and short, low-resolution films for web pages. In addition, a large portion of web page logos and design element images are GIF (or, increasingly PNG) as those formats are better at successfully compressing images that contain large blocks of matte colour or of repeating patterns; JPEG does not compress flat, single-hued areas with sharp transitions to adjacent areas as well. Due to lingering browser issues related to rendering PNG transparancy, GIF remains the only format that supports transparent images in almost all web browsers.
JPEG is preferred for digital photographs because it allows images to contain more than 16 million different hues (GIF gives a choice of only 256 per image frame) and it compresses photographs better. Uncompressed bitmap formats like Windows bitmap are sometimes preferred for images in computer software when speed is more important than reduced file size, because uncompressed bitmaps contain raw pixel information, and thus can be displayed more quickly.
Palettes
GIF is palette based: although any palette selection can be one of millions of shades, the maximum number that can be used in a frame is 256. These are stored in a "palette", a table which associates each palette selection number with a specific RGB value. The limitation to 256 shades seemed reasonable at the time of GIF's creation because few people could afford the hardware to display more. Simple graphics, line drawings, cartoons, and grey-scale photographs typically need fewer than 256 shades. Optionally, one of the selections in the palette can be set as transparent, which allows simple binary transparency.
There exist ways to dither or diffuse photographs by using pixels of 2 or more different hues to approximate an in-between hue, but this transformation inevitably loses some detail. The algorithms used to select the palette and to perform the dithering vary widely in output quality, giving dithering a possibly unwarranted bad reputation. Additionally, dithering significantly reduces the image's compressibility and thus works contrary to GIF's main purpose.
In the early days of graphical web browsers graphics cards with 8-bit buffers (allowing only 256 hues) were common and it was fairly common to make GIF images using the websafe palette which was based on the common subset of the standard Windows and Macintosh palettes. This ensured predictable display but severely limited the choice of hues. Now that 24-bit graphics cards are the norm, optimised palettes make less sense when creating images, though there are still many sites on web design that advise the use of the websafe palette.
True colour
GIF89a was designed based on the principle of rendering images (known as frames when used for animation) to a logical screen. Each image could optionally have its own palette, and the format provides flags to specify delay and waiting for user input (not widely supported by viewers) between them. This is the feature that is used to create animated GIFs, but it can also be used to losslessly store a 24-bit RGB (truecolour) image by splitting it up into pieces small enough to be encoded into a 256 colour palette and setting up the GIF to render these with no delay on the logical screen.[4] However, most web browsers seem to assume that this multi-image feature will only be used for animation and insert a minimum delay between images. There will be some file size bloat from doing this, especially if the encoder doesn't support LZW for patent reasons. There are very few tools around that can easily produce 24-bit GIFs, and it is rarely an appropriate format unless there is absolutely no other option.
Alternatives
The PNG format was specifically designed to replace GIF for use as a single-image web format. PNG offers better compression and more features than GIF. The format has replaced GIF in many instances where true-color imaging, alpha transparency, and a lossless data format are required. Others have switched from GIF to PNG for reasons related to intellectual property concerns (see above).
All the features of GIF except animation are supported by PNG. As new web browsers support PNG, most GIF images could be replaced by PNG images if desired. However, Internet Explorer versions 6 and earlier do not support PNG's alpha channel transparency feature without using Microsoft-specific HTML extensions.[5] Using standard HTML <img> tags for PNG images in Internet Explorer can produce a look different from that intended. Early releases of Internet Explorer 7 have supported alpha channel transparency.
There have been occasional claims that PNG files are generally larger than GIFs. PNG files can indeed be much larger than GIF files in situations where a GIF and a PNG file were created from a high-quality master image, as PNG is capable of storing more color depth and transparency information than GIF, and due to the fact that GIF encoders often simplify complex images resulting in a lossy result. However, identical 8-bit (or lower) image data data rendered in PNG and GIF should yield similar sizes.citation needed] Misinformation about PNG efficiency can generally be traced back to poor PNG support in older versions of some image manipulation programs, such as Adobe Photoshop that did not optimize PNGs for reduced color palettes by default.
MNG, a variant of PNG that supports animation, reached version 1.0 in 2001, but few applications support it. Animated GIF remains a widely-used format as myriad applications are capable of creating the files, and it remains the only animated image format capable of being rendered in nearly all modern web browsers without the use of a plug-in. The ability to easily embed MPEG and other highly compressed lossy video on web pages has replaced animated GIF in some instances. In 2004, a proposed extension to the PNG format called APNG was suggested. It would add the ability to animate PNG files, while retaining backwards compatibility in decoders which cannot understand the animation chunk. Older decoders would simply render a single frame of the animation.
References
- ^ http://www.w3.org/Graphics/GIF/spec-gif89a.txt
- ^ Security Space (July 1, 2006) Technology Penetration Report
- ^ http://www.unisys.com/about__unisys/lzw
- ^ http://phil.ipal.org/tc.html
- ^ http://msdn.microsoft.com/workshop/author/filter/reference/filters/alphaimageloader.asp
See also
- Comparison of graphics file formats
- Windows Picture and Fax Viewer
- Image file formats
- Software patent
- Comparison of layout engines (graphics)
External links
- GIF89a specification
- List of GIF resources
- The GIF Pronunciation Page
Links related to the GIF patent issue:
- Burn All GIFs - a site providing information about the ramifications of the LZW patent, advocating the abandonment of the format
- Why There Are No GIF files on GNU Web Pages
- The GIF situation (by the League of Programming Freedom)
- GIF is NOW finally free - for real, with a final Unisys joke
| Multimedia compression formats at glance |
| Video compression formats |
ISO/IEC: MPEG-1 | MPEG-2 | MPEG-4 | MPEG-4/AVC | ITU-T: H.261 | H.262 | H.263 | H.264
SMPTE: VC-1
Others: VP7 | RealVideo | WMV | Indeo | MJPEG | Theora | Dirac |
| Audio compression formats |
ISO/IEC MPEG: MPEG-1 Layer III (known as MP3) | MPEG-1 Layer II | AAC | HE-AAC
ITU-T: G.711 | G.722 | G.722.1 | G.722.2 | G.723 | G.723.1 | G.726 | G.728 | G.729 | G.729a
Others: WavPack | FLAC | iLBC | RealAudio | WMA | SHN | Speex | Musepack | Vorbis | ATRAC3 | AC3 |
| Image compression formats |
ISO/IEC/ITU-T: JPEG | JPEG 2000 | JPEG-LS | JBIG | JBIG2
Others: GIF | PNG | TIFF | PCX | TGA | BMP | WMP | ILBM |
| Media container formats |
| AU | AIFF-C | WAV | NUT | MXF | Matroska | Ogg | Ogg Media | MP4 | QuickTime | RealMedia | AVI | ASF | 3GP |
|
Categories: Articles with unsourced statements | Graphics file formats | CompuServe