i.e., the maximum value, where n is the BitsPerSample value. The
conversion from unsigned ITULAB-encoded samples values to signed
CIE L*a*b* values is determined by the Decode field; see Section
6.2.3.
NOTE: PhotometricInterpretation values 8 and 9 specify encodings for
use with 8-bit-per-sample CIE L*a*b* [TIFF] and ICC L*a*b* [TTN1]
data, but they are fixed encodings, which use different minimum and
maximum samples than the T.42 default encoding. As currently
defined, they are not able to represent fax-encoded L*a*b* data.
ResolutionUnit(296) = 2.
SHORT
The unit of measure for resolution. 2 = inch.
ITU-T standards only specify inch-based resolutions for color fax.
Default = 2 (field may be omitted if this is the value).
SamplesPerPixel(277) = 1, 3.
SHORT
1: L* component only, required in base color profile
3: L*, a*, b* components
Encoded according to PhotometricInterpretation field
XResolution(282) = 100, 200, 300, 400.
RATIONAL
YResolution(283) = 100, 200, 300, 400.
RATIONAL
The resolution of the image is expressed in pixels per resolution
unit. In pixels per inch, allowed XResolution values are 100,
200, 300, and 400. The base color fax profile requires the pixels
to be square, hence YResolution must equal XResolution. Base
resolution is 200 pixels per inch and SHALL be supported by all
implementations of this profile.
NOTE: The functional equivalence of inch-based and metric-based
resolutions is maintained, per Annex E.6.5 in [T.4]. See table in
Section 2.2.2.
NOTE: Not all combinations of XResolution, YResolution and ImageWidth
are legal. The following table gives the legal combinations for
inch-based resolutions and the corresponding paper sizes [T.30].
+--------------------------------+---------------------------+
| XResolution x YResolution | ImageWidth |
+--------------------------------+---------------------------+
| 100 x 100 | 864 | 1024 | 1216 |
+--------------------------------+---------------------------+
| 200 x 200 | 1728 | 2048 | 2432 |
+--------------------------------+---------------------------+
| 300 x 300 | 2592 | 3072 | 3648 |
+--------------------------------+---------------------------+
| 400 x 400 | 3456 | 4096 | 4864 |
+--------------------------------+---------------------------+
|Letter,A4| B4 | A3 |
| Legal | | |
+---------------------------+
| Paper Size |
+---------------------------+
6.2.2. Extension Fields
The JPEG compression standard allows for the a*b* chroma components
of an image to be subsampled relative to the L* lightness component.
The extension fields ChromaSubSampling and ChromaPositioning define
the subsampling. They are the same as YCbCrSubSampling and
YCbCrPositioning in [TIFF] but have been renamed to reflect their
applicability to other color spaces.
ChromaSubSampling(530).
SHORT
Count = 2
Specifies the subsampling factors for the chroma components of a
L*a*b* image. The two subfields of this field,
ChromaSubsampleHoriz and ChromaSubsampleVert, specify the
horizontal and vertical subsampling factors respectively.
SHORT 0: ChromaSubsampleHoriz = 1, 2.
1: equal numbers of lightness and chroma samples horizontally,
2: twice as many lightness samples as chroma samples horizontally,
SHORT 1: ChromaSubsampleVert = 1, 2.
1: equal numbers of lightness and chroma samples vertically,
2: twice as many lightness samples as chroma samples vertically,
The default value for ChromaSubSampling is (2,2), which is the
default for chroma subsampling in color fax [T.4, Annex E]. No
chroma subsampling, i.e., ChromaSubSampling = (1,1), is an option
for color fax.
ChromaPositioning(531) = 1.
SHORT
Specifies the spatial positioning of chroma components relative to
the lightness component.
1: centered, value of 1 means chrominance samples are spatially
offset and centered with respect to luminance samples. See the
current TIFF specification under YcbCr positioning for further
information.
Default = 1, which is what ITU-T T.4, Annex E specifies.
6.2.3. New Fields
Decode(433).
SRATIONAL
Count = 2 * SamplesPerPixel
Describes how to map image sample values into the range of values
appropriate for the current color space. In general, the values
are taken in pairs and specify the minimum and maximum output
value for each color component. For the base color fax profile,
Decode has a count of 6 values and maps the unsigned ITULAB-
encoded sample values (Lsample, asample, bsample) to signed L*a*b*
values, as follows:
L* = Decode[0] + Lsample x (Decode[1]-Decode[0])/(2^n -1)
a* = Decode[2] + asample x (Decode[3]-Decode[2])/(2^n -1)
b* = Decode[4] + bsample x (Decode[5]-Decode[4])/(2^n -1)
where Decode[0], Decode[2] and Decode[4] are the minimum values
for L*, a*, and b*; Decode[1], Decode[3] and Decode[5] are the
maximum values for L*, a*, and b*; and n is the BitsPerSample.
When n=8,=20 L*=Decode[0] when Lsample=0 and L*=Decode[1] when
Lsample=255.
ITU-T Rec. T.42 specifies the ITULAB encoding in terms of a range and
offset for each component, which are related to the minimum and
maximum values as follows:
minimum = - (range x offset) / 2^n - 1
maximum = minimum + range
The Decode field default values depend on the color space. For the
ITULAB color space encoding, the default values correspond to the
base range and offset, as specified in ITU-T Rec. T.42 [T.42]. The
following table gives the base range and offset values for
BitsPerSample=8, and the corresponding default minimum and maximum
default values for the Decode field, calculated using the equations
above when PhotometricInterpetation=10.
Refer to ITU-T Rec. T.42 [T.42] to calculate the range and offset,
and hence the minimum and maximum values, for other BitsPerSample
values.
+-----------------------------------------------+
| ITU-T Rec. T.42 | Decode |
+---------+-----------| base values | default values |
| BitsPer + Component +------------------+----------------------------+
| -Sample | | Range | Offset | Min | Max |
+---------+-----------+--------+---------+--------------+-------------+
| 8 | L* | 100 | 0 | 0 | 100 |
| +-----------+--------+---------+--------------+-------------+
| | a* | 170 | 128 | -21760/255 | 21590/255 |
| +-----------+--------+---------+--------------+-------------+
| | b* | 200 | 96 | -19200/255 | 31800/255 |
+---------+-----------+--------+---------+--------------+-------------+
For example, when PhotometricInterpretation=10 and BitsPerSample=8,
the default value for Decode is (0, 100, -21760/255, 21590/255,
-19200/255, 31800/255). For guidelines on the use of the Decode
field, see section 5.2.2 of [GUIDE].
6.3. Recommended TIFF Fields
See Sections 2.2.3. and 2.2.4.
6.4. Profile C: Base Color Fax Profile Summary
Recommended fields are shown with an asterisk (*).
Required fields or values are shown with a double asterisk (**). If
the double asterisk is on the field name, then all the listed values
are required of implementations; if the double asterisk is in the
Values column, then only the values suffixed with a double asterisk
are required of implementations.
+---------------------------+--------------------------------+
| Baseline Fields | Values |
+---------------------------+--------------------------------+
| BitsPerSample | 8**: 8 bits per color sample |
+---------------------------+--------------------------------+
| Compression** | 7: JPEG |
+---------------------------+--------------------------------+
| DateTime* | {ASCII}: date/time in 24-hour |
| | format "YYYY:MM:DD HH:MM:SS" |
+---------------------------+--------------------------------+
| FillOrder** | 1: most significant bit first |
| | 2: least significant bit first |
+---------------------------+--------------------------------+
| ImageDescription* | {ASCII}: A string describing |
| | the contents of the image |
+---------------------------+--------------------------------+
| ImageWidth | 864, 1024, 1216, 1728**, 2048 |
| | 2432, 2592, 3072, 3456, 3648 |
| | 4096, 4864 |
+---------------------------+--------------------------------+
| ImageLength** | n: total number of scanlines |
| | in image |
+---------------------------+--------------------------------+
| NewSubFileType** | 2: Bit 1 identifies single page|
| | of a multi-page document |
+---------------------------+--------------------------------+
| Orientation | 1**-8, Default 1 |
+---------------------------+--------------------------------+
+------------------------------------------------------------+
| PhotometricInterpretation | 10**: ITULAB |
+---------------------------+--------------------------------+
| ResolutionUnit** | 2: inch |
+---------------------------+--------------------------------+
| RowsPerStrip** | n: number of scanlines per |
| | TIFF strip |
+---------------------------+--------------------------------+
| SamplesPerPixel | 1**: L* (lightness) |
| | 3: LAB |
+---------------------------+--------------------------------+
| Software* | {ASCII}: name & release number |
| | of creator software |
+---------------------------+--------------------------------+
| StripByteCounts** | <n>: number or bytes in |
| | TIFF strip |
+---------------------------+--------------------------------+
| StripOffsets** | <n>: offset from beginning |
| | of file to each TIFF strip |
+---------------------------+--------------------------------+
| XResolution | 100, 200**, 300, 400 (written |
| | in pixels/inch) |
+---------------------------+--------------------------------+
| YResolution | 100, 200**, 300, 400 |
| | (must equal XResolution) |
+---------------------------+--------------------------------+
| Extension Fields |
+---------------------------+--------------------------------+
| DocumentName* | {ASCII}: name of scanned |
| | document |
+---------------------------+--------------------------------+
| PageNumber** | n,m: page number followed by |
| | total page count |
+---------------------------+--------------------------------+
| ChromaSubSampling | (1,1), (2, 2)** |
| | (1, 1): equal numbers of |
| | lightness and chroma samples |
| | horizontally and vertically |
| | (2, 2): twice as many lightness|
| | samples as chroma samples |
| | horizontally and vertically |
+---------------------------+--------------------------------+
| ChromaPositioning | 1**: centered |
+------------------------------------------------------------+
+---------------------------+--------------------------------+
| New Fields |
+---------------------------+--------------------------------+
| Decode** | minL, maxL, mina, maxa, minb, |
| | maxb: minimum and maximum |
| | values for L*a*b* |
+---------------------------+--------------------------------+
| GlobalParametersIFD* | IFD: IFD containing |
| | global parameters |
+---------------------------+--------------------------------+
| ProfileType* | n: type of data stored in |
| | TIFF file |
+---------------------------+--------------------------------+
| FaxProfile* | n: ITU-compatible fax profile |
+---------------------------+--------------------------------+
| CodingMethods* | n: compression algorithms |
| | used in file |
+---------------------------+--------------------------------+
| VersionYear* | byte sequence: year of ITU std |
+---------------------------+--------------------------------+
7. Profile L: Lossless Color Profile
This section defines the lossless color profile of TIFF for
facsimile, designated Profile L. Implementations of this profile are
required to also implement Profiles S and C as well.
7.1. Overview
This profile, specified in [T.43] and [T.4] Annex G, uses JBIG to
code three types of color and grayscale images losslessly: one bit
per color CMY, CMYK, and RGB images; a palettized (i.e., mapped)
color image; and continuous tone color and grayscale images. The
last two are multi-level and use the L*a*b* encoding specified in
[T.42].
7.1.1. Color Encoding
While under development, ITU-T Rec. T.43 was called T.Palette, as one
of its major additions was palettized color images. Baseline TIFF
only allows RGB color maps, but ITU-T Rec. T.43 requires L*a*b* color
maps, using the encoding specified in ITU-T Rec. T.42. Palette color
images are expressed with indices (bits per sample) of 12 bits or
less, or optionally 13 to 16 bits, per [T.43] and Annex G in [T.4].
Profile L files use the color table in the T.43 data stream rather
than the TIFF ColorMap field.
Enabling T.43 color maps in TIFF requires the extension field
Indexed, as defined in [TTN1], and the PhotometricInterpretation
field value 10, as defined in Section 6.2.1. The following table
shows the corresponding PhotometricInterpretation, SamplesPerPixel,
BitsPerSample, and Indexed field values for the different T.43 image
types.
+----------------------------------------------------------+
| Image Type |PhotometricIn| Samples | Bits Per | Indexed |
| |-terpretation| Per Pixel| Sample | |
|------------+-------------+----------+----------+---------|
| RGB | 2=RGB | 3 | 1 | 0 |
+----------------------------------------------------------+
| CMY | 5=CMYK | 3 | 1 | 0 |
+------------+-------------+----------+----------+---------+
| CMYK | 5=CMYK | 4 | 1 | 0 |
+------------+-------------+----------+----------+---------+
| Palette | 10=ITULAB | 1 | n | 1 |
+------------+-------------+----------+----------+---------+
| Grayscale | 10=ITULAB | 1 |2-8, 9-12 | 0 |
+------------+-------------+----------+----------+---------+
| Color | 10=ITULAB | 3 |2-8, 9-12 | 0 |
+------------+-------------+----------+----------+---------+
7.1.2. JBIG Compression
T.43 uses the single-progression sequential mode of JBIG, defined in
ITU-T Rec. T.82. (Other compression methods are for further study.)
To code multi-level images using JBIG, which is a bi-level
compression method, an image is resolved into a set of bit-planes,
and each bit-plane is then JBIG compressed. For continuous-tone
color and grayscale images, Gray code conversion is used. The Gray
code conversion is part of the data-stream encoding and is therefore
invisible to TIFF.
7.2. Required TIFF Fields
This section lists the required fields, in addition to those in
Section 2.2.1, and the values they must have to be compatible with
ITU-T Rec. T.43.
7.2.1. Baseline Fields
ImageWidth(256).
SHORT or LONG
Same page widths as the base color profile; see Section 6.2.1.
NewSubFileType(254) = (Bit 1=1).
LONG
RequiredByTIFFforFAX
Bit 1 is 1 if the image is a single page of a multi-page document.
Default = 0 (no subfile bits on, so may not be omitted for fax).
BitsPerSample(258) = 1, 2 - 8, 9 - 12.
SHORT
Count = SamplesPerPixel
RGB, CMY, CMYK: 1 bit per sample
Continuous tone (L*a*b*): 2 - 8 bits per sample, 9 - 12 bits
optional. Palette color: 12 or fewer bits per sample.
Note: More than 8 bits per sample is not baseline TIFF.
Compression(259) = 10.
SHORT
10: ITU-T Rec. T.43 representation, using ITU-T Rec. T.82 (JBIG)
coding
FillOrder(266) = 1 , 2.
SHORT
RequiredByTIFFBaseline
Profile L readers must be able to read data in both bit orders,
but the vast majority of facsimile products store data LSB
first, exactly as it appears on the telephone line.
1 = Most Significant Bit first.
2 = Least Significant Bit first.
PhotometricInterpretation(262) = 2, 5, 10.
SHORT
2: RGB
5: CMYK, including CMY
10: ITULAB
Image data may also be stored as palette-color images, where pixel
values are represented by a single component that is an index into
a color map using the ITULAB encoding. This color map is
specified by the color palette table embedded in the image data
stream. To use palette-color images, set the
PhotometricInterpretation to 10, SamplesPerPixel to 1, Indexed to
1, and use the color map in the data stream. See Section 7.1.1
for discussion of the color encoding.
ResolutionUnit(296) = 2.
SHORT
The unit of measure for resolution. 2 = inch.
ITU-T standards only specify inch-based resolutions for color fax.
Default = 2 (field may be omitted if this is the value).
SamplesPerPixel(277) = 1, 3, 4.
SHORT
1: Palette-color image, or L*-only if Indexed = 0 and
PhotometricInterpretation is 10 (ITULAB).
3: RGB, or L*a*b*, or CMY if PhotometricInterpretation is 5
(CMYK).
4: CMYK.
XResolution(282) = 100, 200, 300, 400.
RATIONAL
YResolution(283) = 100, 200, 300, 400.
RATIONAL
The resolution of the image is expressed in pixels per resolution
unit. In pixels per inch, allowed XResolution values are 100,
200, 300, and 400. The lossless color fax profile requires the
pixels to be square, hence YResolution must equal XResolution.
Base resolution is 200 pixels per inch.
7.2.2. Extension Fields
Indexed(346) = 0, 1.
SHORT
0: not a palette-color image.
1: palette-color image.
This field is used to indicate that each sample value is an index
into an array of color values specified in the image data stream.
Because the color map is embedded in the image data stream, the
ColorMap field is not used in Profile L. Lossless color fax
profile supports palette-color images with the ITULAB encoding.
The SamplesPerPixel value must be 1.
7.2.3. New Fields
Decode(433)
SRATIONAL
Decode is used in connection with the ITULAB encoding of image