PNGPNG (pronounced ping) is a relatively new bitmap image format that is becoming popular on the Web and elsewhere. Officially, PNG stands for Portable Network Graphics, but some people prefer PNG's Not GIF, a recursive acronym.
The motivation for creating the PNG format came in early 1995, after Unisys announced that it would be enforcing U.S. Patent 4,558,302 (a software patent) and foreign counterparts on the LZW data compression algorithm used for GIF. 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 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. PNG combines this with prediction: for each image line a filter method is chosen which predicts the colour of each pixel based on the colours of previous pixels and subtracts the predicted colour of the pixel from the actual colour. An image line thus filtered is often more compressible than the raw image line would be. PNG can achieve greater compression than GIF on almost any image, but some implementations make poor choices of filter methods and therefore produce unnecessarily large PNG files.
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 also stands for
PNG also stands for