ZVON > RFC Repository > RFC 2301
Prev | Next | RFC index | RFC search Download as zip/tar.gz

7. Lossless Color Mode

   This section defines the lossless color mode or Profile L of TIFF for
   facsimile. Implementations of this profile are required to also
   implement Profiles S and C.

7.1. Overview

   This mode, defined in [T.43], uses JBIG to losslessly code three
   types of color and grayscale images: one bit per color CMY, CMYK and
   RGB images; a palettized (i.e. mapped) color image; and continuous
   tone color and grayscale images. The last two are multi-level and use
   the L*a*b* encoding specified in [T.42].

7.1.1. Color Encoding

   While under development, this mode was called T.Palette, as one of
   its major additions was palette or mapped color images. Baseline TIFF
   only allows RGB color maps, but ITU-T Rec. T.43 requires L*a*b* color
   maps, using the encoding specified in ITU-T Rec. T.42. Palette color
   images are expressed with indices (bits per sample) of 12 bits or
   less, or optionally 13 to 16 bits, per [T.43].

   Enabling T.43 color maps in TIFF requires the extension field
   Indexed, defined in [TTN1], and the PhotometricInterpretation field
   value 10, defined in Section 6.2.1. The following table shows the
   corresponding PhotometricInterpretation, SamplesPerPixel,
   BitsPerSample and Indexed field values for the different T.43 image
   types.

       +----------------------------------------------------------+
       | Image Type |PhotometricIn| Samples  | Bits Per | Indexed |
       |            |-terpretation| PerPixel |  Sample  |         |
       |------------+-------------+----------+----------+---------|
       |     RGB    |    2=RGB    |     3    |    1     |    0    |
       +----------------------------------------------------------+
       |     CMY    |    5=CMYK   |     3    |    1     |    0    |
       +------------+-------------+----------+----------+---------+
       |     CMYK   |    5=CMYK   |     4    |    1     |    0    |
       +------------+-------------+----------+----------+---------+
       |   Palette  |  10=ITULAB  |     1    |    n     |    1    |
       +------------+-------------+----------+----------+---------+
       |  Grayscale |  10=ITULAB  |     1    |   8, 12  |    0    |
       +------------+-------------+----------+----------+---------+
       |    Color   |  10=ITULAB  |     3    |   8, 12  |    0    |
       +------------+-------------+----------+----------+---------+

7.1.2. JBIG Encoding

   T.43 uses the single-progression sequential mode of JBIG, defined in
   ITU-T Rec. T.82. To code multi-level images using JBIG, which is a
   bi-level compression method, an image is resolved into a set of bit-
   planes, and each bit-plane is then JBIG compressed. For continuous
   tone color and grayscale images, Gray code conversion is used. The

   Gray code conversion is part of the data stream encoding, and is
   therefore invisible to TIFF.

7.2. Required TIFF Fields

   This section lists the required fields, in addition to those in
   Section 2.2.1, and the values they must have to be compatible with
   ITU-T Rec. T.43.

7.2.1. Baseline Fields


ImageWidth(256).                                           SHORT or LONG
    Same page widths as the base color mode; see Section 6.2.1.

NewSubFileType(254) = (Bit 1=1).                                    LONG
    RequiredByTIFFforFAX
    Bit 1 is 1 if the image is a single page of a multi-page document.
    Default = 0 (no subfile bits on, so may not be omitted for fax)

BitsPerSample(258) = 1, 2-8, 9-16.                                 SHORT
    Count = SamplesPerPixel
    RGB, CMY, CMYK: 1 bit per sample
    Continuous tone (L*a*b*): 2-8 bits per sample, 9-12 bits optional
    Palette color: 12 or fewer bits per sample, 13-16 bits optional
    Note: More than 8 bits per sample is not baseline TIFF.

