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. Table of Contents 1. Introduction .............................................2 1.1 Organization of this document ........................3 1.2 Terminology and document conventions .................3 1.3 Discussion of this document ..........................4 2. Fax feature schema syntax ................................4 3. Internet fax feature tags ................................4 3.1 Image size ...........................................5 3.2 Resolution ...........................................5 3.3 Media type ...........................................6 3.4 Paper Size ...........................................6 3.5 Color capability .....................................7 3.6 Color model ..........................................8 3.7 Image coding ........................................11 3.8 MRC mode ............................................12 4. Examples ................................................13 4.1 Simple mode Internet fax system ....................13 Klyne & McIntyre Standards Track [Page 1] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 4.2 High-end black-and-white Internet fax system.........14 4.3 Grey-scale Internet fax system ......................14 4.4 Full-color Internet fax system (JPEG only) ..........15 4.5 Full-color Internet fax system (JPEG and JBIG) ......16 4.6 Full-color Internet fax system (MRC) ................17 4.7 Sender and receiver feature matching ................19 5. IANA Considerations .....................................21 6. Security Considerations .................................21 6.1 Capability descriptions and mechanisms ..............21 6.2 Specific threats ....................................21 7. Acknowledgements ........................................22 8. References ..............................................22 9. Authors' Addresses ......................................24 Appendix A: Feature registrations ..........................25 A.1 Image size ..........................................25 A.2 Resolution aspect ratio .............................27 A.3 Color levels ........................................28 A.4 Color space ........................................30 A.5 CIELAB color illuminant .............................33 A.6 CIELAB color depth ..................................35 A.7 CIELAB color gamut ..................................37 A.8 Image file structure ................................39 A.9 Image data coding ...................................41 A.10 Image coding constraint ............................43 A.11 JBIG stripe size .................................. 44 A.12 Image interleave ...................................46 A.13 Color subsampling ..................................47 A.14 MRC availability and mode ..........................49 A.15 MRC maximum stripe size ............................50 Appendix B: TIFF mode descriptions .........................52 Appendix C: Changes from RFC 2531 ..........................57 Full Copyright Statement ...................................58 1. 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. Klyne & McIntyre Standards Track [Page 2] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 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. 1.1 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]. 1.2 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. Klyne & McIntyre Standards Track [Page 3] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 1.3 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: ietf-fax@imc.org To subscribe to this list, send a message with the body 'subscribe' to "ietf-fax-request@imc.org". To see what has gone on before you subscribed, please see the mailing list archive at: http://www.imc.org/ietf-fax/ 2. 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. 3. 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). Klyne & McIntyre Standards Track [Page 4] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 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. 3.1 Image size Feature tag name Legal values ---------------- ------------ size-x (>0) size-y (>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. 3.2 Resolution Feature tag name Legal values ---------------- ------------ dpi (>0) dpi-xyratio (>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'. Klyne & McIntyre Standards Track [Page 5] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 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. 3.3 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. 3.4 Paper Size Feature tag name Legal values ---------------- ------------ paper-size A4 A3 B4 letter legal Reference: "Media Features for Display, Print, and Fax" [3]. Klyne & McIntyre Standards Track [Page 6] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 3.5 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. Klyne & McIntyre Standards Track [Page 7] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 For 'Mapped', 'Grey' and 'Full' color, additional feature tags (section 3.6) may be used to further qualify the color reproduction. 3.6 Color model Feature tag name Legal values ---------------- ------------ color-levels (>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 (per ITU T.4 [13], E.6.7) D50 D65 D75 SA SC F2 F7 F11 CTnnnn (see below) CIELAB-L-depth (>0) CIELAB-a-depth " CIELAB-b-depth " CIELAB-L-min 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. Klyne & McIntyre Standards Track [Page 8] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 (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. Klyne & McIntyre Standards Track [Page 9] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 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. Klyne & McIntyre Standards Track [Page 10] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 3.7 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 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'). Klyne & McIntyre Standards Track [Page 11] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 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.) 3.8 MRC mode Feature tag name Legal values ---------------- ------------ MRC-mode (0..7) (per ITU T.44 [15]) MRC-max-stripe-size Reference: this document, appendix A. Klyne & McIntyre Standards Track [Page 12] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 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. 4. Examples The level of detail captured here reflects that used for capability identification in Group 3 facsimile. 4.1 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) Klyne & McIntyre Standards Track [Page 13] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 (ua-media=stationery) ) 4.2 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) ) 4.3 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) Klyne & McIntyre Standards Track [Page 14] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 (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) ) 4.4 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) ) Klyne & McIntyre Standards Track [Page 15] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 4.5 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) Klyne & McIntyre Standards Track [Page 16] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 (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) ) 4.6 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) Klyne & McIntyre Standards Track [Page 17] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 (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) Klyne & McIntyre Standards Track [Page 18] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 (dpi=[100,200,300,400]) (dpi-xyratio=1) ) ) (size-x<=2550/254) (Paper-size=[Letter,A4,B4]) (ua-media=stationery) ) 4.7 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) Klyne & McIntyre Standards Track [Page 19] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 (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 Klyne & McIntyre Standards Track [Page 20] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 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. 5. 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. 6. 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] 6.1 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. 6.2 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. Klyne & McIntyre Standards Track [Page 21] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 7. 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. 8. 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. Klyne & McIntyre Standards Track [Page 22] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 [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 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. Klyne & McIntyre Standards Track [Page 23] RFC 2879 Content Feature Schema for Internet Fax (V2) August 2000 9. 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: GK@ACM.ORG Lloyd McIntyre Xerox Corporation Mailstop PAHV-121 3400 Hillvie