PNG Proposed eXIf chunk, draft 20170115b

File: png-proposed-eXIf-chunk-20170115b.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 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 "eXIf" (an unregistered name that can be used in test implementations is "exIf"). Caution: the third letter in the chunk name is an uppercase "i", not a lowercase "L".

PNG exIf (raw Exif) proposal

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

3.7. eXIf Exif (Exchangeable Image File) profile

The four-byte chunk type field contains the decimal values
    101 88 73 102 (ASCII "eXIf")

The eXIf chunk contains an Exif profile in the format specified in "4.7.2 Interoperability Structure of APP1 in Compressed Data" of [CIPA DC-008-2016] except that the JPEG APP1 marker and length (the first four bytes) are not included.

The eXIf chunk data segment contains "length" bytes where "length" is determined by the chunk "length" field. It begins with the "Exif ID code" described in 4.7.2(C).

The encoder shall set byte 5 (described as 'padding') to 0; however the decoder shall not check or interpret the byte in any way.

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.

See ISO 12234 (the XMP standard):
https://www.iso.org/obp/ui/#iso:std:iso:12234:-3:ed-1:v1:en)
and CIPA DC-010-2012, Exif 2.3 Metadata for XMP. Available at:
http://www.cipa.jp/std/documents/e/DC-010-2012_E.pdf

eXIf Security considerations

It is proposed to add the following clause to Section 7 (Security Considerations) of the "Extensions to the PNG 1.2 Specification, Version 1.4.0" document:

The eXIf chunk contains metadata concerning the original image data. This data may not apply or may no longer apply to the PNG image data. Where conflicting information is present in other chunks in the stream that data shall be assumed to be correct unless it can be determined to be incorrect. Information relevant only to the original JPEG or TIFF encoding shall be ignored.

Contributors

Contributors to discussion on the png-mng-misc list

Editor

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