Sustainability of Digital Formats
 Planning for Library of Congress Collections

Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact
Format Description Categories >> Browse Alphabetical List

TIFF, Pyramid

>> Back
Table of Contents
Format Description Properties Explanation of format description terms

Identification and description Explanation of format description terms

Full name TIFF, Pyramid
Description

TIFF is a tag-based file format for storing and interchanging raster images. A TIFF file can hold multiple images in a single file. The term "Pyramid TIFF" is used to describe a TIFF file that wraps a sequence of bitmaps that each represent the same image at increasingly coarse spatial resolutions. The individual images may be compressed or tiled. Compression is used when storage space savings are significant; tiling may yield more efficient delivery when most use involves zooming into image sections rather than viewing the whole. The term Pyramid TIFF or pyramid-encoded TIFF has been applied to different approaches, each based on valid internal TIFF structures, that have been used to support dynamic delivery of the underlying image at different spatial resolutions. Pyramid TIFF files created by different applications are not necessarily the same in structure. In particular, judging from analysis with JHOVE and the identify command in ImageMagick, Adobe's Photoshop and Image Magick generate files with different internal TIFF structures; in both cases, most software that can handle TIFFs appears to recognize the primary (full-size) TIFF without problem.

[Note: For convenience for the compilers of this resource, and to allow human readers to see the differences between the two forms of TIFF that may get called "Pyramid TIFF", we describe the two variants in a single document. In a format registry intended to support automated processes, they would need separate identification.]

Production phase Most often a middle-state format intended to support efficient dynamic delivery of final-state format images at different resolutions.
Relationship to other formats
    Subtype of TIFF_6, TIFF, Revision 6.0
    May contain Uncompressed image bitmap
    May contain Compressed JPEG image bitmap

Local use Explanation of format description terms

LC experience or existing holdings LC has no experience with Pyramid TIFFs and does not plan to use them.
LC preference TIFF is one of the preferred formats for bitmapped images. However, TIFF_UNC or TIFF_G4 are preferred as master images.

Sustainability factors Explanation of format description terms

Disclosure See TIFF_6
    Documentation No separate description of an internal representation of the images at multiple resolutions has been located for either the form of Pyramid TIFF created by Adobe or the form created by Image Magick. See TIFF_6 for documentation on the underlying TIFF 6.0 specification.
Adoption Most image manipulation programs that can handle TIFFs can read the primary (full-size) image but ignore the smaller images. Adobe Photoshop (since version 6) can write (Save As) Pyramid TIFF files, but allows access only to the primary image. The eRez Imaging Server supports efficient delivery of images stored in the form of Pyramid TIFF files generated by Adobe. As of version 3.1 (released Spring 2005), eRez also supports pyramid TIFFs created by Image Magick.

TIFF itself is very widely adopted as a master file format.
    Licensing and patents None known.
Transparency Depends on whether individual image bitstreams are compressed. Chaining of IFD and SubIFDs within a TIFF can be followed and understood given knowledge of the basic TIFF structure.
Self-documentation For capability from the TIFF specification itself, see TIFF_6. For a valuable extension, see TIFF_UNC_EXIF.
External dependencies None
Technical protection considerations None

Quality and functionality factors Explanation of format description terms

Still Image
Normal rendering Good support.
Clarity (high image resolution) See TIFF_6
Color maintenance See TIFF_6
Support for graphic effects and typography See TIFF_6
Functionality beyond normal rendering Pyramid TIFFs are designed to support efficient zooming to different spatial resolutions, by storing the same image at multiple resolutions.

File type signifiers Explanation of format description terms

Tag Value Note
Filename extension See related format. 

See TIFF_6

Internet Media Type tif, tiff, ptif
Image Magick uses .ptif for its Pyramid TIFFs. See TIFF_6.
Magic numbers See related format. 

See TIFF_6.


Notes Explanation of format description terms

General

Pyramid TIFFs are always considerably larger than the primary source image (assuming no compression). Both Adobe Photoshop and ImageMagick generate a sequence of sub-images using a factor of 50% by linear dimension (25% by area and hence image size). This results in a file that is at least 25% larger than the source file and approaches 33% larger rapidly as the number of sub-images increases.

==Notes on ImageMagick Pyramid encoded TIFF (referred to as PTIF and PTIFF)==

Sample output from ImageMagick identify command for a .ptif file created by the ImageMagick convert command:

