Previous Next
TIFF 6.0 Specification Final—June 3, 1992
32773 = PackBits compression, a simple byte-oriented run-length scheme. See Section 9
for details.
Data compression applies only to the image data, pointed to by StripOffsets.
Default = 1.
Copyright
Copyright notice.
Tag = 33432 (8298.H)
Type = ASCII
Copyright notice of the person or organization that claims the copyright to the
image. The complete copyright statement should be listed in this field including
any dates and statements of claims. For example, “Copyright, John Smith, 19xx.
All rights reserved.”
DateTime
Date and time of image creation.
Tag = 306 (132.H)
Type = ASCII
N = 20
The format is: “YYYY:MM:DD HH:MM:SS”, with hours like those on a 24-hour
clock, and one space character between the date and the time. The length of the
string, including the terminating NUL, is 20 bytes.
ExtraSamples
Description of extra components.
Tag = 338 (152.H)
Type = SHORT
N =m
Specifies that each pixel has m extra components whose interpretation is defined
by one of the values listed below. When this field is used, the SamplesPerPixel
field has a value greater than the PhotometricInterpretation field suggests.
For example, full-color RGB data normally has SamplesPerPixel=3. If
SamplesPerPixel is greater than 3, then the ExtraSamples field describes the
meaning of the extra samples. If SamplesPerPixel is, say, 5 then ExtraSamples
will contain 2 values, one for each extra sample.
ExtraSamples is typically used to include non-color information, such as opacity,
in an image. The possible values for each item in the field's value are:
0 = Unspecified data
1 = Associated alpha data (with pre-multiplied color)
31
TIFF 6.0 Specification Final—June 3, 1992
2 = Unassociated alpha data
Associated alpha data is opacity information; it is fully described in Section 21.
Unassociated alpha data is transparency information that logically exists indepen-
dent of an image; it is commonly called a soft matte. Note that including both
unassociated and associated alpha is undefined because associated alpha specifies
that color components are pre-multiplied by the alpha component, while
unassociated alpha specifies the opposite.
By convention, extra components that are present must be stored as the “last com-
ponents” in each pixel. For example, if SamplesPerPixel is 4 and there is 1 extra
component, then it is located in the last component location (SamplesPerPixel-1)
in each pixel.
Components designated as “extra” are just like other components in a pixel. In
particular, the size of such components is defined by the value of the
BitsPerSample field.
With the introduction of this field, TIFF readers must not assume a particular
SamplesPerPixel value based on the value of the PhotometricInterpretation field.
For example, if the file is an RGB file, SamplesPerPixel may be greater than 3.
The default is no extra samples. This field must be present if there are extra
samples.
See also SamplesPerPixel, AssociatedAlpha.
FillOrder
The logical order of bits within a byte.
Tag = 266 (10A.H)
Type = SHORT
N =1
1 = pixels are arranged within a byte such that pixels with lower column values are
stored in the higher-order bits of the byte.
1-bit uncompressed data example: Pixel 0 of a row is stored in the high-order bit
of byte 0, pixel 1 is stored in the next-highest bit, ..., pixel 7 is stored in the low-
order bit of byte 0, pixel 8 is stored in the high-order bit of byte 1, and so on.
CCITT 1-bit compressed data example: The high-order bit of the first compres-
sion code is stored in the high-order bit of byte 0, the next-highest bit of the first
compression code is stored in the next-highest bit of byte 0, and so on.
2 = pixels are arranged within a byte such that pixels with lower column values are
stored in the lower-order bits of the byte.
We recommend that FillOrder=2 be used only in special-purpose applications. It
is easy and inexpensive for writers to reverse bit order by using a 256-byte lookup
table. FillOrder = 2 should be used only when BitsPerSample = 1 and the data is
either uncompressed or compressed using CCITT 1D or 2D compression, to
avoid potentially ambigous situations.
Support for FillOrder=2 is not required in a Baseline TIFF compliant reader
Default is FillOrder = 1.
32
TIFF 6.0 Specification Final—June 3, 1992
FreeByteCounts
For each string of contiguous unused bytes in a TIFF file, the number of bytes in
the string.
Tag = 289 (121.H)
Type = LONG
Not recommended for general interchange.
See also FreeOffsets.
FreeOffsets
For each string of contiguous unused bytes in a TIFF file, the byte offset of the
string.
Tag = 288 (120.H)
Type = LONG
Not recommended for general interchange.
See also FreeByteCounts.
GrayResponseCurve
For grayscale data, the optical density of each possible pixel value.
Tag = 291 (123.H)
Type = SHORT
N = 2**BitsPerSample
The 0th value of GrayResponseCurve corresponds to the optical density of a pixel
having a value of 0, and so on.
This field may provide useful information for sophisticated applications, but it is
currently ignored by most TIFF readers.
See also GrayResponseUnit, PhotometricInterpretation.
GrayResponseUnit
The precision of the information contained in the GrayResponseCurve.
Tag = 290 (122.H)
Type = SHORT
N =1
Because optical density is specified in terms of fractional numbers, this field is
necessary to interpret the stored integer information. For example, if
GrayScaleResponseUnits is set to 4 (ten-thousandths of a unit), and a
GrayScaleResponseCurve number for gray level 4 is 3455, then the resulting
actual value is 0.3455.
Optical densitometers typically measure densities within the range of 0.0 to 2.0.
33
TIFF 6.0 Specification Final—June 3, 1992
1 = Number represents tenths of a unit.
2 = Number represents hundredths of a unit.
3 = Number represents thousandths of a unit.
4= Number represents ten-thousandths of a unit.
5 = Number represents hundred-thousandths of a unit.
Modifies GrayResponseCurve.
See also GrayResponseCurve.
For historical reasons, the default is 2. However, for greater accuracy, 3 is recom-
mended.
HostComputer
The computer and/or operating system in use at the time of image creation.
Tag = 316 (13C.H)
Type = ASCII
See also Make, Model, Software.
ImageDescription
A string that describes the subject of the image.
Tag = 270 (10E.H)
Type = ASCII
For example, a user may wish to attach a comment such as “1988 company pic-
nic” to an image.
ImageLength
The number of rows of pixels in the image.
Tag = 257 (101.H)
Type = SHORT or LONG
N =1
No default. See also ImageWidth.
ImageWidth
The number of columns in the image, i.e., the number of pixels per row.
Tag = 256 (100.H)
Type = SHORT or LONG
N =1
No default. See also ImageLength.
34
TIFF 6.0 Specification Final—June 3, 1992
Make
The scanner manufacturer.
Tag = 271 (10F.H)
Type = ASCII
Manufacturer of the scanner, video digitizer, or other type of equipment used to
generate the image. Synthetic images should not include this field.
See also Model, Software.
MaxSampleValue
The maximum component value used.
Tag = 281 (119.H)
Type = SHORT
N = SamplesPerPixel
This field is not to be used to affect the visual appearance of an image when it is
displayed or printed. Nor should this field affect the interpretation of any other
field; it is used only for statistical purposes.
Default is 2**(BitsPerSample) - 1.
MinSampleValue
The minimum component value used.
Tag = 280 (118.H)
Type = SHORT
N = SamplesPerPixel
See also MaxSampleValue.
Default is 0.
Model
The scanner model name or number.
Tag = 272 (110.H)
Type = ASCII
The model name or number of the scanner, video digitizer, or other type of equip-
ment used to generate the image.
See also Make, Software.
35
TIFF 6.0 Specification Final—June 3, 1992
NewSubfileType
A general indication of the kind of data contained in this subfile.
Tag = 254 (FE.H)
Type = LONG
N=1
Replaces the old SubfileType field, due to limitations in the definition of that field.
NewSubfileType is mainly useful when there are multiple subfiles in a single
TIFF file.
This field is made up of a set of 32 flag bits. Unused bits are expected to be 0. Bit 0
is the low-order bit.
Currently defined values are:
Bit 0 is 1 if the image is a reduced-resolution version of another image in this TIFF file;
else the bit is 0.
Bit 1 is 1 if the image is a single page of a multi-page image (see the PageNumber field
description); else the bit is 0.
Bit 2 is 1 if the image defines a transparency mask for another image in this TIFF file.
The PhotometricInterpretation value must be 4, designating a transparency mask.
These values are defined as bit flags because they are independent of each other.
Default is 0.
Orientation
The orientation of the image with respect to the rows and columns.
Tag = 274 (112.H)
Type = SHORT
N =1
1 = The 0th row represents the visual top of the image, and the 0th column represents
the visual left-hand side.
2 = The 0th row represents the visual top of the image, and the 0th column represents
the visual right-hand side.
3 = The 0th row represents the visual bottom of the image, and the 0th column repre-
sents the visual right-hand side.
4 = The 0th row represents the visual bottom of the image, and the 0th column repre-
sents the visual left-hand side.
5 = The 0th row represents the visual left-hand side of the image, and the 0th column
represents the visual top.
6 = The 0th row represents the visual right-hand side of the image, and the 0th column
represents the visual top.
7 = The 0th row represents the visual right-hand side of the image, and the 0th column
represents the visual bottom.
36
TIFF 6.0 Specification Final—June 3, 1992
8 = The 0th row represents the visual left-hand side of the image, and the 0th column
represents the visual bottom.
Default is 1.
Support for orientations other than 1 is not a Baseline TIFF requirement.
PhotometricInterpretation
The color space of the image data.
Tag = 262 (106.H)
Type = SHORT
N =1
0= WhiteIsZero. For bilevel and grayscale images: 0 is imaged as white.
2**BitsPerSample-1 is imaged as black. This is the normal value for Compres-
sion=2.
1= BlackIsZero. For bilevel and grayscale images: 0 is imaged as black.
2**BitsPerSample-1 is imaged as white. If this value is specified for Compres-
sion=2, the image should display and print reversed.
2= RGB. In the RGB model, a color is described as a combination of the three pri-
mary colors of light (red, green, and blue) in particular concentrations. For each of
the three components, 0 represents minimum intensity, and 2**BitsPerSample - 1
represents maximum intensity. Thus an RGB value of (0,0,0) represents black,
and (255,255,255) represents white, assuming 8-bit components. For
PlanarConfiguration = 1, the components are stored in the indicated order: first
Red, then Green, then Blue. For PlanarConfiguration = 2, the StripOffsets for the
component planes are stored in the indicated order: first the Red component plane
StripOffsets, then the Green plane StripOffsets, then the Blue plane StripOffsets.
3= Palette color. In this model, a color is described with a single component. The
value of the component is used as an index into the red, green and blue curves in
the ColorMap field to retrieve an RGB triplet that defines the color. When
PhotometricInterpretation=3 is used, ColorMap must be present and
SamplesPerPixel must be 1.
4= Transparency Mask.
This means that the image is used to define an irregularly shaped region of another
image in the same TIFF file. SamplesPerPixel and BitsPerSample must be 1.
PackBits compression is recommended. The 1-bits define the interior of the re-
gion; the 0-bits define the exterior of the region.
A reader application can use the mask to determine which parts of the image to
display. Main image pixels that correspond to 1-bits in the transparency mask are
imaged to the screen or printer, but main image pixels that correspond to 0-bits in
the mask are not displayed or printed.
The image mask is typically at a higher resolution than the main image, if the
main image is grayscale or color so that the edges can be sharp.
There is no default for PhotometricInterpretation, and it is required. Do not rely
on applications defaulting to what you want.
37
TIFF 6.0 Specification Final—June 3, 1992
PlanarConfiguration
How the components of each pixel are stored.
Tag = 284 (11C.H)
Type = SHORT
N =1
1= Chunky format. The component values for each pixel are stored contiguously.
The order of the components within the pixel is specified by
PhotometricInterpretation. For example, for RGB data, the data is stored as
RGBRGBRGB…
2= Planar format. The components are stored in separate “component planes.” The
values in StripOffsets and StripByteCounts are then arranged as a 2-dimensional
array, with SamplesPerPixel rows and StripsPerImage columns. (All of the col-
umns for row 0 are stored first, followed by the columns of row 1, and so on.)
PhotometricInterpretation describes the type of data stored in each component
plane. For example, RGB data is stored with the Red components in one compo-
nent plane, the Green in another, and the Blue in another.
PlanarConfiguration=2 is not currently in widespread use and it is not recom-
mended for general interchange. It is used as an extension and Baseline TIFF
readers are not required to support it.
If SamplesPerPixel is 1, PlanarConfiguration is irrelevant, and need not be in-
cluded.
If a row interleave effect is desired, a writer might write out the data as
PlanarConfiguration=2—separate sample planes—but break up the planes into
multiple strips (one row per strip, perhaps) and interleave the strips.
Default is 1. See also BitsPerSample, SamplesPerPixel.
ResolutionUnit
The unit of measurement for XResolution and YResolution.
Tag = 296 (128.H)
Type = SHORT
N =1
To be used with XResolution and YResolution.
1 = No absolute unit of measurement. Used for images that may have a non-square
aspect ratio, but no meaningful absolute dimensions.
The drawback of ResolutionUnit=1 is that different applications will import the image
at different sizes. Even if the decision is arbitrary, it might be better to use dots per
inch or dots per centimeter, and to pick XResolution and YResolution so that the
aspect ratio is correct and the maximum dimension of the image is about four inches
(the “four” is arbitrary.)
2= Inch.
3= Centimeter.
Default is 2.
38
TIFF 6.0 Specification Final—June 3, 1992
RowsPerStrip
The number of rows per strip.
Tag = 278 (116.H)
Type = SHORT or LONG
N =1
TIFF image data is organized into strips for faster random access and efficient I/O
buffering.
RowsPerStrip and ImageLength together tell us the number of strips in the entire
image. The equation is:
StripsPerImage = floor ((ImageLength + RowsPerStrip - 1) / RowsPerStrip).
StripsPerImage is not a field. It is merely a value that a TIFF reader will want to
compute because it specifies the number of StripOffsets and StripByteCounts for the
image.
Note that either SHORT or LONG values can be used to specify RowsPerStrip.
SHORT values may be used for small TIFF files. It should be noted, however, that
earlier TIFF specification revisions required LONG values and that some software
may not accept SHORT values.
The default is 2**32 - 1, which is effectively infinity. That is, the entire image is
one strip.
Use of a single strip is not recommended. Choose RowsPerStrip such that each strip is
about 8K bytes, even if the data is not compressed, since it makes buffering simpler
for readers. The “8K” value is fairly arbitrary, but seems to work well.
See also ImageLength, StripOffsets, StripByteCounts, TileWidth, TileLength,
TileOffsets, TileByteCounts.
SamplesPerPixel
The number of components per pixel.
Tag = 277 (115.H)
Type = SHORT
N =1
SamplesPerPixel is usually 1 for bilevel, grayscale, and palette-color images.
SamplesPerPixel is usually 3 for RGB images.
Default = 1. See also BitsPerSample, PhotometricInterpretation, ExtraSamples.
Software
Name and version number of the software package(s) used to create the image.
Tag = 305 (131.H)
Type = ASCII
See also Make, Model.
39
TIFF 6.0 Specification Final—June 3, 1992
StripByteCounts
For each strip, the number of bytes in the strip after compression.
Tag = 279 (117.H)
Type = SHORT or LONG
N = StripsPerImage for PlanarConfiguration equal to 1.
= SamplesPerPixel * StripsPerImage for PlanarConfiguration equal to 2
This tag is required for Baseline TIFF files.
No default.
See also StripOffsets, RowsPerStrip, TileOffsets, TileByteCounts.
StripOffsets
For each strip, the byte offset of that strip.
Tag = 273 (111.H)
Type = SHORT or LONG
N = StripsPerImage for PlanarConfiguration equal to 1.
= SamplesPerPixel * StripsPerImage for PlanarConfiguration equal to 2
The offset is specified with respect to the beginning of the TIFF file. Note that this
implies that each strip has a location independent of the locations of other strips.
This feature may be useful for editing applications. This required field is the only
way for a reader to find the image data. (Unless TileOffsets is used; see
TileOffsets.)
Note that either SHORT or LONG values may be used to specify the strip offsets.
SHORT values may be used for small TIFF files. It should be noted, however, that
earlier TIFF specifications required LONG strip offsets and that some software
may not accept SHORT values.
For maximum compatibility with operating systems such as MS-DOS and Win-
dows, the StripOffsets array should be less than or equal to 64K bytes in length,
and the strips themselves, in both compressed and uncompressed forms, should
not be larger than 64K bytes.
No default. See also StripByteCounts, RowsPerStrip, TileOffsets,
TileByteCounts.
SubfileType
A general indication of the kind of data contained in this subfile.
Tag = 255 (FF.H)
Type = SHORT
N =1
40
Previous Next