<?xml version="1.0" encoding="ascii"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.4.13 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-avtcore-rtp-vvc-10" category="std">

  <front>
    <title abbrev="RTP payload format for VVC">RTP Payload Format for Versatile Video Coding (VVC)</title>

    <author initials="S." surname="Zhao" fullname="Shuai Zhao">
      <organization>Tencent</organization>
      <address>
        <postal>
          <street>2747 Park Blvd</street>
          <city>Palo Alto</city>
          <code>94588</code>
          <country>USA</country>
        </postal>
        <email>shuai.zhao@ieee.org</email>
      </address>
    </author>
    <author initials="S." surname="Wenger" fullname="Stephan Wenger">
      <organization>Tencent</organization>
      <address>
        <postal>
          <street>2747 Park Blvd</street>
          <city>Palo Alto</city>
          <code>94588</code>
          <country>USA</country>
        </postal>
        <email>stewe@stewe.org</email>
      </address>
    </author>
    <author initials="Y." surname="Sanchez" fullname="Yago Sanchez">
      <organization>Fraunhofer HHI</organization>
      <address>
        <postal>
          <street>Einsteinufer 37</street>
          <city>Berlin</city>
          <code>10587</code>
          <country>Germany</country>
        </postal>
        <email>yago.sanchez@hhi.fraunhofer.de</email>
      </address>
    </author>
    <author initials="Y.-K." surname="Wang" fullname="Ye-Kui Wang">
      <organization>Bytedance Inc.</organization>
      <address>
        <postal>
          <street>8910 University Center Lane</street>
          <city>San Diego</city>
          <code>92122</code>
          <country>USA</country>
        </postal>
        <email>yekui.wang@bytedance.com</email>
      </address>
    </author>

    <date year="2021" month="July" day="09"/>

    <area>ART</area>
    <workgroup>avtcore</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This memo describes an RTP payload format for the video coding
standard ITU-T Recommendation H.266 and ISO/IEC International
Standard 23090-3, both also known as Versatile Video Coding (VVC) and
developed by the Joint Video Experts Team (JVET).  The RTP payload
format allows for packetization of one or more Network Abstraction
Layer (NAL) units in each RTP packet payload as well as fragmentation
of a NAL unit into multiple RTP packets.  The payload format has wide
applicability in videoconferencing, Internet video streaming, and
high-bitrate entertainment-quality video, among other applications.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>The Versatile Video Coding <xref target="VVC"/> specification, formally published as both ITU-T 
Recommendation H.266 and ISO/IEC International Standard 23090-3, is currently in the ITU-T publication process and the ISO/IEC approval process.  VVC is reported to provide significant 
coding efficiency gains over HEVC <xref target="HEVC"/> as known as H.265, and other earlier video codecs.</t>

<t>This memo specifies an RTP payload format for VVC.  It shares its
basic design with the NAL (Network Abstraction Layer) unit-based RTP 
payload formats of H.264 Video Coding <xref target="RFC6184"/>, Scalable Video Coding 
(SVC) <xref target="RFC6190"/>, High Efficiency Video Coding (HEVC) <xref target="RFC7798"/> and 
their respective predecessors.  With respect to design
philosophy, security, congestion control, and overall implementation
complexity, it has similar properties to those earlier payload format
specifications.  This is a conscious choice, as at least RFC 6184 is
widely deployed and generally known in the relevant implementer
communities.  Certain scalability-related mechanisms known from <xref target="RFC6190"/> were incorporated into this document, as VVC version 1 supports temporal, spatial, and
signal-to-noise ratio (SNR) scalability.</t>

<section anchor="overview-of-the-vvc-codec" title="Overview of the VVC Codec">

<t>VVC and HEVC share a similar hybrid video codec design.  In this
memo, we provide a very brief overview of those features of VVC
that are, in some form, addressed by the payload format specified
herein.  Implementers have to read, understand, and apply the ITU-T/ISO/IEC specifications pertaining to VVC to arrive at
interoperable, well-performing implementations.</t>

<t>Conceptually, both VVC and HEVC include a Video Coding Layer (VCL),
which is often used to refer to the coding-tool features, and a NAL, which 
is often used to refer to the systems and transport interface aspects of the codecs.</t>

<section anchor="coding-tool-features-informative" title="Coding-Tool Features (informative)">

<t>Coding tool features are described below with occasional reference to
the coding tool set of HEVC, which is well known in the community.</t>

<t>Similar to earlier hybrid-video-coding-based standards, including
HEVC, the following basic video coding design is employed by VVC.
A prediction signal is first formed by either intra- or motion-
compensated prediction, and the residual (the difference between the
original and the prediction) is then coded.  The gains in coding
efficiency are achieved by redesigning and improving almost all parts
of the codec over earlier designs.  In addition, VVC includes several
tools to make the implementation on parallel architectures easier.</t>

<t>Finally, VVC includes temporal, spatial, and SNR scalability as well 
as multiview coding support.</t>

<t>Coding blocks and transform structure</t>

<t>Among major coding-tool differences between HEVC and VVC, one of
the important improvements is the more flexible coding tree structure
in VVC, i.e., multi-type tree.  In addition to quadtree, binary and
ternary trees are also supported, which contributes significant
improvement in coding efficiency.  Moreover, the maximum size of
coding tree unit (CTU) is increased from 64x64 to 128x128.  To
improve the coding efficiency of chroma signal, luma chroma separated
trees at CTU level may be employed for intra-slices.  The square transforms 
in HEVC are extended to non-square transforms for rectangular blocks 
resulting from binary and ternary tree splits.  Besides, VVC supports 
multiple transform sets (MTS), including DCT-2, DST-7, and DCT-8 as well 
as the non-separable secondary transform.  The transforms used in VVC 
can have different sizes with support for larger transform sizes.  For DCT-2, 
the transform sizes range from 2x2 to 64x64, and for DST-7 and DCT-8, the
transform sizes range from 4x4 to 32x32.  In addition, VVC also
support sub-block transform for both intra and inter coded blocks.
For intra coded blocks, intra sub-partitioning (ISP) may be used to
allow sub-block based intra prediction and transform.  For inter
blocks, sub-block transform may be used assuming that only a part of
an inter-block has non-zero transform coefficients.</t>

<t>Entropy coding</t>

<t>Similar to HEVC, VVC uses a single entropy-coding engine, which is
based on context adaptive binary arithmetic coding <xref target="CABAC"/>,
but with the support of multi-window sizes.  The window sizes can be
initialized differently for different context models.  Due to such a
design, it has more efficient adaptation speed and better coding
efficiency.  A joint chroma residual coding scheme is applied to
further exploit the correlation between the residuals of two color
components.  In VVC, different residual coding schemes are applied
for regular transform coefficients and residual samples generated
using transform-skip mode.</t>

<t>In-loop filtering</t>

<t>VVC has more feature support in loop filters than HEVC.  The
deblocking filter in VVC is similar to HEVC but operates at a
smaller grid.  After deblocking and sample adaptive offset (SAO), an
adaptive loop filter (ALF) may be used.  As a Wiener filter, ALF
reduces distortion of decoded pictures.  Besides, VVC introduces a
new module before deblocking called luma mapping with chroma scaling 
to fully utilize the dynamic range of signal so that rate-distortion
performance of both SDR and HDR content is improved.</t>

<t>Motion prediction and coding</t>

<t>Compared to HEVC, VVC introduces several improvements in this area.
First, there is the adaptive motion vector resolution (AMVR), which
can save bit cost for motion vectors by adaptively signaling motion
vector resolution.  Then the affine motion compensation is included
to capture complicated motion like zooming and rotation.  Meanwhile,
prediction refinement with the optical flow with affine mode (PROF)
is further deployed to mimic affine motion at the pixel level.
Thirdly the decoder side motion vector refinement (DMVR) is a method
to derive MV vector at decoder side based on block matching so that fewer bits may be spent
on motion vectors.  Bi-directional optical flow (BDOF) is a similar
method to PROF.  BDOF adds a sample wise offset at 4x4 sub-block level that is derived with equations based on gradients of the prediction samples and a motion difference relative to CU motion vectors.  Furthermore, merge with motion vector difference (MMVD)
is a special mode, which further signals a limited set of motion
vector differences on top of merge mode.  In addition to MMVD, there
are another three types of special merge modes, i.e., sub-block
merge, triangle, and combined intra-/inter-prediction (CIIP).  Sub-block merge list includes one candidate of sub-block temporal motion
vector prediction (SbTMVP) and up to four candidates of affine motion
vectors.  Triangle is based on triangular block motion compensation.
CIIP combines intra- and inter- predictions with weighting.
Adaptive weighting may be employed with a block-level tool called 
bi-prediction with CU based weighting (BCW) which provides more 
flexibility than in HEVC.</t>

<t>Intra prediction and intra-coding</t>

<t>To capture the diversified local image texture directions with finer
granularity, VVC supports 65 angular directions instead of 33
directions in HEVC.  The intra mode coding is based on a 6-most-probable-mode scheme, and the 6 most probable modes are derived using
the neighboring intra prediction directions.  In addition, to deal
with the different distributions of intra prediction angles for
different block aspect ratios, a wide-angle intra prediction (WAIP)
scheme is applied in VVC by including intra prediction angles
beyond those present in HEVC.  Unlike HEVC which only allows using
the most adjacent line of reference samples for intra prediction,
VVC also allows using two further reference lines, as known as
multi-reference-line (MRL) intra prediction.  The additional
reference lines can be only used for the 6 most probable intra prediction
modes.  To capture the strong correlation between different colour
components, in VVC, a cross-component linear mode (CCLM) is
utilized which assumes a linear relationship between the luma sample values and their associated chroma samples.  For intra prediction,
VVC also applies a position-dependent prediction combination (PDPC)
for refining the prediction samples closer to the intra prediction
block boundary.  Matrix-based intra prediction (MIP) modes are also
used in VVC which generates an up to 8x8 intra prediction block
using a weighted sum of downsampled neighboring reference samples,
and the weights are hardcoded constants.</t>

<t>Other coding-tool feature</t>

<t>VVC introduces dependent quantization (DQ) to reduce quantization
error by state-based switching between two quantizers.</t>

</section>
<section anchor="systems-and-transport-interfaces-informative" title="Systems and Transport Interfaces (informative)">

<t>VVC inherits the basic systems and transport interfaces designs
from HEVC and H.264.  These include the NAL-unit-based syntax
structure, the hierarchical syntax and data unit structure, the
supplemental enhancement information (SEI) message mechanism, and the
video buffering model based on the hypothetical reference decoder
(HRD).  The scalability features of VVC are conceptually similar to
the scalable variant of HEVC known as SHVC.  The hierarchical syntax
and data unit structure consists of parameter sets at various levels
(decoder, sequence (pertaining to all), sequence (pertaining to a single),
picture), picture-level header parameters, slice-level header parameters, and lower-level parameters.</t>

<t>A number of key components that influenced the network abstraction 
layer design of VVC as well as this memo are described below</t>

<t>Decoding capability information</t>

<t>The decoding capability information includes parameters that stay constant for the lifetime of a Video Bitstream, which in IETF terms can translate to the lifetime of a session. Such information includes profile, level, and sub-profile information to determine a maximum capability interop point that is guaranteed to be never exceeded, even if splicing of video sequences occurs within a session. It further includes constraint fields (most of which are flags), which can optionally be set to indicate that the video bitstream will be constraint in the use of certain features as indicated by the values of those fields. With this, a bitstream can be labelled as not using certain tools, which allows among other things for resource allocation in a decoder implementation.</t>

<t>Video parameter set</t>

<t>The ideo parameter set (VPS) pertains to a coded video sequences (CVS) of multiple layers covering the same range of access units, and includes, among other information decoding dependency expressed as information for reference picture list construction of enhancement layers. The VPS provides a "big picture" of a scalable sequence, including what types of operation points are provided, the profile, tier, and level of the operation points, and some other high-level properties of the bitstream that can be used as the basis for session negotiation and content selection, etc. One VPS may be referenced by one or more sequence parameter sets.</t>

<t>Sequence parameter set</t>

<t>The sequence parameter set (SPS) contains syntax elements pertaining to a coded layer video sequence (CLVS), which is a group of pictures belonging to the same layer, starting with a random access point, and followed by pictures that may depend on each other, until the next random access point picture. In MPGEG-2, the equivalent of a CVS was a group of pictures (GOP), which normally started with an I frame and was followed by P and B frames. While more complex in its options of random access points, VVC retains this basic concept. One remarkable difference of VVC is that a CLVS may start with a Gradual Decoding Refresh (GDR) picture, without requiring presence of traditional random access points in the bitstream, such as instantaneous decoding refresh (IDR) or clean random access (CRA) pictures. In many TV-like applications, a CVS contains a few hundred milliseconds to a few seconds of video. In video conferencing (without switching MCUs involved), a CVS can be as long in duration as the whole session.</t>

<t>Picture and adaptation parameter set</t>

<t>The picture parameter set and the adaptation parameter set (PPS and APS, respectively) carry information pertaining to  zero or more pictures and zero or more slices, respectively. The PPS contains information that is likely to stay constant from picture to picture-at least for pictures for a certain type-whereas the APS contains information, such as adaptive loop filter coefficients, that are likely to change from picture to picture or even within a picture. A single APS is referenced by all slices of the same picture if that APS contains information about luma mapping with chroma scaling (LMCS) or scaling list. Different APSs containing ALF parameters can be referenced by slices of the same picture.</t>

<t>Picture header</t>

<t>A Picture Header contains information that is common to all slices that belong to the same picture. Being able to send that information as a separate NAL unit when pictures are split into several slices allows for saving bitrate, compared to repeating the same information in all slices. However, there might be scenarios where low-bitrate video is transmitted using a single slice per picture. Having a separate NAL unit to convey that information incurs in an overhead for such scenarios. For such scenarios, the picture header syntax structure is directly included in the slice header, instead of in its own NAL unit. The mode of the picture header syntax structure being included in its own NAL unit or not can only be switched on/off for an entire CLVS, and can only be switched off when in the entire CLVS each picture contains only one slice.</t>

<t>Profile, tier, and level</t>

<t>The profile, tier and level syntax structures in DCI, VPS and SPS 
contain profile, tier, level information for all layers that refer
to the DCI, for layers associated with one or more output layer 
sets specified by the VPS, and for any layer
that refers to the SPS, respectively.</t>

<t>Sub-profiles</t>

<t>Within the VVC specification, a sub-profile is a 32-bit number, coded according to ITU-T Rec. T.35, that does not carry a semantics. It is carried in the profile_tier_level structure and hence (potentially) present in the DCI, VPS, and SPS. External registration bodies can register a T.35 codepoint with ITU-T registration authorities and associate with their registration a description of bitstream restrictions beyond the profiles defined by ITU-T and ISO/IEC. This would allow encoder manufacturers to label the bitstreams generated by their encoder as complying with such sub-profile. It is expected that upstream standardization organizations (such as: DVB and ATSC), as well as walled-garden video services will take advantage of this labelling system. In contrast to "normal" profiles, it is expected that sub-profiles may indicate encoder choices traditionally left open in the (decoder- centric) video coding specs, such as GOP structures, minimum/maximum QP values, and the mandatory use of certain tools or SEI messages.</t>

<t>General constraint fields</t>

<t>The profile_tier_level structure carries a considerable number of constraint fields (most of which are flags), which an encoder can use to indicate to a decoder that it will not use a certain tool or technology. They were included in reaction to a perceived market need for labelling a bitstream as not exercising a certain tool that has become commercially unviable.</t>

<t>Temporal scalability support</t>

<t>VVC includes support of temporal scalability, by inclusion of the signaling of TemporalId in the NAL unit header, the restriction that pictures of a particular temporal sublayer cannot be used for inter prediction reference by pictures of a lower temporal sublayer, the sub-bitstream extraction process, and the requirement that each sub-bitstream extraction output be a conforming bitstream. Media-Aware Network Elements (MANEs) can utilize the TemporalId in the NAL unit header for stream adaptation purposes based on temporal scalability.</t>

<t>Reference picture resampling (RPR)</t>

<t>In AVC and HEVC, the spatial resolution of pictures cannot change unless a new sequence using a new SPS starts, with an IRAP picture. VVC enables picture resolution change within a sequence at a position without encoding an IRAP picture, which is always intra-coded. This feature is sometimes referred to as reference picture resampling (RPR), as the feature needs resampling of a reference picture used for inter prediction when that reference picture has a different resolution than the current picture being decoded. RPR allows resolution change without the need of coding an IRAP picture, which causes a momentary bit rate spike in streaming or video conferencing scenarios, e.g., to cope with network condition changes.  RPR can also be used in application scenarios wherein zooming of the entire video region or some region of interest is needed.</t>

<t>Spatial, SNR, and multiview scalability</t>

<t>VVC includes support for spatial, SNR, and multiview scalability. Scalable video coding is widely considered to have technical benefits and enrich services for various video applications. Until recently, however, the functionality has not been included in the first version of specifications of the video codecs. In VVC, however, all those forms of scalability are supported in the first version of VVC natively through the signaling of the layer_id in the NAL unit header, the VPS which associates layers with given layer_ids to each other, reference picture selection, reference picture resampling for spatial scalability, and a number of other mechanisms not relevant for this memo.</t>

<t><list style='empty'>
  <t>Spatial scalability</t>

  <t><list style='empty'>
    <t>With the existence of Reference Picture Resampling (RPR), the additional burden for scalability support is just a modification of the high-level syntax (HLS). The inter-layer prediction is employed in a scalable system to improve the coding efficiency of the enhancement layers. In addition to the spatial and temporal motion-compensated predictions that are available in a single-layer codec, the inter-layer prediction in VVC uses the possibly resampled video data of the reconstructed reference picture from a reference layer to predict the current enhancement layer. The resampling process for inter-layer prediction, when used, is performed at the block-level, reusing the existing interpolation process for motion compensation in single-layer coding. It means that no additional resampling process is needed to support spatial scalability.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>SNR scalability</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>SNR scalability is similar to spatial scalability except that the resampling factors are 1:1. In other words, there is no change in resolution, but there is inter-layer prediction.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>Multiview scalability</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The first version of VVC also supports multiview scalability, wherein a multi-layer bitstream carries layers representing multiple views, and one or more of the represented views can be output at the same time.</t>
  </list></t>
