Content Feature Schema for Internet Fax (V2)
obsoletes
- rfc-2531 — Content Feature Schema for Internet Fax
Extracted elements (30)
CIELAB color depth tags describe the number of representable values for a color component, not the rendering resolution of a device. This separation is intentional: a system may be able to represent 256 L-values yet render only 100 distinct luminance values, and color rendering resolution is explicitly out of scope.
Device-dependent color spaces (Device-RGB, Device-CMY, Device-CMYK) are distinguished from calibrated color spaces (CIELAB) to reflect the practical reality that exact color rendering is often left to the receiving device, while precise color matching requires a calibrated reference.
The color feature framework allows capability description at a range of granularity: feature tags corresponding to implied or 'don't care' feature values may simply be omitted from a capability description, rather than requiring exhaustive enumeration.
The 'color' feature tag provides a broad, coarse indication of color capability (Binary/Limited/Mapped/Grey/Full) to allow selection among a small number of available data resources, with more detailed tags used only when finer qualification is needed.
For 'color-illuminant', a receiver supporting a calibrated color space should declare any constraint on supported illuminants. In the absence of a color-illuminant constraint, a receiver is presumed to accept any specified illuminant value.
For 'color-levels', it is recommended that a recipient declares its supported number of color values as an inequality (<=) and a data resource declares the number of colors it uses with an equality, to achieve a feature match between systems with differing capacities.
For 'color-space', a color-handling receiver should indicate device color space capability in addition to calibrated color spaces. Documents not requiring exact color matching should indicate a device color space (Device-xxx) to enable sender/receiver feature matching when exact color is not needed.
When interoperating with an application that does not recognize the 'dpi-xyratio' differential resolution feature, resolution matching may be performed on the basis of horizontal resolution only, and aspect ratio information may be lost.
When matching an MRC document description, each component sub-image description must match the capabilities of the intended receiver; a single top-level capability match is insufficient for MRC documents.
A color-handling receiver SHOULD indicate any appropriate device color space capability in addition to any calibrated color spaces it supports. A calibrated color space SHOULD be used when precise color matching is required and the receiving system is not specifically known.
An extended Internet fax system MUST recognize each feature tag in the defined list and deal with it according to its own capabilities. Unrecognized or unused feature tags are effectively ignored by the feature-set matching rules.
For extended Internet fax, 'image-file-structure' and 'image-coding' SHOULD always be specified together, along with any additional values needed to clearly indicate which feature tag values are supported and which are not.
For MRC format documents, 100dpi resolution can be used only with multi-level images, and any multi-level image resolution is REQUIRED to be an integral sub-multiple of the applicable mask resolution.
Within an MRC-formatted document, multi-level coders MUST be used for foreground and background images (odd-numbered layers 1, 3, 5, …) and bi-level coders for mask layers (even-numbered layers 2, 4, 6, …). MRC format also imposes constraints on usable resolutions.
CIELAB color depth tags (CIELAB-L-depth, CIELAB-a-depth, CIELAB-b-depth; Integer >0) indicate the number of distinct representable values for each L*, a*, b* component. CIELAB gamut tags (CIELAB-{L,a,b}-{min,max}) indicate the supported range of color component values.
The 'color' feature tag indicates broad color capability: Binary (bi-level), Limited (small number of fixed colors, interpreted as one-bit-per-color-sample for Internet fax), Mapped (palette-mapped), Grey (continuous-tone grey), or Full (full continuous-tone color).
The 'color-illuminant' tag specifies a CIE illuminant for use with calibrated color spaces, using tokens D50, D65, D75, SA, SC, F2, F7, F11, or CTnnnn (color temperature in Kelvins). The default Group 3 fax illuminant is D50.
The 'color-levels' tag (Integer, >=2) indicates the number of distinct pixel color values. The 'color-space' tag identifies the color model: Device-RGB, Device-CMY, Device-CMYK (device-dependent), or CIELAB (calibrated per ITU T.42). Additional CIELAB tags specify illuminant, per-component depth, and color gamut.
The 'color-subsampling' tag (String) indicates whether color information is subsampled relative to luminance: '1:1:1' (no subsampling) or '4:1:1' (one color sample per four luminance samples). Used with full-color images in luminance-separating color spaces.
The 'dpi' tag (Integer, >0) indicates resolution; 'dpi-xyratio' (Rational, >0) indicates the ratio of horizontal to vertical resolution. When 'dpi-xyratio' is present and not equal to 1, 'dpi' applies to the horizontal axis and vertical resolution equals dpi divided by dpi-xyratio.
The fax feature schema uses the syntax defined in RFC 2533 ('A syntax for describing media feature sets'), which in turn calls upon media feature tags registered per RFC 2506. This provides a textual format for describing Internet Fax capability information.
The 'image-coding' tag identifies the compression algorithm: MH, MR, MMR, JBIG, or JPEG. The 'image-coding-constraint' tag qualifies this with environment-specific profiles: JBIG-T85 (bi-level per ITU T.85), JBIG-T43 (multi-level per ITU T.43), or JPEG-T4E (per ITU T.4 Annex E).
The 'image-file-structure' tag defines how coded image data is wrapped: TIFF (full Adobe TIFF), TIFF-limited (restricted IFD placement per RFC 2301 §4.4.6), TIFF-minimal (minimal B&W mode, also known as TIFF-S), TIFF-MRC (augmented with sub-IFD for Mixed Raster Content, also known as TIFF-M), and TIFF-MRC-limited.
The 'image-interleave' tag (Stripe or Plane) indicates color plane interleaving for JBIG images. Plane interleave requires buffering an entire page, placing significant memory demands on sending or receiving systems.
The 'JBIG-stripe-size' tag (Integer) indicates the number of scan lines in each JBIG stripe except the last. Legal Internet fax constraints are JBIG-stripe-size=128 (fixed stripe) or JBIG-stripe-size>=0 (no restriction, meaning the whole page is one stripe).
The 'MRC-mode' tag (Integer 0..7) indicates MRC (Mixed Raster Content per ITU T.44) availability and maximum mode number; zero means MRC is unavailable. 'MRC-max-stripe-size' (Integer) bounds the number of scan lines per MRC stripe.
The 'size-x' and 'size-y' feature tags indicate horizontal and vertical rendered document dimensions in inches (Rational, >0). A conversion factor of 10/254 converts millimetres to an exact inch-based value.
Appendix A registers 15 feature tags in the IETF tree (subject to IETF Consensus per RFC 2434): size-x, size-y, dpi-xyratio, color-levels, color-space, color-illuminant (new in this document), CIELAB-L/a/b-depth, CIELAB-L/a/b-min/max, image-file-structure, image-coding, image-coding-constraint, JBIG-stripe-size, image-interleave, color-subsampling, MRC-mode, MRC-max-stripe-size.
Capability negotiation reveals information about one party's capabilities to other parties. This may allow a malicious party to make better guesses about security holes. Implementers should ensure capabilities are revealed only to appropriate persons, systems, and agents.
If it is known that a recipient can process certain types of images, they may be targeted by unsolicited bulk mailers that want to send such images. Capability exposure should therefore be controlled.