[Docs] [txt|pdf] [Tracker] [WG] [Email] [Diff1] [Diff2] [Nits]

Versions: (draft-edwards-avt-rtp-jpeg2000) 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 RFC 5371

INTERNET-DRAFT                                          Satoshi Futemma
draft-ietf-avt-rtp-jpeg2000-06.txt                         Andrew Leung
                                                       Eisaburo Itakura
                                                       Sony Corporation
                                                       October 25, 2004
                                                Expires: April 25, 2005


              RTP Payload Format for JPEG 2000 Video Streams


Status of this Memo


    By submitting this Internet-Draft, I certify that any applicable
    patent or other IPR claims of which I am aware have been disclosed,
    and any of which I become aware will be disclosed, in accordance
    with RFC 3668.


    Internet-Drafts are working documents of the Internet Engineering
    Task Force (IETF), its areas, and its working groups. Note that
    other groups may also distribute working documents as
    Internet-Drafts.


    Internet-Drafts are draft documents valid for a maximum of six
    months and may be updated, replaced, or obsoleted by other
    documents at any time. It is inappropriate to use Internet-Drafts
    as reference materials or to cite them other than as "work in
    progress."


    The list of current Internet-Drafts can be accessed at
    http://www.ietf.org/ietf/1id-abstracts.txt


    The list of Internet-Drafts Shadow Directories can be accessed at
    http://www.ietf.org/shadow.html.


Abstract


    This memo describes an RTP payload format for the ISO/IEC
    International Standard 15444-1 | ITU-T Rec. T.800, JPEG 2000.
    JPEG 2000 features are considered and there are provisions in this
    payload format for scalability, prioritization of different parts
    of the codestream, and error recovery. JPEG 2000 is a truly
    scalable compression technology allowing applications to encode one
    way and decode many different ways. Extending from one image to a
    series of JPEG 2000 images, one has a JPEG 2000 video stream.













Futemma, et al.                                                [Page 1]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004



Table of Contents


    1.  Introduction ..............................................  3
      1.1   Conventions Used in this Document .....................  6
    2.  JPEG 2000 Video Features ..................................  6
    3.  Payload Design ............................................  6
    4.  Payload Format ............................................  7
      4.1   RTP fixed header usage ................................  7
      4.2   RTP Payload Header Format .............................  7
    5.  RTP Packetization ......................................... 10
    6.  Scalable Delivery and Priority field ...................... 11
      6.1   Priority Mapping Table ................................ 11
      6.1.1   Pre-Defined Priority Mapping ........................ 11
      6.1.1.1   Packet number based Ordering ...................... 12
      6.1.1.2   Progression-based Ordering ........................ 12
      6.1.1.3   Layer-based Ordering .............................. 13
      6.1.1.4   Resolution-based Ordering ......................... 13
      6.1.1.5   Component-based Ordering .......................... 13
      6.1.2   Application Specific Priority Table ................. 13
      6.2   Sender Action ......................................... 13
      6.3   Receiver Action ....................................... 14
    7.  JPEG 2000 Main Header Compensation Scheme ................. 14
      7.1   Sender Processing ..................................... 14
      7.2   Receiver Processing ................................... 15
    8.  Security Consideration .................................... 15
    9.  IANA Consideration ........................................ 16
      9.1   MIME Registration ..................................... 16
      9.2   SDP Parameters ........................................ 18
    10.  Usage with the SDP Offer/Answer Model .................... 18
      10.1   Examples  ............................................ 19
    11.  Intellectual Property Right Statement .................... 19
    12.  Informative Appendix  .................................... 20
      12.1   Recommended Practices ................................ 20
      12.2   Sample Headers in Detail ............................. 21
    13.  References  .............................................. 27
    14.  Authors' Addresses ....................................... 28
    15.  Full Copyright Statement ................................. 28


















Futemma, et al.                                                [Page 2]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


1. Introduction


    This document specifies a payload formats for JPEG 2000 video
    streams over the Real-time Transport Protocol (RTP). JPEG 2000 is
    an ISO/IEC International Standard and ITU-T Recommendation
    developed for next generation still image compression. Its basic
    compression technology is described in detail in [1] & [7].


    Part 3 of the JPEG 2000 standard defines Motion JPEG 2000 [7].
    However, Motion JPEG 2000 focuses on the file format and it does
    not specify the transmission format on the the network.


    JPEG 2000 supports many powerful features that are not supported
    in the current JPEG standard [1][7]:


      o Higher compression efficiency than JPEG with less visual loss
      especially at extreme compression ratios.


      o A single codestream that offers both lossy and superior
      lossless compression.


      o Better error resiliency than JPEG.


      o Progressive transmission by pixel accuracy (SNR scalability)
      and resolution.


      o Random codestream access and processing.


    The JPEG 2000 algorithm is briefly explained below. Fig. 1
    shows a block diagram of JPEG 2000 encoding method.


                                                     +-----+
                                                     | ROI |
                                                     +-----+
                                                        |
                                                        V
                   +----------+   +----------+   +------------+
                   |DC, comp. |   | Wavelet  |   |            |
    raw image  ==> |transform-|==>|transform-|==>|Quantization|==+
                   |  ation   |   |  ation   |   |            |  |
                   +----------+   +----------+   +------------+  |
                                                                 |
                  +-----------+   +----------+   +------------+  |
                  |           |   |          |   |            |  |
     JPEG 2000 <==| Data      |<==| Rate     |<==| EBCOT      |<=+
     codestream   | Ordering  |   | Control  |   |            |
                  +-----------+   +----------+   +------------+


           Fig. 1: Block diagram of the JPEG 2000 encoder


    The image is transformed into wavelet coefficients. The image is
    sampled into various levels usually vertically and horizontally
    from high frequencies (which contains all the sharp details) to the
    low frequencies (which contains all the flat areas.)  Quantization


