RFC2879

From RFC-Wiki

Network Working Group G. Klyne Request for Comments: 2879 Content Technologies Obsoletes: 2531 L. McIntyre Category: Standards Track Xerox Corporation

                                                           August 2000
          Content Feature Schema for Internet Fax (V2)

Status of this Memo

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

Copyright Notice

Copyright (C) The Internet Society (2000). All Rights Reserved.

Abstract

This document defines a content media feature schema for Internet fax.

It is a profile of the media feature registration mechanisms [1,2,3] for use in performing capability identification between extended Internet fax systems [5]. It replaces and updates the feature schema defined in RFC 2531.

Introduction

This document defines a content media feature schema for Internet fax.

It is a profile of the media feature registration mechanisms [1,2,3] for use in performing capability identification between extended Internet fax systems [5]. It replaces and updates the feature schema defined in RFC 2531.

The media feature description mechanisms do not describe any specific mechanisms for communicating capability information, but do presume that any such mechanisms will transfer textual values. In conjunction with this feature schema, they specify a textual format to be used for describing Internet Fax capability information.

The range of capabilities that can be indicated are based on those covered by the TIFF file format for Internet fax [7] and Group 3 facsimile [6]. A companion document [4] describes the relationship and mapping between this schema and Group 3 fax capabilities.

Organization of this document

Section 2 specifies the overall syntax for fax feature descriptions by reference to the media feature registration and syntax documents [1,2].

Section 3 enumerates the feature tags that are to be recognized and processed by extended Internet fax systems, according to their capabilities.

Appendix A contains additional feature tag registrations for media features that are specific to fax and for which no applicable registration already exists. These are presented in the form prescribed by the media feature registration procedure [1].

Terminology and document conventions

The term "extended Internet fax system" is used to describe any software, device or combination of these that conforms to the specification "Extended Facsimile Using Internet Mail" [5].

"capability exchange" describes any transfer of information between communicating systems that is used to indicate system capabilities and hence determine the form of data transferred. This term covers both one-way and two-way transfers of capability information.

"capability identification" is a particular form of capability exchange in which a receiving system provides capability information to a sending system.

"capability description" is a collection of data presented in some specific format that describes the capabilities of some communicating entity. It may exist separately from any specific capability exchange mechanism.

    NOTE:  Comments like this provide additional nonessential
    information about the rationale behind this document.
    Such information is not needed for building a conformant
    implementation, but may help those who wish to understand
    the design in greater depth.

Discussion of this document

Discussion of this document should take place on the Internet fax mailing list hosted by the Internet Mail Consortium (IMC). Please send comments regarding this document to:

   [email protected]

To subscribe to this list, send a message with the body 'subscribe' to "[email protected]".

To see what has gone on before you subscribed, please see the mailing list archive at:

   http://www.imc.org/ietf-fax/

Fax feature schema syntax

The syntax for the fax feature schema is described by "A syntax for describing media feature sets" [2]. This in turn calls upon media feature tags that may be registered according to the procedure described in "Media Feature Tag Registration Procedure" [1].

    NOTE:  Media feature registration provides a base
    vocabulary of features that correspond to media handling
    capabilities.  The feature set syntax provides a
    mechanism and format for combining these to describe
    combinations of features.  This memo indicates those
    features that may be associated with extended Internet
    fax systems.

Internet fax feature tags

This section enumerates and briefly describes a number of feature tags that are defined for use with extended Internet fax systems and applications. These tags may be used also by other systems and applications that support corresponding capabilities.

The feature tags presented below are those that an extended Internet fax system is expected to recognize its ability or non-ability to handle.

Definitive descriptions of feature tags are indicated by reference to their registration according to the media feature registration procedure [1] (some of which are appended to this document).

    NOTE:  The presence of a feature tag in this list does
    not mean that an extended Internet fax system must have
    that capability;  rather, it must recognize the feature
    tag and deal with it according to the capabilities that
    it does have.
    Further, an extended Internet fax system is not prevented
    from recognizing and offering additional feature tags.
    The list below is intended to provide a basic vocabulary
    that all extended Internet fax systems can use in a
    consistent fashion.
    If an unrecognized or unused feature tag is received, the
    feature set matching rule (described in [2]) operates so
    that tag is effectively ignored.

Image size

Feature tag name Legal values


------------

size-x <Rational> (>0) size-y <Rational> (>0)

Reference: this document, Appendix A.

These feature values indicate a rendered document size in inches.

Where the actual size is measured in millimetres, a conversion factor of 10/254 may be applied to yield an exact inch-based value.

Resolution

Feature tag name Legal values


------------

dpi <Integer> (>0) dpi-xyratio <Rational> (>0)

Reference: "Media Features for Display, Print, and Fax" [3], and this document appendix A.

If 'dpi-xyratio' is present and not equal to 1 then the horizontal resolution (x-axis) is indicated by the 'dpi' feature value, and the vertical resolution (y-axis) is the value of 'dpi' divided by 'dpi- xyratio'.

For example, the basic Group 3 fax resolution of 200*100dpi might be indicated as:

  (& (dpi=200) (dpi-xyratio=200/100) )

When describing resolutions for an MRC format document, the complete set of usable resolutions is listed. However, there are some restrictions on their use: (a) 100dpi resolution can be used only with multi-level images, and (b) any multi-level image resolution is required to be an integral sub-multiple of the applicable mask resolution.

Media type

Feature tag name Legal values


------------

ua-media screen

                   screen-paged
                   stationery
                   transparency
                   envelope
                   envelope-plain
                   continuous

Reference: "Media Features for Display, Print, and Fax" [3].

    NOTE: Where the recipient indicates specific support for
    hard copy or soft copy media type, a sender of color
    image data may wish to adjust the color components (e.g.
    per the related rules of ITU recommendation T.42 [9]) to
    improve rendered image quality on that medium.

Paper Size

Feature tag name Legal values


------------

paper-size A4

                   A3
                   B4
                   letter
                   legal

Reference: "Media Features for Display, Print, and Fax" [3].

Color capability

Feature tag name Legal values


------------

color Binary (bi-level only)

                   Limited (a limited number of colors)
                   Mapped  (palette or otherwise mapped color)
                   Grey    (grey-scale only)
                   Full    (full continuous-tone color)

Reference: "Media Features for Display, Print, and Fax" [3].

The intention here is to give a broad indication of color handling capabilities that might be used, for example, to select among a small number of available data resources.

The value of this feature also gives an indication of the more detailed color handling features that might be applicable (see next section).

'Binary' indicates blank-and-white, or other bi-level capability. No further qualifying feature tags are required.

'Limited' indicates a small number of distinct fixed colors, such as might be provided by a highlight printer, pen plotter or limited color display. The 'color-levels' tag should be used to indicate the number of distinct colors available.

    NOTE:  No ability to indicate any specific or named color
    is implied by this option.  Some devices might use
    different intensity levels rather than different hues for
    distinction.

In the context of Internet fax, 'limited' is interpreted as one-bit- per-color-sample (RGB, CMY or CMYK), depending on the color space used.

'Mapped' indicates that pixel color values are mapped in some specifiable way to a multi-component color space. The 'color-levels' tag may be used to indicate the number of distinct colors available; in its absence, sufficient levels to display a photographic image should be assumed.

'Grey' indicates a continuous tone grey-scale capability.

'Full' indicates full continuous tone color capability.

For 'Mapped', 'Grey' and 'Full' color, additional feature tags (section 3.6) may be used to further qualify the color reproduction.

Color model

Feature tag name Legal values


------------

color-levels <integer> (>2) color-space Device-RGB (device RGB)

                   Device-CMY  (device CMY)
                   Device-CMYK (device CMYK)
                   CIELAB      (LAB per T.42 [9])
                   (may be extended by further registrations)

color-illuminant <token> (per ITU T.4 [13], E.6.7)

                   D50
                   D65
                   D75
                   SA
                   SC
                   F2
                   F7
                   F11
                   CTnnnn      (see below)

CIELAB-L-depth <integer> (>0) CIELAB-a-depth " CIELAB-b-depth " CIELAB-L-min <integer> CIELAB-L-max " CIELAB-a-min " CIELAB-a-max " CIELAB-b-min " CIELAB-b-max "

Reference: this document, appendix A.

The general model for image handling (both color and non-color) is described here from a receiver's perspective; a similar model operates in the reverse direction for a scan/send perspective:

    raw bit        pixel         color         physical
    stream  -(A)-> values -(B)-> values -(C)-> rendition
-   "raw bit stream" is a stream of coded bits

(A) indicates image coding/decoding (MH,MR,MMR,JPEG,JBIG,etc.)

-   "pixel values" are a single numeric value per picture element
    that designates the color of that element.

(B) indicates pixel-to-color value mapping

-   "color values" have a separate numeric value for each color
    component (i.e. L*, a*, b* in the case of CIELAB indicated
    above.)

(C) indicates how the color values are related to a physical

    color.  This involves interpretation of the color value with
    respect to a color model (e.g. RGB, L*a*b*, CMY, CMYK) and a
    color space (which is typically recipient-dependent).
-   "physical rendition" is a color value physically realized on a
    display, printer or other device.

There are many variables that can be applied at each stage of the processing of a color image, and any may be critical to meaningful handling of that image in some circumstances. In other circumstances many of the variables may be implied (to some level of approximation) in the application that uses them (e.g. color images published on a Web page).

