draft-ietf-avt-rtp-jpeg2000-beam-03.txt   draft-ietf-avt-rtp-jpeg2000-beam-04.txt 
Audio Video Transport A. Leung Audio Video Transport A. Leung
Internet-Draft S. Futemma Internet-Draft S. Futemma
Expires: August 7, 2006 E. Itakura Expires: November 17, 2006 E. Itakura
Sony Sony
February 3, 2006 May 16, 2006
Payload Format for JPEG 2000 Video: Extensions for Scalability and Main Payload Format for JPEG 2000 Video: Extensions for Scalability and Main
Header Recovery Header Recovery
draft-ietf-avt-rtp-jpeg2000-beam-03 draft-ietf-avt-rtp-jpeg2000-beam-04
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
This document may not be modified, and derivative works of it may not This document may not be modified, and derivative works of it may not
be created. be created, other than to extract Section 1.2 as-is for separate use.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 7, 2006. This Internet-Draft will expire on November 17, 2006.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2006). Copyright (C) The Internet Society (2006).
Abstract Abstract
This memo describes extended uses for payload header in RFC document: This memo describes extended uses for payload header in RFC document:
"An RTP Payload Format for JPEG 2000 Video Streams." [1] For better "RTP Payload Format for JPEG 2000 Video Streams." For better support
support of JPEG 2000 features such as scalability and includes a main of JPEG 2000 features such as scalability and includes a main header
header recovery method. recovery method.
This memo MUST be accompanied with a complete implementation of "An This memo MUST be accompanied with a complete implementation of "RTP
RTP Payload Format for JPEG 2000 Video Streams." [1] The RFC document Payload Format for JPEG 2000 Video Streams." That document is a
[1] itself is a complete description of the payload header and complete description of the payload header and signaling, this
signaling, this document only describes additional processing for the document only describes additional processing for the payload header.
payload header. There is an additional MIME and SDP marker signaling There is an additional media type and SDP marker signaling for
for implementations of this document. implementations of this document.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. History . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. History . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Description of the Mechanisms . . . . . . . . . . . . . . 3 1.2. Description of the Mechanisms . . . . . . . . . . . . . . 3
1.2.1. Main Header Compensation . . . . . . . . . . . . . . . 3 1.2.1. Main Header Compensation . . . . . . . . . . . . . . . 3
1.2.2. Priority Table . . . . . . . . . . . . . . . . . . . . 3 1.2.2. Priority Table . . . . . . . . . . . . . . . . . . . . 3
1.3. Conventions Used in This Document . . . . . . . . . . . . 4 1.3. Conventions Used in This Document . . . . . . . . . . . . 4
2. Payload Format Enhanced Processing . . . . . . . . . . . . . . 5 2. Payload Format Enhanced Processing . . . . . . . . . . . . . . 5
2.1. Enhanced Processing Markers . . . . . . . . . . . . . . . 5 2.1. Enhanced Processing Markers . . . . . . . . . . . . . . . 5
3. Priority Mapping Table . . . . . . . . . . . . . . . . . . . . 7 3. Priority Mapping Table . . . . . . . . . . . . . . . . . . . . 7
3.1. Pre-Defined Priority Mapping . . . . . . . . . . . . . . . 7 3.1. Pre-Defined Priority Mapping . . . . . . . . . . . . . . . 7
3.1.1. Packet Number Based Ordering . . . . . . . . . . . . . 7 3.1.1. Packet Number Based Ordering . . . . . . . . . . . . . 7
3.1.2. Progression Based Ordering . . . . . . . . . . . . . . 7 3.1.2. Progression Based Ordering . . . . . . . . . . . . . . 7
3.1.3. Layer Based Ordering . . . . . . . . . . . . . . . . . 8 3.1.3. Layer Based Ordering . . . . . . . . . . . . . . . . . 8
3.1.4. Resolution Based Ordering . . . . . . . . . . . . . . 9 3.1.4. Resolution Based Ordering . . . . . . . . . . . . . . 8
3.1.5. Component Based Ordering . . . . . . . . . . . . . . . 9 3.1.5. Component Based Ordering . . . . . . . . . . . . . . . 9
4. JPEG 2000 Main Header Compensation Scheme . . . . . . . . . . 10 4. JPEG 2000 Main Header Compensation Scheme . . . . . . . . . . 10
4.1. Sender Processing . . . . . . . . . . . . . . . . . . . . 10 4.1. Sender Processing . . . . . . . . . . . . . . . . . . . . 10
4.2. Receiver Processing . . . . . . . . . . . . . . . . . . . 10 4.2. Receiver Processing . . . . . . . . . . . . . . . . . . . 10
5. Security Consideration . . . . . . . . . . . . . . . . . . . . 12 5. Security Consideration . . . . . . . . . . . . . . . . . . . . 12
6. IANA Consideration . . . . . . . . . . . . . . . . . . . . . . 13 6. Congestion Control . . . . . . . . . . . . . . . . . . . . . . 13
6.1. Media Type Registration . . . . . . . . . . . . . . . . . 13 7. IANA Consideration . . . . . . . . . . . . . . . . . . . . . . 14
6.2. SDP Parameters . . . . . . . . . . . . . . . . . . . . . . 15 7.1. Media Type Registration . . . . . . . . . . . . . . . . . 14
7. Usage with the SDP Offer/Answer Model . . . . . . . . . . . . 16 7.2. SDP Parameters . . . . . . . . . . . . . . . . . . . . . . 17
7.1. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 16 8. Usage with the SDP Offer/Answer Model . . . . . . . . . . . . 18
7.1.1. Example 1 . . . . . . . . . . . . . . . . . . . . . . 16 8.1. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.1.2. Example 2 . . . . . . . . . . . . . . . . . . . . . . 17 8.1.1. Example 1 . . . . . . . . . . . . . . . . . . . . . . 18
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18 8.1.2. Example 2 . . . . . . . . . . . . . . . . . . . . . . 19
8.1. Normative References . . . . . . . . . . . . . . . . . . . 18 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.2. Informative References . . . . . . . . . . . . . . . . . . 18 9.1. Normative References . . . . . . . . . . . . . . . . . . . 20
Appendix A. Sample Headers in Detail . . . . . . . . . . . . . . 19 9.2. Informative References . . . . . . . . . . . . . . . . . . 20
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 27 Appendix A. Sample Headers in Detail . . . . . . . . . . . . . . 21
Intellectual Property and Copyright Statements . . . . . . . . . . 28 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 29
Intellectual Property and Copyright Statements . . . . . . . . . . 30
1. Introduction 1. Introduction
This document is an extension of: "An RTP Payload Format for JPEG This document is an extension of: "RTP Payload Format for JPEG 2000
2000 Video Streams"[1]. There are additional mechanisms to be used Video Streams" [1]. There are additional mechanisms that can be used
with certain parts of the header in [1] to support JPEG 2000 features with certain parts of the header in [1] to support JPEG 2000 features
such as scalability and a main header compensation method. These such as scalability and a main header compensation method. These
mechanisms are described in detail in this document. mechanisms are described in detail in this document.
1.1. History 1.1. History
In the development of [1], Sony Corporation filed a patent In the development of RFC XXXY [1], there was an issue of IPR claims
application on certain mechanisms with the main header compensation, on certain mechanisms with main header compensation, priority table
priority table usage, etc. in [1]. As these are not "essential" to usage, etc. in RFC XXXY [1]. As these are not "essential" to the
the core RTP format of [1] and only describes a mechanism, it was core RTP format of RFC XXXY [1] and only describes a mechanism, it
decided that splitting these mechanisms from the core RTP format in was decided that splitting these mechanisms from the core RTP format
to a separate document. This is the document describing the IPR in to a separate document. This is the document describing the IPR
related mechanisms for main header recover and priority table usage. related mechanisms for main header recover and priority table usage.
1.2. Description of the Mechanisms 1.2. Description of the Mechanisms
1.2.1. Main Header Compensation 1.2.1. Main Header Compensation
JPEG 2000's scalable coding scheme allows for decompressing truncated JPEG 2000's scalable coding scheme allows for decompressing truncated
or partial data streams but only when the main header is present. If or partial data streams but only when the main header is present. If
the header is lost, the data is useless. With JPEG 2000 video the header is lost, the data is useless. With JPEG 2000 video
coding, coding parameters between frames will rarely change and coding, coding parameters between frames will rarely change and
previous headers may be used in newly received data which the header previous headers may be used in newly received data which the header
have been lost. have been lost.
Compensation of the main header that has been lost is very simple Compensation of the main header that has been lost is very simple
with this procedure. In the case of JPEG 2000 video, it is common with this procedure. In the case of JPEG 2000 video, it is very
that encode parameters will not vary greatly between each successive common that encode parameters will not vary greatly between
frame. Even if the RTP packet including the main header of a frame successive frames. Even if the RTP packet including the main header
has been dropped, decoding may be performed by using the main header of a frame has been dropped, decoding may be performed by using the
of a previous frame. main header of a previous frame.
1.2.2. Priority Table 1.2.2. Priority Table
JPEG 2000 codestream has rich functionality built into it so decoders JPEG 2000 codestream has rich functionality built into it so decoders
can easily handle scalable delivery or progressive transmission. can easily handle scalable delivery or progressive transmission.
Progressive transmission allows images to be reconstructed with Progressive transmission allows images to be reconstructed with
increasing pixel accuracy or spatial resolution. This feature allows increasing pixel accuracy or spatial resolution. This feature allows
the reconstruction of images with different resolutions and pixel the reconstruction of images with different resolutions and pixel
accuracy, for different target devices. A single image source can accuracy, for different target devices. A single image source can
provide a codestream that is easily processed for smaller image provide a codestream that is easily processed for smaller image
skipping to change at page 4, line 19 skipping to change at page 4, line 19
(or position). (or position).
Providing a priority field to indicate the importance of data Providing a priority field to indicate the importance of data
contained in a given RTP packet can aid in usage of JPEG 2000 contained in a given RTP packet can aid in usage of JPEG 2000
progressive and scalable functions. progressive and scalable functions.
1.3. Conventions Used in This Document 1.3. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC2119 [2]. document are to be interpreted as described in RFC2119. [2].
RFC-Editor Note: The RFC Editor is requested to replace all
occurences of RFC XXXY with the RFC number
draft-ietf-avt-rtp-jpeg2000 receives. At that time, please remove
this note.
2. Payload Format Enhanced Processing 2. Payload Format Enhanced Processing
2.1. Enhanced Processing Markers 2.1. Enhanced Processing Markers
This section of the document describes changes in the value of mh_id This section of the document describes additional usage in the values
and priority value and interpretation which differ from [1]. of mh_id and priority fields and interpretation which differ from RFC
Implementions of this document should follow protocol in [1] first XXXY [1]. Implementions of this document should follow RFC XXXY [1]
then add in additional header processing as described in this first then add additional header processing as described in this
document. Implementations following this document are expected to document. Implementations following this document are expected to
interoperate with implementations of [1] and this document as well. interoperate with implementations of [1] and this document as well.
The RTP payload header format for JPEG 2000 video stream is as The RTP payload header format for JPEG 2000 video stream is as
follows: follows:
0 1 2 3 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 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 | |tp |MHF|mh_id|T| priority | tile number |
skipping to change at page 5, line 34 skipping to change at page 5, line 34
|reserved | fragment offset | |reserved | fragment offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: RTP payload header format for JPEG 2000 Figure 1: RTP payload header format for JPEG 2000
mh_id (Main Header Identification) : 3 bits mh_id (Main Header Identification) : 3 bits
Main header identification value. This is used for JPEG 2000 main Main header identification value. This is used for JPEG 2000 main
header recovery. header recovery.
The same mh_id value is used as long as the coding parameters
described in the main header remains unchanged between frames.
The initial value of mh_id is random, and may take any value The initial value of mh_id is random, and may take any value
between 1-7, but MUST NOT be 0. between 1-7, but MUST NOT be 0.
The mh_id value MUST increment by 1 every time a new main header The same mh_id value is used as long as the coding parameters
is transmitted. Once the mh_id value is greater than 7, it rolls described in the main header remains unchanged between frames.
over to 1.
The mh_id value MUST be incremented 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 When mh_id is 0, it has special usage for the receiver. This
special usage is described in Section 4.2 of this document. special usage is described in Section 4.2 of this document.
Senders should follow Section 4.1 of this document for proper Senders should follow Section 4.1 of this document for proper
mh_id usage. mh_id assignment and usage.
priority : 8 bits priority : 8 bits
The priority field indicates the importance of the JPEG 2000 The priority field indicates the importance of the JPEG 2000
packet included in the payload. Typically, a higher priority is packet included in the payload. Typically, a higher priority is
set in the packets containing JPEG 2000 packets containing the set in the packets containing JPEG 2000 packets containing the
lower sub-bands. lower sub-bands.
Special values of priority: Special values of priority:
0: This is reserved for payload which contain a header (main or 0: This is reserved for payload which contain a header (main or
tile part header.) This is considered the most important. tile part header.) This is considered the most important.
skipping to change at page 6, line 19 skipping to change at page 6, line 22
Special values of priority: Special values of priority:
0: This is reserved for payload which contain a header (main or 0: This is reserved for payload which contain a header (main or
tile part header.) This is considered the most important. tile part header.) This is considered the most important.
1 to 255: These values decrease in importance as the values 1 to 255: These values decrease in importance as the values
increase. (i.e. 1 is more important than 2, etc.) Hence increase. (i.e. 1 is more important than 2, etc.) Hence
applying priority values should correlate directly to JPEG 2000 applying priority values should correlate directly to JPEG 2000
codestream in importance. codestream in importance.
The lower the priority value is the higher the priority. Simply, The lower the priority value is the higher the importance.
the priority value 0 is the highest priority and 255 is the lowest Simply, the priority value 0 is the highest importance and 255 is
priority. We define the priority value 0 as a special priority the lowest importance. We define the priority value 0 as a
value for the headers (the main header or tile-part header). When special priority value for the headers (the main header or tile-
any headers (the main header or tile-part header) are packed into part header). When any headers (the main header or tile-part
the RTP packet, the sender MUST set the priority value to 0. header) are packed into the RTP payload, the sender MUST set the
priority value to 0.
Assignment of the values are described in Section 3 with pre- Assignment of the values are described in Section 3 with pre-
defined table assignments in Section 3.1. defined table assignments in Section 3.1.
3. Priority Mapping Table 3. Priority Mapping Table
For the progression order, the priority value for each JPEG 2000 For the progression order, the priority value for each JPEG 2000
packet is given by the priority mapping table. packet is given by the priority mapping table.
3.1. Pre-Defined Priority Mapping 3.1. Pre-Defined Priority Mapping
skipping to change at page 7, line 30 skipping to change at page 7, line 30
implementations of this specification. implementations of this specification.
Rules that all implementations of this specification MUST follow in Rules that all implementations of this specification MUST follow in
all priority modes: all priority modes:
o When there is a header in the packet with a JPEG 2000 packet, the o When there is a header in the packet with a JPEG 2000 packet, the
sender MUST set the payload packet priority value to 0. sender MUST set the payload packet priority value to 0.
o When there are multiple JPEG 2000 packets in the same RTP payload o When there are multiple JPEG 2000 packets in the same RTP payload
packet, the sender MUST set the payload packet priority value to packet, the sender MUST set the payload packet priority value to
the lowest priority value of the lowest JPEG 2000 packet. (i.e. if the lowest JPEG 2000 packet. (i.e. if JPEG 2000 packets with
JPEG 2000 packets with priority: 5,6,7 are packed into a single priority: 5,6,7 are packed into a single payload, the priority
payload, the priority value MUST be 5.) value will be 5.)
3.1.1. Packet Number Based Ordering 3.1.1. Packet Number Based Ordering
This is the default mode for payload packet priority value and all Packet number based ordering assigns the payload packet priority
implementation of this specification MUST support. value from the "JPEG 2000 packet value". (note: JPEG 2000 codestreams
are stored in units of packets and each packet has a value .) This
The sender will have a one-to-one association between payload packet method is the default method for assigning priority value. All
priority value and the payload packet value (i.e. the JPEG 2000 implementations of this specification MUST support this method.
codestream.) 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 If the JPEG 2000 codestream packet value is greater than 255, the
sender MUST set the payload priority value to 255. sender MUST set the payload priority value to 255.
3.1.2. Progression Based Ordering 3.1.2. Progression Based Ordering
The sender will assign the payload packet priority value only based The sender will assign the payload packet priority value only based
on layer, resolution, and component ordering of the codestream. on layer, resolution, and component ordering of the codestream.
This is similar to the JPEG 2000 packet number based format but will This is similar to the packet number based assignment but will not
not take into account the precinct number or position in the JPEG take into account the precinct number or position in the JPEG 2000
2000 codestream. codestream.
For example: For example:
If the codestream is ordered in LRCP (Layer, Resolution, Component, If the codestream is ordered in LRCP (Layer, Resolution, Component,
Position) Position)
All the packets in: All the packets in:
layer.........0 layer.........0
resolution....0 resolution....0
skipping to change at page 10, line 7 skipping to change at page 10, line 7
For example: For example:
All the packets in component 0 : packet priority value : 1 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 1 : packet priority value : 2
All the packets in component 2 : packet priority value : 3 All the packets in component 2 : packet priority value : 3
... ...
All the packets in component n : packet priority value : n+1 All the packets in component n : packet priority value : n+1
4. JPEG 2000 Main Header Compensation Scheme 4. JPEG 2000 Main Header Compensation Scheme
The mh_id field of the payload header is used to recognize whether The mh_id field of the payload header is used to indicate whether the
the encoding parameters of the main header are the same as the encoding parameters of the main header are the same as the encoding
encoding parameters of the previous frame. The same value is set in parameters of the previous frame. The same value is set in mh_id of
mh_id of the RTP packet in the same frame. The mh_id and encode the RTP packet in the same frame. The mh_id and encode parameters
parameters are not associated with each other as 1:1 but they are are not associated with each other as 1:1 but they are used to
used to recognize whether the encode parameters of the previous frame indicate whether the encode parameters of the previous frame are the
are the same or not in the event of a lost header. same or not in the event of a lost header.
The mh_id field value SHOULD be saved from previous frames to be used 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 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 current frame has the same value as the mh_id value of the previous
frame, the previous frame's main header MAY be used to decode the frame, the previous frame's main header MAY be used to decode the
current frame, in case of a lost header in the current frame. current frame, in case of a lost header in the current frame.
The sender MUST increment mh_id when parameters in the header change The sender MUST increment mh_id when parameters in the header change
and send a new main header accordingly. and send a new main header accordingly.
The receiver MAY use the mh_id and MAY retain the header for such The receiver MAY use the mh_id and MAY retain the header for such
compensation. compensation.
4.1. Sender Processing 4.1. Sender Processing
The sender MUST transmit RTP packets with the same mh_id value unless The sender MUST transmit RTP packets with the same mh_id value if the
the encoder parameters are different from the previous frame. The encoder parameters of the current frame are the same as the previous
encoding parameters are the fixed information marker segment (SIZ frame. The encoding parameters are the fixed information marker
marker) and functional marker segments (COD, COC, RGN, QCD, QCC, and segment (SIZ marker) and functional marker segments (COD, COC, RGN,
POC) specified in JPEG 2000 Part 1 Annex A [3]. An initial value of QCD, QCC, and POC) specified in JPEG 2000 Part 1 Annex A [3].
mh_id MUST be selected randomly between 1 and 7 for security reasons.
An initial value of mh_id MUST be selected randomly between 1 and 7
for security reasons.
If the encode parameters changes, the sender transmitting RTP packets If the encode parameters changes, the sender transmitting RTP packets
MUST increment the mh_id value by one, but when mh_id value becomes MUST increment the mh_id value by one, but when mh_id value becomes
greater than 7, a sender MUST set mh_id value to 1. greater than 7, a sender MUST set mh_id value to 1.
4.2. Receiver Processing 4.2. Receiver Processing
When the receiver receives the main header completely, the RTP When the receiver receives the main header completely, the RTP
sequence number, the mh_id and main header should be saved. Only the sequence number, the mh_id and main header should be saved. Only the
last main header that was received completely SHOULD be saved. When last main header that was received completely SHOULD be saved. When
the mh_id value is 0, the receiver SHOULD NOT save the header. 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 When the main header is not received, the receiver may compare the
current payload header's mh_id value with the previous saved mh_id current payload header's mh_id value with the previous saved mh_id
value. If the values match, decoding may be performed by using the value. If the values match, decoding may be performed by using the
previously saved main header. previously saved main header.
If the mh_id field is set to 0, the receiver MUST not save the main If the mh_id field is set to 0, the receiver MUST NOT save the main
header and MUST NOT compensate for lost headers. header and MUST NOT compensate for lost headers.
If the mh_id value changes, receivers SHOULD save the current header
and save the new mh_id value. The old saved header should be deleted
from storage.
5. Security Consideration 5. Security Consideration
RTP packets using the payload format defined in this specification Please refer to section 6 of RFC XXXY [1] for Security Considerations
are subject to the security considerations discussed in the RTP regarding this RTP format.
specifications[4] 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 6. Congestion Control
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 [3].
If QoS enhanced service is used, RTP receivers SHOULD monitor packet Please refer to section 7 of RFC XXXY [1] for Congestion Control
loss to ensure that the service that was requested is actually being regarding this RTP format.
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 7. IANA Consideration
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), 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 7.1. Media Type Registration
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.
6. IANA Consideration This document extends the associated media type from RFC XXXY[1]:
Here is the complete original for reference.
6.1. Media Type Registration This registration uses the template defined in [8] and follows [9].
This document extends the associated media type from [1]: Type name: video
video/jpeg2000 Subtype name: jpeg2000
Required parameters:
sampling: A list of values specifying the color space of the
payload data.
Acceptable values:
RGB: standard Red, Green, Blue color space.
BGR: standard Blue, Green, Red color space.
RGBA: standard Red, Green, Blue, Alpha color space.
BGRA: standard Blue, Green, Red, Alpha color space.
YCbCr-4:4:4: standard YCbCr color space, no subsampling.
YCbCr-4:2:2: standard YCbCr color space, Cb and Cr are
subsampled horizontally by 1/2.
YCbCr-4:2:0: standard YCbCr color space, Cb and Cr are
subsampled horizontally and vertically by 1/2.
YCbCr-4:1:1: standard YCbCr color space, Cb and Cr are
subsampled vertically by 1/4
GRAYSCALE: basically a single component image of just
multilevels of grey.
EXTENSION VALUE: Additional color samplings can be registered
with and current listing of registered color samplings at:
Color Sampling Registration Authority.
Optional parameters:
interlace: interlace scanning. If payload is in interlace format,
the acceptable value is "1", otherwise, the value should be
"0". Each complete image forms vertically half the display. tp
value MUST properly specify the field the image represents
odd(tp=1), or even(tp=2). If this option is not present, the
payload MUST be in progressive format and tp MUST be set to 0.
width: A parameter describing the maximum width of the video
stream. This parameter MUST appear when height is present.
Acceptable values: - an integer value between 0 -
4,294,967,295.
height: A parameter describing the maximum height of the video
stream. This parameter MUST appear when width is present.
Acceptable values: - an integer value between 0 -
4,294,967,295.
The receiver MUST ignore any unspecified parameters outside of this The receiver MUST ignore any unspecified parameters outside of this
list and in [1] . list and in [1] .
Optional parameters: Additional parameters for this extension:
mhc : this option is used when sender and/or receiver is utilizing mhc : Main Header Compensation. this option is used when sender
the Main Header compensation technique as specified in this and/or receiver is utilizing the Main Header compensation
document. Acceptable values when using the Main Header technique as specified in this document. Acceptable values
compensation technique is "1", otherwise, it should be "0". when using the Main Header compensation technique is "1",
otherwise, it should be "0".
This is a list of options to be included when the sender or This is a list of options to be included when the sender or
receiver is utilizing the Priority Table(s) as specified in this receiver is utilizing the Priority Table(s) as specified in
document. this document.
priority-table-default : this is for the default priority table
mapping scheme. It follows the JPEG 2000 packet number based
format in the codestream. Acceptable values when using only the
default priority table is "1", otherwise, it should be "0".
priority-table-definition : this option is followed by a comma- pt : Priority Table. this option is followed by a comma-separated
separated list of predefined priority table definitions to be used list of predefined priority table definitions to be used by
by sender or receiver. sender or receiver.
The option appearing front most in the option line is the most The option appearing front most in the option line is the most
important and next ones are of decreasing importance. important and next ones are of decreasing importance.
Acceptable values: Acceptable values:
progression : this table follows the progression ordering of progression : this table follows the progression ordering of
the codestream. the codestream.
layer : this table follows the layer ordering of the layer : this table follows the layer ordering of the
codestream. codestream.
resolution : this table follows the resolution ordering of the resolution : this table follows the resolution ordering of
codestream. the codestream.
component : this table follows the component ordering of the component : this table follows the component ordering of the
codestream. codestream.
default : this table follows the ordering of the codestream.
Encoding considerations: Encoding considerations:
JPEG 2000 video stream may be transmitted with RTP as specified in This media type is framed and binary, see Section 4.8 in [8]
this document.
Security considerations: see security considerations section in [1] Security considerations:
see security considerations section Section 5 of this document.
Interoperability considerations: Interoperability considerations:
JPEG 2000 video stream is a sequence of JPEG 2000 still images. JPEG 2000 video stream is a sequence of JPEG 2000 still images.
An implementation in compliant with [3] can decode and attempt to An implementation in compliant with [3] can decode and attempt to
display the encoded JPEG 2000 video stream. display the encoded JPEG 2000 video stream.
Published specification: ISO/IEC 15444-1 | ITU-T Rec. T.800 Published specification: ISO/IEC 15444-1 | ITU-T Rec. T.800
Applications which use this media type: Applications which use this media type:
video streaming and communication video streaming and communication
Additional information: none Person and email address to contact for further information:
Magic number(s): none
File extension(s): none
Macintosh File Type Code(s): none Eisaburo Itakura, Satoshi Futemma, Andrew Leung
Email: {itakura|satosi-f}@sm.sony.co.jp, andrew@ualberta.net
Person & email address to contact for further information: Intended usage: Restriction
Eisaburo Itakura, Satoshi Futemma Restrictions on Usage:
Email: {itakura|satosi-f}@sm.sony.co.jp
Intended usage: COMMON This media type depends on RTP framing, and hence is only
defined for the transfer via RTP [4]. Transport within other
framing protocols is not defined at the time.
Author/Change Controller: Author/Change Controller:
Author: Author:
Eisaburo Itakura, Satoshi Futemma, Andrew Leung Eisaburo Itakura, Satoshi Futemma, Andrew Leung
Email: {itakura|satosi-f}@sm.sony.co.jp, andrew@ualberta.net Email: {itakura|satosi-f}@sm.sony.co.jp, andrew@ualberta.net
Change controller: Change controller:
IETF Audio/Video Transport Working Group delegated from the IETF Audio/Video Transport Working Group delegated from the
IESG IESG
6.2. SDP Parameters 7.2. SDP Parameters
In addition to SDP Parameters section in [1]: In addition to SDP Parameters section in [1]:
The MIME media type video/jpeg2000 string is mapped to fields in the The media type video/jpeg2000 string is mapped to fields in the
Session Description Protocol (SDP) [6] as follows: Session Description Protocol (SDP) [6] as follows:
o The media name in the "m=" line of SDP MUST be video. 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 o The encoding name in the "a=rtpmap" line of SDP MUST be jpeg2000
(the MIME subtype). (the MIME subtype).
o The clock rate in the "a=rtpmap" line MUST be 90000. o The clock rate in the "a=rtpmap" line MUST be 90000.
o The OPTIONAL parameters "mhc" or "priority-table-default" or o The OPTIONAL parameters "mhc" or "pt" MUST be included in the
"priority-table-definition" MUST be included in the "a=fmtp" line "a=fmtp" line of SDP.
of SDP.
These parameters are expressed as a MIME media type string, in the These parameters are expressed as a media type string, in the form of
form of a semicolon separated list of parameter=value pairs. a semicolon separated list of parameter=value pairs.
Therefore, an example of media representation in SDP is as follows: Therefore, an example of media representation in SDP is as follows:
m=video 49170/2 RTP/AVP 98 m=video 49170/2 RTP/AVP 98
a=rtpmap:98 jpeg2000/90000 a=rtpmap:98 jpeg2000/90000
a=fmtp:98 mhc;priority-table-default;sampling=YCbCr- a=fmtp:98 mhc; pt=default; sampling=YCbCr-
4:2:0;width=128;height=128 4:2:0;width=128;height=128
7. Usage with the SDP Offer/Answer Model 8. Usage with the SDP Offer/Answer Model
In addition to SDP Offer/Answer section in [1]: In addition to SDP Offer/Answer section in RFC XXXY [1]:
When offering JPEG 2000 over RTP using SDP in an Offer/Answer model When offering JPEG 2000 over RTP using SDP in an Offer/Answer model
[7], the following rules and limitations apply: [7], the following rules and limitations apply:
o All parameters MUST have an acceptable value for that parameter. o All parameters MUST have an acceptable value for that parameter.
o All parameters MUST correspond to the parameters of the payload. o All parameters MUST correspond to the parameters of the payload.
o The parameters "mhc" or "priority-table-default" or "priority- o The parameters "mhc" or "pt" MUST appear in the offer and answer.
table-definition" MUST appear in the offer if the parameter "mhc" If the parameter "mhc" or "pt" is not in the answer, senders
or "priority-table-default" or "priority-table-definition" is not should not process the header according to this document.
in the answer, receivers should not process the header according
to this document. Senders SHOULD continue to send data with o For the "pt" option:
payload headers according to mechanisms outlined in this document.
* Senders should send a complete list indicating which option are
available to the receiver. The receiver should answer with
their preference from the offer list.
o In a multicast environment:
* Senders should send out one option for priority-table-
definition for everyone in the group.
* If a single client in the group do not support the extensions
outlined in this document, senders SHOULD NOT use additional
techniques outlined in this document.
This is highly recommended for multicast streams where not all This is highly recommended for multicast streams where not all
receivers are of the same type. receivers are of the same type.
7.1. Examples 8.1. Examples
Offer/Answer example exchanges are provided. Offer/Answer example exchanges are provided.
7.1.1. Example 1 8.1.1. Example 1
Alice offers Main Header Compensation functionality, YCbCr 422 color Alice offers Main Header Compensation functionality, YCbCr 422 color
space, interlace image with 720-pixel width and 480-pixel height and space, interlace image with 720-pixel width and 480-pixel height and
several priority-table options (jp2-packet, progression, layer, several priority-table options (default, progression, layer,
resolution, component) as below: resolution, component) as below:
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.anywhere.com o=alice 2890844526 2890844526 IN IP4 host.example.com
s= s=
c=IN IP4 host.anywhere.com c=IN IP4 host.example.com
t=0 0 t=0 0
m=video 49170 RTP/AVP 98 m=video 49170 RTP/AVP 98
a=rtpmap:98 jpeg2000/90000 a=rtpmap:98 jpeg2000/90000
a=fmtp:98 mhc=1;sampling=YCbCr-4:2:2;interlace=1 a=fmtp:98 mhc=1;sampling=YCbCr-4:2:2;interlace=1
a=fmtp:98 priority-table-definition=jp2-packet,progression,layer, a=fmtp:98 pt=default, progression,layer, resolution, component;
resolution,component; width=720; height=480 width=720; height=480
Bob accepts Main Header Compensation functionality, YCbCr-4:2:2 color Bob accepts Main Header Compensation functionality, YCbCr-4:2:2 color
space,interlace image and jp2-packet based priority mapping (default space, interlace image, default mapping table and replies:
mapping table) and replies:
v=0 v=0
o=bob 2890844730 2890844731 IN IP4 host.example.com o=bob 2890844730 2890844731 IN IP4 host.example.com
s= s=
c=IN IP4 host.example.com c=IN IP4 host.example.com
t=0 0 t=0 0
m=video 49920 RTP/AVP 98 m=video 49920 RTP/AVP 98
a=rtpmap:98 jpeg2000/90000 a=rtpmap:98 jpeg2000/90000
a=fmtp:98 mhc=1;sampling=YCbCr-4:2:2;interlace=1;priority-table- a=fmtp:98 mhc=1; pt=default; width=720;height=480
default=1;width=720;height=480
Note that "priority-table-definition" parameter in Bob's answer is
replaced with "priority-table-default=1", so default priority mapping
table (jp2-packet number based priority mapping) is used.
7.1.2. Example 2 8.1.2. Example 2
Alice offers Main Header Compensation, YCbCr 420 color space, Alice offers Main Header Compensation, YCbCr 420 color space,
progressive image with 320-pixel width and 240-pixel height and layer progressive image with 320-pixel width and 240-pixel height and layer
priority-table options as below: priority-table options as below:
v=0 v=0
o=alice 2890844526 2890844526 IN IP4 host.anywhere.com o=alice 2890844526 2890844526 IN IP4 host.example.com
s= s=
c=IN IP4 host.anywhere.com c=IN IP4 host.example.com
t=0 0 t=0 0
m=video 49170 RTP/AVP 98 m=video 49170 RTP/AVP 98
a=rtpmap:98 jpeg2000/90000 a=rtpmap:98 jpeg2000/90000
a=fmtp:98 mhc=1;sampling=YCbCr-4:2:0 a=fmtp:98 mhc=1;sampling=YCbCr-4:2:0
a=fmtp:98 priority-table-definition=layer; width=320; height=240 a=fmtp:98 pt=layer; width=320; height=240
Bob does not accept Main Header Compensation functionality but Bob does not accept Main Header Compensation functionality but
accepts YCbCr-4:2:0 color space,progressive image and layer based accepts YCbCr-4:2:0 color space,layer based priority mapping and
priority mapping and replies: replies:
v=0 v=0
o=bob 2890844730 2890844731 IN IP4 host.example.com o=bob 2890844730 2890844731 IN IP4 host.example.com
s= s=
c=IN IP4 host.example.com c=IN IP4 host.example.com
t=0 0 t=0 0
m=video 49920 RTP/AVP 98 m=video 49920 RTP/AVP 98
a=rtpmap:98 jpeg2000/90000 a=rtpmap:98 jpeg2000/90000
a=fmtp:98 mhc=0;sampling=YCbCr-4:2:0 a=fmtp:98 mhc=0;
a=fmtp:98 priority-table-definition=layer; width=320; height=240 a=fmtp:98 pt=layer; width=320; height=240
8. References 9. References
8.1. Normative References 9.1. Normative References
[1] Futemma, "RTP Payload Format for JPEG 2000 Video Streams", [1] Futemma, "RTP Payload Format for JPEG 2000 Video Streams",
RFC XXXX, March 2006. RFC XXXY, March 2006.
[2] Bradner, "Key words for use in RFCs to Indicate Requirement [2] Bradner, "Key words for use in RFCs to Indicate Requirement
Levels", RFC 2119, March 1997. Levels", RFC 2119, March 1997.
[3] ISO/IEC JTC1/SC29, ISO/IEC 15444-1 | ITU-T Rec. T.800, [3] ISO/IEC JTC1/SC29, ISO/IEC 15444-1 | ITU-T Rec. T.800,
"Information Technology - JPEG 2000 Image Coding System - Part "Information Technology - JPEG 2000 Image Coding System - Part
1: Core Coding System", December 2000. 1: Core Coding System", December 2000.
[4] Schulzrinne, Casner, Frederick, and Jacobson, "RTP: A Transport [4] Schulzrinne, Casner, Frederick, and Jacobson, "RTP: A Transport
Protocol for Real Time Applications", RFC 3550, STD 64, Protocol for Real Time Applications", RFC 3550, STD 64,
skipping to change at page 18, line 32 skipping to change at page 20, line 32
[5] Baugher, McGrew, Naslund, Carrara, and Norrman, "The Secure [5] Baugher, McGrew, Naslund, Carrara, and Norrman, "The Secure
Real-time Transport Protocol (SRTP", RFC 3711, March 2004. Real-time Transport Protocol (SRTP", RFC 3711, March 2004.
[6] Handley and Jacobson, "SDP: Session Description Protocol", [6] Handley and Jacobson, "SDP: Session Description Protocol",
RFC 2327, April 1998. RFC 2327, April 1998.
[7] Rosenberg and Schulzrinne, "An Offer/Answer Model with Session [7] Rosenberg and Schulzrinne, "An Offer/Answer Model with Session
Description Protocol (SDP)", RFC 3264, June 2002. Description Protocol (SDP)", RFC 3264, June 2002.
8.2. Informative References [8] Freed and Klensin, "Media Type Specifications and Registration
Procedures", RFC 4288, December 2005.
[8] Deering, "Host Extensions for IP Multicasting", RFC 1112, [9] Casner and Hoschka, "MIME Type Registration of RTP Payload
Formats", RFC 3555, July 2003.
9.2. Informative References
[10] Deering, "Host Extensions for IP Multicasting", RFC 1112,
August 1989. August 1989.
Appendix A. Sample Headers in Detail Appendix A. Sample Headers in Detail
0 1 2 3 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 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 | |tp |MHF|mh_id|T| priority | tile number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|reserved | fragment offset | |reserved | fragment offset |
skipping to change at page 21, line 4 skipping to change at page 23, line 4
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 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|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| |0 0 0 0 0 0 0 0|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 .... | |FF4FFF51002F000 .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 7 Figure 7
Second Packet: This packet will have a first tile part (tile 0) Second Packet: This packet will have a first tile part (tile 0) 1400
1400bytes bytes
0 1 2 3 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 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 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| |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 .... | |FF90 000A 0000 0000 0578 0001 FF93 .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 8 Figure 8
Third Packet: This packet will have a second tile part (tile 1) Third Packet: This packet will have a second tile part (tile 1) 1423
1423bytes bytes
0 1 2 3 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 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 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| |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 .... | |FF90 000A 0001 0000 058F 0001 FF93 .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 9 Figure 9
Fourth Packet: This packet will have a third tile part (tile 2) Fourth Packet: This packet will have a third tile part (tile 2) 1355
1355bytes bytes
0 1 2 3 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 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 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| |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 .... | |FF90 000A 0002 0000 054B 0001 FF93 .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 10 Figure 10
Fifth Packet: This packet will have a fourth tile part (tile 3) Fifth Packet: This packet will have a fourth tile part (tile 3) 1290
1290bytes bytes
0 1 2 3 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 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 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| |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 .... | |FF90 000A 0003 0000 050A 0001 FF93 .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 22, line 34 skipping to change at page 24, line 34
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|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 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| |0 0 0 0 0 0 0 0|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 .... | |FF4FFF51002F000 .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 12 Figure 12
Second Packet: This packet has the second part of the header. Second Packet: This packet has the second part of the header. 1400
1400bytes bytes
0 1 2 3 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 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|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| |0 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 .... | |FF6400FF .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 End of changes. 82 change blocks. 
212 lines changed or deleted 256 lines changed or added

This html diff was produced by rfcdiff 1.31. The latest version is available from http://www.levkowetz.com/ietf/tools/rfcdiff/