summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc8450.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc8450.txt')
-rw-r--r--doc/rfc/rfc8450.txt1347
1 files changed, 1347 insertions, 0 deletions
diff --git a/doc/rfc/rfc8450.txt b/doc/rfc/rfc8450.txt
new file mode 100644
index 0000000..b141cbd
--- /dev/null
+++ b/doc/rfc/rfc8450.txt
@@ -0,0 +1,1347 @@
+
+
+
+
+
+
+Internet Engineering Task Force (IETF) J. Weaver
+Request for Comments: 8450 BBC
+Category: Standards Track October 2018
+ISSN: 2070-1721
+
+
+ RTP Payload Format for VC-2 High Quality (HQ) Profile
+
+Abstract
+
+ This memo describes an RTP payload format for the High Quality (HQ)
+ profile of Society of Motion Picture and Television Engineers
+ Standard ST 2042-1, known as VC-2. This document describes the
+ transport of HQ Profile VC-2 in RTP packets and has applications for
+ low-complexity, high-bandwidth streaming of both lossless and lossy
+ compressed video.
+
+ The HQ profile of VC-2 is intended for low-latency video compression
+ (with latency potentially on the order of lines of video) at high
+ data rates (with compression ratios on the order of 2:1 or 4:1).
+
+Status of This Memo
+
+ This is an Internet Standards Track document.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Further information on
+ Internet Standards is available in Section 2 of RFC 7841.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ https://www.rfc-editor.org/info/rfc8450.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Weaver Standards Track [Page 1]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+Copyright Notice
+
+ Copyright (c) 2018 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (https://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 2. Conventions, Definitions, and Acronyms . . . . . . . . . . . 3
+ 3. Media Format Description . . . . . . . . . . . . . . . . . . 3
+ 4. Payload Format . . . . . . . . . . . . . . . . . . . . . . . 4
+ 4.1. RTP Header Usage . . . . . . . . . . . . . . . . . . . . 10
+ 4.2. Payload Header . . . . . . . . . . . . . . . . . . . . . 11
+ 4.3. The Choice of Parse Codes (Informative) . . . . . . . . . 13
+ 4.4. Stream Constraints . . . . . . . . . . . . . . . . . . . 14
+ 4.5. Payload Data . . . . . . . . . . . . . . . . . . . . . . 15
+ 4.5.1. Reassembling the Data . . . . . . . . . . . . . . . . 16
+ 5. Forward Error Correction (FEC) Considerations . . . . . . . . 18
+ 6. Congestion Control Considerations . . . . . . . . . . . . . . 18
+ 7. Payload Format Parameters . . . . . . . . . . . . . . . . . . 19
+ 7.1. Media Type Definition . . . . . . . . . . . . . . . . . . 19
+ 7.2. Mapping to the Session Description Protocol (SDP) . . . . 21
+ 7.3. Offer/Answer Considerations . . . . . . . . . . . . . . . 21
+ 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21
+ 9. Security Considerations . . . . . . . . . . . . . . . . . . . 21
+ 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 22
+ 10.1. Normative References . . . . . . . . . . . . . . . . . . 22
+ 10.2. Informative References . . . . . . . . . . . . . . . . . 23
+ Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 24
+
+
+
+
+
+
+
+
+
+
+
+
+Weaver Standards Track [Page 2]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+1. Introduction
+
+ This memo specifies an RTP payload format for the video coding
+ standard Society of Motion Picture and Television Engineers ST
+ 2042-1:2017 [VC2], also known as VC-2
+
+ The VC-2 codec is a wavelet-based codec intended primarily for
+ professional video use with high bit-rates and only low levels of
+ compression. It has been designed to have a low level of complexity
+ and potentially a very low latency through both encoder and decoder:
+ with some choices of parameters, this latency may be as low as a few
+ lines of video.
+
+ The low level of complexity in the VC-2 codec allows for this low-
+ latency operation but also means that it lacks many of the more
+ powerful compression techniques used in other codecs. As such, it is
+ suitable for low compression ratios that produce coded data rates
+ around half to a quarter of that of uncompressed video, at a similar
+ visual quality.
+
+ The primary use for VC-2 is likely to be in professional video
+ production environments.
+
+2. Conventions, Definitions, and Acronyms
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
+ "OPTIONAL" in this document are to be interpreted as described in
+ BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
+ capitals, as shown here.
+
+3. Media Format Description
+
+ The VC-2 specification defines a VC-2 Stream as being composed of one
+ or more Sequences. Each Sequence is independently decodable,
+ containing all of the needed parameters and metadata for configuring
+ the decoder.
+
+ Each Sequence consists of a series of 13-octet Parse Info Headers and
+ variable-length Data Units. The Sequence begins and ends with a
+ Parse Info Header, and each Data Unit is preceded by a Parse Info
+ Header. Data Units come in a variety of types, and the type of a
+ Data Unit is signaled in the preceding Parse Info Header. The most
+ important types are the Sequence Header, which contains configuration
+ data needed by the decoder, and several types of Coded Picture, which
+ contain the coded data for the pictures themselves. Each picture
+ represents a frame in a progressively scanned video Sequence or a
+ field in an interlaced video Sequence.
+
+
+
+Weaver Standards Track [Page 3]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ The first Data Unit in a Sequence as produced by an encoder is always
+ a Sequence Header; however, Sequences can be joined in the middle, so
+ it should not be assumed that the first Data Unit received will
+ always be a Sequence Header.
+
+ The High Quality (HQ) profile for VC-2 restricts the types of Parse
+ Info Headers that may appear in the Sequence (and hence also the
+ types of Data Unit) to only:
+
+ o Sequence Headers (which are always followed by a Data Unit),
+
+ o High Quality Pictures (which are always followed by a Data Unit),
+
+ o High Quality Fragments (which are always followed by a Data Unit),
+
+ o Auxiliary Data (which are always followed by a Data Unit),
+
+ o Padding Data (which are always followed by a Data Unit), and
+
+ o End of Sequence (which are never followed by a Data Unit).
+
+ At the time of writing, there is no definition for the use of
+ Auxiliary Data in VC-2, and Padding Data is required to be ignored by
+ all receivers.
+
+ Each High Quality Picture Data Unit contains a set of parameters for
+ the picture followed by a series of Coded Slices, each representing a
+ rectangular region of the transformed picture. Slices within a
+ picture may vary in coded length, but all represent the same shape
+ and size of rectangle in the picture.
+
+ Each High Quality Fragment Data Unit contains either a set of
+ parameters for a picture or a series of Coded Slices. Fragments
+ carry the same data as pictures, but broken up into smaller units to
+ facilitate transmission via packet-based protocols such as RTP.
+
+ This payload format only makes use of Fragments, not pictures.
+
+4. Payload Format
+
+ In this specification, each RTP packet is used to carry data
+ corresponding to a single Parse Info Header and its following Data
+ Unit (if it has one). A single packet MAY NOT contain data from more
+ than one Parse Info Header or Data Unit. A single Parse Info Header
+ and Data Unit pair MUST NOT be split across more than one packet.
+ The sole exception to this rule is that an Auxiliary Data Unit MAY be
+ split between multiple packets, using the B and E flags to indicate
+ start and end.
+
+
+
+Weaver Standards Track [Page 4]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ This specification only covers the transport of Sequence Headers
+ (together with their accompanying Data Unit), High Quality Fragments
+ (together with their accompanying Data Unit), Auxiliary Data
+ (together with their accompanying Data Unit), and (optionally) End
+ Sequence Headers and Padding Data (for which no Data Unit it
+ carried).
+
+ High Quality Pictures can be transported by converting them into an
+ equivalent set of High Quality Fragments. The size of Fragments
+ should be chosen so as to fit within the MTU of the network in use.
+
+ For this reason, this document defines six types of RTP packets in a
+ VC-2 media stream:
+
+ o a VC-2 Sequence Header (Figure 1) (see Section 11 of the VC-2
+ specification [VC2]),
+
+ o a Picture Fragment containing the VC-2 Transform Parameters for a
+ Picture (Figure 2) (see Section 14 of the VC-2 specification
+ [VC2]),
+
+ o a Picture Fragment containing VC-2 Coded Slices (Figure 3) for a
+ picture (see Section 14 of the VC-2 specification [VC2]),
+
+ o the end of a VC-2 Sequence (Figure 4) (see Section 10.5.2 of the
+ VC-2 specification [VC2]),
+
+ o the contents of an Auxiliary Data Unit (Figure 5) (see
+ Section 10.4.4 of the VC-2 specification [VC2]), and
+
+ o an indication of the presence of a padding Data Unit (Figure 6)
+ (see Section 10.4.5 of the VC-2 specification [VC2]).
+
+ These six packet types can be distinguished by the fact that they use
+ different codes in the Parse Code ("PC") field, except for the two
+ types of Picture Fragment that use the same value in PC but have
+ different values in the "No. of Slices" field.
+
+ The options for PC codes are explained in more detail in Section 4.3.
+
+
+
+
+
+
+
+
+
+
+
+
+Weaver Standards Track [Page 5]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | V |P|X| CC |M| PT | Sequence Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Timestamp |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | synchronization source (SSRC) identifier |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | contributing source (CSRC) identifiers |
+ | .... |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | Optional Extension Header |
+ | .... |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | Extended Sequence Number | Reserved | PC = 0x00 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
+ . .
+ . Variable-Length Coded Sequence Header .
+ . .
+ +---------------------------------------------------------------+
+
+ Figure 1: RTP Payload Format for Sequence Header
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Weaver Standards Track [Page 6]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | V |P|X| CC |M| PT | Sequence Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Timestamp |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | synchronization source (SSRC) identifier |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | contributing source (CSRC) identifiers |
+ | .... |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | Optional Extension Header |
+ | .... |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | Extended Sequence Number | Reserved |I|F| PC = 0xEC |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | Picture Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
+ | Slice Prefix Bytes | Slice Size Scaler |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
+ | Fragment Length | No. of Slices = 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
+ . .
+ . Variable-Length Coded Transform Parameters .
+ . .
+ +---------------------------------------------------------------+
+
+ Figure 2: RTP Payload Format for Transform Parameters Fragment
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Weaver Standards Track [Page 7]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | V |P|X| CC |M| PT | Sequence Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Timestamp |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | synchronization source (SSRC) identifier |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | contributing source (CSRC) identifiers |
+ | .... |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | Optional Extension Header |
+ | .... |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | Extended Sequence Number | Reserved |I|F| PC = 0xEC |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | Picture Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
+ | Slice Prefix Bytes | Slice Size Scaler |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
+ | Fragment Length | No. of Slices |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
+ | Slice Offset X | Slice Offset Y |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
+ . .
+ . Coded Slices .
+ . .
+ +---------------------------------------------------------------+
+
+ Figure 3: RTP Payload Format for Fragment Containing Slices
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Weaver Standards Track [Page 8]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | V |P|X| CC |M| PT | Sequence Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Timestamp |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | synchronization source (SSRC) identifier |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | contributing source (CSRC) identifiers |
+ | .... |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | Optional Extension Header |
+ | .... |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | Extended Sequence Number | Reserved | PC = 0x10 |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+
+ Figure 4: RTP Payload Format for End of Sequence
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | V |P|X| CC |M| PT | Sequence Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Timestamp |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | synchronization source (SSRC) identifier |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | contributing source (CSRC) identifiers |
+ | .... |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | Optional Extension Header |
+ | .... |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | Extended Sequence Number |B|E| Reserved | PC = 0x20 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Data Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ . .
+ . Uncoded Payload Data .
+ . .
+ +---------------------------------------------------------------+
+
+ Figure 5: RTP Payload Format for Auxiliary Data
+
+
+
+
+
+
+Weaver Standards Track [Page 9]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | V |P|X| CC |M| PT | Sequence Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Timestamp |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | synchronization source (SSRC) identifier |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | contributing source (CSRC) identifiers |
+ | .... |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | Optional Extension Header |
+ | .... |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | Extended Sequence Number |B|E| Reserved | PC = 0x30 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Data Length |
+ +---------------------------------------------------------------+
+
+ Figure 6: RTP Payload Format for Padding Data
+
+ All fields in the headers longer than a single bit are interpreted as
+ unsigned integers in network byte order.
+
+4.1. RTP Header Usage
+
+ The fields of the RTP header have the following additional notes on
+ their usage:
+
+ Marker Bit (M): 1 bit. The marker bit MUST be set on any packet that
+ contains the final slice in a coded picture and MUST NOT be set
+ otherwise.
+
+ Payload Type (PT): 7 bits. A dynamically allocated payload type
+ field that designates the payload as VC-2-coded video.
+
+ Sequence Number: 16 bits. Because the data rate of VC-2-coded
+ Streams can often be very high, in the order of gigabits rather
+ than megabits per second, the standard 16-bit RTP sequence
+ number can cycle very quickly. For this reason, the sequence
+ number is extended to 32 bits, and this field MUST hold the
+ low-order 16 bits of this value.
+
+
+
+
+
+
+
+
+Weaver Standards Track [Page 10]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ Timestamp: 32 bits. If the packet contains Transform Parameters or
+ Coded Slice data for a coded picture, then the timestamp
+ corresponds to the sampling instant of the coded picture. A
+ 90kHz clock SHOULD be used. A single RTP packet MUST NOT
+ contain coded data for more than one coded picture, so there is
+ no ambiguity here.
+
+ A Sequence Header packet SHOULD have the same timestamp as the
+ picture that will follow it in the Stream. An End of Sequence
+ packet SHOULD have the same timestamp as the previous picture
+ that appeared in the Stream.
+
+ The remaining RTP header fields are used as specified in RTP
+ [RFC3550].
+
+4.2. Payload Header
+
+ The fields of the extended headers are defined as follows:
+
+ Extended Sequence Number: 16 bits. MUST contain the high-order 16
+ bits of the 32-bit packet sequence number. This is needed
+ since the high data rates of VC-2 Sequences mean that it is
+ highly likely that the 16-bit sequence number will roll over
+ too frequently to be of use for Stream synchronization.
+
+ B: 1 bit. MUST be set to 1 if the packet contains the first byte of
+ an Auxiliary Data Unit and otherwise MUST be 0. If the
+ recommendations in Section 4.4 ("Stream Constraints") are
+ followed, then every Auxiliary Data Unit will be small enough
+ to fit in a single packet, and so this bit (where present) will
+ always be 1.
+
+ E: 1 bit. MUST be set to 1 if the packet contains the final byte of
+ an Auxiliary Data Unit and otherwise MUST be 0. If the
+ recommendations in Section 4.4 ("Stream Constraints") are
+ followed, then every Auxiliary Data Unit will be small enough
+ to fit in a single packet, and so this bit (where present) will
+ always be 1.
+
+ I: 1 bit. MUST be set to 1 if the packet contains coded picture
+ parameters or slice data from a field in an interlaced frame.
+ MUST be set to 0 if the packet contains data from any part of a
+ progressive frame.
+
+
+
+
+
+
+
+
+Weaver Standards Track [Page 11]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ F: 1 bit. MUST be set to 1 if the packet contains coded picture
+ parameters or slice data from the second field of an interlaced
+ frame. MUST be set to 0 if the packet contains data from the
+ first field of an interlaced frame or any part of a progressive
+ frame.
+
+ Parse Code (PC): 8 bits. Contains a Parse Code that MUST be the
+ value indicated for the type of data in the packet.
+
+ Data Length: 32 bits. For an auxiliary Data Unit, this contains the
+ number of bytes of data contained in the payload section of
+ this packet. If the recommendations in Section 4.4 ("Stream
+ Constraints") are followed, then no Auxiliary Data Unit will be
+ large enough to cause a packet to exceed the MTU of the
+ network.
+
+ Picture Number: 32 bits. MUST contain the Picture Number for the
+ coded picture this packet contains data for, as described in
+ Section 12.1 of the VC-2 specification [VC2].
+
+ The sender MUST send at least one transform-parameters packet
+ for each coded picture and MAY include more than one as long as
+ they contain identical data. The sender MUST NOT send a packet
+ from a new picture until all the coded data from the current
+ picture has been sent.
+
+ If the receiver receives Coded Slices packets for a picture but
+ does not receive a Transform Parameters packet for that
+ picture, then this is an indication of either packet loss,
+ joining a Stream mid-picture, or a non-compliant transmitter.
+ In this case, the receiver MAY assume that the parameters are
+ unchanged since the last picture, or it MAY discard the
+ picture. Choosing between these two options is left up to the
+ implementation as it will be dependent on intended use. The
+ former may result in malformed pictures, while the latter will
+ result in dropped frames.
+
+ Slice Prefix Bytes: 16 bits. MUST contain the Slice Prefix Bytes
+ value for the coded picture this packet contains data for, as
+ described in Section 12.3.4 of the VC-2 specification [VC2].
+
+ In the VC-2 specification, this value is not restricted to 16
+ bits, but the constraints on Streams specified in this document
+ (Section 4.4) do require this.
+
+
+
+
+
+
+
+Weaver Standards Track [Page 12]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ Slice Size Scaler: 16 bits. MUST contain the Slice Size Scaler value
+ for the coded picture this packet contains data for, as
+ described in Section 12.3.4 of the VC-2 specification [VC2].
+
+ In the VC-2 specification, this value is not restricted to 16
+ bits, but the constraints on Streams specified in this document
+ (Section 4.4) do require this.
+
+ Fragment Length: 16 bits. MUST contain the number of bytes of data
+ contained in the coded payload section of this packet.
+
+ No. of Slices: 16 bits. MUST contain the number of Coded Slices
+ contained in this packet, which MUST be 0 for a packet
+ containing Transform Parameters. In a packet containing Coded
+ Slices, this number MUST be the number of whole slices
+ contained in the packet, and the packet MUST NOT contain any
+ partial slices.
+
+ Slice Offset X: 16 bits. MUST contain the X coordinate of the first
+ slice in this packet, in slices, starting from the top left
+ corner of the picture.
+
+ Slice Offset Y: 16 bits. MUST contain the Y coordinate of the first
+ slice in this packet, in slices, starting from the top left
+ corner of the picture.
+
+4.3. The Choice of Parse Codes (Informative)
+
+ The "PC" field in the packets is used to carry the Parse Code, which
+ identifies the type of content in the packet. This code matches the
+ value of the Parse Code used to identify each Data Unit in a VC-2
+ Stream, as defined in the VC-2 specification, and each packet
+ contains the entire Data Unit.
+
+ Figure 7 lists all of the Parse Codes currently allowed in a VC-2
+ Sequence. The final column indicates whether the code in question
+ can be present in a Stream transmitted using this specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Weaver Standards Track [Page 13]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ +----------+-----------+---------------------+---------------+
+ | PC (hex) | Binary | Description | Valid |
+ +----------+-----------+---------------------+---------------+
+ | 0x00 | 0000 0000 | Sequence Header | Yes |
+ | 0x10 | 0001 0000 | End of Sequence | Yes |
+ | 0x20 | 0010 0000 | Auxiliary Data | Yes |
+ | 0x30 | 0011 0000 | Padding Data | Yes |
+ +----------+-----------+---------------------+---------------+
+ | 0xC8 | 1100 1000 | LD Picture | No |
+ | 0xE8 | 1110 1000 | HQ Picture | No |
+ | 0xEC | 1110 1100 | HQ Picture Fragment | Yes |
+ +----------+-----------+---------------------+---------------+
+
+ Figure 7: Parse Codes and Meanings
+
+4.4. Stream Constraints
+
+ A Sequence needs to conform to certain constraints in order to be
+ transmissible with this specification.
+
+ o The Sequence MUST NOT contain Parse Info Headers with a Parse Code
+ other than 0x00 (Sequence Header), 0x10 (End of Sequence), 0x20
+ (Auxiliary Data), 0x30 (Padding Data), or 0xEC (High Quality
+ Picture Fragment). Some other Streams MAY be convertible to meet
+ this restriction (see below).
+
+ o Every High Quality Picture Fragment MUST be no longer than 65535
+ bytes. This can usually be ensured by splitting large Fragments
+ into several smaller Fragments, except in the case where an
+ individual slice is too large, in which case see the notes below
+ on conversion.
+
+ o Informative note: this requirement ensures that every High Quality
+ Picture Fragment will always contain no more than 65535 slices.
+
+ o Every High Quality Picture Fragment SHOULD be small enough that
+ the RTP packet carrying it will fit within the network MTU size.
+ This can usually be ensured by splitting large Fragments into
+ several smaller Fragments, except in the case where an individual
+ slice is too large, in which case see the notes below on
+ conversion.
+
+ o Every High Quality Picture Fragment MUST be encoded using values
+ for Slice Prefix Bytes and Slice Size Scaler no greater than
+ 65535.
+
+
+
+
+
+
+Weaver Standards Track [Page 14]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ If a Sequence intended for transmission does not conform to these
+ restrictions, then it MAY be possible to simply convert it into a
+ form that does by splitting pictures and/or large Fragments into
+ suitably sized Fragments. This can be done provided that the
+ following (weaker) constraints are met:
+
+ o The Sequence does not contain Parse Info Headers with a Parse Code
+ other than 0x00 (Sequence Header), 0x10 (End of Sequence), 0x20
+ (Auxiliary Data), 0x30 (Padding Data), 0xE8 (High Quality
+ Picture), or 0xEC (High Quality Picture Fragment).
+
+ o None of the High Quality Pictures or High Quality Picture
+ Fragments contain slices that are individually longer than 65535
+ bytes. Note: When this is the case, the values of Slice Prefix
+ Bytes and Slice Size Scaler will necessarily also be smaller than
+ 65535.
+
+ o None of the High Quality Pictures or High Quality Picture
+ Fragments contain slices that are individually so large that an
+ RTP packet carrying a Fragment containing that single slice will
+ fit within the network MTU size.
+
+ It is not possible to send a Stream that does not meet the above
+ requirements via this mechanism unless the Stream is re-encoded by a
+ VC-2 Encoder so as to meet them.
+
+ In addition, every Auxiliary Data Unit SHOULD be small enough that a
+ single RTP packet carrying it will fit within the network MTU size.
+ Since there is currently no specification for the format of Auxiliary
+ Data in VC-2, the mechanism for ensuring this with an encoder
+ implementation that includes Auxiliary Data Units will be dependent
+ upon the implementation's use for them.
+
+ When encoding VC-2 video intended to be transported via RTP, a VC-2
+ profile and level that ensures these requirements are met SHOULD be
+ used.
+
+4.5. Payload Data
+
+ For the Sequence Header packet type (PC = 0x00), the payload data
+ MUST be the coded Sequence Header exactly as it appears in the VC-2
+ Sequence.
+
+ For the Transform Parameters packet type (PC = 0xEC and No. of Slices
+ = 0), the payload data MUST be the variable-length coded Transform
+ Parameters. This MUST NOT include the Fragment header (since all
+ data in the picture header is already included in the packet header).
+
+
+
+
+Weaver Standards Track [Page 15]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ For the Auxiliary Data packet type (PC = 0x20), the payload data MUST
+ be a portion of the auxiliary data bytes contained in the Auxiliary
+ Data Unit being transmitted. The B flag MUST be set on the packet
+ that contains the first byte, the E flag MUST be set on the packet
+ that contains the last byte, the bytes MUST be included in order, and
+ the packets MUST have contiguous sequence numbers.
+
+ For the Picture Fragment packet type (PC = 0xEC and No. of Slices >
+ 0), the payload data MUST be a specified number of Coded Slices in
+ the same order that they appear in the VC-2 Stream. Which slices
+ appear in the packet is identified using the Slice Offset X and Slice
+ Offset Y fields in the payload header.
+
+ For the End of Sequence packet type (PC = 0x10), there is no payload
+ data.
+
+4.5.1. Reassembling the Data
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | 0x42 | 0x42 | 0x43 | 0x44 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Parse Code | Next Parse Offset
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Prev Parse Offset
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |
+ +-+-+-+-+-+-+-+-+
+
+ Figure 8: VC-2 Parse Info Header
+
+ To reassemble the data in the RTP packets into a valid VC-2 Sequence:
+
+ o The receiver SHOULD take the data from each packet with a Parse
+ Code of 0x00 and prepend a valid VC-2 Parse Info Header (Figure 8)
+ with the same Parse Code (0x00). The resulting Sequence Header
+ Parse Info Header and Data Unit MUST be included in the output
+ stream before any coded pictures that followed the packet being
+ processed in the RTP stream, unless an identical Sequence Header
+ has already been included, and they MAY be repeated (with
+ appropriate modifications to the next and previous header offsets)
+ at any point that results in a valid VC-2 Stream.
+
+
+
+
+
+
+
+
+Weaver Standards Track [Page 16]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ o The receiver SHOULD take the data from each packet with a Parse
+ Code of 0xEC and No. of Slices set to 0 (which together indicate
+ that this packet contains the Transform Parameters for a coded
+ picture) and prepend with the same Parse Code a valid VC-2 Parse
+ Info Header (Figure 8) followed by the picture number, Fragment
+ data length, and slice count (0).
+
+ o The receiver SHOULD take the data from each packet with a Parse
+ Code of 0xEC and No. of Slices not set to 0 (which together
+ indicate that this packet contains Coded Slices) and prepend with
+ the same Parse Code a valid VC-2 Parse Info Header (Figure 8)
+ followed by the picture number, Fragment data length, slice count,
+ x offset and y offset taken from the packet header.
+
+ o A receiver MAY combine all Fragment Data Units (with Parse Code
+ 0xEC) and the same picture number into a single picture Data Unit
+ with Parse Code 0xE8. If the Stream is required to comply with
+ major versions 1 or 2 of the VC-2 specification, then this MUST be
+ done.
+
+ o The receiver SHOULD take the data from each packet with a Parse
+ Code of 0x20 and the B bit set and prepend a valid VC-2 Parse Info
+ Header (Figure 8) with the Parse Code 0x20, and then take each
+ subsequent packet with Parse Code 0x20 without the B bit set and
+ append its payload to the growing Data Unit. When all packets for
+ a particular Data Unit have been received, it SHOULD be included
+ in the output stream. The final packet for a Data Unit will have
+ the E bit set.
+
+ o Once a Data Unit has been assembled, whether a Sequence Header,
+ Coded Picture Fragment, Coded Picture, or Auxiliary Data Unit, the
+ next parse offset and previous parse offset values in its Parse
+ Info Header SHOULD be filled with the offset between the start of
+ the header and the start of the next or previous header.
+
+ o An End of Sequence Parse Info Header MAY be inserted when a packet
+ with Parse Code set to 0x10 is encountered, or at any other time
+ that is allowed in a valid VC-2 Stream. After an End of Sequence
+ Parse Info Header is included in the output stream, either the
+ Stream must end, or it MUST be followed by a Sequence Header
+ indicating the start of a new Sequence. The next parse offset of
+ the End of Sequence header MUST be set to 0, and the previous
+ parse offset SHOULD be filled with the offset from the start of
+ the previous Parse Info Header in the Stream.
+
+ o A Padding Data Parse Info Header MAY be inserted when a packet
+ with Parse Code set to 0x30 and the B bit set is encountered, or
+ at any other time that is allowed in a valid VC-2 Stream. The
+
+
+
+Weaver Standards Track [Page 17]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ length of the accompanying Data Unit MAY have any value, and its
+ contents MUST be set to a series of zero bytes. The next parse
+ offset and previous parse offset values in its Parse Info Header
+ SHOULD be filled with the offset between the start of the header
+ and the start of the next or previous header.
+
+5. Forward Error Correction (FEC) Considerations
+
+ VC-2 provides no underlying protection against data loss, so it may
+ be useful to employ Forward Error Correction to the Stream. A
+ mechanism for doing this to a generic RTP stream is specified in RFC
+ 5109 [RFC5109]. If making use of this mechanism to provide
+ multilevel protection, then the packets SHOULD be assigned to layers
+ based upon their packet type, with the packet types being, in order
+ of importance:
+
+ 1. Sequence Headers
+
+ 2. Fragments containing Transform Parameters
+
+ 3. Fragments containing Coded Slices
+
+ 4. Auxiliary Data and end of Sequence
+
+ 5. Padding
+
+ It is RECOMMENDED that if multilevel protection is to be used, then
+ one layer will protect all Sequence Header packets, and a second will
+ protect Sequence Headers and all Fragments. If desired, a third
+ layer MAY protect Auxiliary Data and End of Sequence packets.
+ Padding data SHOULD NOT be protected by FEC.
+
+6. Congestion Control Considerations
+
+ Congestion control for RTP SHALL be used in accordance with RFC 3550
+ [RFC3550] and any applicable RTP profile -- e.g., RFC 3551 [RFC3551].
+ An additional requirement if best-effort service is being used is:
+ users of this payload format MUST monitor packet loss to ensure that
+ the packet loss rate is within acceptable parameters. Circuit
+ Breakers [RFC8083] are an update to RTP [RFC3550] that defines
+ criteria for when one is required to stop sending RTP Packet Streams,
+ and applications implementing this standard MUST comply with it. RFC
+ 8085 [RFC8085] provides additional information on the best practices
+ for applying congestion control to UDP streams.
+
+
+
+
+
+
+
+Weaver Standards Track [Page 18]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ In particular, it should be noted that the expected data rate for RTP
+ sessions that use this profile is likely to be in the range of
+ gigabits per second. If used on a closed network that has been
+ correctly provisioned for the expected data rates, this might not
+ pose a problem, but there is always the risk of data getting out onto
+ the open internet.
+
+7. Payload Format Parameters
+
+ This RTP payload format is identified using the 'video/vc2' media
+ type, which is registered in accordance with RFC 4855 [RFC4855],
+ using the template of RFC 6838 [RFC6838].
+
+7.1. Media Type Definition
+
+ Type name:
+
+ video
+
+ Subtype name:
+
+ vc2
+
+ Required parameters:
+
+ rate: The RTP timestamp clock rate. Applications using this
+ payload format SHOULD use a value of 90000.
+
+ profile: The VC-2 profile in use. The only value currently
+ allowed is "HQ".
+
+ Optional parameters:
+
+ version: the VC-2 specification version in use. The only
+ currently allowed value is "3" since all Sequences transported
+ using this mechanism will contain HQ Picture Fragment Data Units,
+ which the VC-2 specification [VC2] defines as requiring version 3.
+
+ level: The VC-2 level in use. Any integer may be used.
+
+ Encoding considerations:
+
+ This media type is framed and binary; see Section 4.8 in RFC 6838
+ [RFC6838].
+
+ Security considerations:
+
+ Please see the security considerations in RFC 8450.
+
+
+
+Weaver Standards Track [Page 19]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ Interoperability considerations: N/A
+
+ Published specification:
+
+ RFC 8450
+
+ Applications that use this media type:
+
+ Video Communication.
+
+ Fragment identifier considerations: N/A
+
+ Additional information: N/A
+
+ Person & email address to contact for further information:
+
+ James P. Weaver <james.barrett@bbc.co.uk>
+
+ Intended usage:
+
+ COMMON
+
+ Restrictions on usage:
+
+ This media type depends on RTP framing and hence is only defined
+ for transfer via RTP [RFC3550]. Transport within other framing
+ protocols is not defined at this time.
+
+ Author:
+
+ James P. Weaver <james.barrett@bbc.co.uk>
+
+ Change controller:
+
+ IETF PAYLOAD Working Group delegated from the IESG.
+
+ Provisional registration? (standards tree only):
+
+ No
+
+
+
+
+
+
+
+
+
+
+
+
+Weaver Standards Track [Page 20]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+7.2. Mapping to the Session Description Protocol (SDP)
+
+ The mapping of the above-defined payload format media type and its
+ parameters SHALL be done according to Section 3 of RFC 4855
+ [RFC4855].
+
+ o The type name ("video") goes in SDP "m=" as the media name.
+
+ o The subtype name ("vc2") goes in SDP "a=rtpmap" as the encoding
+ name, followed by a slash ("/") and the rate parameter.
+
+ o The required parameter profile and the optional parameters version
+ and level, when present, are included in the "a=fmtp" attribute
+ line of SDP as a semicolon-separated list of parameter=value
+ pairs.
+
+ Version and level SHALL be specified in decimal when present.
+
+ For example, a sample SDP mapping for VC-2 could be as follows:
+
+ m=video 30000 RTP/AVP 112
+ a=rtpmap:112 vc2/90000
+ a=fmtp:112 profile=HQ;version=3;level=0
+
+ In this example, a dynamic payload type 112 is used for vc-2 data.
+ The 90 kHz RTP timestamp rate is specified in the "a=rtpmap" line
+ after the subtype. In the "a=fmtp:" line, profile HQ, version 3, and
+ level 0 (unknown or non-standard level) are specified.
+
+7.3. Offer/Answer Considerations
+
+ All parameters are declarative.
+
+8. IANA Considerations
+
+ IANA has registered 'video/vc2' as specified in Section 7.1. The
+ media type has been added to the IANA registry for "RTP Payload
+ Format Media Types"
+ <https://www.iana.org/assignments/rtp-parameters>.
+
+9. Security Considerations
+
+ RTP packets using the payload format defined in this specification
+ are subject to the security considerations discussed in the RTP
+ specification [RFC3550] and any applicable RTP profile such as
+ RTP/AVP [RFC3551], RTP/AVPF [RFC4585], RTP/SAVP [RFC3711], or
+ RTP/SAVPF [RFC5124]. However, as "Securing the RTP Framework: Why
+ RTP Does Not Mandate a Single Media Security Solution" [RFC7202]
+
+
+
+Weaver Standards Track [Page 21]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ discusses, it is not an RTP payload format's responsibility to
+ discuss or mandate what solutions are used to meet the basic security
+ goals like confidentiality, integrity, and source authenticity for
+ RTP in general. This responsibility lies with anyone using RTP in an
+ application. They can find guidance on available security mechanisms
+ and important considerations in "Options for Securing RTP Sessions"
+ [RFC7201]. Applications SHOULD use one or more appropriate strong
+ security mechanisms. The rest of this section discusses the
+ security-impacting properties of the payload format itself.
+
+ This RTP payload format and its media decoder do not exhibit any
+ significant non-uniformity in the receiver-side computational
+ complexity for packet processing and thus are unlikely to pose a
+ denial-of-service threat due to the receipt of pathological data.
+ Nor does the RTP payload format contain any active content.
+
+ To avoid buffer overruns when processing these packets, the receiver
+ MUST consider both the reported Fragment length and the actual
+ received size of a packet containing slice data.
+
+ In some cases, the transmitter may need to decode variable-length
+ coded headers in order to extract some data from the VC-2 bitstream
+ before assembling packets. This process is potentially subject to
+ buffer overruns if not implemented carefully.
+
+10. References
+
+10.1. Normative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119,
+ DOI 10.17487/RFC2119, March 1997,
+ <https://www.rfc-editor.org/info/rfc2119>.
+
+ [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
+ Jacobson, "RTP: A Transport Protocol for Real-Time
+ Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550,
+ July 2003, <https://www.rfc-editor.org/info/rfc3550>.
+
+ [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and
+ Video Conferences with Minimal Control", STD 65, RFC 3551,
+ DOI 10.17487/RFC3551, July 2003,
+ <https://www.rfc-editor.org/info/rfc3551>.
+
+ [RFC4855] Casner, S., "Media Type Registration of RTP Payload
+ Formats", RFC 4855, DOI 10.17487/RFC4855, February 2007,
+ <https://www.rfc-editor.org/info/rfc4855>.
+
+
+
+
+Weaver Standards Track [Page 22]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ [RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type
+ Specifications and Registration Procedures", BCP 13,
+ RFC 6838, DOI 10.17487/RFC6838, January 2013,
+ <https://www.rfc-editor.org/info/rfc6838>.
+
+ [RFC8083] Perkins, C. and V. Singh, "Multimedia Congestion Control:
+ Circuit Breakers for Unicast RTP Sessions", RFC 8083,
+ DOI 10.17487/RFC8083, March 2017,
+ <https://www.rfc-editor.org/info/rfc8083>.
+
+ [RFC8085] Eggert, L., Fairhurst, G., and G. Shepherd, "UDP Usage
+ Guidelines", BCP 145, RFC 8085, DOI 10.17487/RFC8085,
+ March 2017, <https://www.rfc-editor.org/info/rfc8085>.
+
+ [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
+ 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
+ May 2017, <https://www.rfc-editor.org/info/rfc8174>.
+
+ [VC2] SMPTE, "SMPTE Standard - VC-2 Video Compression",
+ ST 2042-1:2017, DOI 10.5594/SMPTE.ST2042-1.2017, June
+ 2017, <https://ieeexplore.ieee.org/servlet/
+ opac?punumber=7967894>.
+
+10.2. Informative References
+
+ [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
+ Norrman, "The Secure Real-time Transport Protocol (SRTP)",
+ RFC 3711, DOI 10.17487/RFC3711, March 2004,
+ <https://www.rfc-editor.org/info/rfc3711>.
+
+ [RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey,
+ "Extended RTP Profile for Real-time Transport Control
+ Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585,
+ DOI 10.17487/RFC4585, July 2006,
+ <https://www.rfc-editor.org/info/rfc4585>.
+
+ [RFC5109] Li, A., Ed., "RTP Payload Format for Generic Forward Error
+ Correction", RFC 5109, DOI 10.17487/RFC5109, December
+ 2007, <https://www.rfc-editor.org/info/rfc5109>.
+
+ [RFC5124] Ott, J. and E. Carrara, "Extended Secure RTP Profile for
+ Real-time Transport Control Protocol (RTCP)-Based Feedback
+ (RTP/SAVPF)", RFC 5124, DOI 10.17487/RFC5124, February
+ 2008, <https://www.rfc-editor.org/info/rfc5124>.
+
+ [RFC7201] Westerlund, M. and C. Perkins, "Options for Securing RTP
+ Sessions", RFC 7201, DOI 10.17487/RFC7201, April 2014,
+ <https://www.rfc-editor.org/info/rfc7201>.
+
+
+
+Weaver Standards Track [Page 23]
+
+RFC 8450 VC-2 HQ RTP Payload October 2018
+
+
+ [RFC7202] Perkins, C. and M. Westerlund, "Securing the RTP
+ Framework: Why RTP Does Not Mandate a Single Media
+ Security Solution", RFC 7202, DOI 10.17487/RFC7202, April
+ 2014, <https://www.rfc-editor.org/info/rfc7202>.
+
+Author's Address
+
+ James P. Weaver
+ BBC
+
+ Email: james.barrett@bbc.co.uk
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Weaver Standards Track [Page 24]
+