The color feature framework described here is intended to allow capability description at a range of granularity: feature tags which correspond to implied (or "don't care" or "unknown") feature values may simply be omitted from a capability description.

Grey scale and bi-level images are handled within this framework as a special case, having a 1-component color model. The following features are used for describing color capabilities:

'color-levels' indicates the number of distinct values for each picture element, and applies to all but bi-level images. For bi- level images, a value of 2 is implied.

'color-space' is used mainly with 'Mapped' and 'Full', but could be used with other modes if the exact color or color model used is significant. Two kinds of color space can be distinguished: device-dependent and calibrated. Device dependent spaces are named here as 'Device-xxx', and are used to indicate a color space that is defined by the receiving device. Calibrated color spaces presume the existence of a rendering system that is calibrated with respect to an indicated definition, and is capable of processing the device- independent color information accordingly.

A color-handling receiver should indicate any appropriate device color space capability in addition to any calibrated color spaces that it may support. A calibrated color space should be used when precise color matching is required in the absence of specific knowledge of the receiving system.

 NOTE:  In practice, although they appear to be separate
 concepts, the color model and color space cannot be
 separated.  In the final analysis, a color model (RGB,
 CMY, etc.) must be defined with respect to some color
 space.

'color-illuminant' indicates a CIE illuminant, using the same general form that is used for this purpose by Group 3 fax (as defined in ITU T.4 [13], section E.6.7). When the illuminant is specified by its color temperature, the token string 'CTnnnn' is used, where 'nnnn' is a decimal number that is the color temperature in Kelvins; e.g. CT7500 indicates an illuminant color temperature of 7500K.

 NOTE: ITU T.4 indicates a binary representation for color
 temperature values.
 In practice, much of the illuminant detail given here
 will probably be unused by Internet fax.  The only value
 likely to be specified is 'D50', which is the default
 color illuminant for Group 3 fax.

'CIELAB-L-depth', 'CIELAB-a-depth' and 'CIELAB-b-depth' indicate the number of different values that are possible for the L*, a* and b* color components respectively, and are significant only when colors are represented in a CIELAB color space. These features would be used with palletized color, or with full color where each color component has a different number of possible values.

Color depth values relate to the representation of colour values rather than the resolution of a scanning or rendering device. Thus, if 256 different L-component values can be represented then the assertion (CIELAB-L-depth<=256) is used, even if a receiving device can render only 100 distinct luminance values. (Color rendering resolution is not covered by this memo.)

The 'CIELAB-x-min' and 'CIELAB-x-max' values indicate a color gamut (i.e. a range of color values that are used or may be rendered). A gamut may be indicated in terms of the CIELAB color space even when colors are represented in some other space.

Image coding

Feature tag name Legal values


------------

image-file- TIFF structure TIFF-limited

                   TIFF-minimal
                   TIFF-MRC
                   TIFF-MRC-limited
                   (may be extended by further registrations)

image-coding MH

                   MR
                   MMR
                   JBIG
                   JPEG
                   (may be extended by further registrations)

image-coding- JBIG-T85 (bi-level, per ITU T.85) constraint JBIG-T43 (multi-level, per ITU T.43)

                   JPEG-T4E    (per ITU T.4, Annex E)
                   (may be extended by further registrations)

JBIG-stripe-size <Integer> image-interleave Stripe

                   Plane

color-subsampling "1:1:1" (no color subsampling)

                   "4:1:1"     (4:1:1 color subsampling)

Reference: this document, appendix A.

'image-file-structure' defines how the coded image data is wrapped and formatted. The following options are defined here:

o 'TIFF' indicates image data enclosed and tagged using TIFF

  structures described in Adobe's definition of TIFF [20].

o 'TIFF-limited' indicates image data structured using TIFF, but

  with the limitations on the placement of Image File Descriptors
  (IFDs) indicated in section 4.4.6 of RFC 2301 [7].

o 'TIFF-minimal' indicates a TIFF image format that meets the IFD

  placement, byte ordering and bit ordering requirements of the
  "minimal black and white mode" described in section 3.5 of RFC
  2301 [7], also known as TIFF-S.

o 'TIFF-MRC' uses a TIFF image structure [20] augmented with a sub-

  IFD structure, described for the "Mixed Raster Content mode" in
  section 8.1.2 of RFC 2301 [7], also known as TIFF-M.  This
  provides a file structure to contain composite images constructed
  using the MRC model described in T.44 [15] (see tag 'MRC-mode').

o 'TIFF-MRC-limited' is the same as 'TIFF-MRC', except that the

  primary IFD (i.e. top-level IFDs, as opposed to sub-IFDs)
  placement is constrained in the same way as 'TIFF-limited'.

'image-coding' describes how raw image data is compressed and coded as a sequence of bits. These are generic tags that may apply to a range of file formats and usage environments.

'image-coding-constraint' describes how the raw image data coding method is constrained to meet a particular operating environment. Options defined here are JBIG and JPEG coding constraints that apply in typical Group 3 fax environments.

The 'JBIG-stripe-size' feature may be used with JBIG image coding, and indicates the number of scan lines in each stripe except the last in an image. The legal constraints are:

  (JBIG-stripe-size=128)
  (JBIG-stripe-size>=0)

The latter being equivalent to no restriction.

 NOTE: there are several image coding options here, and
 not all are required in all circumstances.
 Specification of the image-file-structure tag value alone
 is not normally sufficient to describe the capabilities
 of a recipient.  A general rule is that sufficient detail
 should be provided to exclude any unsupported features.
 For extended Internet fax, image-file-structure and
 image-coding should always be specified, together with
 additional values described above as needed to clearly
 indicate which feature tag values are supported and which
 are not.  (See also the examples in section 4.)

MRC mode

Feature tag name Legal values


------------

MRC-mode <Integer> (0..7) (per ITU T.44 [15]) MRC-max-stripe-size <Integer>

Reference: this document, appendix A.

The 'MRC-mode' feature is used to indicate the availability of MRC (mixed raster content) image format capability. A zero value indicates MRC is not available, a non-zero value indicates the maximum available MRC mode number.

An MRC formatted document is actually a collection of several images, each of which is described by a separate feature collection. An MRC-capable receiver is presumed to be capable of accepting any combination of contained images that conform to both the MRC construction rules and the image-coding capabilities declared elsewhere.

Within an MRC-formatted document, multi-level coders are used for foreground and background images (i.e. odd-numbered layers: 1, 3, 5, etc.) and bi-level coders are used for mask layers (i.e. even numbered layers 2, 4, 6, etc.). MRC format also imposes constraints on the resolutions that can be used.

The 'MRC-max-stripe-size' feature may be used with MRC coding, and indicates the maximum number of scan lines in each MRC stripe. The legal constraints are:

  (MRC-max-stripe-size<=256)
  (MRC-max-stripe-size>=0)

These values indicate upper bounds on the stripe size. The actual value may vary between stripes, and the actual size for each stripe is indicated in the image data.

Examples

The level of detail captured here reflects that used for capability identification in Group 3 facsimile.

Simple mode Internet fax system

This example describes the capabilities of a typical simple mode Internet fax system. Note that TIFF profile S is required to be supported by such a system.

  (& (image-file-structure=TIFF-minimal)
     (MRC-mode=0)
     (color=Binary)
     (image-coding=MH) (MRC-mode=0)
     (| (& (dpi=204) (dpi-xyratio=[204/98,204/196]) )
        (& (dpi=200) (dpi-xyratio=[200/100,1]) ) )
     (size-x<=2150/254)
     (paper-size=A4)
     (ua-media=stationery) )

High-end black-and-white Internet fax system

This would include support for B/W JBIG and be equivalent to what is sometimes called "Super G3", except that Internet fax functionality would be added.

  (& (image-file-structure=TIFF)
     (MRC-mode=0)
     (color=Binary)
     (| (& (dpi=204) (dpi-xyratio=[204/98,204/196]) )
        (& (dpi=200) (dpi-xyratio=[200/100,1]) )
        (& (dpi=300) (dpi-xyratio=1) ) )
     (| (image-coding=[MH,MR,MMR])
        (& (image-coding=JBIG)
           (image-coding-constraint=JBIG-T85)
           (JBIG-stripe-size=128) ) )
     (size-x<=2150/254)
     (paper-size=[letter,A4,B4]) )
     (ua-media=stationery) )

Grey-scale Internet fax system

This is the previous example extended to handle grey scale multi- level images. In keeping with Group 3 fax, this example requires equal x- and y- resolutions for a multi-level image.

  (& (image-file-structure=TIFF)
     (MRC-mode=0)
     (| (& (color=Binary)
           (| (image-coding=[MH,MR,MMR])
              (& (image-coding=JBIG)
                 (image-coding-constraint=JBIG-T85)
                 (JBIG-stripe-size=128) ) )
           (| (& (dpi=204) (dpi-xyratio=[204/98,204/196]) )
              (& (dpi=200) (dpi-xyratio=[200/100,1]) )
              (& (dpi=300) (dpi-xyratio=1) ) )
        (& (color=Grey)
           (color-levels<=256)
           (color-space-CIELAB)
           (color-illuminant=D50)
           (CIELAB-L-min>=0)
           (CIELAB-L-max<=100)
           (| (& (image-coding=JPEG)
                 (image-coding-constraint=JPEG-T4E) )
              (& (image-coding=JBIG)
                 (image-coding-constraint=JBIG-T43)
                 (JBIG-stripe-size=128)
                 (image-interleave=stripe) ) )
           (dpi=[100,200,300]) (dpi-xyratio=1) ) )
     (size-x<=2150/254)
     (paper-size=[letter,A4,B4]) )
     (ua-media=stationery) )