</list></t>

<t>SEI messages</t>

<t>Supplementary enhancement information (SEI) messages are information in the bitstream that do not influence the decoding process as specified in the VVC spec, but address issues of representation/rendering of the decoded bitstream, label the bitstream for certain applications, among other, similar tasks. The overall concept of SEI messages and many of the messages themselves has been inherited from the H.264 and HEVC specs. Except for the SEI messages that affect the specification of the hypothetical reference decoder (HRD), other SEI messages for use in the VVC environment, which are generally useful also in other video coding technologies, are not included in the main VVC specification but in a companion specification <xref target="VSEI"/>.</t>

</section>
<section anchor="high-level-picture-partitioning-informative" title="High-Level Picture Partitioning (informative)">

<t>VVC inherited the concept of tiles and wavefront parallel processing (WPP) from HEVC, with some minor to moderate differences. The basic concept of slices was kept in VVC but designed in an essentially different form. VVC is the first video coding standard that includes subpictures as a feature, which provides the same functionality as HEVC motion-constrained tile sets (MCTSs) but designed differently to have better coding efficiency and to be friendlier for usage in application systems. More details of these differences are described below.</t>

<t>Tiles and WPP</t>

<t>Same as in HEVC, a picture can be split into tile rows and tile columns in VVC, in-picture prediction across tile boundaries is disallowed, etc. However, the syntax for signaling of tile partitioning has been simplified, by using a unified syntax design for both the uniform and the non-uniform mode. In addition, signaling of entry point offsets for tiles in the slice header is optional in VVC while it is mandatory in HEVC. The WPP design in VVC has two differences compared to HEVC: i) The CTU row delay is reduced from two CTUs to one CTU; ii) Signaling of entry point offsets for WPP in the slice header is optional in VVC while it is mandatory in HEVC.</t>

<t>Slices</t>

<t>In VVC, the conventional slices based on CTUs (as in HEVC) or macroblocks (as in AVC) have been removed. The main reasoning behind this architectural change is as follows. The advances in video coding since 2003 (the publication year of AVC v1) have been such that slice-based error concealment has become practically impossible, due to the ever-increasing number and efficiency of in-picture and inter-picture prediction mechanisms. An error-concealed picture is the decoding result of a transmitted coded picture for which there is some data loss (e.g., loss of some slices) of the coded picture or a reference picture for at least some part of the coded picture is not error-free (e.g., that reference picture was an error-concealed picture). For example, when one of the multiple slices of a picture is lost, it may be error-concealed using an interpolation of the neighboring slices. While advanced video coding prediction mechanisms provide significantly higher coding efficiency, they also make it harder for machines to estimate the quality of an error-concealed picture, which was already a hard problem with the use of simpler prediction mechanisms. Advanced in-picture prediction mechanisms also cause the coding efficiency loss due to splitting a picture into multiple slices to be more significant. Furthermore, network conditions become significantly better while at the same time techniques for dealing with packet losses have become significantly improved. As a result, very few implementations have recently used slices for maximum transmission unit size matching. Instead, substantially all applications where low-delay error resilience is required (e.g., video telephony and video conferencing) rely on system/transport-level error resilience (e.g., retransmission, forward error correction) and/or picture-based error resilience tools (feedback-based error resilience, insertion of IRAPs, scalability with higher protection level of the base layer, and so on). Considering all the above, nowadays it is very rare that a picture that cannot be correctly decoded is passed to the decoder, and when such a rare case occurs, the system can afford to wait for an error-free picture to be decoded and available for display without resulting in frequent and long periods of picture freezing seen by end users.</t>

<t>Slices in VVC have two modes: rectangular slices and raster-scan slices. The rectangular slice, as indicated by its name, covers a rectangular region of the picture. Typically, a rectangular slice consists of several complete tiles. However, it is also possible that a rectangular slice is a subset of a tile and consists of one or more consecutive, complete CTU rows within a tile. A raster-scan slice consists of one or more complete tiles in a tile raster scan order, hence the region covered by a raster-scan slices need not but could have a non-rectangular shape, but it may also happen to have the shape of a rectangle. The concept of slices in VVC is therefore strongly linked to or based on tiles instead of CTUs (as in HEVC) or macroblocks (as in AVC).</t>

<t>Subpictures</t>

<t>VVC is the first video coding standard that includes the support of subpictures as a feature. Each subpicture consists of one or more complete rectangular slices that collectively cover a rectangular region of the picture. A subpicture may be either specified to be extractable (i.e., coded independently of other subpictures of the same picture and of earlier pictures in decoding order) or not extractable. Regardless of whether a subpicture is extractable or not, the encoder can control whether in-loop filtering (including deblocking, SAO, and ALF) is applied across the subpicture boundaries individually for each subpicture.</t>

<t>Functionally, subpictures are similar to the motion-constrained tile sets (MCTSs) in HEVC. They both allow independent coding and extraction of a rectangular subset of a sequence of coded pictures, for use cases like viewport-dependent 360o video streaming optimization and region of interest (ROI) applications.</t>

<t>There are several important design differences between subpictures and MCTSs. First, the subpictures feature in VVC allows motion vectors of a coding block pointing outside of the subpicture even when the subpicture is extractable by applying sample padding at subpicture boundaries in this case, similarly as at picture boundaries. Second, additional changes were introduced for the selection and derivation of motion vectors in the merge mode and in the decoder side motion vector refinement process of VVC. This allows higher coding efficiency compared to the non-normative motion constraints applied at the encoder-side for MCTSs. Third, rewriting of SHs (and PH NAL units, when present) is not needed when extracting one or more extractable subpictures from a sequence of pictures to create a sub-bitstream that is a conforming bitstream. In sub-bitstream extractions based on HEVC MCTSs, rewriting of SHs is needed. Note that in both HEVC MCTSs extraction and VVC subpictures extraction, rewriting of SPSs and PPSs is needed. However, typically there are only a few parameter sets in a bitstream, while each picture has at least one slice, therefore rewriting of SHs can be a significant burden for application systems. Fourth, slices of different subpictures within a picture are allowed to have different NAL unit types. Fifth, VVC specifies HRD and level definitions for subpicture sequences, thus the conformance of the sub-bitstream of each extractable subpicture sequence can be ensured by encoders.</t>

</section>
<section anchor="NALUnitHeader" title="NAL Unit Header">

<t>VVC maintains the NAL unit concept of HEVC with modifications.  VVC
uses a two-byte NAL unit header, as shown in <xref target="vvc-nuh"/>.  The payload
of a NAL unit refers to the NAL unit excluding the NAL unit header.</t>

<figure anchor="vvc-nuh"><artwork><![CDATA[
                  +---------------+---------------+
                  |0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|
                  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                  |F|Z| LayerID   |  Type   | TID |
                  +---------------+---------------+

                The Structure of the VVC NAL Unit Header.

]]></artwork></figure>

<t>The semantics of the fields in the NAL unit header are as specified
in VVC and described briefly below for convenience.  In addition to
the name and size of each field, the corresponding syntax element
name in VVC is also provided.</t>

<t>F: 1 bit</t>

<t><list style='empty'>
  <t>forbidden_zero_bit.  Required to be zero in VVC.  Note that the
inclusion of this bit in the NAL unit header was to enable
transport of VVC video over MPEG-2 transport systems (avoidance
of start code emulations) <xref target="MPEG2S"/>.  In the context of this memo
the value 1 may be used to indicate a syntax violation, e.g., for
a NAL unit resulted from aggregating a number of fragmented units
of a NAL unit but missing the last fragment, as described in the last sentence of section 4.3.3.</t>
</list></t>

<t>Z: 1 bit</t>

<t><list style='empty'>
  <t>nuh_reserved_zero_bit.  Required to be zero in VVC, and reserved 
for future extensions by ITU-T and ISO/IEC.<vspace />
This memo does not overload the "Z" bit for local extensions, as a) 
overloading the "F" bit is sufficient and b) 
to preserve the usefulness of this memo to possible future versions 
of <xref target="VVC"/>.</t>
</list></t>

<t>LayerId: 6 bits</t>

<t><list style='empty'>
  <t>nuh_layer_id.  Identifies the layer a NAL unit belongs to, wherein
a layer may be, e.g., a spatial scalable layer, a quality scalable
layer, a layer containing a different view, etc.</t>
</list></t>

<t>Type: 5 bits</t>

<t><list style='empty'>
  <t>nal_unit_type.  This field specifies the NAL unit type as defined
in Table 5 of <xref target="VVC"/>.  For a reference of all currently defined
NAL unit types and their semantics, please refer to
Section 7.4.2.2 in <xref target="VVC"/>.</t>
</list></t>

<t>TID: 3 bits</t>

<t><list style='empty'>
  <t>nuh_temporal_id_plus1.  This field specifies the temporal
identifier of the NAL unit plus 1.  The value of TemporalId is
equal to TID minus 1.  A TID value of 0 is illegal to ensure that
there is at least one bit in the NAL unit header equal to 1, so to enable the consideration of start code emulations in the NAL unit payload data independent of the NAL unit header.</t>
</list></t>

</section>
</section>
<section anchor="overview-of-the-payload-format" title="Overview of the Payload Format">

<t>This payload format defines the following processes required for 
transport of VVC coded data over RTP <xref target="RFC3550"/>:</t>

<t><list style="symbols">
  <t>Usage of RTP header with this payload format</t>
  <t>Packetization of VVC coded NAL units into RTP packets using
three types of payload structures: a single NAL unit packet,
aggregation packet, and fragment unit</t>
  <t>Transmission of VVC NAL units of the same bitstream within a
single RTP stream</t>
  <t>Media type parameters to be used with the Session Description 
Protocol (SDP) <xref target="RFC4566"/></t>
  <t>Usage of RTCP feedback messages</t>
</list></t>

</section>
</section>
<section anchor="conventions" title="Conventions">

<t>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 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown above.</t>

</section>
<section anchor="definitionsandabbr" title="Definitions and Abbreviations">

<section anchor="definitions" title="Definitions">
<t>This document uses the terms and definitions of VVC.  <xref target="definitionforvvc"/>
lists relevant definitions from <xref target="VVC"/> for convenience.  <xref target="def"/>
provides definitions specific to this memo.  All the used terms and definitions 
in this memo are verbatim copies of <xref target="VVC"/> specification.</t>

<section anchor="definitionforvvc" title="Definitions from the VVC Specification">

<t>Access unit (AU): A set of PUs that belong to different layers and 
contain coded pictures associated with the same time for output 
from the DPB.</t>

<t>Adaptation parameter set (APS): A syntax structure containing syntax 
elements that apply to zero or more slices as determined by zero or 
more syntax elements found in slice headers.</t>

<t>Bitstream: A sequence of bits, in the form of a NAL unit stream or 
a byte stream, that forms the representation of a sequence of AUs 
forming one or more coded video sequences (CVSs).</t>

<t>Coded picture: A coded representation of a picture comprising VCL 
NAL units with a particular value of nuh_layer_id within an AU and 
containing all CTUs of the picture.</t>

<t>Clean random access (CRA) PU: A PU in which the coded picture is a 
CRA picture.</t>

<t>Clean random access (CRA) picture: An IRAP picture for which each 
VCL NAL unit has nal_unit_type equal to CRA_NUT.</t>

<t>Coded video sequence (CVS): A sequence of AUs that consists, in 
decoding order, of a CVSS AU, followed by zero or more AUs that are 
not CVSS AUs, including all subsequent AUs up to but not including 
any subsequent AU that is a CVSS AU.</t>

<t>Coded video sequence start (CVSS) AU: An AU in which there is a PU 
for each layer in the CVS and the coded picture in each PU is a CLVSS 
picture.</t>

<t>Coded layer video sequence (CLVS): A sequence of PUs with the same 
value of nuh_layer_id that consists, in decoding order, of a CLVSS PU, 
followed by zero or more PUs that are not CLVSS PUs, including all 
subsequent PUs up to but not including any subsequent PU that is a 
CLVSS PU.</t>

<t>Coded layer video sequence start (CLVSS) PU: A PU in which the coded 
picture is a CLVSS picture.</t>

<t>Coded layer video sequence start (CLVSS) picture: A coded picture that is an IRAP picture with NoOutputBeforeRecoveryFlag equal to 1 or a GDR picture with NoOutputBeforeRecoveryFlag equal to 1.</t>

<t>Coding tree unit (CTU): A CTB of luma samples, two corresponding CTBs 
of chroma samples of a picture that has three sample arrays, or a CTB 
of samples of a monochrome picture or a picture that is coded using 
three separate colour planes and syntax structures used to code the 
samples.</t>

<t>Decoding Capability Information (DCI): A syntax structure containing 
syntax elements that apply to the entire bitstream.</t>

<t>Decoded picture buffer (DPB): A buffer holding decoded pictures for 
reference, output reordering, or output delay specified for the 
hypothetical reference decoder.</t>

<t>Gradual decoding refresh (GDR) picture: A picture for which each VCL NAL unit has nal_unit_type equal to GDR_NUT.</t>

<t>Instantaneous decoding refresh (IDR) PU: A PU in which the coded picture 
is an IDR picture.</t>

<t>Instantaneous decoding refresh (IDR) picture: An IRAP picture for 
which each VCL NAL unit has nal_unit_type equal to IDR_W_RADL or IDR_N_LP.</t>

<t>Intra random access point (IRAP) AU: An AU in which there is a PU 
for each layer in the CVS and the coded picture in each PU is an 
IRAP picture.</t>

<t>Intra random access point (IRAP) PU: A PU in which the coded picture 
is an IRAP picture.</t>

<t>Intra random access point (IRAP) picture: A coded picture for which all VCL NAL units have the same value of nal_unit_type in the range of IDR_W_RADL to CRA_NUT, inclusive.</t>

<t>Layer: A set of VCL NAL units that all have a particular value of 
nuh_layer_id and the associated non-VCL NAL units.</t>

<t>Network abstraction layer (NAL) unit: A syntax structure containing 
an indication of the type of data to follow and bytes containing 
that data in the form of an RBSP interspersed as necessary with emulation 
prevention bytes.</t>

<t>Network abstraction layer (NAL) unit stream: A sequence of NAL units.</t>

<t>Operation point (OP): A temporal subset of an OLS, identified by an 
OLS index and a highest value of TemporalId.</t>

<t>Picture parameter set (PPS): A syntax structure containing syntax 
elements that apply to zero or more entire coded pictures as determined 
by a syntax element found in each slice header.</t>

<t>Picture unit (PU): A set of NAL units that are associated with each 
other according to a specified classification rule, are consecutive 
in decoding order, and contain exactly one coded picture.</t>

<t>Random access: The act of starting the decoding process for a 
bitstream at a point other than the beginning of the stream.</t>

<t>Sequence parameter set (SPS): A syntax structure containing syntax 
elements that apply to zero or more entire CLVSs as determined by 
the content of a syntax element found in the PPS referred to by a 
syntax element found in each picture header.</t>

<t>Slice: An integer number of complete tiles or an integer number of 
consecutive complete CTU rows within a tile of a picture that are 
exclusively contained in a single NAL unit.</t>

<t>Slice header (SH): A part of a coded slice containing the data elements 
pertaining to all tiles or CTU rows within a tile represented in the slice.</t>

<t>Sublayer: A temporal scalable layer of a temporal scalable bitstream
consisting of VCL NAL units with a particular value of the TemporalId
variable, and the associated non-VCL NAL units.</t>

<t>Subpicture: An rectangular region of one or more slices within a picture.</t>

<t>Sublayer representation: A subset of the bitstream consisting of NAL
units of a particular sublayer and the lower sublayers.</t>

<t>Tile: A rectangular region of CTUs within a particular tile column and 
a particular tile row in a picture.</t>

<t>Tile column: A rectangular region of CTUs having a height equal to 
the height of the picture and a width specified by syntax elements in 
the picture parameter set.</t>

<t>Tile row: A rectangular region of CTUs having a height specified by 
syntax elements in the picture parameter set and a width equal to the 
width of the picture.</t>

<t>Video coding layer (VCL) NAL unit: A collective term for coded slice NAL 
units and the subset of NAL units that have reserved values of 
nal_unit_type that are classified as VCL NAL units in this Specification.</t>

</section>
<section anchor="def" title="Definitions Specific to This Memo">

<t>Media-Aware Network Element (MANE): A network element, such as a
middlebox, selective forwarding unit, or application-layer gateway
that is capable of parsing certain aspects of the RTP payload headers
or the RTP payload and reacting to their contents.</t>

<t><list style='empty'>
  <t>Informative note: The concept of a MANE goes beyond normal routers
or gateways in that a MANE has to be aware of the signaling (e.g.,
to learn about the payload type mappings of the media streams),
and in that it has to be trusted when working with Secure RTP
(SRTP).  The advantage of using MANEs is that they allow packets
to be dropped according to the needs of the media coding.  For
example, if a MANE has to drop packets due to congestion on a
certain link, it can identify and remove those packets whose
elimination produces the least adverse effect on the user
experience.  After dropping packets, MANEs must rewrite RTCP
packets to match the changes to the RTP stream, as specified in
Section 7 of <xref target="RFC3550"/>.</t>
</list></t>

<t>NAL unit decoding order: A NAL unit order that conforms to the
constraints on NAL unit order given in Section 7.4.2.4 in <xref target="VVC"/>, 
follow the Order of NAL units in the bitstream.</t>

<t>RTP stream (See <xref target="RFC7656"/>):  Within the scope of this memo, one RTP stream is utilized to transport a VVC bitstream, which may contain one or more layers, and each layer may contain one or more temporal sublayers.</t>

<t>Transmission order: The order of packets in ascending RTP sequence
number order (in modulo arithmetic).  Within an aggregation packet,
the NAL unit transmission order is the same as the order of
appearance of NAL units in the packet.</t>

