<?xml version='1.0' encoding='US-ASCII'?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">

<?rfc toc="yes"?>
<?rfc rfcedstyle="yes"?>
<?rfc subcompact="no"?>
<?rfc symrefs="yes"?>
<rfc number="5371" category="std" > 
	
	<front>

	<title abbrev="JPEG 2000 RTP">  <!-- proper abbreviation? -->
	RTP Payload Format for JPEG 2000 Video Streams
	</title>

	<!--- Author: Satoshi Futemma ---> 
	<author 
	initials="S" 
	surname="Futemma" 
	fullname= "Satoshi Futemma">

	<organization abbrev="Sony">
	Sony Corporation
	</organization>

	<address>
	<postal>
	<street>1-7-1 Konan</street>
	<street>Minato-ku</street>
	<city>Tokyo</city>
	<code>108-0075</code>
	</postal>
	<phone>+81 3 6748-2111</phone>
	<email>satosi-f@sm.sony.co.jp</email>
	<uri>http://www.sony.net/</uri>
	
	</address>
	</author>

	<!--- Author: Andrew Leung ---> 	
	<author 
	initials="A" 
	surname="Leung" 
	fullname= "Andrew Leung">

	<organization abbrev="Sony">
	Sony Corporation
	</organization>

	<address>
	<postal>
	<street>1-7-1 Konan</street>
	<street>Minato-ku</street>
	<city>Tokyo</city>
	<code>108-0075</code>
	<country>Japan</country>
	</postal>
	<phone>+81 3 6748-2111</phone>

	<email>andrew@ualberta.net</email>
	<uri>http://www.sony.net/</uri>
	
	</address>
	</author>

	<!--- Author: Eisaburou Itakura ---> 	
	<author 
	initials="E" 
	surname="Itakura" 
	fullname= "Eisaburo Itakura" > 

	<organization abbrev="Sony">
	Sony Corporation
	</organization>

	<address>
	<postal>
	<street>1-7-1 Konan</street>
	<street>Minato-ku</street>
	<city>Tokyo</city>
	<code>108-0075</code>
	<country>Japan</country>
	</postal>
	<phone>+81 3 6748-2111</phone>

	<email>itakura@sm.sony.co.jp</email>
	<uri>http://www.sony.net/</uri>
	
	</address>
	</author>

	<date 
	month="October" 
	year="2008" 
	/>

	<area>Transport</area>
	<workgroup>Audio Video Transport </workgroup>
	<keyword>JPEG 2000 video</keyword>
	<keyword>RTP</keyword>

<!--[rfced] Please insert any keywords (beyond those that appear in the title) for use on http://www.rfc-editor.org/rfcsearch.html. -->	

	<abstract>
	<t>
This memo describes an RTP payload format for the ISO/IEC
International Standard 15444-1 | ITU-T Rec. T.800, better
known as JPEG 2000.  JPEG 2000 features are considered in the design
of this payload format.  JPEG 2000 is a truly scalable compression
technology allowing applications to encode once and decode many
different ways. The JPEG 2000 video stream is formed by extending from a
single image to a series of JPEG 2000 images.
	</t>
	</abstract>
	
	</front>

	<middle>

	<section anchor="intro" title="Introduction">
	<t>
This document specifies a payload format for JPEG 2000 video streams
over the Real-time Transport Protocol (RTP).  JPEG 2000 is an ISO/IEC
International Standard and ITU-T Recommendation (ISO/IEC International
Standard 15444-1 | ITU-T Rec. T.800) developed for next-generation,
still-image compression. JPEG stands for the Joint Photographers
Experts Group, an international group made of academia and industry to
develop image compression standards. JPEG 2000 basic compression
technology is described in detail in ISO JPEG 2000 Part 1: Core Coding
System <xref target='JPEG2000Pt_1'/>, with motion covered in ISO JPEG
2000 Part 3: Motion JPEG 2000 <xref target='JPEG2000Pt_3'/>.
	</t>

	<t>
Part 3 of the JPEG 2000 standard defines Motion JPEG 2000 <xref
target='JPEG2000Pt_3'/>.  However, Motion JPEG 2000 focuses on the
file format, and it does not specify the transmission format for the
network.  This document specifies a transmission format for the
network for a series of JPEG 2000 images.
	</t>
	
	<t>
JPEG 2000 supports many powerful features <xref target='JPEG2000Pt_1'/>
<xref target='JPEG2000Pt_3'/> that are not supported in the current
JPEG standard, such as:
	</t>
	
	<list style="symbols">
	<t>
Higher compression efficiency than JPEG with less visual distortion
especially at extreme compression ratios.
	</t>

	<t>
A single codestream that offers both lossy and lossless compression.
	</t>

	<t>
Better error resiliency than JPEG.
	</t>

	<t>
Progressive transmission by pixel accuracy (Signal-to-Noise Ratio (SNR) scalability) and
resolution (resolution scalability).
	</t>

	<t>
Random codestream access and processing.
	</t>
	
	</list>

	<figure 
	anchor="jp2encoder" 
	title='Block diagram of the JPEG 2000 encoder'>
		
	<preamble>
The JPEG 2000 algorithm is briefly explained.  <xref
target='jp2encoder'/> shows a block diagram of the JPEG 2000 encoding
method.
		</preamble>

		
		<artwork> <![CDATA[
                                                 +-----+
                                                 | ROI |
                                                 +-----+
                                                    |
                                                    V
               +----------+   +----------+   +------------+
               |DC, comp. |   | Wavelet  |   |            |
Raw Image  ==> |transform-|==>|transform-|==>|Quantization|==+
               |  ation   |   |  ation   |   |            |  |
               +----------+   +----------+   +------------+  |
                                                             |
              +-----------+   +----------+   +------------+  |
              |           |   |          |   |            |  |
 JPEG 2000 <==| Data      |<==| Rate     |<==| EBCOT      |<=+
 codestream   | Ordering  |   | Control  |   |            |
              +-----------+   +----------+   +------------+
		]]>
	
		</artwork>
	
	</figure>
	
	<t>
		The image is first transformed into wavelet coefficients. 
		The image is sampled into various levels, vertically 
		and horizontally, from high frequencies (which contain 
		sharp details) to low frequencies (which contain
		smooth areas).  Quantization is performed 
		on the coefficients within each sub-band.
	</t>
	<t>
		After quantization, code blocks are formed from within 
		the precincts within the tiles. (Precincts are a finer 
		separation than tiles, and code blocks are the smallest 
		separation of the image data.) EBCOT coding (Embedded 
		Block Coding Optimized for Truncation) is performed 
		within each code block and arithmetically encoded by 
		bit plane. Rate control is performed to achieve the 
		highest quality image for a specified rate. 
	</t>
	<t>
		As a result, for a given tile, data units called JPEG 
		2000 packets are generated, which contain data from a 
		specific layer, specific component, specific 
		resolution, or specific precinct, depending on the
		data ordering.
	</t>
	<t>
		Finally, the JPEG 2000 packets are interleaved according 
		to the progression along four axes: layer, resolution, 
		component, and precinct, and add a JPEG 2000 header to 
		become a fully compliant JPEG 2000 codestream. 
	</t>
	<t>
		To decompress a JPEG 2000 codestream, one would follow 
		the reverse order of the encoding order, without the 
		quantization, and rate control. 

<!--[rfced] Should the above sentence be made:

To decompress a JPEG 2000 codestream, one would follow 
the reverse order of the encoding order, without the 
quantization nor rate control. 

