idnits 2.17.1 draft-ietf-payload-rtp-ancillary-07.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There is 1 instance of too long lines in the document, the longest one being 1 character in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (January 8, 2017) is 2665 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) -- Possible downref: Non-RFC (?) normative reference: ref. 'BT1120' -- Possible downref: Non-RFC (?) normative reference: ref. 'BT1700' -- Possible downref: Non-RFC (?) normative reference: ref. 'ST291' -- Obsolete informational reference (is this intentional?): RFC 2326 (Obsoleted by RFC 7826) Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 A/V Transport Payloads Working Group T. Edwards 3 Internet-Draft FOX 4 Intended status: Standards Track January 8, 2017 5 Expires: July 12, 2017 7 RTP Payload for SMPTE ST 291 Ancillary Data 8 draft-ietf-payload-rtp-ancillary-07 10 Abstract 12 This memo describes a real-time transport protocol (RTP) payload 13 format for the Society of Motion Picture and Television Engineers 14 (SMPTE) Ancillary data, as defined by SMPTE ST 291-1. SMPTE 15 Ancillary data is generally used along with professional video 16 formats to carry a range of ancillary data types, including time 17 code, Closed Captioning, and the Active Format Description (AFD). 19 Status of This Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at http://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on July 12, 2017. 36 Copyright Notice 38 Copyright (c) 2017 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (http://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 54 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 55 2. RTP Payload Format for SMPTE ST 291 Ancillary Data . . . . . 3 56 2.1. Payload Header Definitions . . . . . . . . . . . . . . . 5 57 3. Payload Format Parameters . . . . . . . . . . . . . . . . . . 8 58 3.1. Media Type Definition . . . . . . . . . . . . . . . . . . 9 59 4. SDP Considerations . . . . . . . . . . . . . . . . . . . . . 10 60 4.1. Grouping ANC Streams with other Media Streams . . . . . . 12 61 5. Offer/Answer Model and Declarative Considerations . . . . . . 12 62 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 63 7. Security Considerations . . . . . . . . . . . . . . . . . . . 13 64 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 65 8.1. Normative References . . . . . . . . . . . . . . . . . . 13 66 8.2. Informative References . . . . . . . . . . . . . . . . . 15 67 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 16 69 1. Introduction 71 This memo describes a real-time transport protocol (RTP) payload 72 format for the Society of Motion Picture and Television Engineers 73 (SMPTE) Ancillary data (ANC), as defined by SMPTE ST 291-1 [ST291]. 74 ANC data is transmitted in the ancillary space of serial digital 75 video interfaces, the space outside of the active video region of 76 images intended for users to view. Ancillary space roughly 77 corresponds to vertical and horizontal blanking periods required by 78 cathode ray tube type displays. ANC can carry a range of data types, 79 including time code, Closed Captioning, and the Active Format 80 Description (AFD). 82 ANC is generally associated with the carriage of metadata within the 83 bit stream of a Serial Digital Interface (SDI) such as SMPTE ST 259 84 [ST259], the standard definition (SD) Serial Digital Interface (with 85 ANC data inserted as per SMPTE ST 125 [ST125]), or SMPTE ST 292-1 86 [ST292], the 1.5 Gb/s Serial Digital Interface for high definition 87 (HD) television applications. 89 ANC data packet payload definitions for a specific application are 90 specified by a SMPTE Standard, Recommended Practice, Registered 91 Disclosure Document, or by a document generated by another 92 organization, a company, or an individual (an Entity). When a 93 payload format is registered with SMPTE, an application document 94 describing the payload format is required, and the registered 95 ancillary data packet is identified by a registered data 96 identification word. 98 This memo describes an RTP payload that supports ANC data packets 99 regardless of whether they originate from an SD or HD interface, or 100 if the ANC data packet is from the vertical ancillary space (VANC) or 101 the horizontal ancillary space (HANC), or if the ANC packet is 102 located in the luma (Y) or color-difference (C) channel. Sufficient 103 information is provided to enable the ANC data packets at the output 104 of the decoder to be restored to their original locations in the 105 serial digital video signal raster (if that is desired). An optional 106 Media Type parameter allows for signaling of carriage of one or more 107 types of ANC data as specified by Data Identification (DID) or 108 Secondary Data Identification (SDID) words. Another optional Media 109 Type parameter allows for the identification of a link number in dual 110 and quad link SDI applications. 112 It should be noted that the ancillary data flag (ADF) word is not 113 specifically carried in this RTP payload. The ADF may be specified 114 in a document defining an interconnecting digital video interface, 115 otherwise a default ADF is specified by SMPTE ST 291-1 [ST291]. 117 This ANC payload can be used by itself, or used along with a range of 118 RTP video formats. In particular, it has been designed so that it 119 could be used along with RFC 4175 [RFC4175] "RTP Payload Format for 120 Uncompressed Video" or RFC 5371 [RFC5371] "RTP Payload Format for 121 JPEG 2000 Video Streams." 123 The data model in this document for the ANC data RTP payload is based 124 on the data model of SMPTE ST 2038 [ST2038], which standardizes the 125 carriage of ANC data packets in an MPEG-2 Transport Stream. 127 1.1. Requirements Language 129 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 130 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 131 document are to be interpreted as described in RFC 2119 [RFC2119]. 133 2. RTP Payload Format for SMPTE ST 291 Ancillary Data 135 An example of the format of an RTP packet containing SMPTE ST 291 136 Ancillary Data is shown below: 138 0 1 2 3 139 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 140 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 141 |V=2|P|X| CC |M| PT | sequence number | 142 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 143 | timestamp | 144 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 145 | synchronization source (SSRC) identifier | 146 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 147 | Extended Sequence Number | Length | 148 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 149 | ANC_Count | reserved | 150 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 151 |C| Line_Number | Horizontal_Offset | reserved | 152 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 153 | DID | SDID | Data_Count | 154 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 155 User_Data_Words... 156 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 157 | Checksum_Word | word_align | 158 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 159 |C| Line_Number | Horizontal_Offset | reserved | 160 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 161 | DID | SDID | Data_Count | 162 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 163 User_Data_Words... 164 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 165 | Checksum_Word |word_align | 166 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 168 Figure 1: SMPTE Ancillary Data RTP Packet Format 170 In this example, two ANC data packets are present. The first has 171 four 10-bit User Data Words, and the second has five 10-bit User Data 172 Words. 174 RTP packet header fields SHALL be interpreted as per RFC 3550 175 [RFC3550], with the following specifics: 177 Timestamp: 32 bits 178 The timestamp field is interpreted in a similar fashion to 179 RFC 4175 [RFC4175]: 181 For progressive scan video, the timestamp denotes the 182 sampling instant of the frame to which the ancillary data in 183 the RTP packet belongs. RTP packets MUST NOT include ANC 184 data from multiple frames, and all RTP packets with ANC data 185 belonging to the same frame MUST have the same timestamp. 187 For interlaced video, the timestamp denotes the sampling 188 instant of the field to which the ancillary data in the RTP 189 packet belongs. RTP packets MUST NOT include ANC data from 190 multiple fields, and all RTP packets belonging to the same 191 field MUST have the same timestamp. 193 If the sampling instant does not correspond to an integer 194 value of the clock, the value SHALL be truncated to the next 195 lowest integer, with no ambiguity. Section 3.1 describes 196 recommended timestamp clock rates. 198 Marker bit (M): 1 bit 199 The marker bit set to "1" indicates the last ANC RTP packet 200 for a frame (for progressive scan video) or the last ANC RTP 201 packet for a field (for interlaced video). 203 2.1. Payload Header Definitions 205 The ANC RTP payload header fields are defined as: 207 Extended Sequence Number: 16 bits 208 The high order bits of the extended 32-bit sequence number, 209 in network byte order. This is the same as the Extended 210 Sequence Number field in RFC 4175 [RFC4175]. 212 Length: 16 bits 213 Number of octets of the ANC RTP payload, beginning with the 214 "C" bit of the first ANC packet data, as an unsigned integer 215 in network byte order. Note that all the word_align fields, 216 including the last one in the RTP packet, contribute to the 217 calculation of the length field. 219 ANC_Count: 8 bits 220 This field is the count of the total number of ANC data 221 packets carried in the RTP payload, as an unsigned integer in 222 network byte order. A single ANC RTP packet payload cannot 223 carry more than 255 ANC data packets. 225 If more than 255 ANC data packets need to be carried in a 226 field or frame, additional RTP packets carrying ANC data MAY 227 be sent with the same RTP timestamp but with different 228 sequence numbers. ANC_Count of 0 indicates that there are no 229 ANC data packets in the payload (for example, for an RTP 230 packet with the marker bit set indicating the last ANC RTP 231 packet in a field/frame, even if that RTP packet carries no 232 actual ANC data packets.) 234 reserved: 24 bits 235 The 24 reserved bits of value "0" follow the ANC_Count field 236 to ensure that the first ANC data packet header field in the 237 payload begins 32-bit word-aligned to ease implementation. 239 For each ANC data packet in the payload, the following ANC data 240 packet header fields MUST be present: 242 C: 1 bit 243 For HD signals, this flag, when set to "1", indicates that 244 the ANC data corresponds to the color-difference channel (C). 245 When set to "0", this flag indicates that the ANC data 246 corresponds to the luma (Y) channel. For SD signals, this 247 flag SHALL be set to "0". 249 Line_Number: 11 bits 250 This field contains the line number (as defined in ITU-R 251 BT.1700 [BT1700] for SD video or ITU-R BT.1120 [BT1120] for 252 HD video) that corresponds to the location of the ANC data 253 packet in an SDI raster as an unsigned integer in network 254 byte order. A value of 0x7FF (all bits in the field are '1') 255 indicates that the ANC data is carried without a specific 256 line location within the field or frame. A value of 0x7FE 257 indicates that the ANC data may be placed into any legal area 258 of VANC, specifically. 260 Note that the lines that are available to convey ANC data are 261 as defined in the applicable sample structure specification 262 (e.g., SMPTE 274M [ST274], SMPTE ST 296 [ST296], ITU-R BT.656 263 [BT656]) and may be further restricted per SMPTE RP 168 264 [RP168]. 266 Horizontal_Offset: 12 bits 267 This field defines the location of the ANC data packet in an 268 SDI raster relative to the start of active video (SAV) as an 269 unsigned integer in network byte order. A value of 0 means 270 that that within the original SDI signal, the Ancillary Data 271 Flag (ADF) of the ANC data packet begins immediately 272 following SAV. For HD, this is in units of luma sample 273 numbers as specified by the defining document of the 274 particular image (e.g., SMPTE 274M [ST274] for 1920 x 1080 275 active images, or SMPTE ST 296 [ST296] for 1280 x 720 276 progressive active images). For SD, this is in units of 277 (27MHz) multiplexed word numbers, as specified in SMPTE ST 278 125 [ST125]. A value of 0xFFF (all bits in the field are 279 '1') indicates that the ANC data is carried without any 280 specific location within the line. A value of 0xFFE 281 indicates that the ANC data may be placed into any legal area 282 of HANC, specifically. 284 Note that HANC space in the digital blanking area will 285 generally have higher luma sample numbers than any samples in 286 the active digital line. 288 reserved: 8 bits 289 One octet is reserved between Horizontal_Offset and DID 290 fields, and contains "0" bits. These reserved bits ensure 291 that the ANC data packet begins on a 32-bit word-aligned 292 boundary for ease of implementation. 294 An ANC data packet with the header fields Line_Number of 0x7FF and 295 Horizontal_Offset of 0xFFF SHALL be considered to be carried without 296 any specific location within the field or frame. 298 For each ANC data packet in the payload, immediately after the ANC 299 data packet header fields, the following data fields MUST be present, 300 with the fields DID, SDID, Data_Count, User_Data_Words, and 301 Checksum_Word representing the 10-bit words carried in the ANC data 302 packet, as per SMPTE ST 291-1 [ST291]: 304 DID: 10 bits 305 Data Identification Word 307 SDID: 10 bits 308 Secondary Data Identification Word. Used only for a "Type 2" 309 ANC data packet. Note that in a "Type 1" ANC data packet, 310 this word will actually carry the Data Block Number (DBN). 312 Data_Count: 10 bits 313 The lower 8 bits of Data_Count, corresponding to bits b7 314 (MSB) through b0 (LSB) of the 10-bit Data_Count word, contain 315 the actual count of 10-bit words in User_Data_Words. Bit b8 316 is the even parity for bits b7 through b0, and bit b9 is the 317 inverse (logical NOT) of bit b8. 319 User_Data_Words: integer number of 10 bit words 320 User_Data_Words (UDW) are used to convey information of a 321 type as identified by the DID word or the DID and SDID words. 322 The number of 10-bit words in the UDW is defined by the 323 Data_Count field. 325 Checksum_Word: 10 bits 326 The Checksum_Word can be used to determine the validity of 327 the ANC data packet from the DID word through the UDW. It 328 consists of 10 bits, where bits b8 (MSB) through b0 (LSB) 329 define the checksum value and bit b9 is the inverse (logical 330 NOT) of bit b8. The checksum value is equal to the nine 331 least significant bits of the sum of the nine least 332 significant bits of the DID word, the SDID word, the 333 Data_Count word, and all User_Data_Words in the ANC data 334 packet. The checksum is initialized to zero before 335 calculation, and any end carry resulting from the checksum 336 calculation is ignored. 338 At the end of each ANC data packet in the payload: 340 word_align: bits as needed to complete 32-bit word 341 Word align contains enough "0" bits as needed to complete the 342 last 32-bit word of ANC packet's data in the RTP payload. If 343 an ANC data packet in the RTP payload ends aligned with a 344 word boundary, there is no need to add any word alignment 345 bits. Word align should be used even for the last ANC data 346 packet in an RTP packet. 348 When reconstructing an SDI signal based on this payload, it is 349 important to place ANC data packets into the locations indicated by 350 the ANC payload header fields C, Line_Number and Horizontal_Offset, 351 and also to follow the requirements of SMPTE ST 291-1 [ST291] 352 Section 7 "Ancillary Data Space Formatting (Component or Composite 353 Interface)", which include rules on the placement of initial ANC data 354 into allowed spaces as well as the contiguity of ANC data packet 355 sequences within those spaces in order to assure that the resulting 356 ANC data packets in the SDI signal are valid. 358 Senders of this payload SHOULD transmit available ANC data packets as 359 soon as practical to reduce end-to-end latency, especially if 360 receivers will be embedding the received ANC data packet into an SDI 361 signal emission. One millisecond is a reasonable upper bound for the 362 amount of time between when an ANC data packet becomes available to a 363 sender and the emission of an RTP payload containing that ANC data 364 packet. 366 ANC data packets with headers that specify specific location within a 367 field or frame SHOULD be sent in raster scan order, both in terms of 368 packing position within an RTP packet and in terms of transmission 369 time of RTP packets. 371 3. Payload Format Parameters 373 This RTP payload format is identified using the video/smpte291 media 374 type, which is registered in accordance with RFC 4855 [RFC4855], and 375 using the template of RFC 6838 [RFC6838]. 377 Note that the Media Type Definition is in the "video" tree due to the 378 expected use of SMPTE ST 291 Ancillary Data along with video formats. 380 3.1. Media Type Definition 382 Type name: video 384 Subtype name: smpte291 386 Required parameters: 388 Rate: 389 RTP timestamp clock rate. 391 When an ANC RTP stream is to be associated with an RTP video 392 stream, the RTP timestamp rates SHOULD be the same to ensure 393 that ANC data packets can be associated with the appropriate 394 frame or field. Otherwise, a 90 kHz rate SHOULD be used. 396 Note that techniques described in RFC 7273 [RFC7273] can 397 provide a common reference clock for multiple RTP streams 398 intended for synchronized presentation. 400 Optional parameters: 402 DID_SDID: 403 Data identification and Secondary data identification words. 405 The presence of the DID_SDID parameters signals that all 406 ancillary data packets of this stream are of a particular type 407 or types, i.e., labeled with a particular DIDs and SDIDs. DID 408 and SDID values of SMPTE Registered ANC packet types can be 409 found on the at the SMPTE Registry for Data Identification Word 410 Assignments [SMPTE-RA] web site. 412 "Type 1" ANC packets (which do not have SDIDs defined) SHALL be 413 labeled with SDID=0x00. 415 DID and SDID values can be registered with SMPTE as per SMPTE 416 ST 291-1 [ST291]. 418 The absence of the DID_SDID parameter signals that in order to 419 determine the DID and SDID of ANC packets in the payload, the 420 DID and SDID fields of each ANC packet must be inspected. 422 LinkNumber: 423 This integer parameter specifies that ANC data in the stream 424 comes from a specific link number (1-4) of SDI interfaces that 425 use dual or quad link. 427 Encoding considerations: This media type is framed and binary; see 428 Section 4.8 of RFC 6838 [RFC6838]. 430 Security considerations: See Section 7 of [this RFC] 432 Interoperability considerations: Data items in smpte291 can be very 433 diverse. Receivers might only be capable of interpreting a subset of 434 the possible data items. Some implementations may care about the 435 location of the ANC data packets in the SDI raster, but other 436 implementations may not care. 438 Published specification: [this RFC] 440 Applications that use this media type: Devices that stream real-time 441 professional video, especially those that must interoperate with 442 legacy serial digital interfaces (SDI). 444 Additional Information: 446 Deprecated alias names for this type: N/A 448 Magic number(s): N/A 450 File extension(s): N/A 452 Macintosh file type code(s): N/A 454 Person & email address to contact for further information: T. 455 Edwards , IETF Payload Working Group 456 458 Intended usage: COMMON 460 Restrictions on usage: This media type depends on RTP framing, and 461 hence is only defined for transfer via RTP RFC 3550 [RFC3550]. 462 Transport within other framing protocols is not defined at this time. 464 Author: T. Edwards 466 Change controller: The IETF PAYLOAD working group, or other party as 467 designated by the IESG. 469 4. SDP Considerations 471 The mapping of the above defined payload format media type and its 472 parameters SHALL be done according to Section 3 of RFC 4855 473 [RFC4855]. 475 o The type name ("video") goes in SDP "m=" as the media name. 477 o The subtype name ("smpte291") goes in SDP "a=rtpmap" as the 478 encoding name, followed by a slash ("/") and the required rate 479 parameter. 481 o The optional parameters LinkNumber and DID_SDID, when present, are 482 included in the "a=fmtp" attribute line of SDP as a semicolon- 483 separated list of parameter=value pairs. 485 DID and SDID values SHALL be specified in hexadecimal with a "0x" 486 prefix (such as "0x61"). The ABNF as per RFC 5234 [RFC5234] of the 487 DID_SDID optional parameter SHALL be: 489 TwoHex = "0x" 1*2(HEXDIG) 490 DidSdid = "DID_SDID={" TwoHex "," TwoHex "}" 492 For example, EIA 608 Closed Caption data would be signalled with the 493 parameter DID_SDID={0x61,0x02}. If a DID_SDID parameter is not 494 specified, then the ancillary data stream may potentially contain 495 ancillary data packets of any type. 497 Multiple DID_SDID parameters may be specified (separated by 498 semicolons) to signal the presence of multiple types of ANC data in 499 the stream. DID_SDID={0x61,0x02};DID_SDID={0x41,0x05}, for example, 500 signals the presence of EIA 608 Closed Captions as well as AFD/Bar 501 Data. Multiple DID_SDID parameters do not imply any particular 502 ordering of the different types of ANC packets in the stream. 504 If the optional parameter LinkNumber is present, it SHALL be present 505 only once in the semicolon-separated list, taking a single integer 506 value. 508 A sample SDP mapping for ancillary data is as follows: 510 m=video 30000 RTP/AVP 112 511 a=rtpmap:112 smpte291/90000 512 a=fmtp:112 DID_SDID={0x61,0x02};DID_SDID={0x41,0x05};LinkNumber=3 514 In this example, a dynamic payload type 112 is used for ancillary 515 data. The 90 kHz RTP timestamp rate is specified in the "a=rtpmap" 516 line after the subtype. The RTP sampling clock is 90 kHz. In the 517 "a=fmtp:" line, DID 0x61 and SDID 0x02 are specified (registered to 518 EIA 608 Closed Caption Data by SMPTE), and also DID 0x41 and SDID 519 0x05 (registered to AFD/Bar Data). The LinkNumber is 3. 521 4.1. Grouping ANC Streams with other Media Streams 523 To associate an ANC RTP stream with other media streams, implementers 524 may wish to use the Lip Synchronization (LS) grouping defined in RFC 525 5888 [RFC5888], which requires that "m" lines that are grouped 526 together using LS semantics MUST synchronize the playout of the 527 corresponding media streams. 529 A sample SDP mapping for grouping ANC data with RFC 4175 video using 530 LS semantics is as follows: 532 v=0 533 o=Al 123456 11 IN IP4 host.example.com 534 s=Professional Networked Media Test 535 i=A test of synchronized video and ANC data 536 t=0 0 537 a=group:LS V1 M1 538 m=video 50000 RTP/AVP 96 539 c=IN IP4 233.252.0.1/255 540 a=rtpmap:96 raw/90000 541 a=fmtp:96 sampling=YCbCr-4:2:2; width=1280; height=720; depth=10 542 a=mid:V1 543 m=video 50010 RTP/AVP 97 544 c=IN IP4 233.252.0.2/255 545 a=rtpmap:97 smpte291/90000 546 a=fmtp:97 DID_SDID={0x61,0x02};DID_SDID={0x41,0x05} 547 a=mid:M1 549 5. Offer/Answer Model and Declarative Considerations 551 Receivers may with to receive ANC data streams with specific DID_SDID 552 parameters. Thus when offering ANC data streams using the Session 553 Description Protocol (SDP) in an Offer/Answer model [RFC3264] or in a 554 declarative manner (e.g., SDP in the Real-Time Streaming Protocol 555 (RTSP) [RFC2326] or the Session Announcement Protocol (SAP) 556 [RFC2974]), the offerer may provide a list of ANC streams available 557 with specific DID_SDID parameters in the fmtp line. The answerer may 558 respond with all or a subset of the streams offered along with fmtp 559 lines with all or a subset of the DID_SDID parameters offered. Or 560 the answerer may reject the offer. There are no restrictions on 561 updating DID_SDID parameters in a subsequent offer. 563 6. IANA Considerations 565 One media type (video/smpte291) has been defined and needs 566 registration in the media types registry. See Section 3.1 568 7. Security Considerations 570 RTP packets using the payload format defined in this specification 571 are subject to the security considerations discussed in the RTP 572 specification [RFC3550], and in any applicable RTP profile such as 573 RTP/AVP [RFC3551], RTP/AVPF [RFC4585] RTP/SAVP [RFC3711] or RTP/SAVPF 574 [RFC5124]. However, as "Securing the RTP Protocol Framework: Why RTP 575 Does Not Mandate a Single Media Security Solution" [RFC7202] 576 discusses, it is not an RTP payload format's responsibility to 577 discuss or mandate what solutions are used to meet the basic security 578 goals like confidentiality, integrity and source authenticity for RTP 579 in general. This responsibility lays on anyone using RTP in an 580 application. They can find guidance on available security mechanisms 581 and important considerations in Options for Securing RTP Sessions 582 [RFC7201]. Applications SHOULD use one or more appropriate strong 583 security mechanisms. The rest of this security consideration section 584 discusses the security impacting properties of the payload format 585 itself. 587 To avoid potential buffer overflow attacks, receivers should take 588 care to validate that the ANC data packets in the RTP payload are of 589 the appropriate length (using the Data_Count field) for the ANC data 590 type specified by DID & SDID. Also the Checksum_Word should be 591 checked against the ANC data packet to ensure that its data has not 592 been damaged in transit, but the Checksum_Word is unlikely to provide 593 a payload integrity check in case of a directed attack. 595 Some receivers will simply move the ANC data packet bits from the RTP 596 payload into a serial digital interface (SDI). It may still be a 597 good idea for these "re-embedders" to perform the above mentioned 598 validity tests to avoid downstream SDI systems from becoming confused 599 by bad ANC data packets, which could be used for a denial of service 600 attack. 602 "Re-embedders" into SDI should also double check that the Line_Number 603 and Horizontal_Offset leads to the ANC data packet being inserted 604 into a legal area to carry ancillary data in the SDI video bit stream 605 of the output video format. 607 8. References 609 8.1. Normative References 611 [BT1120] ITU-R, "BT.1120-8, Digital Interfaces for HDTV Studio 612 Signals", January 2012. 614 [BT1700] ITU-R, "BT.1700, Characteristics of Composite Video 615 Signals for Conventional Analogue Television Systems", 616 February 2005. 618 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 619 Requirement Levels", BCP 14, RFC 2119, 620 DOI 10.17487/RFC2119, March 1997, 621 . 623 [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model 624 with Session Description Protocol (SDP)", RFC 3264, 625 DOI 10.17487/RFC3264, June 2002, 626 . 628 [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. 629 Jacobson, "RTP: A Transport Protocol for Real-Time 630 Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, 631 July 2003, . 633 [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and 634 Video Conferences with Minimal Control", STD 65, RFC 3551, 635 DOI 10.17487/RFC3551, July 2003, 636 . 638 [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. 639 Norrman, "The Secure Real-time Transport Protocol (SRTP)", 640 RFC 3711, DOI 10.17487/RFC3711, March 2004, 641 . 643 [RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey, 644 "Extended RTP Profile for Real-time Transport Control 645 Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585, 646 DOI 10.17487/RFC4585, July 2006, 647 . 649 [RFC4855] Casner, S., "Media Type Registration of RTP Payload 650 Formats", RFC 4855, DOI 10.17487/RFC4855, February 2007, 651 . 653 [RFC5124] Ott, J. and E. Carrara, "Extended Secure RTP Profile for 654 Real-time Transport Control Protocol (RTCP)-Based Feedback 655 (RTP/SAVPF)", RFC 5124, DOI 10.17487/RFC5124, February 656 2008, . 658 [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 659 Specifications: ABNF", STD 68, RFC 5234, 660 DOI 10.17487/RFC5234, January 2008, 661 . 663 [RFC5888] Camarillo, G. and H. Schulzrinne, "The Session Description 664 Protocol (SDP) Grouping Framework", RFC 5888, 665 DOI 10.17487/RFC5888, June 2010, 666 . 668 [RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type 669 Specifications and Registration Procedures", BCP 13, 670 RFC 6838, DOI 10.17487/RFC6838, January 2013, 671 . 673 [ST291] SMPTE, "ST 291-1:2011, Ancillary Data Packet and Space 674 Formatting", 2011. 676 8.2. Informative References 678 [BT656] ITU-R, "BT.656-5, Interfaces for Digital Component Video 679 Signals in 525-Line and 625-Line Television Systems 680 Operating at the 4:2:2 Level of Recommendation ITU-R 681 BT.601", December 2007. 683 [RFC2326] Schulzrinne, H., Rao, A., and R. Lanphier, "Real Time 684 Streaming Protocol (RTSP)", RFC 2326, 685 DOI 10.17487/RFC2326, April 1998, 686 . 688 [RFC2974] Handley, M., Perkins, C., and E. Whelan, "Session 689 Announcement Protocol", RFC 2974, DOI 10.17487/RFC2974, 690 October 2000, . 692 [RFC4175] Gharai, L. and C. Perkins, "RTP Payload Format for 693 Uncompressed Video", RFC 4175, DOI 10.17487/RFC4175, 694 September 2005, . 696 [RFC5371] Futemma, S., Itakura, E., and A. Leung, "RTP Payload 697 Format for JPEG 2000 Video Streams", RFC 5371, 698 DOI 10.17487/RFC5371, October 2008, 699 . 701 [RFC7201] Westerlund, M. and C. Perkins, "Options for Securing RTP 702 Sessions", RFC 7201, DOI 10.17487/RFC7201, April 2014, 703 . 705 [RFC7202] Perkins, C. and M. Westerlund, "Securing the RTP 706 Framework: Why RTP Does Not Mandate a Single Media 707 Security Solution", RFC 7202, DOI 10.17487/RFC7202, April 708 2014, . 710 [RFC7273] Williams, A., Gross, K., van Brandenburg, R., and H. 711 Stokking, "RTP Clock Source Signalling", RFC 7273, 712 DOI 10.17487/RFC7273, June 2014, 713 . 715 [RP168] SMPTE, "RP 168:2009, Definition of Vertical Interval 716 Switching Point for Synchronous Video Switching", 2009. 718 [SMPTE-RA] 719 SMPTE Registration Authority, LLC, "SMPTE ST 291 Ancillary 720 Data Identification Word Assignments for Registered DIDs", 721 2011, . 724 [ST125] SMPTE, "ST 125:2013, SDTV Component Video Signal Coding 725 4:4:4 and 4:2:2 for 13.5 MHz and 18 MHz Systems", 2013. 727 [ST2038] SMPTE, "ST 2038:2008, Carriage of Ancillary Data Packets 728 in an MPEG-2 Transport Stream", 2008. 730 [ST259] SMPTE, "ST 259:2008, SDTV Digital Signal/Data - Serial 731 Digital Interface", 2008. 733 [ST274] SMPTE, "ST 274:2008, 1920 x 1080 Image Sample Structure, 734 Digital Representation and Digital Timing Reference 735 Sequences for Multiple Picture Rates", 2008. 737 [ST292] SMPTE, "ST 292-1:2012, 1.5 Gb/s Signal/Data Serial 738 Interface", 2012. 740 [ST296] SMPTE, "ST 296:2012, 1280 x 720 Progressive Image 4:2:2 741 and 4:4:4 Sample Structure - Analog and Digital 742 Representation and Analog Interface", 2012. 744 Author's Address 746 Thomas G. Edwards 747 FOX 748 10201 W. Pico Blvd. 749 Los Angeles, CA 90035 750 USA 752 Phone: +1 310 369 6696 753 Email: thomas.edwards@fox.com