Futemma, et al.                                                [Page 3]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


    is performed on the coefficients within each sub-band.


    After quantization, code blocks are formed from within the
    precincts within the tiles. Precincts are a finer separation than
    tiles and code blocks are the smallest separation of the image
    data. EBCOT coding is performed within each code block and
    arithmetically encoded by bit plane. Rate control is performed to
    achieve the highest quality image for the specified file size.


    As a result, for a given tile, data units called the JPEG 2000
    packets are generated, which contain data from a specific layer, a
    specific component, a specific resolution, and a specific precinct.


    Finally, the JPEG 2000 packets are interleaved according to the
    progression along four axes: layer, resolution, component and
    precinct, and added the main header to be a JPEG 2000 codestream.


    To decompress a JPEG 2000 codestream, one would follow the reverse
    order of the encoding order, minus the quantization, rate control,
    and data ordering step.


    It is outside the scope of this document to describe in detail
    this procedure. Please refer to various JPEG 2000 texts for
    further details [1].


    Figure 2 shows a JPEG 2000 codestream in detail. A JPEG 2000
    codestream is structured from the main header beginning with the
    SOC marker, one or more tiles, and the EOC marker to indicate the
    end of the codestream. Each tile consists of a tile-part header
    that starts with the SOT marker and ends with a SOD marker, and
    bitstream (a series of JPEG 2000 packet.)


           +--  +------------+
     Main  |    |    SOC     |  Required as the first marker.
     header|    +------------+
           |    |    main    |  Main header marker segments
           +--  +------------+
           |    |    SOT     |  Required at the beginning of each
     Tile- |    +------------+    tile-part header.
     part  |    |   T0,TP0   |  Tile 0, tile-part 0 header marker
     header|    +------------+    segments
           |    |    SOD     |  Required at the end of each tile-part
           +--  +------------+    header
                | bitstream  |  Tile-part bitstream
           +--  +------------+
           |    |    SOT     |
     Tile- |    +------------+
     part  |    |   T1,TP0   |
     header|    +------------+
           |    |    SOD     |
           +--  +------------+
                | bit stream |
                +------------+
                      .


Futemma, et al.                                                [Page 4]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


                      .
                      .
                +------------+
                |    EOC     |  Required as the last marker in the code
                +------------+  stream


          Fig. 2: Basic construction of the JPEG 2000 codestream


1.1 Conventions Used in this Document


    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
    NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"
    in this document are to be interpreted as described in RFC2119
    [2].


2. JPEG 2000 Video Features


    JPEG 2000 video streams are formed as a continuous series of JPEG
    2000 still images. The previously described features of JPEG 2000
    can be used effectively in streaming applications. A JPEG 2000
    video stream has the following qualities:


    o At low bit rates, the SNR is improved dramatically over JPEG.


    o This is a full intra frame format - each frame is independently
      compressed - and therefore has a low encoding and decoding delay.


    o JPEG 2000 has flexible and accurate rate control. This is
      suitable for traffic control and congestion control during
      network transmission.


    o JPEG 2000 can provide its own codestream error resilience markers
      to aid in codestream recovery outside of this specification.


3. Payload Design


    To provide a payload format that maximizes JPEG 2000 features, the
    following are taken into consideration:


    o Provisions for packet loss


      On the Internet, 5% packet loss is common and this percentage may
      become to 20% or more. To split JPEG 2000 video streams into RTP
      packets, efficient packetization of the code stream is required
      to minimize problems in decoding due to missing packets. If the
      main header is lost in transmission, the image cannot be decoded.


    o A packetizing scheme that maximizes JPEG 2000 scalability


      A packetizing scheme so that an image can be progressively
      transmitted and reconstructed progressively by the receiver using
      JPEG 2000 functionality. It would allow for maximizing
      performance over various network conditions and variations in
      computing resources of clients.


Futemma, et al.                                                [Page 5]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004



    o A method to allow for header compensation


      JPEG 2000's scalable coding scheme allows for decompressing
      truncated or partial data streams but only when the main header
      is present. If the header is lost, the stream is useless. Also,
      with JPEG 2000 video coding, coding parameters between frames
      may rarely change and previous headers may be used in newly
      received data streams without headers.


4. Payload Format


4.1 RTP fixed header usage


    For each RTP packet, the RTP fixed header is followed by the JPEG
    2000 RTP payload header (this specification), which is followed by
    the payload, a piece of a JPEG 2000 codestream.


    The RTP header fields that have a meaning specific to a JPEG 2000
    video stream are described as follows:


    Marker bit (M): The marker bit of the RTP fixed header MUST be set
      to 1 on the last RTP packet of a video frame, otherwise, it
      MUST be 0. When transmission is performed by multiple RTP
      sessions, this bit is 1 in the last packet of the frame in each
      session.


    Payload type (PT): The payload type is dynamically assigned by
      means outside the scope of this document. A payload type in the
      dynamic range shall be chosen by means of an out of band
      signaling protocol (e.g., RTSP, SIP, etc.)


    Timestamp: The RTP timestamp are in units of 90 kHz. The same
      timestamp value MUST appear in each RTP packet carrying a
      fragment of a given frame. When a JPEG 2000 image is in interlace
      format, the odd field and the corresponding even field MUST have
      the same timestamp. The initial value of the timestamp is to be
      random to make known plaintext attacks on encryption more
      difficult.