or is the meaning correct as is where it is the reverse order of the
encoding order and the rate control? --> 

	</t>
	<t>
		It is outside the scope of this document to further 
		describe in 
		detail this procedure. Please refer to various JPEG 2000 
		texts for further details <xref target='JPEG2000Pt_1'/>. 
	</t>

	<figure anchor="codestream_order" 
		title='Basic construction of the JPEG 2000 codestream'>
		
		<preamble>
		<xref target='codestream_order' /> shows a JPEG 
		2000 codestream in detail. A JPEG 2000 
		codestream is structured from the main header, 
		beginning with the SOC (Start Of Codestream) 
		marker, one or more tiles, and the EOC 
		(End Of Codestream) marker to indicate the end of 
		the codestream. 
		Each tile consists of a tile-part header that 
		starts with the SOT 
		(Start of Tile) marker and ends with a SOD (Start 
		of Data) marker, and bitstream (a series of JPEG 
		2000 packets).
		</preamble>
	
		<artwork><![CDATA[
        +--  +------------+
  Main  |    |    SOC     |  Required as the first marker
  header|    +------------+
        |    |    main    |  Main header marker segments
        +--  +------------+  
        |    |    SOT     |  Required at the beginning of each 
  Tile- |    +------------+    tile-part header
  part  |    |   T0,TP0   |  Tile 0, tile-part 0 header marker
  header|    +------------+    segments
        |    |    SOD     |  Required at the end of each tile-part
        +--  +------------+    header
             | bitstream  |  Tile-part bitstream
        +--  +------------+
        |    |    SOT     |
  Tile- |    +------------+
  part  |    |   T1,TP0   |
  header|    +------------+
        |    |    SOD     |
        +--  +------------+
             | bit stream |
             +------------+
                   .
                   .
                   .
             +------------+
             |    EOC     |  Required as the last marker in the 
             +------------+  codestream
	]]>
		</artwork>
	</figure>
	
	<section 
		anchor="conventions" title="Conventions Used in This Document">
		
		<t>
		The key words "MUST", "MUST NOT", "REQUIRED", 
		"SHALL", "SHALL 
		NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", 
		"MAY", and "OPTIONAL" in this document are to 
		be interpreted as described in RFC 2119
		<xref target="RFC2119"/>.
		</t>

	</section> <!-- conventions -->
	</section>  <!-- introduction section -->
	
	<section nchor="video_features" title="JPEG 2000 Video Features">
	
	<t>
		JPEG 2000 video streams are formed as a continuous 
		series of JPEG 2000 still images. Previously described 
		features of JPEG 2000 may be used effectively in 
		streaming applications for a JPEG 2000 video. 
		A JPEG 2000 video stream has the following qualities:
	</t>
	
	<list style="symbols">
		<t>
		At low bit rates, the SNR is improved 
		dramatically over JPEG and Motion JPEG.  
		</t>

		<t>
		This is a full intra-frame format -- each frame 
		is independently compressed -- and therefore has 
		a low encoding and decoding delay.
		</t>

		<t>
		JPEG 2000 has flexible and accurate rate control.
		</t>

		<t>
		This is suitable for traffic control and 
		congestion control during network transmission.
		</t>

		<t>
		JPEG 2000 can provide its own codestream error 
		resilience markers to aid in codestream recovery 
		outside of this specification.
		</t>
	</list>
	</section> <!-- jpeg 2000 video features -->

	
	<section anchor="payload_design" title="Payload Design">
	
	<t>
		To design a payload format that maximizes JPEG 2000 
		features, the following are taken into consideration:
	</t>

	<list style="symbols">
		<t> 
		Provisions for packet loss:
		</t>
	</list> <!-- packet loss -->
	
	<list>
		<t>
		On the Internet, 5% packet loss is common and 
		this percentage may vary up to 20% or more. To 
		split JPEG 2000 video streams into RTP packets, 
		efficient packetization of the codestream is 
		required to minimize problems in decoding due to 
		missing packets. If the main header is lost, the 
		image cannot be decoded.
		</t>
	</list>
	
	<list style="symbols">
		<t>
		JPEG 2000 Scalability
		</t>
	</list>

	<list>
		<t>
		JPEG 2000 has powerful scalability features and 
		markers in the payload header to indicate the 
		specific meaning of the payload, such as: 
		</t>
		
		<list style="symbols">
		<t>
			Since this is primarily for video 
			applications, special markers
			are used to indicate format (i.e., 
			interlace odd/even fields).
		</t>

		<t>
			Special markers for the headers, fragments 
			of headers, etc.
		</t>

		<t>
			Tile numbering for association of packets.
		</t>

		<t>
			Priority importance of the packet using 
			methods described in RFC 5372
			<xref target="JP2RTPEX" />.
		</t>

		<t>
			Main header recovery using 
			methods described in RFC 5372
			<xref target="JP2RTPEX" />.
		</t>
		</list>
		
		<t>
		Additional usage of the payload header is 
		described in RFC 5372 <xref target="JP2RTPEX" />.
		</t>
		

		</list>
	<!-- enhance this *** -->

	</section> <!-- payload design -->

	<section anchor="payload_format" title="Payload Format">
	
	<section anchor="header_usage" title="RTP Fixed Header Usage">
		<t>
		For each RTP packet, the RTP fixed header is followed by the JPEG
		2000 RTP payload header, which is followed by the payload, a piece
		of a JPEG 2000 codestream, which is usually a JPEG 2000 packet.
		</t>

		<t>
		The RTP header fields that have a meaning specific to a JPEG 2000
		video stream are described as follows:
		</t>
		
		<list style="hanging">
		<t hangText="Marker bit (M):"> The marker bit of the RTP fixed
			header MUST be set to 1 for the last RTP packet of a video
			frame; otherwise, it MUST be 0. When transmission is performed
			by multiple RTP sessions, this bit is 1 in the last packet of
			the frame in each session.
		</t>

		<t hangText="Payload type (PT):"> The payload type is dynamically
			assigned by means outside the scope of this document.  A payload
			type in the dynamic range shall be chosen by means of an out-of-band signaling protocol (i.e., Real Time Streaming Protocol (RTSP), SIP, etc.).
		</t>

		<t hangText="Timestamp:"> Timestamp indicates the presentation
			time of the frame contained in the RTP packet.  The same
			timestamp value MUST appear in each RTP packet carrying a
			fragment of a given frame. When a JPEG 2000 image is in
			interlace format, the odd field and the corresponding even field
			MUST have the same timestamp value.

			Following the RTP specification <xref target='RFC3550'/>, 
			the initial value of the timestamp should be randomly chosen.

			<!--
			The initial value 
			of the timestamp is to be random to counter 
			known plaintext attacks on encryption.
			-->
		</t>

		<t>
			As for the clock rate, senders and receivers MUST support the
			90kHz RTP timestamp rate, and MAY support other rates.
			<!--Senders SHOULD use 90kHz timestamp where possible.-->

			RTP timestamp rates below 1000 Hz SHOULD NOT be used because
			they will result in insufficient resolution for RTP Control Protocol (RTCP)
			measurements based on the RTP timestamp, such as the
			interarrival jitter.

			The clock rate MUST be negotiated at the start of the session.
			When using the Session Description Protocol (SDP), it MUST be expressed using the "rtpmap"
			attributes.  If a non-90kHz clock rate is to be used, it is
			RECOMMENDED to present not only a preferable clock rate but also
			90kHz clock rate with a different RTP payload type.
		</t>
		</list>
	
	</section> <!-- RTP Fixed Header Usage -->
	
	<section anchor="payload_header" title="RTP Payload Header Format">
		
		<figure 
				anchor="JPEG2000_header"
				title='RTP payload header format for JPEG 2000' >
		<preamble>
			The RTP payload header format for JPEG 2000 
			video stream is as follows:
		</preamble>
		<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|tp |MHF|mh_id|T|     priority  |           tile number         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|reserved       |             fragment offset                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
	
		</artwork>
		</figure>
		<t>
		tp (type): 2 bits
		</t>

		<list>
		<t>
			This field indicates how a JPEG 2000 image is scanned
			(progressive or interlace).
		</t>

		<list>
			<t>
			0: The payload is progressively scanned.
			</t>

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

			<t>
			2: The payload is part of an even field of an interlaced video
			signal.
			</t>
		</list>

		</list>

		<t>
		MHF (Main Header Flag): 2 bits
		</t>

		<list>
		<t>
			MHF indicates whether a main header or 
			packet of a main header is in the RTP 
			packet.
		</t>
		
		<texttable anchor='MHF values' title='MHF Usage Values'>
			<preamble>
			If there is no header, MHF has a value of 0.  If there is just a
			part of a fragmented header, MHF has a value of 1.
			
			If there is the last part of a fragmented header, MHF has value
			of 2.  If the whole header is in the packet, MHF has a value of 3.
			</preamble>

			<ttcol align='center'>
			MHF Value
			</ttcol>
			
			<ttcol align='left'>
			Description
			</ttcol>
			
			<c>
			0
			</c> 
			<c>
			no main header in the payload
			</c>
			<c>
			1
			</c>
			<c>
			piece of fragmented header
			</c>
			<c>
			2
			</c>
			<c>
			last part of a fragmented header
			</c>
			<c>
			3
			</c>
			<c>
			a whole main header 
			</c>
		</texttable>
		</list>
	          	

		
		<t>
		mh_id (Main Header Identification): 3 bits
		</t>
		<list>
		<t>
			Main header identification value. This is used for JPEG 2000
			main header recovery.
		</t>

		<t>
			For implementations following only this specification, the
			sender SHOULD set this value to 0 and the receiver SHOULD ignore
			this field on processing.
		</t>

		<!--
		<t>
			Additional usage of this header is described in further detail
			in supplmental RFC draft: RTP Payload format for JPEG 2000:
			Extensions for Scalability and Main Header Recovery. Please
			consult RFC 5372 <xref target='JP2RTPEX' />
		</t>
		-->
		</list>

		<t>
		T (Tile field invalidation flag): 1 bit
		</t>
		<list>
		<t>
			The T bit indicates whether the tile number field is valid or
			invalid. A sender MUST set the T bit to 1 when invalid and 0
			when valid.
		</t>

		<t>
			There are two cases where the tile number field is invalid:
		</t>
		
		<list style="symbols">
			<t>
			When an RTP packet holds only the main header.  A sender cannot
			set any number in the tile number field, as no JPEG 2000
			tile-part bitstream is included in the RTP packet.
			</t>

			<t>
			Multiple tile-parts are packed together in a single payload.  If
			there are multiple tiles packed into a single payload, there is
			no meaning to assign a number to the tile number field.
			</t>
		</list>

		</list>

		<t>
		priority: 8 bits 
		</t>
		<list>
		<t>
			The priority field indicates the importance of the JPEG 2000
			packet included in the payload. Typically, a higher priority is
			set in the packets containing JPEG 2000 packets that contain the
			lower sub-bands.
		</t>

		<t>
			For implementations following only this 
			specification, the sender SHOULD set this 
			value to 255 and the receiver SHOULD ignore 
			this field on processing.
		</t>
		</list>

		<t>
		tile number: 16 bits
		</t>
		<list>
		<t>
			This field shows the tile number of the payload. This field is
			only valid when the T bit is 0. If the T bit is set to 1, the
			receiver MUST ignore this field.
		</t>

		<!-- *** is tile number covered in BEAM draft?! -->
		<!--
		<t>
			Usage of this header is described in further detail in
			supplmental RFC draft: RTP Payload format for JPEG 2000:
			Extensions for Scalability and Main Header Recovery.  If you
			would like to use the feature, please refer to <xref
			target='JP2RTPEX' />.  Please consult RFC 5372 <xref
			target='JP2RTPEX' />
		</t>
		-->
		</list>

		<t>
		R (Reserved): 8 bits
		</t>
		<list>
		<t>
			This bit is reserved for future use.  Senders MUST set this to
			0.  Receivers MUST ignore this field.
		</t>
		</list>

		<t>
		fragment offset: 24 bits
		</t>
		<list>
		<t>
			This value MUST be set to the byte offset of the current payload
			in relation to the very beginning of each JPEG 2000 codestream
			(JPEG 2000 frame).
		</t>

		<t>
			Byte offsets are calculated from the start of each JPEG 2000
			codestream up to the current position where the current payload
			would fit into the complete JPEG 2000 codestream.
		</t>

		<t>
			To perform scalable video delivery by using multiple RTP
			sessions, the offset value from the first byte of the same frame
			is set for fragment offset. It is then possible to deliver
			layered video using multiple RTP sessions; the fragment offset
			may not start from 0 in some RTP sessions even if the packet is
			the first one received.
		</t>
		</list>
	
	</section> <!-- RTP Payload Header Format -->

	
	</section> <!-- payload format -->
	
	<section anchor="RTP_packetization" title="RTP Packetization">
	<t>
		The sender must packetize the JPEG 2000 appropriately according to
		initial media type parameters and/or details from SDP offer/answer
		parameters.
	</t>

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

	<figure anchor="multiple_units"
		title='An example with multiple packetization units '>

		<preamble>
		First, a sender divides the JPEG 2000 codestream into
		packetization units by parsing the codestream or by getting
		information from the encoder, and packs the packetization units
		into RTP packets. A sender can put an arbitrary number of
		packetization units into an RTP packet, but it MUST preserve the
		codestream order. An example of this kind of RTP packet format is
		shown in <xref target="multiple_units"/>:
		</preamble>
		
		<artwork> <![CDATA[
+------+-------+---------------+---------------+
|RTP   |payload| packetization | packetization |
|header|header | unit          | unit          |
+------+-------+---------------+---------------+
	]]>
		</artwork>
	</figure>
	
	<figure anchor="fragmented_units"
		title='An example with a fragmented packetization unit'>

		<preamble>
		If a packetization unit with headers (IP header, RTP header, and
		payload header) is larger than the MTU size, it MAY be fragmented.
		To pack a fragmented packetization unit, the fragmented unit MUST
		NOT be packed with the succeeding packetization unit within the
		same RTP packet. An example of this kind of RTP packet format is
		shown in <xref target="fragmented_units"/>:
		</preamble>
		
		<artwork> <![CDATA[
+------+-------+-------------------------------------------------+
|RTP   |payload| packetization unit fragment                     |
|header|header |                                                 |
+------+-------+-------------------------------------------------+
+------+-------+-------------------------------------------------+
|RTP   |payload| packetization unit fragment                     |
|header|header |                                                 |
+------+-------+-------------------------------------------------+
           .
           .
           .
+------+-------+------------------------------------+
|RTP   |payload| end of packetization unit fragment |
|header|header |                                    |
+------+-------+------------------------------------+
	]]>
		</artwork>
	</figure>

	</section> <!-- RTP_packetization -->


	<section anchor="mediatype" title="Media Type Registration">

		<t>
		This registration uses the template defined in <xref
		target='RFC4288' /> and follows <xref target='RFC4855' />.
		</t>

		<t>
		Type name: video
		</t>

		<t>
		Subtype name: jpeg2000
		</t>

		<t> 
		Required parameters: 
		</t>	
		
		<list>
		<list style="hanging">
			<t hangText="rate:"> The RTP timestamp clock rate.  The default
			rate is 90000, but other rates MAY be specified.  Rates below
			1000 Hz SHOULD NOT be used.
			</t>
		</list>

		<list style="hanging">
			<t hangText="sampling:"> A list of values specifying the color
			space of the payload data.
			</t>

		<t>
			Acceptable values: 
		</t>
		<list>
			<list style="hanging">
			<t hangText="RGB:">
				standard Red, Green, Blue color space.
			</t>

			<t hangText="BGR:">
				standard Blue, Green, Red color space.
			</t>

			<t hangText="RGBA:">
				standard Red, Green, Blue, Alpha color space.
			</t>

			<t hangText="BGRA:">
				standard Blue, Green, Red, Alpha color space.
			</t>

			<t hangText="YCbCr-4:4:4:">
				standard YCbCr color space; no subsampling.
			</t>

			<t hangText="YCbCr-4:2:2:">
				standard YCbCr color space; Cb and Cr are subsampled
				horizontally by 1/2.
			</t>
		
			<t hangText="YCbCr-4:2:0:">
				standard YCbCr color space; Cb and Cr are subsampled
				horizontally and vertically by 1/2.
			</t>
		
			<t hangText="YCbCr-4:1:1:">
				standard YCbCr color space; Cb and Cr are subsampled
				vertically by 1/4.
			</t>
		
			<t hangText="GRAYSCALE:">
				basically, a single component image of just multilevels of
				grey.
			</t>

			<t hangText="EXTENSION VALUE:">
				Additional color samplings can be
