Proposed additional chunk for the PNG specification iCCP Embedded ICC profile If the iCCP chunk is present, the image samples conform to the color space represented by the International Color Consortium [ICC] embedded profile as defined by the ICC and this color space must be an RGB or monochrome greyscale color space. The iCCP chunk contains: n bytes: profile_name (printable Latin-1 text, 1-79 characters, single embedded blanks ok) 1 byte: null separator 1 byte: compression_method 0: zlib datastream using DEFLATE n bytes: compressed data stream An application that creates the iCCP chunk should also create gAMA and cHRM chunks that approximate the ICC profile's transfer function for compatibility with applications that do not use the iCCP chunk. When the iCCP chunk is present, applications that recognize it and are capable of color management [ICC] should ignore the gAMA and cHRM chunks and use the iCCP chunk instead. Applications that are iCCP-aware should take care that there is only a single profile (explicitly or implicitly) embedded in a file. Applications that recognize the iCCP chunk but are not capable of full-fledged color management should use the gAMA and cHRM chunks. The profile_name can be any convenient name for referring to the profile; for example, it could be the same as the ASCII portion of the ICC profile description tag, minus its trailing null byte. The rules governing the contents of the profile_name are the same as those for tEXt keywords. If the iCCP chunk appears, it must precede the first IDAT chunk, and it must also precede the PLTE chunk if present. [ICC] International Color Consortium, http://www.color.org