SourceForge

PNG and MNG tools
Exif and PNG

PNG Web Site

Converting TIFF/EP or Exif files to and from PNG format (Draft 0.07, August 2, 2000)

Notices:

Copyright 2000, Glenn Randers-Pehrson, randeg@alum.rpi.edu, all rights reserved. The original document is available at http://pmt.sourceforge.net/exif/drafts/history/d007.html

You may link to this file or (preferably) to the directory in which it resides, but please do not publish this file on your web site without my permission. You may quote portions of this document, and the preceding editions, on web sites and in messages, provided that you include the copyright notice and a link to the original document. If and when this document emerges from draft status, it will be released on more generous terms, identical to those of the PNG extensions document [PNGEXT].

Status of this document

This is a draft of a proposal to the PNG Development Group for registration of a new text keyword (Exif) and a new special-purpose chunk (eXIF). It has not been approved by any approving body.

This document and the latest version of this document can be found at <http://pmt.sourceforge.net/exif>. If at some date the files move to another site, I intend to leave a link to the new location here, if possible.

Scope:

This document proposes a new PNG [PNG] registered keyword, "Exif", and a new PNG special-purpose chunk, "eXIF". It shows how to use these to preserve the Exif information [EXIFFORMAT] that is present in a TIFF/EP [TIFF/EP] file, when converting the file to PNG or JNG [JNG] format (JNG is a sub-format of the MNG (Multiple-image Network Graphics) [MNG] format).

Introduction

It is desireable to save the Exif information present in some camera images because

Some of the information, which describes the particulars of the encoding of the original image, are of no use once the image has been converted to another format, so these need not be preserved.

Applications that convert an image back to the original format need to know whether the image data has been changed, and must be able to rely on the saved Exif data being in a machine-readable format and to rely on the data being valid.

The PNG format does not presently formally accommodate Exif data. It could be stored in PNG text chunks, but a formal specification for storing Exif data is required, to ensure that the data will remain valid and be machine-readable.

A flag is desired by which applications can determine whether the image data might have been edited in a manner that invalidates the stored Exif data. The PNG specification provides copying rules that would allow a new "eXIF" chunk, which would not be recognized by current applications, to serve this purpose. Applications that modify the image data and do not recognize the eXIF chunk are required by the PNG specification to discard it, and applications that edit a PNG file without changing the image data are required to retain it; therefore, the presence or absence of the eXIF chunk serves as the desired flag.

Terminology

CRC
Cyclic Redundancy Check (see the PNG specification).
Exif
Exchangeable Image File Format [EXIFSPEC].
textExif chunk
A PNG iTXt, tEXt, or zTXt chunk that contains Exif information, and whose keyword is "Exif". Abbreviated "tE" in the encoding table.
TIFF/EP
Tag Image File Format--Electronic Photogaphy. A format for storing bitmapped images, defined by International Standard ISO/DIS 12234-2 [TIFF/EP].

Mapping of TIFF/EP tags to PNG chunks:

Tags that provide details about the TIFF compression itself are no longer useful and are dropped. Other tags can be converted to existing PNG chunks, or to a tEXt/zTXt/iTXt chunk using the "Exif" keyword (i.e., a "textExif" chunk), as shown in this table.

Encodings:
  • drop: do not encode the item in the PNG datastream
  • tE: encode the item as an entry in a textExif chunk, in the form "keyword=value", terminated with a newline. The keyword is the same as the tag name and is case dependent; if there is a discrepancy between the spelling given here and the spelling in [TIFF/EP], the latter shall prevail. The value is one of
    • NUMBER: one or more numeric entries written as ASCII strings as explained in [PNGEXT] and separated by spaces (NUMBER is usually an integer, but can also be a decimal with fractional part), or
    • CHAR (a single ASCII character), or
    • HEX (a single byte in hexadecimal format using two ASCII characters 0-9, upper case A-F, and lower case a-f)
    • N HEX, in which N is the number of bytes. Blanks and newlines may be included in strings of HEX bytes to improve readability; decoders must ignore the embedded blanks and newlines.
    • N STRING, in which
      • STRING is A Latin-1 string which is the same as the ELIF data except that the terminating null is replaced by a newline, and any embedded CR,LF sequences are replaced with a newline, and.
      • N is the number of characters in a STRING, including any embedded newlines and the terminal newline, after any conversions have been made, written as a NUMBER.
  • other: as explained in the table