registered with the current
				listing of registered color samplings at: Color Sampling
				Registration Authority. Please refer to RTP Format for
				Uncompressed Video <xref target='RFC4175' />. <!-- *** check
				on this -->
			</t>
			</list> <!-- list style "hanging" -->
		</list>
		</list>
		</list>
		
		<t> 
		Optional parameters: 
		</t>
		<list>
		<list style="hanging">
			<t hangText="interlace:"> Interlace scanning. If the payload is in
			interlace format, the acceptable value is "1"; otherwise, the
			value should be "0". Each complete image forms, vertically, half
			the display.  The 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 the tp MUST
			be set to 0.
			</t>

			<t hangText="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.
			</t>

			<t hangText="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.
			</t>
		</list>
		</list>
		
		<t> 
		The receiver MUST ignore any unspecified parameters.  
		</t>	

		<t>
		Encoding considerations: 
		</t>
		<list>
		<t> This media type is framed and binary, see Section 4.8 of <xref
			target="RFC4288" />.
		</t>
		</list>

		<t>
		Security considerations: See <xref target='security'/> of this
		document.
		</t> 

		<t> 
		Interoperability considerations:
		</t>
		
		<list>
		<t>
			The JPEG 2000 video stream is a sequence of JPEG 2000 still
			images. An implementation compliant with <xref
			target='JPEG2000Pt_1'/> can decode and attempt to display the
			encoded JPEG 2000 video stream.
		</t>
		</list>

		<t> 
		Published specification: ISO/IEC 15444-1 | ITU-T Rec.  T.800
		</t>
	
		<t> 
		Applications that use this media type:
		</t>
		<list>
		<t>
			video streaming and communication
		</t>
		</list>

		<t>
		Person and email address to contact for further information:
		</t>
		<list>
		<t>
			Eisaburo Itakura, 
			Satoshi Futemma, 
			Andrew Leung
			<vspace/>
			Email: itakura@sm.sony.co.jp, satosi-f@sm.sony.co.jp, 
			andrew@ualberta.net

		</t>
		</list>

		<t>
		Intended usage: Restriction
