GIF (Graphics Interchange Format) is a bitmap image format for pictures that use 256 (or fewer) distinct colors (though there is a workaround for this limitation) and animations that use 256 (or fewer) distinct colors per frame. GIFs are compressed files, and are employed specifically to reduce the amount of time it takes to transfer images over a network connection. The format was introduced by CompuServe in 1987 and has since come into widespread usage on the World Wide Web.
A GIF file employs lossless data compression so that the file size of an image may be reduced without degrading the visual quality (provided the image fits into 256 colors). The GIF format's 256-color limitation makes it unsuitable for photographs, though losslessly compressed photographs tend to be unacceptably large for the web anyway. On the other hand the lossy JPEG format does badly on sharp transitions like those in diagrams, producing highly visible artifacts and little file-size reduction. Therefore GIF is normally used for diagrams, buttons, etc., that have a small number of colors, while the JPEG format is used for photographs.
Many software developers were caught by surprise when it was revealed that the GIF format had been patented by Unisys, and that they would have to pay royalties for writing programs that generated (or displayed) 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 GIF patents will expire in near future, PNG is still touted as a technically superior alternative, and has become the third most common image format on the web. The latest expiration date of the GIF related patents the most probably is Friday 11, August 2006 [1].
Contents
- 1 History
- 2 Pronunciation
- 3 Unisys and LZW patent enforcement
- 4 Usage
- 5 Colour
- 6 Alternatives
- 7 Miscellaneous
- 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 [2], 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 and truecolor displays.
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 colour).
Pronunciation
Most English-speakers pronounce the acronym 'GIF' with a plosive, as in "gift". Some, however, still pronounce it with an affricate as in "giraffe". There is evidence to suggest that the format's creators used the plosive pronunciation, since it stands for a word ("graphics") that begins with a plosive "g"; and it makes sense that they should have done so: many instances of the phoneme 'gi' at the beginning of a word are indeed pronounced with a plosive as in 'gift, give, ...'. However, the counter-intuitive option sometimes takes hold, as it did for the 'crossword' puzzle, which its inventor Arthur Wynne had originally named the 'word-cross'. And words like "giblet" may be pronounced with a soft "g". And "gill" can be pronounced either way, depending on whether one is referencing a fish's breathing apparatus, or an old-fashioned liquid measure. Most pragmatic commentators would now agree that the overwhelming number of people who use the plosive 'g' as was originally intended and that the variant with the affricate pronunciation (even if by de facto) is the incorrect pronunciation.
Unisys and LZW patent enforcement
The LZW compression algorithm on which GIF is based, was covered by U.S. Patent 4,558,302 owned by Unisys. When Compuserve first developed the GIF they did not know that LZW was covered by a patent. In December 1994, after Unisys discovered that GIF used the LZW, 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. 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.
On June 20, 2003, the United States patent on the LZW algorithm expired [3], which means that Unisys and Compuserve can no longer collect royalties for use of the GIF format in that country. Those bothered with 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.
IBM has also patented the LZW algorithm, but has never enforced this patent. According to the Free Software Foundation that patent will expire on August 11 2006 in the United States.
Usage
Even with the general adoption of broadband, the size of downloads continues to be a critical issue on the world wide web. Large web pages have a negative effect on user experience by being slow to render. Large web pages are also more expensive for their owners, who pay based on the amount of data transferred by their site. Therefore GIF's compression makes it desirable as an image format for use on webpages.
GIF is the only widely used image format to support animation. It is frequently used to make small animations and short, low-resolution films for web pages.
Most web page logos and design element images are GIF or PNG because those are designed to successfully compress images that contain large blocks of the same colour or of repeating patterns; JPEG cannot compress areas of flat, clean colour with sharp transitions well.
JPEG is preferred for digital photographs because it allows images to contain more than 16 million different colours (GIF gives a choice of only 256 of those colours per image) 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 can be displayed more quickly.
Colour
GIF is palette based: although any colour can be one of millions of shades, the maximum number of colours available for each frame is 256, which are stored in a "palette", a table which associates each colour number with an actual colour value. The limitation to 256 colours seemed reasonable at the time of GIF's creation because few people had the hardware to display more. Simple graphics, line drawings, cartoons, and grayscale photographs typically need fewer than 256 colours. Optionally, one of the colours in the palette can be set as transparent, hence achieving simple binary transparency.
There exist ways to dither colour photographs by alternating pixels of 2 or more different colours to approximate an in-between colour, but this transformation inevitably loses some detail, and the algorithms to select colours 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 256 color screens were common and it was fairly common to make GIF images using the websafe palette which was based on the common parts of the standard Windows and Mac palettes. This ensured predictable display on 256 color screens but severely limited the choice of colors. Now that truecolour screens are the norm, optimised palettes make more sense when creating 256 color images, though there are still many sites on web design that advise use of the websafe palette.
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 (demo). Unfortunately, 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 truecolor 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 is rapidly replacing GIF for still images, mostly on web sites of computer enthusiasts protesting Unisys's license policies and on some cartoon sites that take advantage of PNG's tighter compression to save on internet bandwidth charges.
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. Unfortunately many people are under the misconception that Internet Explorer does not support transparent pngs. This results from confusion of alpha channel transparency (which GIF does not offer) with binary transparency (which Internet Explorer supports for both GIF and PNG images).
The mistaken belief that PNG files are larger than GIF for the same images can generally be traced back to one of two things:
- People making the unfair comparison of the file size of 8 bit GIF with 24 bit PNG.
- The poor PNG support in older versions of Adobe Photoshop.
MNG, the animation-supporting relative of PNG, reached version 1.0 in 2001, but few applications support it. It has therefore had little impact on the use of GIFs for animation. Today animations may be the only field where GIF is needed, because of the lack of web browser support for MNG.
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. Such decoders would simply display it as though it were a single image PNG file.
Miscellaneous
The MIME media type for GIF is image/gif (defined in RFC 1341).
See also
- Windows Picture and Fax Viewer
- Image file formats
- Software patent
- Comparison of layout engines (graphics)
External links
- GIF89a specification
- List of GIF resources
- 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 Controversy: A Software Developer's Perspective (by Michael C. Battilana)
- The GIF situation (by the League of Programming Freedom)ca:GIF
Search Term: "GIF"
Categories: Graphics file formats