| AWARE [SYSTEMS] | Imaging expertise for the Delphi developer | |||||||
![]() |
TIFF and LibTiff Mailing List Archive | |||||||
LibTiff Mailing List
TIFF and LibTiff Mailing List Archive Contact
The TIFF Mailing List Homepage |
Thread2002.03.05 02:20 "16 bit LAB in TIFF - documentation update", by Chris CoxThis is the official update for 16 bit LAB data in TIFF files, part
of the documentation update coming out with the Photoshop 7 SDK.
This covers the existing CIELab encoding and the new ICCLab encoding.
An RTF version of the documentation is attached.
A formatted PDF (104K) can be found at
http://www.chriscox.org/PhotoshopLABTIFF.pdf
(Sorry I had to put it on my own website, but Adobe's website team
was going to take at least another 4 weeks)
Chris
Attachment converted from RTF
Adobe Photoshop¨ TIFF Technical NotesDraft - March 4, 2002
L*a*b* Images
Introduction
CIE L*a*b* is a color space that is colorimetric, has separate lightness and
chroma channels, and is approximately perceptually uniform. It has excellent
applicability for device-independent manipulation of continuous tone images.
These attributes make it an excellent choice for many image editing and
archiving functions. 1976 CIEL*a*b* is represented as a Euclidean space with
the following three quantities plotted along axes at right angles: L*
representing lightness, a* representing the red/green axis, and b*
representing the yellow/blue axis. The formulas for 1976 CIE L*a*b* follow:
L* = 116(Y/Yn)1/3-16 for Y/Yn > 0.008856
L* = 903.3(Y/Yn) for Y/Yn <= 0.008856 *see note below.
a* = 500[(X/Xn)1/3-(Y/Yn)1/3]
b* = 200[(Y/Yn)1/3-(Z/Zn)1/3].
where Xn,Yn, and Zn are the CIE X, Y, and Z tristimulus values of an
appropriate reference white. Also, if any of the ratios X/Xn, Y/Yn, or Z/Zn
is equal to or less than 0.008856, it is replaced in the formulas with
7.787F + 16/116, where F is X/Xn, Y/Yn, or Z/Zn, as appropriate (note: these
low-light conditions are of no relevance for most document-imaging
applications).
Scaling the 0-100 range of L* into 256 levels provides lightness steps that
are less than half the size of a 'just noticeable difference' in the 8 bit
encoding. Limiting the theoretically unbounded a* and b* ranges to +/- 127
allows encoding in 8 bits without eliminating any but the most saturated
self-luminous colors
The TIFF CIELAB Fields
Field: PhotometricInterpretation
Status: required
Tag: 262 (106.H)
Type: SHORT
Count: 1
Value: This Field indicates the color space of the image. The new values are:
8 1976 CIE L*a*b*, normal encoding
9 ICCLab encoding
For CIELab (PhotometricInterpretation = 8), the L* component is encoded in 8
bits as an unsigned integer range [0,255], and encoded in 16 bits as an
unsigned integer range [0,65535]. The a* and b* components are encoded in 8
bits as signed integers range [-128,127], and encoded in 16 bits as signed
integers range [-32768,32767]. The 8 bit chrominance values are exactly
equal to the 1976 CIE a* and b* values, while the 16 bit values are equal to
256 times the 1976 CIE a* and b* values.
For ICCLab (PhotometricInterpretation = 9), the L* component is encoded in 8
bits as an unsigned integer range [0,255], and encoded in 16 bits as an
unsigned integer range [0,65280]. The a* and b* components are encoded in 8
bits as unsigned integers range [0,255], and encoded in 16 bits as unsigned
integers range [0,65535]. The 8 bit chrominance values are exactly equal to
the 1976 CIE a* and b* values plus 128, while the 16 bit values are equal to
256 times the 1976 CIE a* and b* values plus 32768 (this is also 256 times
the 8 bit encoding). PhotometricInterpretation 9 is designed to match the
encoding used by the ICC profile specification.
Compression: same as other multi-bit formats.
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.
Important note:
Some application vendors developed (mutually incompatible) proprietary
encodings for 16 bit LAB data in TIFF images before the release of this
update. Unfortunately, there is no simple way to determine whether a file
uses the standard encoding or a proprietary encoding other than opening the
image and verifying its appearance in an application known to use the
standard encoding specified above. Legacy files which used these
incompatible encodings will have to be converted to the standard encoding
using updated versions of the software that created them or conversion
utilities supplied by the company that created them.
|
|||||||