<!--[rfced] Not Restricted? -->
		</t>
		<list>
		<t>
			Restrictions on Usage:
		</t>
		<list>
			<t>
			This media type depends on RTP framing, and hence is only
			defined for the transfer via RTP <xref target="RFC3550" />.
			Transport within other framing protocols is not defined at the
			time.
			</t>
		</list>
		</list>
		
		<t>
		Author/Change Controller:
		</t>
		
		<list>
		<t>
			Author:
		</t>
		<list>
			<t>
			Eisaburo Itakura, Satoshi Futemma 
			<vspace/> 
			Email: itakura@sm.sony.co.jp, satosi-f@sm.sony.co.jp
<!-- [rfced] Should Andrew Leung be listed here as well (as above)?  -->
			</t>
		</list>
	
		<t>
			Change controller:
		</t>
	
		<list>
			<t> 
			IETF Audio/Video Transport Working Group delegated from the
			IESG.
			</t>
		</list>
	
		</list>

	</section> <!-- MIME Registration -->

	<section anchor="SDP" title="SDP Parameters">

	<section anchor="SDP_mapping" title="SDP Mapping">
	
	<t>
		The media type video/jpeg2000 string is mapped to fields in the
		Session Description Protocol (SDP) <xref target='RFC4566'/> as
		follows:
	</t>
	
	<list style="symbols">
		<t>
		The media name in the "m=" line of SDP MUST be video.
		</t>

		<t>
		The encoding name in the "a=rtpmap" line of SDP MUST be jpeg2000
		(the subtype).
		</t>

		<t>
		The clock rate in the "a=rtpmap" line is set according to the
		"rate" parameter.  Senders that wish to use a non-90kHz rate
		SHOULD also offer the same stream using a 90kHz timestamp rate
		with a different RTP payload type, allowing graceful fallback to
		90kHz for compatibility.
		</t>

		<t>
		The REQUIRED parameter, "sampling", MUST be included in the
		"a=fmtp" line of SDP.
		</t>

		<t>
		The OPTIONAL parameters, if presented, MUST be included in the
		"a=fmtp" line of SDP.
		</t>
	</list>

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

	<t>
		Therefore, an example of media representation in SDP using typical
		parameters is as follows:
	</t>

	<list>
		<t>
		m=video 49170/2 RTP/AVP 98<vspace/>
		a=rtpmap:98 jpeg2000/90000<vspace/>
		a=fmtp:98 sampling=YCbCr-4:2:0;width=128;height=128<vspace/>
		</t>
	</list>

	<t>
		An example for using non-90kHz timestamp is as follows: 
	</t>
	<list>
		<t>
		m=video 49170/2 RTP/AVP 98 99<vspace/>
		a=rtpmap:98 jpeg2000/27000000<vspace/>
		a=rtpmap:99 jpeg2000/90000<vspace/>
		a=fmtp:98 sampling=YCbCr-4:2:0;width=128;height=128<vspace/>
		a=fmtp:99 sampling=YCbCr-4:2:0;width=128;height=128<vspace/>
		</t>
	</list>

	</section> <!-- SDP Mapping -->

	<section anchor="SDP_usage" title="Usage with the SDP Offer/Answer Model">
	<t>
		When offering JPEG 2000 over RTP using SDP in an 
		Offer/Answer model <xref target='RFC3264'/>, the following 
		rules and limitations apply:
	</t>

	<!-- 
		this section under evaluation *** please check contents 
		before sending out next
		draft 
	-->
	
	<list style="symbols">
		
		<t>
		All parameters MUST have an acceptable value for 
		the parameter.
		</t>
	
		<t>
		All parameters MUST correspond to the parameters of 
		the payload.
		</t>

		<t>
		The parameter "sampling" with an acceptable answer 
		MUST appear in the offer and in the answer if 
		accepted by the receiver. 
		The receiver SHOULD do its best to handle the
		received codestream in the color space offered. If 
		the receiver cannot handle the offered color space 
		for whatever reason, it should reply 
		with its preferred color space in the answer and 
		gracefully end the session. Senders do not need 
		to conform to the color space in the answer, but they
		should take note that the session ended due to 
		color sampling issues.
		</t>
		
		<t>
		For optional parameter "interlace", if this option 
		is used, it MUST appear in the offer and, if 
		accepted, it SHOULD appear in the answer. 
		Receivers should do their best to handle interlace 
		or progressive codestreams but, if for some reason, 
		receivers cannot accommodate, receivers should 
		reply with preferred settings in the answer,
		then gracefully end the session.
		Senders do not need to adjust settings upon this
		answer, but they should take note that the session ended
		due to interlace or progressive issues.
		</t>
	
		<t>
		For optional parameters "width" and "height", the 
		following applies:
		</t>
	
		<list style="symbols">
		<t>
			if "width" appears in the offer or answer, 
			"height" MUST be present.
		</t>
		<t>
			if "height" appears in the offer or answer, 
			"width" MUST be present.
		</t>
		</list>
		<t>
		Width and height should appear in the offer as the maximum
		dimensions the sender can offer.  In the answer, it SHOULD
		represent the maximum the receiver can accommodate.  If there is a
		difference between the offer and answer, the sender should
		re-offer a new width and height and appropriately scale down the
		codestream for the receiver.
		</t>

		<t>
		In a multicast environment, <xref target="RFC1112" /> receivers
		should do their best to conform to parameters in the offer from
		the sender. Senders should use recommended settings in multicast
		environments and take note of answers. For width and height, the
		sender should accommodate to the lowest values it receives from
		all answers.
		</t>

		<t>
		Any unknown options in the offer should be ignored and deleted
		from the answer.
		</t>
	
	</list>

	<section anchor="SDP_example" title="Examples">
		
		<t>
		Example offer/answer exchanges are provided.
		</t>
	
		<t>
		Alice offers YCbCr 4:2:2 color space, interlace image with
		720-pixel width and 480-pixel height as below:
		</t>