4.2 RTP Payload Header Format


    The RTP payload header format for JPEG 2000 video stream is as
    follows:


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |tp |MHF|mh_id|T|     priority  |           tile number         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |reserved       |             fragment offset                   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Fig. 3:  RTP payload header format for JPEG 2000


Futemma, et al.                                                [Page 6]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004



    tp (type) : 2 bits


        This field indicates how a JPEG 2000 image is scanned (meaning
        - progressive or interlace).


        0: An image is progressively scanned.


        1: An image is the odd field of an interlaced video signal.
        The height specified in the JPEG 2000 main header is half
        of the height of the entire displayed image. In a
        receiver, an odd field should be de-interlaced with the
        even field following it so that lines from each image are
        displayed alternately.


        2: An image is the even field of an interlaced video signal.


        3: An image is a single field from an interlaced video
        signal, intended to be displayed full frame as if it were
        received as both the odd & even field of the frame. On a
        computer monitor, each line in the image should be
        displayed twice, doubling the height of the image.


    MHF (Main Header Flag) : 2 bits


        MHF indicates whether a main header or piece of a main header
        is in the RTP packet.


        If there is no header, MHF has a value of 0.
        If there is just a part of a fragmented header, MHF has a value
        of 1.
        If there is the last part of a fragmented header, MHF has value
        of 2.
        If the whole header in the packet, MHF has a value of 3.


        +----+-------------------------------------------------------+
        |MHF | Description                                           |
        +----+-------------------------------------------------------+
        | 0  | no main header in the payload                         |
        | 1  | piece of fragmented header                            |
        | 2  | last part of a fragmented header                      |
        | 3  | a whole main header                                   |
        +----+-------------------------------------------------------+
        Table 1: MHF usage values


    mh_id (Main Header Identification) : 3 bits


        Main header identification value. This is used for JPEG
        2000 main header recovery. The same mh_id value is used as
        long as the coding parameters described in the main header
        remains unchanged.


        The initial value of mh_id is random, and may take any value
        between 1-7, but MUST NOT be 0.


Futemma, et al.                                                [Page 7]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


        The mh_id value MUST increment by 1 every time a new main
        header is transmitted. Once the mh_id value is greater than 7,
        it rolls over to 1. When mh_id is 0, it has special usage for
        the receiver. This special usage is described in Section 7 of
        this document.


    T (Tile field invalidation flag) : 1 bit


        T bit indicates whether the tile number field is valid or
        invalid. A sender MUST set the T bit to 1 when the tile number
        field is invalid.


        There are two cases where the tile number field is invalid.


        (1) When an RTP packet holds only the main header.
        A sender cannot set any number in the tile number field as no
        JPEG 2000 tile-part bitstream is included in the RTP packet.


        (2) Multiple tile-parts are packed together in one payload.
        If there are multiple tiles packed into one payload, there is
        no meaning to assign a number to the tile number field.


    priority : 8 bits


        The priority field indicates the importance of the JPEG 2000
        packet included in the payload. Typically, a higher priority
        is set in the packets containing JPEG 2000 packets containing
        the lower sub-bands.


        Special values of priority:


              0     : This is reserved for payload which contain a
                      header (main or tile part header.) This is
                      considered the highest importance.


          1 to 255  : These values decrease in importance as the
                      values increase. (i.e. 1 is more important than
                      2, etc.) Hence applying priority values should
                      correlate directly to JPEG 2000 codestream in
                      importance in basic usage.


    tile number : 16 bits


        This field shows the tile number that a payload belongs to
        only when the T bit is 0. If T bit is set to 1, the receiver
        MUST ignore this field.


    R (Reserved) : 8 bits


        This bit is reserved for future use. This MUST be set to 0 by
        the sender. Receivers MUST ignore this field.


    fragment offset : 24 bits



Futemma, et al.                                                [Page 8]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


        This value MUST be set to the byte offset of the current
        payload in relation to the very beginning of each JPEG 2000
        codestream (JPEG 2000 frame).


        Byte offsets are calculated from the start of each JPEG 2000
        codestream upto the current position where the current
        payload would fit into the complete JPEG 2000 image codestream.


        To perform scalable video delivery by using multiple RTP
        sessions, the offset value from the first byte of the same
        frame is set for fragment offset. It is possible, to scalably
        delivery video using multiple RTP sessions, the fragment
        offset may not start from 0 in some RTP sessions even if the
        packet is the first one received.


5. RTP Packetization


    The sender must packetize the JPEG 2000 appropriately according to
    initial MIME parameters and/or details from SDP offer/answer
    parameters.


    A "packetization unit" is defined as either a JPEG 2000 main
    header, a tile-part header, or a JPEG 2000 packet.


    First, a sender divides the JPEG 2000 codestream into
    packetization units by parsing the codestream or by getting
    information from the encoder, and packs the packetization units
    into RTP packets. A sender can put an arbitrary number of
    packetization units into an RTP packet, but it  MUST preserve the
    codestream order. An example of this kind of RTP packet format is
    below:


    +------+-------+---------------+---------------+
    |RTP   |payload| packetization | packetization |
    |header|header | unit          | unit          |
    +------+-------+---------------+---------------+


    Fig. 5 An Example of RTP packet format with multiple packetization
           units


    If a packetization unit with headers (IP header, RTP header and
    payload header) is larger than the MTU size, it MAY be fragmented.
    To pack a fragmented packetization unit, the fragmented unit MUST
    NOT be packed with the succeeding packetization unit within the
    same RTP packet. An example of this kind of RTP packet format is
    below:


    +------+-------+-------------------------------------------------+
    |RTP   |payload| packetization unit fragment                     |
    |header|header |                                                 |
    +------+-------+-------------------------------------------------+
    +------+-------+-------------------------------------------------+
    |RTP   |payload| packetization unit fragment                     |
    |header|header |                                                 |


