TIFF
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 mainly storing images, including photographs and line art. Originally created by the company Aldus, jointly with Microsoft, for use with PostScript printing, TIFF is a popular format for high color depth images, along with JPEG and PNG. TIFF format is widely supported by image-manipulation applications such as Photoshop by Adobe, GIMP, Ulead PhotoImpact, and Photo-Paint as well as Paint Shop Pro by Corel, by desktop publishing and page layout applications, such as QuarkXPress and Adobe InDesign, and by scanning, faxing, word processing, optical character recognition, and other applications. TIFF was chosen as the native format for raster graphics in the NeXTstep operating system, and this TIFF support carried over into Mac OS X. Adobe Systems, which acquired the PageMaker publishing program from Aldus, now controls the TIFF specification, although it has not had a major update since 1992 (several technical notes have been published with minor extensions to the format).
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-1980's 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, 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 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 "the" TIFF, and even today the vast majority of TIFF files, and the code that reads them, are based on a simple 32-bit uncompressed image.
TIFF has an option to use LZW compression, a lossless data compression technique for reducing file size. Until recently, 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. The entire file is read based on the indicated byte order.
Byte order can cause compatibility issues between Apple Macintosh and Windows programs, which typically use different byte order for TIFF files. Some programs offer the option of saving in Mac or Windows byte order so files can be used across platforms.
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. Written By Hemant Kumar
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].
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
- PlayStation Portable
- Firmware
- PSP Homebrew
External links
- Adobe TIFF Resources page: Adobe linking to the specification and main TIFF resources
- LibTIFF Home Page: the most widely used library used for reading and writing TIFF files
- TIFF Viewers: Resource listing for free and commercial tiff viewers
- 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
- TIFF Revision 5.0: Specification for revision 5.0, in HTML
- TIFF Revision 6.0: Specification for revision 6.0, in PDF