Full-color Internet fax system (JPEG only)

This adds 24-bit full-color to the previous example.

  (& (image-file-structure=TIFF)
     (MRC-mode=0)
     (| (& (color=Binary)
           (image-coding=[MH,MR,MMR])
           (| (& (dpi=204) (dpi-xyratio=[204/98,204/196]) )
              (& (dpi=200) (dpi-xyratio=[200/100,1]) )
              (& (dpi=300) (dpi-xyratio=1) ) ) )
        (& (color=grey)
           (image-coding=JPEG)
           (image-coding-constraint=JPEG-T4E)
           (color-levels<=256)
           (color-space=CIELAB)
           (color-illuminant=D50)
           (CIELAB-L-min>=0)
           (CIELAB-L-max<=100)
           (dpi=[100,200,300]) (dpi-xyratio=1) )
        (& (color=full)
           (image-coding=JPEG)
           (image-coding-constraint=JPEG-T4E)
           (color-subsampling=["1:1:1","4:1:1"])
           (color-levels<=16777216)
           (color-space=CIELAB)
           (color-illuminant=D50)
           (CIELAB-L-min>=0)
           (CIELAB-L-max<=100)
           (CIELAB-a-min>=-85)
           (CIELAB-a-max<=85)
           (CIELAB-b-min>=-75)
           (CIELAB-b-max<=125)
           (dpi=[100,200,300]) (dpi-xyratio=1) ) )
     (size-x<=2150/254)
     (paper-size=[letter,A4,B4]) )
     (ua-media=stationery) )

Full-color Internet fax system (JPEG and JBIG)

This adds limited CMY(K), RGB and 16-bit mapped color using JBIG coding to the previous example.

  (& (image-file-structure=TIFF)
     (MRC-mode=0)
     (| (& (color=Binary)
           (| (image-coding=[MH,MR,MMR])
              (& (image-coding=JBIG)
                 (image-coding-constraint=JBIG-T85)
                 (JBIG-stripe-size=128) ) )
           (| (& (dpi=204) (dpi-xyratio=[204/98,204/196]) )
              (& (dpi=200) (dpi-xyratio=[200/100,1]) )
              (& (dpi=300) (dpi-xyratio=1) ) ) )
        (& (color=Limited)
           (image-coding=JBIG)
           (image-coding-constraint=JBIG-T43)
           (JBIG-stripe-size=128)
           (image-interleave=stripe)
           (| (& (color-space=[Device-RGB,Device-CMY])
                 (color-levels<=8) )
              (& (color-space=Device-CMYK)
                 (color-levels<=16) ) )
           (dpi=[100,200,300]) (dpi-xyratio=1) )
        (& (color=Mapped)
           (image-coding=JBIG)
           (image-coding-constraint=JBIG-T43)
           (JBIG-stripe-size=128)
           (image-interleave=stripe)
           (color-levels<=65536)
           (color-space=CIELAB)
           (color-illuminant=D50)
           (CIELAB-L-min>=0)
           (CIELAB-L-max<=100)
           (CIELAB-a-min>=-85)
           (CIELAB-a-max<=85)
           (CIELAB-b-min>=-75)
           (CIELAB-b-max<=125)
           (dpi=[100,200,300]) (dpi-xyratio=1) )
        (& (color=grey)
           (| (& (image-coding=JPEG)
                 (image-coding-constraint=JPEG-T4E) )
              (& (image-coding=JBIG)
                 (image-coding-constraint=JBIG-T43)
                 (JBIG-stripe-size=128)
                 (image-interleave=stripe) ) )
           (color-levels<=256)
           (color-space=CIELAB)
           (color-illuminant=D50)
           (CIELAB-L-min>=0)
           (CIELAB-L-max<=100)
           (dpi=[100,200,300]) (dpi-xyratio=1) )
        (& (color=full)
           (| (& (image-coding=JPEG)
                 (image-coding-constraint=JPEG-T4E)
                 (color-subsampling=["1:1:1","4:1:1"]) )
              (& (image-coding=JBIG)
                 (image-coding-constraint=JBIG-T43)
                 (JBIG-stripe-size=128)
                 (image-interleave=stripe) ) )
           (color-levels<=16777216)
           (color-space=CIELAB)
           (color-illuminant=D50)
           (CIELAB-L-min>=0)
           (CIELAB-L-max<=100)
           (CIELAB-a-min>=-85)
           (CIELAB-a-max<=85)
           (CIELAB-b-min>=-75)
           (CIELAB-b-max<=125)
           (dpi=[100,200,300]) (dpi-xyratio=1) ) )
     (size-x<=2150/254)
     (paper-size=[letter,A4,B4]) )
     (ua-media=stationery) )

Full-color Internet fax system (MRC)

This adds MRC image structures to the previous example.

  (& (image-file-structure=TIFF-MRC)
     (MRC-mode<=1) (MRC-max-stripe-size>=0)
     (| (& (color=binary)
           (| (image-coding=[MH,MR,MMR])
              (& (image-coding=JBIG)
                 (image-coding-constraint=JBIG-T85)
                 (JBIG-stripe-size=128) ) )
           (| (& (dpi=204) (dpi-xyratio=[204/98,204/196]) )
              (& (dpi=200) (dpi-xyratio=[200/100,1]) )
              (& (dpi=[300,400]) (dpi-xyratio=1) ) ) )
        (& (color=limited)
           (| (& (color-space=[Device-RGB,Device-CMY])
                 (color-levels<=8) ) )
           (| (& (color-space=Device-CMYK)
                 (color-levels<=16) ) )
           (image-coding=JBIG)
           (image-coding-constraint=JBIG-T43)
           (JBIG-stripe-size=128)
           (image-interleave=stripe)
           (dpi=[100,200,300,400]) (dpi-xyratio=1) )
        (& (color=mapped)
           (color-levels<=65536)
           (image-coding=JBIG)
           (image-coding-constraint=JBIG-T43)
           (JBIG-stripe-size=128)
           (image-interleave=stripe)
           (color-space=CIELAB)
           (CIELAB-L-min>=0)
           (CIELAB-L-max<=100)
           (CIELAB-a-min>=-85)
           (CIELAB-a-max<=85)
           (CIELAB-b-min>=-75)
           (CIELAB-b-max<=125) ) )
           (color-illuminant=D50)
           (dpi=[100,200,300,400]) (dpi-xyratio=1) )
        (& (color=grey)
           (| (& (image-coding=JPEG)
                 (image-coding-constraint=JPEG-T4E) )
              (& (image-coding=JBIG)
                 (image-coding-constraint=JBIG-T43)
                 (JBIG-stripe-size=128)
                 (image-interleave=stripe) ) )
           (color-space=CIELAB)
           (color-levels<=256)
           (color-illuminant=D50)
           (CIELAB-L-min>=0)
           (CIELAB-L-max<=100)
           (dpi=[100,200,300,400]) (dpi-xyratio=1) )
        (& (color=full)
           (| (& (image-coding=JPEG)
                 (image-coding-constraint=JPEG-T4E)
                 (color-subsampling=["1:1:1","4:1:1"]) )
              (& (image-coding=JBIG)
                 (image-coding-constraint=JBIG-T43)
                 (JBIG-stripe-size=128)
                 (image-interleave=stripe) ) )
           (color-levels<=16777216)
           (color-space=CIELAB)
           (color-illuminant=D50)
           (CIELAB-L-min>=0)
           (CIELAB-L-max<=100)
           (CIELAB-a-min>=-85)
           (CIELAB-a-max<=85)
           (CIELAB-b-min>=-75)
           (CIELAB-b-max<=125)
           (dpi=[100,200,300,400]) (dpi-xyratio=1) ) )
     (size-x<=2550/254)
     (Paper-size=[Letter,A4,B4])
     (ua-media=stationery) )

Sender and receiver feature matching

This example considers sending a document to an enhanced black-and- white fax system with the following receiver capabilities:

  (& (| (& (dpi=200) (dpi-xyatio=200/100) )
        (& (dpi=200) (dpi-xyratio=1) )
        (& (dpi=300) (dpi-xyratio=1) )
        (& (dpi=400) (dpi-xyratio=1) ) )
     (color=Binary)
     (| (& (paper-size=A4) (ua-media=[stationery,transparency]) )
        (& (paper-size=B4) (ua-media=continuous) ) )
     (image-coding=[MH,MR,JBIG]) )

Turning to the document itself, assume it is available to the sender in three possible formats, A4 high resolution, B4 low resolution and A4 high resolution color, described by:

  (& (dpi=300) (dpi-xyratio=1)
     (color=Binary)
     (paper-size=A4)
     (image-coding=[MMR,JBIG]) )
  (& (dpi=200) (dpi-xyratio=200/100)
     (color=Binary)
     (paper-size=B4)
     (image-coding=[MH,MR]) )
  (& (dpi=300) (dpi-xyratio=1)
     (color=Mapped) (color-levels<=256)
     (paper-size=A4)
     (image-coding=JPEG) )

