RFC2531

From RFC-Wiki

Network Working Group G. Klyne Request for Comments: 2531 5GM/Content Technologies Category: Standards Track L. McIntyre

                                                 Xerox Corporation
                                                        March 1999
            Content Feature Schema for Internet Fax

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 (1999). All Rights Reserved.

Abstract

This document defines a content feature schema that is a profile of the media feature registration mechanisms [1,2,3] for use in performing capability identification between extended Internet fax systems [5].

This document does not describe any specific mechanisms for communicating capability information, but does presume that any such mechanisms will transfer textual values. It specifies a textual format to be used for describing Internet fax capability information.

Introduction

This document defines a content feature schema that is a profile of the media feature registration mechanisms [1,2,3] for use in performing capability identification between extended Internet fax systems [5].

This document does not describe any specific mechanisms for communicating capability information, but does presume that any such mechanisms will transfer textual values. It specifies 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.

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 per 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 RFC2533 [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 black-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.

'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)
  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 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.

'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 palettized color, or with full color where each color component has a different number of possible values.

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-S
  structure           TIFF-F
                      TIFF-J
                      TIFF-C
                      TIFF-L
                      TIFF-M
                      (may be extended by further registrations,
                      to cover non-TIFF image file structures)
  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)
  MRC-mode            <Integer> (0..7)   (per ITU T.44 [15])
  MRC-max-stripe-size <Integer>

Reference: this document, appendix A.

'image-file-structure' defines how the coded image data is wrapped and formatted. Options defined here are the various profiles of TIFF-FX, per RFC 2301 [7]. These options apply to overall formatting of the image data (TIFF file format, byte ordering, bit ordering, etc.) and do not define specific image coding issues that are covered by other aspects of the TIFF-FX profile specifications.

'image-coding' describes how the 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.

The 'MRC-mode' 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 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 and declared image-coding capabilities.

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.).

  NOTE: an MRC formatted document may appear within a TIFF image
  file structure, so this separate feature is needed to capture the
  full range of possible capabilities.

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=[0..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.

  NOTE: there are many 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.)

Examples