<!---	
		<list style="none">
-->
		<list>
	
		<t>
			v=0 <vspace/>
			o=alice 2890844526 2890844526 IN IP4 
			host.example<vspace/>
			s= <vspace/>
			c=IN IP4 host.example<vspace/>
			t=0 0<vspace/>
			m=video 49170 RTP/AVP 98<vspace/>
			a=rtpmap:98 jpeg2000/90000<vspace/>
			a=fmtp:98 sampling=YCbCr-4:2:2;
			interlace=1; width=720;height=480<vspace/>
		</t>
		</list>

		<t>
		Bob accepts YCbCr-4:2:2 color space, interlace 
		image and replies:
		</t>

<!--	
		<list style="none">
-->
		<list>
	
		<t>
			v=0<vspace/>
			o=bob 2890844730 2890844731 IN IP4 
			host.example<vspace/>
			s= <vspace/>
			c=IN IP4 host.example<vspace/>
			t=0 0<vspace/>
			m=video 49920 RTP/AVP 98<vspace/>
			a=rtpmap:98 jpeg2000/90000<vspace/>
			a=fmtp:98 sampling=YCbCr-4:2:2;
			interlace=1; width=720;height=480
		</t>
		</list>
	</section> <!-- sdp examples -->

	<section anchor="SDP_example_non90khz" title="Examples: Non-90kHz Timestamp">
		<t>
		Example offer/answer exchanges,
		where an offerer wishes to use non-90kHz timestamp,
		are provided.

		</t>
	
		<t>
		Alice offers an RTP payload type with 27MHz clock rate 
		as well as with 90kHz clock rate, 
		and each payload type includes: 
		YCbCr 4:2:2 color space, interlace image, 
		720-pixel width and 480-pixel height.
 
		She puts 27MHz clock rate attributes prior to 90kHz 
		because she wants to use 27 MHz rather than 90kHz.
		</t>

<!---	
		<list style="none">
-->
		<list>
	
		<t>
			v=0 <vspace/>
			o=alice 2890844526 2890844526 IN IP4 
			host.example<vspace/>
			s= <vspace/>
			c=IN IP4 host.example<vspace/>
			t=0 0<vspace/>
			m=video 49170 RTP/AVP 98 99<vspace/>
			a=rtpmap:98 jpeg2000/27000000<vspace/>
			a=rtpmap:99 jpeg2000/90000<vspace/>
			a=fmtp:98 sampling=YCbCr-4:2:2;
			interlace=1; width=720;height=480<vspace/>
			a=fmtp:99 sampling=YCbCr-4:2:2;
			interlace=1; width=720;height=480<vspace/>
		</t>
		</list>

		<t>
		If Bob can accept 27MHz clock rate, he replies as below: 
		</t>

<!--	
		<list style="none">
-->
		<list>
	
		<t>
			v=0<vspace/>
			o=bob 2890844730 2890844731 IN IP4 
			host.example<vspace/>
			s= <vspace/>
			c=IN IP4 host.example<vspace/>
			t=0 0<vspace/>
			m=video 49920 RTP/AVP 98<vspace/>
			a=rtpmap:98 jpeg2000/27000000<vspace/>
			a=fmtp:98 sampling=YCbCr-4:2:2;
			interlace=1; width=720;height=480
		</t>
		</list>


		<t>
		If Bob doesn't accept 27MHz clock rate, he replies as below:
		</t>

<!--	
		<list style="none">
-->
		<list>
	
		<t>
			v=0<vspace/>
			o=bob 2890844730 2890844731 IN IP4 
			host.example<vspace/>
			s= <vspace/>
			c=IN IP4 host.example<vspace/>
			t=0 0<vspace/>
			m=video 49920 RTP/AVP 99<vspace/>
			a=rtpmap:99 jpeg2000/90000<vspace/>
			a=fmtp:99 sampling=YCbCr-4:2:2;
			interlace=1; width=720;height=480
		</t>
		</list>
	</section> <!-- sdp examples_non90khz -->
	
	</section> <!-- SDP_usage -->

  </section> <!-- SDP Parameters -->

	<section anchor="IANA" title="IANA Considerations">
	<t>
		A new media subtype (video/jpeg2000) has been
		registered by IANA.  For details, see <xref target="mediatype" /> of 
		this document.
	</t>
	</section> <!-- IANA -->


	<section 
	anchor="security" 
	title="Security Considerations">
	<t>
		RTP packets using the payload format defined in this 
		specification are subject to the security considerations 
		discussed in the RTP specification <xref target='RFC3550'/>, 
		and in any applicable RTP profile.  The main security 
		considerations for the RTP packet carrying the RTP payload
		format defined within this memo are confidentiality, 
		integrity, and source authenticity.  Confidentiality is 
		achieved by encryption of the RTP payload.  Integrity of the 
		RTP packets is through the use of suitable cryptographic 
		integrity 
		protection mechanism.  A cryptographic system may also allow 
		the authentication of the source of the payload.  A suitable 
		security mechanism for this RTP payload format should provide 
		confidentiality, integrity protection, and at least a source
		authentication method capable of determining whether or not an RTP 
		packet is from a member of the RTP session.
	</t>
	<t>
		Note that the appropriate mechanism to provide security to 
		RTP and payloads following this memo may vary.  It is 
		dependent on the application, the transport, and the 
		signaling protocol employed.  Therefore, a single mechanism 
		is not sufficient, although if suitable, the usage of SRTP 
		<xref target='RFC3711'/> is recommended.  Other mechanism 
		that may be used are IPsec <xref target='RFC4301'/> and 
		Transport Layer Security (TLS) <xref target='RFC5246'/> (RTP over TCP), but other 
		alternatives may also exist. 
	</t>
	</section> <!-- security -->
	
	<section anchor="congestion" title="Congestion Control">
	<t> 
		If Quality of Service (QoS) enhanced service is used, RTP receivers SHOULD monitor
		packet loss to ensure that the service that was requested is
		actually being delivered. If it is not, then they SHOULD 
		assume that they are receiving best-effort service and behave 
		accordingly.  
	</t>
	<t> 
		If best-effort service is being used, users of this payload 
		format MUST monitor packet loss to ensure that the packet 
		loss rate is within acceptable parameters. Packet loss is 
		considered acceptable if a TCP flow across the same network 
		path, experiencing the same network conditions, would achieve 
		an average throughput, measured on a reasonable timescale, 
		that is not less than the RTP flow is achieving. This 
		condition can be satisfied by implementing congestion 
		control mechanisms to adapt the transmission rate (or 
		the number of layers subscribed for a layered multicast 
		session), or by arranging for a receiver to leave the 
		session if the loss rate is unacceptably high.  
	</t>
	</section> <!-- congestion control-->

	</middle>

	<back>

	<references title='Normative References'>

	<reference anchor='JPEG2000Pt_1'>
	<front>
	<title abbrev="JPEG 2000 Part 1">
	Information Technology - JPEG 2000 Image Coding System - Part 1: Core Coding System
	</title>

	<author initial="" surname="" fullname="">
	<organization>
	ISO/IEC JTC1/SC29, ISO/IEC 15444-1 | ITU-T Rec. T.800 
	</organization>
	</author>

	<date month="December" year="2000" />

	</front>
	</reference>