These three image formats can be combined into a composite capability statement by a logical-OR operation (to describe format-1 OR format-2 OR format-3):

  (| (& (dpi=300) (dpi-xyratio=1)
        (color=Binary)
        (paper-size=A4)
        (image-coding=[MMR,JBIG]) )
     (& (dpi=200) (dpi-xyratio=200/100)
        (color=Binary)
        (paper-size=B4)
        (image-coding=[MH,MR]) )
     (& (dpi=300) (dpi-xyratio=1)
        (color=Mapped) (color-levels=42)
        (paper-size=A4)
        (image-coding=JPEG) ) )

This could be simplified, but there is little gain in doing so at this point.

The composite document description can be matched with the receiver capability description, according to the rules in [2], to yield the result:

  (| (& (dpi=300) (dpi-xyratio=1)
        (color=Binary)
        (paper-size=A4)
        (ua-media=[stationery,transparency])
        (image-coding=JBIG) )
     (& (dpi=200) (dpi-xyratio=200/100)
        (color=Binary)
        (paper-size=B4)
        (ua-media=continuous)
        (image-coding=[MH,MR]) ) )

Points to note about the feature matching process:

o The color document option is eliminated because the receiver

  cannot handle either color (indicated by '(color=Mapped)') or
  JPEG coding (indicated by '(image-coding=JPEG)').

o The high resolution version of the document with '(dpi=300)' must

  be send using '(image-coding=JBIG)' because this is the only
  available coding of the image data that the receiver can use for
  high resolution documents.  (The available 300dpi document
  codings here are MMR and JBIG, and the receiver capabilities are
  MH, MR and JBIG.)

o The low-resolution version of the document can be sent with

  either MH or MR coding as the receiver can deal with either of
  these for low resolution documents.

o The high resolution variant of the document is available only for

  A4, so that is the paper-size used in that case.  Similarly the
  low resolution version is sent for B4 paper.

o Even though the sender may not understand the 'ua-media' feature

  tag, and does not mention it, the matching rules preserve the
  constraint that the B4 document is rendered with
 '(ua-media=continuous)', and the A4 document may be rendered with
 '(ua-media=[stationery,transparency])'.

Finally, note that when matching an MRC document description, the description of each component sub-image must match the capabilities of the intended receiver.

IANA Considerations

Appendix A of this document repeats the descriptions of feature tags introduced by RFC 2531 [22], with some small revisions. These have been registered in the "IETF tree", according to the procedure described in section 3.1.1 of "Media Feature Tag Registration Procedure" [1] (i.e. these feature tags are subject to the "IETF Consensus" policies described in RFC 2434 [21]).

Appendix section A.5 introduces one new feature tag (color- illuminant) to be registered according to the same procedure. An ASN.1 identifier should be assigned for this new tag and replaced in the body of the registration.

Security Considerations

The points raised below are in addition to the general security considerations for extended Internet fax [5], and others discussed in [2,8,11,12,13]

Capability descriptions and mechanisms

Negotiation mechanisms reveal information about one party to other parties. This may raise privacy concerns, and may allow a malicious party to make better guesses about the presence of specific security holes.

Most of these concerns pertain to capability information getting into the hands of someone who may abuse it. This document specifies capabilities that help a sender to determine what image characteristics can be processed by the recipient, not mechanisms for their publication. Implementers and users should take care that the mechanisms employed ensure that capabilities are revealed only to appropriate persons, systems and agents.

Specific threats

1. Unsolicited bulk mail: if it is known that a recipient can

  process certain types of images, they may be targeted by bulk
  mailers that want to send such images.

Acknowledgements

The authors gratefully acknowledge the contributions of the following persons who commented on earlier versions of this memo: James Rafferty, Dan Wing, Robert Buckley, Mr Ryuji Iwazaki. The following contributed ideas upon which some of the features described here have been based: Larry Masinter, Al Gilman, Koen Holtman.

References

[1] Holtman, K., Mutz, A. and T. Hardie, "Media Feature Tag

    Registration Procedure", RFC 2506, March 1999.

[2] Klyne, G., "A syntax for describing media feature sets", RFC

    2533, March 1999.

[3] Masinter, L., Holtman, K., Mutz, A. and D. Wing, "Media Features

    for Display, Print, and Fax", RFC 2534, March 1999.

[4] McIntyre, L. and G. Klyne, "Internet Fax T.30 Feature Mapping",

    RFC 2880, July 2000.

[5] Masinter, L. and D. Wing, RFC 2532, "Extended Facsimile Using

    Internet Mail", RFC 2532, March 1999.

[6] "Procedures for document facsimile transmission in the general

    switched telephone network", ITU-T Recommendation T.30 (1999),
    International Telecommunications Union, March 1999

[7] McIntyre, L., Buckley, R., Venable, D., Zilles, S., Parsons, G.

    and J. Rafferty, "File format for Internet fax", RFC 2301, March
    1998.

[8] Toyoda, K., Ohno, H., Murai, J. and D. Wing, "A Simple Mode of

    Facsimile Using Internet Mail", RFC 2305, March 1998.

[9] "Continuous-tone color representation method for facsimile"

    ITU-T Recommendation T.42 (1996) International
    Telecommunications Union (Covers custom illuminant, gamut)

[10] "Colour and gray-scale image representation using lossless

    coding scheme for facsimile" ITU-T Recommendation T.43 (1997)
    International Telecommunications Union.  (Covers JBIG for
    colour/grey images)

[12] Klyne, G., "Protocol-independent Content Negotiation Framework",

    RFC 2703, September 1999.

[13] "Standardization of Group 3 facsimile terminals for document

    transmission", ITU-T Recommendation T.4 (1999), International
    Telecommunications Union, (Covers basic fax coding formats: MH,
    MR)

[14] "Facsimile coding schemes and coding control functions for Group

    4 facsimile apparatus", ITU Recommendation T.6, International
    Telecommunications Union,  (Commonly referred to as the MMR
    standard; covers extended 2-D fax coding format).

[15] "Mixed Raster Content (MRC)", ITU-T Recommendation T.44,

    International Telecommunications Union.

[16] "Information technology - Digital compression and coding of

    continuous-tone still image - Requirements and guidelines" ITU-T
    Recommendation T.81 (1992) | ISO/IEC 10918-1:1993 International
    Telecommunications Union, (Commonly referred to as JPEG
    standard)

[17] "Information technology - Coded representation of picture and

    audio information - Progressive bi-level image compression"
    ITU-T Recommendation T.82 (1993) | ISO/IEC 11544:1993
    International Telecommunications Union (Commonly referred to as
    JBIG1 standard)

[18] "Application profile for Recommendation T.82 - Progressive bi-

    level image compression (JBIG1 coding scheme for facsimile
    apparatus)", ITU-T Recommendation T.85 (1995),International
    Telecommunications Union, (Covers bi-level JBIG).

[19] "Colorimeter, 2nd ed.", CIE Publication No. 15.2, 1986. (Defines

    CIELAB color space;  use with fax is further constrained by T.42
    [9].)

[20] Tag Image File Format, Revision 6.0 Adobe Developers Association

    <ftp://ftp.adobe.com/pub/adobe/devrelations/devtechnotes/pdffiles
    /tiff6.pdf> June 1992

[21] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA

    Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.

[22] Klyne, G. and L. McIntyre, "Content feature schema for Internet

    fax", RFC 2531, March 1999.

Authors' Addresses

Graham Klyne Content Technologies Ltd. 1220 Parkview, Arlington Business Park Theale Reading, RG7 4SA United Kingdom.

Phone: +44 118 930 1300 Fax: +44 118 930 1301 EMail: [email protected]

Lloyd McIntyre Xerox Corporation Mailstop PAHV-121 3400 Hillview Ave. Palo Alto, CA 94304 USA

Phone: +1-650-813-6762 Fax: +1-650-845-2340 EMail: [email protected]

Appendix A: Feature registrations

A.1 Image size

- Media Feature tag name(s):

    size-x
    size-y

- ASN.1 identifiers associated with these feature tags:

    size-x:      1.3.6.1.8.1.7
    size-y:      1.3.6.1.8.1.8

- Summary of the media features indicated:

    These feature tags indicate the size of a displayed, printed
    or otherwise rendered document image;  they indicate
    horizontal (size-x) and vertical (size-y) dimensions.
    The unit of measure is inches (to be consistent with the
    measure of resolution defined by the feature tag 'dpi').
    Where the actual size is available in millimetres, a
    conversion factor of 10/254 may be applied to yield an exact
    inch-based value.

- Values appropriate for use with these feature tags:

    Rational (>0)

- The feature tag is intended primarily for use in the following

  applications, protocols, services, or negotiation mechanisms:
    Print and display applications where different media choices
    will be made depending on the size of the recipient device.

- Examples of typical use:

    This example describes the maximum scanned image width and
    height for Group 3 fax: 215x297 mm (8.46x11.69 inches):
    (size-x<=2150/254)
    (size-y<=2970/254)

- Related standards or documents:

    The memo "Media Features for Display, Print, and Fax" [3]
    describes features (pix-x, pix-y) for measuring document size
    in pixels.
    Fax applications should declare physical dimensions using the
    features defined here.