Futemma, et al.                                                [Page 9]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


    +------+-------+-------------------------------------------------+
                     .
                     .
                     .
    +------+-------+--------------------------------------------+
    |RTP   |payload| end of packetization unit fragment         |
    |header|header |                                            |
    +------+-------+--------------------------------------------+


    Fig. 6 An Example of RTP packet format with a fragmented
     packetization unit


6. Scalable Delivery and Priority field


    JPEG 2000 codestream has rich functionality built into it so
    decoders can easily handle scalable delivery or progressive
    transmission. Progressive transmission that allows images to be
    reconstructed with increasing pixel accuracy or spatial resolution
    is essential for new applications. This feature allows the
    reconstruction of images with different resolutions and pixel
    accuracy, for different target devices. A single image source
    can provide a codestream that is easily processed for smaller
    image display devices.


    JPEG 2000 packets contain all compressed image data from a
    specific: layer, component, resolution level, and/or precinct. The
    order in which these JPEG 2000 packets are found in the codestream
    is called the "progression order". The ordering of the JPEG 2000
    packets can progress along four axes: layer, component, resolution
    level and precinct.


    Providing a priority field to indicate importance of data contained
    in a given RTP packet can aid in usage of JPEG 2000 progressive and
    scalable functions.


    The lower the priority value is the higher the priority. Simply,
    the priority value 0 is the highest priority and 255 is the lowest
    priority. We define the priority value 0 as a special priority
    value for the headers (the main header or tile-part header). When
    any headers (the main header or tile-part header) are packed into
    the RTP packet, the sender MUST set the priority value to 0.


6.1 Priority Mapping Table


    For the progression order, the priority value for each JPEG 2000
    packet is given by the priority mapping table.
    In principle, the priority mapping table is negotiated between the
    sender and the receiver through SDP (Session Description Protocol).


6.1.1 Pre-Defined Priority Mapping


    This document specify several commonly-used several priority
    mapping table, pre-defined priority mapping tables: packet number
    based (default), progression-based, layer-based, resolution-based,


Futemma, et al.                                               [Page 10]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


    component-based.


    Packet number priority mapping is REQUIRED to be supported by
    clients implementing this specification. Other priority mapping
    tables (progression, layer, resolution, and component based) are
    OPTIONAL to implementations of this specification.


    Rules that all implementations of this specification MUST follow
    in all priority modes:


      When there is a header in the packet with a JPEG 2000 packet,
      the sender MUST set the payload packet priority value to 0.


      When there are multiple JPEG 2000 packets in the same RTP payload
      packet, the sender MUST set the payload packet priority value to
      the lowest priority value of the lowest JPEG 2000 packet.


6.1.1.1 Packet number based Ordering


      This is the default mode for payload packet priority value and
      all implementation of this specification MUST support.


      The sender will have a one-to-one association between payload
      packet priority value and the payload, the JPEG 2000 codestream,
      packet value. The RTP packet value is equal to the JPEG 2000
      packet value.


      If the packet value of JPEG 2000 codestream is greater than 255,
      the sender MUST set the payload priority value to 255.


6.1.1.2  Progression-based Ordering


      The sender will assign the payload packet priority value only
      based on layer, resolution, and component ordering the codestream
      is encoded.


      This is similar to the JPEG 2000 packet number based format but
      will not take into account the precinct number or position in the
      JPEG 2000 codestream.


      For example:
      If the codestream is ordered in LRCP (Layer, Resolution,
      Component, Position)


      All the packets in layer       0
                         resolution  0
                         component   0 : packet priority value : 1


      All the packets in layer       0
                         resolution  0
                         component   1 : packet priority value : 2


      All the packets in layer       0
                         resolution  0


Futemma, et al.                                               [Page 11]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


                         component   2 : packet priority value : 3


6.1.1.3 Layer-based Ordering


      Layer-based priority mapping table simplifies the default mapping
      to just matching JPEG 2000 packets together from the same layer.


      For example:
      All the packets in layer 0 : packet priority value : 1
      All the packets in layer 1 : packet priority value : 2
      All the packets in layer 2 : packet priority value : 3
      All the packets in layer 3 : packet priority value : 4


6.1.1.4 Resolution-based Ordering


      Resolution-based priority mapping table is similar to the layer
      based order but for JPEG 2000 packets of the same resolution


      For example:
      All the packets in resolution 0 : packet priority value : 1
      All the packets in resolution 1 : packet priority value : 2
      All the packets in resolution 2 : packet priority value : 3
      All the packets in resolution 3 : packet priority value : 4


6.1.1.5 Component-based Ordering


      Component-based priority mapping table is mapping together
      JPEG 2000 components of the same component


      For example:
      All the packets in component 0 : packet priority value : 1
      All the packets in component 1 : packet priority value : 2
      All the packets in component 2 : packet priority value : 3
      All the packets in component 3 : packet priority value : 4


6.1.2 Application Specific Priority Table


    The application specific priority table specification is intended
    for experimental use as new applications and new priority mapping
    tables are developed.


    A case sensitive 8 character ASCII code describing the application
    specific priority mapping name. The description of these
    application specific priority tables are outside the scope of this
    document.


    This extension may be used when codestream is divided into many
    layers and many resolutions.