TIFF/EP TagExif Item NamePNG encoding
0x0FE *NewSubfileType drop
0x0FF *SubfileType drop
0x100 ImageWidth width in IHDR and tE NUMBER [1]
0x101 ImageLength height in IHDR and tE NUMBER
0x102 BitsPerSample sBIT [2]
0x103 Compression tE [3]
0x106 PhotometricInterpretation tE
0x10A FillOrder drop? [4]
0x10D DocumentName text Title STRING
0x10E ImageDescription text Description STRING
0x10F Make tE N STRING
0x110 Model tE N STRING
0x111 StripOffsets drop
0x112 Orientation [5] tE NUMBER
0x115 SamplesPerPixel drop
0x116 RowsPerStrip drop
0x117 StripByteCounts drop
0x11A XResolution xppm in pHYs[6]
0x11B YResolution yppm in pHYs[6]
0x11C PlanarConfiguration tE NUMBER
0x128 ResolutionUnit unit=1 in pHYs[6]
0x12D *TransferFunction [7] tE 3*NUMBER
0x131 Software tE N STRING
0x132 DateTime [8] text Creation time STRING
0x13B Artist text Author STRING
0x13D *Predictor drop
0x13E WhitePoint white point in cHRM
0x13F PrimaryChromaticities chromaticities in cHRM
0x156 *TransferRange tE ?
0x15B JPEGTables [9] drop
0x200 JPEGProc drop
0x201 JPEGInterchangeFormat drop
0x202 JPEGInterchangeFormatLength drop
0x211 YCbCrCoefficients [10] drop
0x212 YCbCrSubSampling drop
0x213 YCbCrPositioning drop
0x214 ReferenceBlackWhite tE 2*NUMBER
0x828D CFARepeatPatternDim tE 2*NUMBER
0x828E CFAPattern CFArows*CFAcols*NUMBER
0x828F BatteryLevel tE NUMBER or N STRING
0x8298 Copyright text Copyright
0x829A ExposureTime tE (1 or 2)*NUMBER
0x829D FNumber tE (1 or 2)*NUMBER
0x83BB IPTC/NAA tE NUMBER or N STRING
0x8769 ExifOffset drop
0x8773 InterColorProfile [11] iCCP
0x8822 ExposureProgram tE NUMBER
0x8824 SpectralSensitivity tE N STRING
0x8825 GPSInfo write individual GPS tags as tE
 GPSVersionID tE 4*NUMBER
 GPSLatitudeRef tE CHAR
 GPSLatitude tE 3*NUMBER
 GPSLongitudeRef tE CHAR
 GPSLongitude tE 3*NUMBER
 GPSAltitudeRef tE CHAR
 GPSAltitude tE NUMBER
 GPSTimeStamp tE 3*NUMBER
 GPSSatellites tE N STRING
 GPSStatus tE CHAR
 GPSMeasureMode tE CHAR
 GPSSDOP tE NUMBER
 GPSSpeedRef tE CHAR
 GPSSpeed tE NUMBER
 GPSTrackRef tE CHAR
 GPSTrack tE NUMBER
 GPSImgDirectionRef tE CHAR
 GPSImgDirection tE NUMBER
 GPSMapDatum tE N STRING
 GPSDestLatitudeRef tE CHAR
 GPSDestLatitude tE 3*NUMBER
 GPSDestLongitudeRef tE CHAR
 GPSDestLongitude tE 3*NUMBER
 GPSDestBearingRef tE CHAR
 GPSDestBearing tE NUMBER
 GPSDestDistanceRef tE CHAR
 GPSDestDistance tE NUMBER