- Considerations particular to use in individual applications,

  protocols, services, or negotiation mechanisms:
    Where no physical size is known or available, but a pixel size
    is known, a notional size should be declared based upon known
    pixel dimensions and a notional resolution of (say) 100dpi
    For example, to describe a 640x480 pixel display:
       (& (size-x<=640/100) (size-y<=480/100) (dpi=100) )
    The notional 100dpi resolution is used as it represents a
    fairly typical resolution for a pixel-limited display.
    Reducing the rational numbers to canonical form gives the
    following equivalent expression:
       (& (size-x<=32/5) (size-y<=24/5) (dpi=100) )

- Interoperability considerations:

    For interoperability with other (non-fax) applications that
    use only pixel-based measurements, pixel dimensions (pix-x,
    pix-y) may be declared in addition to physical measurements.

- Related feature tags:

    pix-x                 [3]
    pix-y                 [3]
    dpi                   [3]
    dpi-xyratio           [this document]

- Intended usage:

    Common

- Author/Change controller:

    IETF

A.2 Resolution aspect ratio

- Media Feature tag name(s):

    dpi-xyratio

- ASN.1 identifier associated with this feature tag:

    1.3.6.1.8.1.9

- Summary of the media features indicated:

    This feature is used to indicate differential horizontal and
    vertical resolution capability.  In the absence of this
    feature, horizontal and vertical resolutions are presumed to
    be the same.
    When this feature tag is specified, any declared resolution
    (dpi) is presumed to apply to the horizontal axis, and the
    vertical resolution is obtained by dividing that declared
    resolution by the resolution ratio.
    The value of this feature is a pure number, since it
    represents the ratio of two resolution values.

- Values appropriate for use with this feature tag:

    Rational (>0)

- The feature tag is intended primarily for use in the following

  applications, protocols, services, or negotiation mechanisms:
    Internet fax, and other print or display applications that
    must handle differential horizontal and vertical resolution
    values.

- Examples of typical use:

    The following example describes a fax resolution of 204 dpi
    horizontally by 391 dpi vertically:
    (& (dpi=204) (dpi-xyratio=204/391) )

- Related standards or documents:

    The memo "Media Features for Display, Print, and Fax" [3]
    describes a feature (dpi) for measuring document resolution.

- Interoperability considerations:

    When interoperating with an application that does not
    recognize the differential resolution feature, resolution
    matching may be performed on the basis of the horizontal
    resolution only, so aspect ratio information may be lost.

- Related feature tags:

    dpi                   [3]
    size-x                [this document]
    size-y                [this document]

- Intended usage:

    Internet fax

- Author/Change controller:

    IETF

A.3 Color levels

- Media Feature tag name(s):

    color-levels

- ASN.1 identifier associated with this feature tag:

    1.3.6.1.8.1.10

- Summary of the media features indicated:

    This feature tag is used to indicate a number of different
    image data pixel color values.
    When mapped (palletized) color is used, this is generally
    different from the number of different colors that can be
    represented through the color mapping function.
    This feature tag is used in conjunction with a 'color' feature
    having a value other than 'Binary'.

- Values appropriate for use with this feature tag:

    Integer  (>=2)

- The feature tag is intended primarily for use in the following

  applications, protocols, services, or negotiation mechanisms:
    Color image printing or display applications where the data
    resource used may depend upon color handling capabilities of
    the recipient.

- Examples of typical use:

    To describe recipient capabilities:
    (& (color=limited) (color-levels<=6) )
    (& (color=grey)    (color-levels<=64) )
    (& (color=mapped)  (color-levels<=240) )
    (& (color=full)    (color-levels<=16777216) )
    To describe capabilities used by a document:
    (& (color=limited) (color-levels=4) )
    (& (color=grey)    (color-levels=48) )
    (& (color=mapped)  (color-levels=100) )
    (& (color=full)    (color-levels=32768) )

- Related standards or documents:

    The memo "Media Features for Display, Print, and Fax" [3]
    describes a feature (color) for indicating basic color
    capabilities.

- Interoperability considerations:

    The actual number of color values used by a document does not,
    in general, exactly match the number that can be handled by a
    recipient.  To achieve a feature match, at least one must be
    declared as an inequality (i.e. not both as equalities).
    It is recommended that a recipient declares the number of
    color values that it can handle as an inequality (<=), and a
    data resource declares the number of colors that it uses with
    an equality, as shown in the examples above.

- Security considerations:

  - Privacy concerns, related to exposure of personal information:
       Where feature matching is used to select content applicable
       to the physical abilities of a user, unusual values for this
       feature tag might give an indication of a user's restricted
       abilities.

- Related feature tags:

    color                 [3]
    color-space           [this document]

- Intended usage:

    Internet fax
    Color image scanning/rendering applications

- Author/Change controller:

    IETF

A.4 Color space

- Media Feature tag name(s):

    color-space

- ASN.1 identifier associated with this feature tag:

    1.3.6.1.8.1.11

- Summary of the media features indicated:

    This feature indicates a color space.
    A color space value provides two types of information:
    o  the color model used to represent a color value, including
       the number of color components
    o  a mapping between color values and their physical
       realizations
    Device color space values are defined for applications where
    the general color representation used is significant, but
    exact color rendering is left to the device used.  Device
    color spaces defined here have values of the form 'Device-
    xxx'.
    Calibrated color space values are provided for use with a
    rendering system that is calibrated with respect to some
    indicated definition, and capable of processing device-
    independent color information accordingly.

- Values appropriate for use with this feature tag:

    Token
    Device color      Device-RGB   (device dependent RGB)
    spaces:           Device-CMY   (device dependent CMY)
                      Device-CMYK  (device dependent CMYK)
    Calibrated color  CIELAB       (per T.42 [9])
    space:
                      (may be extended by further registrations)
    'Color-space=CIELAB' indicates the CIE L*a*b* colour space,
    using CIED50 illuminant and its perfectly diffuse reflecting
    white point (per T.42 [9]).

- The feature tag is intended primarily for use in the following

  applications, protocols, services, or negotiation mechanisms:
    Color image printing and display applications where the data
    resource used may depend upon color handling capabilities of
    the recipient.
    Scanning applications where the data transferred may depend
    upon the image generation capabilities of the originator.

- Examples of typical use:

    To describe rendering or scanning capabilities:
    (color-space=[Device-RGB,CIELAB])
    To describe capabilities assumed by a document for which
    approximate color reproduction is required:
    (color-space=Device-RGB)
    To describe capabilities assumed by a document for which exact
    color reproduction is required:
    (color-space=CIELAB)

- Related standards or documents:

    CIELAB color space is defined in [19]
    CIELAB use for fax is described in ITU T.42 [9]

- Interoperability considerations:

    A color-handling receiver should indicate any appropriate
    device color space capability, in addition to any calibrated
    color spaces that it may support.
    Calibrated color spaces are intended to be used when precise
    color matching is required;  otherwise, if applicable, a
    device color space (color-space=Device-xxx) should be
    indicated.
    Documents for which exact color matching is not important
    should indicate a device color space capability, if
    applicable.
    These principles allow sender/receiver feature matching to be
    achieved when exact color matching is not required.

- Security considerations:

  - Privacy concerns, related to exposure of personal information:
       Where feature matching is used to select content applicable
       to the physical abilities of a user, unusual values for this
       feature tag might give an indication of a user's restricted
       abilities.
  - Denial of service concerns related to consequences of
    specifying incorrect values:
       Failure to indicate a generic color space capability for a
       device may lead to failure to match color space for an
       application or document that does not require an exact color
       match.

- Related feature tags:

    color                 [3]

- Related media types or data formats:

    TIFF-FX               [7]

- Intended usage:

    Internet fax
    Color image scanning/rendering applications

- Author/Change controller:

    IETF

A.5 CIELAB color illuminant

- Media Feature tag name(s):

    color-illuminant

- ASN.1 identifier associated with this feature tag:

    1.3.6.1.8.1.29

- Summary of the media features indicated:

    This feature indicates a color illuminant.  This has the
    effect of modifying the color space calibration to reflect the
    use of different sources of illumination.
    A color-illuminant value would normally be used only with a
    calibrated color space.

- Values appropriate for use with this feature tag:

    Token
    CIELAB illuminant D50
    values:           D65
                      D75
                      SA
                      SC
                      F2
                      F7
                      F11
    Defined by color  CTnnnn where 'nnnn' is a decimal
    temperature:             representation of the illuminant
                             color temperature in Kelvins.
                  (may be extended by further registrations)
    NOTE:  The default color illuminant for Group 3 fax is D50.

- The feature tag is intended primarily for use in the following

  applications, protocols, services, or negotiation mechanisms:
    Color image printing and display applications where the data
    resource used may depend upon detailed color handling
    capabilities of the recipient.
    Scanning applications where the data transferred may depend
    upon the image generation capabilities of the originator.

- Examples of typical use:

    To describe rendering or scanning capabilities, or to describe
    capabilities assumed by a document for which exact color
    handling capabilities are required:
    (& (color-space=CIELAB) (color-illuminant=D50) )

- Related standards or documents:

    CIELAB color illuminant representations are described in ITU
    T.4 [13], Annex E.6.7.

- Interoperability considerations:

    A color-handling receiver that supports a calibrated color
    space should indicate any constraint on the illuminants it can
    handle.
    In the absence of a color-illuminant constraint, a receiver is
    presumed to accept and deal with any specified illuminant
    value.

- Related feature tags:

    color                 [3]
    color-space           [this document]