<reference anchor="RFC2119">

<front>

<title abbrev="RFC Key Words">
Key words for use in RFCs to Indicate Requirement Levels
</title>

<author initials="S." surname="Bradner" fullname="Scott Bradner">
<organization>Harvard University</organization>

<address>

<postal>
<street>1350 Mass. Ave.</street>
<street>Cambridge</street>
<street>MA 02138</street>
</postal>
<phone>- +1 617 495 3864</phone>
<email>sob@harvard.edu</email>
</address>
</author>
<date year="1997" month="March"/>
<area>General</area>
<keyword>keyword</keyword>

<abstract>

<t>

   In many standards track documents several words are used to signify
   the requirements in the specification.  These words are often
   capitalized.  This document defines these words as they should be
   interpreted in IETF documents.  Authors who follow these guidelines
   should incorporate this phrase near the beginning of their document:


<list>

<t>

      The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
      NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and
      "OPTIONAL" in this document are to be interpreted as described in
      RFC 2119.
</t>
</list>
</t>

<t>

   Note that the force of these words is modified by the requirement
   level of the document in which they are used.
</t>
</abstract>
</front>
<seriesInfo name="BCP" value="14"/>
<seriesInfo name="RFC" value="2119"/>
<format type="TXT" octets="4723" target="ftp://ftp.isi.edu/in-notes/rfc2119.txt"/>
<format type="HTML" octets="17491" target="http://xml.resource.org/public/rfc/html/rfc2119.html"/>
<format type="XML" octets="5777" target="http://xml.resource.org/public/rfc/xml/rfc2119.xml"/>
</reference>

<reference anchor="RFC3550">

<front>

<title>
RTP: A Transport Protocol for Real-Time Applications
</title>

<author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
<organization/>
</author>

<author initials="S." surname="Casner" fullname="S. Casner">
<organization/>
</author>

<author initials="R." surname="Frederick" fullname="R. Frederick">
<organization/>
</author>

<author initials="V." surname="Jacobson" fullname="V. Jacobson">
<organization/>
</author>
<date year="2003" month="July"/>

<abstract>

<t>
This memorandum describes RTP, the real-time transport protocol.  RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services.  RTP does not address resource reservation and does not guarantee quality-of- service for real-time services.  The data transport is augmented by a control protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide minimal control and identification functionality.  RTP and RTCP are designed to be independent of the underlying transport and network layers.  The protocol supports the use of RTP-level translators and mixers.  Most of the text in this memorandum is identical to RFC 1889 which it obsoletes.  There are no changes in the packet formats on the wire, only changes to the rules and algorithms governing how the protocol is used.  The biggest change is an enhancement to the scalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess of the intended rate when many participants join a session simultaneously. [STANDARDS TRACK]
</t>
</abstract>
</front>
<seriesInfo name="STD" value="64"/>
<seriesInfo name="RFC" value="3550"/>
<format type="TXT" octets="259985" target="ftp://ftp.isi.edu/in-notes/rfc3550.txt"/>
<format type="PS" octets="630740" target="ftp://ftp.isi.edu/in-notes/rfc3550.ps"/>
<format type="PDF" octets="504117" target="ftp://ftp.isi.edu/in-notes/rfc3550.pdf"/>
</reference>

<reference anchor="RFC3711">

<front>
<title>The Secure Real-time Transport Protocol (SRTP)</title>

<author initials="M." surname="Baugher" fullname="M. Baugher">
<organization/>
</author>

<author initials="D." surname="McGrew" fullname="D. McGrew">
<organization/>
</author>

<author initials="M." surname="Naslund" fullname="M. Naslund">
<organization/>
</author>

<author initials="E." surname="Carrara" fullname="E. Carrara">
<organization/>
</author>

<author initials="K." surname="Norrman" fullname="K. Norrman">
<organization/>
</author>
<date year="2004" month="March"/>

<abstract>

<t>
This document describes the Secure Real-time Transport Protocol (SRTP), a profile of the Real-time Transport Protocol (RTP), which can provide confidentiality, message authentication, and replay protection to the RTP traffic and to the control traffic for RTP, the Real-time Transport Control Protocol (RTCP). [STANDARDS TRACK]
</t>
</abstract>
</front>
<seriesInfo name="RFC" value="3711"/>
<format type="TXT" octets="134270" target="ftp://ftp.isi.edu/in-notes/rfc3711.txt"/>
</reference>

<reference anchor="RFC4288">

<front>

<title>
Media Type Specifications and Registration Procedures
</title>

<author initials="N." surname="Freed" fullname="N. Freed">
<organization/>
</author>

<author initials="J." surname="Klensin" fullname="J. Klensin">
<organization/>
</author>
<date year="2005" month="December"/>

<abstract>

<t>
This document defines procedures for the specification and registration of media types for use in MIME and other Internet protocols.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.
</t>
</abstract>
</front>
<seriesInfo name="BCP" value="13"/>
<seriesInfo name="RFC" value="4288"/>
<format type="TXT" octets="52667" target="ftp://ftp.isi.edu/in-notes/rfc4288.txt"/>
</reference>

<reference anchor="RFC4855">

<front>
<title>Media Type Registration of RTP Payload Formats</title>

<author initials="S." surname="Casner" fullname="S. Casner">
<organization/>
</author>
<date year="2007" month="February"/>

<abstract>

<t>
This document specifies the procedure to register RTP payload formats as audio, video, or other media subtype names.  This is useful in a text-based format description or control protocol to identify the type of an RTP transmission. [STANDARDS TRACK]
</t>
</abstract>
</front>
<seriesInfo name="RFC" value="4855"/>
<format type="TXT" octets="24404" target="ftp://ftp.isi.edu/in-notes/rfc4855.txt"/>
</reference>

<reference anchor="RFC4566">

<front>
<title>SDP: Session Description Protocol</title>

<author initials="M." surname="Handley" fullname="M. Handley">
<organization/>
</author>

<author initials="V." surname="Jacobson" fullname="V. Jacobson">
<organization/>
</author>

<author initials="C." surname="Perkins" fullname="C. Perkins">
<organization/>
</author>
<date year="2006" month="July"/>

<abstract>