</section>
</section>
<section anchor="abbreviations" title="Abbreviations">

<t>AU &#160;&#160;&#160;&#160;&#160;&#160;&#160; Access Unit</t>

<t>AP &#160;&#160;&#160;&#160;&#160;&#160;&#160; Aggregation Packet</t>

<t>APS &#160;&#160;&#160;&#160;&#160;&#160; Adaptation Parameter Set</t>

<t>CTU &#160;&#160;&#160;&#160;&#160;&#160; Coding Tree Unit</t>

<t>CVS &#160;&#160;&#160;&#160;&#160;&#160; Coded Video Sequence</t>

<t>DPB &#160;&#160;&#160;&#160;&#160;&#160; Decoded Picture Buffer</t>

<t>DCI &#160;&#160;&#160;&#160;&#160;&#160; Decoding Capability Information</t>

<t>DON &#160;&#160;&#160;&#160;&#160;&#160; Decoding Order Number</t>

<t>FIR &#160;&#160;&#160;&#160;&#160;&#160; Full Intra Request</t>

<t>FU &#160;&#160;&#160;&#160;&#160;&#160;&#160; Fragmentation Unit</t>

<t>GDR &#160;&#160;&#160;&#160;&#160;&#160; Gradual Decoding Refresh</t>

<t>HRD &#160;&#160;&#160;&#160;&#160;&#160; Hypothetical Reference Decoder</t>

<t>IDR &#160;&#160;&#160;&#160;&#160;&#160; Instantaneous Decoding Refresh</t>

<t>MANE &#160;&#160;&#160;&#160;&#160; Media-Aware Network Element</t>

<t>MTU &#160;&#160;&#160;&#160;&#160;&#160; Maximum Transfer Unit</t>

<t>NAL &#160;&#160;&#160;&#160;&#160;&#160; Network Abstraction Layer</t>

<t>NALU &#160;&#160;&#160;&#160;&#160; Network Abstraction Layer Unit</t>

<t>PLI &#160;&#160;&#160;&#160;&#160;&#160; Picture Loss Indication</t>

<t>PPS &#160;&#160;&#160;&#160;&#160;&#160; Picture Parameter Set</t>

<t>RPS &#160;&#160;&#160;&#160;&#160;&#160; Reference Picture Set</t>

<t>RPSI &#160;&#160;&#160;&#160;&#160; Reference Picture Selection Indication</t>

<t>SEI &#160;&#160;&#160;&#160;&#160;&#160; Supplemental Enhancement Information</t>

<t>SLI &#160;&#160;&#160;&#160;&#160;&#160; Slice Loss Indication</t>

<t>SPS &#160;&#160;&#160;&#160;&#160;&#160; Sequence Parameter Set</t>

<t>VCL &#160;&#160;&#160;&#160;&#160;&#160; Video Coding Layer</t>

<t>VPS &#160;&#160;&#160;&#160;&#160;&#160; Video Parameter Set</t>

</section>
</section>
<section anchor="RTPPayloadFormat" title="RTP Payload Format">

<section anchor="RTPHeaderUsage" title="RTP Header Usage">

<t>The format of the RTP header is specified in <xref target="RFC3550"/> (reprinted as
<xref target="rtp-hdr"/> for convenience).  This payload format uses the fields of
the header in a manner consistent with that specification.</t>

<t>The RTP payload (and the settings for some RTP header bits) for
aggregation packets and fragmentation units are specified in 
<xref target="aps"/> and <xref target="funits"/>, respectively.</t>

<figure anchor="rtp-hdr"><artwork type="~"><![CDATA[
    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=2|P|X|  CC   |M|     PT      |       sequence number         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           timestamp                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           synchronization source (SSRC) identifier            |
   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
   |            contributing source (CSRC) identifiers             |
   |                             ....                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     RTP Header According to {{RFC3550}}
]]></artwork></figure>

<t>The RTP header information to be set according to this RTP payload 
format is set as follows:</t>

<t>Marker bit (M): 1 bit</t>

<t><list style='empty'>
  <t>Set for the last packet, in transmission order, among each set of packets that contain NAL units of one access unit. This is in line with the normal use of the M bit in
video formats to allow an efficient playout buffer handling.</t>
</list></t>

<t>Payload Type (PT): 7 bits</t>

<t><list style='empty'>
  <t>The assignment of an RTP payload type for this new packet format
is outside the scope of this document and will not be specified
here.  The assignment of a payload type has to be performed either
through the profile used or in a dynamic way.</t>
</list></t>

<t>Sequence Number (SN): 16 bits</t>

<t><list style='empty'>
  <t>Set and used in accordance with <xref target="RFC3550"/>.</t>
</list></t>

<t>Timestamp: 32 bits</t>

<t><list style='empty'>
  <t>The RTP timestamp is set to the sampling timestamp of the content. A 90 kHz clock rate MUST be used.  If the NAL unit has no timing properties of its own (e.g., parameter set and SEI NAL units), the RTP timestamp MUST be set to the RTP timestamp of the coded pictures of the access unit in which the NAL unit (according to Section 7.4.2.4 of <xref target="VVC"/>) is included. Receivers MUST use the RTP timestamp for the display process, even when the bitstream contains picture timing SEI messages or decoding unit information SEI messages as specified in <xref target="VVC"/>.</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>Informative note: When picture timing SEI messages are present, the RTP sender is responsible to ensure that the RTP timestamps are consistent with the timing information carried in the picture timing SEI messages.</t>
  </list></t>
</list></t>

<t>Synchronization source (SSRC): 32 bits</t>

<t><list style='empty'>
  <t>Used to identify the source of the RTP packets.
A single SSRC is used for all parts of a single bitstream.</t>
</list></t>

</section>
<section anchor="PayloadHeaderUsage" title="Payload Header Usage">

<t>The first two bytes of the payload of an RTP packet are referred to
as the payload header.  The payload header consists of the same
fields (F, Z, LayerId, Type, and TID) as the NAL unit header as shown
in <xref target="NALUnitHeader"/>, irrespective of the type of the payload structure.</t>

<t>The TID value indicates (among other things) the relative importance
of an RTP packet, for example, because NAL units belonging to higher
temporal sublayers are not used for the decoding of lower temporal
sublayers.  A lower value of TID indicates a higher importance.
More-important NAL units MAY be better protected against transmission
losses than less-important NAL units.</t>

<t><list style='empty'>
  <t>For Discussion: quite possibly something similar can be said for the
Layer_id in layered coding, but perhaps not in multiview coding.
(The relevant part of the spec is relatively new, therefore the soft
language).  However, for serious layer pruning, interpretation of the
VPS is required.  We can add language about the need for stateful
interpretation of LayerID vis-a-vis stateless interpretation of TID
later.</t>
</list></t>

</section>
<section anchor="PayloadStructures" title="Payload Structures">

<t>Three different types of RTP packet payload structures are specified.
A receiver can identify the type of an RTP packet payload through the
Type field in the payload header.</t>

<t>The three different payload structures are as follows:</t>

<t><list style="symbols">
  <t>Single NAL unit packet: Contains a single NAL unit in the payload,
and the NAL unit header of the NAL unit also serves as the payload
header.  This payload structure is specified in Section 4.4.1.</t>
  <t>Aggregation Packet (AP): Contains more than one NAL unit within
one access unit.  This payload structure is specified in <xref target="aps"/>.</t>
  <t>Fragmentation Unit (FU): Contains a subset of a single NAL unit.
This payload structure is specified in <xref target="funits"/>.</t>
</list></t>

<section anchor="SingleNALUnit" title="Single NAL Unit Packets">

<t>A single NAL unit packet contains exactly one NAL unit, and consists
of a payload header (denoted as PayloadHdr), a conditional 16-bit
DONL field (in network byte order), and the NAL unit payload data
(the NAL unit excluding its NAL unit header) of the contained NAL
unit, as shown in <xref target="single-nhr"/>.</t>

<figure anchor="single-nhr"><artwork><![CDATA[
   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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |           PayloadHdr          |      DONL (conditional)       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  |                  NAL unit payload data                        |
  |                                                               |
  |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               :...OPTIONAL RTP padding        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               The Structure of a Single NAL Unit Packet

]]></artwork></figure>

<t>The DONL field, when present, specifies the value of the 16 least
significant bits of the decoding order number of the contained NAL
unit.  If sprop-max-don-diff is greater than 0, the DONL field MUST be present, and the variable DON for the
contained NAL unit is derived as equal to the value of the DONL
field.  Otherwise (sprop-max-don-diff is equal to 0), the DONL field MUST NOT be present.</t>

</section>
<section anchor="aps" title="Aggregation Packets (APs)">

<t>Aggregation Packets (APs) can reduce
packetization overhead for small NAL units, such as most of the non-VCL NAL units, which are often only a few octets in size.</t>

<t>An AP aggregates NAL units of one access unit.  Each NAL unit to
be carried in an AP is encapsulated in an aggregation unit.  NAL
units aggregated in one AP are included in NAL unit decoding order.</t>

<t>An AP consists of a payload header (denoted as PayloadHdr) followed
by two or more aggregation units, as shown in <xref target="au-hdr"/>.</t>

<figure anchor="au-hdr"><artwork><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |    PayloadHdr (Type=28)       |                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
 |                                                               |
 |             two or more aggregation units                     |
 |                                                               |
 |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                               :...OPTIONAL RTP padding        |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                The Structure of an Aggregation Packet

]]></artwork></figure>

<t>The fields in the payload header of an AP are set as follows.  The F bit MUST
be equal to 0 if the F bit of each aggregated NAL unit is equal to
zero; otherwise, it MUST be equal to 1.  The Type field MUST be equal
to 28.</t>

<t>The value of LayerId MUST be equal to the lowest value of LayerId of
all the aggregated NAL units.  The value of TID MUST be the lowest
value of TID of all the aggregated NAL units.</t>

<t><list style='empty'>
  <t>Informative note: All VCL NAL units in an AP have the same TID
value since they belong to the same access unit.  However, an AP
may contain non-VCL NAL units for which the TID value in the NAL
unit header may be different than the TID value of the VCL NAL
units in the same AP.</t>
</list></t>

<t>An AP MUST carry at least two aggregation units and can carry as many
aggregation units as necessary; however, the total amount of data in
an AP obviously MUST fit into an IP packet, and the size SHOULD be
chosen so that the resulting IP packet is smaller than the MTU size
so to avoid IP layer fragmentation.  An AP MUST NOT contain FUs
specified in <xref target="funits"/>.  APs MUST NOT be nested; i.e., an AP can
not contain another AP.</t>

<t>The first aggregation unit in an AP consists of a conditional 16-bit
DONL field (in network byte order) followed by a 16-bit unsigned size
information (in network byte order) that indicates the size of the
NAL unit in bytes (excluding these two octets, but including the NAL
unit header), followed by the NAL unit itself, including its NAL unit
header, as shown in <xref target="au-first-nhdr"/>.</t>

<figure anchor="au-first-nhdr"><artwork><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |               :       DONL (conditional)      |   NALU size   |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |   NALU size   |                                               |
 +-+-+-+-+-+-+-+-+         NAL unit                              |
 |                                                               |
 |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                               :
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        The Structure of the First Aggregation Unit in an AP

]]></artwork></figure>

<t>The DONL field, when present, specifies the value of the 16 least
significant bits of the decoding order number of the aggregated NAL
unit.</t>

<t>If sprop-max-don-diff is greater than 0, the DONL field MUST be present in an aggregation unit that is the first aggregation unit in an AP, and the variable DON for the aggregated NAL unit is derived as equal to the value of the DONL field, and the variable DON for an aggregation unit that is not the first aggregation unit in an AP aggregated NAL unit is derived as equal to the DON of the preceding aggregated NAL unit in the same AP plus 1 modulo 65536. Otherwise (sprop-max-don-diff is equal to 0), the DONL field MUST NOT be present in an aggregation unit that is the first aggregation unit in an AP.</t>

<t>An aggregation unit that is not the first aggregation unit in an AP
will be followed immediately by a 16-bit unsigned size information
(in network byte order) that indicates the
size of the NAL unit in bytes (excluding these two octets, but
including the NAL unit header), followed by the NAL unit itself,
including its NAL unit header, as shown in <xref target="au-not-first-nhdr"/>.</t>

<figure anchor="au-not-first-nhdr"><artwork><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |               :       NALU size               |   NAL unit    |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               |
 |                                                               |
 |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                               :
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      The Structure of an Aggregation Unit That Is Not the First
                       Aggregation Unit in an AP

]]></artwork></figure>

<t><xref target="au-wout-donl"/> presents an example of an AP that contains two aggregation
units, labeled as 1 and 2 in the figure, without the DONL field
being present.</t>

<figure anchor="au-wout-donl"><artwork><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                          RTP Header                           |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |   PayloadHdr (Type=28)        |         NALU 1 Size           |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |          NALU 1 HDR           |                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+         NALU 1 Data           |
 |                   . . .                                       |
 |                                                               |
 +               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |  . . .        | NALU 2 Size                   | NALU 2 HDR    |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | NALU 2 HDR    |                                               |
 +-+-+-+-+-+-+-+-+              NALU 2 Data                      |
 |                   . . .                                       |
 |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                               :...OPTIONAL RTP padding        |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            An Example of an AP Packet Containing 
          Two Aggregation Units without the DONL Field

]]></artwork></figure>

<t><xref target="au-with-donl"/> presents an example of an AP that contains two aggregation
units, labeled as 1 and 2 in the figure, with the DONL field being present.</t>

<figure anchor="au-with-donl"><artwork><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                          RTP Header                           |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |   PayloadHdr (Type=28)        |        NALU 1 DONL            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |          NALU 1 Size          |            NALU 1 HDR         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 |                 NALU 1 Data   . . .                           |
 |                                                               |
 +        . . .                  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                               :          NALU 2 Size          |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |          NALU 2 HDR           |                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+          NALU 2 Data          |
 |                                                               |
 |        . . .                  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                               :...OPTIONAL RTP padding        |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                An Example of an AP Containing 
              Two Aggregation Units with the DONL Field

]]></artwork></figure>

</section>
<section anchor="funits" title="Fragmentation Units">

<t>Fragmentation Units (FUs) are introduced to enable fragmenting a
single NAL unit into multiple RTP packets, possibly without
cooperation or knowledge of the <xref target="VVC"/> encoder.  A fragment
of a NAL unit consists of an integer number of consecutive octets of
that NAL unit.  Fragments of the same NAL unit MUST be sent in
consecutive order with ascending RTP sequence numbers (with no other
RTP packets within the same RTP stream being sent between the first
and last fragment).</t>

<t>When a NAL unit is fragmented and conveyed within FUs, it is referred
to as a fragmented NAL unit.  APs MUST NOT be fragmented.  FUs MUST
NOT be nested; i.e., an FU can not contain a subset of another FU.</t>

<t>The RTP timestamp of an RTP packet carrying an FU is set to the NALU-
time of the fragmented NAL unit.</t>

<t>An FU consists of a payload header (denoted as PayloadHdr), an FU
header of one octet, a conditional 16-bit DONL field (in network byte
order), and an FU payload, as shown in <xref target="fu-payload"/>.</t>

<figure anchor="fu-payload"><artwork><![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |   PayloadHdr (Type=29)        |   FU header   | DONL (cond)   |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
 |   DONL (cond) |                                               |
 |-+-+-+-+-+-+-+-+                                               |
 |                         FU payload                            |
 |                                                               |
 |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                               :...OPTIONAL RTP padding        |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       The Structure of an FU

]]></artwork></figure>

<t>The fields in the payload header are set as follows.  The Type field
MUST be equal to 29.  The fields F, LayerId, and TID MUST be equal to
the fields F, LayerId, and TID, respectively, of the fragmented NAL
unit.</t>

<t>The FU header consists of an S bit, an E bit, an R bit and a 5-bit FuType
field, as shown in <xref target="fu-hdr"/>.</t>

<figure anchor="fu-hdr"><artwork><![CDATA[
                        +---------------+
                        |0|1|2|3|4|5|6|7|
                        +-+-+-+-+-+-+-+-+
                        |S|E|P|  FuType |
                        +---------------+

                    The Structure of FU Header
]]></artwork></figure>

<t>The semantics of the FU header fields are as follows:</t>

<t>S: 1 bit</t>

<t><list style='empty'>
  <t>When set to 1, the S bit indicates the start of a fragmented NAL
unit, i.e., the first byte of the FU payload is also the first
byte of the payload of the fragmented NAL unit.  When the FU
payload is not the start of the fragmented NAL unit payload, the S
bit MUST be set to 0.</t>
</list></t>

<t>E: 1 bit</t>

<t><list style='empty'>
  <t>When set to 1, the E bit indicates the end of a fragmented NAL
unit, i.e., the last byte of the payload is also the last byte of
the fragmented NAL unit.  When the FU payload is not the last
fragment of a fragmented NAL unit, the E bit MUST be set to 0.</t>
</list></t>

<t>P: 1 bit</t>

<t><list style='empty'>
  <t>When set to 1, the P bit indicates the last NAL unit of a coded picture, i.e., the last byte of the FU payload is also the last byte of the coded picture.  When the FU payload is not the last fragment of a coded picture, the P bit MUST be set to 0.</t>
</list></t>

<t>FuType: 5 bits</t>

<t><list style='empty'>
  <t>The field FuType MUST be equal to the field Type of the fragmented
NAL unit.</t>
</list></t>

<t>The DONL field, when present, specifies the value of the 16 least
significant bits of the decoding order number of the fragmented NAL
unit.</t>

<t>If sprop-max-don-diff is greater than 0,
and the S bit is equal to 1, the DONL field MUST be present in the
FU, and the variable DON for the fragmented NAL unit is derived as
equal to the value of the DONL field.  Otherwise (sprop-max-don-diff
is equal to 0, or the S bit is equal to 0),
the DONL field MUST NOT be present in the FU.</t>

<t>A non-fragmented NAL unit MUST NOT be transmitted in one FU; i.e.,
the Start bit and End bit must not both be set to 1 in the same FU
header.</t>