- Related media types or data formats:

    TIFF-FX               [7]

- Intended usage:

    Internet fax
    Color image scanning/rendering applications

- Author/Change controller:

    IETF

A.6 CIELAB color depth

- Media Feature tag name(s):

    CIELAB-L-depth
    CIELAB-a-depth
    CIELAB-b-depth

- ASN.1 identifiers associated with these feature tags:

    CIELAB-L-depth:   1.3.6.1.8.1.12
    CIELAB-a-depth:   1.3.6.1.8.1.13
    CIELAB-b-depth:   1.3.6.1.8.1.14

- Summary of the media features indicated:

    These feature tags indicate a color depth capability;  i.e.
    the level of detail to which an individual CIELAB color
    component can be specified.  They define the number of
    distinct values possible for each of the color components L*,
    a* and b*.
    Typically, this feature would be used with 'color=mapped', and
    possibly 'color=grey' or 'color=full', to indicate the number
    of distinct colors that can be represented.
       NOTE:  this feature tag describes the number of values that
       can be represented for a color component, and does not
       necessarily indicate the number of distinct values that can
       be rendered or resolved by a system.

- Values appropriate for use with these feature tags:

    Integer (>0)

- These feature tags are intended primarily for use in the

  following applications, protocols, services, or negotiation
  mechanisms:
    Color image printing and display applications where the data
    resource used may depend upon color handling capabilities of
    the recipient.
    Scanning applications where the data transferred may depend
    upon the image generation capabilities of the originator.

- Examples of typical use:

    To describe rendering or scanning capabilities:
    (& (color=mapped) (color-levels<=240)
       (CIELAB-L-depth<=128)
       (CIELAB-a-depth<=128)
       (CIELAB-b-depth<=128) )
    (& (color=full) (color-levels<=16777216)
       (CIELAB-L-depth<=256)
       (CIELAB-a-depth<=128)
       (CIELAB-b-depth<=128) )
    To describe capabilities assumed by a document:
    (& (color=mapped) (color-levels=200)
       (CIELAB-L-depth=32)
       (CIELAB-a-depth=32)
       (CIELAB-b-depth=32) )
    (& (color=full) (color-levels=32768)
       (CIELAB-L-depth=128)
       (CIELAB-a-depth=32)
       (CIELAB-b-depth=32) )

- Related standards or documents:

    The memo "Media Features for Display, Print, and Fax" [3]
    defines a feature (color) for indicating basic color
    capabilities.
    CIELAB color space is defined in [19]
    CIELAB use for fax is described in ITU T.42 [9]

- Related feature tags:

    color                 [3]
    color-levels          [this document]
    color-space           [this document]

- Intended usage:

    Internet fax
    Color image scanning/rendering applications

- Author/Change controller:

    IETF

A.7 CIELAB color gamut

- Media Feature tag name(s):

    CIELAB-L-min
    CIELAB-L-max
    CIELAB-a-min
    CIELAB-a-max
    CIELAB-b-min
    CIELAB-b-max

- ASN.1 identifiers associated with these feature tags:

    CIELAB-L-min:     1.3.6.1.8.1.15
    CIELAB-L-max:     1.3.6.1.8.1.16
    CIELAB-a-min:     1.3.6.1.8.1.17
    CIELAB-a-max:     1.3.6.1.8.1.18
    CIELAB-b-min:     1.3.6.1.8.1.19
    CIELAB-b-max:     1.3.6.1.8.1.20

- Summary of the media features indicated:

    These feature indicate a supported range of color values, by
    indicating minimum and maximum values used for each color
    component in a CIELAB color space.
    'CIELAB-L-min' and 'CIELAB-L-max' are the minimum and maximum
    values of the L* component.
    'CIELAB-a-min' and 'CIELAB-a-max' are the minimum and maximum
    values of the a* component.
    'CIELAB-b-min' and 'CIELAB-b-max' are the minimum and maximum
    values of the b* component.
       NOTE:  color component values are assumed to be rational
       numbers, so a limited gamut does not necessarily indicate
       limited color resolution.

- Values appropriate for use with this feature tag:

    Rational

- The feature tag is intended primarily for use in the following

  applications, protocols, services, or negotiation mechanisms:
    Color image printing and display applications where the data
    resource used may depend upon detailed color handling
    capabilities of the recipient.
    Scanning applications where the data transferred may depend
    upon the detailed color image generation capabilities of the
    originator.

- Examples of typical use:

    To describe rendering or scanning capabilities:
    (& (CIELAB-L-min>=0)
       (CIELAB-L-max<=100)
       (CIELAB-a-min>=-75)
       (CIELAB-a-max<=+75)
       (CIELAB-b-min>=-85)
       (CIELAB-b-max<=+85) )
    To describe capabilities required by a document:
    (& (CIELAB-L-min=20)
       (CIELAB-L-max=80)
       (CIELAB-a-min=-35)
       (CIELAB-a-max=+55)
       (CIELAB-b-min=-45)
       (CIELAB-b-max=+65) )

- Related standards or documents:

    CIELAB color space is defined in [19]
    CIELAB use for fax is described in ITU T.42 [9]

- Interoperability considerations:

    When describing a recipient's capabilities, the minimum and
    maximum color component values that can be rendered should be
    indicated by inequalities as shown in the examples above.
    When describing a document, the actual minimum and maximum
    color component values used should be indicated, as shown
    above.

- Security considerations:

  - Privacy concerns, related to exposure of personal information:
       Where feature matching is used to select content applicable
       to the physical abilities of a user, unusual values for this
       feature tag might give an indication of a user's restricted
       abilities.

- Related feature tags:

    color                 [3]
    color-space           [this document]

- Related media types or data formats:

    TIFF-FX               [7]

- Intended usage:

    Internet fax
    Color image scanning/rendering applications

- Author/Change controller:

    IETF

A.8 Image file structure

- Media Feature tag name(s):

    image-file-structure

- ASN.1 identifier associated with this feature tag:

    1.3.6.1.8.1.21

- Summary of the media features indicated:

    This feature indicates a file structure used for transfer and
    presentation of image data.
    It does not indicate image data coding:  that is described by
    separate feature tags (image-coding, etc.).

- Values appropriate for use with this feature tag:

    Token
    Image file        TIFF
    structure         TIFF-limited
    options:          TIFF-minimal
                      TIFF-MRC
                      TIFF-MRC-limited
                      (may be extended by further registrations,
                      to cover non-TIFF image file structures)

- The feature tag is intended primarily for use in the following

  applications, protocols, services, or negotiation mechanisms:
    Internet fax, and other print or display applications that
    transfer image data.

- Examples of typical use:

    See Appendix B of this memo.

- Considerations particular to use in individual applications,

  protocols, services, or negotiation mechanisms:
    This tag is intended to provide information about an image
    file structure.  Information about image data coding is
    provided by other tags.
    The following tag values are defined here:
    o  'TIFF' indicates image data enclosed and tagged using TIFF
       structures described in Adobe's definition of TIFF [20].
    o  'TIFF-limited' indicates image data structured using TIFF,
       but with limitations on the placement of Image File
       Descriptors (IFDs) within the file, which are indicated in
       section 4.4.6 of RFC 2301 [7].
    o  'TIFF-minimal' indicates a TIFF image format that meets the
       IFD placement, byte ordering and bit ordering requirements
       of the "minimal black and white mode" described in section
       3.5 of RFC 2301 [7], also known as TIFF-S.
    o  'TIFF-MRC' uses a TIFF image structure [20] augmented with a
       sub-IFD structure, described for the "Mixed Raster Content
       mode" in section 8.1.2 of RFC 2301 [7], also known as TIFF-M
       (see also tag 'MRC-mode').
    o  'TIFF-MRC-limited' is the same as 'TIFF-MRC', except that
       the IFD placement is constrained as for 'TIFF-limited'.
    Registration of additional image file structure tags should
    focus similarly on image file structure issues, not raw image
    data compression and coding.  As a guide, an image file
    structure may contain image data coded in a variety of ways,
    and carries information to describe that coding separately
    from MIME content-type labelling, etc.

- Related feature tags:

    image-coding          [this document]
    MRC-mode              [this document]

- Related media types or data formats:

    TIFF-FX               [7]
    TIFF V6.0 (Adobe)     [20]

- Intended usage:

    Internet fax
    Image scanning/rendering applications

- Author/Change controller:

    IETF

A.9 Image data coding

- Media Feature tag name(s):

    image-coding

- ASN.1 identifier associated with this feature tag:

    1.3.6.1.8.1.22

- Summary of the media features indicated:

    This feature tag indicates a form of image data compression
    and coding used.
    It identifies a generic image coding technique used, without
    regard to any specific profiling of that technique that may be
    applied.  Values for this feature are generally applicable
    across a wide range of image transfer applications.
    This information is distinct from the image file structure and
    MRC information conveyed by the 'image-file-structure' tags.

- Values appropriate for use with this feature tag:

    Token             MH
                      MR
                      MMR
                      JBIG
                      JPEG
                      (may be extended by further registrations)

- The feature tag is intended primarily for use in the following

  applications, protocols, services, or negotiation mechanisms:
    Internet fax, and other applications that transfer image data.

- Examples of typical use:

    See Appendix B of this memo.

- Related standards or documents:

    MH, MR:     ITU T.4 [13]
    MMR:        ITU T.6 [14]
    JPEG:       ITU T.81 [16]
    JBIG:       ITU T.82 [17]