0x8827 ISOSpeedRatings tE (1 or 2)*NUMBER
0x8828 OECF [12] tE ...
0x8829* Interlace drop
0x882A TimeZoneOffset tE (1 or 2)*NUMBER
0x882B SelfTimerMode tE NUMBER
0x9000 ExifVersion tE 4*NUMBER
0x9003 DateTimeOriginal [13] tE N STRING
0x9004 DateTimeDigitized [14] tE N STRING
0x9101 ComponentsConfiguration tE 4*NUMBER
0x9102 CompressedBitsPerPixel tE NUMBER
0x9201 ShutterSpeedValue tE NUMBER
0x9202 ApertureValue tE NUMBER
0x9203 BrightnessValue tE (1 or 2)*NUMBER
0x9204 ExposureBiasValue tE (1 or 2)*NUMBER
0x9205 MaxApertureValue tE NUMBER
0x9206 SubjectDistance tE (1 or 2)*NUMBER
0x9207 MeteringMode tE NUMBER
0x9208 LightSource tE NUMBER
0x9209 Flash tE NUMBER
0x920A FocalLength tE (1 or 2)*NUMBER
0x920B FlashEnergy [15] tE (1 or 2)*NUMBER
0x920C SpatialFrequencyResponse tE N STRING
0x920D Noise tE N STRING
0x020E FocalPlaneXResolution tE NUMBER
0x920F FocalPlaneYResolution tE NUMBER
0x9210 FocalPlaneResolutionUnit tE NUMBER
0x9211 ImageNumber tE NUMBER
0x9212 SecurityClassification tEXt Warning Classified
  FileSecurityClassification tE N STRING
  FileCodewords tE N STRING
  FileControlAndHandling tE N STRING
  FileReleasingInstructions tE N STRING
  FileClassificationAuthority tE N STRING
  FileSecurityControlNumber tE N STRING
  FileSecurityDowngrade tE N STRING
  FileSecurityDowngradingEvent tE N STRING
0x9213 ImageHistory tE N STRING
0x9214 SubjectLocation tE (2, 3, or 4)*NUMBER
0x9215 ExposureIndex tE (1 or 2)*number
0x9216 TIFF/EPStandardID tE 4*NUMBER
0x9217 SensingMethod tE NUMBER
0x927C MakerNote [16]tE N HEX
0x9286 UserComment text Comment/tE
0x9290 SubSecTime tE N STRING
0x9291 SubSecTimeOriginal N STRINGtE
0x9292 SubSecTimeDigitized tE N STRING
0xA000 FlashPixVersion tE 4*NUMBER
0xA001 ColorSpace tE NUMBER
0xA002 ExifImageWidth tE NUMBER
0xA003 ExifImageLength tE NUMBER
0xA004* RelatedSoundFile tE N STRING
0xA005 InteroperabilityOffset drop
0xA20B* FlashEnergy [17] tE
0xA20C* SpatialFrequencyResponse tE N STRING
0xA20E* FocalPlaneXResolution tE NUMBER
0xA20F* FocalPlaneYResolution tE NUMBER
0xA210* FocalPlaneResolutionUnit tE NUMBER
0xA214* SubjectLocation tE (2, 3, or 4)*NUMBER
0xA215* ExposureIndex tE (1 or 2)*number
0xA217* SensingMethod tE NUMBER
0xA300* FileSource tE NUMBER
0xA301* SceneType tE NUMBER
The tag list was obtained from the exifdump source code [EXIFDUMP], and compared with the tag list in the TIFF/EP Standard [TIFF/EP]. See also the "Description of the Exif file format" [EXIFFORMAT], which was generated by inspection of Exif files, without reference to the actual Exif specification [EXIFSPEC].
Notes:
[*] Not in TIFF/EP
[1] If the file is later cropped, don't change the textExif width and height; they record the original width and height.
[2] The sBIT chunk is unnecessary and should not be written if the original file and the PNG file to which it is being converted have the same sample depth.
[3] This identifies the compression method used in the original file.
[4] Details about the original compression are of no further use and should be dropped. If an application converts the PNG file back to a TIFF/EP or ELIF file, it must supply these details with respect to the new file that it is creating.
[5] This identifies the orientation of the original file. Converters should orient the pixels in the PNG or JNG file with the first pixel representing the top left corner of the image, using a lossless method of rotation. An application that converts a PNG or JNG back to TIFF/EP format must restore the image to an orientation that has the same width and height as the original, using a lossless method of rotation. If the eXIF chunk is present, its "current_orientation" field can be consulted to distinguish between right-side-up and upside-down images, and the application can either reorient the image or revise the value in the "Orientation" tag that it writes.
[6] Resolution must be converted to meters
[7] Is this related to gamma? If so, a gAMA chunk should be written. It is recorded in EV units, so it isn't directly gamma.
[8] This is the time the image was originally recorded by the camera. But see also [12]; how do these tags differ?
[9], [10] This information is recorded in the JPEG datastream.
[11] If the ICC profile is the sRGB profile, then write an sRGB chunk instead of an iCCP chunk (note that DCF images are always in sRGB).
[12] The OECF table is stored as
tE rows columns n*header n*value
where n=rows*columns. "rows" and "columns" are written as NUMBER, the n headers as STRING (with a newline terminating each), and the values are written as NUMBER. Newlines may be included in the final list of NUMBERs to improve readability; these newlines must be ignored by decoders. [13] A tIME chunk can also be written, containing the time that the image was first converted to the PNG or JNG format. If the image is later modified, the tIME chunk will be overwritten with the modification time.
[14] A text "Creation time" chunk should also be written with this time.
[15] Some of the TIFF tags 0x920B through 0x9217 are duplicates of 0xA20B through 0xA217. The former appear in the ISO Standard for TIFF/EP [TIFF/EP], but the latter have been written by some applications.
[16] Since the contents of MakerNote are not known for all vendors, and since it can contain null-terminated strings, it is stored as a string of hex numbers preceded by a byte-count. It ends with a newline and can have embedded newlines which are to be ignored by decoders.
[17] See [15].