<t>The FU payload consists of fragments of the payload of the fragmented
NAL unit so that if the FU payloads of consecutive FUs, starting with
an FU with the S bit equal to 1 and ending with an FU with the E bit
equal to 1, are sequentially concatenated, the payload of the
fragmented NAL unit can be reconstructed.  The NAL unit header of the
fragmented NAL unit is not included as such in the FU payload, but
rather the information of the NAL unit header of the fragmented NAL
unit is conveyed in F, LayerId, and TID fields of the FU payload
headers of the FUs and the FuType field of the FU header of the FUs.
An FU payload MUST NOT be empty.</t>

<t>If an FU is lost, the receiver SHOULD discard all following
fragmentation units in transmission order corresponding to the same
fragmented NAL unit, unless the decoder in the receiver is known to
be prepared to gracefully handle incomplete NAL units.</t>

<t>A receiver in an endpoint or in a MANE MAY aggregate the first n-1
fragments of a NAL unit to an (incomplete) NAL unit, even if fragment
n of that NAL unit is not received.  In this case, the
forbidden_zero_bit of the NAL unit MUST be set to 1 to indicate a
syntax violation.</t>

</section>
</section>
<section anchor="DON" title="Decoding Order Number">

<t>For each NAL unit, the variable AbsDon is derived, representing the
decoding order number that is indicative of the NAL unit decoding
order.</t>

<t>Let NAL unit n be the n-th NAL unit in transmission order within an
RTP stream.</t>

<t>If sprop-max-don-diff is equal to 0, AbsDon[n], the value of AbsDon for NAL unit n, is
derived as equal to n.</t>

<t>Otherwise (sprop-max-don-diff is greater than 0), AbsDon[n] is derived as follows, where DON[n] is the value
of the variable DON for NAL unit n:</t>

<t><list style="symbols">
  <t>If n is equal to 0 (i.e., NAL unit n is the very first NAL unit in transmission order), AbsDon[0] is set equal to DON[0].</t>
  <t>Otherwise (n is greater than 0), the following applies for
derivation of AbsDon[n]:</t>
</list></t>

<figure><artwork><![CDATA[
      If DON[n] == DON[n-1],
         AbsDon[n] = AbsDon[n-1]

      If (DON[n] > DON[n-1] and DON[n] - DON[n-1] < 32768),
         AbsDon[n] = AbsDon[n-1] + DON[n] - DON[n-1]

      If (DON[n] < DON[n-1] and DON[n-1] - DON[n] >= 32768),
         AbsDon[n] = AbsDon[n-1] + 65536 - DON[n-1] + DON[n]

      If (DON[n] > DON[n-1] and DON[n] - DON[n-1] >= 32768),
         AbsDon[n] = AbsDon[n-1] - (DON[n-1] + 65536 -
         DON[n])

      If (DON[n] < DON[n-1] and DON[n-1] - DON[n] < 32768),
         AbsDon[n] = AbsDon[n-1] - (DON[n-1] - DON[n])
]]></artwork></figure>

<t>For any two NAL units m and n, the following applies:</t>

<t><list style="symbols">
  <t>AbsDon[n] greater than AbsDon[m] indicates that NAL unit n follows
  NAL unit m in NAL unit decoding order.</t>
  <t>When AbsDon[n] is equal to AbsDon[m], the NAL unit decoding order
  of the two NAL units can be in either order.</t>
  <t>AbsDon[n] less than AbsDon[m] indicates that NAL unit n precedes NAL 
unit m in decoding order.</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>Informative note: When two consecutive NAL units in the NAL
  unit decoding order have different values of AbsDon, the 
  absolute difference between the two AbsDon values may be 
  greater than or equal to 1.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>Informative note: There are multiple reasons to allow for 
the absolute difference of the values of AbsDon for two 
consecutive NAL units in the NAL unit decoding order to 
be greater than one.  An increment by one is not required, 
as at the time of associating values of AbsDon to NAL units, 
it may not be known whether all NAL units are to be 
delivered to the receiver.  For example, a gateway might
not forward VCL NAL units of higher sublayers or some
SEI NAL units when there is congestion in the network. In another example, the first intra-coded picture of a pre-encoded clip is transmitted in advance to ensure that it is readily available in the receiver, and when transmitting the first intra-coded picture, the originator 
does not exactly know how many NAL units will be encoded
before the first intra-coded picture of the pre-encoded
clip follows in decoding order. Thus, the values of 
AbsDon for the NAL units of the first intra-coded picture
of the pre-encoded clip have to be estimated when 
they are transmitted, and gaps in values of AbsDon may occur.</t>
  </list></t>
</list></t>

</section>
</section>
<section anchor="PacketizationRules" title="Packetization Rules">

<t>The following packetization rules apply:</t>

<t><list style="symbols">
  <t>If sprop-max-don-diff is greater than 0, the transmission order of NAL units carried in the RTP
stream MAY be different than the NAL unit decoding order. Otherwise (sprop-max-don-diff is equal to 0), the transmission order of NAL units carried in the RTP stream MUST be the same as the NAL unit decoding order.</t>
  <t>A NAL unit of a small size SHOULD be encapsulated in an
aggregation packet together one or more other NAL units in
order to avoid the unnecessary packetization overhead for small
NAL units.  For example, non-VCL NAL units such as access unit
delimiters, parameter sets, or SEI NAL units are typically small 
and can often be aggregated with VCL NAL units without violating 
MTU size constraints.</t>
  <t>Each non-VCL NAL unit SHOULD, when possible from an MTU size match
viewpoint, be encapsulated in an aggregation packet together with
its associated VCL NAL unit, as typically a non-VCL NAL unit would
be meaningless without the associated VCL NAL unit being
available.</t>
  <t>For carrying exactly one NAL unit in an RTP packet, a single NAL
unit packet MUST be used.</t>
</list></t>

</section>
<section anchor="DepacketizationProcess" title="De-packetization Process">

<t>The general concept behind de-packetization is to get the NAL units
out of the RTP packets in an RTP stream and pass them to the decoder in the NAL
unit decoding order.</t>

<t>The de-packetization process is implementation dependent.  Therefore,
the following description should be seen as an example of a suitable
implementation.  Other schemes may be used as well, as long as the
output for the same input is the same as the process described below.
The output is the same when the set of output NAL units and their
order are both identical.  Optimizations relative to the described
algorithms are possible.</t>

<t>All normal RTP mechanisms related to buffer management apply.  In
particular, duplicated or outdated RTP packets (as indicated by the
RTP sequences number and the RTP timestamp) are removed.  To
determine the exact time for decoding, factors such as a possible
intentional delay to allow for proper inter-stream synchronization
MUST be factored in.</t>

<t>NAL units with NAL unit type values in the range of 0 to 27,
inclusive, may be passed to the decoder.  NAL-unit-like structures
with NAL unit type values in the range of 28 to 31, inclusive, MUST
NOT be passed to the decoder.</t>

<t>The receiver includes a receiver buffer, which is used to compensate
for transmission delay jitter within individual RTP stream, and to reorder NAL units from transmission order to the NAL unit decoding order.  In this section, the
receiver operation is described under the assumption that there is no
transmission delay jitter within an RTP stream. To make a difference from a practical receiver buffer that is also used for compensation of transmission delay jitter, the
receiver buffer is hereafter called the de-packetization buffer in
this section.  Receivers should also prepare for transmission delay
jitter; that is, either reserve separate buffers for transmission
delay jitter buffering and de-packetization buffering or use a
receiver buffer for both transmission delay jitter and de-
packetization. Moreover, receivers should take transmission delay
jitter into account in the buffering operation, e.g., by additional
initial buffering before starting of decoding and playback.</t>

<t>The de-packetization process extracts the NAL units from the RTP packets in an RTP stream as follows.  When an RTP packet carries a single NAL unit packet, the payload of the RTP packet is extracted as a single NAL unit, excluding the DONL field, i.e., third and fourth bytes, when sprop-max-don-diff is greater than 0.  When an RTP packet carries an Aggregation Packet, several NAL units are extracted from the payload of the RTP packet.  In this case, each NAL unit corresponds to the part of the payload of each aggregation unit that follows the NALU size field as described in Section 4.3.2.  When an RTP packet carries a Fragmentation Unit (FU), all RTP packets from the first FU (with the S field equal to 1) of the fragmented NAL unit up to the last FU (with the E field equal to 1) of the fragmented NAL unit are collected.  The NAL unit is extracted from these RTP packets by concatenating all FU payloads in the same order as the corresponding RTP packets and appending the NAL unit header with the fields F, LayerId, and TID, set to equal to the values of the fields F, LayerId, and TID in the payload header of the FUs respectively, and with the NAL unit type set equal to the value of the field FuType in the FU header of the FUs, as described in Section 4.3.3.</t>

<t>When sprop-max-don-diff is equal to 0, the de-packetization buffer size is zero bytes, and the NAL units carried in the single RTP stream are directly passed to the decoder in their transmission order, which is identical to their decoding order.</t>

<!-- > Informative note: The mapping between RTP and NTP timestamps is
conveyed in RTCP SR packets.  In addition, the mechanisms for
faster media timestamp synchronization discussed in {{RFC6051}} may
be used to speed up the acquisition of the RTP-to-wall-clock
mapping. -->

<t>When sprop-max-don-diff is greater than 0, the process described in the remainder of this section
applies.</t>

<t>There are two buffering states in the receiver: initial buffering and
buffering while playing.  Initial buffering starts when the reception
is initialized.  After initial buffering, decoding and playback are
started, and the buffering-while-playing mode is used.</t>

<t>Regardless of the buffering state, the receiver stores incoming NAL units in reception order into the de-packetization buffer.  NAL units carried in RTP packets are stored in the de-packetization
buffer individually, and the value of AbsDon is calculated and stored for each NAL unit.</t>

<t>Initial buffering lasts until the difference between the greatest and smallest AbsDon values of the NAL units in the de-packetization buffer is greater than or equal to the value of sprop-max-don-diff.</t>

<t>After initial buffering, whenever the difference between the greatest and smallest AbsDon values of the NAL units in the de-packetization buffer is greater than or equal to the value of sprop-max-don-diff, the following operation is repeatedly applied until this difference is smaller than sprop-max-don-diff:</t>

<t><list style="symbols">
  <t>The NAL unit in the de-packetization buffer with the smallest
value of AbsDon is removed from the de-packetization buffer and
passed to the decoder.</t>
</list></t>

<t>When no more NAL units are flowing into the de-packetization buffer,
all NAL units remaining in the de-packetization buffer are removed
from the buffer and passed to the decoder in the order of increasing
AbsDon values.</t>

</section>
<section anchor="PayloadFormatParameters" title="Payload Format Parameters">

<t>This section specifies the optional parameters. A mapping of the parameters with  Session Description Protocol (SDP) <xref target="RFC4556"/> is also provided for applications that use SDP.</t>

<section anchor="oparams" title="Media Type Registration">

<t>The receiver MUST ignore any parameter unspecified in this memo.</t>

<t>Type name:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;video</t>

<t>Subtype name:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;H266</t>

<t>Required parameters:&#160;&#160;none</t>

<t>Optional parameters:</t>

