draft-ietf-avt-rtp-jpeg2000-beam-04.txt   draft-ietf-avt-rtp-jpeg2000-beam-05.txt 
Audio Video Transport A. Leung Audio Video Transport A. Leung
Internet-Draft S. Futemma Internet-Draft S. Futemma
Expires: November 17, 2006 E. Itakura Intended status: Standards Track E. Itakura
Sony Expires: October 5, 2007 Sony
May 16, 2006 April 03, 2007
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-04 draft-ietf-avt-rtp-jpeg2000-beam-05
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
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 November 17, 2006. This Internet-Draft will expire on October 5, 2007.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2006). Copyright (C) The IETF Trust (2007).
Abstract Abstract
This memo describes extended uses for payload header in RFC document: This memo describes extended uses for payload header in RFC document:
"RTP Payload Format for JPEG 2000 Video Streams." For better support "RTP Payload Format for JPEG 2000 Video Streams." For better support
of JPEG 2000 features such as scalability and includes a main header of JPEG 2000 features such as scalability and includes a main header
recovery method. recovery method.
This memo MUST be accompanied with a complete implementation of "RTP This memo MUST be accompanied with a complete implementation of "RTP
Payload Format for JPEG 2000 Video Streams." That document is a Payload Format for JPEG 2000 Video Streams." That document is a
complete description of the payload header and signaling, this complete description of the payload header and signaling, this
document only describes additional processing for the payload header. document only describes additional processing for the payload header.
There is an additional media type and SDP marker signaling for There is an additional media type and SDP marker signaling for
implementations of this document. implementations of this document.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. History . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. History . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Description of the Mechanisms . . . . . . . . . . . . . . 3 1.2. Description of the Mechanisms . . . . . . . . . . . . . . 4
1.2.1. Main Header Compensation . . . . . . . . . . . . . . . 3 1.2.1. Main Header Compensation . . . . . . . . . . . . . . . 4
1.2.2. Priority Table . . . . . . . . . . . . . . . . . . . . 3 1.2.2. Priority Table . . . . . . . . . . . . . . . . . . . . 4
1.3. Conventions Used in This Document . . . . . . . . . . . . 4 1.3. Motivations for Priority Field coding . . . . . . . . . . 5
2. Payload Format Enhanced Processing . . . . . . . . . . . . . . 5 1.3.1. Scenario: Just enough resolution . . . . . . . . . . . 5
2.1. Enhanced Processing Markers . . . . . . . . . . . . . . . 5 1.3.2. Scenario: Multiple clients, single source . . . . . . 5
3. Priority Mapping Table . . . . . . . . . . . . . . . . . . . . 7 1.4. Conventions Used in This Document . . . . . . . . . . . . 6
3.1. Pre-Defined Priority Mapping . . . . . . . . . . . . . . . 7 2. Payload Format Enhanced Processing . . . . . . . . . . . . . . 7
3.1.1. Packet Number Based Ordering . . . . . . . . . . . . . 7 2.1. Enhanced Processing Markers . . . . . . . . . . . . . . . 7
3.1.2. Progression Based Ordering . . . . . . . . . . . . . . 7 3. Priority Mapping Table . . . . . . . . . . . . . . . . . . . . 9
3.1.3. Layer Based Ordering . . . . . . . . . . . . . . . . . 8 3.1. Pre-Defined Priority Mapping . . . . . . . . . . . . . . . 9
3.1.4. Resolution Based Ordering . . . . . . . . . . . . . . 8 3.1.1. Packet Number Based Ordering . . . . . . . . . . . . . 9
3.1.5. Component Based Ordering . . . . . . . . . . . . . . . 9 3.1.2. Progression Based Ordering . . . . . . . . . . . . . . 9
4. JPEG 2000 Main Header Compensation Scheme . . . . . . . . . . 10 3.1.3. Layer Based Ordering . . . . . . . . . . . . . . . . . 10
4.1. Sender Processing . . . . . . . . . . . . . . . . . . . . 10 3.1.4. Resolution Based Ordering . . . . . . . . . . . . . . 10
4.2. Receiver Processing . . . . . . . . . . . . . . . . . . . 10 3.1.5. Component Based Ordering . . . . . . . . . . . . . . . 11
5. Security Consideration . . . . . . . . . . . . . . . . . . . . 12 4. JPEG 2000 Main Header Compensation Scheme . . . . . . . . . . 12
6. Congestion Control . . . . . . . . . . . . . . . . . . . . . . 13 4.1. Sender Processing . . . . . . . . . . . . . . . . . . . . 12
7. IANA Consideration . . . . . . . . . . . . . . . . . . . . . . 14 4.2. Receiver Processing . . . . . . . . . . . . . . . . . . . 12
7.1. Media Type Registration . . . . . . . . . . . . . . . . . 14 5. Security Consideration . . . . . . . . . . . . . . . . . . . . 14
7.2. SDP Parameters . . . . . . . . . . . . . . . . . . . . . . 17 6. Congestion Control . . . . . . . . . . . . . . . . . . . . . . 15
8. Usage with the SDP Offer/Answer Model . . . . . . . . . . . . 18 7. IANA Consideration . . . . . . . . . . . . . . . . . . . . . . 16
8.1. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.1. Media Type Registration . . . . . . . . . . . . . . . . . 16
8.1.1. Example 1 . . . . . . . . . . . . . . . . . . . . . . 18 7.2. SDP Parameters . . . . . . . . . . . . . . . . . . . . . . 19
8.1.2. Example 2 . . . . . . . . . . . . . . . . . . . . . . 19 8. Usage with the SDP Offer/Answer Model . . . . . . . . . . . . 20
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 20 8.1. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 20
9.1. Normative References . . . . . . . . . . . . . . . . . . . 20 8.1.1. Example 1 . . . . . . . . . . . . . . . . . . . . . . 20
9.2. Informative References . . . . . . . . . . . . . . . . . . 20 8.1.2. Example 2 . . . . . . . . . . . . . . . . . . . . . . 21
Appendix A. Sample Headers in Detail . . . . . . . . . . . . . . 21 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 29 9.1. Normative References . . . . . . . . . . . . . . . . . . . 23
Intellectual Property and Copyright Statements . . . . . . . . . . 30 9.2. Informative References . . . . . . . . . . . . . . . . . . 23
Appendix A. Sample Headers in Detail . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 32
Intellectual Property and Copyright Statements . . . . . . . . . . 33
1. Introduction 1. Introduction
This document is an extension of: "RTP Payload Format for JPEG 2000 This document is an extension of: "RTP Payload Format for JPEG 2000
Video Streams" [1]. There are additional mechanisms that can be used Video Streams"[1]. These 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 RFC XXXY [1], there was an issue of IPR claims In the development of RFC XXXY [1], there was an issue of IPR claims
on certain mechanisms with main header compensation, priority table on certain mechanisms with main header compensation, priority table
usage, etc. in RFC XXXY [1]. As these are not "essential" to the usage, etc. in RFC XXXY [1]. As these are not "essential" to the
core RTP format of RFC XXXY [1] and only describes a mechanism, it core RTP format of RFC XXXY [1] and only describes a mechanism, it
was decided that splitting these mechanisms from the core RTP format was decided that splitting these mechanisms from the core JPEG 2000
in to a separate document. This is the document describing the IPR RTP format in to a separate document. This is the document
related mechanisms for main header recover and priority table usage. describing the IPR 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 very with this procedure. In the case of JPEG 2000 video, it is very
common that encode parameters will not vary greatly between common that encode parameters will not vary greatly between
successive frames. Even if the RTP packet including the main header successive frames. Even if the RTP packet including the main header
of a frame has been dropped, decoding may be performed by using the of a frame has been dropped, decoding may be performed by using the
main header of a previous frame. main header of a prior 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 15 skipping to change at page 5, line 16
layer, component, resolution level, and/or precinct. The order in layer, component, resolution level, and/or precinct. The order in
which these JPEG 2000 packets are found in the codestream is called: which these JPEG 2000 packets are found in the codestream is called:
progression order. The ordering of the JPEG 2000 packets can progression order. The ordering of the JPEG 2000 packets can
progress along four axes: layer, component, resolution and precinct progress along four axes: layer, component, resolution and precinct
(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. Motivations for Priority Field coding
JPEG 2000 coding scheme allows one to reorder the codestream in many
ways. Even when the coding scheme is determined and arranged by the
encoder, a decoder can still re-arrange the code stream on the fly to
suit decode parameters such as: re-arranging from resolution
progressive to quality progressive.
Using the priority field coding, the decoder gains insight into the
codestream without access to the full codestream and exposes features
of JPEG 2000 to a higher level.
A few of the scenarios are presented below the authors have thought
of to utilize this field. The priority field allows more information
about the image to be sent without more signaling between sender and
receivers to leverage JPEG 2000 capabilities.
1.3.1. Scenario: Just enough resolution
The scenario is when rapid scene access is more important than higher
quality. By using the priority field, the receiver can decode for
its own quality level. If the sender cannot determine the receiver's
resolution, the receiver can select which parts of the codestream to
decode/load by using the priority field.
1.3.2. Scenario: Multiple clients, single source
In a multicast environment, there are clients with better visual
capability than others (i.e. TV conference vs. Mobile). The
respective clients can use the priority field to determine which
packets are vital for their own visual presentation. The sender will
have to do work on the priority field to optimally serve all the
clients while only managing a single visual stream.
1.4. 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 RFC-Editor Note: The RFC Editor is requested to replace all
occurences of RFC XXXY with the RFC number occurences of RFC XXXY with the RFC number
draft-ietf-avt-rtp-jpeg2000 receives. At that time, please remove draft-ietf-avt-rtp-jpeg2000 receives. At that time, please remove
this note. this note.
skipping to change at page 5, line 41 skipping to change at page 7, line 41
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 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 same mh_id value is used as long as the coding parameters The same mh_id value is used as long as the coding parameters
described in the main header remains unchanged between frames. described in the main header remains unchanged between frames.
The mh_id value MUST be incremented by 1 every time a new main 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 header is transmitted. Once the mh_id value becomes greater than
rolls over to 1. 7, it SHOULD roll 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 assignment and 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.
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.) Applying
applying priority values should correlate directly to JPEG 2000 priority values should correlate directly to JPEG 2000
codestream in importance. codestream in importance.
The lower the priority value is the higher the importance. The lower the priority value is the higher the importance. A
Simply, the priority value 0 is the highest importance and 255 is priority value of 0 is the highest importance and 255 is the
the lowest importance. We define the priority value 0 as a lowest importance. We define the priority value 0 as a special
special priority value for the headers (the main header or tile- priority value for the headers (the main header or tile-part
part header). When any headers (the main header or tile-part header). If any headers (the main header or tile-part header) are
header) are packed into the RTP payload, the sender MUST set the packed into the RTP payload, the sender MUST set the priority
priority value to 0. 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 8, line 46 skipping to change at page 10, line 46
Layer-based priority mapping table simplifies the default mapping to Layer-based priority mapping table simplifies the default mapping to
just matching JPEG 2000 packets together from the same layer. just matching JPEG 2000 packets together from the same layer.
For example: For example:
All the packets in layer 0 : packet priority value : 1 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 1 : packet priority value : 2
All the packets in layer 2 : packet priority value : 3 All the packets in layer 2 : packet priority value : 3
... ...
All the packets in layer n : packet priority value : n+1 All the packets in layer n : packet priority value : n+1
All the packets in layer 255 : packet priority value : 255
3.1.4. Resolution Based Ordering 3.1.4. Resolution Based Ordering
Resolution-based priority mapping table is similar to the layer based Resolution-based priority mapping table is similar to the layer based
order but for JPEG 2000 packets of the same resolution order but for JPEG 2000 packets of the same resolution
For example: For example:
All the packets in resolution 0 : packet priority value : 1 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 1 : packet priority value : 2
All the packets in resolution 2 : packet priority value : 3 All the packets in resolution 2 : packet priority value : 3
... ...
All the packets in resolution n : packet priority value : n+1 All the packets in resolution n : packet priority value : n+1
All the packets in resolution 255 : packet priority value : 255
3.1.5. Component Based Ordering 3.1.5. Component Based Ordering
Component-based priority mapping table is mapping together JPEG 2000 Component-based priority mapping table is mapping together JPEG 2000
components of the same component components of the same component
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
All the packets in component 255 : packet priority value : 255
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 indicate whether the The mh_id field of the payload header is used to indicate whether the
encoding parameters of the main header are the same as the encoding 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 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 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 are not associated with each other as 1:1 but they are used to
indicate whether the encode parameters of the previous frame are the indicate whether the encode parameters of the previous frame are the
same or not in the event of a lost header. same or not in the event of a lost header.
skipping to change at page 10, line 40 skipping to change at page 12, line 40
encoder parameters of the current frame are the same as the previous encoder parameters of the current frame are the same as the previous
frame. The encoding parameters are the fixed information marker frame. The encoding parameters are the fixed information marker
segment (SIZ marker) and functional marker segments (COD, COC, RGN, segment (SIZ marker) and functional marker segments (COD, COC, RGN,
QCD, QCC, and POC) specified in JPEG 2000 Part 1 Annex A [3]. QCD, QCC, and POC) specified in JPEG 2000 Part 1 Annex A [3].
An initial value of mh_id MUST be selected randomly between 1 and 7 An initial value of mh_id MUST be selected randomly between 1 and 7
for security reasons. 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 back 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
skipping to change at page 14, line 12 skipping to change at page 16, line 12
Please refer to section 7 of RFC XXXY [1] for Congestion Control Please refer to section 7 of RFC XXXY [1] for Congestion Control
regarding this RTP format. regarding this RTP format.
7. IANA Consideration 7. IANA Consideration
7.1. Media Type Registration 7.1. Media Type Registration
This document extends the associated media type from RFC XXXY[1]: This document extends the associated media type from RFC XXXY[1]:
Here is the complete original for reference. Here is the complete original for reference.
This registration uses the template defined in [8] and follows [9]. This registration uses the template defined in [7] and follows [8].
Type name: video Type name: video
Subtype name: jpeg2000 Subtype name: jpeg2000
Required parameters: Required parameters:
sampling: A list of values specifying the color space of the sampling: A list of values specifying the color space of the
payload data. payload data.
skipping to change at page 14, line 49 skipping to change at page 16, line 49
subsampled horizontally and vertically by 1/2. subsampled horizontally and vertically by 1/2.
YCbCr-4:1:1: standard YCbCr color space, Cb and Cr are YCbCr-4:1:1: standard YCbCr color space, Cb and Cr are
subsampled vertically by 1/4 subsampled vertically by 1/4
GRAYSCALE: basically a single component image of just GRAYSCALE: basically a single component image of just
multilevels of grey. multilevels of grey.
EXTENSION VALUE: Additional color samplings can be registered EXTENSION VALUE: Additional color samplings can be registered
with and current listing of registered color samplings at: with and current listing of registered color samplings at:
Color Sampling Registration Authority. Color Sampling Registration Authority. Please refer to RTP
Format for Uncompressed Video. [9]
Optional parameters: Optional parameters:
interlace: interlace scanning. If payload is in interlace format, interlace: interlace scanning. If payload is in interlace
the acceptable value is "1", otherwise, the value should be format, the acceptable value is "1", otherwise, the value
"0". Each complete image forms vertically half the display. tp should be "0". Each complete image forms vertically half the
value MUST properly specify the field the image represents display. tp value MUST properly specify the field the image
odd(tp=1), or even(tp=2). If this option is not present, the represents odd(tp=1), or even(tp=2). If this option is not
payload MUST be in progressive format and tp MUST be set to 0. 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 width: A parameter describing the maximum width of the video
stream. This parameter MUST appear when height is present. stream. This parameter MUST appear when height is present.
Acceptable values: - an integer value between 0 - Acceptable values: - an integer value between 0 -
4,294,967,295. 4,294,967,295.
height: A parameter describing the maximum height of the video height: A parameter describing the maximum height of the video
stream. This parameter MUST appear when width is present. stream. This parameter MUST appear when width is present.
Acceptable values: - an integer value between 0 - Acceptable values: - an integer value between 0 -
4,294,967,295. 4,294,967,295.
skipping to change at page 15, line 46 skipping to change at page 17, line 47
pt : Priority Table. this option is followed by a comma-separated pt : Priority Table. this option is followed by a comma-separated
list of predefined priority table definitions to be used by list of predefined priority table definitions to be used 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
the codestream. of 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 resolution : this table follows the resolution ordering of
the codestream. the codestream.
component : this table follows the component ordering of the component : this table follows the component ordering of
codestream. the codestream.
default : this table follows the ordering of the codestream. default : this table follows the ordering of the
codestream.
Encoding considerations: Encoding considerations:
This media type is framed and binary, see Section 4.8 in [8] This media type is framed and binary, see Section 4.8 in [7]
Security considerations: Security considerations:
see security considerations section Section 5 of this document. 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
Person and email address to contact for further information: Person and email address to contact for further information:
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
Intended usage: Restriction Intended usage: Restriction
Restrictions on Usage: Restrictions on Usage:
This media type depends on RTP framing, and hence is only This media type depends on RTP framing, and hence is only
defined for the transfer via RTP [4]. Transport within other defined for the transfer via RTP [4]. Transport within other
framing protocols is not defined at the time. 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
7.2. SDP Parameters 7.2. SDP Parameters
In addition to SDP Parameters section in [1]: In addition to SDP Parameters section in [1]:
The 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) [5] 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 "pt" MUST be included in the o The OPTIONAL parameters "mhc" or "pt" MUST be included in the
"a=fmtp" line of SDP. "a=fmtp" line of SDP.
skipping to change at page 18, line 10 skipping to change at page 20, line 10
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; pt=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
8. Usage with the SDP Offer/Answer Model 8. Usage with the SDP Offer/Answer Model
In addition to SDP Offer/Answer section in RFC XXXY [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: [6], 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 "pt" MUST appear in the offer and answer. o The parameters "mhc" or "pt" MUST appear in the offer and answer.
If the parameter "mhc" or "pt" is not in the answer, senders If the parameter "mhc" or "pt" is not in the answer, senders
should not process the header according to this document. should not process the header according to this document.
o For the "pt" option: o For the "pt" option:
skipping to change at page 18, line 50 skipping to change at page 20, line 50
Offer/Answer example exchanges are provided. Offer/Answer example exchanges are provided.
8.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 (default, 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.example.com o=alice 2890844526 2890844526 IN IP4 host.exampl
s= s=
c=IN IP4 host.example.com c=IN IP4 host.exampl
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 pt=default, progression,layer, resolution, component; a=fmtp:98 pt=default, progression,layer, 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, default mapping table and replies: space, interlace image, default 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
s= s=
c=IN IP4 host.example.com c=IN IP4 host.example
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
a=fmtp:98 mhc=1; pt=default; width=720;height=480 a=fmtp:98 mhc=1; pt=default; width=720;height=480
8.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.example.com o=alice 2890844526 2890844526 IN IP4 host.example
s= s=
c=IN IP4 host.example.com c=IN IP4 host.example
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 pt=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,layer based priority mapping and accepts YCbCr-4:2:0 color space,layer based 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
s= s=
c=IN IP4 host.example.com c=IN IP4 host.example
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:0
a=fmtp:98 mhc=0; a=fmtp:98 mhc=0;
a=fmtp:98 pt=layer; width=320; height=240 a=fmtp:98 pt=layer; width=320; height=240
9. References 9. References
9.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 XXXY, March 2006. RFC XXXY, April 2007.
[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,
July 2003. July 2003.
[5] Baugher, McGrew, Naslund, Carrara, and Norrman, "The Secure [5] Handley and Jacobson, "SDP: Session Description Protocol",
Real-time Transport Protocol (SRTP", RFC 3711, March 2004.
[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 [6] Rosenberg and Schulzrinne, "An Offer/Answer Model with Session
Description Protocol (SDP)", RFC 3264, June 2002. Description Protocol (SDP)", RFC 3264, June 2002.
[8] Freed and Klensin, "Media Type Specifications and Registration [7] Freed and Klensin, "Media Type Specifications and Registration
Procedures", RFC 4288, December 2005. Procedures", RFC 4288, December 2005.
[9] Casner and Hoschka, "MIME Type Registration of RTP Payload [8] Casner and Hoschka, "MIME Type Registration of RTP Payload
Formats", RFC 3555, July 2003. Formats", RFC 3555, July 2003.
9.2. Informative References 9.2. Informative References
[10] Deering, "Host Extensions for IP Multicasting", RFC 1112, [9] Perkins and Gharai, "RTP Payload Format for Uncompressed Video",
August 1989. RFC 2246, September 2005.
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 29, line 9 skipping to change at page 32, line 9
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|8114 41D5 18AB 4A1B ... | |8114 41D5 18AB 4A1B ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 23 Figure 23
Authors' Addresses Authors' Addresses
Andrew Leung Andrew Leung
Sony Corporation Sony Corporation
6-7-35 Kitashinagawa 1-7-1 Konan
Shinagawa-ku Minato-ku
Tokyo 141-0001 Tokyo 108-0075
Japan Japan
Phone: +81 3 5448 2125 Phone: +81 3 6748-2111
Email: andrew@ualberta.net Email: andrew@ualberta.net
URI: http://www.sony.com/ URI: http://www.sony.net/
Satoshi Futemma Satoshi Futemma
Sony Corporation Sony Corporation
6-7-35 Kitashinagawa 1-7-1 Konan
Shinagawa-ku Minato-ku
Tokyo 141-0001 Tokyo 108-0075
Japan Japan
Phone: +81 3 5448 2125 Phone: +81 3 6748-2111
Email: satosi-f@sm.sony.co.jp Email: satosi-f@sm.sony.co.jp
URI: http://www.sony.com/ URI: http://www.sony.net/
Eisaburo Itakura Eisaburo Itakura
Sony Corporation Sony Corporation
6-7-35 Kitashinagawa 1-7-1 Konan
Shinagawa-ku Minato-ku
Tokyo 141-0001 Tokyo 108-0075
Japan Japan
Phone: +81 3 5448 2125 Phone: +81 3 6748-2111
Email: itakura@sm.sony.co.jp Email: itakura@sm.sony.co.jp
URI: http://www.sony.com/ URI: http://www.sony.net/
Intellectual Property Statement Full Copyright Statement
Copyright (C) The IETF Trust (2007).
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, THE IETF TRUST 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.
Intellectual Property
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights 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 might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
skipping to change at page 30, line 29 skipping to change at page 33, line 45
such proprietary rights by implementers or users of this such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr. http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at this standard. Please address the information to the IETF at
ietf-ipr@ietf.org. ietf-ipr@ietf.org.
Disclaimer of Validity
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.
Copyright Statement
Copyright (C) The Internet Society (2006). 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.
Acknowledgment Acknowledgment
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is provided by the IETF
Internet Society. Administrative Support Activity (IASA).
 End of changes. 57 change blocks. 
128 lines changed or deleted 171 lines changed or added

This html diff was produced by rfcdiff 1.33. The latest version is available from http://tools.ietf.org/tools/rfcdiff/