TIFF: Difference between revisions
No edit summary |
|||
Line 43: | Line 43: | ||
Storing a sequence of images in a single TIFF file is also possible, and is allowed under TIFF 6.0, provided the rules for multi-page images are followed. |
Storing a sequence of images in a single TIFF file is also possible, and is allowed under TIFF 6.0, provided the rules for multi-page images are followed. |
||
fmf,.mf.,mf.mf.f,m.f,mf,mf.fm.f,mf,.mf.,mf.,m |
|||
== Private tags == |
|||
Developers can apply for a block of "private tags" to enable them to include their own proprietary information inside a TIFF file without causing problems for file interchange. TIFF readers are required to ignore tags that they do not recognise, and a developer's private tags are guaranteed not to clash with anyone else's tags or with the standard set of tags defined in the specification. |
|||
== Exploits == |
== Exploits == |
Revision as of 09:46, 25 January 2008
Filename extension |
.tiff, .tif |
---|---|
Internet media type |
image/tiff, image/tiff-fx |
Type code | TIFF |
Uniform Type Identifier (UTI) | public.tiff |
Developed by | Aldus, now Adobe Systems |
Type of format | Image file formats |
Extended to | Exif, DCF, TIFF/EP |
Tagged Image File Format (abbreviated TIFF) is a file format for storing images, including photographs and line art. It is now under the control of Adobe. Originally created by the company Aldus[1] for use with what was then called "desktop publishing", the TIFF format is widely supported by image-manipulation applications, by publishing and page layout applications, by scanning, faxing, word processing, optical character recognition and other applications.[2] Adobe Systems, which acquired Aldus, now holds the copyright to the TIFF specification. TIFF has not had a major update since 1992, though several Aldus/Adobe technical notes have been published with minor extensions to the format, and several specifications, including TIFF/EP, have been based on the TIFF 6.0 specification.
History
The phrase "Tagged Image File Format", or, actually, "Tag Image File Format", was used as a subtitle in some earlier versions of the TIFF specification. The current TIFF specification, TIFF 6.0, makes no mention of these phrases; the name is now, simply, "TIFF".
TIFF was originally created as an attempt to get desktop scanner vendors of the mid-1980s to agree on a common scanned image file format, rather than have each company promulgate its own proprietary format. In the beginning, TIFF was only a bi-level image format (only two possible values for each pixel), since that was all that desktop scanners could handle. As scanners became more powerful, and as desktop computer disk space became more plentiful, TIFF grew to accommodate grayscale images, then color images.
Flexible options
TIFF is a flexible and adaptable file format. It can handle multiple images and data in a single file through the inclusion of "tags" in the file header. Tags can indicate the basic geometry of the image, such as its size, or define how the image data is arranged and whether various image compression options are used. For example, TIFF can be used as a container for JPEG and RLE (run-length encoding) compressed images. A TIFF file can also include a vector-based Clipping path (an outline that crops or frames the main image). The ability to store image data in a lossless format makes TIFF files a useful method for archiving images. Unlike standard JPEG, TIFF files using lossless compression (or no compression at all) can be edited and resaved without suffering a compression loss. Other TIFF file options include multiple layers or pages.
Although it is a widely accepted standard format today, when TIFF was first introduced, its extensibility led to compatibility problems. Programmers were free to specify new tags and options, but not all programs implemented support for all the tags that had been created. As a result the lowest common denominator soon became TIFF, and even today the vast majority of TIFF files, and the code that reads them, are based on a 32-bit CMYK or 24-bit RGB uncompressed image.
TIFF has an option to use LZW compression, a lossless data compression technique for reducing file size. Until 2004, the use of this option was limited because the LZW technique was the subject of several patents. However, these patents have now all expired.
Every TIFF file begins with a 2-byte indicator of byte order: "II" for little endian and "MM" for big endian byte ordering. The following 2 bytes represent the number 42. The number 42 was selected "for its deep philosophical significance." The reading of 42 is dependent on the byte order indicated in the first 2 bytes. All words, double words, and so on, in the TIFF file are read based on the indicated byte order.
The TIFF 6.0 Specification (Section 7: Additional baseline TIFF Requirements) states that compliant TIFF readers must support both byte orders. However, TIFF writers are free to choose whichever byte order is most convenient.
TIFF in document imaging
TIFF format is standard in document imaging and document management systems. In this environment it is normally used with CCITT Group IV 2D compression, which supports black-and-white (also called bitonal or monochrome) images. In high-volume environments, documents are typically scanned in black and white (rather than color or grayscale) to conserve storage capacity. An average A4 scan produces 30 kilobytes (KB) of data at 200 ppi (pixels per inch resolution) and 50 KB of data at 300 ppi. 300 ppi is far more common than 200 ppi.
Because TIFF format supports multiple pages, multi-page documents can be saved as single TIFF files rather than as a series of files for each scanned page.
TIFF in scientific imaging
The inclusion of the SampleFormat tag in TIFF 6.0 allows TIFF files to handle advanced pixel data types, including integer images with more than 8 bits per channel and floating point images. This tag made TIFF 6.0 a viable format for scientific image processing where extended precision is required. An example is the use of TIFF to store images acquired using scientific CCD cameras that provide up to 16 bits per pixel of intensity resolution.
Storing a sequence of images in a single TIFF file is also possible, and is allowed under TIFF 6.0, provided the rules for multi-page images are followed.
fmf,.mf.,mf.mf.f,m.f,mf,mf.fm.f,mf,.mf.,mf.,m
Exploits
The TIFF file format is unusual in comparison to other image formats, in that it is composed of small descriptor blocks containing offsets into the file which point to the actual pixel image data (composed of bands of pixel rows). This means that incorrect offset values can cause programs to attempt to read erroneous portions of the file or attempt to read past the physical end of file. Like most other image file formats, improperly encoded packet or line lengths within the file can cause poorly written rendering programs to overflow their internal buffers. Properly written image rendering programs generally avoid such pitfalls.
Multiple buffer overflows have been found in libtiff,[1][2][3] some of these have also been used to execute unsigned code on the PlayStation Portable,[4][5] as well as run 3rd party apps on the iPhone and iPod Touch.
See also
- Comparison of graphics file formats
- Image file formats
- Windows Picture and Fax Viewer
- GeoTIFF
- MIME image/tiff RFC 3302, image/tiff-fx RFC 3950
- DNG
Notes
- ^ Versions 4 and 5 of the TIFF specification included the sentence "This memorandum has been prepared jointly by Aldus and Microsoft in conjunction with leading scanner and printer manufacturers"; there was a TIFF co-marketing and developer support effort with Microsoft during this time, though Microsoft was not a technical contributor to the specification. Version 6 (1992) of the TIFF specification dropped the Microsoft reference. TIFF Revision 5.0 TIFF Revision 6.0
- ^ TIFF was chosen as the native format for raster graphics in the NeXTstep operating system; this TIFF support carried over into Mac OS X.
External links
- Adobe TIFF Resources page: Adobe links to the specification and main TIFF resources
- LibTIFF Home Page: Widely used library used for reading and writing TIFF files as well as TIFF file processing command line tools
- TIFF File Format FAQ and TIFF Tag Reference: Everything you always wanted to know about the TIFF File Format but were afraid to ask
- The BigTIFF File Format Proposal: Breaking the 4 gigabyte boundary
- TIFF description at Digital Preservation (The Library of Congress)
- TIFF Revision 4.0: Specification for revision 4.0, in HTML (warning: for historical purposes only, the TIFF 6.0 spec contains the full 4.0 revision)
- TIFF Revision 5.0: Specification for revision 5.0, in HTML (warning: for historical purposes only, the TIFF 6.0 spec contains the full 5.0 revision)
- TIFF Revision 6.0: Specification for revision 6.0, in PDF (warning: there is an outdated and flawed section (jpeg compression), corrected in supplements, and there are additions to this PDF too – for the full specification, see link to Adobe TIFF Resources)
- TIFF CentralMore TIFF links and information.