<t>
This memo defines the Session Description Protocol (SDP).  SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. [STANDARDS TRACK]
</t>
</abstract>
</front>
<seriesInfo name="RFC" value="4566"/>
<format type="TXT" octets="108820" target="ftp://ftp.isi.edu/in-notes/rfc4566.txt"/>
</reference>

<reference anchor="RFC3264">

<front>

<title>
An Offer/Answer Model with Session Description Protocol (SDP)
</title>

<author initials="J." surname="Rosenberg" fullname="J. Rosenberg">
<organization/>
</author>

<author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
<organization/>
</author>
<date year="2002" month="June"/>

<abstract>

<t>
This document defines a mechanism by which two entities can make use of the Session Description Protocol (SDP) to arrive at a common view of a multimedia session between them.  In the model, one participant offers the other a description of the desired session from their perspective, and the other participant answers with the desired session from their perspective.  This offer/answer model is most useful in unicast sessions where information from both participants is needed for the complete view of the session.  The offer/answer model is used by protocols like the Session Initiation Protocol (SIP). [STANDARDS TRACK]
</t>
</abstract>
</front>
<seriesInfo name="RFC" value="3264"/>
<format type="TXT" octets="60854" target="ftp://ftp.isi.edu/in-notes/rfc3264.txt"/>
</reference>

	</references> <!-- normative references -->


	<references title='Informative References'>

	<reference anchor='JPEG2000Pt_3'>
	<front>
	<title abbrev="JPEG 2000 Part 3">
		Information Technology - JPEG 2000 Image Coding System - 
		Part 3: Motion JPEG 2000
	</title>

	<author initial="" surname="" fullname="">
	<organization>
	ISO/IEC JTC1/SC29, ISO/IEC 15444-1 | ITU-T Rec. T.800 
	</organization>
	</author>

	<date month="July" year="2002" />

	</front>
	</reference>

<reference anchor="JP2RTPEX">

<front>

<title>
Payload Format for JPEG 2000 Video: Extensions for Scalability and Main  Header Recovery
</title>

<author initials="A" surname="Leung" fullname="Andrew Leung">
<organization/>
</author>
<date month="June" day="30" year="2008"/>

<abstract>

<t>
This memo describes extended uses for payload header in "RTP Payload
Format for JPEG 2000 Video Streams" as specified in RFC 5371.  For
better support of JPEG 2000 features such as scalability and main
header recovery.  This memo must be accompanied with a complete
implementation of "RTP Payload Format for JPEG 2000 Video Streams."
That document is a complete description of the payload header and
signaling, this document only describes additional processing for the
payload header. There is an additional media type and SDP marker
signaling for implementations of this document.
</t>
</abstract>
</front>
<seriesInfo name="RFC" value="5372"/>
<format type="TXT" target="http://www.ietf.org/internet-drafts/draft-ietf-avt-rtp-jpeg2000-beam-11.txt"/>
</reference>

<reference anchor="RFC4301">

<front>
<title>Security Architecture for the Internet Protocol</title>

<author initials="S." surname="Kent" fullname="S. Kent">
<organization/>
</author>

<author initials="K." surname="Seo" fullname="K. Seo">
<organization/>
</author>
<date year="2005" month="December"/>

<abstract>

<t>
This document describes an updated version of the "Security Architecture for IP", which is designed to provide security services for traffic at the IP layer.  This document obsoletes RFC 2401 (November 1998). [STANDARDS TRACK]
</t>
</abstract>
</front>
<seriesInfo name="RFC" value="4301"/>
<format type="TXT" octets="262123" target="ftp://ftp.isi.edu/in-notes/rfc4301.txt"/>
</reference>

<reference anchor="RFC5246">

<front>

<title>
The Transport Layer Security (TLS) Protocol Version 1.2
</title>

<author initials="T." surname="Dierks" fullname="T. Dierks">
<organization/>
</author>

<author initials="E." surname="Rescorla" fullname="E. Rescorla">
<organization/>
</author>
<date year="2008" month="August"/>

<abstract>

<t>
This document specifies Version 1.2 of the Transport Layer Security (TLS) protocol.  The TLS protocol provides communications security over the Internet.  The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. [STANDARDS TRACK]
</t>
</abstract>
</front>
<seriesInfo name="RFC" value="5246"/>
<format type="TXT" octets="222395" target="ftp://ftp.isi.edu/in-notes/rfc5246.txt"/>
</reference>


<reference anchor="RFC4175">

<front>
<title>RTP Payload Format for Uncompressed Video</title>

<author initials="L." surname="Gharai" fullname="L. Gharai">
<organization/>
</author>

<author initials="C." surname="Perkins" fullname="C. Perkins">
<organization/>
</author>
<date year="2005" month="September"/>

<abstract>

<t>
This memo specifies a packetization scheme for encapsulating uncompressed video into a payload format for the Real-time Transport Protocol, RTP.  It supports a range of standard- and high-definition video formats, including common television formats such as ITU BT.601, and standards from the Society of Motion Picture and Television Engineers (SMPTE), such as SMPTE 274M and SMPTE 296M.  The format is designed to be applicable and extensible to new video formats as they are developed. [STANDARDS TRACK]
</t>
</abstract>
</front>
<seriesInfo name="RFC" value="4175"/>
<format type="TXT" octets="39431" target="ftp://ftp.isi.edu/in-notes/rfc4175.txt"/>
</reference>

<reference anchor="RFC1112">

<front>
<title>Host extensions for IP multicasting</title>

<author initials="S." surname="Deering" fullname="Steve Deering">
<organization>Stanford University, Computer Science Department</organization>

<address>

<postal>
<street/>
<city>Stanford</city>
<region>CA</region>
<code>94305-2140</code>
<country>US</country>
</postal>
<phone>+1 415 723 9427</phone>
<email>deering@PESCADERO.STANFORD.EDU</email>
</address>
</author>
<date year="1989" day="1" month="August"/>
</front>
<seriesInfo name="STD" value="5"/>
<seriesInfo name="RFC" value="1112"/>
<format type="TXT" octets="39904" target="ftp://ftp.isi.edu/in-notes/rfc1112.txt"/>
</reference>

	</references>


	<!-- optional appendix starts here -->
	
	<section anchor="informative_appendix" title="Informative Appendix">


	<section anchor="recommended_practices" title="Recommended Practices">
	
	<t>
		As the JPEG 2000 coding standard is highly flexible, many
		different but compliant data streams may be produced and 
		be compliant JPEG 2000 codestreams.
	</t>
	
	<t>
		The following is a set of recommendations set forth 
		from our
		experience in developing JPEG 2000 and this payload
		specification. Implementations of this standard must 
		handle all
		possibilities mentioned in this specification. The 
		following is a
		listing of items an implementation may optimize.
	</t>

	<list style="hanging">
	<t hangText="Error Resilience Markers:">
		The use of error resilience markers in the JPEG 2000 data
		stream is highly recommended in all situations. Error
		recovery with these markers is helpful to the decoder and 
		saves external resources (e.g., markers such as RESET, RESTART, and
		ERTERM. 
	</t>

	
	<t hangText="YCbCr Color Space:">
		The YCbCr color space provides the greatest amount of
		compression in color with respect to the human visual
		system. When used with JPEG 2000, this color
		space can provide excellent visual results at extreme bit
		rates.
	</t>

	
	<t hangText="Progression Ordering:">
		JPEG 2000 offers many different ways to order the final code
		stream to optimize the transfer with the presentation. We 
		have found the most useful codestream ordering has been 
		for layer progression and resolution progression ordering.
	</t>

	
	<t hangText="Tiling and Packets:">
		JPEG 2000 packets are formed regardless of the encoding
		method. The encoder has little control over the size of these
		JPEG 2000 packets as they may be large or small.<vspace/>
		
		Tiling splits the image into smaller areas and each is
		encoded separately. With tiles, the JPEG 2000 packet sizes
		are also reduced. When using tiling, almost all JPEG 2000
		packet sizes are an acceptable size (i.e., smaller than the MTU
		size of most networks).
	
	</t>

	
	<t hangText="Sender Processing:">
		There are no limitations as to how the sender should pack the
		payload. In general, the sender should pack headers separately
		from the rest of the codestream to make header recovery 
		simple.
		Payloads should generally begin with a Start of Packet (SOP) marker and end 
		with an End of Packet Header (EPH) marker for easier decoder processing.
	</t>


	
	</list>
	
	</section> <!-- recommended_practices-->

	<section anchor="sample_headers" title="Sample Headers in Detail">

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

	For reference, the payload header.

	<figure anchor="JPEG2000_header_sample">
          <artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|tp |MHF|mh_id|T|     priority  |           tile number         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|reserved       |             fragment offset                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          	]]>
          </artwork>
	</figure>
          For the first packet with the main header, this is what it will 
          look like.

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

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


          <figure anchor="Sample1_1">
          <preamble>
          	First Packet:
          	This packet will have the whole main header
          	210 bytes
          </preamble>
          <artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0|1 1|0 0 0|1|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FF4FFF51002F000 ....                                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