6.2 Sender Action


    A priority value is given in accordance with the priority mapping
    table. If multiple JPEG 2000 packets are packed into the same RTP
    packet, the lowest priority value is set for the priority field.


Futemma, et al.                                               [Page 12]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004



    Accordingly, a sender can transmit each priority level packets
    using multiple RTP sessions. For example, in layered multicast a
    sender can transmit each priority through each multicast group.


6.3 Receiver Action


    The image architecture provides for the efficient delivery of image
    data in many applications such as client/server applications. The
    receiver should decode packets above a certain priority to obtain
    maximum performance depending on the receiver's platform.


7. JPEG 2000 Main Header Compensation Scheme


    The JPEG 2000 main header has various encoding parameters. A
    decoder decodes the JPEG 2000 codestream by using the parameters
    described in the JPEG 2000 main header. If an RTP packet is lost
    with the JPEG 2000 main header, the corresponding JPEG 2000
    codestream cannot be decoded, even if all of the following JPEG
    2000 packets are successfully received.


    A recovery of the main header that has been lost is very simple
    with this procedure. In the case of JPEG 2000 video, it is common
    that encode parameters will not vary greatly between each
    successive frame. Even if the RTP packet including the main header
    of a frame has been dropped, decoding may be performed by using the
    main header with the same mh_id as the current packet.


    The mh_id field of the payload header is used to recognize whether
    the encoding parameters of the main header are the same as the
    encoding parameters of the previous frame. The same value is set
    in mh_id of the RTP packet in the same frame. The mh_id and encode
    parameters are not associated with each other as 1:1 but they are
    used to recognize whether the encode parameters of the previous
    frame are the same or not in the event of lost headers.


    The mh_id field value SHOULD be saved from previous frames to be
    used to recover the current frame's main header. If the mh_id of
    the current frame has the same value as the mh_id value of the
    previous frame, the previous frame's main header SHOULD be used to
    decode the current frame, in case of a lost header.


    The sender MUST increment mh_id when parameters in the header
    change and send a new main header accordingly.


    The receiver MAY use the mh_id and MAY retain the header for such
    compensation.


7.1 Sender Processing


    The sender must transmit RTP packets with the same mh_id value
    unless the encoder parameters are different from the previous
    frame. The encoding parameters are the fixed information marker
    segment (SIZ marker) and functional marker segments (COD, COC, RGN,


Futemma, et al.                                               [Page 13]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


    QCD, QCC, and POC) specified in JPEG 2000 Part 1 Annex A [1].
    An initial value of mh_id MUST be selected randomly between 1 and
    7.
    If the encode parameters changes, the sender transmitting RTP
    packets MUST increment the mh_id value by one, but
    when mh_id value is greater than 7, a sender MUST set mh_id value
    to 1.


7.2 Receiver Processing


    When the receiver receives the main header completely, the RTP
    sequence number, the mh_id and main header should be saved. Only
    the last main header that was received completely SHOULD be saved.
    When the mh_id value is 0, the receiver SHOULD NOT save the header.


    When the main header is not received, the receiver may compare the
    current payload header's mh_id value with the saved mh_id value.
    When the values are the same, decoding may be performed by using
    the saved main header.


    If the mh_id field is set to 0, the receiver MUST not save the
    main header and MUST NOT compensate for lost headers.


8. Security Consideration


    RTP packets using the payload format defined in this specification
    are subject to the security considerations discussed in the RTP
    specifications[3] and any applicable profile. This implies that
    confidentiality of the media streams is achieved by encryption.
    Data compression used with this payload format is applied
    end-to-end, encryption may be performed on the compressed data so
    there is no conflict between the two operations.


    A potential denial-of-service threat exists for data encodings
    using compression techniques that have non-uniform receiver-end
    computational load.  The attacker can inject pathological
    datagrams into the stream which are complex to decode and cause
    the receiver to be overloaded. The usage of authentication of at
    least the RTP packet is RECOMMENDED, for example with SRTP [4].


    If QoS enhanced service is used, RTP receivers SHOULD monitor
    packet loss to ensure that the service that was requested is
    actually being delivered. If it is not, then they SHOULD assume
    that they are receiving best-effort service and behave accordingly.


    If best-effort service is being used, users of this payload format
    MUST monitor packet loss to ensure that the packet loss rate is
    within acceptable parameters. Packet loss is considered acceptable
    if a TCP flow across the same network path, experiencing the same
    network conditions, would achieve an average throughput, measured
    on a reasonable timescale, that is not less than the RTP flow is
    achieving. This condition can be satisfied by implementing
    congestion control mechanisms to adapt the transmission rate (or
    the number of layers subscribed for a layered multicast session),


Futemma, et al.                                               [Page 14]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


    or by arranging for a receiver to leave the session if the loss
    rate is unacceptably high.


    As with any IP-based protocol, in some circumstances a receiver
    may be overloaded simply by receiving too many packets, either
    desired or undesired. Network-layer authentication may be used to
    discard packets from undesired sources, but the processing cost of
    the authentication itself may be too high. In a multicast
    environment, pruning of specific sources may be implemented in
    future versions of IGMP [8] and in multicast routing protocols to
    allow a receiver to select which sources are allowed to reach it.


9. IANA Consideration


