idnits 2.17.1 draft-ietf-avt-smpte292-video-05.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 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 153 has weird spacing: '... RTP to accom...' == Line 192 has weird spacing: '... Pixels words...' == Line 229 has weird spacing: '...located paylo...' == Line 240 has weird spacing: '...herwise set t...' == Line 276 has weird spacing: '...0.2ms or 4028...' == (1 more instance...) -- 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 (May 30, 2002) is 7995 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 427 looks like a reference -- Missing reference section? '2-5' on line 120 looks like a reference -- Missing reference section? '6' on line 446 looks like a reference -- Missing reference section? '7' on line 449 looks like a reference -- Missing reference section? '8' on line 452 looks like a reference -- Missing reference section? '9' on line 455 looks like a reference -- Missing reference section? '10' on line 458 looks like a reference -- Missing reference section? '11' on line 461 looks like a reference -- Missing reference section? '12' on line 465 looks like a reference -- Missing reference section? '2' on line 431 looks like a reference -- Missing reference section? '3' on line 435 looks like a reference -- Missing reference section? '4' on line 438 looks like a reference -- Missing reference section? '5' on line 442 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 May 30, 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 The serial digital interface, SMPTE 292M[1], defines a universal medium 48 of interchange for uncompressed High Definition Television (HDTV) 49 between various types of video equipment (cameras, encoders, VTRs, 50 etc.). SMPTE 292M stipulates that the source data be in 10bit words and 51 the total data rate be 1.485 Gbps or 1.485/1.001 Gbps. 53 A SMPTE 292M television line is divided into four parts, (figure 1): (1) 54 start of active video timing reference (SAV); (2) digital active line; 55 (3) end of active video timing reference (EAV); and (4) digital line 56 blanking. A SMPTE 292M line may also carry horizontal ancillary data 57 (H-ANC) or vertical ancillary data (V-ANC) instead of the blanking 58 level, and likewise, ancillary data may transported instead of a digital 59 active line. 61 The EAV and SAV are made up of three 10 bit words, with constant values 62 of 0x000 0x000 0x3FF and an additional word (designated as XYZ in figure 63 2), carrying a number of flags. This includes an F flag which designate 64 which field (1 or 2) the line is transporting and also a V flag which 65 indicates field blanking. Table 1, further displays the code values in 66 SAV and EAV. After EAV, are two words LN1 and LN2 (Table 2), which 67 carry the 11bit line number for the SMPTE 292M line, immediately 68 following. The Cyclic Redundancy Check, CRC, is a two word value, shown 69 as CR0 and CR1 in figure 2. 71 +------------+-------------------------+-----+-----------------------+ 72 | | Digital Line Blanking | | Digital Active Line | 73 | EAV+LN+CRC | (Blanking level or | SAV | (Active Picture or | 74 | | Ancillary Data) | | Ancillary Data) | 75 +------------+-------------------------+-----+-----------------------+ 77 Figure 1. The SMPTE 292M line format. 79 0 20 40 60 80 0 20 40 80 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ 81 |3FF| 0 | 0 |XYZ|LN1|LN2|CR0|CR1| |3FF| 0 | 0 |XYZ| 82 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ 83 <---- EAV -----> <- LN-> <- CRC-> <----- SAV -----> 85 Figure 2. Timing reference format. 87 Table 1: Timing reference codes. 88 +---------------------------------------------------------+ 89 | (MSB) (LSB) | 90 | Word 9 8 7 6 5 4 3 2 1 0 | 91 +---------------------------------------------------------+ 92 | 3FF 1 1 1 1 1 1 1 1 1 1 | 93 | 000 0 0 0 0 0 0 0 0 0 0 | 94 | 000 0 0 0 0 0 0 0 0 0 0 | 95 | XYZ 1 F V H P P P P P P | 96 +---------------------------------------------------------+ 97 | NOTES: | 98 | F=0 during field 1; F=1 during field 2. | 99 | V=0 elsewhere; V=1 during field blanking. | 100 | H=0 in SAV; H=1 in EAV. | 101 | MSB=most significant bit; LSB=least significant bit.| 102 | P= protected bits defined in Table 2 of SMPTE 292M | 103 +---------------------------------------------------------+ 105 Table 2: Line number data. 106 +---------------------------------------------------------+ 107 | (MSB) (LSB) | 108 | Word 9 8 7 6 5 4 3 2 1 0 | 109 +---------------------------------------------------------+ 110 | LN0 R L6 L5 L4 L3 L2 L1 L0 R R | 111 | LN1 R R R R L10 L9 L8 L7 R R | 112 +---------------------------------------------------------+ 113 | NOTES: | 114 | LN0 - L10 - line number in binary code. | 115 | R = reserved, set to "0". | 116 +---------------------------------------------------------+ 118 The number of words and format for active lines and line blanking is 119 defined by source format documents. Currently, source video formats 120 transfered by SMPTE 292M includes SMPTE 260M, 295M, 274M and 296M[2-5]. 121 In this memo we specify how to transfer SMPTE 292M over RTP, 122 irrespective of the source format. 124 This memo only addresses the transfer of uncompressed HDTV. Compressed 125 HDTV is a subset of MPEG-2 [6], which is fully described in document 126 A/53 [7] of the Advanced Television Standards Committee. The ATSC has 127 also adopted the MPEG-2 transport system (ISO/IEC 13818-1)[8]. 128 Therefore RFC 2250 [9] sufficiently describes transport for compressed 129 HDTV over RTP. 131 2. Conventions Used in this Document 133 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 134 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 135 document are to be interpreted as described in RFC 2119[10]. 137 3. Payload Design 139 Each SMPTE 292M data line is packetized into one or more RTP packets. 140 This includes all timing signals, blanking levels, active lines and/or 141 ancillary data. Start of active video (SAV) and end of active video 142 (EAV) signals MUST NOT be fragmented across packets, as the SMPTE 292M 143 decoder uses the sync info in the scan lines to detect the start of scan 144 lines. 146 The standard RTP header is followed by a 4 octet payload header. All 147 information in the payload header, pertains to the first data sample in 148 the packet. The end of a video frame is marked by the M bit in the RTP 149 header. 151 The payload header contains a 16bit extension to the standard 16 bit RTP 152 sequence number, thereby extending the sequence number to 32 bits and 153 enabling RTP to accommodate HDTV's high data rates. At 1.485 Gbps, with 154 packet sizes of at least one thousand octets, 32bits allows for an 155 approximate 6 hour period before the sequence number wraps around. 157 The payload header also carries the 11bit line number from the SMPTE 158 292M timing signals. This provides more information at the application 159 level and adds a level of resiliency, in case the packet containing the 160 EAV is lost. 162 A 148.5 MHz (or 148.5/1.001 MHz) time-stamp is used as the RTP 163 timestamp. This allows the receiver to reconstruct the timing of the 164 SMPTE 292M stream, without knowledge of the exact type of source format 165 (e.g. SMPTE 274M or SMPTE 296M). 167 The bit length of both timing signals, SAV and EAV+LN+CRC, are multiples 168 of 8bits, 40bits and 80bits, respectively, and therefore are naturally 169 octet aligned. 171 For the video content it is desirable for the video to both octet align 172 when packetized and also adhere to the principles of application level 173 framing, also known as ALF [11]. For YCrCb video, the ALF principle 174 translates into not fragmenting related luminance and chrominance values 175 across packets. For example with the 4:2:0 color subsampling a 4 pixel 176 group is represented by 6 values, Y1 Y2 Y3 Y4 Cr Cb, and video content 177 should be packetized such that these values are not fragmented across 2 178 packets. However, with 10bit words this is a 60bit value which is not 179 octet aligned. To be both octet aligned, and adhere to ALF, an ALF unit 180 must represent 2 groups of 4 Pixels, thereby becoming octet aligned on a 181 15 octet boundary. This length is referred to as the pixel group or 182 pgroup, and it is conveyed in the SDP parameters. The table below, 183 displays the pgroup value for 4:2:2 and 4:4:4 color samplings. 185 When packetizing digital active line content, video data MUST NOT be 186 fragmented within a pgroup. This restraint only applies to active video 187 data between the SAV and EAV timing signals. A pgroup of 1 indicates 188 that data may be split at any octet boundary. This is applicable to 189 instances where the source format is not known. 191 Color 10bit 192 Subsampling Pixels words aligned on octet# pgroup 193 +-----------+------+-------+------------------+-----+ 194 | 4:2:0 | 4 | 6*10 | 2*60/8 = 15 | 15 | 195 +-----------+------+-------+------------------+-----+ 196 | 4:2:2 | 2 | 4*10 | 40/8 = 5 | 5 | 197 +-----------+------+-------+------------------+-----+ 198 | 4:4:4 | 1 | 3*10 | 4*30/8 = 15 | 15 | 199 +-----------+------+-------+------------------+-----+ 201 4. RTP Packetization 203 The standard RTP header is followed by a 4 octet payload header, and the 204 payload data. 206 0 1 2 3 207 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 208 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 209 | V |P|X| CC |M| PT | sequence# (low bits) | 210 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 211 | time stamp | 212 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 213 | ssrc | 214 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 215 | sequence# (high bits) |F|V| Z | line no | 216 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 217 | | 218 . SMPTE 292M data . 219 . . 220 | | 221 +---------------------------------------------------------------+ 223 4.1. The RTP Header 225 The following fields of the RTP fixed header are used for SMPTE 292M 226 encapsulation: 228 Payload Type (PT): 7bits 229 A dynamically allocated payload type field which designates the 230 payload as SMPTE 292M. 232 Timestamp: 32 bits 233 For a SMPTE 292M transport stream at 1.485 Gbps (or 1.485/1.001 234 Gbps), the timestamp field contains a 148.5 MHz (or 148.5/1.001 235 MHz) timestamp, respectively. This allows for a unique timestamp 236 for each 10bit word. 238 Marker bit (M): 1bit 239 The Marker bit denotes the end of a video frame, and is set to 1 240 for the last packet of the video frame and is otherwise set to 0 241 for all other packets. 243 Sequence Number (low bits): 16 bits 244 The low order bits for RTP sequence counter. The standard 16 bit 245 RTP sequence number is augmented with another 16 bits in the 246 payload header in order to accommodate the 1.485 Gbps data rate of 247 SMPTE 292M. 249 4.2. Payload Header 251 Sequence Number (high bits): 16bits 252 The high order bits for the 32bit RTP sequence counter. 254 F: 1bit 255 The F bit as defined in the SMPTE 292M timing signals (see 256 Table 1). F=1 identifies field 2 and F=0 identifies field 1. 258 V: 1bit 259 The V bit as defined in the SMPTE 292M timing signals (see 260 Table 1). V=1 during field blanking, and V=0 else where. 262 Z: 2bits 263 SHOULD be set to zero by the sender and MUST be ignored by 264 receivers. 266 Line No: 11bits 267 The line number of the source data format, extracted from the 268 SMPTE 292M stream (see Table 2). The line number MUST correspond 269 to the line number of the first 10bit word in the packet. 271 5. RTCP Considerations 273 RFC1889 recommends transmission of RTCP packets every 5 seconds or at a 274 reduced minimum in seconds of 360 divided by the session bandwidth in 275 kilobits/seconds. At 1.485 Gbps the reduced minimum interval computes to 276 0.2ms or 4028 packets per second. 278 It should be noted that the sender's octet count in SR packets wraps 279 around in 23 seconds, and that the cumulative number of packets lost 280 wraps around in 93 seconds. This means these two fields cannot 281 accurately represent octet count and number of packets lost since the 282 beginning of transmission, as defined in RFC1889. Therefore for network 283 monitoring purposes other means of keeping track of these variables 284 should be used. 286 6. IANA Considerations 288 This document defines a new RTP payload format and associated MIME type, 289 SMPTE292M. The MIME registration form for SMPTE 292M video is enclosed 290 below: 292 MIME media type name: video 294 MIME subtype name: SMPTE292M 296 Required parameters: rate 297 The RTP timestamp clock rate. The clock runs at either 148500000 Hz or 298 148500000/1.001 Hz. If the latter rate is used a timestamp of 299 148351000 300 MUST be used, and receivers MUST interpret this as 148500000/1.001 Hz. 302 Optional parameters: pgroup 303 The RECOMMENDED grouping for aligning 10bit words and octets. 305 Encoding considerations: SMPTE292M video can be transmitted with 306 RTP as specified in "draft-ietf-avt-smpte292-video-05". 308 Security considerations: see draft "draft-ietf-avt-smpte292-video-05" 309 section 8. 311 Interoperability considerations: NONE 313 Published specification: SMPTE292M 314 draft-ietf-avt-smpte292-video-05 316 Applications which use this media type: 317 Video communication. 319 Additional information: None 321 Magic number(s): None 323 File extension(s): None 325 Macintosh File Type Code(s): None 327 Person & email address to contact for further information: 328 Ladan Gharai 329 IETF AVT working group. 331 Intended usage: COMMON 333 Author/Change controller: 334 Ladan Gharai 336 7. Mapping to SDP Parameters 338 Parameters are mapped to SDP [12] as follows: 340 m=video 30000 RTP/AVP 111 341 a=rtpmap:111 SMPTE292M/148500000 342 a=fmtp:111 pgroup=5 344 In this example, a dynamic payload type 111 is used for SMPTE292M. The 345 RTP timestamp is 148500000 Hz and the SDP parameter pgroup, indicates 346 that for video data after the SAV signal, must be packetized in 347 multiples of 5 octets. 349 8. Security Considerations 351 RTP packets using the payload format defined in this specification are 352 subject to the security considerations discussed in the RTP 353 specification, and any appropriate RTP profile. This implies that 354 confidentiality of the media streams is achieved by encryption. 356 This payload type does not exhibit any significant non-uniformity in the 357 receiver side computational complexity for packet processing to cause a 358 potential denial-of-service threat. 360 It is perhaps to be noted that the bandwidth of this payload is high 361 enough (1.485 Gbps without the RTP overhead) to cause potential for 362 denial-of-service if transmitted onto most currently available Internet 363 paths. In the absence from the standards track of a suitable congestion 364 control mechanism for flows of this sort, use of the payload should be 365 narrowly limited to suitably connected network endpoints, or to networks 366 where QoS guarantees are available, and great care taken with the scope 367 of multicast transmissions. This potential threat is common to all high 368 bit rate applications without congestion control. 370 9. Full Copyright Statement 372 Copyright (C) The Internet Society (2002). All Rights Reserved. 374 This document and translations of it may be copied and furnished to 375 others, and derivative works that comment on or otherwise explain it or 376 assist in its implementation may be prepared, copied, published and 377 distributed, in whole or in part, without restriction of any kind, 378 provided that the above copyright notice and this paragraph are included 379 on all such copies and derivative works. 381 However, this document itself may not be modified in any way, such as by 382 removing the copyright notice or references to the Internet Society or 383 other Internet organizations, except as needed for the purpose of 384 developing Internet standards in which case the procedures for 385 copyrights defined in the Internet Standards process must be followed, 386 or as required to translate it into languages other than English. 388 The limited permissions granted above are perpetual and will not be 389 revoked by the Internet Society or its successors or assigns. 391 This document and the information contained herein is provided on an "AS 392 IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK 393 FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT 394 LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT 395 INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR 396 FITNESS FOR A PARTICULAR PURPOSE." 398 10. Authors' Addresses 400 Ladan Gharai 401 ladan@isi.edu 402 USC/ISI 403 3811 Fairfax Dr 404 Arlington, VA 22203-1695 405 Gary Goncher 406 ggoncher@tek.com 408 Colin Perkins 409 csp@isi.edu 410 USC/ISI 411 3811 Fairfax Dr 412 Arlington, VA 22203-1695 414 Allison Mankin 415 mankin@isi.edu 416 USC/ISI 417 3811 Fairfax Dr 418 Arlington, VA 22203-1695 420 11. Acknowledgment 422 We would like to thank David Richardson for his insightful comments and 423 contributions to the draft. 425 12. Bibliography 427 [1] Society of Motion Picture and Television Engineers, 428 Bit-Serial Digital Interface for High-Definition Television 429 Systems, SMPTE 292M-1998. 431 [2] Society of Motion Picture and Television Engineers, 432 Digital Representation and Bit-Parallel Interface - 1125/60 433 High-Definition Production System, SMPTE 260M-1999. 435 [3] Society of Motion Picture and Television Engineers, 436 1920x1080 50Hz, Scanning and Interface, SMPTE 295M-1997. 438 [4] Society of Motion Picture and Television Engineers, 439 1920x1080 Scanning and Analog and Parallel Digital Interfaces 440 for Multiple Picture Rates, SMPTE 274M-1998. 442 [5] Society of Motion Picture and Television Engineers, 443 1280x720 Scanning, Analog and Digital Representation and Analog 444 Interfaces, SMPTE 296M-1998. 446 [6] ISO/IEC International Standard 13818-2; "Generic coding of 447 moving pictures and associated audio information: Video", 1996. 449 [7] ATSC Digital Television Standard Document A/53, September 1995, 450 http://www.atsc.org 452 [8] ISO/IEC International Standard 13818-1; "Generic coding of 453 moving pictures and associated audio information: Systems",1996. 455 [9] Hoffman, Fernando, Goyal, Civanlar, "RTP Payload Format for 456 MPEG1/MPEG2 Video", RFC 2250, IETF, January 1998. 458 [10] S. Bradner, "Key words for use in RFCs to Indicate 459 Requirement Levels", RFC 2119. 461 [11] Clark, D. D., and Tennenhouse, D. L., "Architectural Considerations 462 for a New Generation of Protocols", In Proceedings of SIGCOMM '90 463 (Philadelphia, PA, Sept. 1990), ACM. 465 [12] M. Handley and V. Jacobson, "SDP: Session Description Protocol", 466 RFC 2327, April 1998.