Some of the examples contain comments introduced by '--...'. These are not part of the allowed capability description syntax. They are included here to explain some of the constructs used.

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 application S is required to be supported by such a system.

  (& (color=Binary)
     (image-file-structure=TIFF-S)
     (dpi=200)
     (dpi-xyratio=[200/100,200/200])
     (paper-size=A4)
     (image-coding=MH) (MRC-mode=0)
     (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.

  (& (color=Binary)
     (image-file-structure=[TIFF-S,TIFF-F,TIFF-J])
     (| (& (dpi=200) (dpi-xyratio=200/100) )    -- 200*100
        (& (dpi=200) (dpi-xyratio=1) )          -- 200*200
        (& (dpi=204) (dpi-xyratio=204/391) )    -- 204*391
        (& (dpi=300) (dpi-xyratio=1) ) )        -- 300*300
     (| (image-coding=[MH,MR,MMR])
        (& (image-coding=JBIG)
           (image-coding-constraint=JBIG-T85)
           (JBIG-stripe-size=128) ) )
     (MRC-mode=0)
     (paper-size=[A4,B4]) )

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.

  (& (| (& (color=Binary)
           (image-file-structure=[TIFF-S,TIFF-F,TIFF-J])
           (| (image-coding=[MH,MR,MMR])
              (& (image-coding=JBIG)
                 (image-coding-constraint=JBIG-T85)
                 (JBIG-stripe-size=128) ) )
           (| (& (dpi=200) (dpi-xyratio=200/100) )
              (& (dpi=200) (dpi-xyratio=1) )
              (& (dpi=204) (dpi-xyratio=204/391) )
              (& (dpi=300) (dpi-xyratio=1) ) ) )
        (& (color=Grey)
           (image-file-structure=[TIFF-C,TIFF-L])
           (color-levels<=256)
           (color-space-CIELAB)
           (| (& (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) ) )
     (MRC-mode=0)
     (paper-size=[A4,B4]) )

Full-color Internet fax system

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

  (& (| (& (color=Binary)
           (image-file-structure=[TIFF-S,TIFF-F,TIFF-J])
           (| (image-coding=[MH,MR,MMR])
              (& (image-coding=JBIG)
                 (image-coding-constraint=JBIG-T85)
                 (JBIG-stripe-size=128) ) )
           (| (& (dpi=200) (dpi-xyratio=200/100) )
              (& (dpi=200) (dpi-xyratio=1) )
              (& (dpi=204) (dpi-xyratio=204/391) )
              (& (dpi=300) (dpi-xyratio=1) ) ) )
        (& (| (& (color=Grey) (color-levels<=256) )
              (& (color=Full) (color-levels<=65536)
                 (color-subsampling=["1:1:1","4:1:1"]) ) )
           (image-file-structure=[TIFF-C,TIFF-L])
           (color-space=CIELAB)
           (| (& (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) ) )
     (MRC-mode=0)
     (paper-size=[A4,B4]) )

Full-color Internet fax system (MRC)

  (& (| (& (color=Binary)
           (image-file-structure=[TIFF-S,TIFF-F,TIFF-J])
           (MRC-mode=0)
           (image-coding=[MH,MMR])
           (| (& (dpi=200) (dpi-xyratio=[200/100,1]) )
              (& (dpi=204) (dpi-xyratio=204/391) )
              (& (dpi=300) (dpi-xyratio=1) )
              (& (dpi=400) (dpi-xyratio=1) ) ) )
        (& (image-file-structure=[TIFF-C,TIFF-L])
           (| (& (color=Grey) (color-levels<=256) )
              (& (color=Full) (color-levels<=65536)
                 (color-subsampling=["1:1:1","4:1:1"]) ) )
           (color-space=CIELAB)
           (MRC-mode=0)
           (image-coding=JPEG)
           (image-coding-constraint=JPEG-T4E)
           (dpi=[100,200,300,400])
           (dpi-xyratio=1) )
        (& (image-file-structure=TIFF-M)
           (MRC-mode=1) (MRC-max-stripe-size=[0..256])
           (image-coding=[MH,MMR,JPEG])
           (| (color=Binary)
              (& (color=Grey) (color-levels<=256) )
              (& (color=Full) (color-levels<=65536)
                 (color-subsampling=["1:1:1","4:1:1"]) ) )
           (color-space=CIELAB)
           (dpi=[100,200,300,400])
           (dpi-xyratio=1) ) )
     (paper-size=[A4,B4]) )

Sender and receiver feature matching

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

  (& (| (& (dpi=200) (dpi-xyratio=200/100) )    -- 200*100
        (& (dpi=200) (dpi-xyratio=1) )          -- 200*200
        (& (dpi=300) (dpi-xyratio=1) )          -- 300*300
        (& (dpi=400) (dpi-xyratio=1) ) )        -- 400*400
     (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 calls for registrations of feature tags in the "IETF tree", as defined 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]).

ASN.1 identifiers should be assigned for each of these registered feature tags 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. Implementors 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", BCP 31, 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 feature mapping from

    Group 3 fax", Work in Progress.

[5] Masinter, L. and D. Wing, "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 (1996),
    International Telecommunications Union, July 1996.

[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).

[11] Hardie, T., "Scenarios for the Delivery of Negotiated Content",

    Work in Progress.

[12] Klyne, G., "Requirements for protocol-independent content

    negotiation", Work in Progress.

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

    transmission", ITU-T Recommendation T.4 (1996), 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.

Authors' Addresses

Graham Klyne 5th Generation Messaging Ltd. Content Technologies Ltd. 5 Watlington Street Forum 1, Station Road Nettlebed Theale Henley-on-Thames, RG9 5AB Reading, RG7 4RA United Kingdom United Kingdom.

Phone: +44 1491 641 641 +44 118 930 1300 Facsimile: +44 1491 641 611 +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 Facsimile: +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:

     1.3.6.1.8.1.7
     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 (palettized) 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.
     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 at 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 depth

- Media Feature tag name(s):

     CIELAB-L-depth
     CIELAB-A-depth
     CIELAB-B-depth

- ASN.1 identifiers associated with these feature tags:

     1.3.6.1.8.1.12
     1.3.6.1.8.1.13
     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 realized.

- 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.6 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:

     1.3.6.1.8.1.15
     1.3.6.1.8.1.16
     1.3.6.1.8.1.17
     1.3.6.1.8.1.18
     1.3.6.1.8.1.19
     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.

- 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-L-min=-35)
        (CIELAB-L-max=+55)
        (CIELAB-L-min=-45)
        (CIELAB-L-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.7 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
     TIFF-FX profiles  TIFF-S
     [7]:              TIFF-F
                       TIFF-J
                       TIFF-C
                       TIFF-L
                       TIFF-M
                       (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.
     In the case of TIFF-FX image data, there are a number of image
     file format constraints that are imposed by the various usage
     profiles defined in RFC 2301 [7].  The purpose of the 'image-
     file-structure' feature tag is to capture those file format
     constraints.
     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]

- 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.8 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.9 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.10 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.11 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 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.12 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 a set of color samples
                       for each luminance sample.
                       (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=[Device-RGB,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.13 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.14 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=[0..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) :-
       (& (image-file-structure=TIFF-S)
          (color=Binary)
          (image-coding=MH) (MRC-mode=0) )
  (Tiff-F) :-
       (& (image-file-structure=TIFF-F)
          (color=Binary)
          (image-coding=MH) (MRC-mode=0) )
  (TIFF-J) :-
       (& (image-file-structure=TIFF-J)
          (color=Binary)
          (image-coding=JBIG) (MRC-mode=0) )
  (TIFF-C) :-
       (& (image-file-structure=TIFF-C)
          (color=Grey)
          (image-coding=JPEG) (MRC-mode=0) )
  (TIFF-L) :-
       (& (image-file-structure=TIFF-L)
          (color=Grey)
          (image-coding=JBIG) (MRC-mode=0) )
  (TIFF-M) :-
       (& (image-file-structure=TIFF-M)
          (color=[Binary,Grey])
          (image-coding=[MH,JPEG]) (MRC-mode>=1) )

The feature sets described above are minimum requirements for the corresponding TIFF modes. Thus, MR and MMR image coding are not mandatory with TIFF mode F, and would be indicated by combining the expression for (TIFF-F) with (image-coding=MR) and/or (image- coding=MMR).

Similarly, limited, mapped or full color are not mandatory with the grey/color TIFF modes (C, L and M), and would be indicated by combining the corresponding expression with (color=limited), (color=mapped) and/or (color=full).

TIFF profile M is a composite structure that can combine image data coding options from other profiles: the description above indicates mandatory features; other options may be indicated by combining TIFF-M with other options (e.g. color= limited, mapped or full, and image-coding= MR, MMR or JBIG).

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.

Appendix C: Revision history

00a 28-Sep-1998 Initial draft.

01a 12-Oct-1998 Incorporated review comments. Described feature

                 tag for differential x/y resolution ratio.  Added
                 some examples.

01b 19-Oct-1998 Updated section 3.6 on image coding. Added

                 Appendix B containing feature expressions for the
                 TIFF modes from RFC 2301.

02a 26-Oct-1998 Update examples. Add separate stripe size features

                 for JBIG and MRC.

02b 30-Oct-1998 Update examples. Add text clarifying the

                 description of MRC documents (as a set of feature
                 collections describing multiple contained images).
                 Add text describing constrains on resolution and
                 image coding usage within an MRC document.

02c 11-Nov-1998 Add ITU references. Added terminology: "capability

                 exchange", "capability identification" and
                 "capability description".  Update JBIG and MRC
                 stripe size tags.  Move subsampling to colour
                 section.  Remove preferred-unit tag.  Add T.4, T.6,
                 T.44 and T.81 references.

02d 16-Nov-1998 Update colour handling features, reflecting

                 proposed changes to the media features memo [3].
                 Update the image coding capability framework.
                 Updated TIFF mode descriptions in Appendix B.

03a 17-Nov-1998 Replace use of 'pix-x', 'pix-y' with 'size-x', '

                 size-y'.  Add registrations in Appendix A.

03b 08-Dec-1998 Remove normative language and reference to RFC2119

                 (normative statements will be in the main fax
                 protocol draft).  Revise structure of colour
                 features, and removed color-palette feature. Define
                 colour feature tags specific to CIELAB model and
                 colour space.

04a 14-Dec-1998 Update examples to reflect revised feature tags.

                 Revise description of MRC document in section 3.7.
                 Clarified interpretation of 'color=fixed'.  Change
                 feature value 'color=fixed' to 'color=limited'.

05a 04-Jan-1999 Incorporate WG last-call comments: change

                 references to MRC-stripe-size to MRC-max-stripe-
                 size;  similarly references to MRC-maximum-stripe-
                 size.  Change "eifax" to "extended Internet fax".
                 Added guidance note for image coding feature usage.
                 Added IANA consideration comments to Appendix A.

05b 08-Jan-1999 Added new section for IANA considerations; removed

                 references to fax working group from registration
                 change control sections.  Remove JPEG from TIFF-L
                 auxiliary predicate.  Clarify description of MRC
                 receiver capabilities in section A.13.  Remove '
                 color=full' from (TIFF-C) and (TIFF-M) predicates,
                 and add some explanatory text.  Remove
                 'color=limited' from (TIFF-L) predicate.

05c 08-Jan-1999 Minor revisions to TIFF profile illustrations and

                 descripions in Appendix B.  Reformatted description
                 of 'color=limited' in section 3.5 to clarify that
                 this does not indicate support for specific named
                 colors.

Full Copyright Statement

Copyright (C) The Internet Society (1999). 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.