- Interoperability considerations:

    To establish the correct conditions for interoperability
    between systems, capabilities to handle the generic image
    coding technique and the specific image coding constraints
    must be established.

- Related feature tags:

    image-coding-constraint  [this document]
    JBIG-stripe-size         [this document]
    image-interleave         [this document]

- Related media types or data formats:

    TIFF-FX                  [7]

- Intended usage:

    Internet fax
    Image scanning/rendering applications

- Author/Change controller:

    IETF

A.10 Image coding constraint

- Media Feature tag name(s):

    image-coding-constraint

- ASN.1 identifier associated with these feature tags:

    1.3.6.1.8.1.23

- Summary of the media features indicated:

    This feature tag qualifies the 'image-coding' feature with a
    specific profile or usage constraints.
    Values for this feature are generally specific to some given
    value of 'image-coding' and also to some restricted
    application or class of applications.

- Values appropriate for use with this feature tag:

    Token             JBIG-T85    (bi-level, per ITU T.85)
                      JBIG-T43    (multi-level, per ITU T.43)
                      JPEG-T4E    (per ITU T.4, Annex E)
                      (may be extended by further registrations)

- The feature tag is intended primarily for use in the following

  applications, protocols, services, or negotiation mechanisms:
    Internet fax, and other applications that transfer image data.
    The specific values for this feature indicated above are
    intended for use with Internet fax.

- Examples of typical use:

    See Appendix B of this memo.

- Related standards or documents:

    JBIG-T85:   ITU T.85 [18]
    JBIG-T43:   ITU T.43 [10]
    JPEG-T4E:   ITU T.4 Annex E [13]

- Interoperability considerations:

    To establish the correct conditions for interoperability
    between systems, capabilities to handle the generic image
    coding technique and the specific image coding constraints
    must be established.

- Related feature tags:

    image-coding             [this document]
    JBIG-stripe-size         [this document]
    image-interleave         [this document]

- Related media types or data formats:

    TIFF-FX                  [7]

- Intended usage:

    Internet fax
    Color image scanning/rendering applications

- Author/Change controller:

    IETF

A.11 JBIG stripe size

- Media Feature tag name(s):

    JBIG-stripe-size

- ASN.1 identifier associated with these feature tags:

    1.3.6.1.8.1.24

- Summary of the media features indicated:

    This feature is a specific usage constraint that is applied to
    JBIG image coding (image-coding=JBIG), and indicates the
    allowable size for each stripe of an image, except the last.
    A stripe of a JBIG image is a delimited horizontal band of
    compressed image data that can be decompressed separately from
    the surrounding data.

- Values appropriate for use with this feature tag:

    Integer  (>0)

- The feature tag is intended primarily for use in the following

  applications, protocols, services, or negotiation mechanisms:
    Internet fax, and other applications that transfer image data.

- Examples of typical use:

    (JBIG-stripe-size=128)
    (JBIG-stripe-size>0)

- Related standards or documents:

    JBIG:       ITU T.82 [17]
    JBIG-T85:   ITU T.85 [18]
    JBIG-T43:   ITU T.43 [10]

- Considerations particular to use in individual applications,

  protocols, services, or negotiation mechanisms:
    In the case of Internet fax, the specific constraints allowed
    for a receiver are those given as examples above.
    Specifying a stripe size that is not limited (JBIG-stripe-
    size>0) means that an entire page of image data is encoded as
    a single unit.  This may place considerable demands on the
    memory of a receiving system, as the entire stripe needs to be
    buffered in memory.

- Interoperability considerations:

    To establish the correct conditions for interoperability
    between systems, capabilities to handle the generic image
    coding technique and the specific image coding constraints
    must be established.

- Related feature tags:

    image-coding             [this document]
    image-coding-constraint  [this document]
    image-interleave         [this document]

- Related media types or data formats:

    TIFF-FX                  [7]

- Intended usage:

    Internet fax
    Color image scanning/rendering applications

- Author/Change controller:

    IETF

A.12 Image interleave

- Media Feature tag name(s):

    image-interleave

- ASN.1 identifier associated with this feature tag:

    1.3.6.1.8.1.25

- Summary of the media features indicated:

    This feature indicates an image interleave capability.
    It may be used with JBIG images (image-coding=JBIG) to
    indicate color plane interleaving of either stripes or entire
    image planes.

- Values appropriate for use with this feature tag:

    Token             Stripe
                      Plane

- The feature tag is intended primarily for use in the following

  applications, protocols, services, or negotiation mechanisms:
    Internet fax, and other applications that transfer image data.

- Examples of typical use:

    (image-interleave=stripe)
    (image-interleave=[stripe,plane])

- Considerations particular to use in individual applications,

  protocols, services, or negotiation mechanisms:
    Specifying a plane interleave means that an entire page of
    image data must be buffered in order to generate or render the
    image.  This may place considerable demands on the memory of a
    sending or receiving system.

- Related feature tags:

    image-coding             [this document]
    JBIG-stripe-size         [this document]

- Related media types or data formats:

    TIFF-FX                  [7]

- Intended usage:

    Internet fax
    Color image scanning/rendering applications

- Author/Change controller:

    IETF

A.13 Color subsampling

- Media Feature tag name(s):

    color-subsampling

- ASN.1 identifier associated with this feature tag:

    1.3.6.1.8.1.26

- Summary of the media features indicated:

    This feature tag indicates whether color information may be
    subsampled with respect to luminance data.
    It is used with continuous color images (color=full), color
    spaces that use separate luminance and color components
    (e.g. color-space=LAB), and image file structures that support
    color subsampling.

- Values appropriate for use with this feature tag:

    String            "1:1:1"
                      This value indicates a full set of color
                      component samples for each luminance
                      component sample.
                      "4:1:1"
                      This value indicates one set of color component
                      samples for each 4 luminance samples.
                      (may be extended by further registrations)

- The feature tag is intended primarily for use in the following

  applications, protocols, services, or negotiation mechanisms:
    Color image printing and display applications where the data
    resource used may depend upon color handling capabilities of
    the recipient.
    Scanning applications where the data transferred may depend
    upon the image generation capabilities of the originator.

- Examples of typical use:

    (& (color=full) (color-space=[LAB,CIELAB])
       (color-subsampling=["1:1:1","4:1:1"]) )

- Related feature tags:

    color                 [3]
    color-space           [this document]
    image-file-structure  [this document]

- Related media types or data formats:

    TIFF-FX               [7]

- Intended usage:

    Internet fax
    Color image scanning/rendering applications

- Author/Change controller:

    IETF

A.14 MRC availability and mode

- Media Feature tag name(s):

    MRC-mode

- ASN.1 identifier associated with this feature tag:

    1.3.6.1.8.1.27

- Summary of the media features indicated:

    This feature is used to indicate the availability of MRC
    (mixed raster content) image format capability, and also the
    MRC mode available.  A zero value indicates MRC is not
    available, a non-zero value (in the range 1..7) indicates the
    available MRC mode number.
    An MRC formatted document is actually a collection of several
    images, each of which is described by a separate feature
    collection.  An MRC-capable receiver is presumed to be capable
    of accepting any combination of contained images that conform
    to the MRC construction rules, where each such image matches
    the separately declared resolution, color capability, color
    model, image coding, and any other capabilities.
       NOTE: an MRC formatted document may appear within a
       TIFF image file structure.
       Within an MRC-formatted document, multi-level coders
       are used for foreground and background images (i.e.
       odd-numbered layers: 1, 3, 5, etc.) and bi-level coders
       are used for mask layers (i.e. even numbered layers 2,
       4, 6, etc.).

- Values appropriate for use with this feature tag:

    Integer (0..7)

- The feature tag is intended primarily for use in the following

  applications, protocols, services, or negotiation mechanisms:
    Internet fax, and other applications that transfer image data.

- Examples of typical use:

    See Appendix B of this document.

- Related standards or documents:

    ITU T.44 [15]

- Interoperability considerations:

    To establish the correct conditions for interoperability
    between systems, capabilities to handle the MRC mode and any
    contained image coding techniques must be established.

- Related feature tags:

    image-coding             [this document]
    MRC-max-stripe-size      [this document]

- Related media types or data formats:

    TIFF-FX                  [7]

- Intended usage:

    Internet fax
    Color image scanning/rendering applications

- Author/Change controller:

    IETF

A.15 MRC maximum stripe size

- Media Feature tag name(s):

    MRC-max-stripe-size

- ASN.1 identifier associated with this feature tag:

    1.3.6.1.8.1.28

- Summary of the media features indicated:

    This feature may be used with MRC coding (MRC-mode>=1), and
    indicates the maximum number of scan lines in each MRC stripe.
    The value given indicates an upper bound on the stripe size.
    The actual value may vary between stripes, and the actual size
    for each stripe is indicated in the image data.

- Values appropriate for use with this feature tag:

    Integer (>0)

- The feature tag is intended primarily for use in the following

  applications, protocols, services, or negotiation mechanisms:
    Internet fax, and other applications that transfer image data.

- Examples of typical use:

    (MRC-max-stripe-size<=256)
    (MRC-max-stripe-size>=0)

- Considerations particular to use in individual applications,

  protocols, services, or negotiation mechanisms:
    For Internet fax, the legal constraints for an image receiver
    are those given as examples above.

