Exchangeable image file format
From Wikipedia, the free encyclopedia
Exchangeable image file format (Exif) is a specification for the image file format used by digital cameras. The specification uses the existing JPEG, TIFF Rev. 6.0, and RIFF WAV file formats, with the addition of specific metadata tags. It is not supported in JPEG 2000, PNG, or GIF.
Contents |
[edit] Background
Exif was created by the Japan Electronic Industries Development Association (JEIDA). Version 2.1 of the specification is dated June 12, 1998, and the latest, version 2.2 dated April 2002, is also known as Exif Print. Though the specification is not currently maintained by any industry or standards organisation, its use by camera manufacturers is nearly universal.
The metadata tags defined in the Exif standard cover a broad spectrum:
- Date and time information. Digital cameras will record the current date and time and save this in the metadata.
- Camera settings. This includes static information such as the camera model and make, and information that varies with each image such as orientation, aperture, shutter speed, focal length, metering mode, and ISO speed information.
- A thumbnail for previewing the picture on the camera's LCD screen, in file managers, or in photo manipulation software.
- Descriptions and copyright information.
[edit] Technical
The Exif tag structure is taken from that of TIFF files. On several image specific properties, there is a large overlap between the tags defined in the TIFF, Exif, TIFF/EP, and DCF standards. For descriptive metadata, there is an overlap between Exif and IPTC Information Interchange Model info, which also can be embedded in a JPEG file.
When Exif is employed for JPEG files, the Exif data is stored in one of JPEG's defined utility Application Segments, the APP1 (segment marker 0xFFE1), which in effect holds an entire TIFF file within. When Exif is employed in TIFF files (also when used as "an embedded TIFF file" mentioned earlier), the TIFF Private Tag 0x8769 defines a sub-Image File Directory (IFD) that holds the Exif specified TIFF Tags. In addition, Exif also defines a Global Positioning System sub-IFD using the TIFF Private Tag 0x8825, holding location information, and a "Interoperability IFD" specified within the Exif sub-IFD, using the Exif tag 0xA005.
[edit] Geolocation
The Exif format has standard tags for location information. Currently, only very few cameras, such as the Ricoh 500SE, Nikon Coolpix P6000 or some higher-end mobile phones, have a built-in GPS receiver and store the location information in the Exif header when the picture is taken. For other cameras, such as Nikon D300, Nikon D90, or FinePix S5 Pro, a separate GPS receiver that fits into the flash connector or hot shoe is available. Recorded GPS data can also be added to any digital photograph on a computer, either by correlating the time stamps of the photographs with a GPS record from a hand-held GPS receiver or manually using a map or mapping software. The process of adding geographic information to a photograph is known as geocoding. Photo sharing communities like locr or Flickr equally allow their users to upload geocoded pictures or to add geolocation information online.
Apple Inc. has added geocoding capabilities to the iPhone. The second generation iPhone (known as the iPhone 3G) is equipped with a GPS receiver, and uses the receiver to geotag the Exif data in photographs taken with the device. The first generation iPhone is not equipped with GPS, and uses nearby cellular phone towers to triangulate and approximate the location at which the picture was taken, which is then added to the Exif data associated with the picture.
[edit] Program support
Exif data is embedded within the image file itself. While many recent image manipulation programs recognize and preserve Exif data when writing to a modified image, this is not the case for most older programs. Many image gallery programs also recognise Exif data and optionally display it alongside the images.
Software libraries, such as libexif[1] and Exiv2[2] for C, or Image::ExifTool[3] for Perl, parse Exif data from files and read/write Exif tag values.
[edit] Problems
Apart from not being a maintained standard, the Exif format has a number of drawbacks, mostly relating to its use of legacy file structures.
- The derivation of Exif from the TIFF file structure using offset pointers in the files means that data can be spread anywhere within a file, which means that software is likely to corrupt any pointers or corresponding data that it doesn't decode/encode. For this reason most image editors damage or remove the Exif metadata to some extent upon saving.[citation needed]
- The standard defines a MakerNote tag, which allows camera manufacturers to place any custom format metadata in the file. This is used increasingly by camera manufacturers to store a myriad of camera settings not listed in the Exif standard, such as shooting modes, post-processing settings, serial number, focusing modes, etc. As this tag format is proprietary and manufacturer-specific, it can be prohibitively difficult to retrieve this information from an image (or properly preserve it when rewriting an image). Some manufacturers encrypt portions of the information; for example, Nikon encrypts the detailed lens data in their newer MakerNote data versions.[4]
- The standard only allows TIFF or JPEG files — there is no provision for a "raw" file type which would be a direct data dump from the sensor device. This has caused camera manufacturers to invent many proprietary, incompatible "raw" file formats. To solve this problem, Adobe developed the DNG format (a TIFF-based raw file format), in hopes that manufacturers would standardize on a single, raw file format.
- The Exif standard specifically states that color depth is always 24 bits.[5] However, many modern cameras, such as the Nikon D70 which captures 36 bits of color per pixel, can capture significantly more. Since Exif/DCF files cannot represent this color depth, many manufacturers have developed proprietary, non-compatible RAW image formats.
- Most digital cameras can also capture video — the Exif standard has no provision for video files.
- Exif is very often used in images created by scanners, however the standard makes no provisions for any scanner specific information.
- Photo manipulation software sometimes fails to update the embedded thumbnail after an editing operation, possibly causing the user to inadvertently publish compromising information.[6]
- Exif metadata is restricted in size to 64 kB in JPEG images because according to the specification this information must be contained within a single JPEG APP1 segment. Although the FlashPix extensions allow information to span multiple JPEG APP2 segments, these extensions are not commonly used. This has prompted some camera manufacturers to develop non-standard techniques for storing the large preview images used by some digital cameras for LCD review. These non-standard extensions are commonly lost if a user re-saves the image using image editor software, possibly rendering the image incompatible with the original camera that created it.
- There is no way to record time-zone information along with the time, thus rendering the stored time ambiguous.
- There is no field to record readouts of a camera's accelerometers or inertial navigation system. Such data could help to establish the relationship between the image sensor’s XYZ coordinate system and the gravity vector (i.e., which way is down in this image). It could also establish relative camera positions or orientations in a sequence of photos.
[edit] Competitors
Metadata Working Group was formed by a consortium of companies in 2006 (according to their web page, or 2007 as stated in their own press release). It released its first specification[7] for digital photography metadata on 24 September, 2008.
Extensible Metadata Platform (XMP) was created by Adobe Systems to be a better metadata format for photography and image processing. However, it is generally unsupported in cameras.
[edit] Viewing and editing Exif data
In Windows XP and later Microsoft operating systems, a subset of the Exif information may be viewed by right clicking on an image file and clicking properties; from the properties dialog click the Summary tab. However, this can damage certain Exif headers if changes are applied.[8] Other Windows software may be more reliable.
In Windows Mobile(Pocket PC), freeware XnView Pocket can display the Exif data.
On Mac OS X 10.4 and above, this information may be viewed in the Finder by doing Get Info on a file and expanding the More Info section.
On Unix systems using the GNOME desktop environment, a subset of Exif data can be seen by right clicking the file in the Nautilus file manager and selecting properties. In KDE, it can be seen by right clicking, selecting "Properties" and then "Meta info". Most Unix image viewers give the full set of Exif data.
There are many software tools available which allow both viewing and editing of Exif data. The Opanda IExif Viewer is a free stand-alone application for viewing Exif data, and also a plug-in for MSIE and Firefox on Windows platforms, that allows examination of detailed Exif data online by right clicking on an image.[9] FxIF and Exif Viewer are multi-platform extensions for Firefox that display Exif data in the image properties dialog. This feature is native in the web browser Opera, under image properties.
Retrieval of detailed Exif data not usually displayed by other programs can be accomplished using ExifTool which runs in Perl, and is available for all platforms.
For AmigaOS/MorphOS 'SView5' covers a lot of the previously mentioned functionality.
[edit] Example
The following table shows Exif data for a photo made with a typical digital camera. Notice that authorship and copyright information is generally not provided in the camera's output, so it must be filled in during later stages of processing.
Tag | Value |
---|---|
Manufacturer | CASIO |
Model | QV-4000 |
Orientation | top - left |
Software | Ver1.01 |
Date and Time | 2003:08:11 16:45:32 |
YCbCr Positioning | centered |
Compression | JPEG compression |
x-Resolution | 72.00 |
y-Resolution | 72.00 |
Resolution Unit | Inch |
Exposure Time | 1/659 sec. |
FNumber | f/4.0 |
ExposureProgram | Normal program |
Exif Version | Exif Version 2.1 |
Date and Time (original) | 2003:08:11 16:45:32 |
Date and Time (digitized) | 2003:08:11 16:45:32 |
ComponentsConfiguration | Y Cb Cr - |
Compressed Bits per Pixel | 4.01 |
Exposure Bias | 0.0 |
MaxApertureValue | 2.00 |
Metering Mode | Pattern |
Flash | Flash did not fire. |
Focal Length | 20.1 mm |
MakerNote | 432 bytes unknown data |
FlashPixVersion | FlashPix Version 1.0 |
Color Space | sRGB |
PixelXDimension | 2240 |
PixelYDimension | 1680 |
File Source | DSC |
InteroperabilityIndex | R98 |
InteroperabilityVersion | (null) |
[edit] FlashPix extensions
The Exif specification also includes a description of FPXR (FlashPix-Ready) information which may be stored in APP2 of JPEG images using a structure similar to that of a FlashPix file.[10] These FlashPix extensions allow meta information to be preserved when converting between FPXR JPEG images and FlashPix images. FPXR information may be found in images from some models of digital cameras by Kodak and Hewlett-Packard. Below is an example of the FPXR information found in a JPEG image from a Kodak EasyShare V570 digital camera:
Tag | Value |
---|---|
Code Page | 1200 |
Used Extension Numbers | 1 |
Extension Name | Screen nail |
Extension Class ID | 10000230-6FC0-11D0-BD01-00609719A180 |
Extension Persistence | Invalidated By Modification |
Extension Create Date | 2003:03:29 17:47:50 |
Extension Modify Date | 2003:03:29 17:47:50 |
Creating Application | Picoss |
Extension Description | Presized image for LCD display |
Storage-Stream Pathname | /.Screen Nail_bd0100609719a180 |
Screen Nail | (124498 bytes of data containing 640x480 JPEG preview image) |
[edit] Exif audio files
The Exif specification describes the RIFF file format used for WAV audio files, and defines a number of tags for storing meta information such as artist, copyright, creation date, and more in these files.[11] The following table gives an example of Exif information found in a WAV file written by the Pentax Optio WP digital camera:
Tag | Value |
---|---|
Encoding | Microsoft PCM |
Num Channels | 1 |
Sample Rate | 7872 |
Avg Bytes Per Sec | 7872 |
Bits Per Sample | 8 |
Date Created | 2005:08:08 |
Exif Version | 0220 |
Related Image File | IMGP1149.JPG |
Time Created | 16:23:35 |
Make | PENTAX Corporation |
Model | PENTAX Optio WP |
MakerNote | (2064 bytes of data) |
[edit] MakerNote data
The 'MakerNote' tag contains image information normally in a proprietary binary format. Some of these manufacturer-specific formats have been decoded:
- OZHiker: Agfa, Canon, Casio, Epson, Fujifilm, Konica/Minolta, Kyocera/Contax, Nikon, Olympus, Panasonic, Pentax/Asahi, Ricoh, Sony [12]
- Kamisaka: Canon, Casio, FujiFilm, ISL, KDDI, Konica/Minolta, Mamiya, Nikon, Panasonic, Pentax, Ricoh, Sigma, Sony, WWL[13]
- X3F Info: Sigma/Foveon[14]
- ExifTool: Canon, Casio, FujiFilm, JVC/Victor, Kodak, Leaf, Konica-Minolta, Nikon, Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Ricoh, Sanyo, Sigma/Foveon, Sony[15]
- Olypedia: Olympus[16]
[edit] See also
- Geocoded photo
- eXtensible Metadata Platform (XMP)
- IPTC Information Interchange Model
- Tag Image File Format / Electronic Photography (TIFF/EP)
- Point of interest
[edit] References
- ^ "The libexif C EXIF library". http://libexif.sourceforge.net/. Retrieved on 2009-02-12.
- ^ "Exiv2 Image Metadata Library". Andreas Huggel. http://www.exiv2.org/. Retrieved on 2009-02-12.
- ^ "Image::ExifTool Perl library". Phil Harvey. http://owl.phy.queensu.ca/~phil/exiftool/. Retrieved on 2009-02-12.
- ^ "Nikon Tags: Nikon LensData01 Tags". Phil Harvey. 2008-01-25. http://owl.phy.queensu.ca/~phil/exiftool/TagNames/Nikon.html#LensData01. Retrieved on 2008-01-28.
- ^ (JEITA CP-3451) Section 4.4.3: Pixel Composition and Sampling
- ^ Maximillian Dornseif (2004-12-17). "EXIF Thumbnail in JPEG images". disLEXia 3000 blog. http://blogs.23.nu/disLEXia/stories/5751. Retrieved on 2008-01-28.
- ^ "Metadata Working Group: Specifications". Metadata Working group. 2008-09-24. http://www.metadataworkinggroup.org/specs/. Retrieved on 2008-12-28.
- ^ "Nikon also warn about Windows XP". Digital Photography Review. 2001-12-14. http://www.dpreview.com/news/0112/01121402nikonxpwarnings.asp. Retrieved on 2008-01-28.
- ^ "Opanda IExif is a professional Exif viewer for your D40, D40x & D60 Pictures". Digital Photography Review. 2008-02-19. http://nikond40blog.blogspot.com/2008/02/opanda-iexif-is-professional-exif.html. Retrieved on 2008-06-02.
- ^ (JEITA CP-3451) Section 4.7.2: Interoperability Structure of APP2 in Compressed Data
- ^ (JEITA CP-3451) Section 5: Exif Audio File Specification
- ^ Evan Hunter. "EXIF Makernotes - Reference Information". OZHiker. http://ozhiker.com/electronics/pjmt/jpeg_info/makernotes.html. Retrieved on 2008-01-29.
- ^ "Exif MakerNote 解析カイセキ情報" (in Japanese). Kamisaka. http://homepage3.nifty.com/kamisaka/makernote. Retrieved on 2008-01-29.
- ^ "SIGMA and FOVEON EXIF MakerNote Documentation". x3f.info. http://web.archive.org/web/20070805234644/http://www.x3f.info/technotes/FileDocs/MakerNoteDoc.html. Retrieved on 2008-03-26.
- ^ "ExifTool Tag Names". Phil Harvey. 2008-01-18. http://owl.phy.queensu.ca/~phil/exiftool/TagNames. Retrieved on 2008-01-29.
- ^ "Olympus Makernotes" (in German). Olypedia. http://olypedia.de/Olympus_Makernotes. Retrieved on 2008-01-29.
- Technical Standardization Committee on AV & IT Storage Systems and Equipment (April 2002) (.PDF). Exchangeable Image File Format for Digital Still Cameras (JEITA CP-3451). Version 2.2. Japan Electronics and Information Technology Industries Association. http://www.exif.org/Exif2-2.PDF. Retrieved on 2008-01-28.
[edit] External links
- Exif 2.2 Specification as PDF file or as HTML
- Exif Print info on Cipa site
- Exif in the TIFF Tags Directory
- Exif remover online tool
- Exif standard version 2.21 PDF file
- Metadata working group