data. This means that applications seeking to maintain strict
conformance with the rules in [TIFF] and compatibility with
historical TIFF-F SHOULD NOT include the Return To Control sequence
(RTC) (consisting of 6 consecutive EOLs) when writing TIFF-F files.
However, applications intended to support "transparency" of [T.4]
image data MAY include RTCs if the flag settings of the T4Options
field are set for non byte aligned MH or MR image data. Implementors
of TIFF readers should also be aware that there are some existing
TIFF-F implementations that include the RTC sequence in MH/MR image
data. Therefore, TIFF-F readers MUST be able to process files that
do not include RTCs and SHOULD be able to process files that do
include RTCs.
4.5.6. Use of EOFB for T.6 Compressed Images
TIFF-F pages encoded with the T.6 Modified Modified READ compression
method MUST include an "end-of-facsimile-block" (EOFB) code at the
end of each coded strip. Per [TIFF], the EOFB code is followed by
pad bits as needed to align on a byte boundary. TIFF readers SHOULD
ignore any bits other than pad bits beyond the EOFB.
4.6. Example Use of TIFF-F
The Profile F of TIFF (i.e., TIFF-F content) is a secondary component
of the VPIM Message, as defined in [VPIM 2]. Voice messaging systems
can often handle fax store-and-forward capabilities in addition to
traditional voice message store-and-forward functions. As a result,
TIFF-F fax messages can optionally be sent between compliant VPIM
systems and may be rejected if the recipient system cannot deal with
fax.
Refer to the VPIM Specification for proper usage of this content.
4.7. Profile F: Extended Black-and-white 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 asterisks are in the
Values column, then only the values suffixed with a double asterisk
are required of implementations.
+---------------------------+--------------------------------+
| Baseline Fields | Values |
+---------------------------+--------------------------------+
| BitsPerSample | 1** |
+---------------------------+--------------------------------+
| Compression | 3**: 1D Modified Huffman and |
| | 2D Modified READ coding |
| | 4: 2D Modified Modified READ |
| | coding |
+---------------------------+--------------------------------+
| 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 | 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 | 0: pixel value 1 means black |
| ** | 1: pixel value 1 means white |
+---------------------------+--------------------------------+
| ResolutionUnit** | 2: inch |
| | 3: centimeter |
+------------------------------------------------------------+
+---------------------------+--------------------------------+
| RowsPerStrip** | n: number of scanlines per |
| | TIFF strip |
+---------------------------+--------------------------------+
| SamplesPerPixel | 1** |
+---------------------------+--------------------------------+
| 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 | 200, 204**, 300, 400, 408 |
| | (written in pixels/inch) |
+---------------------------+--------------------------------+
| YResolution | 98**, 196**, 100, |
| | 200, 300, 391, 400 |
| | (written in pixels/inch) |
+---------------------------+--------------------------------+
| Extension Fields |
+---------------------------+--------------------------------+
| T4Options | 0**: required if Compression |
| | is Modified Huffman, EOLs are |
| | not byte aligned |
| | 1: required if Compression is |
| | 2D Modified READ, EOLs are |
| | not byte aligned |
| | 4**: required if Compression |
| | is Modified Huffman, EOLs are |
| | byte aligned |
+---------------------------+--------------------------------+
| T4Options (continued) | 5: required if Compression |
| | is 2D Modified READ, EOLs are |
| | byte aligned |
+---------------------------+--------------------------------+
| T6Options | 0: required if Compression is |
| | 2D Modified Modified READ |
+---------------------------+--------------------------------+
| DocumentName* | {ASCII}: name of scanned |
| | document |
+---------------------------+--------------------------------+
| PageNumber** | n,m: page number followed by |
| | total page count |
+---------------------------+--------------------------------+
+---------------------------+--------------------------------+
| New Fields |
+---------------------------+--------------------------------+
| BadFaxLines* | number of "bad" scanlines |
| | encountered during reception |
+---------------------------+--------------------------------+
| CleanFaxData* | 0: no "bad" lines |
| | 1: "bad" lines exist, but were |
| | regenerated by receiver |
| | 2: "bad" lines exist, but have |
| | not been regenerated |
+---------------------------+--------------------------------+
| ConsecutiveBadFaxLines* | Max number of consecutive |
| | "bad" lines received |
+---------------------------+--------------------------------+
| GlobalParametersIFD* | IFD: global parameters IFD |
+---------------------------+--------------------------------+
| ProfileType* | n: type of data stored in file |
+---------------------------+--------------------------------+
| FaxProfile* | n: ITU-compatible fax profile |
+---------------------------+--------------------------------+
| CodingMethods* | n: compression algorithms used |
| | in file |
+---------------------------+--------------------------------+
5. Profile J: Lossless JBIG Black-and-White Fax profile
This section defines the lossless JBIG black-and-white profile of
TIFF for facsimile, designated Profile J. Implementations of this
profile are required to implement Profile S as well.
The previous section described the extended interchange set of TIFF
fields for black-and-white fax, which provided support for the MH,
MR, and MMR compression of black-and-white images. This section adds
a profile with JBIG compression capability.
5.1. Overview
This section describes a black-and-white profile that uses JBIG
compression. The ITU-T has approved the single-progression
sequential mode of JBIG [T.82] for Group 3 facsimile. JBIG coding
offers improved compression for halftoned originals. JBIG
compression is used in accordance with the application rules given in
ITU-T Rec. T.85 [T.85].
This profile is essentially the extended black-and-white profile with
JBIG compression used instead of MH, MR, or MMR.
5.2. Required TIFF Fields
This section lists the required fields and the values they must have
to be ITU-compatible. Besides the fields listed in Section 2.2.1,
the extended black-and-white fax profile requires the following
fields.
5.2.1. Baseline fields
The TIFF fields that SHALL be used in this profile are the same as
those described in Section 4.2.1 for the extended black-and-white
profile, with two exceptions: the following text replaces the text in
Section 4.2.1 for the Compression and FillOrder fields.
Compression(259) = 9.
SHORT
RequiredByTIFFBaseline
9 = JBIG coding. This is a TIFF extension value.
Default = 1 (and is not applicable; field must be specified).
Profile J uses ITU-T T.85 profile of T.82; see T82Options field.
FillOrder(266) = 1, 2.
SHORT
RequiredByTIFFBaseline
1 = Pixels are arranged within a byte such that pixels with lower
values are stored in the higher-order bits of the byte, i.e., most
significant bit first (MSB).
2 = Pixels are arranged within a byte such that pixels with lower
column values are stored in the lower-order bits of the bytes,
i.e., least significant bit first (LSB).
Profile J readers must be able to read data in both bit orders.
5.2.2. Extension fields
Same fields as those in Section 2.2.1.
5.2.3. New fields
T82Options(435) = 0
LONG
Required when Compression = 9
Individual bits are set to indicate the applicable profile of JBIG
coding; all bits set to 0 indicates ITU-T T.85 profile of T.82;
Other values are for further study.
Default is all bits 0, and field may be omitted if this is the
value. (Field may be omitted in Profile J files.)
Note: A T.82 decoder can decode a T.85-encoded image when it handles
the NEWLE marker code as described Corrigendum 1 in [T.85].
5.3. Recommended TIFF Fields
See Sections 2.2.3 and 2.2.4.
5.4. Profile J: Lossless JBIG Black-and-white 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 asterisks are in the
Values column, then only the values suffixed with a double asterisk
are required of implementations.
+---------------------------+--------------------------------+
| Baseline Fields | Values |
+---------------------------+--------------------------------+
| BitsPerSample | 1** |
+---------------------------+--------------------------------+
| Compression | 9**: JBIG coding |
+---------------------------+--------------------------------+
| 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 | 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 | 0: pixel value 1 means black |
| ** | 1: pixel value 1 means white |
+---------------------------+--------------------------------+
+---------------------------+--------------------------------+
| ResolutionUnit** | 2: inch |
| | 3: centimeter |
+---------------------------+--------------------------------+
| RowsPerStrip** | n: number of scanlines per |
| | TIFF strip |
+---------------------------+--------------------------------+
| SamplesPerPixel** | 1 |
+---------------------------+--------------------------------+
| Software* | {ASCII}: name & release |
| | number of creator software |
+---------------------------+--------------------------------+
| StripByteCounts** | <n>: number of bytes in TIFF |
| | strip |
+---------------------------+--------------------------------+
| StripOffsets** | <n>: offset from beginning of |
| | file to each TIFF strip |
+---------------------------+--------------------------------+
| XResolution | 200, 204**, 300, 400, 408 |
| | (written in pixels/inch) |
+---------------------------+--------------------------------+
| YResolution | 98**, 196**, 100, |
| | 200, 300, 391, 400 |
| | (written in pixels/inch) |
+---------------------------+--------------------------------+
| Extension Fields |
+---------------------------+--------------------------------+
| DocumentName* | {ASCII}: name of document |
| | scanned |
+---------------------------+--------------------------------+
| PageNumber** | n,m: page number followed by |
| | total page count |
+---------------------------+--------------------------------+
| New Fields |
+---------------------------+--------------------------------+
| GlobalParametersIFD* | IFD: global parameters IFD |
+---------------------------+--------------------------------+
| T82Options** | 0: T.85 profile of T.82 |
+---------------------------+--------------------------------+
| ProfileType* | n: type of data stored in file |
+---------------------------+--------------------------------+
| FaxProfile* | n: ITU-compatible fax profile |
+---------------------------+--------------------------------+
| CodingMethods* | n: compression algorithms used |
| | in file |
+---------------------------+--------------------------------+
6. Profile C: Base Color Fax profile
6.1. Overview
This section defines the lossy color profile of TIFF for facsimile,
designated Profile C. Implementations of this profile are required
to also implement Profile S as well.
This is the base profile for color and grayscale facsimile, which
means that all applications that support color fax must support this
profile. The basic approach is the lossy JPEG compression [T.4,
Annex E; T.81] of L*a*b* color data [T.42]. Grayscale applications
use the L* lightness component; color applications use the L*, a* and
b* components.
This profile uses a new PhotometricInterpretation field value to
describe the L*a*b* encoding specified in [T.42]. This encoding
differs in two ways from the other L*a*b* encodings used in TIFF
[TIFF, TTN1]: it specifies a different default range for the a* and
b* components, based on a comprehensive evaluation of existing
hardcopy output, and it optionally allows selectable range for the
L*, a* and b* components.
6.2. Required TIFF Fields
This section lists the required fields, in addition to those given in
Section 2.2.1, and the values they must support to be compatible with
ITU-T Rec. T.42 and Annex E in ITU-T Rec. T.4.
6.2.1. Baseline Fields
ImageWidth(256).
SHORT or LONG
This profile supports the following fixed page widths: 864, 1024,
1216, 1728, 2048, 2432, 2592, 3072, 3456, 3648, 4096, 4864.
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) = 8.
SHORT
Count = SamplesPerPixel
The base color fax profile requires 8 bits per sample.
Compression(259) = 7.
SHORT
Base color fax profile uses Baseline JPEG compression. Value 7
represents JPEG compression as specified in [TTN2].
FillOrder(266) = 1 , 2.
SHORT
RequiredByTIFFBaseline
Profile C 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) = 10.
SHORT
Base color fax profile requires pixel values to be stored with the
CIE L*a*b* encoding defined in ITU-T Rec. T.42. This encoding is
indicated by the PhotometricInterpretation value 10, referred to
as ITULAB. With this encoding, the minimum sample value is
mapped to 0, and the maximum sample value is mapped to (2^n - 1),