$ identify 3c17082u.ptif
3c17082u.ptif[0] TIFF 4096x3295+0+0 PseudoClass 256c 8-bit 17.2m 0.270u 0:01
3c17082u.ptif[1] TIFF 2048x1647+0+0 PseudoClass 256c 8-bit 17.2m 0.070u 0:01
3c17082u.ptif[2] TIFF 1024x823+0+0 PseudoClass 256c 8-bit 17.2m 0.020u 0:01
3c17082u.ptif[3] TIFF 512x411+0+0 PseudoClass 256c 8-bit 17.2m 0.010u 0:01
3c17082u.ptif[4] TIFF 256x205+0+0 PseudoClass 256c 8-bit 17.2m 0.010u 0:01
3c17082u.ptif[5] TIFF 128x102+0+0 PseudoClass 256c 8-bit 17.2m 0.010u 0:01

When viewed with the TDump utility packaged with JHOVE, the File shows a flat structure with 6 IFDs. All 6 IFDs identify themselves via the 254 (NewSubFileType) tag with value 2 as "single page of multi-page image". See below:

00000000: "II" (little endian) 42 LONG @13496328
...
13496328: IFD 1 with 20 entries
13496330: 254 (NewSubFileType) LONG 1 = 2
13496342: 256 (ImageWidth) SHORT 1 = 4096
13496354: 257 (ImageLength) SHORT 1 = 3295
...
13496570: NextIFDOffset LONG @16882942
...
16882942: IFD 2 with 20 entries
16882944: 254 (NewSubFileType) LONG 1 = 2
16882956: 256 (ImageWidth) SHORT 1 = 2048
16882968: 257 (ImageLength) SHORT 1 = 1647
...
16883184: NextIFDOffset LONG @17729364
...
17729364: IFD 3 with 20 entries
17729366: 254 (NewSubFileType) LONG 1 = 2
17729378: 256 (ImageWidth) SHORT 1 = 1024
17729390: 257 (ImageLength) SHORT 1 = 823

etc.

==Notes on Adobe Photoshop Pyramid TIFF==

Sample output from Image Magick identify command for a Pyramid TIFF file (with a main image and 3 reduced-size versions) as saved from Adobe Photoshop 7.0.1:

$identify Pyramid-Tiff-Sample.tif
Pyramid-Tiff-Sample.tif TIFF 6429x7500+0+0 PseudoClass 256c 8-bit 61.1m 0.810u 0:05

On the other hand, the TDump utility packaged with JHOVE identifies a main image IFD and a sequence of reduced image IFDs. The IFDs are identifed as reduced-size images by having a 254 (NewSubFileType) tag with value 1, as shown below.

00000000: "II" (little endian) 42
00000008: IFD 1 with 20 entries
00000010: 254 (NewSubFileType) LONG 1 = 0
00000022: 256 (ImageWidth) SHORT 1 = 6429
00000034: 257 (ImageLength) SHORT 1 = 7500
...
00000202: 330 (SubIFDs) IFD 1 = 48238676
...
48238676: IFD 2 with 13 entries
48238678: 254 (NewSubFileType) LONG 1 = 1
48238690: 256 (ImageWidth) SHORT 1 = 3215
48238702: 257 (ImageLength) SHORT 1 = 3750
...
48238834: NextIFDOffset LONG 60295104
60295104: IFD 3 with 13 entries
60295106: 254 (NewSubFileType) LONG 1 = 1
60295118: 256 (ImageWidth) SHORT 1 = 1608
60295130: 257 (ImageLength) SHORT 1 = 1875
...
60295262: NextIFDOffset LONG 63310282
63310282: IFD 4 with 13 entries
63310284: 254 (NewSubFileType) LONG 1 = 1
63310296: 256 (ImageWidth) SHORT 1 = 804
63310308: 257 (ImageLength) SHORT 1 = 938
...

Explanation of the Adobe 7 Pyramid TIFF structure from libTIFF mailing list: "All differently sized versions are part of the single main IFD, either the main image in that IFD, or the image in a SubIFD of that IFD. That should indicate to a reader that this is all really the same image. The NewSubfileType tag is used as an extra indication of this relation. The SubIFDs tag points only to the first SubIFD, and each SubIFD points to the next."

History LibTIFF mailing list discussion at http://www.asmail.be/msg0055062923.html indicates that earlier versions of Adobe software used a different approach when creating Pyramid TIFFs. The discussion reveals that pyramid TIFFs in the GIS world (as of late 2004) usually followed the older approach.

Format specifications Explanation of format description terms


Useful references

URLs


Last Updated: Wednesday, 01-Apr-2009 11:18:28 EDT