PNG Proposed eXIf chunk, draft 20170114

File: png-proposed-eXIf-chunk-20170114.html

Status of this Memo

This document is an informal draft of the PNG development group.

Comments on this document can be sent to the PNG specification maintainers at


png-mng-misc@lists.sourceforge.net

Distribution of this memo is unlimited.

Initial proposals were in the png-mng-misc mailing list, January 2017.

At present, the latest version of this document is available on the World Wide Web from


ftp://ftp.simplesystems.org/pub/libpng/png-group/documents/.

Notices

Copyright © 2017 Glenn Randers-Pehrson

Permission is granted to copy and distribute this document for any purpose and without charge, provided that the copyright notice and this notice are preserved, and that any substantive changes or deletions from the original are clearly marked.

Abstract

This document describes two variants of a special-purpose chunk type that has been proposed for use in various PNG (Portable Network Graphics) and related multi-image applications. It has not yet been approved for registration by the PNG developers, and therefore is experimental and its format is subject to change. The proposed chunk is (with an unregistered name or names that can be used in test implementations shown in parentheses): eXIf (exIf, uxIf, zxIf).

PNG uxIf (raw EXIF) proposal

It is proposed to add the following section to the document "Extensions to the PNG 1.2 Specification, Version 1.2.0"

3.7. eXIf EXIF profile

The four-byte chunk type field contains the decimal values
    101 88 73 102 (ASCII "e X I f")

When present, the eXIf chunk contains contains EXIF metadata that is compatible with specifications issued by CIPA, "Exchangeable image file format for digital still cameras" [CIPA DC-008-2016] or its successors. See https://www.media.mit.edu/pia/Research/deepview/exif.html

The eXIf chunk contains an EXIF profile in a raw format:

         Data: length bytes where "length" is determined
               by the chunk "length" field, containing a
               raw EXIF profile.

At most one eXIF chunk shall occur in a PNG datastream. There are no ordering constraints upon the position of the eXIf beyond those imposed by the PNG specification, i.e., if present, the eXIf chunk may appear anywhere between the IHDR and IEND chunks except between IDAT chunks.

PNG zxIf proposal

It is proposed to add the following section to the document "Extensions to the PNG 1.2 Specification, Version 1.2.0"

3.7. eXIf EXIF profile

The four-byte chunk type field contains the decimal values
    101 88 73 102 (ASCII "e X I f")

When present, the eXIf chunk contains contains EXIF metadata that is compatible with specifications issued by CIPA, "Exchangeable image file format for digital still cameras" [CIPA DC-008-2016] or its successors. See https://www.media.mit.edu/pia/Research/deepview/exif.html

The eXIf chunk contains an optional "mode" byte followed by an EXIF profile in a raw format or in a zlib-encoded compressed format:

         Mode: 1 byte 
               0: the remaining length-1 bytes of data make up a
                  zlib-encoded EXIF profile written in accordance
                  with chapter 5, "Deflate/Inflate Compression"
                  of the PNG specification version 1.2 (which
                  is Clause 10.1, "Compression method 0" of the
                  ISO PNG specification).
              69: (ASCII "E") the remaining length-1 bytes of
                  data, combined with the byte "E", make up a raw
                  uncompressed EXIF profile
              Other values of Mode are reserved for other
                  compression methods which might be defined
                  in a future version of this specification.

         Data: the remaining length-1 bytes where "length" is
               determined by the chunk "length" field

At most one eXIF chunk shall occur in a PNG datastream. There are no ordering constraints upon the position of the eXIf beyond those imposed by the PNG specification, i.e., if present, the eXIf chunk may appear anywhere between the IHDR and IEND chunks except between IDAT chunks.

Contributors

Contributors to discussion on the png-mng-misc list

Editor

End of PNG eXIf Chunk Proposal. Expires 14 August 2017.