- Related feature tags:

    MRC-mode              [this document]

- Related media types or data formats:

    TIFF-FX               [7]

- Intended usage:

    Internet fax
    Color image scanning/rendering applications

- Author/Change controller:

    IETF

Appendix B: TIFF mode descriptions

This appendix contains descriptions of the TIFF modes defined by RFC 2301 [7], presented as feature set expressions in the form defined by "A syntax for describing media feature sets" [2] and using the feature schema introduced by this document.

These may be taken as illustrations of the feature set combinations that are required for the corresponding TIFF profiles described by RFC 2301.

TIFF-S has no optional elements, so is presented as a single feature set. Other profiles are presented as (TIFF-x-base) and (TIFF-x-full) indicating the minimum and full feature sets associated with each profile.

  (TIFF-S) :-
       (& (image-file-structure=TIFF-S)
          (color=Binary)
          (image-coding=MH) (MRC-mode=0)
          (| (& (dpi=200)
                (dpi-xyratio=[200/100,200/200])
                (size-x=1728/200) )
             (& (dpi=204)
                (dpi-xyratio=[204/98,204/196]
                (size-x=1728/204) ) )
          (paper-size=A4) )
  (TIFF-F-base) :-
     (& (image-file-structure=TIFF-F)
        (color=Binary)
        (image-coding=MH) (MRC-mode=0)
        (dpi=204)
        (dpi-xyratio=[204/98,204/196])
        (size-x=1728/204)
        (paper-size=A4) )
  (TIFF-F-full) :-
     (& (image-file-structure=TIFF-F)
        (color=Binary)
        (image-coding=[MH,MR,MMR]) (MRC-mode=0)
        (| (& (dpi=200)
              (dpi-xyratio=[200/100,200/200])
              (size-x=[1728/200,2048/200,2432/200]) )
           (& (dpi=204)
              (dpi-xyratio=[204/98,204/196,204/391])
              (size-x=[1728/204,2048/204,2432/204]) )
           (& (dpi=300)
              (dpi-xyratio=300/300)
              (size-x=[2592/300,3072/300,3648/300]) )
           (& (dpi=400)
              (dpi-xyratio=400/400)
              (size-x=[3456/400,4096/400,4864/400]) )
           (& (dpi=408)
              (dpi-xyratio=408/391)
              (size-x=[3456/408,4096/408,4864/408]) ) )
         (paper-size=[A4, B4, A3, letter, legal]) )
  (TIFF-J-base) :-
     (& (image-file-structure=TIFF-J)
        (color=Binary)
        (MRC-mode=0)
        (image-coding=JBIG)
        (image-coding-constraint=JBIG-T85)
        (JBIG-stripe-size=128)
        (dpi=204)
        (dpi-xyratio=[204/98,204/196])
        (size-x=1728/204)
        (paper-size=A4) )
  (TIFF-J-full) :-
     (& (image-file-structure=TIFF-J)
        (color=Binary)
        (MRC-mode=0)
        (image-coding=JBIG)
        (image-coding-constraint=JBIG-T85)
        (JBIG-stripe-size>0)
        (| (& (dpi=200)
              (dpi-xyratio=[200/100,200/200])
              (size-x=[1728/200,2048/200,2432/200]) )
           (& (dpi=204)
              (dpi-xyratio=[204/98,204/196,204/391])
              (size-x=[1728/204,2048/204,2432/204]) )
           (& (dpi=300)
              (dpi-xyratio=300/300)
              (size-x=[2592/300,3072/300,3648/300]) )
           (& (dpi=400)
              (dpi-xyratio=400/400)
              (size-x=[3456/400,4096/400,4864/400]) )
           (& (dpi=408)
              (dpi-xyratio=408/391)
              (size-x=[3456/408,4096/408,4864/408]) ) )
        (paper-size=[A4, B4, A3, letter, legal]) )
  (TIFF-C-base) :-
     (& (image-file-structure=TIFF-C)
        (color=grey)
        (color-levels<=256)
        (MRC-mode=0)
        (image-coding=JPEG) (image-coding-constraint=JPEG-T4E)
        (color-space=CIELAB)
        (CIELAB-L-depth<=101)
        (CIELAB-L-min>=0)
        (CIELAB-L-max<=100)
        (color-illuminant=D50)
        (dpi=200) (dpi-xyratio=1)
        (size-x=864/100)
        (paper-size=A4) )
  (TIFF-C-full) :-
     (& (image-file-structure=TIFF-C)
        (image-coding=JPEG) (image-coding-constraint=JPEG-T4E)
        (color-space=CIELAB)
        (| (& (color=grey)
              (color-levels<=4096)
              (CIELAB-L-depth<=4096) )
           (& (color=full)
              (color-levels<=68719476736)
              (color-subsampling=["4:1:1","1:1:1"])
              (CIELAB-L-depth<=4096)
              (CIELAB-a-depth<=4096)
              (CIELAB-b-depth<=4096) ) )
        (MRC-mode=0)
        (dpi=[100,200,300,400]) (dpi-xyratio=1)
        (size-x=[864/100,1024/100,1216/100])
        (paper-size=[A4, B4, A3, letter, legal]) )
  (TIFF-L-base) :-
     (& (image-file-structure=TIFF-L)
        (MRC-mode=0)
        (image-coding=JBIG)
        (image-coding-constraint=JBIG-T43)
        (JBIG-stripe-size=128)
        (image-interleave=stripe)
        (color=grey)
        (color-levels<=256)
        (color-space=CIELAB)
        (CIELAB-L-depth=101)
        (CIELAB-L-min>=0)
        (CIELAB-L-max<=100)
        (color-illuminant=D50)
        (dpi=200) (dpi-xyratio=1)
        (size-x=864/100)
        (paper-size=A4) )
  (TIFF-L-full) :-
     (& (image-file-structure=TIFF-L)
        (MRC-mode=0)
        (image-coding=JBIG)
        (image-coding-constraint=JBIG-T43)
        (JBIG-stripe-size>0)
        (image-interleave=[stripe, plane])
        (| (& (color=limited)
              (color-levels<=8)
              (color-space=[Device-RGB, Device-CMY] ) )
           (& (color=limited)
              (color-levels<=16)
              (color-space=Device-CMYK) )
           (& (color=mapped)
              (color-levels<=65536)
              (color-space=CIELAB)
              (CIELAB-L-depth<=4096)
              (CIELAB-a-depth<=4096)
              (CIELAB-b-depth<=4096) )
           (& (color=grey)
              (color-levels<=4096)
              (color-space=CIELAB)
              (CIELAB-L-depth<=4096) )
           (& (color=full)
              (color-space=CIELAB)
              (color-levels<=68719476736)
              (CIELAB-L-depth<=4096)
              (CIELAB-a-depth<=4096)
              (CIELAB-b-depth<=4096)
              (CIELAB-L-min>=0) ) )
        (dpi=[100,200,300,400]) (dpi-xyratio=1)
        (size-x=[864/100,1024/100,1216/100])
        (paper-size=[A4, B4, A3, letter, legal]) )
  (TIFF-M-base) :-
     (& (image-file-structure=TIFF-M)
        (MRC-mode>=1)
        (MRC-max-stripe-size<=256) )
  (TIFF-M-full) :-
     (& (image-file-structure=TIFF-M)
        (MRC-mode>=1) )

Support for multiple TIFF profiles may be indicated by combining their expressions with the OR operator; e.g.

  (| (TIFF-F) (TIFF-S) (TIFF-J) )

indicates support for all black-and-white modes.

TIFF-M is a composite mode and must be used in conjunction with some other mode to define the particular capabilities of a receiver; e.g.

  (| (TIFF-M-base)
     (TIFF-S) (TIFF-J-full) (TIFF-C-base) (TIFF-L-full) )

Each sub-image in an MRC image must conform to the capabilities indicated AND also to any additional constraints imposed by the MRC structure, such as bi-level mask layer, etc. See sections A.13 and section 3.7.

Appendix C: Changes from RFC 2531

00a 23-Jun-1999 Updated Appendix B with more complete TIFF-FX

                 profile descriptions.  Added note to section 3.5
                 clarifying the meaning of (color=limited) in the
                 context of Internet fax.  Added note to section
                 3.6 and A.6 to clarify interpretation of color
                 depth.  In A.6, noted that color gamut is not the
                 same as color resolution;  fixed example.  Split
                 section 3.7 into two sections, dealing with simple
                 image coding options and MRC composite image
                 options.  Added new feature tag 'color-illuminant'
                 (sections 3.6, A.5).  Added cross-references from
                 TIFF-M image file structure to MRC-mode tag.
                 Updated introduction and references.

00b 10-Aug-1999 Bring examples into line with T.30 mapping

                 document [4], and reorganize to make the
                 expression structure less complex.  Add details of
                 mailing list for discussion.  Added JPEG-only
                 colour example.  Change definition of image-file-
                 structure tag to indicate more precisely what is
                 being defined, and to draw out the distinction
                 between a file structure to contain MRC images
                 (image-file-structure), and the MRC image model
                 (MRC-mode).

01a 01-Oct-1999 Update author's address and some references.

01b 05-Jan-2000 Incorporate last-call review comments (all

                 editorial).

Full Copyright Statement

Copyright (C) The Internet Society (2000). All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

Funding for the RFC Editor function is currently provided by the Internet Society.