beginning of the TIFF file to a child IFD [TTN1].
XPosition(286).
RATIONAL
YPosition(287).
RATIONAL
Specifies the horizontal and vertical offsets of the top left of
the IFD from the top left of the Primary IFD in resolution units.
For example, if the Primary IFD is at 400 pixels per inch, and a
foreground layer IFD is at 200 pixels per inch and located at
pixel coordinate (345, 678) with respect to the Primary IFD, the
XPosition value is 345/400 and the YPosition value is 678/400 in
inches.
The Primary IFD does not use the XPosition or YPosition fields.
The XPosition and YPosition values must be specified for MRC child
IFDs; there is no default value.
8.2.3. New Fields
Decode(433).
SRATIONAL
For Foreground and Background layers, see Section 6.2.3.
T82Options(435)
LONG
For Mask layer, see Section 5.2.3.
ImageBaseColor(434).
SHORT
Count = SamplesPerPixel
In areas of an image layer where no image data is available (i.e.,
where no strips are defined, or where the StripByteCounts entry for
a given strip is 0), the color specified by ImageBaseColor will be
used.
If the ImageBaseColor field is used in an IFD that contains image
data encoded in ITU L*a*b*, then the ImageBaseColor will be
interpreted with the color-encoding parameters of the image data
(i.e., color gamut, illuminant, bit/sample, and decode). If the
ImageBaseColor field is used in an IFD that contains image data that
is not encoded in ITU L*a*b, then the ImageBaseColor SHALL be
interpreted as 8 bits/sample, 3 samples/pixel ITU L*a*b*. If the
ImageBaseColor field is used in an IFD that contains no encoded
image data, then the ImageBaseColor SHALL be interpreted as 8
bits/sample, 3 samples/pixel ITU L*a*b*. If the fax data stream
requires a different encoding, then transferring the default color
value between a TIFF file and fax data stream requires a color
conversion.
A [T.44] stripe may contain a Foreground or Background image less
than full stripe size, with the rest of the stripe assuming a
default image color. In this case, the default image color is imaged
first, followed by the image data. In Profile M, this is represented
as a child IFD containing no encoded image data but specifying the
default image color in the ImageBaseColor field. A second child IFD
contains the image data. To ensure the default image color is imaged
first, the order value in the ImageLayer field of the IFD defining
the ImageBaseColor field MUST have a lower value than the order
value in the ImageLayer field of the IFD defining the image data.
To define a child IFD specifying a ImageBaseColor but containing no
encoded image data, create an IFD with the following settings.
ImageLayer[0]: specified layer
ImageLayer[1]: less than any other IFDs corresponding
to the same layer and strip.
RowsPerStrip: strip height
ImageLength: strip height
ImageWidth: full image width
BitsPerSample: 8
PhotometricInterpretation: 10 (ITULAB)
SamplesPerPixel: 3
Compression: 1 (none)
X/YResolution: that of the Primary IFD
XPosition: 0
YPosition: the offset from the top of the page to
the beginning of the strip in the
resolution units of inches
StripByteCounts: single 0 value
StripOffsets: single 0 entry
NewSubFileType: bit 4 O (MRC)
ImageBaseColor: desired color in 8 bit ITULAB
For the Foreground layer image, the default value for the
ImageBaseColor field is black. For other cases, including the
Background layer image, the default value is white.
StripRowCounts(559).
LONG
Count = number of strips.
The number of scanlines stored in a strip. Profile M allows each
fax strip to store a different number of scanlines. For strips
with more than one layer, the maximum strip size is either 256
scanlines or full page size. The 256 maximum SHOULD be used
unless the capability to receive longer strips has been
negotiated. This field replaces RowsPerStrip for IFDs with
variable-size strips. Only one of the two fields, StripRowCounts
and RowsPerStrip, may be used in an IFD.
ImageLayer (34732).
LONG
Count = 2.
Image layers are defined such that layer 1 is the Background
layer, layer 3 is the Foreground layer, and layer 2 is the Mask
layer, which selects pixels from the Background and Foreground
layers. The ImageLayer tag contains two values, which describe
the layer to which the image belongs and the order in which it is
imaged.
ImageLayer[0] = 1, 2, 3.
1: Image is a Background image, i.e., the image that will appear
whenever the Mask contains a value of 0. Background images
typically contain low-resolution, continuous-tone imagery.
2: Image is the Mask layer. In MRC, if the Mask layer is present,
it must be the Primary IFD and be full page in extent.
3: Image is a Foreground image, i.e., the image that will appear
whenever the Mask contains a value of 1. The Foreground image
generally defines the color of text or lines but may also
contain high-resolution imagery.
ImageLayer[1]:
1: first image to be imaged in this layer
2: second image to be imaged in this layer
3: ...
In Profile M, more than one image can exist in a single layer.
ImageLayer[1] specifies the order in which images within a single
layer are to be imaged. This insures that overlapping images
within a single layer are imaged correctly.
If an IFD contains no encoded image data and is used only to
specify the ImageBaseColor field, the value of ImageLayer[1] must
be less than that of any other IFD corresponding to the same layer
and strip to ensure the image data is interpreted as on top of the
default color.
In Profile M, it is possible to have only a single layer. For
example, if a page contains only a single continuous-tone
photograph, then only the Background layer would occur. In this
case, the Background layer will be stored as the Primary IFD.
ImageLayer[0] will be 1, indicating Background; ImageLayer[1] will
be 1, as there can be no other IFDs associated with that layer.
No Mask layer will exist.
8.3. Recommended TIFF Fields
See Sections 2.2.3. and 2.2.4.
8.4. Rules and Requirements for Images
Profile M defines a fundamental set of rules for images in the 3
layer representation.
1. If more than one layer exists, then the binary Mask layer SHALL be
present and be the primary image. The Mask layer SHALL support
the binary data representations defined in Section 3 and MAY
support those defined in Sections 4 and 5, with the exception that
PhotometricInterpretation MUST be 0. If only one layer exists,
then the image corresponding to that layer is the primary image.
2. The Primary IFD defines and extends to the entire page boundary;
all attached model images cannot extend beyond the Primary image.
Resolution differences may cause some pixels to "hang over" the
page boundary, but no new pixels should exist completely beyond
the page extent.
3. The Background and Foreground images SHALL support the color
representations defined in Section 6 and MAY support those defined
in Section 7. These images MAY optionally cover only a portion of
the strip or page.
4. Each Primary IFD and each MRC-specific SubIFD must have an
ImageLayer field to specify which layer the IFD belongs to, and
the imaging order of that IFD within the layer.
5. Each Primary IFD must have a NewSubFileType field value set to 18,
indicating a single page of a multi-page document (bit 1) and MRC
(bit 4).
6. Each MRC-specific child IFD must have a NewSubFileType field value
set to 16, indicating MRC (bit 4).
7. In MRC fax, each layer is transmitted as a sequence of strips. If
the page consists of a single layer, then all strips shall be
stored in the single Primary IFD. In this case, coding parameters
cannot change between strips. If the page consists of more than
one layer, then all strips of the Mask layer shall be stored in
the single Primary IFD. All strips of the Foreground/Background
layers SHALL be stored in separate IFDs, referenced by the Primary
IFD’s SubIFD field, containing an ImageLayer field with
ImageLayer[0] identifying either Background (layer 1) or
Foreground (layer 3), and Imagelayer[1] identifying order in which
images within a single layer are to be imaged. The TIFF XPosition
and YPosition fields are used to indicate the placement of these
images with respect to the primary image.
8. When the Mask image is present, the resolution of Background and
Foreground images must each be an integer factor of the Mask
image. For example, if the Mask image is 400 pixels/inch, then
the Background or Foreground image may be at 400 pixels/inch
(400/1), 200 pixels/inch (400/2), or 100 pixels/inch (400/4).
8.5. Profile M: MRC 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 | 1**: binary mask, RGB, CMY(K) |
| | 2 - 8**: bits per color sample |
| | 9 - 12: optional 12 bits/sample |
+------------------+-----------------------------------------+
| Compression | 1: None (ImageBaseColor IFD only) |
| | 3**: Modified Huffman and Modified READ |
| | 4: Modified Modified READ |
| | 7**: JPEG |
| | 9: JBIG, per T.85 |
| | 10: JBIG, per T.43 |
+------------------+-----------------------------------------+
| DateTime* | {ASCII): date/time in the 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 |
| | Note: legal widths for the Primary IFD. |
+------------------+-----------------------------------------+
| ImageLength** | n: total number of scanlines in image |
+------------------+-----------------------------------------+
| NewSubFileType** | 16, 18: |
| | Bit 1 indicates single page of a multi- |
| | page document on Primary IFD |
| | Bit 4 indicates MRC model |
+------------------+-----------------------------------------+
+------------------+-----------------------------------------+
| Orientation | 1**-8, Default 1 |
+------------------+-----------------------------------------+
| PhotometricInter | 0**: WhiteIsZero (Mask Layer) |
| pretation | 2: RGB |
| | 10**: ITULAB |
+------------------+-----------------------------------------+
| ResolutionUnit** | 2: inch |
+------------------+-----------------------------------------+
| RowsPerStrip | n: number or scanlines per strip |
+------------------+-----------------------------------------+
| SamplesPerPixel | 1**: L* (lightness) |
| | 3: RGB, LAB, CMY |
| | 4: CMYK |
+------------------+-----------------------------------------+
| Software* | {ASCII}: name & release number of |
| | creator software |
+------------------+-----------------------------------------+
| StripByteCounts**| <n>: number or bytes in each strip |
+------------------+-----------------------------------------+
| StripOffsets** | <n>: offset from beginning of file to |
| | each TIFF strip |
+------------------+-----------------------------------------+
| XResolution | 100, 200**, 300, 400 (written in |
| | pixels/inch) |
+------------------+-----------------------------------------+
| YResolution | equal to XResolution (pixels must be |
| | square) |
+------------------+-----------------------------------------+
| Extension Fields |
+------------------+-----------------------------------------+
| T4Options | 0**: required if Compression is Modified|
| | Huffman, EOLs not byte aligned |
| | 1: required if Compression 2D Modified |
| | READ, EOLs are not byte aligned |
| | 4**: required if Compression Modified |
| | Huffman, EOLs byte aligned |
| | 5: required if Compression 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 |
+------------------+-----------------------------------------+
+------------------+-----------------------------------------+
| ChromaSubSampling| (1,1), (2, 2)** |
| | (1, 1): equal numbers of lightness and |
| | chroma samples horizontally & vertically|
| | (2, 2): twice as many lightness samples |
| | as chroma horizontally and vertically |
+------------------+-----------------------------------------+
| ChromaPositioning| 1: centered |
+------------------+-----------------------------------------+
| Indexed | 0: not a palette-color image |
| | 1: palette-color image |
+------------------+-----------------------------------------+
| SubIFDs | <IFD>: byte offset to FG/BG IFDs |
+------------------+-----------------------------------------+
| XPosition | horizontal offset in primary IFD |
| | resolution units |
+------------------+-----------------------------------------+
| YPosition | vertical offset in primary IFD |
| | resolution units |
+------------------+-----------------------------------------+
| New Fields |
+------------------+-----------------------------------------+
| Decode | minL, maxL, mina, maxa, minb, maxb: |
| | minimum and maximum values for L*a*b* |
+------------------+-----------------------------------------+
| ImageBaseColor | a,b,c: background color in ITULAB |
+------------------+-----------------------------------------+
| StripRowCounts | <n>: number of scanlines in each strip |
+------------------+-----------------------------------------+
| ImageLayer | n, m: layer number, imaging sequence |
| | (e.g., strip number) |
+------------------+-----------------------------------------+
| T82Options | 0: T.85 profile of T.82 coding |
+------------------+-----------------------------------------+
| GlobalParameters | IFD: global parameters IFD |
| IFD* | |
+------------------+-----------------------------------------+
| ProfileType* | n: type of data stored in TIFF file |
+------------------+-----------------------------------------+
| FaxProfile* | n: ITU-compatible fax profile |
+------------------+-----------------------------------------+
| CodingMethods* | n: compression algorithms used in file |
+------------------+-----------------------------------------+
| ModeNumber* | n: version of T.44 standard |
+------------------+-----------------------------------------+
| VersionYear* | byte sequence: year of ITU fax standard |
+------------------+-----------------------------------------+
9. MIME content-types image/tiff and image/tiff-fx
The MIME content-types image/tiff and image/tiff-fx are used for
TIFF-FX encoded image data, as defined in this document. [TIFF-REG]
and [TIFF-FX-REG] describe the registration of these MIME content-
types.
10. Security Considerations
This document describes a file format for Internet fax, which is a
series of profiles of TIFF for facsimile. As such, it does not
create any security issues not already identified in [TIFF-REG], in
its use of fields as defined in [TIFF]. There are also new TIFF
fields defined within this specification, but they are of a purely
descriptive nature, so no new security risks are incurred.
Further, the encoding specified in this document does not in any way
preclude the use of any Internet security protocol to encrypt,
authenticate, or non-repudiate TIFF-encoded facsimile messages.
11. References
11.1. Normative References
[REQ] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[T.4] ITU-T Recommendation T.4, Standardization of group 3
facsimile apparatus for document transmission, October
1997.
[T.6] ITU-T Recommendation T.6, Facsimile coding schemes and
coding control functions for group 4 facsimile
apparatus, November 1988
[T.30] ITU-T Recommendation T.30 - Procedures for Document
Facsimile Transmission in the General Switched
Telephone Network, June 1996
[T.42] ITU-T Recommendation T.42, Continuous-tone colour
representation method for facsimile, February 1996
[T.43] ITU-T Recommendation T.43, Colour and gray-scale image