Difference between revisions of "Exif"
Jon Phillips (talk | contribs) |
(described structure, et al) |
||
Line 7: | Line 7: | ||
{{incomplete}} | {{incomplete}} | ||
− | [http://en.wikipedia.org/wiki/Exif Exchangeable image file format] (official abbreviation Exif, not EXIF) is a specification for the image file format used by digital cameras. It was created by the Japan Electronic Industry Development Association (JEIDA). The specification uses the existing JPEG, TIFF Rev. 6.0, and RIFF WAVE file formats, with the addition of specific metadata tags. It is not supported in JPEG 2000 or PNG. | + | [http://en.wikipedia.org/wiki/Exif Exchangeable image file format] (official abbreviation Exif, not EXIF) is a specification for the image file metadata format used in audio and image files. However, it is not commonly used in audio and is primarily used by digital cameras to store information such as shutter speed, f-stop, zoom, and so forth. It was created by the Japan Electronic Industry Development Association (JEIDA). The specification uses the existing JPEG, TIFF Rev. 6.0, and RIFF WAVE file formats, with the addition of specific metadata tags. It is not supported in JPEG 2000 or PNG. |
+ | |||
+ | Because the Exif 2.1 standard was created in 1998, it is supported by most image viewing or editing software, as well as nearly all digital cameras. Exif data is available in over 30 file formats; consequently, Exif data is a valuable tool for Creative Commons, as it has greater support than certain other recent metadata formats: XMP, for instance. | ||
+ | |||
+ | == Exif Structure == | ||
+ | |||
+ | Exif data is structured into discrete tags. Each piece of information included in an image has a Tag Name, Field Name, Tag ID, Type, and Count. | ||
+ | |||
+ | ''Tag Name'' is an informal description of each tag. | ||
+ | |||
+ | ''Field Name'' is a variable name describing the tag, and used by some programs | ||
+ | |||
+ | ''Tag ID'' is either a hex or decimal number frequently used to reference a tag | ||
+ | |||
+ | ''Type'' can be Byte, ASCII, Short, Long, Rational, Undefined, SLong or SRational, usually abbreviated as a number | ||
+ | |||
+ | ''Count'' is the number of values, but not the number of bytes. One Short has a count of 1, despite being 2 bytes | ||
+ | |||
+ | An example of one tag is Image width, whose Field Name is ImageWidth, ID of 0x0100, type of either short or long, and a count of 1. | ||
+ | |||
+ | Of more interest to Creative Commoners is the tag whose Field Name is "Artist", ID 0x013B, type ASCII, and of undetermined length. There are tags for artist, title, copyright, and comments, all of interest to Creative Commons. | ||
+ | |||
+ | Tags are also separated into groups such as Header, IFD0, IFD1, Exif IFD, GPS IFD, or Thumbnail Image Data. Artist, title and copyright information are all in IFD0. Comments are in the Exif IFD. | ||
+ | |||
+ | More information is available in the [http://exif.org/specifications.html Official Exif Specifications] | ||
== Developer Challenges == | == Developer Challenges == | ||
Line 26: | Line 50: | ||
=== Implementations === | === Implementations === | ||
− | + | There are libraries which manipulate Exif data in most languages - notably [http://pel.sourceforge.net/ PHP]. Some languages only have libraries for reading Exif data, and none to write it. | |
=== Examples === | === Examples === | ||
Line 49: | Line 73: | ||
* http://en.wikipedia.org/wiki/Exif | * http://en.wikipedia.org/wiki/Exif | ||
− | * | + | * http://exif.org/specifications.html |
Revision as of 21:42, 18 August 2006
Exchangeable image file format (official abbreviation Exif, not EXIF) is a specification for the image file metadata format used in audio and image files. However, it is not commonly used in audio and is primarily used by digital cameras to store information such as shutter speed, f-stop, zoom, and so forth. It was created by the Japan Electronic Industry Development Association (JEIDA). The specification uses the existing JPEG, TIFF Rev. 6.0, and RIFF WAVE file formats, with the addition of specific metadata tags. It is not supported in JPEG 2000 or PNG.
Because the Exif 2.1 standard was created in 1998, it is supported by most image viewing or editing software, as well as nearly all digital cameras. Exif data is available in over 30 file formats; consequently, Exif data is a valuable tool for Creative Commons, as it has greater support than certain other recent metadata formats: XMP, for instance.
Contents
Exif Structure
Exif data is structured into discrete tags. Each piece of information included in an image has a Tag Name, Field Name, Tag ID, Type, and Count.
Tag Name is an informal description of each tag.
Field Name is a variable name describing the tag, and used by some programs
Tag ID is either a hex or decimal number frequently used to reference a tag
Type can be Byte, ASCII, Short, Long, Rational, Undefined, SLong or SRational, usually abbreviated as a number
Count is the number of values, but not the number of bytes. One Short has a count of 1, despite being 2 bytes
An example of one tag is Image width, whose Field Name is ImageWidth, ID of 0x0100, type of either short or long, and a count of 1.
Of more interest to Creative Commoners is the tag whose Field Name is "Artist", ID 0x013B, type ASCII, and of undetermined length. There are tags for artist, title, copyright, and comments, all of interest to Creative Commons.
Tags are also separated into groups such as Header, IFD0, IFD1, Exif IFD, GPS IFD, or Thumbnail Image Data. Artist, title and copyright information are all in IFD0. Comments are in the Exif IFD.
More information is available in the Official Exif Specifications
Developer Challenges
Develop software that embeds and can edit licenses and metadata into this file format. The tag types to use for this are the XMP dc type and the XMP cc tag type.
Also, one should support the standard Exif metadata tag "Copyright", which is a string would be important as well:
0x8298 Copyright string IFD0
And the Comment type as well:
0x9286 UserComment undef ExifIFD
Exif basic tag types are available here: http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html
Implementations
There are libraries which manipulate Exif data in most languages - notably PHP. Some languages only have libraries for reading Exif data, and none to write it.
Examples
Code
- Please add yours here :)
Sample
- Please add yours here :)
Mockups
- Please add yours here :)
TODO
- Please help by adding you todo here :)