<t><list style='empty'>
  <t>profile-id, tier-flag, sub-profile-id, interop-constraints, and level-id:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>These parameters indicate the profile, tier, default level, sub-profile, and some constraints of the bitstream carried by the RTP stream, or a specific set of the profile, tier, default level, sub-profile and some constraints the receiver supports.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The subset of coding tools that may have been used to generate the bitstream or that the receiver supports, as well as some additional constraints are indicated collectively by profile-id, sub-profile-id, and interop-constraints.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style='empty'>
      <t>Informative note: There are 128 values of profile-id.  The subset of coding tools identified by the profile-id can be further constrained with up to 255 instances of sub-profile-id.  In addition, 68 bits included in interop-constraints, which can be extended up to 324 bits provide means to further restrict tools from existing profiles.  To be able to support this fine-granular signalling of coding tool subsets with profile-id, sub-profile-id and interop-constraints, it would be safe to require symmetric use of these parameters in SDP offer/answer unless recv-ols-id is included in the SDP answer for choosing one of the layers offered.</t>
    </list></t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The tier is indicated by tier-flag.  The default level is indicated by level-id.  The tier and the default level specify the limits on values of syntax elements or arithmetic combinations of values of syntax elements that are followed when generating the bitstream or that the receiver supports.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>In SDP offer/answer, when the SDP answer does not include the recv-ols-id parameter that is less than the sprop-ols-id parameter in the SDP offer, the following applies:</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style="symbols">
      <t>The tier-flag, profile-id, sub-profile-id, and interop-constraints parameters MUST be used symmetrically, i.e., the value of each of these parameters in the offer MUST be the same as that in the answer, either explicitly signaled or implicitly inferred.</t>
    </list></t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style="symbols">
      <t>The level-id parameter is changeable as long as the highest level indicated by the answer is either equal to or lower than that in the offer.  Note that a highest level higher than level-id in the offer for receiving can be included as max-recv-level-id.</t>
    </list></t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>In SDP offer/answer, when the SDP answer does include the recv-ols-id parameter that is less than the sprop-ols-id parameter in the SDP offer, the set of tier- flag, profile-id, sub-profile-id, interop-constraints, and level-id parameters included in the answer MUST be consistent with that for the chosen output layer set as indicated in the SDP offer, with the exception that the level-id parameter in the SDP answer is changeable as long as the highest level indicated by the answer is either lower than or equal to that in the offer.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>More specifications of these parameters, including how they relate to syntax elements specified in <xref target="VVC"/> are provided below.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>profile-id:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>When profile-id is not present, a value of 1 (i.e., the Main 10 profile) MUST be inferred.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>When used to indicate properties of a bitstream, profile-id is derived from the general_profile_idc syntax element that applies to the bitstream in an instance of the profile_tier_level( ) syntax structure.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>A profile_tier_level( ) syntax structure may be contained in an SPS, VPS, or DCI NAL units as specified in <xref target="VVC"/>.  One of the following three cases applies to the container NAL unit of the profile_tier_level( ) syntax structure containing those PTL syntax elements used to derive the values of profile-id, tier-flag, level-id, sub-profile-id, or interop-constraints: 1) The container NAL unit is an SPS, the bitstream is a single-layer bitstream, and the profile_tier_level( ) syntax structures in all SPSs referenced by the CVSs in the bitstream has the same values respectively for those PTL syntax elements; 2) The container NAL unit is a VPS, the profile_tier_level( ) syntax structure is the one in the VPS that applies to the OLS corresponding to the bitstream, and the profile_tier_level( ) syntax structures applicable to the OLS corresponding to the bitstream in all VPSs referenced by the CVSs in the bitstream have the same values respectively for those PTL syntax elements; 3) The container NAL unit is a DCI NAL unit and the profile_tier_level( ) syntax structures in all DCI NAL units in the bitstream has the same values respectively for those PTL syntax elements.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>tier-flag, level-id:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The value of tier-flag MUST be in the range of 0 to 1, inclusive.  The value of level-id MUST be in the range of 0 to 255, inclusive.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>If the tier-flag and level-id parameters are used to indicate properties of a bitstream, they indicate the tier and the highest level the bitstream complies with.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>If the tier-flag and level-id parameters are used for capability exchange, the following applies.  If max-recv-level-id is not present, the default level defined by level-id indicates the highest level the codec wishes to support. Otherwise, max-recv-level-id indicates the highest level the codec supports for receiving.  For either receiving or sending, all levels that are lower than the highest level supported MUST also be supported.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>If no tier-flag is present, a value of 0 MUST be inferred; if no level-id is present, a value of 51 (i.e., level 3.1) MUST be inferred.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style='empty'>
      <t>Informative note:  The level values currently defined in the VVC specification are in the form of "majorNum.minorNum", and the value of the level-id for each of the levels is equal to majorNum * 16 + minorNum * 3.  It is expected that if any level are defined in the future, the same convention will be used, but this cannot be guaranteed.</t>
    </list></t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>When used to indicate properties of a bitstream, the tier-flag and level-id parameters are derived respectively from the syntax element general_tier_flag, and the syntax element general_level_idc or sub_layer_level_idc[j], that apply to the bitstream, in an instance of the profile_tier_level( ) syntax structure.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>If the tier-flag and level-id are derived from the profile_tier_level( ) syntax structure in a DCI NAL unit, the following applies:</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style="symbols">
      <t>tier-flag = general_tier_flag</t>
      <t>level-id = general_level_idc</t>
    </list></t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>Otherwise, if the tier-flag and level-id are derived from the profile_tier_level( ) syntax structure in an SPS or VPS NAL unit, and the bitstream contains the highest sub-layer representation in the OLS corresponding to the bitstream, the following applies:</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style="symbols">
      <t>tier-flag = general_tier_flag</t>
      <t>level-id = general_level_idc</t>
    </list></t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>Otherwise, if the tier-flag and level-id are derived from the profile_tier_level( ) syntax structure in an SPS or VPS NAL unit, and the bitstream does not contains the highest sub-layer representation in the OLS corresponding to the bitstream, the following applies, with j being the value of the sprop-sub-layer-id parameter:</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style="symbols">
      <t>tier-flag = general_tier_flag</t>
      <t>level-id = sub_layer_level_idc[j]</t>
    </list></t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>sub-profile-id:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The value of the parameter is a comma-separated (',') list of data using base64 <xref target="RFC4648"/> representation.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>When used to indicate properties of a bitstream, sub-profile-id is derived from each of the ptl_num_sub_profiles general_sub_profile_idc[i] syntax elements that apply to the bitstream in an profile_tier_level( ) syntax structure.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>interop-constraints:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>A base64 <xref target="RFC4648"/> representation of the data that includes the syntax elements ptl_frame_only_constraint_flag and ptl_multilayer_enabled_flag and the general_constraints_info( ) syntax structure that apply to the bitstream in an instance of the profile_tier_level( ) syntax structure.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>If the interop-constraints parameter is not present, the following MUST be inferred:</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style="symbols">
      <t>ptl_frame_only_constraint_flag = 1</t>
      <t>ptl_multilayer_enabled_flag = 0</t>
      <t>gci_present_flag in the general_constraints_info( ) syntax structure = 0</t>
    </list></t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>Using interop-constraints for capability exchange results in a requirement on any bitstream to be compliant with the interop-constraints.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>sprop-sub-layer-id:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>This parameter MAY be used to indicate the highest allowed value of TID in the highest layer present in the bitstream.  When not present, the value of sprop-sub-layer-id is inferred to be equal to 6.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The value of sprop-sub-layer-id MUST be in the range of 0 to 6, inclusive.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>sprop-ols-id:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>This parameter MAY be used to indicate the OLS that the bitstream applies to.  When not present, the value of sprop-ols-id is inferred to be equal to TargetOlsIdx as specified in 8.1.1 in <xref target="VVC"/>. If this optional parameter is present, sprop-vps MUST also be present or its content MUST be known a priori at the receiver.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The value of sprop-ols-id MUST be in the range of 0 to 257, inclusive.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style='empty'>
      <t>Informative note: VVC allows having up to 258 output layer sets indicated in the VPS as the number of output layer sets minus 2 is indicated with a field of 8 bits.</t>
    </list></t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>recv-sub-layer-id:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>This parameter MAY be used to signal a receiver's choice of the offered or declared sub-layer representations in the sprop-vps and sprop-sps. The value of recv-sub-layer-id indicates the TID of the highest sub-layer in the highest layer of the bitstream that a receiver supports.  When not present, the value of recv-sub-layer-id is inferred to be equal to the value of the sprop-sub-layer-id parameter in the SDP offer.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The value of recv-sub-layer-id MUST be in the range of 0 to 6, inclusive.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>recv-ols-id:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>This parameter MAY be used to signal a receiver's choice of the offered or declared output layer sets in the sprop-vps.  The value of recv-ols-id indicates the OLS index of the bitstream that a receiver supports.  When not present, the value of recv-ols-id is inferred to be equal to the value of the sprop-ols-id parameter in the SDP offer.  When present, the value of recv-ols-id must be included only when sprop-ols-id was received and must refer to an output layer set in the VPS that is in the same dependency tree as the OLS referred to by sprop-ols-id.  If this optional parameter is present, sprop-vps must have been received or its content must be known a priori at the receiver.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The value of recv-ols-id MUST be in the range of 0 to 257, inclusive.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>max-recv-level-id:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>This parameter MAY be used to indicate the highest level a receiver supports.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The value of max-recv-level-id MUST be in the range of 0 to 255, inclusive.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>When max-recv-level-id is not present, the value is inferred to be equal to level-id.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>max-recv-level-id MUST NOT be present when the highest level the receiver supports is not higher than the default level.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>sprop-dci:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>This parameter MAY be used to convey a decoding capability information NAL unit of the bitstream for out-of-band transmission.  The parameter MAY also be used for capability exchange.  The value of the parameter a base64 <xref target="RFC4648"/> representations of the decoding capability information NAL unit as specified in Section 7.3.2.1 of <xref target="VVC"/>.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>sprop-vps:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>This parameter MAY be used to convey any video parameter set NAL unit of the bitstream for out-of-band transmission of video parameter sets.  The parameter MAY also be used for capability exchange and to indicate sub-stream characteristics (i.e., properties of output layer sets and sublayer representations as defined in <xref target="VVC"/>). The value of the parameter is a comma-separated (',') list of base64 <xref target="RFC4648"/> representations of the video parameter set NAL units as specified in Section 7.3.2.3 of <xref target="VVC"/>.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The sprop-vps parameter MAY contain one or more than one video parameter set NAL unit. However, all other video parameter sets contained in the sprop-vps parameter MUST be consistent with the first video parameter set in the sprop-vps parameter.  A video parameter set vpsB is said to be consistent with another video parameter set vpsA if any decoder that conforms to the profile, tier, level, and constraints indicated by the data starting from the syntax element general_profile_space to the syntax element general_level_idc, inclusive, in the first profile_tier_level( ) syntax structure in vpsA can decode any bitstream that conforms to the profile, tier, level, and constraints indicated by the data starting from the syntax element general_profile_space to the syntax element general_level_idc, inclusive, in the first profile_tier_level( ) syntax structure in vpsB.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>sprop-sps:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>This parameter MAY be used to convey sequence parameter set NAL units of the bitstream for out-of-band transmission of sequence parameter sets.  The value of the parameter is a comma-separated (',') list of base64 <xref target="RFC4648"/> representations of the sequence parameter set NAL units as specified in Section 7.3.2.4 of <xref target="VVC"/>.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>sprop-pps:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>This parameter MAY be used to convey picture parameter set NAL units of the bitstream for out-of-band transmission of picture parameter sets.  The value of the parameter is a comma-separated (',') list of base64 <xref target="RFC4648"/> representations of the picture parameter set NAL units as specified in Section 7.3.2.5 of <xref target="VVC"/>.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>sprop-sei:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>This parameter MAY be used to convey one or more SEI messages that describe bitstream characteristics.  When present, a decoder can rely on the bitstream characteristics that are described in the SEI messages for the entire duration of the session, independently from the persistence scopes of the SEI messages as specified in <xref target="VSEI"/>.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The value of the parameter is a comma-separated (',') list of base64 <xref target="RFC4648"/> representations of SEI NAL units as specified in <xref target="VSEI"/>.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style='empty'>
      <t>Informative note: Intentionally, no list of applicable or inapplicable SEI messages is specified here.  Conveying certain SEI messages in sprop-sei may be sensible in some application scenarios and meaningless in others.  However, a few examples are described below:</t>
    </list></t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style='empty'>
      <t>1) In an environment where the bitstream was created from film-based source material, and no splicing is going to occur during the lifetime of the session, the film grain characteristics SEI message is likely meaningful, and sending it in sprop-sei rather than in the bitstream at each entry point may help with saving bits and allows one to configure the renderer only once, avoiding unwanted artifacts.</t>
    </list></t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style='empty'>
      <t>2) Examples for SEI messages that would be meaningless to be conveyed in sprop-sei include the decoded picture hash SEI message (it is close to impossible that all decoded pictures have the same hashtag), the display orientation SEI message when the device is a handheld  device (as the display orientation may change when the handheld device is turned around), or the filler payload SEI message (as there is no point in just having more bits in SDP).</t>
    </list></t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>max-lsr:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The max-lsr MAY be used to signal the capabilities of a receiver implementation and MUST NOT be used for any other purpose. The value of max-lsr is an integer indicating the maximum processing rate in units of luma samples per second.  The max-lsr parameter signals that the receiver is capable of decoding video at a higher rate than is required by the highest level.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style='empty'>
      <t>Informative note: When the OPTIONAL media type parameters are used to signal the properties of a bitstream, and max-lsr is not present, the values of tier-flag, profile-id, sub-profile-id interop-constraints, and level-id must always be such that the bitstream complies fully with the specified profile, tier, and level.</t>
    </list></t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>When max-lsr is signaled, the receiver MUST be able to decode bitstreams that conform to the highest level, with the exception that the MaxLumaSr value in Table 136 of <xref target="VVC"/> for the highest level is replaced with the value of max-lsr.  Senders MAY use this knowledge to send pictures of a given size at a higher picture rate than is indicated in the highest level.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>When not present, the value of max-lsr is inferred to be equal to the value of MaxLumaSr given in Table 136 of <xref target="VVC"/> for the highest level.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The value of max-lsr MUST be in the range of MaxLumaSr to 16 * MaxLumaSr, inclusive, where MaxLumaSr is given in Table 136 of <xref target="VVC"/> for the highest level.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>max-fps:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The value of max-fps is an integer indicating the maximum picture rate in units of pictures per 100 seconds that can be effectively processed by the receiver.  The max-fps parameter MAY be used to signal that the receiver has a constraint in that it is not capable of processing video effectively at the full picture rate that is implied by the highest level and, when present, max-lsr.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The value of max-fps is not necessarily the picture rate at which the maximum picture size can be sent, it constitutes a constraint on maximum picture rate for all resolutions.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style='empty'>
      <t>Informative note: The max-fps parameter is semantically different from max-lsr in that max-fps is used to signal a constraint, lowering the maximum picture rate from what is implied by other parameters.</t>
    </list></t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The encoder MUST use a picture rate equal to or less than this value.  In cases where the max-fps parameter is absent, the encoder is free to choose any picture rate according to the highest level and any signaled optional parameters.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The value of max-fps MUST be smaller than or equal to the full picture rate that is implied by the highest level and, when present, max-lsr.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>sprop-max-don-diff:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>If there is no NAL unit naluA that is followed in transmission order by any NAL unit preceding naluA in decoding order (i.e., the transmission order of the NAL units is the same as the decoding order), the value of this parameter MUST be equal to 0.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>Otherwise, this parameter specifies the maximum absolute difference between the decoding order number (i.e., AbsDon) values of any two NAL units naluA and naluB, where naluA follows naluB in decoding order and precedes naluB in transmission order.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The value of sprop-max-don-diff MUST be an integer in the range of 0 to 32767, inclusive.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>When not present, the value of sprop-max-don-diff is inferred to be equal to 0.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>sprop-depack-buf-bytes:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>This parameter signals the required size of the de-packetization buffer in units of bytes.  The value of the parameter MUST be greater than or equal to the maximum buffer occupancy (in units of bytes) of the de-packetization buffer as specified in Section 6.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>The value of sprop-depack-buf-bytes MUST be an integer in the range of 0 to 4294967295, inclusive.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>When sprop-max-don-diff is present and greater than 0, this parameter MUST be present and the value MUST be greater than 0.  When not present, the value of sprop-depack-buf-bytes is inferred to be equal to 0.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style='empty'>
      <t>Informative note: The value of sprop-depack-buf-bytes indicates the required size of the de-packetization buffer only.  When network jitter can occur, an appropriately sized jitter buffer has to be available as well.</t>
    </list></t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t>depack-buf-cap:</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>This parameter signals the capabilities of a receiver implementation and indicates the amount of de-packetization buffer space in units of bytes that the receiver has available for reconstructing the NAL unit decoding order from NAL units carried in the RTP stream.  A receiver is able to handle any RTP stream for which the value of the sprop-depack-buf-bytes parameter is smaller than or equal to this parameter.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>When not present, the value of depack-buf-cap is inferred to be equal to 4294967295.  The value of depack-buf-cap MUST be an integer in the range of 1 to 4294967295, inclusive.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style='empty'>
      <t>Informative note: depack-buf-cap indicates the maximum possible size of the de-packetization buffer of the receiver only, without allowing for network jitter.</t>
    </list></t>
  </list></t>
</list></t>

</section>
<section anchor="sdp-parameters" title="SDP Parameters">

<t>The receiver MUST ignore any parameter unspecified in this memo.</t>

<section anchor="mapping-of-payload-type-parameters-to-sdp" title="Mapping of Payload Type Parameters to SDP">

<t>The media type video/H266 string is mapped to fields in the Session 
Description Protocol (SDP) <xref target="RFC4566"/> as follows:</t>

<t><list style="symbols">
  <t>The media name in the "m=" line of SDP MUST be video.</t>
  <t>The encoding name in the "a=rtpmap" line of SDP MUST be H266 (the media subtype).</t>
  <t>The clock rate in the "a=rtpmap" line MUST be 90000.</t>
  <t>The OPTIONAL parameters profile-id, tier-flag, sub-profile-id, interop-constraints, level-id, sprop-sub-layer-id, sprop-ols-id, recv-sub-layer-id, recv-ols-id, max-recv-level-id, max-lsr, max-fps, sprop-max-don-diff, sprop-depack-buf-bytes and depack-buf-cap, when present, MUST be included in the "a=fmtp" line of SDP.  This parameter is expressed as a media type string, in the form of a semicolon-separated list of parameter=value pairs.</t>
  <t>The OPTIONAL parameter sprop-vps, sprop-sps, sprop-pps, sprop-sei, and sprop-dci, when present, MUST be included in the "a=fmtp" line of SDP or conveyed using the "fmtp" source attribute as specified in Section 6.3 of <xref target="RFC5576"/>. For a particular media format (i.e., RTP payload type), sprop-vps, sprop-sps, sprop-pps, sprop-sei, or sprop-dci MUST NOT be both included in the "a=fmtp" line of SDP and conveyed using the "fmtp" source attribute.  When included in the "a=fmtp" line of SDP, those parameters are expressed as a media type string, in the form of a semicolon-separated list of parameter=value pairs.  When conveyed in the "a=fmtp" line of SDP for a particular payload type, the parameters sprop-vps, sprop-sps, sprop-pps, sprop-sei, and sprop-dci MUST be applied to each SSRC with the payload type.  When conveyed using the "fmtp" source attribute, these parameters are only associated with the given source and payload type as parts of the "fmtp" source attribute.</t>
</list></t>

<t>An example of media representation in SDP is as follows:</t>

<figure><artwork><![CDATA[
        m=video 49170 RTP/AVP 98
        a=rtpmap:98 H266/90000
        a=fmtp:98 profile-id=1;
          sprop-vps=<video parameter sets data>;
          sprop-sps=<sequence parameter set data>;
          sprop-pps=<picture parameter set data>;
]]></artwork></figure>

</section>
<section anchor="sdpoa" title="Usage with SDP Offer/Answer Model">

<t>This section describes the negotiation of unicast messages using the offer-answer model as described in <xref target="RFC3264"/> and its updates.  The section is split into subsections, covering a) media format configurations not involving non-temporal scalability; b) scalable media format configurations; c) the description of the use of those parameters not involving the media configuration itself but rather the parameters of the payload format design; and d) multicast.</t>

<section anchor="non-scalable-media-format-configuration" title="Non-scalable media format configuration">

<t>A non-scalable VVC media configuration is such a configuration where no non-temporal scalability mechanisms are allowed.  In <xref target="VVC"/> version 1, that implies that general_profile_idc indicates one of the following profiles: Main10, Main10 still, Main 10 4:4:4, Main10 4:4:4 still, with general_profile_dic values of 1, 65, 33, and 97, respectively.  Note that non-scalable media configurations includes temporal scalability, inline with VVC's design philosophy and profile structure.</t>

<t>The following limitations and rules pertaining to the media configuration apply:</t>

<t><list style="symbols">
  <t>The parameters identifying a media format configuration for VVC are profile-id, tier-flag, sub-profile-id, level-id, and interop-constraints.  These media configuration parameters, except level-id, MUST be used symmetrically.</t>
</list></t>

<t><list style='empty'>
  <t>The answerer MUST structure its answer in according to one of the following three options:</t>
</list></t>

<t><list style='empty'>
  <t>1) maintain all configuration parameters with the values remaining the same as in the offer for the media format (payload type), with the exception that the value of level-id is changeable as long as the highest level indicated by the answer is not higher than that indicated by the offer;</t>
</list></t>

<t><list style='empty'>
  <t>2) include in the answer the recv-sub-layer-id parameter, with a value less than the sprop-sub-layer-id parameter in the offer, for the media format (payload type), and maintain all configuration parameters with the values remaining the same as in the offer for the media format (payload type), with the exception that the value of level-id is changeable as long as the highest level indicated by the answer is not higher than the level indicated by the sprop-sps or sprop-vps in offer for the chosen sub-layer representation; or</t>
</list></t>

<t><list style='empty'>
  <t>3) remove the media format (payload type) completely (when one or more of the parameter values are not supported).</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style='empty'>
      <t>Informative note: The above requirement for symmetric use does not apply for level-id, and does not apply for the other bitstream or RTP stream properties and capability parameters as described in <xref target="payloadformatconfig"/> below.</t>
    </list></t>
  </list></t>
</list></t>

<t><list style="symbols">
  <t>To simplify handling and matching of these configurations, the same RTP payload type number used in the offer SHOULD also be used in the answer, as specified in <xref target="RFC3264"/>.</t>
  <t>The same RTP payload type number used in the offer for the media subtype H266 MUST be used in the answer when the answer includes recv-sub-layer-id.  When the answer does not include recv-sub-layer-id, the answer MUST NOT contain a payload type number used in the offer for the media subtype H266 unless the configuration is exactly the same as in the offer or the configuration in the answer only differs from that in the offer with a different value of level-id.  The answer MAY contain the recv-sub-layer-id parameter if an VVC bitstream contains multiple operation points (using temporal scalability and sub-layers) and sprop-sps or sprop-vps is included in the offer where information of sub-layers are present in the first sequence parameter set or video parameter set contained in sprop-sps or sprop-vps respectively.  If the sprop-sps or sprop-vps is provided in an offer, an answerer MAY select a particular operation point indicated in the first sequence parameter set or video parameter set contained in sprop-sps or sprop-vps respectively.  When the answer includes a recv-sub-layer-id that is less than a sprop-sub-layer-id in the offer, the following applies:</t>
</list></t>

<t><list style='empty'>
  <t>1) When sprop-sps parameter is present, all sequence parameter sets contained in the sprop-sps parameter in the
SDP answer and all sequence parameter sets sent in-band for either the offerer-to-answerer direction or the answerer-to-offerer direction MUST be consistent with the first sequence parameter set in the sprop-sps parameter of the offer (see the semantics of sprop-sps in <xref target="oparams"/> of this document on one sequence parameter set being consistent with another sequence parameter set).</t>
</list></t>

<t><list style='empty'>
  <t>2) When sprop-vps parameter is present, all video parameter sets contained in the sprop-vps parameter in the
SDP answer and all video parameter sets sent in-band for either the offerer-to-answerer direction or the answerer-to-offerer direction MUST be consistent with the first video parameter set in the sprop-vps parameter of the offer (see the semantics of sprop-vps in <xref target="oparams"/> of this document on one video parameter set being consistent with another video parameter set).</t>
</list></t>

<t><list style='empty'>
  <t>3) The bitstream sent in either direction MUST conform to the profile, tier, level, and constraints of the chosen sub-layer representation as indicated by the profile_tier_level( ) syntax structure in the first sequence parameter set in the sprop-sps parameter or by the first profile_tier_level( ) syntax structure in the first video parameter set in the sprop-vps parameter of the offer.</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t><list style='empty'>
      <t>Informative note: When an offerer receives an answer that does not include recv-sub-layer-id, it has to compare payload types not declared in the offer based on the media type (i.e., video/H266) and the above media configuration parameters with any payload types it has already declared.  This will enable it
