Jump to content

PNG

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 213.219.24.100 (talk) at 14:35, 21 July 2004 (→‎See also: Disambiguate link). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

PNG (Portable Network Graphics) is a relatively new bitmap image format that is becoming popular on the World Wide Web and elsewhere. PNG was largely developed to deal with some of the shortcomings of the GIF format and allows storage of images with greater color depth and other important information. Official documents describing PNG suggest that the three letters be pronounced ping.

The motivation for creating the PNG format came in early 1995, after Unisys announced that it would be enforcing software patents on the LZW data compression algorithm used for GIF. The algorithm is described in U.S. Patent 4,558,302 and other patents around the world. There were also other problems with the GIF format which made a replacement desirable, notably its limitation to 256 colours at a time when computers capable of displaying far more than 256 colours were becoming common. Although GIF allows for animation, it was decided that PNG should be a single-image format. A companion format called MNG has been defined for animation. PNG gained some additional popularity in August 1999, after Unisys terminated its royalty-free patent licenses to developers of free software and non-commercial software.

PNG uses a non-patented lossless data compression method known as deflation. This method is combined with prediction, where for each image line, a filter method is chosen that predicts the colour of each pixel based on the colours of previous pixels and subtracts the predicted colour of the pixel from the actual color. An image line filtered in this way is often more compressible than the raw image line would be. On most images, PNG can achieve greater compression than GIF, but some implementations make poor choices of filter methods and therefore produce unnecessarily large PNG files.


A PNG image with an 8-bit transparency layer (above), overlayed onto a chequered background (below)

The GIF file format has allowed portions of images to be transparent, allowing them to appear to have a shape that is not rectangular. However, the GIF method was considered to be rather poor because it only allowed individual pixels to be fully transparent or fully opaque. The PNG format improves upon this by supporting an 8-bit alpha channel, so pixels in an image can have partial transparency. However, it took a long time for web browsers to fully support transparency, and some, notably Internet Explorer (for Windows), still do not.

Other image attributes that can be stored in PNG files include gamma values, background color, and textual information.

A PNG file consists of an 8-byte signature (89 50 4E 47 0D 0A 1A 0A in hexadecimal) followed by a number of chunks, each of which conveys certain information about the image. Chunks declare themselves as critical or ancillary, and a program encountering an ancillary chunk that it does not understand can safely ignore it. This chunk-based structure is designed to allow the PNG format to be extended while maintaining compatibility with older versions.

  • Version 1.0 of the PNG specification was released on 1 July 1996, and later appeared as RFC 2083. It became a W3C Recommendation on 1 October 1996.
  • Version 1.1, with some small changes and the addition of three new chunks, was released on 31 December 1998.
  • Version 1.2, adding one extra chunk, was released on 11 August 1999.
  • PNG is now an International Standard (ISO/IEC 15948:2003), also released as a W3C Recommendation on 10 November 2003. This version of PNG differs only slightly from version 1.2 and adds no new chunks.

The MIME media type for PNG is image/png (approved on 14 October 1996).

See also


PNG also stands for