ColorMap(320).                                                     SHORT
    Count = 3 * number of sample values
    Lossless color fax mode supports palette-color (indexed) images
    where the single component value is used as an index into a full
    color lookup table stored in the ColorMap field. The sample value is
    encoded using the number of bits given by the BitsPerSample field
    value. However, per [T.43],the number of sample values may be less
    than 2**BitsPerSample. The color lookup table is only required to
    have as many entries as there are number of sample values. For
    palette-color images in lossless color fax mode, the ITULAB encoding
    with 8 or optionally 12 bits per color map value is supported. To
    utilize a color map, the TIFF Indexed field must be present. TIFF
    orders the color map values so that all the L* values come first,
    followed by all the a* values and then all the b* values. Because
    ITU-T Rec. T.43 specifies a "chunky" ordering with the L*a*b*
    components of the first value, followed by those of the second
    value, and so on, reproducing color map values from a fax data
    stream in a TIFF file requires reordering values.

Compression(259) = 10.                                             SHORT
10: ITU-T Rec. T.43 representation, using ITU-T Rec. T.82 (JBIG)
    coding

FillOrder(266) = 1 , 2.                                            SHORT
    RequiredByTIFFBaseline
    Profile F readers must be able to read data in both bit orders,
    but the vast majority of facsimile products store data LSB
    first, exactly as it appears on the telephone line.
              1 = Most Significant Bit first.
              2 = Least Significant Bit first

PhotometricInterpretation(262) = 2, 5, 10.                         SHORT
    2: RGB
    5: CMYK, including CMY
    10: ITULAB
    Image data may also be stored as palette color images, where pixel
    values are represented by a single component that is an index into a
    color map using the ITULAB encoding. This color map is specified by
    the ColorMap field. To use palette color images, set the
    PhotometricInterpretation to 10,SamplesPerPixel to 1, and Indexed to
    1. The color map is stored in the ColorMap field. See Section 7.1.1
    for further discussion on the color encoding.

ResolutionUnit(296) = 2, 3.                                        SHORT
    The unit of measure for resolution. 2 = inch, 3 = centimeter;
    Default = 2 (field may be omitted if this is the value)

SamplesPerPixel(277) = 1, 3, 4.                                    SHORT
    1: Palette color image, or L*-only if Indexed = 0 and
       PhotometricInterpretation is 10 (ITULAB).
    3: RGB, or L*a*b*, or CMY if PhotometricInterpretation is 5 (CMYK).
    4: CMYK.

XResolution(282) = 100, 200, 300, 400.                          RATIONAL
YResolution(283) = 100, 200, 300, 400.                          RATIONAL
    The resolution of the image is expressed in pixels per resolution
    unit. In pixels per inch, allowed XResolution values are: 100, 200,
    300, and 400. The lossless color fax mode requires the pixels to be
    square, hence YResolution must equal XResolution. Base resolution is
    200 pixels per inch. See Section 2.2.2 for inch-metric equivalency.

7.2.2. Extension Fields


Indexed(364) = 0, 1.                                               SHORT
    0: not a palette-color image
    1: palette-color image
    This field is used to indicate that each sample value is an index
    into an array of color values specified in the ColorMap field.
    Lossless color fax mode supports palette-color images with the
    ITULAB encoding. The SamplesPerPixel value must be 1.

7.2.3. New Fields

Decode(433)                                                    SRATIONAL
    Decode is used in connection with the ITULAB encoding of image data
    and color map values; see Section 6.2.3.

7.3. Recommended TIFF Fields

   See Sections 2.2.3. and 2.2.4.

