PNG (Portable Network Graphics) Specification Version 1.0
RFC 2083
Document | Type |
RFC - Informational
(March 1997; No errata)
Was draft-boutell-png-spec (individual)
|
|
---|---|---|---|
Author | Thomas Boutell | ||
Last updated | 2013-03-02 | ||
Stream | Legacy | ||
Formats | plain text html pdf htmlized bibtex | ||
Stream | Legacy state | (None) | |
Consensus Boilerplate | Unknown | ||
RFC Editor Note | (None) | ||
IESG | IESG state | RFC 2083 (Informational) | |
Telechat date | |||
Responsible AD | (None) | ||
Send notices to | (None) |
Network Working Group T. Boutell, et. al. Request for Comments: 2083 Boutell.Com, Inc. Category: Informational March 1997 PNG (Portable Network Graphics) Specification Version 1.0 Status of this Memo This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind. Distribution of this memo is unlimited. IESG Note: The IESG takes no position on the validity of any Intellectual Property Rights statements contained in this document. Abstract This document describes PNG (Portable Network Graphics), an extensible file format for the lossless, portable, well-compressed storage of raster images. PNG provides a patent-free replacement for GIF and can also replace many common uses of TIFF. Indexed-color, grayscale, and truecolor images are supported, plus an optional alpha channel. Sample depths range from 1 to 16 bits. PNG is designed to work well in online viewing applications, such as the World Wide Web, so it is fully streamable with a progressive display option. PNG is robust, providing both full file integrity checking and simple detection of common transmission errors. Also, PNG can store gamma and chromaticity data for improved color matching on heterogeneous platforms. This specification defines the Internet Media Type image/png. Table of Contents 1. Introduction .................................................. 4 2. Data Representation ........................................... 5 2.1. Integers and byte order .................................. 5 2.2. Color values ............................................. 6 2.3. Image layout ............................................. 6 2.4. Alpha channel ............................................ 7 2.5. Filtering ................................................ 8 2.6. Interlaced data order .................................... 8 2.7. Gamma correction ......................................... 10 Boutell, et. al. Informational [Page 1] RFC 2083 PNG: Portable Network Graphics March 1997 2.8. Text strings ............................................. 10 3. File Structure ................................................ 11 3.1. PNG file signature ....................................... 11 3.2. Chunk layout ............................................. 11 3.3. Chunk naming conventions ................................. 12 3.4. CRC algorithm ............................................ 15 4. Chunk Specifications .......................................... 15 4.1. Critical chunks .......................................... 15 4.1.1. IHDR Image header .................................. 15 4.1.2. PLTE Palette ....................................... 17 4.1.3. IDAT Image data .................................... 18 4.1.4. IEND Image trailer ................................. 19 4.2. Ancillary chunks ......................................... 19 4.2.1. bKGD Background color .............................. 19 4.2.2. cHRM Primary chromaticities and white point ........ 20 4.2.3. gAMA Image gamma ................................... 21 4.2.4. hIST Image histogram ............................... 21 4.2.5. pHYs Physical pixel dimensions ..................... 22 4.2.6. sBIT Significant bits .............................. 22 4.2.7. tEXt Textual data .................................. 24 4.2.8. tIME Image last-modification time .................. 25 4.2.9. tRNS Transparency .................................. 26 4.2.10. zTXt Compressed textual data ...................... 27 4.3. Summary of standard chunks ............................... 28 4.4. Additional chunk types ................................... 29 5. Deflate/Inflate Compression ................................... 29 6. Filter Algorithms ............................................. 31 6.1. Filter types ............................................. 31 6.2. Filter type 0: None ...................................... 32 6.3. Filter type 1: Sub ....................................... 33 6.4. Filter type 2: Up ........................................ 33 6.5. Filter type 3: Average ................................... 34 6.6. Filter type 4: Paeth...................................... 35 7. Chunk Ordering Rules .......................................... 36 7.1. Behavior of PNG editors .................................. 37 7.2. Ordering of ancillary chunks ............................. 38 7.3. Ordering of critical chunks .............................. 38Show full document text