9.1 MIME Registration


    This document defines a new RTP payload name and associated MIME
    type, jpeg2000.


    The receiver MUST ignore any unspecified parameter.


    The MIME registration form for JPEG 2000 video stream is enclosed
    below:


    MIME media type name:    video


    MIME subtype name:       jpeg2000


    REQUIRED parameters:     color-space, scan-mode


      color-space:  A list of values specifying the color space of
        the payload data.
        Acceptable values:
        - "RGB"       - standard Red, Green, Blue color space.
        - "YUV/444"   - standard YUV color space, no subsampling
        - "YUV/422"   - standard YUV color space, U & V are subsampled
                        horizontally by 1/2
        - "YUV/420"   - standard YUV color space, U & V are subsampled
                        horizontally and vertically by 1/2
        - "GRAYSCALE" - basically a single component image of just
                        multilevels of grey.


      scan-mode: A parameter describing scanning mode of the payload
        data.
        Acceptable values:
        - "progressive" - progressive scanning. Each complete image
                          forms a whole image on the display. tp value
                          in the payload header MUST be 0.
        - "interlace" -   interlace scanning. Each complete image forms
                          vertically half the display. tp value MUST
                          properly specify the field the image
                          represents odd(tp=1), even(tp=2), or
                          frame(tp=3).



Futemma, et al.                                               [Page 15]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


    OPTIONAL parameters:
      priority-table:
        Indicates which kinds of priority mapping table definition is
        used in a RTP payload header. A parameter describing the
        priority ordering will be one of the acceptable values.


        Acceptable values:
          - "jp2-packet"  - JPEG 2000 packet number based ordering
          - "progression" - progression-based ordering
          - "layer"       - layer based ordering
          - "resolution"  - resolution based ordering
          - "component"   - component based ordering
          - "default"     - default priority mapping. same as
                            "jp2-packet"
          - a case sensitive 8 character ASCII code corresponding to
            set application specific priority table.


       When this parameter is omitted in an offer or answer, default
       priority mapping SHALL be used.
       In multicast scenarios, an offerer SHOULD use default priority
       mapping only.


      max-width: A parameter describing the maximum width of the video
        stream. This parameter MUST appear when max-height is present.
        Acceptable values:
        - an integer value between 0 - 4,294,967,295.


      max-height: A parameter describing the maximum height of the
        video stream. This parameter MUST appear when max-width is
        present.
        Acceptable values:
        - an integer value between 0 - 4,294,967,295.


    Encoding considerations:
        JPEG 2000 video stream may be transmitted with RTP as specified
        in this document.


    Security considerations: see section 9 of RFC XXXX.


    Interoperability considerations:
        JPEG 2000 video stream is a sequence of JPEG 2000 still
        images. An implementation in compliant with [1] can decode and
        attempt to display the encoded JPEG 2000 video stream.


    Published specification: ISO/IEC 15444-1 | ITU-T Rec. T.800


    Applications which use this media type:
        video streaming and communication


    Additional information: none


    Magic number(s): none


    File extension(s): none


Futemma, et al.                                               [Page 16]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004



    Macintosh File Type Code(s): none


    Person & email address to contact for further information:
        Eisaburo Itakura, Satoshi Futemma
        Email: {itakura|satosi-f}@sm.sony.co.jp


    Intended usage: COMMON


    Author/Change controller:
        Eisaburo Itakura, Satoshi Futemma
        Email: {itakura|satosi-f}@sm.sony.co.jp


9.2 SDP Parameters


    The MIME media type video/jpeg2000 string is mapped to fields in
    the Session Description Protocol (SDP) [4] as follows:


    o The media name in the "m=" line of SDP MUST be video.


    o The encoding name in the "a=rtpmap" line of SDP MUST be jpeg2000
      (the MIME subtype).


    o The clock rate in the "a=rtpmap" line MUST be 90000.


    o The REQUIRED parameters "color-space" and "scan-mode", MUST be
      included in the "a=fmtp" line of SDP.


    o The OPTIONAL parameters "priority-table-default",
      "priority-table-definition", "priority-table-protocol",
      "max-width", and "max-height", when present, MUST be included in
      the "a=fmtp" line of SDP.


    These parameters are expressed as a MIME media type string, in the
    form of a semicolon separated list of parameter=value pairs.


    Therefore, an example of media representation in SDP is as
    follows:


      m=video 49170/2 RTP/AVP 98
      a=rtpmap:98 jpeg2000/90000
      a=fmtp:98 color-space=YUV420;scan-mode=progressive;max-width=128;
                max-height=128


10. Usage with the SDP Offer/Answer Model


    When offering JPEG 2000 over RTP using SDP in an Offer/Answer model
    [5], the following rules and limitations apply:


    o All parameters MUST have an acceptable value for that parameter.


    o All parameters MUST correspond to the parameters of the payload.


    o The parameters "color-space" and "scan-mode" MUST appear in the


Futemma, et al.                                               [Page 17]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


      offer and the answer


    o For optional parameters "max-width" and "max-height" the
      following applies:


       -if "max-width" appears in the offer or answer, "max-height"
        MUST be present.
       -if "max-height" appears in the offer or answer, "max-width"
        MUST be present.


10.1 Examples


    An example offer/answer exchanges are provided.


    Alice offers YUV 422 color space, interlace image with 720-pixel
    width and 480-pixel height and several priority-table options
    (jp2-packet, progression, layer, resolution, component) as below:


    v=0
    o=alice 2890844526 2890844526 IN IP4 host.anywhere.com
    s=
    c=IN IP4 host.anywhere.com
    t=0 0
    m=video 49170 RTP/AVP 98
    a=rtpmap:98 jpeg2000/90000
    a=fmtp:98 color-space=YUV/422; scan-mode=interlace
    a=fmtp:98 priority-table-definition=jp2-packet,progression,layer,
      resolution,component; max-width=720; max-height=480


    Bob accepts YUV/422 color space, interlace image and jp2-packet
    based priority mapping (default mapping table) and replies:


    v=0
    o=bob 2890844730 2890844731 IN IP4 host.example.com
    s=
    c=IN IP4 host.example.com
    t=0 0
    m=video 49920 RTP/AVP 98
    a=rtpmap:98 jpeg2000/90000
    a=fmtp:98 color-space=YUV/422; scan-mode=interlace


    Note that "priority-table-definition" parameter in Bob's answer is
    omitted, so default priority mapping table (jp2-packet number based
    priority mapping) is used.