7.4. Lossless Color Fax Mode Summary

   Recommended fields are shown with an asterisk *.

        +--------------------+--------------------------------------+
        |   Baseline Fields  |             Values                   |
        +--------------------+--------------------------------------+
        | BitsPerSample      | 1: Binary RGB, CMY(K)                |
        |                    | 8: 8 bits per color sample           |
        |                    | 9-16: optional                       |
        +--------------------+--------------------------------------+
        | ColorMap           | n: LAB color map                     |
        +--------------------+--------------------------------------+
        | Compression        | 10: JBIG, per T.43                   |
        +--------------------+--------------------------------------+
        | DateTime*          | {ASCII}:  date/time in the 24-hour   |
        |                    | format "YYYY:MM:DD HH:MM:SS"         |
        +--------------------+--------------------------------------+
        | FillOrder**        | 1: Most significant bit first        |
        |                    | 2: Least significant bit first       |
        +--------------------+--------------------------------------+
        | ImageDescription*  | {ASCII}: A string describing the     |
        |                    | contents of the image.               |
        +--------------------+--------------------------------------+
        | ImageWidth         | 864, 1024, 1216, 1728**, 2048, 2432, |
        |                    | 2592, 3072, 3456, 3648, 4096, 4864   |
        +--------------------+--------------------------------------+
        | ImageLength**      | n: total number of scanlines in image|
        +--------------------+--------------------------------------+
        | NewSubFileType     | 2: Bit 1 identifies single page of a |
        |                    | multi-page document                  |
        +--------------------+--------------------------------------+
        | Orientation        | 1**-8, Default 1                     |
        +--------------------+--------------------------------------+
        | PhotometricInter-  | 2: RGB                               |
        | pretation          | 5: CMYK                              |
        |                    | 10: ITULAB                           |
        +--------------------+--------------------------------------+

        +--------------------+--------------------------------------+
        | ResolutionUnit     | 2: inch                              |
        |                    | 3: centimeter                        |
        +--------------------+--------------------------------------+
        | RowsPerStrip       | n: number of scanlines per TIFF strip|
        +--------------------+--------------------------------------+
        | SamplesPerPixel    | 1: L* (lightness)                    |
        |                    | 3: LAB, RGB, CMY                     |
        |                    | 4: CMYK                              |
        +--------------------+--------------------------------------+
        | Software*          | {ASCII}: name & release number of    |
        |                    | creator software                     |
        +--------------------+--------------------------------------+
        | StripByteCounts    | <n>: number or bytes in TIFF strip   |
        +--------------------+--------------------------------------+
        | StripOffsets       | <n>: offset from beginning of file to|
        |                    | each TIFF strip                      |
        +--------------------+--------------------------------------+
        | XResolution        | 100, 200, 300, 400 (written in       |
        |                    | pixels/inch)                         |
        +--------------------+--------------------------------------+
        | YResolution        | equal to XResolution (pixels must be |
        |                    | square)                              |
        +--------------------+--------------------------------------+
        | Extension Fields                                          |
        +--------------------+--------------------------------------+
        | DocumentName*      | {ASCII}: name of scanned document    |
        +--------------------+--------------------------------------+
        | PageNumber         | n,m: page number followed by total   |
        |                    | page count                           |
        +--------------------+--------------------------------------+
        | Indexed            | 0: not a palette-color image         |
        |                    | 1: palette-color image               |
        +--------------------+--------------------------------------+
        | New Fields                                                |
        +--------------------+--------------------------------------|
        | Decode             | minL, maxL, mina, maxa, minb, maxb:  |
        |                    |minimum and maximum values for L*a*b* |
        +--------------------+--------------------------------------+
        | GlobalParameters   | IFD: global parameters IFD           |
        | IFD*               |                                      |
        +-----------------------------------------------------------+

        +--------------------+--------------------------------------+
        | ProfileType*       | n: type of data stored in TIFF file  |
        +--------------------+--------------------------------------+
        | FaxProfile*        | n: ITU-compatible fax mode           |
        +--------------------+--------------------------------------+
        | CodingMethods*     | n:compression algorithms used in     |
        |                    | file                                 |
        +--------------------+--------------------------------------+
        | VersionYear*       | byte sequence: year of ITU fax std   |
        +--------------------+--------------------------------------+

ZVON > RFC Repository > RFC 2301
Prev | Next | RFC index | RFC search Download as zip/tar.gz