to determine whether the configuration in question is new or if it is equivalent to configuration already offered, since a different payload type number may be used in the answer.  The ability to perform operation point selection enables a receiver to utilize the temporal scalable nature of an VVC bitstream.</t>
    </list></t>
  </list></t>
</list></t>

</section>
<section anchor="scalable-media-format-configuration" title="Scalable media format configuration">

<t>A scalable VVC media configuration is such a configuration where non-temporal scalability mechanisms are allowed.  In <xref target="VVC"/> version 1, that implies that general_profile_idc indicates one of the following profiles: Multilayer Main 10, and Multilayer Main 10 4:4:4, with general_profile_idc values of 17 and 49, respectively.</t>

<t>The following limitations and rules pertaining to the media configuration apply.  They are listed in an order that would be logical for an implementation to follow:</t>

<t><list style="symbols">
  <t>The parameters identifying a media format configuration for scalable VVC are profile-id, tier-flag, sub-profile-id, level-id, interop-constraints, and sprop-vps.  These media configuration parameters, except level-id, MUST be used symmetrically, except as noted below.</t>
  <t>The answerer MAY include a level-id that MUST be lower or equal than the level-id indicated in the offer (either expressed by level-id in the offer, or implied by the default level as specific in <xref target="oparams"/>).</t>
  <t>The offerer MUST include sprop-vps including at least one valid VPS, so to allow the answerer to meaningfully interpret sprop-ols-id and select recv-ols-id (see below).</t>
  <t>The offerer MUST include sprop-ols-id.  The answerer MUST include recv-ols-id, and recv-ols-id MUST indicate a supported output layer set in the same dependency tree as sprop-ols-id.  If unable, the answerer MUST remove the media format.</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>Informative note: if an offerer wants to offer more than one output layer set, in can do so by offering multiple VVC media with different payload types.</t>
  </list></t>
</list></t>

<t><list style="symbols">
  <t>The offerer MAY include sprop-sub-layer-id which, in case of scalable VVC, is interpreted as the highest sub-layer of the highest enhancement layer in the OLS indicated by sprop-ols-id.  The answerer MAY include recv-sub-layer-id which can be used to downgrade the sublayer of the highest enhancement layer.  This specification does not support downgrading the sub-layer of any layers in the OLS that are not the highest layer.</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>Informative note: in other words, using this mechanism, an answerer can downgrade only the frame rate for the highest spatial/quality layer (typically corresponding to the highest resolution or bitrate, hence the most complex to decode), but not for lower spatial/quality layers.  The answerer must support all sublayers for lower layers in the OLS, or reject the offer.  That's not a big burden, as the receiver/decoder has the option to discard any sublayers it cannot decode, irrespective of what is being signalled through offer/answer.</t>
  </list></t>
</list></t>

<t><list style="symbols">
  <t>The answerer MUST maintain all configuration parameters with the values being the same as signaled in the sprop-vps for the operating point with the largest number of sublayers for the chosen output layer set, with the exception that the value of level-id is changeable as long as the highest level indicated by the answer is not higher than the level indicated by the sprop-vps in offer for the operating point with the largest number of sublayers for the chosen output layer set.</t>
</list></t>

</section>
<section anchor="payloadformatconfig" title="Payload format configuration">

<t>The following limitations and rules pertain to the configuration of the payload format mechanisms---buffer management mostly and apply to both scalable and non-scalable VVC.</t>

<t><list style="symbols">
  <t>The parameters sprop-max-don-diff, and sprop-depack-buf-bytes describe the properties of an RTP stream that the offerer or the answerer is sending for the media format configuration.  This differs from the normal usage of the offer/answer parameters: normally such parameters declare the properties of the bitstream or RTP stream that the offerer or the answerer is able to receive.  When dealing with VVC, the offerer assumes that the answerer will be able to receive media encoded using the configuration being offered.</t>
</list></t>

<t><list style='empty'>
  <t><list style='empty'>
    <t>Informative note:  The above parameters apply for any RTP stream, when present, sent by a declaring entity with the same configuration.  In other words, the applicability of the above parameters to RTP streams depends on the source endpoint. Rather than being bound to the payload type, the values may have to be applied to another payload type when being sent, as they apply for the configuration.</t>
  </list></t>
</list></t>

<t><list style="symbols">
  <t>The capability parameter max-lsr MAY be used to declare further capabilities of the offerer or answerer for receiving. It MUST NOT be present when the direction attribute is sendonly.</t>
  <t>The capability parameter max-fps MAY be used to declare lower capabilities of the offerer or answerer for receiving.  It MUST NOT be present when the direction attribute is sendonly.</t>
  <t>When an offerer offers an interleaved stream, indicated by the presence of sprop-max-don-diff with a value larger than zero, the offerer MUST include the size of the de-packetization buffer sprop-depack-buf-bytes.</t>
  <t>To enable the offerer and answerer to inform each other about their capabilities for de-packetization buffering in receiving RTP streams, both parties are RECOMMENDED to include depack-buf-cap.</t>
  <t>The sprop-dci, sprop-vps, sprop-sps, or sprop-pps, when present (included in the "a=fmtp" line of SDP or conveyed using the "fmtp" source attribute as specified in Section 6.3 of <xref target="RFC5576"/>), are used for out-of-band transport of the parameter sets (DCI, VPS, SPS, or PPS, respectively).</t>
  <t>The answerer MAY use either out-of-band or in-band transport of parameter sets for the bitstream it is sending, regardless of whether out-of-band parameter sets transport has been used in the offerer-to-answerer direction.  Parameter sets included in an answer are independent of those parameter sets included in the offer, as they are used for decoding two different bitstreams, one from the answerer to the offerer and the other in the opposit direction.  In case some RTP packets are sent before the SDP offer/answer settles down, in-band parameter sets MUST be used for those RTP stream parts sent before the SDP offer/answer.</t>
  <t>The following rules apply to transport of parameter set in the offerer-to-answerer direction.</t>
</list></t>

<t><list style='empty'>
  <t><list style="symbols">
    <t>An offer MAY include sprop-dci, sprop-vps, sprop-sps, and/or sprop-pps. If none of these parameters is present in the offer, then only in-band transport of parameter sets is used.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style="symbols">
    <t>If the level to use in the offerer-to-answerer direction is equal to the default level in the offer, the answerer MUST be prepared to use the parameter sets included in sprop-vps, sprop-sps, and sprop-pps (either included in the "a=fmtp" line of SDP or conveyed using the "fmtp" source attribute) for decoding the incoming bitstream, e.g., by passing these parameter set NAL units to the video decoder before passing any NAL units carried in the RTP streams.  Otherwise, the answerer MUST ignore sprop-vps, sprop-sps, and sprop-pps (either included in the "a=fmtp" line of SDP or conveyed using the "fmtp" source attribute) and the offerer MUST transmit parameter sets in-band.</t>
  </list></t>
</list></t>

<t><list style="symbols">
  <t>The following rules apply to transport of parameter set in the answerer-to-offerer direction.</t>
</list></t>

<t><list style='empty'>
  <t><list style="symbols">
    <t>An answer MAY include sprop-dci, sprop-vps, sprop-sps, and/or sprop-pps. If none of these parameters is present in the answer, then only in-band transport of parameter sets is used.</t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style="symbols">
    <t>The offerer MUST be prepared to use the parameter sets included in sprop-vps, sprop-sps, and sprop-pps (either included in the "a=fmtp" line of SDP or conveyed using the "fmtp" source attribute) for decoding the incoming bitstream, e.g., by passing these parameter set NAL units to the video decoder before passing any NAL units carried in the RTP streams.</t>
  </list></t>
</list></t>

<t><list style="symbols">
  <t>When sprop-dci, sprop-vps, sprop-sps, and/or sprop-pps are conveyed using the "fmtp" source attribute as specified in Section 6.3 of <xref target="RFC5576"/>, the receiver of the parameters MUST store the parameter sets
included in sprop-dci, sprop-vps, sprop-sps, and/or sprop-pps and associate them with the source given as part of the "fmtp" source attribute. Parameter sets associated with one source (given as part of the "fmtp" source attribute) MUST only be used to decode NAL units conveyed in RTP packets from the same source (given as part of the "fmtp" source attribute).  When this mechanism is in use, SSRC collision detection and resolution MUST be performed as specified in <xref target="RFC5576"/>.</t>
</list></t>

<t>Table 1 lists the interpretation of all the parameters that MAY be
used for the various combinations of offer, answer, and direction
attributes.  Note that the two columns wherein the recv-ols-id
parameter is used only apply to answers, whereas the other columns
apply to both offers and answers.</t>

<t>Table 1.  Interpretation of parameters for various combinations of
offers, answers, direction attributes, with and without recv-ols-id.  Columns that do not indicate offer or answer apply to
both.</t>

<figure><artwork><![CDATA[
                                    sendonly --+
            answer: recvonly, recv-ols-id --+  |
              recvonly w/o recv-ols-id --+  |  |
      answer: sendrecv, recv-ols-id --+  |  |  |
        sendrecv w/o recv-ols-id --+  |  |  |  |
                                   |  |  |  |  |
profile-id                         C  D  C  D  P
tier-flag                          C  D  C  D  P
level-id                           D  D  D  D  P
sub-profile-id                     C  D  C  D  P
interop-constraints                C  D  C  D  P
max-recv-level-id                  R  R  R  R  -
sprop-max-don-diff                 P  P  -  -  P
sprop-depack-buf-bytes             P  P  -  -  P
depack-buf-cap                     R  R  R  R  -
max-lsr                            R  R  R  R  -
max-fps                            R  R  R  R  -
sprop-dci                          P  P -  -  P
sprop-vps                          P  P  -  -  P
sprop-sps                          P  P  -  -  P
sprop-pps                          P  P  -  -  P
sprop-sub-layer-id                 P  P  -  -  P
recv-sub-layer-id                  O  O  O  O  -
sprop-ols-id                       P  P  -  -  P
recv-ols-id                        X  O  X  O  -


Legend:

 C: configuration for sending and receiving bitstreams
 D: changeable configuration, same as C except possible
    to answer with a different but consistent value (see the
    semantics of the six parameters related to profile, tier,
    and level on these parameters being consistent)
 P: properties of the bitstream to be sent
 R: receiver capabilities
 O: operation point selection
 X: MUST NOT be present
 -: not usable, when present MUST be ignored
]]></artwork></figure>

<t>Parameters used for declaring receiver capabilities are, in general,
downgradable; i.e., they express the upper limit for a sender's
possible behavior.  Thus, a sender MAY select to set its encoder
using only lower/lesser or equal values of these parameters.</t>

<t>When the answer does not include a recv-ols-id that is less
than the sprop-ols-id in the offer, parameters declaring a
configuration point are not changeable, with the exception of the
level-id parameter for unicast usage, and these parameters express
values a receiver expects to be used and MUST be used verbatim in the
answer as in the offer.</t>

<t>When a sender's capabilities are declared with the configuration
parameters, these parameters express a configuration that is
acceptable for the sender to receive bitstreams.  In order to achieve
high interoperability levels, it is often advisable to offer multiple
alternative configurations.  It is impossible to offer multiple
configurations in a single payload type.  Thus, when multiple
configuration offers are made, each offer requires its own RTP
payload type associated with the offer.  However, it is possible to
offer multiple operation points using one configuration in a single
payload type by including sprop-vps in the offer and recv-ols-
id in the answer.</t>

<t>A receiver SHOULD understand all media type parameters, even if it
only supports a subset of the payload format's functionality.  This
ensures that a receiver is capable of understanding when an offer to
receive media can be downgraded to what is supported by the receiver
of the offer.</t>

<t>An answerer MAY extend the offer with additional media format
configurations.  However, to enable their usage, in most cases a
second offer is required from the offerer to provide the bitstream
property parameters that the media sender will use.  This also has
the effect that the offerer has to be able to receive this media
format configuration, not only to send it.</t>

</section>
<section anchor="multicast" title="Multicast">

<t>For bitstreams being delivered over multicast, the following rules apply:</t>

<t><list style="symbols">
  <t>The media format configuration is identified by profile-id, tier-flag, sub-profile-id, level-id, and interop-constraints.  These media format configuration parameters, including level-id, MUST be used symmetrically; that is, the answerer MUST either maintain all configuration parameters or remove the media format (payload type) completely.  Note that this implies that the level-id for offer/answer in multicast is not changeable.</t>
  <t>To simplify the handling and matching of these configurations, the same RTP payload type number used in the offer SHOULD also be used in the answer, as specified in <xref target="RFC3264"/>.  An answer MUST NOT contain a payload type number used in the offer unless the configuration is the same as in the offer.</t>
  <t>Parameter sets received MUST be associated with the originating source and MUST only be used in decoding the incoming bitstream from the same source.</t>
  <t>The rules for other parameters are the same as above for unicast as long as the three above rules are obeyed.</t>
</list></t>

</section>
</section>
<section anchor="usage-in-declarative-session-descriptions" title="Usage in Declarative Session Descriptions">

<t>When VVC over RTP is offered with SDP in a declarative style, as in Real Time Streaming Protocol (RTSP) <xref target="RFC2326"/> or Session Announcement Protocol (SAP) <xref target="RFC2974"/>, the following considerations are necessary.</t>

<t><list style="symbols">
  <t>All parameters capable of indicating both bitstream properties and receiver capabilities are used to indicate only bitstream properties.  For example, in this case, the parameter profile-id, 
tier-id, level-id declares the values used by the bitstream, not the capabilities for receiving bitstreams.  As a result, the following interpretation of the parameters MUST be used:</t>
</list></t>

<t><list style='empty'>
  <t><list style="symbols">
    <t>Declaring actual configuration or bitstream properties:
    <list style="symbols">
        <t>profile-id</t>
        <t>tier-flag</t>
        <t>level-id</t>
        <t>interop-constraints</t>
        <t>sub-profile-id</t>
        <t>sprop-dci</t>
        <t>sprop-vps</t>
        <t>sprop-sps</t>
        <t>sprop-pps</t>
        <t>sprop-max-don-diff</t>
        <t>sprop-depack-buf-bytes</t>
        <t>sprop-sub-layer-id</t>
        <t>sprop-ols-id</t>
      </list></t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style="symbols">
    <t>Not usable (when present, they MUST be ignored):
    <list style="symbols">
        <t>max-lsr</t>
        <t>max-fps</t>
        <t>max-recv-level-id</t>
        <t>depack-buf-cap</t>
        <t>recv-sublayer-id</t>
        <t>recv-ols-id</t>
      </list></t>
  </list></t>
</list></t>

<t><list style='empty'>
  <t><list style="symbols">
    <t>A receiver of the SDP is required to support all parameters and values of the parameters provided; otherwise, the receiver MUST reject (RTSP) or not participate in (SAP) the session.  It falls on the creator of the session to use values that are expected to be supported by the receiving application.</t>
  </list></t>
</list></t>

</section>
<section anchor="considerations-for-parameter-sets" title="Considerations for Parameter Sets">

<t>When out-of-band transport of parameter sets is used, parameter sets MAY still be additionally transported in-band unless explicitly disallowed by an application, and some of these additional parameter sets may update some of the out-of-band transported parameter sets. Update of a parameter set refers to the sending of a parameter set of the same type using the same parameter set ID but with different values for at least one other parameter of the parameter set.</t>

</section>
</section>
</section>
<section anchor="FeedbackMessage" title="Use with Feedback Messages">

<t>The following subsections define the use of the Picture Loss
Indication (PLI) and Full Intra Request (FIR) feedback
messages with <xref target="VVC"/>.  The PLI is defined in
<xref target="RFC4585"/>, and the FIR message is defined in <xref target="RFC5104"/>.
In accordance with this memo, unlike <xref target="HEVC"/>, a sender MUST NOT send Slice Loss Indication (SLI) or Reference Picture Selection Indication (RPSI), and a receiver SHOULD ignore RPSI and treat a received SLI as a PLI.</t>

<section anchor="PLI" title="Picture Loss Indication (PLI)">

<t>As specified in RFC 4585, Section 6.3.1, the reception of a PLI by a
media sender indicates "the loss of an undefined amount of coded
video data belonging to one or more pictures".  Without having any
specific knowledge of the setup of the bitstream (such as use and
location of in-band parameter sets, non-IRAP decoder refresh points,
picture structures, and so forth), a reaction to the reception of an
PLI by a VVC sender SHOULD be to send an IRAP picture and relevant
parameter sets; potentially with sufficient redundancy so to ensure
correct reception.  However, sometimes information about the
bitstream structure is known.  For example, state could have been
established outside of the mechanisms defined in this document that
parameter sets are conveyed out of band only, and stay static for the
duration of the session.  In that case, it is obviously unnecessary
to send them in-band as a result of the reception of a PLI.  Other
examples could be devised based on a priori knowledge of different
aspects of the bitstream structure.  In all cases, the timing and
congestion control mechanisms of RFC 4585 MUST be observed.</t>

</section>
<section anchor="FIR" title="Full Intra Request (FIR)">

<t>The purpose of the FIR message is to force an encoder to send an 
independent decoder refresh point as soon as possible, 
while observing applicable congestion-control-related constraints, 
such as those set out in <xref target="RFC8082"/>).</t>

<t>Upon reception of a FIR, a sender MUST send an IDR picture.
Parameter sets MUST also be sent, except when there is a priori
knowledge that the parameter sets have been correctly established.  A
typical example for that is an understanding between sender and
receiver, established by means outside this document, that parameter
sets are exclusively sent out-of-band.</t>

</section>
</section>
<section anchor="Security" title="Security Considerations">

<t>The scope of this Security Considerations section is limited to the
payload format itself and to one feature of <xref target="VVC"/> that may pose a
particularly serious security risk if implemented naively.  The
payload format, in isolation, does not form a complete system.
Implementers are advised to read and understand relevant security-
related documents, especially those pertaining to RTP (see the
Security Considerations section in <xref target="RFC3550"/> ), and the security of
the call-control stack chosen (that may make use of the media type
registration of this memo).  Implementers should also consider known
security vulnerabilities of video coding and decoding implementations
in general and avoid those.</t>