Usage of the proposed Exif text keyword

All of the Exif information should be written in a single textExif chunk (multiple chunks can be used, provided that no particular tag appears in more than one of them), with a newline terminating the data for each item. In TIFF/EP tags whose data is a string ending with a null, the terminating null is replaced with a newline character, and embedded newlines are permitted. Converters must verify that the character-count field in tags that contain strings is correct, because the terminating null is not available for use by decoders. Any CRLF sequences in such strings are replaced with the newline character, and the character-count is adjusted accordingly. If any character outside the Latin-1 character set is present (which would violate the TIFF/EP Standard but might happen anyway), the strings must be converted to UTF-8 format and the iTXt chunk must be used. The data field of the text chunk must begin with the Exif keyword plus this caution not to edit the data manually:

Exif\0Caution: Do not manually edit the data in this chunk.\n

The eXIF chunk

The proposed eXIF chunk contains the editing status of the PNG file. Its data field contains two bytes:
     1 byte:  editing_status
              0: image has not been edited
              1: image has been edited by an
                Exif-cognizant application
     1 byte:  current_orientation (1, 3, 6, 8, or 9)
     2 bytes: (unsigned integer in network byte order)
              number of textExif chunks in the PNG datastream.
     4 bytes: CRC of a textExif chunk
     4 bytes: CRC of another textExif chunk
     etc.,    until the CRCs of all textExif chunks have been
              listed, in no particular order.
             

Applications that are cognizant of Exif and have edited the image data in a manner that does not invalidate the Exif data must either change the "editing_status" field to 1 or discard the chunk. If they make changes that invalidate the Exif data, they must discard the eXIF chunk.

If an application reorients an image, it must update the "current_orientation" field. If it edits the Exif "Orientation" tag, it must also update the eXIF chunk's "current_orientation" field, to maintain the proper relationship between the two values.

PNG-compliant applications that are not cognizant of Exif are required by the PNG specification to discard the eXIF chunk if they edit the PNG file in any manner that changes any critical chunk.

Applications that wish to determine the validity of the Exif data contained in the textExif chunks should check for the presence of an eXIF chunk. If none is present, it can be concluded that the file has been edited by an application that is not cognizant of Exif. If it is present, then it can be concluded that the Exif data is still valid. The "editing_status" field of the eXIF chunk can then be used to tell whether the image data was modified or not.

Do not write the eXIF chunk in any PNG files until it is registered, Until then, its specification is subject to change. For testing and evaluation purposes, write an "exIF" chunk (lower-case "x") instead, bearing in mind that the specification for the chunk might change..

Mapping of PNG chunk data to TIFF/EP tags:

Exif Item NamePNG encodingTIFF/EP Tag
ApertureValue tE NUMBER 0x9202
Artist text Author STRING 0x13B
BatteryLevel tE NUMBER or N STRING 0x828F
BitsPerSample sBIT 0x102
BrightnessValue tE (1 or 2)*NUMBER 0x9203
CFAPattern CFArows*CFAcols*NUMBER 0x828E
CFARepeatPatternDim tE 2*NUMBER 0x828D
ColorSpace tE NUMBER 0xA001
ComponentsConfiguration tE 4*NUMBER 0x9101
CompressedBitsPerPixel tE NUMBER 0x9102
Compression tE 0x103
Copyright text Copyright 0x8298
DateTime text Creation time STRING 0x132
DateTimeDigitized tE N STRING 0x9004
DateTimeOriginal tE N STRING 0x9003
DocumentName text Title STRING 0x10D
ExifImageLength tE NUMBER 0xA003
ExifImageWidth tE NUMBER 0xA002
ExifOffset none 0x8769
ExifVersion tE 4*NUMBER 0x9000
ExposureBiasValue tE (1 or 2)*NUMBER 0x9204
ExposureIndex tE (1 or 2)*number 0x9215
ExposureIndex tE (1 or 2)*number 0xA215*
ExposureProgram tE NUMBER 0x8822
ExposureTime tE (1 or 2)*NUMBER 0x829A
FNumber tE (1 or 2)*NUMBER 0x829D
FileClassificationAuthority tE N STRING none
FileCodewordst E N STRING none
FileControlAndHandling tE N STRING none
FileReleasingInstructions tE N STRING none
FileSecurityClassification tE N STRING none
FileSecurityControlNumber tE N STRING none
FileSecurityDowngrade tE N STRING none
FileSecurityDowngradingEvent tE N STRING none
FileSource tE NUMBER 0xA300*
FillOrder none 0x10A
Flash tE NUMBER 0x9209
FlashEnergy tE 0xA20B*
FlashEnergy tE (1 or 2)*NUMBER 0x920B
FlashPixVersion tE 4*NUMBER 0xA000
FocalLength tE (1 or 2)*NUMBER 0x920A
FocalPlaneResolutionUnit tE NUMBER 0xA210*
FocalPlaneResolutionUnit tE NUMBER 0x9210
FocalPlaneXResolution tE NUMBER 0xA20E*
FocalPlaneXResolution tE NUMBER 0x020E
FocalPlaneYResolution tE NUMBER 0x920F
FocalPlaneYResolution tE NUMBER 0xA20F*
GPSAltitude tE NUMBER  
GPSAltitudeRef tE CHAR  
GPSDestBearing tE NUMBER  
GPSDestBearingRef tE CHAR  
GPSDestDistance tE NUMBER  
GPSDestDistanceRef tE CHAR  
GPSDestLatitude tE 3*NUMBER  
GPSDestLatitudeRef tE CHAR  
GPSDestLongitude tE 3*NUMBER  
GPSDestLongitudeRef tE CHAR  
GPSImgDirection tE NUMBER  
GPSImgDirectionRef tE CHAR  
GPSInfo write individual GPS tags as tE 0x8825
GPSLatitude tE 3*NUMBER  
GPSLatitudeRef tE CHAR  
GPSLongitude tE 3*NUMBER  
GPSLongitudeRef tE CHAR  
GPSMapDatum tE N STRING  
GPSMeasureMode tE CHAR  
GPSSDOP tE NUMBER  
GPSSatellites tE N STRING  
GPSSpeed tE NUMBER  
GPSSpeedRef tE CHAR  
GPSStatus tE CHAR  
GPSTimeStamp tE 3*NUMBER  
GPSTrack tE NUMBER  
GPSTrackRef tE CHAR  
GPSVersionID tE 4*NUMBER  
IPTC/NAA tE NUMBER or N STRING 0x83BB
ISOSpeedRatings tE (1 or 2)*NUMBER 0x8827
ImageDescription text Description STRING 0x10E
ImageHistory tE N STRING 0x9213
ImageLength height in IHDR and tE NUMBER 0x101
ImageNumber tE NUMBER 0x9211
ImageWidth width in IHDR and tE NUMBER 0x100
InterColorProfile iCCP 0x8773
Interlace none 0x8829*
InteroperabilityOffset none 0xA005
JPEGInterchangeFormat none 0x201
JPEGInterchangeFormatLength none 0x202
JPEGProc none 0x200
JPEGTables none 0x15B
LightSource tE NUMBER 0x9208
Make tE N STRING 0x10F
MakerNote tE N HEX 0x927C
MaxApertureValue tE NUMBER 0x9205
MeteringMode tE NUMBER 0x9207
Model tE N STRING 0x110
NewSubfileType none 0x0FE*
Noise tE N STRING 0x920D
OECF tE ... 0x8828
Orientation tE NUMBER 0x112
PhotometricInterpretation tE 0x106
PlanarConfiguration tE NUMBER 0x11C
Predictor none 0x13D*
PrimaryChromaticities chromaticities in cHRM 0x13F
ReferenceBlackWhite tE 2*NUMBER 0x214
RelatedSoundFile tE N STRING 0xA004*
ResolutionUnit unit=1 in pHYs 0x128
RowsPerStrip none 0x116
SamplesPerPixel none 0x115
SceneType tE NUMBER 0xA301*
SecurityClassification tEXt Warning Classified 0x9212
SelfTimerMode tE NUMBER 0x882B
SensingMethod tE NUMBER 0x9217
SensingMethod tE NUMBER 0xA217*
ShutterSpeedValue tE NUMBER 0x9201
Software tE N STRING 0x131
SpatialFrequencyResponse tE N STRING 0x920C
SpatialFrequencyResponse tE N STRING 0xA20C*
SpectralSensitivity tE N STRING 0x8824
StripByteCounts none 0x117
StripOffsets none 0x111
SubSecTime tE N STRING 0x9290
SubSecTimeDigitized tE N STRING 0x9292
SubSecTimeOriginal N STRINGtE 0x9291
SubfileType none 0x0FF*
SubjectDistance tE (1 or 2)*NUMBER 0x9206
SubjectLocation tE (2, 3, or 4)*NUMBER 0x9214
SubjectLocation tE (2, 3, or 4)*NUMBER 0xA214*
TIFF/EPStandardID tE 4*NUMBER 0x9216
TimeZoneOffset tE (1 or 2)*NUMBER 0x882A
TransferFunction tE 3*NUMBER 0x12D*
TransferRange tE ? 0x156*
UserComment text Comment/tE 0x9286
WhitePoint white point in cHRM 0x13E
XResolution xppm in pHYs 0x11A
YCbCrCoefficients none 0x211
YCbCrPositioning none 0x213
YCbCrSubSampling none 0x212
YResolution yppm in pHYs 0x11B

