Previous Next
TIFF 6.0 Specification Final—June 3, 1992
The TIFF CIELAB Fields
PhotometricInterpretation
Tag = 262 (106.H)
Type = SHORT
N =1
8 = 1976 CIE L*a*b*
Usage of other Fields.
BitsPerSample: 8
SamplesPerPixel - ExtraSamples: 3 for L*a*b*, 1 implies L* only, for mono-
chrome data.
Compression: same as other multi-bit formats. JPEG compression applies.
PlanarConfiguration: both chunky and planar data could be supported.
WhitePoint: does not apply
PrimaryChromaticities: does not apply.
TransferFunction: does not apply
Alpha Channel information will follow the lead of other data types.
The reference white for this data type is the perfect reflecting diffuser (100%
diffuse reflectance at all visible wavelengths). The L* range is from 0 (perfect
absorbing black) to 100 (perfect reflecting diffuse white). The a* and b* ranges
will be represented as signed 8 bit values having the range -127 to +127.
Converting between RGB and CIELAB, a Caveat
The above CIELAB formulae are derived from CIE XYZ. Converting from
CIELAB to RGB requires an additional set of formulae for converting between
RGB and XYZ. For standard NTSC primaries these are:
0.60700.17400.2000 R X
0.29900.58700.1140 * G = Y
0.00000.06601.1110 B Z
Generally, D65 illumination is used and a perfect reflecting diffuser is used for the
reference white.
Since CIELAB is not a directly displayable format, some conversion to RGB will
be required. While look-up table accelerated CIELAB to RGB conversion is
certainly possible and fast, TIFF writers may choose to include a low resolution
RGB subfile as an integral part of TIFF CIELAB.
111
TIFF 6.0 Specification Final—June 3, 1992
Color Difference Measurements in CIELAB
The differences between two colors in L*, a*, and b* are denoted by DL*, Da*,
and Db*, respectively, with the total (3-dimensional) color difference represented
as:
∆E*ab = [(∆E*)2+(∆a*)2+(∆b*)2]1/2.
This color difference can also be expressed in terms of L*, C*, and a measure of
hue. In this case, hab is not used because it is an angular measure and cannot be
combined with L* and C* directly. A linear-distance form of hue is used instead:
CIE 1976 a,b hue-difference, ∆H*ab
∆H*ab = [(∆E*)2-(∆L*)2-(∆C*)2]1/2.
where DC* is the chroma difference between the two colors. The total color dif-
ference expression using this hue-difference is:
∆E*ab = [(∆L*)2+(∆H*)2+(∆b*)2]1/2.
It is important to remember that color difference is 3-dimensional: much more can
be learned from a DL*a*b* triplet than from a single DE value. The DL*C*H*
form is often the most useful since it gives the error information in a form that has
more familiar perception correlates. Caution is in order, however, when using
DH* for large hue differences since it is a straight-line approximation of a curved
hue distance.
The Merits of CIELAB
Colorimetric.
First and foremost, CIELAB is colorimetric. It is traceable to the internationally-
recognized standard CIE 1931 Standard Observer. This insures that it encodes
color in a manner that is accurately modeled after the human vision system. Col-
ors seen as matching are encoded identically, and colors seen as not matching are
encoded differently. CIELAB provides an unambiguous definition of color with-
out the necessity of additional information such as with RGB (primary
chromaticities, white point, and gamma curves).
Device Independent.
Unlike RGB spaces which associate closely with physical phosphor colors,
CIELAB contains no device association. CIELAB is not tailored for one device or
device type at the expense of all others.
112
TIFF 6.0 Specification Final—June 3, 1992
Full Color Gamut.
Any one image or imaging device usually encounters a very limited subset of the
entire range of humanly-perceptible color. Collectively, however, these images
and devices span a much larger gamut of color. A truly versatile exchange color
space should encompass all of these colors, ideally providing support for all vis-
ible color. RGB, PhotoYCC, YCbCr, and other display spaces suffer from gamut
limitations that exclude significant regions of easily printable colors. CIELAB is
defined for all visible color.
Efficiency
A good exchange space will maximize accuracy of translations between itself and
other spaces. It will represent colors compactly for a given accuracy. These at-
tributes are provided through visual uniformity. One of the greatest disadvantages
of the classic CIE system (and RGB systems as well) is that colors within it are not
equally spaced visually. Encoding full-color images in a linear-intensity space,
such as the typical RGB space or, especially, the XYZ space, requires a very large
range (greater than 8-bits/primary) to eliminate banding artifacts. Adopting a non-
linear RGB space improves the efficiency but not nearly to the extent as with a
perceptually uniform space where these problems are nearly eliminated. A uni-
form space is also more efficiently compressed (see below).
Public Domain / Single Standard
CIELAB maintains no preferential attachments to any private organization. Its
existence as a single standard leaves no room for ambiguity. Since 1976, CIELAB
has continually gained popularity as a widely-accepted and heavily-used standard.
Luminance/Chrominance Separation.
The advantages for image size compression made possible by having a separate
lightness or luminance channel are immense. Many such spaces exist. The degree
to which the luminance information is fully-isolated into a single channel is an
important consideration. Recent studies (Kasson and Plouffe of IBM) support
CIELAB as a leading candidate placing it above CIELUV, YIQ, YUV, YCC, and
XYZ.
Other advantages support a separate lightness or luminance channel. Tone and
contrast editing and detail enhancement are most easily accomplished with such a
channel. Conversion to a black and white representation is also easiest with this
type of space.
When the chrominance channels are encoded as opponents as with CIELAB,
there are other compression, image manipulation, and white point handling ad-
vantages.
113
TIFF 6.0 Specification Final—June 3, 1992
Compressibility (Data).
Opponent spaces such as CIELAB are inherently more compressible than
tristimulus spaces such as RGB. The chroma content of an image can be com-
pressed to a greater extent, without objectionable loss, than can the lightness con-
tent. The opponent arrangement of CIELAB allows for spatial subsampling and
efficent compression using JPEG.
Compressibility (Gamut).
Adjusting the color range of an image to match the capabilities of the intended
output device is a critical function within computational color reproduction. Lu-
minance/chrominance separation, especially when provided in a polar form, is
desirable for facilitating gamut compression. Accurate gamut compression in a
tri-linear color space is difficult.
CIELAB has a polar form (metric hue angle, and metric chroma, described be-
low) that serves compression needs fairly well. Because CIELAB is not perfectly
uniform, problems can arise when compressing along constant hue lines. Notice-
able hue errors are sometimes introduced. This problem is no less severe with
other contending color spaces.
This polar form also provides advantages for local color editing of images. The
polar form is not proposed as part of the TIFF addition.
Getting the Most from CIELAB
Image Editors
The advantages of image editing within a perceptually uniform polar color space
are tremendous. A detailed description of these advantages is beyond the scope of
this section. As previously mentioned, many common tonal manipulation tasks
are most efficiently performed when only a single channel is affected. Edge en-
hancement, contrast adjustment, and general tone-curve manipulation all ideally
affect only the lightness component of an image.
A perceptual polar space works excellently for specifying a color range for mask-
ing purposes. For example, a red shirt can be quickly changed to a green shirt
without drawing an outline mask. The operation can be performed with a loosely,
quickly-drawn mask region combined with a hue (and perhaps chroma) range that
encompasses the shirt’s colors. The hue component of the shirt can then be ad-
justed, leaving the lightness and chroma detail in place.
Color cast adjustment is easily realized by shifting either or both of the chroma
channels over the entire image or blending them over the region of interest.
Converting from CIELAB to a device specific space
For fast conversion to an RGB display, CIELAB can be decoded using 3x3
matrixing followed by gamma correction. The computational complexity required
114
TIFF 6.0 Specification Final—June 3, 1992
for accurate CRT display is the same with CIELAB as with extended luminance-
chrominance spaces.
Converting CIELAB for accurate printing on CMYK devices requires computa-
tional complexity no greater than with accurate conversion from any other colori-
metric space. Gamut compression becomes one of the more significant tasks for
any such conversion.
115
TIFF 6.0 Specification Final—June 3, 1992
Part 3: Appendices
Part 3 contains additional information that is not part of the TIFF specification,
but may be of use to developers.
116
TIFF 6.0 Specification Final—June 3, 1992
Appendix A: TIFF Tags Sorted by Number
TagName Decimal Hex Type Number of values
NewSubfileType 254 FE LONG 1
SubfileType 255 FF SHORT 1
ImageWidth 256 100 SHORT or LONG 1
ImageLength 257 101 SHORT or LONG 1
BitsPerSample 258 102 SHORT SamplesPerPixel
Compression 259 103 SHORT 1
Uncompressed 1
CCITT 1D 2
Group 3 Fax 3
Group 4 Fax 4
LZW 5
JPEG 6
PackBits 32773
PhotometricInterpretation 262 106 SHORT 1
WhiteIsZero 0
BlackIsZero 1
RGB 2
RGB Palette 3
Transparency mask 4
CMYK 5
YCbCr 6
CIELab 8
Threshholding 263 107 SHORT 1
CellWidth 264 108 SHORT 1
CellLength 265 109 SHORT 1
FillOrder 266 10A SHORT 1
DocumentName 269 10D ASCII
ImageDescription 270 10E ASCII
Make 271 10F ASCII
Model 272 110 ASCII
StripOffsets 273 111 SHORT or LONG StripsPerImage
Orientation 274 112 SHORT 1
SamplesPerPixel 277 115 SHORT 1
RowsPerStrip 278 116 SHORT or LONG 1
StripByteCounts 279 117 LONG or SHORT StripsPerImage
MinSampleValue 280 118 SHORT SamplesPerPixel
MaxSampleValue 281 119 SHORT SamplesPerPixel
XResolution 282 11A RATIONAL 1
YResolution 283 11B RATIONAL 1
PlanarConfiguration 284 11C SHORT 1
PageName 285 11D ASCII
XPosition 286 11E RATIONAL
YPosition 287 11F RATIONAL
FreeOffsets 288 120 LONG
FreeByteCounts 289 121 LONG
GrayResponseUnit 290 122 SHORT 1
117
TIFF 6.0 Specification Final—June 3, 1992
GrayResponseCurve 291 123 SHORT 2**BitsPerSample
T4Options 292 124 LONG 1
T6Options 293 125 LONG 1
ResolutionUnit 296 128 SHORT 1
PageNumber 297 129 SHORT 2
TransferFunction 301 12D SHORT {1 or
SamplesPerPixel}*
2** BitsPerSample
Software 305 131 ASCII
DateTime 306 132 ASCII 20
Artist 315 13B ASCII
HostComputer 316 13C ASCII
Predictor 317 13D SHORT 1
WhitePoint 318 13E RATIONAL 2
PrimaryChromaticities 319 13F RATIONAL 6
ColorMap 320 140 SHORT 3 * (2**BitsPerSample)
HalftoneHints 321 141 SHORT 2
TileWidth 322 142 SHORT or LONG 1
TileLength 323 143 SHORT or LONG 1
TileOffsets 324 144 LONG TilesPerImage
TileByteCounts 325 145 SHORT or LONG TilesPerImage
InkSet 332 14C SHORT 1
InkNames 333 14D ASCII total number of charac
ters in all ink name
strings, including zeros
NumberOfInks 334 14E SHORT 1
DotRange 336 150 BYTE or SHORT 2, or 2*
NumberOfInks
TargetPrinter 337 151 ASCII any
ExtraSamples 338 152 BYTE number of extra compo-
nents per pixel
SampleFormat 339 153 SHORT SamplesPerPixel
SMinSampleValue 340 154 Any SamplesPerPixel
SMaxSampleValue 341 155 Any SamplesPerPixel
TransferRange 342 156 SHORT 6
JPEGProc 512 200 SHORT 1
JPEGInterchangeFormat 513 201 LONG 1
JPEGInterchangeFormatLngth 514 202 LONG 1
JPEGRestartInterval 515 203 SHORT 1
JPEGLosslessPredictors 517 205 SHORT SamplesPerPixel
JPEGPointTransforms 518 206 SHORT SamplesPerPixel
JPEGQTables 519 207 LONG SamplesPerPixel
JPEGDCTables 520 208 LONG SamplesPerPixel
JPEGACTables 521 209 LONG SamplesPerPixel
YCbCrCoefficients 529 211 RATIONAL 3
YCbCrSubSampling 530 212 SHORT 2
YCbCrPositioning 531 213 SHORT 1
ReferenceBlackWhite 532 214 LONG 2*SamplesPerPixel
Copyright 33432 8298 ASCII Any
118
TIFF 6.0 Specification Final—June 3, 1992
Appendix B: Operating System
Considerations
Extensions and Filetypes
The recommended MS-DOS, UNIX, and OS/2 file extension for TIFF files is
“.TIF”.
On an Apple Macintosh computer, the recommended Filetype is “TIFF”. It is a
good idea to also name TIFF files with a “.TIF” extension so that they can easily
imported if transferred to a different operating system.
119
TIFF 6.0 Specification Final—June 3, 1992
Index
Symbols CCITT 49 II 13
JPEG 95 image 28
42 13 LZW 57 image file directory 13, 14
Modified Huffman 43 image file header 13
A
PackBits 42 ImageDescription 34
Adobe Developer Support 8 Copyright 31 ImageLength 18, 27, 34
alpha data 31 Count 14, 15, 16 ImageWidth 18, 27, 34
associated 77 InkNames 70
ANSI IT8 71
D InkSet 70
Appendices 116 DateTime 31
Artist 28
J
default values 28
ASCII 15 Differencing Predictor 64 JPEG compression 95
DocumentName 55 baseline 95
B DotRange 71 discrete cosine trans-
Baseline TIFF 11 DOUBLE 16 form 95
big-endian 13 Duff, Tom 79 entropy coding 98
BitsPerSample 22, 29 lossless processes 100
BlackIsZero 17, 37
E quantization 97
BYTE data type 15 JPEGACTables 107
ExtraSamples 31, 77
JPEGDCTables 107
C F JPEGInterchangeFormat 105
JPEGInterchangeFormatLength 105
CCITT 17, 30, 49 Facsimile 49 JPEGLosslessPredictors 106
CellLength 29 file extension 119 JPEGPointTransforms 106
CellWidth 29 filetype 119 JPEGProc 104
chunky format 38 FillOrder 32 JPEGQTables 107
CIELAB images 110 FLOAT 16 JPEGRestartInterval 105
clarifications 6 FreeByteCounts 33
Class B 21 FreeOffsets 33 K
Class G 22
Class P 23 G no entries
Class R 25
GrayResponseCurve 33, 73, 85 L
Classes 7
GrayResponseUnit 33
CMYK Images 69 little-endian 13
Group 3 17, 30
ColorMap 23, 29 LONG data type 15
Group3Options 51
ColorResponseCurves. See LZW compression 57
Group4Options 52
TransferFunction
Compatibility 7 H M
compliance 12
Make 35
component 28 HalftoneHints 72
matting. See alpha data: associ-
compositing. See alpha data: Hexadecimal 12
ated
associated high fidelity color 69
MaxComponentValue 35
compression 17, 30 HostComputer 34
MaxSampleValue. See
I MaxComponentValue
MinComponentValue 35
IFD. See image file directory MinSampleValue. See
120
Previous Next