idnits 2.17.1 draft-ietf-avt-smpte292-video-07.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. == No 'Intended status' indicated for this document; assuming Proposed Standard == It seems as if not all pages are separated by form feeds - found 0 form feeds but 12 pages Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == Line 174 has weird spacing: '... RTP to accom...' == Line 221 has weird spacing: '... Pixels words...' == Line 261 has weird spacing: '...located paylo...' == Line 272 has weird spacing: '...herwise set t...' == Line 312 has weird spacing: '...ulative numbe...' -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (August 14, 2002) is 7926 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Missing reference section? '1' on line 460 looks like a reference -- Missing reference section? '6' on line 479 looks like a reference -- Missing reference section? '7' on line 482 looks like a reference -- Missing reference section? '8' on line 485 looks like a reference -- Missing reference section? '9' on line 488 looks like a reference -- Missing reference section? '2-5' on line 149 looks like a reference -- Missing reference section? '10' on line 491 looks like a reference -- Missing reference section? '11' on line 494 looks like a reference -- Missing reference section? '12' on line 498 looks like a reference -- Missing reference section? '2' on line 464 looks like a reference -- Missing reference section? '3' on line 468 looks like a reference -- Missing reference section? '4' on line 471 looks like a reference -- Missing reference section? '5' on line 475 looks like a reference Summary: 2 errors (**), 0 flaws (~~), 8 warnings (==), 15 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 INTERNET-DRAFT Ladan Gharai 3 USC/ISI 4 Colin Perkins 5 USC/ISI 6 Gary Goncher 7 Tektronix 8 Allison Mankin 9 USC/ISI 10 August 14, 2002 12 RTP Payload Format for SMPTE 292M Video 13 15 Status of this Memo 17 This document is an Internet-Draft and is in full conformance with 18 all provisions of Section 10 of RFC2026. 20 Internet-Drafts are working documents of the Internet Engineering 21 Task Force (IETF), its areas, and its working groups. Note that 22 other groups may also distribute working documents as Internet- 23 Drafts. 25 Internet-Drafts are draft documents valid for a maximum of six months 26 and may be updated, replaced, or obsoleted by other documents at any 27 time. It is inappropriate to use Internet-Drafts as reference 28 material or to cite them other than as "work in progress." 30 The list of current Internet-Drafts can be accessed at 31 http://www.ietf.org/ietf/1id-abstracts.txt. 33 The list of Internet-Draft Shadow Directories can be accessed at 34 http://www.ietf.org/shadow.html. 36 Abstract 38 This memo specifies a RTP payload format for encapsulating uncompressed 39 High Definition Television (HDTV) as defined by the Society of Motion 40 Picture and Television Engineers standard, SMPTE 292M. SMPTE is the main 41 standardizing body in the motion imaging industry and the SMPTE 292M 42 standard defines a bit-serial digital interface for local area HDTV 43 transport. 45 1. Introduction 47 [Note to RFC Editor: All "RFC XXXX" in the IANA considerations section 48 should be filled in with the RFC number of this memo, when published.] 50 The serial digital interface, SMPTE 292M[1], defines a universal medium 51 of interchange for uncompressed High Definition Television (HDTV) 52 between various types of video equipment (cameras, encoders, VTRs, 53 etc.). SMPTE 292M stipulates that the source data be in 10 bit words and 54 the total data rate be either 1.485 Gbps or 1.485/1.001 Gbps. 56 The use of a dedicated serial interconnect is appropriate in a studio 57 environment, but it is desirable to leverage the widespread availability 58 of high bandwidth IP connectivity to allow efficient wide area delivery 59 of SMPTE 292M format content. Accordingly, this memo defines an RTP 60 payload format for SMPTE 292M format video. 62 It is to be noted that SMPTE 292M streams have a constant high bit rate 63 and are not congestion controlled. Accordingly, use of this payload 64 format should be tightly controlled and limited to private networks or 65 those networks that provide resource reservation and enhanced quality of 66 service. 68 This memo only addresses the transfer of uncompressed HDTV. Compressed 69 HDTV is a subset of MPEG-2 [6], which is fully described in document 70 A/53 [7] of the Advanced Television Standards Committee. The ATSC has 71 also adopted the MPEG-2 transport system (ISO/IEC 13818-1)[8]. 72 Therefore RFC 2250 [9] sufficiently describes transport for compressed 73 HDTV over RTP. 75 2. Overview of SMPTE 292M 77 A SMPTE 292M television line comprises two interleaved streams, one 78 containing the luminance (Y) samples, the other chrominance (CrCb) 79 values. Since chrominance is horizontally sub-sampled (4:2:2 coding) the 80 lengths of the two streams match (see Figure 3 of SMPTE 292M[1]). In 81 addition to being the same length the streams also have identical 82 structures: each stream is divided into four parts, (figure 1): (1) 83 start of active video timing reference (SAV); (2) digital active line; 84 (3) end of active video timing reference (EAV); and (4) digital line 85 blanking. A SMPTE 292M line may also carry horizontal ancillary data 86 (H-ANC) or vertical ancillary data (V-ANC) instead of the blanking 87 level, and likewise, ancillary data may be transported instead of a 88 digital active line. 90 The EAV and SAV are made up of three 10 bit words, with constant values 91 of 0x3FF 0x000 0x000 and an additional word (designated as XYZ in 92 figure 2), carrying a number of flags. This includes an F flag which 93 designate which field (1 or 2) the line is transporting and also a V 94 flag which indicates field blanking. Table 1, further displays the code 95 values in SAV and EAV. After EAV, are two words LN0 and LN1 (Table 2), 96 which carry the 11 bit line number for the SMPTE 292M line. The Cyclic 97 Redundancy Check, CRC, is also a two word value, shown as CR0 and CR1 in 98 figure 2. 100 +------------+-----------------------+-----+---------------------+ 101 | | Digital Line Blanking | | Digital Active Line | 102 | EAV+LN+CRC | (Blanking level or | SAV | (Active Picture or | 103 | | Ancillary Data) | | Ancillary Data) | 104 +------------+-----------------------+-----+---------------------+ 106 Figure 1. The SMPTE 292M line format. 108 0 20 40 60 80 0 20 40 109 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ 110 |3FF| 0 | 0 |XYZ|LN1|LN2|CR0|CR1| |3FF| 0 | 0 |XYZ| 111 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ 112 <---- EAV -----> <- LN-> <- CRC-> <----- SAV -----> 114 Figure 2. Timing reference format. 116 +---------------------------------------------------------+ 117 | (MSB) (LSB) | 118 | Word 9 8 7 6 5 4 3 2 1 0 | 119 +---------------------------------------------------------+ 120 | 3FF 1 1 1 1 1 1 1 1 1 1 | 121 | 000 0 0 0 0 0 0 0 0 0 0 | 122 | 000 0 0 0 0 0 0 0 0 0 0 | 123 | XYZ 1 F V H P P P P P P | 124 +---------------------------------------------------------+ 125 | NOTES: | 126 | F=0 during field 1; F=1 during field 2. | 127 | V=0 elsewhere; V=1 during field blanking. | 128 | H=0 in SAV; H=1 in EAV. | 129 | MSB=most significant bit; LSB=least significant bit.| 130 | P= protected bits defined in Table 2 of SMPTE 292M | 131 +---------------------------------------------------------+ 132 Table 1: Timing reference codes. 134 +---------------------------------------------------------+ 135 | (MSB) (LSB) | 136 | Word 9 8 7 6 5 4 3 2 1 0 | 137 +---------------------------------------------------------+ 138 | LN0 R L6 L5 L4 L3 L2 L1 L0 R R | 139 | LN1 R R R R L10 L9 L8 L7 R R | 140 +---------------------------------------------------------+ 141 | NOTES: | 142 | LN0 - L10 - line number in binary code. | 143 | R = reserved, set to "0". | 144 +---------------------------------------------------------+ 145 Table 2: Line number data. 147 The number of words and format for active lines and line blanking is 148 defined by source format documents. Currently, source video formats 149 transfered by SMPTE 292M include SMPTE 260M, 295M, 274M and 296M[2-5]. 150 In this memo we specify how to transfer SMPTE 292M over RTP, 151 irrespective of the source format. 153 3. Conventions Used in this Document 155 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 156 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 157 document are to be interpreted as described in RFC 2119[10]. 159 4. Payload Design 161 Each SMPTE 292M data line is packetized into one or more RTP packets. 162 This includes all timing signals, blanking levels, active lines and/or 163 ancillary data. Start of active video (SAV) and end of active video 164 (EAV+LN+CRC) signals MUST NOT be fragmented across packets, as the SMPTE 165 292M decoder uses them to detect the start of scan lines. 167 The standard RTP header is followed by a 4 octet payload header. All 168 information in the payload header pertains to the first data sample in 169 the packet. The end of a video frame (the packet containing the last 170 sample before the EAV) is marked by the M bit in the RTP header. 172 The payload header contains a 16 bit extension to the standard 16 bit 173 RTP sequence number, thereby extending the sequence number to 32 bits 174 and enabling RTP to accommodate HDTV's high data rates. At 1.485 Gbps, 175 with packet sizes of at least one thousand octets, 32 bits allows for an 176 approximate 6 hour period before the sequence number wraps around. Given 177 the same assumptions, the standard 16 bit RTP sequence number wraps 178 around in less than a second (336 milliseconds) which is clearly not 179 sufficient for the purpose of detecting loss and out of order packets. 181 A 148.5 MHz (or 148.5/1.001 MHz) time-stamp is used as the RTP 182 timestamp. This allows the receiver to reconstruct the timing of the 183 SMPTE 292M stream, without knowledge of the exact type of source format 184 (e.g. SMPTE 274M or SMPTE 296M). With this timestamp, the location of 185 the first byte of each packet can be uniquely identified in the SMPTE 186 292M stream. At 148.5 MHz the 32 bit timestamp wraps around in 21 187 seconds. 189 The payload header also carries the 11 bit line number from the SMPTE 190 292M timing signals. This provides more information at the application 191 level and adds a level of resiliency, in case the packet containing the 192 EAV is lost. 194 The bit length of both timing signals, SAV and EAV+LN+CRC, are multiples 195 of 8 bits, 40 bits and 80 bits, respectively, and therefore are 196 naturally octet aligned. 198 For the video content it is desirable for the video to both octet align 199 when packetized and also adhere to the principles of application level 200 framing, also known as ALF [11]. For YCrCb video, the ALF principle 201 translates into not fragmenting related luminance and chrominance values 202 across packets. For example with the 4:2:0 color subsampling a 4 pixel 203 group is represented by 6 values, Y1 Y2 Y3 Y4 Cr Cb, and video content 204 should be packetized such that these values are not fragmented across 2 205 packets. However, with 10 bit words this is a 60 bit value which is not 206 octet aligned. To be both octet aligned, and adhere to ALF, an ALF unit 207 must represent 2 groups of 4 Pixels, thereby becoming octet aligned on a 208 15 octet boundary. This length is referred to as the pixel group or 209 pgroup, and it is conveyed in the SDP parameters. Table 3 displays the 210 pgroup value for 4:2:2 and 4:4:4 color samplings. Typical source formats 211 use 4:2:2 sampling, and require a pgroup of 5 octets, other values are 212 included for completeness. 214 The contents of the Digital Active Line SHOULD NOT be fragmented within 215 a pgroup. A pgroup of 1 indicates that data may be split at any octet 216 boundary (this is applicable to instances where the source format is not 217 known). The SAV and EAV+LN+CRC fields MUST NOT be fragmented. 219 +-------------------------------------------------------+ 220 | Color 10 bit | 221 |Subsampling Pixels words aligned on octet# pgroup| 222 +-----------+-------+--------+-------------------+------+ 223 | 4:2:0 | 4 | 6*10 | 2*60/8 = 15 | 15 | 224 +-----------+-------+--------+-------------------+------+ 225 | 4:2:2 | 2 | 4*10 | 40/8 = 5 | 5 | 226 +-----------+-------+--------+-------------------+------+ 227 | 4:4:4 | 1 | 3*10 | 4*30/8 = 15 | 15 | 228 +-----------+-------+--------+-------------------+------+ 229 Table 3. Color subsampling and pgroups. 231 5. RTP Packetization 233 The standard RTP header is followed by a 4 octet payload header, and the 234 payload data, as shown in Figure 4. 236 0 1 2 3 237 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 238 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 239 | V |P|X| CC |M| PT | sequence# (low bits) | 240 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 241 | time stamp | 242 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 243 | ssrc | 244 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 245 | sequence# (high bits) |F|V| Z | line no | 246 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 247 | | 248 : SMPTE 292M data : 249 : : 250 | | 251 +---------------------------------------------------------------+ 252 Figure 4: RTP Packet showing SMPTE 292M headers and payload 254 5.1. The RTP Header 256 The following fields of the RTP fixed header are used for SMPTE 292M 257 encapsulation (the other fields in the RTP header are used in their 258 usual manner): 260 Payload Type (PT): 7 bits 261 A dynamically allocated payload type field which designates the 262 payload as SMPTE 292M. 264 Timestamp: 32 bits 265 For a SMPTE 292M transport stream at 1.485 Gbps (or 1.485/1.001 266 Gbps), the timestamp field contains a 148.5 MHz (or 148.5/1.001 267 MHz) timestamp, respectively. This allows for a unique timestamp 268 for each 10 bit word. 270 Marker bit (M): 1 bit 271 The Marker bit denotes the end of a video frame, and is set to 1 272 for the last packet of the video frame and is otherwise set to 0 273 for all other packets. 275 Sequence Number (low bits): 16 bits 276 The low order bits for RTP sequence counter. The standard 16 bit 277 RTP sequence number is augmented with another 16 bits in the 278 payload header in order to accommodate the 1.485 Gbps data rate of 279 SMPTE 292M. 281 5.2. Payload Header 283 Sequence Number (high bits): 16 bits 284 The high order bits for the 32 bit RTP sequence counter, in network 285 byte order. 287 F: 1 bit 288 The F bit as defined in the SMPTE 292M timing signals (see 289 Table 1). F=1 identifies field 2 and F=0 identifies field 1. 291 V: 1 bit 292 The V bit as defined in the SMPTE 292M timing signals (see 293 Table 1). V=1 during field blanking, and V=0 else where. 295 Z: 2 bits 296 SHOULD be set to zero by the sender and MUST be ignored by 297 receivers. 299 Line No: 11 bits 300 The line number of the source data format, extracted from the 301 SMPTE 292M stream (see Table 2). The line number MUST correspond 302 to the line number of the first 10 bit word in the packet. 304 6. RTCP Considerations 306 RFC1889 recommends transmission of RTCP packets every 5 seconds or at a 307 reduced minimum in seconds of 360 divided by the session bandwidth in 308 kilobits/second. At 1.485 Gbps the reduced minimum interval computes to 309 0.2ms or 4028 packets per second. 311 It should be noted that the sender's octet count in SR packets wraps 312 around in 23 seconds, and that the cumulative number of packets lost 313 wraps around in 93 seconds. This means these two fields cannot 314 accurately represent octet count and number of packets lost since the 315 beginning of transmission, as defined in RFC1889. Therefore for network 316 monitoring purposes or any other application which requires the sender's 317 octet count and the cumulative number of packets lost since the 318 beginning of transmission, the application itself must keep track of the 319 number of rollovers of these fields via a counter. 321 7. IANA Considerations 323 This document defines a new RTP payload format and associated MIME type, 324 SMPTE292M. The MIME registration form for SMPTE 292M video is enclosed 325 below: 327 MIME media type name: video 329 MIME subtype name: SMPTE292M 331 Required parameters: rate 332 The RTP timestamp clock rate. The clock runs at either 148500000 Hz 333 or 148500000/1.001 Hz. If the latter rate is used a timestamp of 334 148351648 MUST be used, and receivers MUST interpret this as 335 148500000/1.001 Hz. 337 Optional parameters: pgroup 338 The RECOMMENDED grouping for aligning 10 bit words and octets. 339 Defaults to 1 octet, if not present. 341 Encoding considerations: SMPTE292M video can be transmitted with 342 RTP as specified in RFC XXXX. 344 Security considerations: see RFC XXXX section 8. 346 Interoperability considerations: NONE 348 Published specification: SMPTE292M 349 RFC XXXX 351 Applications which use this media type: 352 Video communication. 354 Additional information: None 356 Magic number(s): None 358 File extension(s): None 360 Macintosh File Type Code(s): None 362 Person & email address to contact for further information: 363 Ladan Gharai 364 IETF AVT working group. 366 Intended usage: COMMON 368 Author/Change controller: 369 Ladan Gharai 371 8. Mapping to SDP Parameters 373 Parameters are mapped to SDP [12] as follows: 375 m=video 30000 RTP/AVP 111 376 a=rtpmap:111 SMPTE292M/148500000 377 a=fmtp:111 pgroup=5 379 In this example, a dynamic payload type 111 is used for SMPTE292M. The 380 RTP timestamp is 148500000 Hz and the SDP parameter pgroup, indicates 381 that for video data after the SAV signal, must be packetized in 382 multiples of 5 octets. 384 9. Security Considerations 386 RTP packets using the payload format defined in this specification are 387 subject to the security considerations discussed in the RTP 388 specification, and any appropriate RTP profile. This implies that 389 confidentiality of the media streams is achieved by encryption. 391 This payload type does not exhibit any significant non-uniformity in the 392 receiver side computational complexity for packet processing to cause a 393 potential denial-of-service threat. 395 It is perhaps to be noted that the bandwidth of this payload is high 396 enough (1.485 Gbps without the RTP overhead) to cause potential for 397 denial-of-service if transmitted onto most currently available Internet 398 paths. Given that congestion control is not possible for SMPTE 292M over 399 RTP flows, use of the payload should be narrowly limited to suitably 400 connected network endpoints, or to networks where QoS guarantees are 401 available, and great care taken with the scope of multicast 402 transmissions. This potential threat is common to all high bit rate 403 applications without congestion control. 405 10. Full Copyright Statement 407 Copyright (C) The Internet Society (2002). All Rights Reserved. 409 This document and translations of it may be copied and furnished to 410 others, and derivative works that comment on or otherwise explain it or 411 assist in its implementation may be prepared, copied, published and 412 distributed, in whole or in part, without restriction of any kind, 413 provided that the above copyright notice and this paragraph are included 414 on all such copies and derivative works. 416 However, this document itself may not be modified in any way, such as by 417 removing the copyright notice or references to the Internet Society or 418 other Internet organizations, except as needed for the purpose of 419 developing Internet standards in which case the procedures for 420 copyrights defined in the Internet Standards process must be followed, 421 or as required to translate it into languages other than English. 423 The limited permissions granted above are perpetual and will not be 424 revoked by the Internet Society or its successors or assigns. 426 This document and the information contained herein is provided on an "AS 427 IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK 428 FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT 429 LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT 430 INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR 431 FITNESS FOR A PARTICULAR PURPOSE." 433 11. Authors' Addresses 435 Ladan Gharai 436 ladan@isi.edu 438 Colin Perkins 439 csp@isi.edu 440 Allison Mankin 441 mankin@isi.edu 442 USC Information Sciences Institute 443 3811 N. Fairfax Drive 444 Arlington, VA 22203-1695 446 Gary Goncher 447 ggoncher@tek.com 448 Tektronix, Inc. 449 P.O. Box 500, M/S 50-480 450 Beaverton, OR 97077 452 12. Acknowledgment 454 We would like to thank David Richardson for his insightful comments and 455 contributions to the draft. We would also like to thank Chuck Harrison 456 for his input and for explaining the intricacies of SMPTE 292M. 458 13. Bibliography 460 [1] Society of Motion Picture and Television Engineers, 461 Bit-Serial Digital Interface for High-Definition Television 462 Systems, SMPTE 292M-1998. 464 [2] Society of Motion Picture and Television Engineers, 465 Digital Representation and Bit-Parallel Interface - 1125/60 466 High-Definition Production System, SMPTE 260M-1999. 468 [3] Society of Motion Picture and Television Engineers, 469 1920x1080 50Hz, Scanning and Interface, SMPTE 295M-1997. 471 [4] Society of Motion Picture and Television Engineers, 472 1920x1080 Scanning and Analog and Parallel Digital Interfaces 473 for Multiple Picture Rates, SMPTE 274M-1998. 475 [5] Society of Motion Picture and Television Engineers, 476 1280x720 Scanning, Analog and Digital Representation and Analog 477 Interfaces, SMPTE 296M-1998. 479 [6] ISO/IEC International Standard 13818-2; "Generic coding of 480 moving pictures and associated audio information: Video", 1996. 482 [7] ATSC Digital Television Standard Document A/53, September 1995, 483 http://www.atsc.org 485 [8] ISO/IEC International Standard 13818-1; "Generic coding of 486 moving pictures and associated audio information: Systems",1996. 488 [9] Hoffman, Fernando, Goyal, Civanlar, "RTP Payload Format for 489 MPEG1/MPEG2 Video", RFC 2250, IETF, January 1998. 491 [10] S. Bradner, "Key words for use in RFCs to Indicate 492 Requirement Levels", RFC 2119. 494 [11] Clark, D. D., and Tennenhouse, D. L., "Architectural Considerations 495 for a New Generation of Protocols", In Proceedings of SIGCOMM '90 496 (Philadelphia, PA, Sept. 1990), ACM. 498 [12] M. Handley and V. Jacobson, "SDP: Session Description Protocol", 499 RFC 2327, April 1998.