In the interests of accuracy and completeness, I propose a new special- purpose public chunk for the PNG standard. --- Title: The 'tIML' Time Chunk Date: Wed 11 Jun 1997 Author: David R. Tribble email: david.tribble@beasys.com, dtribble@flash.net Phone: +1-972-738-6125, 16:00-00:00 UTC +1-972-964-1720, 01:00-05:00 UTC Address: ******************* Description: 'tIML' - Long-precision image last-modification time The 'tIML' chunk gives the time that the image was last modified. It contains: Year: 2 bytes (complete, for example, 1995, not 95) Month: 1 byte (1-12) Day: 1 byte (1-31) Hour: 1 byte (0-23) Minute: 1 byte (0-59) Second: 1 byte (0-60) Nanosec: 4 bytes (0-999,999,999) Universal coordinated time (UTC, sometimes called GMT) should be used rather than local time. This is an ancillary, public, safe-to-copy chunk. There can be only one of these chunks types in a given image, but the chunk is not required. This chunk has no ordering constraints. This chunk is similar to the 'tIME' chunk, but encodes the modification time of the image with a higher resolution, to the nearest nanosecond, rather than only to the nearest second. The 'tIML' chunk is intended for use as an automatically-applied time stamp that specifies the actual time that the image was modified. It is recommended that 'tIML' not be changed by PNG editors that do not change the image data. The 'tIML' chunk encodes the time to a high accuracy in order to support applications that are capable of creating many images per second and for applications that require a high degree of time accuracy (such as astronomical and atomic imaging systems). If subsecond accuracy is not available on the system that creates the image, the 'Nanosec' field should be set to zero. Since accuracy to the nearest nanosecond is possible, many existing standards for time encoding can be accommodated. For example, the SMPTE time frame format encodes time in the form "HHH:MM:SS:FF", where HHH is the hour (relative to an arbitrary starting point in the past), MM is the minute, SS is the second, and FF is the frame number. Several SMPTE frame rates are allowed, reflecting the number of frames per second: 24, 30, and 30 drop. Converting these values into 'tIML' chunks is straightforward. If a PNG file contains both a 'tIME' and a 'tIML' chunk, the one that encodes the latest date and time should take precedence. (A time chunk is considered to encode a date later than another if the numeric fields comprising it are greater than the field of the other chunk, comparing the 'Year' field first, the 'Month' field second, and so forth, and the 'Nanosec' field last.) Using a 'tEXt' chunk to encode the same information as the 'tIML' chunk is possible, but no standard keyword or text format has been proposed to accomplish this so far. --- Thank you for your consideration of this proposal.