Software

Software applications for converting to and from the PNG format are beyond the scope of this document. It is clearly evident that Thierry Bousch's exifdump [EXIFDUMP] software could be easily modified to do the job.

If you wish to write software to evaluate this proposal, you must not write eXIF chunks until this chunk type is registered by the PNG group. Instead, use a lower-case "x" to write an exIF chunk which has the same syntax as the proposed eXIF chunk but is a private unregistered chunk. Your software may read the eXIF chunk in anticipation of its approval, however, bearing in mind that the specification for the chunk might change.

Rationale

This section provides some of the reasoning behind the decisions made in forming this proposal.

Why not simply embed the entire TIFF/EP data structure in binary form in a new eXIF or eXIf chunk?

Issues to be resolved:

Revision history:

References:

[EXIFDUMP] Bousch, Thierry, exifdump.py, v 1.13 (Python source code for exifdump), 1999/08/21, available at
http://topo.math.u-psud.fr/~bousch/exifdump.py

[EXIFFORMAT] Tachibanaya, TsuruZoh, "Description of Exif File Format", Revision 1.2, July 19, 2000, available at
http://www.butaman.ne.jp/~tsuruzoh/Computer/Digicams/exif.html (Japanese) http://www.butaman.ne.jp/~tsuruzoh/Computer/Digicams/exif-e.html (English)

[EXIFSPEC] Japan Electronic Industry Development Association (JEIDA), "Digital Still Camera Image File Format Standard (Exchangeable image file format for still cameras: Exif)", version 2.0, November 1997. I have not seen this formal specification of the EXIF format. It is not available on-line.

[JNG] Randers-Pehrson, Glenn, et. al., "JNG (JPEG Network Graphics) Specification, version 0.97, February, 2000, available at
ftp://swrinde.nde.swri.edu/pub/mng/documents.

[MNG] Randers-Pehrson, Glenn, et. al., "MNG (Multiple-image Network Graphics) Format, version 0.97", February, 2000, available at
ftp://swrinde.nde.swri.edu/pub/mng/documents.

[MNG-VLC] Randers-Pehrson, Glenn, et. al., "MNG-VLC (Multiple-image Network Graphics--Very Low Complexity) Format, version 0.97", February, 2000, available at
ftp://swrinde.nde.swri.edu/pub/mng/documents.

[PNG] Randers-Pehrson, Glenn, et. al., "PNG (Portable Network Graphics) Specification, version 1.2", July, 1999, available at
ftp://swrinde.nde.swri.edu/pub/png/documents.

[PNGEXT] Randers-Pehrson, Glenn, et. al., "Extensions to the PNG 1.2 Specification, version 1.2.0", July, 1999, available at
ftp://swrinde.nde.swri.edu/pub/png/documents.

[TIFF/EP] ISO/DIS 12234-2, "Photography---Electronic still picture imaging--- Removable memory---Part 2: Image data format---TIFF/EP", November 24, 1998, available at
http://www.pima.net/standards/iso/standards/documents/N4378.pdf


[HOME] | [UP]