11. Intellectual Property Right Statement


    The IETF takes no position regarding the validity or scope of any
    Intellectual Property Rights or other rights that might be claimed
    to pertain to the implementation or use of the technology described
    in this document or the extent to which any license under such
    rights might or might not be available; nor does it represent that
    it has made any independent effort to identify any such rights.
    Information on the procedures with respect to rights in RFC


Futemma, et al.                                               [Page 18]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


    documents can be found in BCP 78 and BCP 79.


    Copies of IPR disclosures made to the IETF Secretariat and any
    assurances of licenses to be made available, or the result of an
    attempt made to obtain a general license or permission for the use
    of such proprietary rights by implementers or users of this
    specification can be obtained from the IETF on-line IPR repository
    at http://www.ietf.org/ipr.


    The IETF invites any interested party to bring to its attention any
    copyrights, patents or patent applications, or other proprietary
    rights that may cover technology that may be required to implement
    this standard.  Please address the information to the IETF at
    ietf-ipr@ietf.org.


12. Informative Appendix


12.1 Recommended Practices


    As the JPEG 2000 coding standard is highly flexible, many
    different but compliant data streams can be produced and still be
    labeled as a JPEG 2000 data stream.


    The following is a set of recommendations set forth from our
    experience in developing JPEG 2000 and this payload
    specification. Implementations of this standard must handle all
    possibilities mentioned in this specification. The following is a
    listing of items an implementation could optimize.


    Error Resilience Markers


        The use of error resilience markers in the JPEG 2000 data
        stream is highly recommended in all situations. Error
        recovery with these markers is helpful to the decoder and save
        external resources. Markers such as: RESET, RESTART, and
        ERTERM.


    YUV/YCbCr Color space


        The YUV/YCbCr color space provides the greatest amount of
        compression in color with respect to the human visual
        system. When used with JPEG 2000, the usage of this color
        space can provide excellent visual results at extreme bit
        rates.


    Progression Ordering


        JPEG 2000 offers many different ways to order the final code
        stream to optimize the transfer with the presentation. The
        most useful ordering in our usage cases have been for layer
        progression and resolution progression ordering.


    Tiling and Packets



Futemma, et al.                                               [Page 19]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


        JPEG 2000 packets are formed regardless of the encoding
        method. The encoder has little control over the size of these
        JPEG 2000 packets as they maybe large or small.


        Tiling splits the image up into smaller areas and each are
        encoded separately. With tiles, the JPEG 2000 packet sizes
        are also reduced. When using tiling, almost all JPEG 2000
        packet sizes are an acceptable size (i.e. smaller than the MTU
        size of most networks.)


    Receiver Processing


        In general, the receiver should scan for headers in packets
        that have an MHF value > 0 to aid in main header recovery.


    Sender Processing


        There are no limitations as to how the sender should pack the
        payload. In general, the sender should pack headers separately
        from the rest of the codestream to make header recovery simple.
        Payloads should generally begin with an SOP marker and end with
        EPH marker for easier decoder processing.


12.2 Sample Headers in Detail


  This section has various sample headers in various configurations for
  reference.


    For reference, the payload header.


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |tp |MHF|mh_id|T|     priority  |           tile number         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |reserved       |             fragment offset                   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    For the first packet with the main header, this is what it will
    look like.


    Note, for this example MTU will be taken as: 1500bytes (Ethernet)


  Sample 1: Progressive image with single tile, 3500bytes
            (i.e. thumbnail)


    First Packet:
    This packet will have the whole main header.
    210bytes


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0|1 1|1 0 1|1|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|


Futemma, et al.                                               [Page 20]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |FF4FFF51002F000 ....                                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Second Packet:
    This packet will have a tile header and the first tile part LLband
    1500bytes


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0|1 1|1 0 1|0|0 0 0 0 0 0 0 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |FF90 000A 0000 0000 2DB3  0001 FF93                            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Third Packet:
    This packet will have the next part in the tile, no tile header
    1500bytes


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0|0 0|1 0 1|0|0 0 0 0 0 0 1 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |E841 4526 4556 9850 C2EA  ....                                 |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Fourth Packet:
    Last packet for the image
    290bytes


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0|0 0|1 0 1|0|0 0 0 0 0 0 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |A55D 8B73 3B25 25C7 B9EB        ....                   2FBEB153|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


  Smaple 2: Image with 4 tiles


    First Packet:
    This packet will have the whole main header.
    210bytes



Futemma, et al.                                               [Page 21]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0|1 1|0 0 1|1|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |FF4FFF51002F000 ....                                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Second Packet:
    This packet will have a first tile part (tile 0)
    1400bytes


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0|0 0|0 0 1|0|0 0 0 0 0 0 0 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |FF90 000A 0000 0000 0578  0001 FF93  ....                      |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Third Packet:
    This packet will have a second tile part (tile 1)
    1423bytes


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0|0 0|0 0 1|0|0 0 0 0 0 0 0 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |FF90 000A 0001 0000 058F 0001 FF93    ....                     |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Fourth Packet:
    This packet will have a third tile part (tile 2)
    1355bytes


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0|0 0|0 0 1|0|0 0 0 0 0 0 0 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 0 1|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |FF90 000A 0002 0000 054B 0001 FF93    ....                     |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Fifth Packet:
    This packet will have a fourth tile part (tile 3)