<t>Within this RTP payload format, and with the exception of the user
data SEI message as described below, no security threats other than
those common to RTP payload formats are known.  In other words,
neither the various media-plane-based mechanisms, nor the signaling
part of this memo, seems to pose a security risk beyond those common
to all RTP-based systems.</t>

<t>RTP packets using the payload format defined in this specification
are subject to the security considerations discussed in the RTP
specification <xref target="RFC3550"/> , and in any applicable RTP profile such as
RTP/AVP <xref target="RFC3551"/> , RTP/AVPF <xref target="RFC4585"/> , RTP/SAVP <xref target="RFC3711"/> , 
or RTP/SAVPF <xref target="RFC5124"/> .  However, as "Securing the RTP Framework: 
Why RTP Does Not Mandate a Single Media Security Solution" <xref target="RFC7202"/>
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 lays on anyone using RTP in an
application.  They can find guidance on available security mechanisms
and important considerations in "Options for Securing RTP Sessions"
<xref target="RFC7201"/> . The rest of this section discusses the security
impacting properties of the payload format itself.</t>

<t>Because the data compression used with this payload format is applied
end-to-end, any encryption needs to be performed after compression.
A potential denial-of-service threat exists for data encodings using
compression techniques that have non-uniform receiver-end
computational load.  The attacker can inject pathological datagrams
into the bitstream that are complex to decode and that cause the
receiver to be overloaded.  <xref target="VVC"/> is particularly vulnerable to such
attacks, as it is extremely simple to generate datagrams containing
NAL units that affect the decoding process of many future NAL units.
Therefore, the usage of data origin authentication and data integrity
protection of at least the RTP packet is RECOMMENDED, for example,
with SRTP <xref target="RFC3711"/> .</t>

<t>Like HEVC <xref target="RFC7798"/>, <xref target="VVC"/> includes a user data Supplemental
Enhancement Information (SEI) message.  This SEI message allows
inclusion of an arbitrary bitstring into the video bitstream.  Such a
bitstring could include JavaScript, machine code, and other active
content.  <xref target="VVC"/> leaves the handling of this SEI message to the
receiving system.  In order to avoid harmful side effects 
the user data SEI message, decoder implementations cannot naively
trust its content.  For example, it would be a bad and insecure
implementation practice to forward any JavaScript a decoder
implementation detects to a web browser.  The safest way to deal with
user data SEI messages is to simply discard them, but that can have
negative side effects on the quality of experience by the user.</t>

<t>End-to-end security with authentication, integrity, or
confidentiality protection will prevent a MANE from performing media-
aware operations other than discarding complete packets.  In the case
of confidentiality protection, it will even be prevented from
discarding packets in a media-aware way.  To be allowed to perform
such operations, a MANE is required to be a trusted entity that is
included in the security context establishment.</t>

</section>
<section anchor="CC" title="Congestion Control">
<t>Congestion control for RTP SHALL be used in accordance with RTP
<xref target="RFC3550"/> and with any applicable RTP profile, e.g., AVP <xref target="RFC3551"/>.
If best-effort service is being used, an additional requirement is
that users of this payload format MUST monitor packet loss to ensure
that the packet loss rate is within an acceptable range.  Packet loss
is considered acceptable if a TCP flow across the same network path,
and experiencing the same network conditions, would achieve an
average throughput, measured on a reasonable timescale, that is not
less than all RTP streams combined are achieving.  This condition can
be satisfied by implementing congestion-control mechanisms to adapt
the transmission rate, the number of layers subscribed for a layered
multicast session, or by arranging for a receiver to leave the
session if the loss rate is unacceptably high.</t>

<t>The bitrate adaptation necessary for obeying the congestion control
principle is easily achievable when real-time encoding is used, for
example, by adequately tuning the quantization parameter.
However, when pre-encoded content is being transmitted, bandwidth
adaptation requires the pre-coded bitstream to be tailored for such
adaptivity.  The key mechanisms available in <xref target="VVC"/> are temporal
scalability, and spatial/SNR scalability.  A media sender can remove
NAL units belonging to higher temporal sublayers (i.e., those NAL
units with a high value of TID) or higher spatio-SNR layers (as
indicated by interpreting the VPS) until the sending bitrate drops to
an acceptable range.</t>

<t>The mechanisms mentioned above generally work within a defined profile and level
and, therefore, no renegotiation of the channel is required.  Only
when non-downgradable parameters (such as profile) are required to be
changed does it become necessary to terminate and restart the RTP
stream(s).  This may be accomplished by using different RTP payload
types.</t>

<t>MANEs MAY remove certain unusable packets from the RTP stream when
that RTP stream was damaged due to previous packet losses.  This can
help reduce the network load in certain special cases.  For example,
MANES can remove those FUs where the leading FUs belonging to the
same NAL unit have been lost or those dependent slice segments when
the leading slice segments belonging to the same slice have been
lost, because the trailing FUs or dependent slice segments are
meaningless to most decoders.  MANES can also remove higher temporal
scalable layers if the outbound transmission (from the MANE's
viewpoint) experiences congestion.</t>

</section>
<section anchor="iana-considerations" title="IANA Considerations">

<t>Placeholder</t>

</section>
<section anchor="acknowledgements" title="Acknowledgements">

<t>Dr. Byeongdoo Choi is thanked for the video codec related technical 
discussion and other aspects in this memo. Xin Zhao and Dr. Xiang Li
are thanked for their contributions on <xref target="VVC"/> specification descriptive content. 
Spencer Dawkins is thanked for his valuable review comments that led to great 
improvements of this memo. Some parts of this specification share text with the RTP payload
format for HEVC <xref target="RFC7798"/>.  We thank the authors of that
specification for their excellent work.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>

<reference anchor="VVC" target="http://handle.itu.int/11.1002/1000/14336">
  <front>
    <title>Versatile Video Coding, ITU-T Recommendation H.266</title>
    <author >
      <organization></organization>
    </author>
    <date year="2020"/>
  </front>
</reference>
<reference anchor="VSEI" target="http://handle.itu.int/11.1002/1000/14337">
  <front>
    <title>Versatile supplemental enhancement information messages for coded video bitstreams</title>
    <author >
      <organization></organization>
    </author>
    <date year="2020"/>
  </front>
</reference>




<reference anchor='RFC2119' target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author fullname='S. Bradner' initials='S.' surname='Bradner'><organization/></author>
<date month='March' year='1997'/>
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference anchor='RFC3550' target='https://www.rfc-editor.org/info/rfc3550'>
<front>
<title>RTP: A Transport Protocol for Real-Time Applications</title>
<author fullname='H. Schulzrinne' initials='H.' surname='Schulzrinne'><organization/></author>
<author fullname='S. Casner' initials='S.' surname='Casner'><organization/></author>
<author fullname='R. Frederick' initials='R.' surname='Frederick'><organization/></author>
<author fullname='V. Jacobson' initials='V.' surname='Jacobson'><organization/></author>
<date month='July' year='2003'/>
<abstract><t>This memorandum describes RTP, the real-time transport protocol.  RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services.  RTP does not address resource reservation and does not guarantee quality-of- service for real-time services.  The data transport is augmented by a control protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide minimal control and identification functionality.  RTP and RTCP are designed to be independent of the underlying transport and network layers.  The protocol supports the use of RTP-level translators and mixers. Most of the text in this memorandum is identical to RFC 1889 which it obsoletes.  There are no changes in the packet formats on the wire, only changes to the rules and algorithms governing how the protocol is used. The biggest change is an enhancement to the scalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess of the intended rate when many participants join a session simultaneously.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='STD' value='64'/>
<seriesInfo name='RFC' value='3550'/>
<seriesInfo name='DOI' value='10.17487/RFC3550'/>
</reference>



<reference anchor='RFC3551' target='https://www.rfc-editor.org/info/rfc3551'>
<front>
<title>RTP Profile for Audio and Video Conferences with Minimal Control</title>
<author fullname='H. Schulzrinne' initials='H.' surname='Schulzrinne'><organization/></author>
<author fullname='S. Casner' initials='S.' surname='Casner'><organization/></author>
<date month='July' year='2003'/>
<abstract><t>This document describes a profile called &quot;RTP/AVP&quot; for the use of the real-time transport protocol (RTP), version 2, and the associated control protocol, RTCP, within audio and video multiparticipant conferences with minimal control.  It provides interpretations of generic fields within the RTP specification suitable for audio and video conferences.  In particular, this document defines a set of default mappings from payload type numbers to encodings. This document also describes how audio and video data may be carried within RTP.  It defines a set of standard encodings and their names when used within RTP.  The descriptions provide pointers to reference implementations and the detailed standards.  This document is meant as an aid for implementors of audio, video and other real-time multimedia applications. This memorandum obsoletes RFC 1890.  It is mostly backwards-compatible except for functions removed because two interoperable implementations were not found.  The additions to RFC 1890 codify existing practice in the use of payload formats under this profile and include new payload formats defined since RFC 1890 was published.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='STD' value='65'/>
<seriesInfo name='RFC' value='3551'/>
<seriesInfo name='DOI' value='10.17487/RFC3551'/>
</reference>



<reference anchor='RFC3711' target='https://www.rfc-editor.org/info/rfc3711'>
<front>
<title>The Secure Real-time Transport Protocol (SRTP)</title>
<author fullname='M. Baugher' initials='M.' surname='Baugher'><organization/></author>
<author fullname='D. McGrew' initials='D.' surname='McGrew'><organization/></author>
<author fullname='M. Naslund' initials='M.' surname='Naslund'><organization/></author>
<author fullname='E. Carrara' initials='E.' surname='Carrara'><organization/></author>
<author fullname='K. Norrman' initials='K.' surname='Norrman'><organization/></author>
<date month='March' year='2004'/>
<abstract><t>This document describes the Secure Real-time Transport Protocol (SRTP), a profile of the Real-time Transport Protocol (RTP), which can provide confidentiality, message authentication, and replay protection to the RTP traffic and to the control traffic for RTP, the Real-time Transport Control Protocol (RTCP).   [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='3711'/>
<seriesInfo name='DOI' value='10.17487/RFC3711'/>
</reference>



<reference anchor='RFC4566' target='https://www.rfc-editor.org/info/rfc4566'>
<front>
<title>SDP: Session Description Protocol</title>
<author fullname='M. Handley' initials='M.' surname='Handley'><organization/></author>
<author fullname='V. Jacobson' initials='V.' surname='Jacobson'><organization/></author>
<author fullname='C. Perkins' initials='C.' surname='Perkins'><organization/></author>
<date month='July' year='2006'/>
<abstract><t>This memo defines the Session Description Protocol (SDP).  SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4566'/>
<seriesInfo name='DOI' value='10.17487/RFC4566'/>
</reference>



<reference anchor='RFC4585' target='https://www.rfc-editor.org/info/rfc4585'>
<front>
<title>Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF)</title>
<author fullname='J. Ott' initials='J.' surname='Ott'><organization/></author>
<author fullname='S. Wenger' initials='S.' surname='Wenger'><organization/></author>
<author fullname='N. Sato' initials='N.' surname='Sato'><organization/></author>
<author fullname='C. Burmeister' initials='C.' surname='Burmeister'><organization/></author>
<author fullname='J. Rey' initials='J.' surname='Rey'><organization/></author>
<date month='July' year='2006'/>
<abstract><t>Real-time media streams that use RTP are, to some degree, resilient against packet losses.  Receivers may use the base mechanisms of the Real-time Transport Control Protocol (RTCP) to report packet reception statistics and thus allow a sender to adapt its transmission behavior in the mid-term.  This is the sole means for feedback and feedback-based error repair (besides a few codec-specific mechanisms).  This document defines an extension to the Audio-visual Profile (AVP) that enables receivers to provide, statistically, more immediate feedback to the senders and thus allows for short-term adaptation and efficient feedback-based repair mechanisms to be implemented.  This early feedback profile (AVPF) maintains the AVP bandwidth constraints for RTCP and preserves scalability to large groups.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4585'/>
<seriesInfo name='DOI' value='10.17487/RFC4585'/>
</reference>



<reference anchor='RFC5104' target='https://www.rfc-editor.org/info/rfc5104'>
<front>
<title>Codec Control Messages in the RTP Audio-Visual Profile with Feedback (AVPF)</title>
<author fullname='S. Wenger' initials='S.' surname='Wenger'><organization/></author>
<author fullname='U. Chandra' initials='U.' surname='Chandra'><organization/></author>
<author fullname='M. Westerlund' initials='M.' surname='Westerlund'><organization/></author>
<author fullname='B. Burman' initials='B.' surname='Burman'><organization/></author>
<date month='February' year='2008'/>
<abstract><t>This document specifies a few extensions to the messages defined in the Audio-Visual Profile with Feedback (AVPF).  They are helpful primarily in conversational multimedia scenarios where centralized multipoint functionalities are in use.  However, some are also usable in smaller multicast environments and point-to-point calls.</t><t>The extensions discussed are messages related to the ITU-T Rec. H.271 Video Back Channel, Full Intra Request, Temporary Maximum Media Stream Bit Rate, and Temporal-Spatial Trade-off.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5104'/>
<seriesInfo name='DOI' value='10.17487/RFC5104'/>
</reference>



<reference anchor='RFC5124' target='https://www.rfc-editor.org/info/rfc5124'>
<front>
<title>Extended Secure RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/SAVPF)</title>
<author fullname='J. Ott' initials='J.' surname='Ott'><organization/></author>
<author fullname='E. Carrara' initials='E.' surname='Carrara'><organization/></author>
<date month='February' year='2008'/>
<abstract><t>An RTP profile (SAVP) for secure real-time communications and another profile (AVPF) to provide timely feedback from the receivers to a sender are defined in RFC 3711 and RFC 4585, respectively.  This memo specifies the combination of both profiles to enable secure RTP communications with feedback.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5124'/>
<seriesInfo name='DOI' value='10.17487/RFC5124'/>
</reference>



<reference anchor='RFC7656' target='https://www.rfc-editor.org/info/rfc7656'>
<front>
<title>A Taxonomy of Semantics and Mechanisms for Real-Time Transport Protocol (RTP) Sources</title>
<author fullname='J. Lennox' initials='J.' surname='Lennox'><organization/></author>
<author fullname='K. Gross' initials='K.' surname='Gross'><organization/></author>
<author fullname='S. Nandakumar' initials='S.' surname='Nandakumar'><organization/></author>
<author fullname='G. Salgueiro' initials='G.' surname='Salgueiro'><organization/></author>
<author fullname='B. Burman' initials='B.' role='editor' surname='Burman'><organization/></author>
<date month='November' year='2015'/>
<abstract><t>The terminology about, and associations among, Real-time Transport Protocol (RTP) sources can be complex and somewhat opaque.  This document describes a number of existing and proposed properties and relationships among RTP sources and defines common terminology for discussing protocol entities and their relationships.</t></abstract>
</front>
<seriesInfo name='RFC' value='7656'/>
<seriesInfo name='DOI' value='10.17487/RFC7656'/>
</reference>



<reference anchor='RFC8174' target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author fullname='B. Leiba' initials='B.' surname='Leiba'><organization/></author>
<date month='May' year='2017'/>
<abstract><t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='8174'/>
<seriesInfo name='DOI' value='10.17487/RFC8174'/>
</reference>



<reference anchor='RFC8082' target='https://www.rfc-editor.org/info/rfc8082'>
<front>
<title>Using Codec Control Messages in the RTP Audio-Visual Profile with Feedback with Layered Codecs</title>
<author fullname='S. Wenger' initials='S.' surname='Wenger'><organization/></author>
<author fullname='J. Lennox' initials='J.' surname='Lennox'><organization/></author>
<author fullname='B. Burman' initials='B.' surname='Burman'><organization/></author>
<author fullname='M. Westerlund' initials='M.' surname='Westerlund'><organization/></author>
<date month='March' year='2017'/>
<abstract><t>This document updates RFC 5104 by fixing a shortcoming in the specification language of the Codec Control Message Full Intra Request (FIR) description when using it with layered codecs.  In particular, a decoder refresh point needs to be sent by a media sender when a FIR is received on any layer of the layered bitstream, regardless of whether those layers are being sent in a single or in multiple RTP flows.  The other payload-specific feedback messages defined in RFC 5104 and RFC 4585 (which was updated by RFC 5506) have also been analyzed, and no corresponding shortcomings have been found.</t></abstract>
</front>
<seriesInfo name='RFC' value='8082'/>
<seriesInfo name='DOI' value='10.17487/RFC8082'/>
</reference>



<reference anchor='RFC4556' target='https://www.rfc-editor.org/info/rfc4556'>
<front>
<title>Public Key Cryptography for Initial Authentication in Kerberos (PKINIT)</title>
<author fullname='L. Zhu' initials='L.' surname='Zhu'><organization/></author>
<author fullname='B. Tung' initials='B.' surname='Tung'><organization/></author>
<date month='June' year='2006'/>
<abstract><t>This document describes protocol extensions (hereafter called PKINIT) to the Kerberos protocol specification.  These extensions provide a method for integrating public key cryptography into the initial authentication exchange, by using asymmetric-key signature and/or encryption algorithms in pre-authentication data fields.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4556'/>
<seriesInfo name='DOI' value='10.17487/RFC4556'/>
</reference>



<reference anchor='RFC3264' target='https://www.rfc-editor.org/info/rfc3264'>
<front>
<title>An Offer/Answer Model with Session Description Protocol (SDP)</title>
<author fullname='J. Rosenberg' initials='J.' surname='Rosenberg'><organization/></author>
<author fullname='H. Schulzrinne' initials='H.' surname='Schulzrinne'><organization/></author>
<date month='June' year='2002'/>
<abstract><t>This document defines a mechanism by which two entities can make use of the Session Description Protocol (SDP) to arrive at a common view of a multimedia session between them.  In the model, one participant offers the other a description of the desired session from their perspective, and the other participant answers with the desired session from their perspective.  This offer/answer model is most useful in unicast sessions where information from both participants is needed for the complete view of the session.  The offer/answer model is used by protocols like the Session Initiation Protocol (SIP).  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='3264'/>
<seriesInfo name='DOI' value='10.17487/RFC3264'/>
</reference>



