The structure of the file uses the very first frame in the same manner as a standard PNG file allowing the first frame to act as a replacement in the event it is not supported. Using the chunk data stream already used by the PNG file, the remaining frames are embedded into the file and opened according to the preset format.
The only true competition to the APNG graphical format is that of the MNG or Multiple-image Network Graphics. This particular format though makes use of bitmap images to create an animation with the two major differences being the size of the completed file as well as the fact that the APNG makes use of a much smaller library.
It was back in 2004 when Vladimir Vukicevic along with Stuart Parmenter of Mozilla created the APNG format. However it was not until the 2006 Google Summer of Code that a Seneca College student was to develop the addition to the Firefox browser and as the new release of Firefox 3 became available, it was found that Mozilla included the support for the APNG format. It is important to remember that while there are a number of other browsers that are based on Mozilla’s, the version 3 release of Iceweasle did not include the support in their release.
In 2007 though, a series of bad luck occurred in which the group responsible for the portable networks graphics turned down the request to make APNG an official extension to the vastly expanding graphics file protocol. While there has been a number of other extensions based on other file formats that have been accepted such as those based on the MNG format, for some unknown reason the APNG was shot down. Some have suggested that it is because the PNG format was developed for the storing of a single image and not multiples.
However, with regards to support for the APNG animated graphics, KSquirrel version 0.7.2, XnView version 1.92, Opera version 9.5 as well as the Mozilla Firefox 3.x all support it.
The file itself consists of the standard 8 byte signature added to all PNG files. This signature is then followed by the chunks. The chunks themselves can be further divided into 3 groups with the length and chunk types being 4 bytes long, the chunk data as well as 4 bytes of cyclic redundancy and checksum. In general, there are a total of 20 different chunks that can be used on a PNG file, however only three of these are actually requited which includes the image header, image data as well as the image end. In the creation of the APNG file format though, thee was a need for an additional 3 new chunks of data that included the animation control chunk, the frame control chunk as well as the frame data chunk. So in all simplicity, the structure of an animated PNG starts off with the first frame along with the 3 required chunks; immediately following the header, the animation control chunk has to be placed. This would then be followed by a frame control chunk then the image data chunk. This process will then repeat itself until the final image chunk which would then be followed by the frame control and the end chunks.
Original Authors: Nick
Edit Update Authors: M.A.Harris
Updated On: 04/02/2009