Futemma, et al.                                               [Page 22]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


    1290bytes


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0|0 0|0 0 1|0|0 0 0 0 0 0 0 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |FF90 000A 0003 0000 050A 0001 FF93    ....                     |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



  Sample 3: Packing multiple tiles in single payload, fragmented header
            No header compensation, progressive image


    First Packet:
    This packet will have the first part of the main header.
    110bytes


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0|0 1|0 0 0|1|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |FF4FFF51002F000 ....                                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Second Packet:
    This packet has the second part of the header.
    1400bytes


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0|1 0|0 0 0|1|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |FF6400FF ....                                                  |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Third Packet:
    This packet has two tiles, tile 0 and tile 1
    1400bytes


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0|0 0|0 0 0|1|0 0 0 0 0 0 0 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 1 1 0|


Futemma, et al.                                               [Page 23]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |FF90 000A 0000 0000 02BC 0001 FF93  ...                        |
    |FF90 000A 0001 0000 02BC 0001 FF93 ...                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Fourth Packet:
    This packet has one tile, tile 2
    1395bytes


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0|0 0|0 0 0|0|0 0 0 0 0 0 0 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |FF90 000A 0002 0000 0573 0001 FF93    ....                     |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


  Sample 4: Interlace image, single tile


    First packet:
    This packet will have the whole main header for the odd field
    210bytes


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 1|1 1|0 1 0|1|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |FF4FFF51002F000 ....                                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Second packet:
    This packet will have the first part of the odd field's tile
    1400bytes


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 1|0 0|0 1 0|1|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |FF90 000A 0000 0000 0578  0001 FF93  ....                      |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Third packet:
    This packet will have the second part of the odd field's tile
    1400bytes


     0                   1                   2                   3


Futemma, et al.                                               [Page 24]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 1|0 0|0 1 0|1|0 0 0 0 0 0 0 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |7F04 E708 27D9 D11D 22CB ...                                   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Fourth packet:
    This packet will have the third part of the odd field's tile
    1300bytes


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 1|0 0|0 1 0|1|0 0 0 0 0 0 0 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 1 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |98BD EC9B 2826 DC62 D4AB ...                                   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Fifth packet:
    This packet will have the whole main header for the even field


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |1 0|1 1|0 1 1|1|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |FF4FFF51002F000 ....                                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Sixth packet:
    This packet will have the first part of the odd field's tile
    1400bytes


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |1 0|0 0|0 1 0|1|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |FF90 000A 0000 0000 0578  0001 FF93  ....                      |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Seventh packet:
    This packet will have the second part of the odd field's tile
    1400bytes



Futemma, et al.                                               [Page 25]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |1 0|0 0|0 1 0|1|0 0 0 0 0 0 0 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |626C 42F0 166B 6BD0 F8E1 ...                                   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


    Eighth packet:
    This packet will have the third part of the odd field's tile
    1300bytes


     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |1 0|0 0|0 1 0|1|0 0 0 0 0 0 0 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 1 0|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |8114 41D5 18AB 4A1B ...                                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


13. References


Normative References


    [1] ISO/IEC JTC1/SC29, ISO/IEC 15444-1 | ITU-T Rec. T.800
        "Information technology - JPEG 2000 image coding system -
        Part 1: Core coding system", December 2000.


    [2] S. Bradner, "Key words for use in RFCs to Indicate Requirement
        Levels", BCP14, RFC2119, March 1997.


    [3] H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson,
        "RTP: A Transport Protocol for Real Time
        Applications", STD 64, RFC
        3550, July 2003.


    [4] M. Baugher, D. McGrew, M. Naslund, E. Carrara and K. Norrman,
        "The Secure Real-time Transport Protocol (SRTP)", RFC 3711,
        March 2004.


    [5] M. Handley and V. Jacobson, "SDP: Session Description
        Protocol", RFC 2327, April 1998.


    [6] J. Rosenberg and H. Schulzrinne, "An Offer/Answer Model with
        Session Description Protocol (SDP)", RFC 3264, June 2002.


Informative References


    [7] ISO/IEC JTC1/SC29, ISO/IEC 15444-3 "Information technology -
        JPEG 2000 image coding system - Part 3: Motion JPEG 2000",


Futemma, et al.                                               [Page 26]

INTERNET-DRAFT    draft-ietf-avt-rtp-jpeg2000-06.txt   October 25, 2004


        July 2002.


    [8] Deering, S., "Host Extensions for IP Multicasting", STD 5,
        RFC 1112, August 1989.


14. Authors' Addresses


    Satoshi Futemma/Eisaburo Itakura/Andrew Leung
    Sony Corporation
    6-7-35 Kitashinagawa Shinagawa-ku
    Tokyo 141-0001 JAPAN
    Phone: +81 3 5448 2125
    Fax:   +81 3 5448 4560
    Email: {satosi-f|itakura}@sm.sony.co.jp, andrew.leung@jp.sony.com


15. Full Copyright Statement


    Copyright (C) The Internet Society (2004).  This document is
    subject to the rights, licenses and restrictions contained in BCP
    78, and except as set forth therein, the authors retain all their
    rights.


    This document and the information contained herein are provided on
    an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
    REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND
    THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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.



























Futemma, et al.                                               [Page 27]


Html markup produced by rfcmarkup 1.107, available from http://tools.ietf.org/tools/rfcmarkup/