<reference anchor='RFC4648' target='https://www.rfc-editor.org/info/rfc4648'>
<front>
<title>The Base16, Base32, and Base64 Data Encodings</title>
<author fullname='S. Josefsson' initials='S.' surname='Josefsson'><organization/></author>
<date month='October' year='2006'/>
<abstract><t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes.  It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4648'/>
<seriesInfo name='DOI' value='10.17487/RFC4648'/>
</reference>



<reference anchor='RFC5576' target='https://www.rfc-editor.org/info/rfc5576'>
<front>
<title>Source-Specific Media Attributes in the Session Description Protocol (SDP)</title>
<author fullname='J. Lennox' initials='J.' surname='Lennox'><organization/></author>
<author fullname='J. Ott' initials='J.' surname='Ott'><organization/></author>
<author fullname='T. Schierl' initials='T.' surname='Schierl'><organization/></author>
<date month='June' year='2009'/>
<abstract><t>The Session Description Protocol (SDP) provides mechanisms to describe attributes of multimedia sessions and of individual media streams (e.g., Real-time Transport Protocol (RTP) sessions) within a multimedia session, but does not provide any mechanism to describe individual media sources within a media stream.  This document defines a mechanism to describe RTP media sources, which are identified by their synchronization source (SSRC) identifiers, in SDP, to associate attributes with these sources, and to express relationships among sources.  It also defines several source-level attributes that can be used to describe properties of media sources.   [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5576'/>
<seriesInfo name='DOI' value='10.17487/RFC5576'/>
</reference>




    </references>

    <references title='Informative References'>

<reference anchor="CABAC" >
  <front>
    <title>Transform coefficient coding in HEVC, IEEE Transactions on Circuts and Systems for Video Technology</title>
    <author initials="." surname="Sole, J" fullname="Sole, J">
      <organization></organization>
    </author>
    <author initials="." surname="et al" fullname="et al">
      <organization></organization>
    </author>
    <date year="2012" month="December"/>
  </front>
  <seriesInfo name="DOI" value="10.1109/TCSVT.2012.2223055"/>
</reference>
<reference anchor="MPEG2S" >
  <front>
    <title>Information technology - Generic coding ofmoving pictures and associated audio information - Part 1:Systems, ISO International Standard 13818-1</title>
    <author initials="." surname="IS0/IEC" fullname="IS0/IEC">
      <organization></organization>
    </author>
    <date year="2013"/>
  </front>
</reference>
<reference anchor="HEVC" target="http://handle.itu.int/11.1002/1000/14107">
  <front>
    <title>High efficiency video coding, ITU-T Recommendation H.265</title>
    <author >
      <organization></organization>
    </author>
    <date year="2019"/>
  </front>
</reference>




<reference anchor='RFC6184' target='https://www.rfc-editor.org/info/rfc6184'>
<front>
<title>RTP Payload Format for H.264 Video</title>
<author fullname='Y.-K. Wang' initials='Y.-K.' surname='Wang'><organization/></author>
<author fullname='R. Even' initials='R.' surname='Even'><organization/></author>
<author fullname='T. Kristensen' initials='T.' surname='Kristensen'><organization/></author>
<author fullname='R. Jesup' initials='R.' surname='Jesup'><organization/></author>
<date month='May' year='2011'/>
<abstract><t>This memo describes an RTP Payload format for the ITU-T Recommendation H.264 video codec and the technically identical ISO/IEC International Standard 14496-10 video codec, excluding the Scalable Video Coding (SVC) extension and the Multiview Video Coding extension, for which the RTP payload formats are defined elsewhere. The RTP payload format allows for packetization of one or more Network Abstraction Layer Units (NALUs), produced by an H.264 video encoder, in each RTP payload.  The payload format has wide applicability, as it supports applications from simple low bitrate conversational usage, to Internet video streaming with interleaved transmission, to high bitrate video-on-demand.</t><t>This memo obsoletes RFC 3984.  Changes from RFC 3984 are summarized in Section 14.  Issues on backward compatibility to RFC 3984 are discussed in Section 15.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6184'/>
<seriesInfo name='DOI' value='10.17487/RFC6184'/>
</reference>



<reference anchor='RFC6190' target='https://www.rfc-editor.org/info/rfc6190'>
<front>
<title>RTP Payload Format for Scalable Video Coding</title>
<author fullname='S. Wenger' initials='S.' surname='Wenger'><organization/></author>
<author fullname='Y.-K. Wang' initials='Y.-K.' surname='Wang'><organization/></author>
<author fullname='T. Schierl' initials='T.' surname='Schierl'><organization/></author>
<author fullname='A. Eleftheriadis' initials='A.' surname='Eleftheriadis'><organization/></author>
<date month='May' year='2011'/>
<abstract><t>This memo describes an RTP payload format for Scalable Video Coding (SVC) as defined in Annex G of ITU-T Recommendation H.264, which is technically identical to Amendment 3 of ISO/IEC International Standard 14496-10.  The RTP payload format allows for packetization of one or more Network Abstraction Layer (NAL) units in each RTP packet payload, as well as fragmentation of a NAL unit in multiple RTP packets. Furthermore, it supports transmission of an SVC stream over a single as well as multiple RTP sessions.  The payload format defines a new media subtype name &quot;H264-SVC&quot;, but is still backward compatible to RFC 6184 since the base layer, when encapsulated in its own RTP stream, must use the H.264 media subtype name (&quot;H264&quot;) and the packetization method specified in RFC 6184.  The payload format has wide applicability in videoconferencing, Internet video streaming, and high-bitrate entertainment-quality video, among others.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6190'/>
<seriesInfo name='DOI' value='10.17487/RFC6190'/>
</reference>



<reference anchor='RFC7201' target='https://www.rfc-editor.org/info/rfc7201'>
<front>
<title>Options for Securing RTP Sessions</title>
<author fullname='M. Westerlund' initials='M.' surname='Westerlund'><organization/></author>
<author fullname='C. Perkins' initials='C.' surname='Perkins'><organization/></author>
<date month='April' year='2014'/>
<abstract><t>The Real-time Transport Protocol (RTP) is used in a large number of different application domains and environments.  This heterogeneity implies that different security mechanisms are needed to provide services such as confidentiality, integrity, and source authentication of RTP and RTP Control Protocol (RTCP) packets suitable for the various environments.  The range of solutions makes it difficult for RTP-based application developers to pick the most suitable mechanism.  This document provides an overview of a number of security solutions for RTP and gives guidance for developers on how to choose the appropriate security mechanism.</t></abstract>
</front>
<seriesInfo name='RFC' value='7201'/>
<seriesInfo name='DOI' value='10.17487/RFC7201'/>
</reference>



<reference anchor='RFC7202' target='https://www.rfc-editor.org/info/rfc7202'>
<front>
<title>Securing the RTP Framework: Why RTP Does Not Mandate a Single Media Security Solution</title>
<author fullname='C. Perkins' initials='C.' surname='Perkins'><organization/></author>
<author fullname='M. Westerlund' initials='M.' surname='Westerlund'><organization/></author>
<date month='April' year='2014'/>
<abstract><t>This memo discusses the problem of securing real-time multimedia sessions.  It also explains why the Real-time Transport Protocol (RTP) and the associated RTP Control Protocol (RTCP) do not mandate a single media security mechanism.  This is relevant for designers and reviewers of future RTP extensions to ensure that appropriate security mechanisms are mandated and that any such mechanisms are specified in a manner that conforms with the RTP architecture.</t></abstract>
</front>
<seriesInfo name='RFC' value='7202'/>
<seriesInfo name='DOI' value='10.17487/RFC7202'/>
</reference>



<reference anchor='RFC7798' target='https://www.rfc-editor.org/info/rfc7798'>
<front>
<title>RTP Payload Format for High Efficiency Video Coding (HEVC)</title>
<author fullname='Y.-K. Wang' initials='Y.-K.' surname='Wang'><organization/></author>
<author fullname='Y. Sanchez' initials='Y.' surname='Sanchez'><organization/></author>
<author fullname='T. Schierl' initials='T.' surname='Schierl'><organization/></author>
<author fullname='S. Wenger' initials='S.' surname='Wenger'><organization/></author>
<author fullname='M. M. Hannuksela' initials='M. M.' surname='Hannuksela'><organization/></author>
<date month='March' year='2016'/>
<abstract><t>This memo describes an RTP payload format for the video coding standard ITU-T Recommendation H.265 and ISO/IEC International Standard 23008-2, both also known as High Efficiency Video Coding (HEVC) and developed by the Joint Collaborative Team on Video Coding (JCT-VC).  The RTP payload format allows for packetization of one or more Network Abstraction Layer (NAL) units in each RTP packet payload as well as fragmentation of a NAL unit into multiple RTP packets.  Furthermore, it supports transmission of an HEVC bitstream over a single stream as well as multiple RTP streams. When multiple RTP streams are used, a single transport or multiple transports may be utilized.  The payload format has wide applicability in videoconferencing, Internet video streaming, and high-bitrate entertainment-quality video, among others.</t></abstract>
</front>
<seriesInfo name='RFC' value='7798'/>
<seriesInfo name='DOI' value='10.17487/RFC7798'/>
</reference>



<reference anchor='RFC2326' target='https://www.rfc-editor.org/info/rfc2326'>
<front>
<title>Real Time Streaming Protocol (RTSP)</title>
<author fullname='H. Schulzrinne' initials='H.' surname='Schulzrinne'><organization/></author>
<author fullname='A. Rao' initials='A.' surname='Rao'><organization/></author>
<author fullname='R. Lanphier' initials='R.' surname='Lanphier'><organization/></author>
<date month='April' year='1998'/>
<abstract><t>The Real Time Streaming Protocol, or RTSP, is an application-level protocol for control over the delivery of data with real-time properties. RTSP provides an extensible framework to enable controlled, on-demand delivery of real-time data, such as audio and video. [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='2326'/>
<seriesInfo name='DOI' value='10.17487/RFC2326'/>
</reference>



<reference anchor='RFC2974' target='https://www.rfc-editor.org/info/rfc2974'>
<front>
<title>Session Announcement Protocol</title>
<author fullname='M. Handley' initials='M.' surname='Handley'><organization/></author>
<author fullname='C. Perkins' initials='C.' surname='Perkins'><organization/></author>
<author fullname='E. Whelan' initials='E.' surname='Whelan'><organization/></author>
<date month='October' year='2000'/>
<abstract><t>This document describes version 2 of the multicast session directory announcement protocol, Session Announcement Protocol (SAP), and the related issues affecting security and scalability that should be taken into account by implementors.  This memo defines an Experimental Protocol for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='2974'/>
<seriesInfo name='DOI' value='10.17487/RFC2974'/>
</reference>




    </references>


<section anchor="changehistory" title="Change History">
<t>draft-zhao-payload-rtp-vvc-00 ........ initial version</t>

<t>draft-zhao-payload-rtp-vvc-01 ........ editorial clarifications and corrections</t>

<t>draft-ietf-payload-rtp-vvc-00 ........ initial WG draft</t>

<t>draft-ietf-payload-rtp-vvc-01 ........ VVC specification update</t>

<t>draft-ietf-payload-rtp-vvc-02 ........ VVC specification update</t>

<t>draft-ietf-payload-rtp-vvc-03 ........ VVC coding tool introduction update</t>

<t>draft-ietf-payload-rtp-vvc-04 ........ VVC coding tool introduction update</t>

<t>draft-ietf-payload-rtp-vvc-05 ........ reference udpate and adding placement for open issues</t>

<t>draft-ietf-payload-rtp-vvc-06 ........ address editor's note</t>

<t>draft-ietf-payload-rtp-vvc-07 ........ address editor's notes</t>

<t>draft-ietf-payload-rtp-vvc-08 ........ address editor's notes</t>

<t>draft-ietf-payload-rtp-vvc-09 ........ address editor's notes</t>

<t>draft-ietf-payload-rtp-vvc-10 ........ address editor's notes</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIANgc6GAAA+y96XIbV5oo+D8j7jvktSKmiTEAkdROtx1Nk1KJfSWLLVKq
Xm6FIgEkyCwDmejMBCmWpY77EPNn3mKeYR7lPsl86znfyQUEZdk1vbBcNglk
nuU73/n2ZTQaRXVWL9KD+O35aXya3CyKZBa/KMplUsfzoozfp2WV1Nkijd9n
s7SIj4pZll/EO+/fHw2iZDIp0yt+dyXvzs2774+iWTHNkyWMPyuTeT3K0no+
Sq7qaVGmo7Jeja6upqO93WiW1PDM/u7+3mj3yWj3WRRVdZLPPiSLIocv6nKd
RlG2KunXqt7f3X22ux8lZZocxIdvz6Pri4NYho1+vj6IT/I6LfO0Hh3jtNE0
qQ/iqp5F9+JpkVdpXq0rHXVKO4LXq2mWRavsIP6XupgO46oo6zKdV/DbzRJ/
+VMUJev6sigPoph+RvLfOM5yGO5sHP/zZVK4D3nfZ5frJAu/KEqY7jzNp2le
uw8rmCyFVe4/efgEDqL8Of5xcTVzX0+z+uYAPl8U8eGi9mPB6mGSZw8fPX1q
PlvndQmPvzs7dB+myyRbABBwOeO/wHL+LkvTdAxr6d3NH9P8Ii2b+6nT1WWS
N7/8q+6pTq/Tv6N/9+/nn8bxWZJPL9O/NDb0T8lF0fqKtvOiTNb5ZTFPy/jl
y5PWrp7DuHWa5Wt84MGTxrZ+TMtFljf2tLf76OmT9p7+kMKdyW+a+7qBlY0r
XtnfXV5m47lb0HiW6jbj5j5H/wOOLskvmvtMR/9jnYXf0DZ/vKnTGcySwq2Z
jlvbfPpsbzd+l2dXQAlgZ/FRincrfpXkaWPLAMT4OEsvWie5v7e/v9VJ3qQ/
r7PxNSzx7ya6qvG0WEZRTmQFFnEAdzjWrZfz6f7e3rPmR4/3HtuPTkbHYyI8
RHWmRbKKYGKgTnyRhQB+003qhvHJ+bvRefw2hXUs0xwoVVbk8cvx/uPH3/D7
SXmBgLqs69XB/ftwOWaLdJzV63GW1/f39sZ7u7v79+Ffu/f3Hj548JhecgRv
l9Zy9vykbzHVerVapDBznSziNL9EmOBfcNxMa3E5y7Sqkou0IrqLUJ/FV7SJ
SVbjQSbL6osW+6RjsW9fHCHQD/jXB48e7fpf9/TXJ3v668NHjx+7X58+kl8f
7e0+dL/u669PHj/SZ5/uPdFPn+4+3XcjuAce7D/WBx4+fvhUB3v0BB6IHGwQ
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
Uf8zNf80HE3bKLOlrRF1avsHgVBKlfpdrboCBHYOasCyUJiknceHpy6YIq1u
Mfhx0VkfY1FEk9Rq0QkNh6DNpwAEzGhwX1hPiIzmQ1LdCuhpnBeXVYadmnuC
ftw2rK65LWd1GbaYHIAasQa6NJdbNZlcsmbHlGdwv5a//Wr29hW4ChFRw9V2
UIj+fv+pY163ENlPW6zi9iG+AksJh9h4sr/bKto/257Ihp8t2NrX52odbC3v
jE5Snia3Re1PtiZe46LKWKdSgtc6QMTE9IJ8CUihkfx4Ko6RlbX7vpCad4a0
WH6ir0WYRvId23iQWVBwpTIskyDMUxuVMngGg0P3n4pC6ViSWLbaw2mQvc2a
0ocxGE3bEbSXXrUqRoFar+P7YaPge6mc1TtkFP3QttoethIHHYEPMwjRXMDT
cRshCp311UZ8yF3ASZyBhIaMbLxhi6eFXXYCU53qNpFVn6USn7FCaKJSUDgL
P5B5oiDaj5Z7eOoYC8EX2dyNr6OFFKVNSUjBS3J9mBpI3UQdz5n8v+/Cfsp1
gcEqybJYs+9IcgojBn0xuUJTEnB0WtRcm59h8qi3PLogBSz+KFWKJiBZYTRw
TnW9TJNQ6f7gXidtGWUPm+GFgVQ4WsRFwaiIIr7CJq0gmgHtjh5sKEPpwb54
V0V9eji8dFoFYleeYlD3dzHXi+ftA2yp2IWOmORsnKXD8qbtJsA96oYywhfp
1EFRjkTeg2mkvx5BKej32TOMVDJWY6w7L7EDWrMRm+l3grquFffVYJFOuifk
jbqv9lYMwmoigeIPR5Au5rYOhTUARN0laoGkE7RBUfkPKgdZLiv/7dPq8XkK
9KMj/Epctz3qLbJA86drFe5Ld/q3DfHvRA7aAuJejmnJLyQ4EPGwYsw7SzwC
acag/l9NSQ+ZeSRpnF9JS+9R22LNY6pvp7abFf0+yWxrTV+h3TvJpuUjF9li
C3ddJE6tnkb0YXChnq4xAlFDyoFq1sPjR48ePB5/dQvGVzhSlol+LVQjip+Z
pJ4jZUtKmarRv9bLVq3zPtqerUaGrcZ3Z6tRi63Gd2OrUTdb7an8DrQFoPif
kLVaRmd/hAk6XvUlrLU55H9EpnabSk687Bxvx0mFRdg9y+uOgIy35IQNbI0i
wuHrYl0jrVp8/qzkh3uMckCEV/NtvGHVVKsiMb1Rx3kmt3tE7/ddmZXsgntq
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
/vEQ/gU3n7fEf/ABAA==

-->

</rfc>

