Audio Video Transport S. Futemma Internet-Draft A. Leung Intended status: Standards Track E. Itakura Expires: May 15, 2007 Sony November 11, 2006 RTP Payload Format for JPEG 2000 Video Streams draft-ietf-avt-rtp-jpeg2000-12 Status of this Memo By submitting this Internet-Draft, each author represents that any 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 aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on May 15, 2007. Copyright Notice Copyright (C) The Internet Society (2006). Futemma, et al. Expires May 15, 2007 [Page 1] Internet-Draft JPEG 2000 RTP November 2006 Abstract This memo describes an RTP payload format for the ISO/IEC International Standard 15444-1 | ITU-T Rec. T.800, otherwise 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. JPEG 2000 video stream is formed by extending from a single image to a series of JPEG 2000 images. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Conventions Used in This Document . . . . . . . . . . . . 6 2. JPEG 2000 Video Features . . . . . . . . . . . . . . . . . . . 7 3. Payload Design . . . . . . . . . . . . . . . . . . . . . . . . 8 4. Payload Format . . . . . . . . . . . . . . . . . . . . . . . . 9 4.1. RTP Fixed Header Usage . . . . . . . . . . . . . . . . . . 9 4.2. RTP Payload Header Format . . . . . . . . . . . . . . . . 9 5. RTP Packetization . . . . . . . . . . . . . . . . . . . . . . 13 6. Security Consideration . . . . . . . . . . . . . . . . . . . . 15 7. Congestion Control . . . . . . . . . . . . . . . . . . . . . . 16 8. IANA Consideration . . . . . . . . . . . . . . . . . . . . . . 17 8.1. Media Type Registration . . . . . . . . . . . . . . . . . 17 8.2. SDP Parameters . . . . . . . . . . . . . . . . . . . . . . 19 9. Usage with the SDP Offer/Answer Model . . . . . . . . . . . . 20 9.1. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 21 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 22 10.1. Normative References . . . . . . . . . . . . . . . . . . . 22 10.2. Informative References . . . . . . . . . . . . . . . . . . 22 Appendix A. Informative Appendix . . . . . . . . . . . . . . . . 24 A.1. Recommended Practices . . . . . . . . . . . . . . . . . . 24 A.2. Sample Headers in Detail . . . . . . . . . . . . . . . . . 25 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 33 Intellectual Property and Copyright Statements . . . . . . . . . . 34 Futemma, et al. Expires May 15, 2007 [Page 2] Internet-Draft JPEG 2000 RTP November 2006 1. Introduction 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 Photograhers 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[1] with motion covered in ISO JPEG 2000 Part 3: Motion JPEG 2000 [9]. Part 3 of the JPEG 2000 standard defines Motion JPEG 2000 [9]. 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. JPEG 2000 supports many powerful features [1] [9]that are not supported in the current JPEG standard such as: o Higher compression efficiency than JPEG with less visual distortion especially at extreme compression ratios. o A single codestream that offers both lossy and lossless compression. o Better error resiliency than JPEG. o Progressive transmission by pixel accuracy (SNR scalability) and resolution (resolution scalability.) o Random codestream access and processing. Futemma, et al. Expires May 15, 2007 [Page 3] Internet-Draft JPEG 2000 RTP November 2006 The JPEG 2000 algorithm is briefly explained. Figure 1 shows a block diagram of the JPEG 2000 encoding method. +-----+ | ROI | +-----+ | V +----------+ +----------+ +------------+ |DC, comp. | | Wavelet | | | Raw Image ==> |transform-|==>|transform-|==>|Quantization|==+ | ation | | ation | | | | +----------+ +----------+ +------------+ | | +-----------+ +----------+ +------------+ | | | | | | | | JPEG 2000 <==| Data |<==| Rate |<==| EBCOT |<=+ codestream | Ordering | | Control | | | +-----------+ +----------+ +------------+ Figure 1: Block diagram of the JPEG 2000 encoder 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. 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. As a result, for a given tile, data units called JPEG 2000 packets are generated, which contain data from a specific layer, a specific component, a specific resolution, or a specific precinct, depending on the data ordering. 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. Futemma, et al. Expires May 15, 2007 [Page 4] Internet-Draft JPEG 2000 RTP November 2006 To decompress a JPEG 2000 codestream, one would follow the reverse order of the encoding order, without the quantization, and rate control. 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 [1]. Figure 2 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 packet.) +-- +------------+ Main | | SOC | Required as the first marker. header| +------------+ | | main | Main header marker segments +-- +------------+ | | SOT | Required at the beginning of each Tile- | +------------+ tile-part header. part | | T0,TP0 | Tile 0, tile-part 0 header marker header| +------------+ segments | | SOD | Required at the end of each tile-part +-- +------------+ header | bitstream | Tile-part bitstream +-- +------------+ | | SOT | Tile- | +------------+ part | | T1,TP0 | header| +------------+ | | SOD | +-- +------------+ | bit stream | +------------+ . . . +------------+ | EOC | Required as the last marker in the code +------------+ stream Figure 2: Basic construction of the JPEG 2000 codestream Futemma, et al. Expires May 15, 2007 [Page 5] Internet-Draft JPEG 2000 RTP November 2006 1.1. Conventions Used in This Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC2119 [2]. RFC-Editor Note: The RFC Editor is requested to replace all occurrences of "RFC XXXX" with the RFC number draft-ietf-avt-rtp-jpeg2000-beam receives. At that time please remove this note. Futemma, et al. Expires May 15, 2007 [Page 6] Internet-Draft JPEG 2000 RTP November 2006 2. JPEG 2000 Video Features 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 JPEG 2000 video. A JPEG 2000 video stream has the following qualities: o At low bit rates, the SNR is improved dramatically over JPEG and Motion JPEG. o This is a full intra frame format - each frame is independently compressed - and therefore has a low encoding and decoding delay. o JPEG 2000 has flexible and accurate rate control. o This is suitable for traffic control and congestion control during network transmission. o JPEG 2000 can provide its own codestream error resilience markers to aid in codestream recovery outside of this specification. Futemma, et al. Expires May 15, 2007 [Page 7] Internet-Draft JPEG 2000 RTP November 2006 3. Payload Design To design a payload format that maximizes JPEG 2000 features, the following are taken into consideration: o Provisions for packet loss: On the Internet, 5% packet loss is common and this percentage may vary, upto 20% or more. To split JPEG 2000 video streams into RTP packets, efficient packetization of the code stream is required to minimize problems in decoding due to missing packets. If the main header is lost, the image cannot be decoded. o JPEG 2000 Scalability JPEG 2000 has powerful scalability features and markers in the payload header indicate specific meaning of the payload. Such as: * Since this is primarily for video applications, special markers are used to indicate format (i.e. interlace odd/even fields). * Special markers for the headers, fragment of headers, etc. * Tile numbering for association of packets * Priority importance of the packet using methods described in RFC XXXX [11]. * Main header recovery using methods described in RFC XXXX [11]. Additional usage of the payload header is described in RFC XXXX [11]. Futemma, et al. Expires May 15, 2007 [Page 8] Internet-Draft JPEG 2000 RTP November 2006 4. Payload Format 4.1. RTP Fixed Header Usage For each RTP packet, the RTP fixed header is followed by the JPEG 2000 RTP payload header, which is followed by the payload, a piece of a JPEG 2000 codestream, which is usually a JPEG 2000 packet. The RTP header fields that have a meaning specific to a JPEG 2000 video stream are described as follows: Marker bit (M): The marker bit of the RTP fixed header MUST be set to 1 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. 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. RTSP, SIP, etc.) Timestamp: The RTP timestamp are in units of 90 kHz. The same timestamp value MUST appear in each RTP packet carrying a fragment of a given frame. When a JPEG 2000 image is in interlace format, the odd field and the corresponding even field MUST have the same timestamp value. The initial value of the timestamp is to be random to counter known plaintext attacks on encryption. 4.2. RTP Payload Header Format The RTP payload header format for JPEG 2000 video stream is as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |tp |MHF|mh_id|T| priority | tile number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |reserved | fragment offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: RTP payload header format for JPEG 2000 tp (type) : 2 bits Futemma, et al. Expires May 15, 2007 [Page 9] Internet-Draft JPEG 2000 RTP November 2006 This field indicates how a JPEG 2000 image is scanned (progressive or interlace). 0: The payload is progressively scanned. 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. 2: The payload is part of an even field of an interlaced video signal. MHF (Main Header Flag) : 2 bits MHF indicates whether a main header or packet of a main header is in the RTP packet. If there is no header, MHF has a value of 0. If there is just a part of a fragmented header, MHF has a value of 1. If there is the last part of a fragmented header, MHF has value of 2. If the whole header in the packet, MHF has a value of 3. +-----------+----------------------------------+ | MHF Value | Description | +-----------+----------------------------------+ | 0 | no main header in the payload | | | | | 1 | piece of fragmented header | | | | | 2 | last part of a fragmented header | | | | | 3 | a whole main header | +-----------+----------------------------------+ Table 1: MHF Usage Values mh_id (Main Header Identification) : 3 bits Main header identification value. This is used for JPEG 2000 main header recovery. For implementations following only this specification, the sender SHOULD set this value to 0 and the receiver SHOULD ignore this field on processing. Futemma, et al. Expires May 15, 2007 [Page 10] Internet-Draft JPEG 2000 RTP November 2006 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 XXXX [11] T (Tile field invalidation flag) : 1 bit 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. There are two cases where the tile number field is invalid: * 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. * 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. priority : 8 bits The priority field indicates the importance of the JPEG 2000 packet included in the payload. Typically, a higher priority is set in the packets containing JPEG 2000 packets containing the lower sub-bands. For implementations following only this specification, the sender SHOULD set this value to 255 and the receiver SHOULD ignore this field on processing. tile number : 16 bits This field shows the tile number of the payload. This field is only valid when the T bit is 0. If T bit is set to 1, the receiver MUST ignore this field. 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 XXXX [11] R (Reserved) : 8 bits This bit is reserved for future use. Senders MUST set this to 0. Receivers MUST ignore this field. Futemma, et al. Expires May 15, 2007 [Page 11] Internet-Draft JPEG 2000 RTP November 2006 fragment offset : 24 bits This value MUST be set to the byte offset of the current payload in relation to the very beginning of each JPEG 2000 codestream (JPEG 2000 frame). Byte offsets are calculated from the start of each JPEG 2000 codestream up to the current position where the current payload would fit into the complete JPEG 2000 codestream. To perform scalable video delivery by using multiple RTP sessions, the offset value from the first byte of the same frame is set for fragment offset. It is 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. Futemma, et al. Expires May 15, 2007 [Page 12] Internet-Draft JPEG 2000 RTP November 2006 5. RTP Packetization The sender must packetize the JPEG 2000 appropriately according to initial media type parameters and/or details from SDP offer/answer parameters. A "packetization unit" is defined as either a JPEG 2000 main header, a tile-part header, or a JPEG 2000 packet. First, a sender divides the JPEG 2000 codestream into packetization units by parsing the codestream or by getting information from the encoder, and packs the packetization units into RTP packets. A sender can put an arbitrary number of packetization units into an RTP packet, but it MUST preserve the codestream order. An example of this kind of RTP packet format is shown in Figure 4: +------+-------+---------------+---------------+ |RTP |payload| packetization | packetization | |header|header | unit | unit | +------+-------+---------------+---------------+ Figure 4: An example with multiple packetization units If a packetization unit with headers (IP header, RTP header and payload header) is larger than the MTU size, it MAY be fragmented. To pack a fragmented packetization unit, the fragmented unit MUST NOT be packed with the succeeding packetization unit within the same RTP packet. An example of this kind of RTP packet format is shown in Figure 5: +------+-------+-------------------------------------------------+ |RTP |payload| packetization unit fragment | |header|header | | +------+-------+-------------------------------------------------+ +------+-------+-------------------------------------------------+ |RTP |payload| packetization unit fragment | |header|header | | +------+-------+-------------------------------------------------+ . . . +------+-------+------------------------------------+ |RTP |payload| end of packetization unit fragment | |header|header | | +------+-------+------------------------------------+ Futemma, et al. Expires May 15, 2007 [Page 13] Internet-Draft JPEG 2000 RTP November 2006 Figure 5: An example with a fragmented packetization unit Futemma, et al. Expires May 15, 2007 [Page 14] Internet-Draft JPEG 2000 RTP November 2006 6. Security Consideration RTP packets using the payload format defined in this specification are subject to the security considerations discussed in the RTP specification [3], 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 through the use of suitable cryptographic integrity protection mechanism. Cryptographic system may also allow the authentication of the source of the payload. A suitable security mechanism for this RTP payload format should provide confidentialty, integrity protection and at least a source authentication method capable of determining if an RTP packet is from a member of the RTP session or not. 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 signalling protocol employed. Therefore a single mechanism is not sufficient, although if suitable the usage of SRTP [4] is recommended. Other mechanism that may be used are IPsec [12] and TLS [13] (RTP over TCP), but also other alternatives may exist. Futemma, et al. Expires May 15, 2007 [Page 15] Internet-Draft JPEG 2000 RTP November 2006 7. Congestion Control If QoS enhanced service is used, RTP receivers SHOULD monitor packet loss to ensure that the service that was requested is actually being delivered. If it is not, then they SHOULD assume that they are receiving best-effort service and behave accordingly. If best-effort service is being used, users of this payload format MUST monitor packet loss to ensure that the packet loss rate is within acceptable parameters. Packet loss is considered acceptable if a TCP flow across the same network path, experiencing the same network conditions, would achieve an average throughput, measured on a reasonable timescale, that is not less than the RTP flow is achieving. This condition can be satisfied by implementing congestion control mechanisms to adapt the transmission rate (or the number of layers subscribed for a layered multicast session), or by arranging for a receiver to leave the session if the loss rate is unacceptably high. Futemma, et al. Expires May 15, 2007 [Page 16] Internet-Draft JPEG 2000 RTP November 2006 8. IANA Consideration 8.1. Media Type Registration This registration uses the template defined in [7] and follows [8]. Type name: video Subtype name: jpeg2000 Required parameters: sampling: A list of values specifying the color space of the payload data. Acceptable values: RGB: standard Red, Green, Blue color space. BGR: standard Blue, Green, Red color space. RGBA: standard Red, Green, Blue, Alpha color space. BGRA: standard Blue, Green, Red, Alpha color space. YCbCr-4:4:4: standard YCbCr color space, no subsampling. YCbCr-4:2:2: standard YCbCr color space, Cb and Cr are subsampled horizontally by 1/2. YCbCr-4:2:0: standard YCbCr color space, Cb and Cr are subsampled horizontally and vertically by 1/2. YCbCr-4:1:1: standard YCbCr color space, Cb and Cr are subsampled vertically by 1/4 GRAYSCALE: basically a single component image of just multilevels of grey. EXTENSION VALUE: Additional color samplings can be registered with and current listing of registered color samplings at: Color Sampling Registration Authority. Please refer to RTP Format for Uncompressed Video. [14] Optional parameters: Futemma, et al. Expires May 15, 2007 [Page 17] Internet-Draft JPEG 2000 RTP November 2006 interlace: interlace scanning. If payload is in interlace format, the acceptable value is "1", otherwise, the value should be "0". Each complete image forms vertically half the display. tp value MUST properly specify the field the image represents odd(tp=1), or even(tp=2). If this option is not present, the payload MUST be in progressive format and tp MUST be set to 0. width: A parameter describing the maximum width of the video stream. This parameter MUST appear when height is present. Acceptable values: - an integer value between 0 - 4,294,967,295. height: A parameter describing the maximum height of the video stream. This parameter MUST appear when width is present. Acceptable values: - an integer value between 0 - 4,294,967,295. The receiver MUST ignore any unspecified parameters. Encoding considerations: This media type is framed and binary, see Section 4.8 in [7] Security considerations: See section Section 6 of this document. Interoperability considerations: JPEG 2000 video stream is a sequence of JPEG 2000 still images. An implementation compliant with [1] can decode and attempt to display the encoded JPEG 2000 video stream. Published specification: ISO/IEC 15444-1 | ITU-T Rec. T.800 Applications which use this media type: video streaming and communication Person and email address to contact for further information: Eisaburo Itakura, Satoshi Futemma, Andrew Leung Email:{itakura|satosi-f}@ sm . sony . co . jp, andrew @ ualberta . net Intended usage: Restriction Restrictions on Usage: Futemma, et al. Expires May 15, 2007 [Page 18] Internet-Draft JPEG 2000 RTP November 2006 This media type depends on RTP framing, and hence is only defined for the transfer via RTP [3]. Transport within other framing protocols is not defined at the time. Author/Change Controller: Author: Eisaburo Itakura, Satoshi Futemma Email: {itakura|satosi-f} @ sm . sony .co . jp Change controller: IETF Audio/Video Transport Working Group delegated from the IESG 8.2. SDP Parameters The media type video/jpeg2000 string is mapped to fields in the Session Description Protocol (SDP) [5] as follows: o The media name in the "m=" line of SDP MUST be video. o The encoding name in the "a=rtpmap" line of SDP MUST be jpeg2000 (the subtype). o The clock rate in the "a=rtpmap" line MUST be 90000. o The REQUIRED parameters "sampling", MUST be included in the "a=fmtp" line of SDP. o The OPTIONAL parameters "width", and "height", when present, MUST be included in the "a=fmtp" line of SDP. These parameters are expressed as a media type string, in the form of a semicolon separated list of parameter=value pairs. Therefore, an example of media representation in SDP using typical parameters is as follows: m=video 49170/2 RTP/AVP 98 a=rtpmap:98 jpeg2000/90000 a=fmtp:98 sampling=YCbCr-4:2:0;width=128; height=128 Futemma, et al. Expires May 15, 2007 [Page 19] Internet-Draft JPEG 2000 RTP November 2006 9. Usage with the SDP Offer/Answer Model When offering JPEG 2000 over RTP using SDP in an Offer/Answer model [6], the following rules and limitations apply: o All parameters MUST have an acceptable value for the parameter. o All parameters MUST correspond to the parameters of the payload. o 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 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 conform to the color space in the answer but should take note that the session ended due to color sampling issues. o 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 accomodate, 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 should take note that the session ended due to interlace or progressive issues. o For optional parameters "width" and "height" the following applies: * if "width" appears in the offer or answer, "height" MUST be present. * if "height" appears in the offer or answer, "width" MUST be present. o 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 accomodate. 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. o In a multicast environment, [10] 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 Futemma, et al. Expires May 15, 2007 [Page 20] Internet-Draft JPEG 2000 RTP November 2006 accomodate to the lowest values it receives from all answers. o Any unknown options in the Offer should be ignored and deleted from the Answer. 9.1. Examples An example offer/answer exchanges are provided. Alice offers YCbCr 4:2:2 color space, interlace image with 720-pixel width and 480-pixel height as below: v=0 o=alice 2890844526 2890844526 IN IP4 host.example s= c=IN IP4 host.example t=0 0 m=video 49170 RTP/AVP 98 a=rtpmap:98 jpeg2000/90000 a=fmtp:98 sampling=YCbCr-4:2:2; interlace=1 a=fmtp:98 width=720; height=480 Bob accepts YCbCr-4:2:2 color space, interlace image and replies: v=0 o=bob 2890844730 2890844731 IN IP4 host.example s= c=IN IP4 host.example t=0 0 m=video 49920 RTP/AVP 98 a=rtpmap:98 jpeg2000/90000 a=fmtp:98 sampling=YCbCr-4:2:2; interlace=1 a=fmtp:98 width=720; height=480 Futemma, et al. Expires May 15, 2007 [Page 21] Internet-Draft JPEG 2000 RTP November 2006 10. References 10.1. Normative References [1] ISO/IEC JTC1/SC29, ISO/IEC 15444-1 | ITU-T Rec. T.800, "Information Technology - JPEG 2000 Image Coding System - Part 1: Core Coding System", December 2000. [2] Bradner, "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, March 1997. [3] Schulzrinne, Casner, Frederick, and Jacobson, "RTP: A Transport Protocol for Real Time Applications", RFC 3550, STD 64, July 2003. [4] Baugher, McGrew, Naslund, Carrara, and Norrman, "The Secure Real-time Transport Protocol (SRTP", RFC 3711, March 2004. [5] Handley and Jacobson, "SDP: Session Description Protocol", RFC 2327, April 1998. [6] Rosenberg and Schulzrinne, "An Offer/Answer Model with Session Description Protocol (SDP)", RFC 3264, June 2002. [7] Freed and Klensin, "Media Type Specifications and Registration Procedures", RFC 4288, December 2005. [8] Casner and Hoschka, "MIME Type Registration of RTP Payload Formats", RFC 3555, July 2003. 10.2. Informative References [9] ISO/IEC JTC1/SC29, ISO/IEC 15444-1 | ITU-T Rec. T.800, "Information Technology - JPEG 2000 Image Coding System - Part 3: Motion JPEG 2000", July 2002. [10] Deering, "Host Extensions for IP Multicasting", RFC 1112, August 1989. [11] Leung, Futemma, and Itakura, "RTP Payload format for JPEG 2000: Extensions for Scalability and Main Header Recovery", RFC XXXX, August 2006. [12] Kent and Seo, "Security Architecture for the Internet Protocol", RFC 4301, December 2005. [13] Dierks and Allen, "The TLS Protocol", RFC 2246, January 1999. Futemma, et al. Expires May 15, 2007 [Page 22] Internet-Draft JPEG 2000 RTP November 2006 [14] Perkins and Gharai, "RTP Payload Format for Uncompressed Video", RFC 2246, September 2005. Futemma, et al. Expires May 15, 2007 [Page 23] Internet-Draft JPEG 2000 RTP November 2006 Appendix A. Informative Appendix A.1. Recommended Practices As the JPEG 2000 coding standard is highly flexible, many different but compliant data streams may be produced and be a compliant JPEG 2000 codestream. 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. Error Resilience Markers: The use of error resilience markers in the JPEG 2000 data stream is highly recommended in all situations. Error recovery with these markers is helpful to the decoder and save external resources. Markers such as: RESET, RESTART, and ERTERM. 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, the usage of this color space can provide excellent visual results at extreme bit rates. Progression Ordering: JPEG 2000 offers many different ways to order the final code stream to optimize the transfer with the presentation. We have found the most useful codestream ordering have been for layer progression and resolution progression ordering. 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 maybe large or small. Tiling splits the image up into smaller areas and each are encoded separately. With tiles, the JPEG 2000 packet sizes are also reduced. When using tiling, almost all JPEG 2000 packet sizes are an acceptable size (i.e. smaller than the MTU size of most networks.) Sender Processing: There are no limitations as to how the sender should pack the payload. In general, the sender should pack headers separately from the rest of the codestream to make header recovery simple. Payloads should generally begin with an SOP marker and end with EPH marker for easier decoder processing. Futemma, et al. Expires May 15, 2007 [Page 24] Internet-Draft JPEG 2000 RTP November 2006 A.2. Sample Headers in Detail 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 6 First Packet: This packet will have the whole main header. 210 bytes 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 .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 7 Second Packet: This packet will have a tile header and the first tile part LLband 1500 bytes 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 8 Futemma, et al. Expires May 15, 2007 [Page 25] Internet-Draft JPEG 2000 RTP November 2006 Third Packet: This packet will have the next part in the tile, no tile header 1500 bytes 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 .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 9 Fourth Packet: Last packet for the image 290 bytes 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| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 10 First Packet: This packet will have the whole main header. 210 bytes 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 .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 11 Futemma, et al. Expires May 15, 2007 [Page 26] Internet-Draft JPEG 2000 RTP November 2006 Second Packet: This packet will have a first tile part (tile 0) 1400 bytes 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 .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 12 Third Packet: This packet will have a second tile part (tile 1) 1423 bytes 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 .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 13 Fourth Packet: This packet will have a third tile part (tile 2) 1355 bytes 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 .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 14 Futemma, et al. Expires May 15, 2007 [Page 27] Internet-Draft JPEG 2000 RTP November 2006 Fifth Packet: This packet will have a fourth tile part (tile 3) 1290 bytes 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 .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 15 First Packet: This packet will have the first part of the main header. 110 bytes 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 .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 16 Second Packet: This packet has the second part of the header. 1400 bytes 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 .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 17 Futemma, et al. Expires May 15, 2007 [Page 28] Internet-Draft JPEG 2000 RTP November 2006 Third Packet: This packet has two tiles, tile 0 and tile 1 1400 bytes 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 ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 18 Fourth Packet: This packet has one tile, tile 2 1395 bytes 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 .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 19 First packet: This packet will have the whole main header for the odd field 210 bytes 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 .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 20 Futemma, et al. Expires May 15, 2007 [Page 29] Internet-Draft JPEG 2000 RTP November 2006 Second packet: This packet will have the first part of the odd field's tile 1400 bytes 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 .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 21 Third packet: This packet will have the second part of the odd field's tile 1400 bytes 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 ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 22 Fourth packet: This packet will have the third part of the odd field's tile 1300 bytes 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 ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 23 Futemma, et al. Expires May 15, 2007 [Page 30] Internet-Draft JPEG 2000 RTP November 2006 Fifth packet: This packet will have the whole main header for the even field 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1 0|1 1|0 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 .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 24 Sixth packet: This packet will have the first part of the odd field's tile 1400 bytes 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 .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 25 Seventh packet: This packet will have the second part of the odd field's tile 1400 bytes 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 ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 26 Futemma, et al. Expires May 15, 2007 [Page 31] Internet-Draft JPEG 2000 RTP November 2006 Eighth packet: This packet will have the third part of the odd field's tile 1300 bytes 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 ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 27 Futemma, et al. Expires May 15, 2007 [Page 32] Internet-Draft JPEG 2000 RTP November 2006 Authors' Addresses Satoshi Futemma Sony Corporation 1-7-1 Konan Minato-ku Tokyo 108-0075 Phone: +81 3 6748-2111 Email: satosi-f @ sm . sony . co . jp URI: http://www.sony.net/ Andrew Leung Sony Corporation 1-7-1 Konan Minato-ku Tokyo 108-0075 Japan Phone: +81 3 6748-2111 Email: andrew @ ualberta . net URI: http://www.sony.net/ Eisaburo Itakura Sony Corporation 1-7-1 Konan Minato-ku Tokyo 108-0075 Japan Phone: +81 3 6748-2111 Email: itakura @ sm . sony . co . jp URI: http://www.sony.net/ Futemma, et al. Expires May 15, 2007 [Page 33] Internet-Draft JPEG 2000 RTP November 2006 Full 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. 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. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Futemma, et al. Expires May 15, 2007 [Page 34]