</artwork>
	</figure>

	<figure anchor="Sample1_2">
<preamble>
	Second Packet:
	This packet will have a tile header and the first tile part LLband
	1500 bytes
</preamble>
<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0|1 1|0 0 0|0|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FF90 000A 0000 0000 2DB3  0001 FF93                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
</artwork>
	</figure>

	<figure anchor="Sample1_3">
<preamble>
	Third Packet:
	This packet will have the next part in the tile, no tile header
	1500 bytes
</preamble>
<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0|0 0|0 0 0|0|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|E841 4526 4556 9850 C2EA  ....                                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
</artwork>
	</figure>

	<figure anchor="Sample1_4">
<preamble>
	Fourth Packet:
	Last packet for the image
	290 bytes
</preamble>
<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0|0 0|0 0 0|0|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|A55D 8B73 3B25 25C7 B9EB        ....                   2FBEB153|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
</artwork>
	</figure>

	Smaple 2: Image with 4 tiles

	<figure anchor="Sample2_1">
<preamble>
	First Packet:
	This packet will have the whole main header.
	210 bytes
</preamble>
<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0|1 1|0 0 0|1|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FF4FFF51002F000 ....                                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
</artwork>
	</figure>

	<figure anchor="Sample2_2">
<preamble>
	Second Packet:
	This packet will have a first tile part (tile 0)
	1400 bytes
</preamble>
<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0|0 0|0 0 0|0|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FF90 000A 0000 0000 0578  0001 FF93  ....                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
</artwork>
	</figure>

	<figure anchor="Sample2_3">
<preamble>
	Third Packet:
	This packet will have a second tile part (tile 1)
	1423 bytes
</preamble>
<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0|0 0|0 0 0|0|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FF90 000A 0001 0000 058F 0001 FF93    ....                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
</artwork>
	</figure>

	<figure anchor="Sample2_4">
<preamble>
	Fourth Packet:
	This packet will have a third tile part (tile 2)
	1355 bytes
</preamble>
<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0|0 0|0 0 0|0|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 0 1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FF90 000A 0002 0000 054B 0001 FF93    ....                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
</artwork>
	</figure>

	<figure anchor="Sample2_5">
<preamble>
	Fifth Packet:
	This packet will have a fourth tile part (tile 3)
	1290 bytes
</preamble>
<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0|0 0|0 0 0|0|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FF90 000A 0003 0000 050A 0001 FF93    ....                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
</artwork>
	</figure>

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


	<figure anchor="Sample3_1">
<preamble>
	First Packet:
	This packet will have the first part of the main header
	110 bytes
</preamble>
<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0|0 1|0 0 0|1|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FF4FFF51002F000 ....                                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
</artwork>
	</figure>

	<figure anchor="Sample3_2">
<preamble>
	Second Packet:
	This packet has the second part of the header
	1400 bytes
</preamble>
<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0|1 0|0 0 0|1|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FF6400FF ....                                                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
	</artwork>
	</figure>

	<figure anchor="Sample3_3">
	<preamble>
	Third Packet:
	This packet has two tiles, tile 0 and tile 1
	1400 bytes
	</preamble>
	<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0|0 0|0 0 0|1|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 1 1 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FF90 000A 0000 0000 02BC 0001 FF93  ...                        |
|FF90 000A 0001 0000 02BC 0001 FF93 ...                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
	</artwork>
	</figure>

	<figure anchor="Sample3_4">
	<preamble>
	Fourth Packet:
	This packet has one tile, tile 2
	1395 bytes
	</preamble>
	<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0|0 0|0 0 0|0|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FF90 000A 0002 0000 0573 0001 FF93    ....                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
	</artwork>
	</figure>

	Sample 4: Interlace image, single tile

	<figure anchor="Sample4_1">
	<preamble>
	First packet:
	This packet will have the whole main header for the odd field
	210 bytes
	</preamble>
	<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 1|1 1|0 0 0|1|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FF4FFF51002F000 ....                                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
	</artwork>
	</figure>

	<figure anchor="Sample4_2">
	<preamble>
	Second packet:
	This packet will have the first part of the odd field's tile
	1400 bytes
	</preamble>
	<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 1|0 0|0 0 0|1|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FF90 000A 0000 0000 0578  0001 FF93  ....                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
	</artwork>
	</figure>

	<figure anchor="Sample4_3">
	<preamble>
	Third packet:
	This packet will have the second part of the odd field's tile
	1400 bytes
	</preamble>
	<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 1|0 0|0 0 0|1|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|7F04 E708 27D9 D11D 22CB ...                                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
	</artwork>
	</figure>

	<figure anchor="Sample4_4">
	<preamble>
	Fourth packet:
	This packet will have the third part of the odd field's tile
	1300 bytes
	</preamble>
	<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 1|0 0|0 0 0|1|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 1 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|98BD EC9B 2826 DC62 D4AB ...                                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
	</artwork>
	</figure>

	<figure anchor="Sample4_5">
	<preamble>
	Fifth packet:
	This packet will have the whole main header for the even field
	</preamble>
	<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1 0|1 1|0 0 0|1|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FF4FFF51002F000 ....                                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
	</artwork>
	</figure>



	<figure anchor="Sample4_6">
	<preamble>
	Sixth packet:
	This packet will have the first part of the odd field's tile
	1400 bytes
	</preamble>
	<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1 0|0 0|0 0 0|1|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FF90 000A 0000 0000 0578  0001 FF93  ....                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
	</artwork>
	</figure>

	<figure anchor="Sample4_7">
	<preamble>
	Seventh packet:
	This packet will have the second part of the odd field's tile
	1400 bytes
	</preamble>

	<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1 0|0 0|0 0 0|1|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|626C 42F0 166B 6BD0 F8E1 ...                                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
	</artwork>
	</figure>

	<figure anchor="Sample4_8">
	<preamble>
	Eighth packet:
	This packet will have the third part of the odd field's tile
	1300 bytes
	</preamble>

	<artwork> <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1 0|0 0|0 0 0|1|1 1 1 1 1 1 1 1|0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 1 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|8114 41D5 18AB 4A1B ...                                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	]]>
	</artwork>
	</figure>

	</section> <!-- Sample Headers in Detail -->
	
	</section> <!-- Informative Appendix -->

	</back>


</rfc>
