<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-avtcore-rtp-vdmc-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="RTP-Payload-VDMC">RTP Payload Format for V-DMC</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rtp-vdmc-04"/>
    <author initials="" surname="HS Yang" fullname="Hyunsik Yang">
      <organization>InterDigital</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>hyunsik.yang@interdigital.com</email>
      </address>
    </author>
    <author initials="X." surname="de Foy" fullname="Xavier de Foy">
      <organization>InterDigital</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>xavier.defoy@interdigital.com</email>
      </address>
    </author>
    <date year="2026" month="September" day="24"/>
    <area>Transport</area>
    <workgroup>avtcore</workgroup>
    <abstract>


<t>This memo outlines RTP payload formats for the Video-based Dynamic Mesh Coding (V-DMC), which comprises several types of components, such as a basemesh, AC-based displacements, 2D representations of attributes, and an atlas. This document focuses on describing the basemesh and displacement, while the RTP payload formats for the atlas and attributes are addressed in other documents. The RTP payload header formats enable the packetization of a basemesh or displacement Network Abstraction Layer (NAL) unit in an RTP packet payload as well as fragmentation of a NAL unit into multiple RTP packets.</t>
    </abstract>
  </front>
  <middle>


<section anchor="introduction">
      <name>Introduction</name>
      <t>The advancements in 3D capture, modeling, and rendering have greatly expanded the presence of 3D content across various platforms and devices. However, when left uncompressed, 3D content can incur considerable costs in terms of storage and transmission.</t>
      <t>In response to this challenge, a visual volumetric video-based coding (V3C) standard <xref target="ISO.IEC.23090-05"/> has been developed to cater to the growing demand for efficient handling of 3D content. V3C is a generic mechanism for volumetric video coding, and it can be used by applications targeting volumetric content. A high-level description of V3C is provided by <xref target="RFC10034"/>. V3C applications today target volumetric data types such as point clouds with Video-based Point Cloud Compression (V-PCC)<xref target="ISO.IEC.23090-05"/> and immersive video with depth, with MPEG Immersive Video (MIV) <xref target="ISO.IEC.23090-12"/>.</t>
      <t>3D mesh is another widely utilized technology for representing immersive content. 3D meshes are continuously evolving to become more sophisticated, inevitably leading to an increase in mesh size. Additionally, dynamic mesh sequences demand substantial data volumes due to the significant amount of temporal information they contain. With respect to this evolution, the V-DMC standard has been developed to facilitate the compression of 3D mesh data using the V3C standard <xref target="ISO.IEC.23090-05"/>.</t>
      <t>V-DMC is a V3C application which consists of several V3C sub-components: Atlas, Attributes, Basemesh, and AC-based Displacement. The RTP payloads for the Atlas and Attributes sub-components are described in <xref target="RFC10034"/>, which defines an RTP payload format for the Atlas sub-component, and refers to existing 2D video RTP payload formats for attributes. In contrast, the Basemesh sub-component in V-DMC utilizes a new codec defined in appendix H of <xref target="ISO.IEC.23090-29"/>, requiring the definition of a new RTP payload. The AC-based displacement sub-component may be coded using Arithmetic Coding (AC) as specified in appendix J of <xref target="ISO.IEC.23090-29"/>, thus requiring the definition of a new RTP payload for AC-based displacement. The displacement sub-component may alternatively be coded using a 2D video codec, and in this case may be transported using 2D video RTP payload formats, (e.g., <xref target="RFC9328"/>, <xref target="RFC7798"/>). Therefore, this memo describes RTP payload headers for the basemesh codec and the AC-based displacement codec defined by MPEG in <xref target="ISO.IEC.23090-29"/> (appendix H and J, respectively).</t>
      <t>Furthermore, the basemesh and AC-based displacement RTP payload formats defined in this memo, and their codecs defined in <xref target="ISO.IEC.23090-29"/> appendix H and J respectively, can also be used in a non-V-DMC context. This document followed recommendations in <xref target="RFC8088"/> and <xref target="RFC2736"/> for RTP payload format writers.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions</name>
      <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 here.</t>
      <t>All fields defined in this specification related to RTP payload structures SHALL be considered in network order.</t>
    </section>
    <section anchor="definition-and-abbreviations">
      <name>Definition, and abbreviations</name>
      <section anchor="general">
        <name>General</name>
        <t>This document uses the definitions of the Video-based dynamic mesh coding <xref target="ISO.IEC.23090-29"/>. Some of these terms are provided here for convenience.</t>
      </section>
      <section anchor="definitions-from-the-v-dmc-specification">
        <name>Definitions from the V-DMC specification</name>
        <t>The following definitions are added to the ones found in section 3.1.2 of <xref target="RFC10034"/>.</t>
        <t>attribute map : image for mapping an attribute into a surface of 3D shape.</t>
        <t>basemesh: a simplified low-resolution approximation of the original mesh.</t>
        <t>displacement : a set of 3D vectors that are added to the vertices of the subdivided mesh to approximate closely the input mesh surface.</t>
        <t>submesh : independently decodable region of a basemesh</t>
        <t>subdisplacement : independently decodable displacement data associated with a submesh</t>
        <t>subdivision : process of dividing the mesh faces into a number of sub-faces</t>
      </section>
      <section anchor="abbreviation">
        <name>Abbreviation</name>
        <t>The following abbreviations are added to the ones found in section 3.2 of <xref target="RFC10034"/>.</t>
        <t>BMD Basemesh Data</t>
        <t>CDS Coded Displacement Sequence</t>
        <t>CBMS Coded BaseMesh Sequence</t>
        <t>LOD Level Of Detail</t>
        <t>V-DMC Video-based Dynamic Mesh Coding</t>
        <t>VDMCD Video-based Dynamic Mesh Coding Displacement</t>
      </section>
    </section>
    <section anchor="vdmc-format-dsecription">
      <name>V-DMC format Description</name>
      <section anchor="overview-of-v-dmc-informative">
        <name>Overview of V-DMC (informative)</name>
        <t>V-DMC is a V3C application, which uses the framework described in section 4 of <xref target="RFC10034"/>. As such, a V-DMC encoder converts a 3D representation into multiple representations, the V3C components, and generates associated data, the atlas, which documents this conversion and enables the reconstruction of the 3D representation by a decoder.</t>
        <t>The other V3C components used in V-DMC are a basemesh, AC-based displacement, and attributes providing properties such as mesh and connectivity information, vertex displacement information and texture or material information respectively. <xref target="_figure-v-dmc-structure"/> represents the 4 types of V3C components altogether used in V-DMC, including these V3C video components and the V3C atlas component.</t>
        <t>The basemesh component represents a simplified version of the detailed mesh describing the object. The simplified mesh can be encoded using any mesh codec. <xref target="ISO.IEC.23090-29"/> defines a static mesh codec that can used by the generic mechanism of the basemesh codec defined in <xref target="ISO.IEC.23090-29"/>. The AC-based displacement component provides displacement information which should be applied to the subdivided basemesh to obtain a detailed mesh. The displacement component can be encoded either using an arithmetic displacement codec described in <xref target="ISO.IEC.23090-29"/>, or alternatively it can be encoded as a V3C geometry video component i.e., V3C_GVD using any 2D video codec, indicated by the profile or using an SEI message. The attribute components can provide additional properties such as texture or material information and can be encoded by any video codec. Atlas component provides information to a V3C decoding and rendering system on how to perform inverse reconstruction. The atlas component codec is described in <xref target="ISO.IEC.23090-05"/> and an extension of the V3C atlas codec for V-DMC is described in <xref target="ISO.IEC.23090-29"/>.</t>
        <figure anchor="_figure-v-dmc-structure">
          <name>V-DMC streaming structure</name>
          <artwork><![CDATA[
+------------+ Atlas        +------------+
|   Atlas    | sub-bitstream|   Atlas    |
|  encoder   | ------------>|  decoder   |
+------------+              +------------+
+------------+ BaseMesh     +------------+
|  BaseMesh  | sub-bitstream|  BaseMesh  |
|  encoder   | ------------>|  decoder   |
+------------+              +------------+
+------------+ Displacement +------------+
|Displacement| sub-bitstream|Displacement|
|  encoder   | ------------>|  decoder   |
+------------+              +------------+
+------------+ Attribute    +------------+
|   Video    | sub-bitstream|   Video    |
|  encoder   | ------------>|  decoder   |
+------------+              +------------+
]]></artwork>
        </figure>
        <t>Similarly to other V3C applications, in V-DMC, the binary form of the V3C components, i.e., video bitstreams, basemesh bitstream and V3C atlas component, i.e., atlas bitstream, can be grouped and represented by a single V-DMC bitstream. The V-DMC bitstream is composed of a set of V3C units. Each V3C unit has a V3C unit header and a V3C unit payload. The V3C unit header describes the V3C unit type for the payload. V3C unit payload contains V3C video components, V3C non-video components such as basemesh and AC-based displacement, V3C atlas component or a V3C parameter set. V3C components, i.e., basemesh, displacement, or attribute components, correspond to NAL-based data units (e.g., NAL units for basemesh and AC-based displacement are defined in <xref target="ISO.IEC.23090-29"/>). The NAL units for attribute and video-based displacement are defined in the respective specification that could be decoded by appropriate video decoders. An example of V-DMC bitstream consisting of a V3C units for V3C parameter set, atlas bitstream, one video component bitstream (attribute) and two non-video component bitstreams(basemesh, displacement) is provided in <xref target="_figure-v-dmc-bitstream"/>.</t>
        <figure anchor="_figure-v-dmc-bitstream">
          <name>Example of V-DMC bitstream</name>
          <artwork><![CDATA[
  +-------------------+------------------+-------------------+
  | V3C Unit(V3C_VPS) | V3C Unit(V3C_AD) | V3C Unit(V3C_BMD) |
  +-------------------+------------------+-------------------+
  | V3C Unit(V3C_ADD) | V3C Unit(V3C_AVD)| V3C Unit(V3C_CAD) | ...
  +-------------------+------------------+-------------------+ 
]]></artwork>
        </figure>
      </section>
      <section anchor="v3c-parameter">
        <name>V3C Parameter set for V-DMC</name>
        <t>The V3C parameter set(VPS) is encapsulated in its own V3C unit, which allows decoupling the transmission of the V3C parameter set from the V3C video, non-video and atlas components. The VPS may be transmitted by external means (e.g., as a result of the capability exchange) or through a (reliable or unreliable) control protocol. Section 9 of <xref target="RFC10034"/> provides information on how a V3C parameter set may be signaled as part of session description protocol.</t>
        <t>V-DMC, since it is a V3C application, uses the V3C parameter set and extends it with additional parameters, defined in <xref target="ISO.IEC.23090-29"/>. Section 9 of this memo provides information on these additional parameters and their signaling in SDP. V3C parameter set signaling in V-DMC may include V3C parameters described in section 9 of <xref target="RFC10034"/> and in the section 9 of this memo.</t>
      </section>
      <section anchor="section4">
        <name>Atlas, Video and non-Video Components for V-DMC (informative)</name>
        <t>In a V-DMC bitstream the atlas component is identified by a vuh_unit_type field equal to V3C_AD, in the V3C unit header. The atlas component consists of atlas NAL units that define header and payload pairs, see <xref target="atlas-nal"/>. V-DMC video components are identified by a vuh_unit_type field equal to V3C_GVD or V3C_AVD. The base mesh information is present in a non-video component identified by vuh_unit_type equal to V3C_BMD, which consists of basemesh NAL units that define header and payload pairs, see <xref target="basemesh-nal"/>. The AC-based displacement information is present in a non-video component identified by vuh_unit_type equal to V3C_ADD. The component identified by vuh_unit_type equal to V3C_ADD consists of displacement NAL units that define header and payload pairs, see <xref target="displ-nal"/>. The V3C video attribute components with vuh_unit_type equal to V3C_AVD can be further differentiated by other fields in the V3C unit header such as vuh_attribute_index, vuh_attribute_partition_index, vuh_map_index and vuh_auxiliary_video_flag, which are described further below. By mapping V3C parameter set information to vuh_attribute_index, a V3C decoder identifies which attribute a given V3C video component contains, e.g., color.</t>
        <t>The information supplied by a V3C unit header should be provided in one form or another to a V3C decoder, e.g., as part of SDP as described in this memo in <xref target="session-descp"/> or in-band. The four-byte V3C unit header syntax and semantics are copied below as defined in <xref target="ISO.IEC.23090-29"/>, but the syntax is subject to change. Implementations should always refer to the latest specification of <xref target="ISO.IEC.23090-29"/>. The syntax of four-byte V3C unit header is provided here for informative purposes only.</t>
        <artwork><![CDATA[
   v3c_unit_header( ) {
    unsigned int(5) vuh_unit_type;
    if( vuh_unit_type == V3C_AVD || vuh_unit_type == V3C_GVD ||
       vuh_unit_type == V3C_OVD || vuh_unit_type == V3C_AD || 
       vuh_unit_type == V3C_CAD || vuh_unit_type == V3C_PVD || 
       vuh_unit_type == V3C_BMD || vuh_unit_type == V3C_ADD){ 
       unsigned int(4) vuh_v3c_parameter_set_id;
     }
     if( vuh_unit_type == V3C_AVD || vuh_unit_type == V3C_GVD ||
       vuh_unit_type == V3C_OVD || vuh_unit_type == V3C_AD ||
       vuh_unit_type == V3C_PVD || vuh_unit_type == V3C_BMD) ||
       vuh_unit_type == V3C_ADD ) {
       unsigned int(6) vuh_atlas_id;
     }
     if( vuh_unit_type == V3C_AVD ) {
       unsigned int(7) vuh_attribute_index;
       unsigned int(5) vuh_attribute_partition_index;
       unsigned int(4) vuh_map_index;
       unsigned int(1) vuh_auxiliary_video_flag;
     }
     else if( vuh_unit_type == V3C_GVD ) {
       unsigned int(4) vuh_map_index;
       unsigned int(1) vuh_auxiliary_video_flag;
       bit(12) vuh_reserved_zero_12bits;
     }
     else if( vuh_unit_type == V3C_OVD || vuh_unit_type == V3C_AD ||
         vuh_unit_type == V3C_PVD || vuh_unit_type == V3C_BMD ||
         vuh_unit_type == V3C_ADD) {
       bit(17) vuh_reserved_zero_17bits;
     }
     else if( vuh_unit_type == V3C_CAD ) {
       bit(23) vuh_reserved_zero_23bits;
     }
     else {
       bit(27) vuh_reserved_zero_27bits;
     }
   }

]]></artwork>
        <t>vuh_unit_type indicates the V3C unit type for the V3C component as specified in <xref target="ISO.IEC.23090-29"/>. As a convenience, the mapping table from vuh_unit_type values to semantics is copied below in <xref target="_figure-v3ctype"/>.</t>
        <figure anchor="_figure-v3ctype">
          <name>V3C component for V-DMC</name>
          <artwork><![CDATA[
+--------+----------+--------------------+------------------------+
|vuh unit|Identifier|    V3C unit type   |     Description        |
|  type  |          |                    |                        |
+--------+----------+--------------------+------------------------+
|   0    | V3C_VPS  |  V3C parameter set |   V3C level parameters |
+--------+----------+--------------------+------------------------+
|   1    | V3C_AD   |     Atlas data     |   Atlas information    |
+--------+----------+--------------------+------------------------+
|   2    | V3C_OVD  |Occupancy video data|   (Not used in V-DMC)  |
+--------+----------+--------------------+------------------------+
|   3    | V3C_GVD  |Geometry video data |Displacement information|
|        |          |                    |(Displacement when      |
|        |          |                    |using a video-based     |
|        |          |                    |codec)                  |
+--------+----------+--------------------+------------------------+
|   4    | V3C_AVD  |Attribute video data|  Attribute information |
+--------+----------+--------------------+------------------------+
|   5    | V3C_PVD  | Packed video data  |Contains rectangular    |
|        |          |                    |regions                 |
+--------+----------+--------------------+------------------------+
|   6    | V3C_CAD  | Common atlas data  |   (Not used in V-DMC)  |
+--------+----------+--------------------+------------------------+
|   7    | V3C_BMD  |   Basemesh data    |  Basemesh information  |
+--------+----------+--------------------+------------------------+
|        | V3C_ADD  |  Arithmetic coded  |Displacement information|
|   8    |          | displacement data  |                        |
+--------+----------+--------------------+------------------------+

]]></artwork>
        </figure>
        <t>vuh_v3c_parameter_set_id specifies the value of
   vps_v3c_parameter_set_id for the active V3C VPS.</t>
        <t>vuh_atlas_id specifies the ID of the atlas that corresponds to the
   current V3C unit.</t>
        <t>vuh_attribute_index indicates the index of the attribute data carried
   in the Attribute Video Data unit.</t>
        <t>vuh_attribute_partition_index indicates the index of the attribute
   dimension group carried in the attribute video data unit.</t>
        <t>vuh_map_index when present indicates the map index of the current
   geometry or attribute stream.  When not present, the map index of the
   current geometry or attribute sub-bitstream is derived based on the
   type of the sub-bitstream.</t>
        <t>vuh_auxiliary_video_flag equal indicates if the associated geometry
   or attribute video data unit is a RAW and/or EOM coded points video
   only sub-bitstream.</t>
        <section anchor="atlas-nal">
          <name>Atlas NAL units</name>
          <t>The atlas component provides information to a V3C decoding and/or rendering system on how to perform inverse reconstruction. V-DMC uses an atlas component based on the V3C atlas, including new V-DMC specific parameters defined in <xref target="ISO.IEC.23090-29"/>, which do not impact the payload format. For example, the V-DMC atlas component indicates how to perform the subdivision of the basemesh, how to apply the AC-based displacement information to the subdivided mesh vertices and how to apply attributes to the reconstructed mesh.</t>
          <t>The V3C atlas RTP payload format described in <xref target="ISO.IEC.23090-05"/> can be used to transport the V-DMC atlas component. Section 4.3.2 of <xref target="RFC10034"/> includes a copy of the syntax and semantics of the V3C atlas NAL unit.</t>
        </section>
        <section anchor="basemesh-nal-units">
          <name>Basemesh NAL units</name>
          <t>The basemesh component is a simplified low-resolution approximation of the original mesh. The basemesh component can be encoded using any mesh codec, including the basemesh codec described in <xref target="ISO.IEC.23090-29"/>. When employing the basemesh codec described in <xref target="ISO.IEC.23090-29"/>, data can be transmitted using the RTP payload format specified in <xref target="section5"/>.</t>
          <t>The basemesh NAL unit (nal_unit(BmNumBytesInNalUnit)) is a byte-aligned syntax structure defined by <xref target="ISO.IEC.23090-29"/> to carry base mesh data. A basemesh NAL unit always contains a 16-bit NAL unit header (bmesh_nal_unit_header()), which indicates among other things the type of the NAL unit (bmesh_nal_unit_type). The payload of a NAL unit refers to the NAL unit excluding the NAL unit header. The basemesh NAL unit syntax and semantics are copied here as defined in <xref target="ISO.IEC.23090-29"/>.</t>
          <artwork><![CDATA[
bmesh_nal_unit_header( ) {
    bit(1) bmesh_nal_forbidden_zero_bit
    bit(6) bmesh_nal_unit_type
    bit(6) bmesh_nal_layer_id
    bit(3) bmesh_nal_temporal_id_plus1
}
nal_unit(BmNumBytesInNalUnit){
    bmesh_nal_unit_header();
    BmNumBytesInRbsp = 0;
    for( i = 2; i < BmNumBytesInNalUnit; i++ )
      bit(8) rbsp_byte[ BmNumBytesInRbsp++ ];
}
]]></artwork>
          <t>bmesh_nal_forbidden_zero_bit MUST be equal to 0.</t>
          <t>bmesh_nal_unit_type specifies the type of the RBSP data structure contained in the NAL unit as specified in <xref target="ISO.IEC.23090-29"/>. In particular, the basemesh NAL unit types supported are specified in Table H.1 of  <xref target="ISO.IEC.23090-29"/>.</t>
          <t>bmesh_nal_layer_id specifies the identifier of the layer to which an BMCL NAL unit belongs or the identifier of a layer to which a non-BMCL NAL unit applies. The value of bmesh_nal_layer_id shall be in the range of 0 to 62, inclusive.</t>
          <t>bmesh_nal_temporal_id_plus1 minus 1 specifies a temporal identifier for the NAL unit. The value of nal_temporal_id_plus1 shall not be equal to 0.</t>
        </section>
        <section anchor="ac-based-displacement-nal-units">
          <name>AC-based Displacement NAL units</name>
          <t>The displacement component provides displacement information, that are used to apply deformation on a mesh over time. The displacement component can be encoded using the arithmetic codec defined in Annex J of <xref target="ISO.IEC.23090-29"/>, or alternatively can be encoded as V3C geometry video component using traditional 2D video codec, when employing a 2D codec, data can be transmitted using the RTP payload format specified for the codec. When employing the arithmetic codec defined in Annex J of <xref target="ISO.IEC.23090-29"/>, data can be transmitted using the RTP payload format specified in <xref target="section6"/>.</t>
          <t>The displacement NAL unit (nal_unit(NumBytesInNalUnit)) is a byte-aligned syntax structure defined by <xref target="ISO.IEC.23090-29"/> to carry displacement data. A displacement NAL unit always contains a 16-bit NAL unit header (displ_nal_unit_header()), which indicates among other things the type of the NAL unit (displ_nal_unit_type). The payload of a NAL unit refers to the NAL unit excluding the NAL unit header.  The displacement NAL unit syntax and semantics are copied here as defined in <xref target="ISO.IEC.23090-29"/>.</t>
          <artwork><![CDATA[
displ_nal_unit_header( ) {
    bit(1) displ_nal_forbidden_zero_bit
    bit(6) displ_nal_unit_type
    bit(6) displ_nal_layer_id
    bit(3) displ_nal_temporal_id_plus1
}
nal_unit(NumBytesInNalUnit){
    displ_nal_unit_header();
    NumBytesInRbsp = 0;
    for( i = 2; i < NumBytesInNalUnit; i++ )
      bit(8) rbsp_byte[ NumBytesInRbsp++ ];
}
]]></artwork>
          <t>displ_nal_forbidden_zero_bit MUST be equal to 0.</t>
          <t>displ_nal_unit_type specifies the type of the RBSP data structure contained in the NAL unit as specified in <xref target="ISO.IEC.23090-29"/>. In particular, the AC-based displacement NAL unit types supported are specified in Table J.1 of  <xref target="ISO.IEC.23090-29"/>.</t>
          <t>displ_nal_layer_id is specifies the identifier of the layer to which an DCL NAL unit belongs or the identifier of a layer to which a non-DCL NAL unit applies. The value of displ_nal_layer_id shall be in the range of 0 to 62, inclusive.</t>
          <t>displ_nal_temporal_id_plus1 is minus 1 specifies a temporal identifier for the NAL unit. The value of
nal_temporal_id_plus1 shall not be equal to 0.</t>
        </section>
      </section>
    </section>
    <section anchor="section5">
      <name>Payload format for V-DMC Basemesh</name>
      <section anchor="general-1">
        <name>General</name>
        <t>This section describes details related to the RTP payload format definitions for the V-DMC basemesh codec defined in Annex H of <xref target="ISO.IEC.23090-29"/>. Aspects related to RTP header, RTP payload header and general payload structure are considered.</t>
      </section>
      <section anchor="rtp-header-usage">
        <name>RTP header Usage</name>
        <t>The RTP header is defined in <xref target="RFC3550"/> and represented in <xref target="_figure-rtpheader"/>. Some of the header field values are interpreted as follows.</t>
        <figure anchor="_figure-rtpheader">
          <name>RTP header for V-DMC Basemesh</name>
          <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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |V=2|P|X|  CC   |M|     PT      |       sequence number         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           timestamp                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           synchronization source (SSRC) identifier            |
   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
   |            contributing source (CSRC) identifiers             |
   |                             ....                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   
]]></artwork>
        </figure>
        <t>Marker bit (M): 1 bit</t>
        <t>Set for the last packet of the access unit, carried in the current
   RTP stream.  This is in line with the normal use of the M bit in
   video formats to allow an efficient playout buffer handling.</t>
        <t>Payload type (PT): 7 bits</t>
        <t>The assignment of a payload type MUST be performed either through the profile used or in a dynamic way.</t>
        <t>Sequence Number (SN): 16 bits</t>
        <t>Set and used in accordance with <xref target="RFC3550"/></t>
        <t>Timestamp : 32 bits</t>
        <t>The RTP timestamp is set to the sampling timestamp of the content.  A
   90 kHz clock rate MUST be used.</t>
        <t>If the NAL unit has no timing properties of its own (e.g., 
   set and SEI NAL units), the RTP timestamp MUST be set to the RTP 
   timestamp of the coded basemesh of the access unit in which the NAL
   unit (according to Section H of <xref target="ISO.IEC.23090-29"/> is included.</t>
        <t>Receivers MUST use the RTP timestamp for the display process, even
   when the bitstream contains basemesh frame timing SEI messages as
   specified in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>Synchronization source (SSRC): 32 bits</t>
        <t>Used to identify the source of the RTP packets. By definition a
   single SSRC is used for all parts of a single bitstream. 
   The remaining RTP header fields are used as specified in <xref target="RFC3550"/>.</t>
      </section>
      <section anchor="basemesh-nal">
        <name>RTP payload header for Basemesh</name>
        <t>The RTP Payload Header follows the RTP header. <xref target="_figure-rtpheader-base"/> describes RTP Payload Header.</t>
        <figure anchor="_figure-rtpheader-base">
          <name>RTP Payload header for Basemesh</name>
          <artwork><![CDATA[
      0                   1
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |F|    NUT    |    NLI    | TID |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>F : bmesh_nal_forbidden_zero_bit specified in <xref target="ISO.IEC.23090-29"/> MUST be equal to 0.</t>
        <t>NUT : bmesh_nal_unit_type as specified in <xref target="ISO.IEC.23090-29"/> define the type of the RBSP data structure contained in the NAL unit as specified in <xref target="ISO.IEC.23090-29"/>. In particular, the basemesh NAL unit types supported are specified in Table H.1 of <xref target="ISO.IEC.23090-29"/>.</t>
        <t>NLI : bmesh_nal_layer_id as specified in <xref target="ISO.IEC.23090-29"/> defines the identifier of the layer to which an BMCL NAL unit belongs or the identifier of a layer to which a non-BMCL NAL unit applies. The value of nal_layer_id shall be in the range of 0 to 62, inclusive.</t>
        <t>TID : bmesh_nal_temporal_id_plus1 minus 1 as specified in <xref target="ISO.IEC.23090-29"/> defines a temporal identifier for the NAL unit. The value of bmesh_nal_temporal_id_plus1 shall not be equal to 0.</t>
      </section>
      <section anchor="payload-structures">
        <name>Payload structures</name>
        <section anchor="general-2">
          <name>General</name>
          <t>Three different types of RTP packet payload structures are specified. A receiver can identify the payload structure by the first two bytes of the RTP packet payload, which co-serves as the RTP payload header. These two bytes are always structured as a NAL unit header. The NAL unit type field indicates which structure is present in the payload.</t>
          <t>The three different payload structures are as follows:</t>
          <t>Single NAL Unit Packet: Contains a single NAL unit in the payload. This payload structure is specified in <xref target="bmesh-single"/>.</t>
          <t>Aggregation Packet: Contains multiple NAL units in a single RTP payload. This payload structure is specified in <xref target="bmesh-aggr"/>.</t>
          <t>Fragmentation Unit: Contains a subset of a single NAL unit. This payload structure is specified in <xref target="bmesh-frag"/>.</t>
          <t>NOTE: (informative) This memo does not limit the size of NAL units encapsulated in NAL unit packets and fragmentation units. <xref target="ISO.IEC.23090-29"/> does not restrict the maximum size of a NAL unit directly either. Instead, a NAL unit sample stream format may be used, which provides flexibility to signal NAL unit size up to UINT64_MAX bytes.</t>
        </section>
        <section anchor="bmesh-single">
          <name>Single NAL unit packet</name>
          <t>Single NAL unit packet contains exactly one NAL unit and consists of an RTP payload header and following conditional fields: 16-bit DONL and 16-bit bmesh-sm-id. The rest of the payload data contains the NAL unit payload data (excluding the NAL unit header). Single NAL unit packet MUST only contain basemesh NAL units of the types defined in Table H.1 of <xref target="ISO.IEC.23090-29"/>. The structure of the single NAL unit packet is shown below in <xref target="_figure-bsnal-unit"/>.</t>
          <figure anchor="_figure-bsnal-unit">
            <name>Single NAL unit packet for Basemesh</name>
            <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 payload header       |      DONL (conditional)       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |       bmesh-sm-id (cond)      |                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
  |                                                               |
  |                        NAL unit data                          |
  |                                                               |
  |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               :...OPTIONAL RTP padding        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>RTP payload header MUST be an exact copy of the NAL unit header of the contained NAL unit.</t>
          <t>A NAL unit stream composed by de-packetizing single NAL unit packets in RTP sequence number order MUST conform to the NAL unit decoding order, when DONL is not present.</t>
          <t>The DONL field, when present, specifies the value of the 16-bit decoding order number of the contained NAL unit. If sprop-max-don-diff is greater than 0 for any of the RTP streams, the DONL field MUST be present, and the variable DONL 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 for all the RTP streams), the DONL field MUST NOT be present.</t>
          <t>The bmesh-sm-id field, when present, specifies the 16-bit submesh identifier for the NAL unit, as signaled in basemesh header defined in <xref target="ISO.IEC.23090-29"/>. If sprop-bmesh-sm-id-pres is equal to 1 and RTP payload header NUT is in range 0-29, inclusive, the bmesh-sm-id field MUST be present. Otherwise, the bmesh-sm-id field MUST NOT be present.</t>
          <t>NOTE: (informative) Only values for NAL unit type (NUT) in range 0-29, inclusive, are allocated for bash mesh submesh layer unit data in <xref target="ISO.IEC.23090-29"/>.</t>
        </section>
        <section anchor="bmesh-aggr">
          <name>Aggregation packet</name>
          <t>Aggregation Packets (APs) enable the reduction of packetization overhead for small NAL units, such as most of the non-BMCL NAL units, which are often only a few octets in size.</t>
          <t>Aggregation packets MAY be used wrap multiple NAL units belonging to the same access unit in a single RTP payload. The first two bytes of the AP MUST contain RTP payload header. The NAL unit type (NUT) for the NAL unit header contained in the RTP payload header MUST be equal to 45, which falls in the unspecified range of the NAL unit types defined in <xref target="ISO.IEC.23090-29"/>. AP MAY contains a conditional bmesh-sm-id field. AP MUST contain two or more aggregation units. The structure of AP is shown in <xref target="_figure-bsnal-ap"/>.</t>
          <figure anchor="_figure-bsnal-ap">
            <name>Aggregation Packet (AP) for Basemesh</name>
            <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 payload header (NUT=45)  |       bmesh-sm-id (cond)      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  |                  Two or more aggregation units                |
  |                                                               |
  |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               :...OPTIONAL RTP padding        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>The fields in the payload header 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 NUT field MUST be equal to 45. The value of NLI MUST be equal to the lowest value of NLI 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>All BMCL NAL units in an aggregation packet have the same TID value since they belong to the same access unit. However, the packet MAY contain non-BMCL NAL units for which the TID value in the NAL unit header MAY be different than the TID value of the BMCL NAL units in the same AP.</t>
          <t>The bmesh-sm-id field, when present, specifies the 16-bit basemesh identifier for all BMCL NAL units in the AP. If sprop-bmesh-sm-id-pres is equal to 1, the bmesh-sm-id field MUST be present. Otherwise, the bmesh-sm-id field MUST NOT be present.</t>
          <t>AP MUST carry at least two aggregation units (AU) and can carry as many aggregation units as necessary. However, the total amount of data in an AP 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. The structure of the AU depends both on the presence of the decoding order number, the sequence order of the AU in the AP and the presence of bmesh-sm-id field. The structure of an AU is shown in <xref target="_figure-ap-unit"/>.</t>
          <figure anchor="_figure-ap-unit">
            <name>Aggregation Unit (AU) for Basemesh</name>
            <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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  DOND (cond)  /  DONL (cond)  |       bmesh-sm-id (cond)      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |            NALU size          |                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
  |                                                               |
  |                            NAL unit                           |
  |                                                               |
  |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>If sprop-max-don-diff is greater than 0 for any of the RTP streams, an AU begins with the DOND / DONL field. The first AU in the AP contains DONL field, which specifies the 16-bit value of the decoding order number of the aggregated NAL unit. The variable DON for the aggregated NAL unit is derived as equal to the value of the DONL field. All subsequent AUs in the AP MUST contain an (8-bit) DOND field, which specifies the difference between the decoding order number values of the current aggregated NAL unit and the preceding aggregated NAL unit in the same AP. The variable DON for the aggregated NAL unit is derived as equal to the DON of the preceding aggregated NAL unit in the same AP plus the value of the DOND field plus 1 modulo 65536.</t>
          <t>When sprop-max-don-diff is equal to 0 for all the RTP streams, DOND / DONL fields MUST NOT be present in an aggregation unit. The aggregation units MUST be stored in the aggregation packet so that the decoding order of the containing NAL units is preserved. This means that the first aggregation unit in the aggregation packet SHOULD contain the NAL unit that SHOULD be decoded first.</t>
          <t>If sprop-bmesh-sm-id-pres is equal to 2 and the AU NAL unit header type is in range 0-29, inclusive, the 16-bit bmesh-sm-id field MUST be present in the aggregation unit after the conditional DOND/DONL field. Otherwise bmesh-sm-id field MUST NOT be present in the aggregation unit.</t>
          <t>The conditional fields of the aggregation unit are followed by a 16-bit NALU size field, which provides the size of the NAL unit (in bytes) in the aggregation unit. The remainder of the data in the aggregation unit SHOULD contain the NAL unit (including the unmodified NAL unit header).</t>
        </section>
        <section anchor="bmesh-frag">
          <name>Fragmentation unit</name>
          <t>Fragmentation Units (FUs) are introduced to enable fragmenting a single NAL unit into multiple RTP packets, possibly without co-operation or knowledge of the 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 fragments.</t>
          <t>When a NAL unit is fragmented and conveyed within FUs, it is referred to as a fragmented NAL unit. Aggregation packets MUST NOT be fragmented. FUs MUST NOT be nested; i.e., an FU MUST NOT contain a subset of another FU. The RTP header timestamp of an RTP packet carrying an FU is set to the NALU-time of the fragmented NAL unit.</t>
          <t>A FU consists of an RTP payload header with the NUT field set to 46, an 8-bit FU header, a conditional 16-bit DONL field, a conditional 16-bit bmesh-sm-id field and an FU payload. The structure of an FU is illustrated below in <xref target="_figure-aggr-unit"/>.</t>
          <figure anchor="_figure-aggr-unit">
            <name>Fragmentation Unit for Basemesh</name>
            <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 payload header (NUT=46)  |   FU header   |  DONL (cond)  |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |  DONL (cond)  |    bmesh-sm-id  (cond)        |               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               |
 |                                                               |
 |                          FU payload                           |
 |                                                               |
 |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                               :...OPTIONAL RTP padding        |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>When a basemesh NAL unit is fragmented over multiple RTP packets, the payload header fields that describe the original NAL unit or its associated V-DMC component SHALL have the same values in all fragments of that NAL unit.  Only fields that are specific to the fragmentation process, such as the start and end indications of a Fragmentation Unit, may differ between fragments.</t>
        </section>
      </section>
      <section anchor="packetization-and-de-packetization-rules">
        <name>Packetization and De-packetization Rules</name>
        <t>The following packetization rules apply for V-DMC data:</t>
        <ul spacing="normal">
          <li>
            <t>If sprop-max-don-diff is greater than 0 for any of the RTP streams, the transmission order of NAL units carried in the RTP stream MAY be different than the NAL unit decoding order and the NAL unit output order. Otherwise (sprop-max-don-diff is equal to 0 for all the RTP streams), the transmission order of NAL units carried in the RTP stream MUST be the same as the NAL unit decoding order.</t>
          </li>
          <li>
            <t>A NAL unit of a small size SHOULD be encapsulated in an aggregation packet together with one or more other NAL units in order to avoid unnecessary packetization overhead for small NAL units. For example, non-BMCL NAL units such as access unit delimiters, parameter sets, or SEI NAL units are typically small and can often be aggregated with BMCL NAL units without violating MTU size constraints.</t>
          </li>
          <li>
            <t>Each non-BMCL NAL unit SHOULD, when possible, from an MTU size perspective, be encapsulated in an aggregation packet together with its associated BMCL NAL unit, as typically a non-BMCL NAL unit would be meaningless without the associated BMCL NAL unit being available.</t>
          </li>
          <li>
            <t>For carrying exactly one NAL unit in an RTP packet, a single NAL unit packet MUST be used</t>
          </li>
        </ul>
        <t>The general concept behind de-packetization is to get the NAL units out of the RTP packets in an RTP stream and all RTP streams the RTP stream depend on, if any, and pass them to the decoder in the NAL unit decoding order.
The de-packetization process is implementation dependent. Therefore, the following de-packetization rules SHOULD be taken as an example.</t>
        <ul spacing="normal">
          <li>
            <t>All normal RTP mechanisms related to buffer management apply. In particular, duplicated or outdated RTP packets (as indicated by the RTP sequence 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>
          </li>
          <li>
            <t>NAL units with NAL unit type values in the range of 0 to 44, inclusive, MAY be passed to the decoder. NAL-unit-like structures with NAL unit type values in the range of 45 to 63, inclusive, MUST NOT be passed to the decoder.</t>
          </li>
          <li>
            <t>When sprop-max-don-diff is equal to 0 for the received RTP stream, the NAL units carried in the RTP stream MAY be directly passed to the decoder in their transmission order, which is identical to their decoding order.</t>
          </li>
          <li>
            <t>When sprop-max-don-diff is greater than 0 for any of the received RTP streams, the received NAL units need to be arranged into decoding order before handing them over to the decoder.</t>
          </li>
          <li>
            <t>For further de-packetization examples, the reader is referred to Section 6 of <xref target="RFC7798"/>.</t>
          </li>
        </ul>
        <t>Regarding the packetization of V3C video component data, the respective RTP video payload specification(s) define how packetization and de-packetization SHOULD be handled.</t>
      </section>
    </section>
    <section anchor="section6">
      <name>Payload format for V-DMC Arithmetic-coded Displacement</name>
      <section anchor="general-3">
        <name>General</name>
        <t>This section describes details related to the RTP payload format definitions for the V-DMC arithmetic displacement codec defined in Annex J of <xref target="ISO.IEC.23090-29"/>. Aspects related to RTP header, RTP payload header and general payload structure are considered. As discussed in <xref target="section4"/>, a V-DMC stream may alternatively use another displacement codec, in which case  the RTP payload described in this section would not be applicable.</t>
      </section>
      <section anchor="rtp-header-usage-1">
        <name>RTP header Usage</name>
        <t>The RTP header is defined in <xref target="RFC3550"/> and represented in <xref target="_figure-rtpheader2"/>. Some of the header field values are interpreted as follows.</t>
        <figure anchor="_figure-rtpheader2">
          <name>RTP header for V-DMC Displacement</name>
          <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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |V=2|P|X|  CC   |M|     PT      |       sequence number         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           timestamp                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           synchronization source (SSRC) identifier            |
   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
   |            contributing source (CSRC) identifiers             |
   |                             ....                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>Marker bit (M): 1 bit</t>
        <t>Set for the last packet of the access unit, carried in the current
   RTP stream.  This is in line with the normal use of the M bit in
   video formats to allow efficient playout buffer handling.</t>
        <t>Payload type (PT): 7 bits</t>
        <t>The assignment of a payload type MUST be performed either through the profile used or in a dynamic way.</t>
        <t>Sequence Number (SN): 16 bits</t>
        <t>Set and used in accordance with <xref target="RFC3550"/></t>
        <t>Timestamp : 32 bits</t>
        <t>The RTP timestamp is set to the sampling timestamp of the content.  A
   90 kHz clock rate MUST be used.</t>
        <t>If the NAL unit has no timing properties of its own (e.g., 
   set and SEI NAL units), the RTP timestamp MUST be set to the RTP 
   timestamp of the coded displacement of the access unit in which the NAL
   unit (according to Section J of <xref target="ISO.IEC.23090-29"/> is included.</t>
        <t>Receivers MUST use the RTP timestamp for the display process, even
   when the bitstream contains displacement frame timing SEI messages as
   specified in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>Synchronization source (SSRC): 32 bits</t>
        <t>Used to identify the source of the RTP packets. By definition a
   single SSRC is used for all parts of a single bitstream. 
   The remaining RTP header fields are used as specified in <xref target="RFC3550"/>.</t>
      </section>
      <section anchor="displ-nal">
        <name>RTP Payload header for AC-based Displacement</name>
        <t>The RTP Payload Header follows the RTP header. <xref target="_figure-rtpheader-dp"/> describes RTP Payload Header.</t>
        <figure anchor="_figure-rtpheader-dp">
          <name>RTP header for AC-based Displacement.</name>
          <artwork><![CDATA[
  0                   1
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |F|    NUT    |    NLI    | TID |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>F : displ_nal_forbidden_zero_bit specified in <xref target="ISO.IEC.23090-29"/> MUST be equal to 0.</t>
        <t>NUT : displ_nal_unit_type as specified in <xref target="ISO.IEC.23090-29"/> define the type of the RBSP data structure contained in the NAL unit as specified in <xref target="ISO.IEC.23090-29"/>. In particular, the AC-based displacement NAL unit types supported are specified in Table J.1 of <xref target="ISO.IEC.23090-29"/>.</t>
        <t>NLI : displ_nal_layer_id as specified in <xref target="ISO.IEC.23090-29"/> defines the identifier of the layer to which an DCL NAL unit belongs or the identifier of a layer to which a non-DCL NAL unit applies. The value of displ_nal_layer_id shall be in the range of 0 to 62, inclusive.</t>
        <t>TID : displ_nal_temporal_id_plus1 minus 1 as specified in <xref target="ISO.IEC.23090-29"/> defines a temporal identifier for the NAL unit. The value of displ_nal_temporal_id_plus1 shall not be equal to 0.</t>
      </section>
      <section anchor="payload-structures-1">
        <name>Payload structures</name>
        <section anchor="general-4">
          <name>General</name>
          <t>Three different types of RTP packet payload structures are specified. A receiver can identify the payload structure by the first two bytes of the RTP packet payload, which co-serves as the RTP payload header. These two bytes are always structured as a NAL unit header. The NAL unit type field indicates which structure is present in the payload.</t>
          <t>The three different payload structures are as follows:</t>
          <t>Single NAL Unit Packet: Contains a single NAL unit in the payload. This payload structure is specified in <xref target="displ-nalp"/></t>
          <t>Aggregation Packet: Contains multiple NAL units in a single RTP payload. This payload structure is specified in <xref target="disp-aggp"/>.</t>
          <t>Fragmentation Unit: Contains a subset of a single NAL unit. This payload structure is specified in <xref target="displ-fragu"/>.</t>
          <t>NOTE: (informative) This memo does not limit the size of NAL units encapsulated in NAL unit packets and fragmentation units. <xref target="ISO.IEC.23090-29"/> does not restrict the maximum size of a NAL unit directly either. Instead, a NAL unit sample stream format may be used, which provides flexibility to signal NAL unit size up to UINT64_MAX bytes.</t>
        </section>
        <section anchor="displ-nalp">
          <name>Single NAL unit packet</name>
          <t>Single NAL unit packet contains exactly one NAL unit, and consists of an RTP payload header and following conditional fields: 16-bit DONL and 16-bit vdmcd-id. The rest of the payload data contains the NAL unit payload data (excluding the NAL unit header). Single NAL unit packet MUST only contain displacement NAL units of the types defined in Table J.1 of <xref target="ISO.IEC.23090-29"/>. The structure of the single NAL unit packet is shown below in <xref target="_figure-singlenal-dp"/></t>
          <figure anchor="_figure-singlenal-dp">
            <name>Single NAL unit packet for AC-based Displacement</name>
            <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 payload header       |      DONL (conditional)       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |     vdmcd-sd-id (cond)        |                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
  |                                                               |
  |                        NAL unit data                          |
  |                                                               |
  |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               :...OPTIONAL RTP padding        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>RTP payload header MUST be an exact copy of the NAL unit header of the contained NAL unit.</t>
          <t>A NAL unit stream composed of de-packetizing single NAL unit packets in RTP sequence number order MUST conform to the NAL unit decoding order, when DONL is not present.</t>
          <t>The DONL field, when present, specifies the value of the 16-bit decoding order number of the contained NAL unit. If sprop-max-don-diff is greater than 0 for any of the RTP streams, the DONL field MUST be present, and the variable DONL 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 for all the RTP streams), the DONL field MUST NOT be present.</t>
          <t>The vdmcd-sd-id field, when present, specifies the 16-bit sub displacement identifier for the NAL unit, as signaled in displacement header defined in <xref target="ISO.IEC.23090-29"/>. If sprop-vdmcd-sd-id-pres is equal to 1 and RTP payload header NUT is in range 0-29, inclusive, the vdmcd-sd-id field MUST be present. Otherwise, the vdmcd-sd-id field MUST NOT be present.</t>
          <t>NOTE: (informative) Only values for NAL unit type (NUT) in range 0-29, inclusive, are allocated for AC-based sub displacement layer unit data in <xref target="ISO.IEC.23090-29"/>.</t>
        </section>
        <section anchor="disp-aggp">
          <name>Aggregation packet</name>
          <t>Aggregation Packets (APs) enable the reduction of packetization overhead for small NAL units, such as most of the non-DCL NAL units, which are often only a few octets in size.</t>
          <t>Aggregation packets MAY be used wrap multiple NAL units belonging to the same access unit in a single RTP payload. The first two bytes of the AP MUST contain RTP payload header. The NAL unit type (NUT) for the NAL unit header contained in the RTP payload header MUST be equal to 47, which falls in the unspecified range of the NAL unit types defined in <xref target="ISO.IEC.23090-29"/>. AP MAY contains a conditional vdmcd-sd-id field. AP MUST contain two or more aggregation units. The structure of AP is shown in <xref target="_figure-aggrepacket-dp"/>.</t>
          <figure anchor="_figure-aggrepacket-dp">
            <name>Aggregation packet for AC-based displacement</name>
            <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 payload header (NUT=47)  |         vdmcd-sd-id (cond)    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  |                  Two or more aggregation units                |
  |                                                               |
  |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               :...OPTIONAL RTP padding        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>The fields in the payload header 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 NUT field MUST be equal to 47. The value of NLI MUST be equal to the lowest value of NLI 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>All DCL NAL units in an aggregation packet have the same TID value since they belong to the same access unit. However, the packet MAY contain non-DCL NAL units for which the TID value in the NAL unit header MAY be different than the TID value of the DCL NAL units in the same AP.</t>
          <t>The vdmcd-sd-id field, when present, specifies the 16-bit displacement identifier for all DCL NAL units in the AP. If sprop-vdmcd-sd-id-pres is equal to 1, the vdmcd-sd-id field MUST be present. Otherwise, the vdmcd-sd-id field MUST NOT be present.</t>
          <t>AP MUST carry at least two aggregation units (AU) and can carry as many aggregation units as necessary. However, the total amount of data in an AP 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. The structure of the AU depends both on the presence of the decoding order number, the sequence order of the AU in the AP and the presence of vdmcd-sd-id field. The structure of an AU is shown in <xref target="_figure-aggreunit-dp"/>.</t>
          <figure anchor="_figure-aggreunit-dp">
            <name>Aggregation unit for AC-based Displacement</name>
            <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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  DOND (cond)  /  DONL (cond)  |        vdmcd-sd-id (cond)     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |            NALU size          |                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
  |                                                               |
  |                            NAL unit                           |
  |                                                               |
  |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>If sprop-max-don-diff is greater than 0 for any of the RTP streams, an AU begins with the DOND / DONL field. The first AU in the AP contains DONL field, which specifies the 16-bit value of the decoding order number of the aggregated NAL unit. The variable DON for the aggregated NAL unit is derived as equal to the value of the DONL field. All subsequent AUs in the AP MUST contain an (8-bit) DOND field, which specifies the difference between the decoding order number values of the current aggregated NAL unit and the preceding aggregated NAL unit in the same AP. The variable DON for the aggregated NAL unit is derived as equal to the DON of the preceding aggregated NAL unit in the same AP plus the value of the DOND field plus 1 modulo 65536.</t>
          <t>When sprop-max-don-diff is equal to 0 for all the RTP streams, DOND / DONL fields MUST NOT be present in an aggregation unit. The aggregation units MUST be stored in the aggregation packet so that the decoding order of the containing NAL units is preserved. This means that the first aggregation unit in the aggregation packet SHOULD contain the NAL unit that SHOULD be decoded first.</t>
          <t>If sprop-vdmcd-sd-id-pres is equal to 2 and the AU NAL unit header type is in range 0-29, inclusive, the 16-bit vdmcd-sd-id field MUST be present in the aggregation unit after the conditional DOND/DONL field. Otherwise vdmcd-sd-id field MUST NOT be present in the aggregation unit.</t>
          <t>The conditional fields of the aggregation unit are followed by a 16-bit NALU size field, which provides the size of the NAL unit (in bytes) in the aggregation unit. The remainder of the data in the aggregation unit SHOULD contain the NAL unit (including the unmodified NAL unit header).</t>
        </section>
        <section anchor="displ-fragu">
          <name>Fragmentation unit</name>
          <t>Fragmentation Units (FUs) are introduced to enable fragmenting a single NAL unit into multiple RTP packets, possibly without co-operation or knowledge of the 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. Aggregation packets MUST NOT be fragmented. FUs MUST NOT be nested; i.e., an FU MUST NOT contain a subset of another FU. The RTP header timestamp of an RTP packet carrying an FU is set to the NALU-time of the fragmented NAL unit.
A FU consists of an RTP payload header with the NUT field set to 48, an 8-bit FU header, a conditional 16-bit DONL field, a conditional 16-bit vdmc-sd-id field and an FU payload. The structure of an FU is illustrated below in <xref target="_figure-frag-dp"/>.</t>
          <figure anchor="_figure-frag-dp">
            <name>Fragmentation Unit for Displacement</name>
            <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 payload header (NUT=48)  |   FU header   |  DONL (cond)  |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |  DONL (cond)  |      vdmcd-sd-id (cond)       |               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               |
 |                                                               |
 |                          FU payload                           |
 |                                                               |
 |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                               :...OPTIONAL RTP padding        |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 
]]></artwork>
          </figure>
          <t>When a displacement NAL unit is fragmented over multiple RTP packets, the payload header fields that describe the original NAL unit or its associated V-DMC component SHALL have the same values in all fragments of that NAL unit.  Only fields that are specific to the fragmentation process, such as the start and end indications of a Fragmentation Unit, may differ between fragments.</t>
        </section>
      </section>
      <section anchor="packetization-and-de-packetization-rules-1">
        <name>Packetization and De-packetization Rules</name>
        <t>The following packetization rules apply for V-DMC data:
 -      If sprop-max-don-diff is greater than 0 for any of the RTP streams, the transmission order of NAL units carried in the RTP stream MAY be different than the NAL unit decoding order and the NAL unit output order. Otherwise (sprop-max-don-diff is equal to 0 for all the RTP streams), the transmission order of NAL units carried in the RTP stream MUST be the same as the NAL unit decoding order.
 -      A NAL unit of a small size SHOULD be encapsulated in an aggregation packet together with one or more other NAL units in order to avoid the unnecessary packetization overhead for small NAL units. For example, non-DCL NAL units such as access unit delimiters, parameter sets, or SEI NAL units are typically small and can often be aggregated with DCL NAL units without violating MTU size constraints.
 -      Each non-DCL NAL unit SHOULD, when possible, from an MTU size perspective, be encapsulated in an aggregation packet together with its associated DCL NAL unit, as typically a non-DCL NAL unit would be meaningless without the associated DCL NAL unit being available.
 -      For carrying exactly one NAL unit in an RTP packet, a single NAL unit packet MUST be used</t>
        <t>The general concept behind de-packetization is to get the NAL units out of the RTP packets in an RTP stream and all RTP streams the RTP stream depends on, if any, and pass them to the decoder in the NAL unit decoding order.</t>
        <t>The de-packetization process is implementation dependent. Therefore, the following de-packetization rules SHOULD be taken as an example.</t>
        <ul spacing="normal">
          <li>
            <t>All normal RTP mechanisms related to buffer management apply. In particular, duplicated or outdated RTP packets (as indicated by the RTP sequence 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>
          </li>
          <li>
            <t>NAL units with NAL unit type values in the range of 0 to 44, inclusive, MAY be passed to the decoder. NAL-unit-like structures with NAL unit type values in the range of 45 to 63, inclusive, MUST NOT be passed to the decoder.</t>
          </li>
          <li>
            <t>When sprop-max-don-diff is equal to 0 for the received RTP stream, the NAL units carried in the RTP stream MAY be directly passed to the decoder in their transmission order, which is identical to their decoding order.</t>
          </li>
          <li>
            <t>When sprop-max-don-diff is greater than 0 for any of the received RTP streams, the received NAL units need to be arranged into decoding order before handing them over to the decoder.</t>
          </li>
          <li>
            <t>For further de-packetization examples, the reader is referred to Section 6 of <xref target="RFC7798"/>.</t>
          </li>
        </ul>
        <t>Regarding the packetization of V3C video component data, the respective RTP video payload specification(s) define how packetization and de-packetization SHOULD be handled.</t>
      </section>
    </section>
    <section anchor="payload-format-parameters">
      <name>Payload Format Parameters</name>
      <t>This section describes payload format optional parameters.  A mapping of the parameters into the Session Description Protocol (SDP) <xref target="RFC8866"/> is also provided for applications that use SDP. Equivalent parameters could be defined elsewhere for use with control protocols that do not use SDP.</t>
      <section anchor="media-type-bm">
        <name>Media Type Registration for Basemesh</name>
        <t>The receiver MUST ignore any parameter unspecified in this memo.</t>
        <t>Type name: application</t>
        <t>Subtype name: bmesh</t>
        <t>Required parameters : N/A</t>
        <t>Optional parameters: bmesh-codec-idc, bmesh-level-idc, bmesh-seq-set, bmesh-tier-flag, bmesh-toolset-idc, sprop-bmesh-sei, sprop-bmesh-sm-id, sprop-bmesh-sm-id-pres</t>
        <t>Optional parameters inherited from V3C: sprop-v3c-unit-header, sprop-v3c-unit-type, sprop-v3c-vps-id, sprop-v3c-atlas-id, sprop-v3c-attr-idx, sprop-v3c-attr-part-idx, sprop-v3c-map-idx, sprop-v3c-aux-video-flag, sprop-v3c-parameter-set, sprop-v3c-tile-id, sprop-v3c-tile-id-pres, sprop-v3c-atlas-data, sprop-v3c-common-atlas-data, sprop-v3c-sei, v3c-ptl-level-idc, v3c-ptl-tier-flag, v3c-ptl-codec-idc, v3c-ptl-toolset-idc, v3c-ptl-rec-idc and sprop-max-don-diff</t>
        <t>Encoding considerations: framed</t>
        <t>Security considerations: Please see <xref target="security"/>.</t>
        <t>Interoperability considerations: N/A</t>
        <t>Published specification: Please refer to <xref target="ISO.IEC.23090-29"/></t>
        <t>Applications that use this media type: Any application that relies on V-DMC-based media services over RTP.</t>
        <t>Fragment identifier considerations: N/A</t>
        <t>Additional information: N/A</t>
        <t>Person &amp; email address to contact for further information: Hyunsik Yang (hyunsik.yang@interdigital.com)</t>
        <t>Intended usage: COMMON</t>
        <t>Restrictions on usage: This media type depends on RTP framing and, hence, is only defined for transfer via RTP <xref target="RFC3550"/>. Transport within other framing protocols is not defined at this time.</t>
        <t>Author: See Authors' Addresses section of this memo.</t>
        <t>Change controller: IETF</t>
        <t>Provisional registration? (standards tree only): No</t>
      </section>
      <section anchor="media-type-displ">
        <name>Media Type Registration for Displacement</name>
        <t>The receiver MUST ignore any parameter unspecified in this memo.</t>
        <t>Type name: application</t>
        <t>Subtype name: vdmcd</t>
        <t>Required parameters : N/A</t>
        <t>Optional parameters: vdmcd-codec-idc, vdmcd-level-idc, vdmcd-lod, vdmcd-seq-set,vdmcd-tier-flag, vdmcd-toolset-idc, sprop-vdmcd-sei, sprop-vdmcd-sd-id,sprop-vdmcd-sd-id-pres</t>
        <t>Optional parameters inherited from V3C: sprop-v3c-unit-header, sprop-v3c-unit-type, sprop-v3c-vps-id, sprop-v3c-atlas-id, sprop-v3c-attr-idx, sprop-v3c-attr-part-idx, sprop-v3c-map-idx, sprop-v3c-aux-video-flag, sprop-v3c-parameter-set, sprop-v3c-tile-id, sprop-v3c-tile-id-pres, sprop-v3c-atlas-data, sprop-v3c-common-atlas-data, sprop-v3c-sei, v3c-ptl-level-idc, v3c-ptl-tier-flag, v3c-ptl-codec-idc, v3c-ptl-toolset-idc, v3c-ptl-rec-idc and sprop-max-don-diff</t>
        <t>Encoding considerations: framed</t>
        <t>Security considerations: Please see <xref target="security"/>.</t>
        <t>Interoperability considerations: N/A</t>
        <t>Published specification: Please refer to <xref target="ISO.IEC.23090-29"/></t>
        <t>Applications that use this media type: Any application that relies on V-DMC-based media services over RTP.</t>
        <t>Fragment identifier considerations: N/A</t>
        <t>Additional information: N/A</t>
        <t>Person &amp; email address to contact for further information: Hyunsik Yang (hyunsik.yang@interdigital.com)</t>
        <t>Intended usage: COMMON</t>
        <t>Restrictions on usage: This media type depends on RTP framing and, hence, is only defined for transfer via RTP <xref target="RFC3550"/>. Transport within other framing protocols is not defined at this time.</t>
        <t>Author: See Authors' Addresses section of this memo.</t>
        <t>Change controller: IETF</t>
        <t>Provisional registration? (standards tree only): No</t>
      </section>
      <section anchor="optional-param">
        <name>Optional Parameters Definition</name>
        <t>The optional parameters defined in Section 7.3 of <xref target="RFC10034"/> apply to V-DMC unless explicitly updated by this specification.</t>
        <t><strong>Parameters defined in <xref target="RFC10034"/></strong></t>
        <t>The possible values of sprop-v3c-unit-type are updated by this memo. sprop-v3c-unit-type specifies a V3C unit type value corresponding to vuh_unit_type defined in <xref target="ISO.IEC.23090-29"/>, i.e., it defines V3C sub-bitstream type. <xref target="ISO.IEC.23090-29"/> only introduces new values and does not modify the values previously defined in <xref target="ISO.IEC.23090-05"/>. The remaining V3C parameters can also be utilized in the V-DMC bitstream if necessary.</t>
        <t><strong>optional parameters for Basemesh are defined in this memo</strong></t>
        <t>bmesh-codec-idc:</t>
        <t>bmesh-codec-idc indicates the codec group profile component to which the CVS conforms. It corresponds to bmptl_profile_codec_group_idc defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>bmesh-level-idc:</t>
        <t>bmesh-level-idc indicates a level to which the coded V3C sequence (CVS) conforms. It corresponds to bmptl_level_idc defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>bmesh-seq-set:</t>
        <t>bmesh-seq-set provides an identifier for the basemesh sequence parameter set for reference by other syntax elements defined in <xref target="ISO.IEC.23090-29"/>. It corresponds to bmsps_sequence_parameter_set_id defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>bmesh-tier-flag:</t>
        <t>bmesh-tier-flag specifies the tier context for the interpretation of bmptl_level_idc. It corresponds to bmptl_tier_flag defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>bmesh-toolset-idc:</t>
        <t>bmesh-toolset-idc indicates the toolset combination profile component to which the CVS conforms. It corresponds to bmptl_profile_toolset_idc defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>sprop-bmesh-sei:</t>
        <t>sprop-bmesh-sei MAY be used to convey SEI NAL units of VDMC basemesh sub bitstreams for out-of-band transmission. The value is defined in Table H.1 of <xref target="ISO.IEC.23090-29"/>.</t>
        <t>sprop-bmesh-sm-id:</t>
        <t>sprop-bmesh-id indicates that the RTP stream contains only portion of the frame in the basemesh. sprop-bmesh-id is a comma-separated (',') list of integer values, which indicate the sprop-bmesh-ids that are present in the RTP stream.</t>
        <t>sprop-bmesh-sm-id-pres:</t>
        <t>sprop-bmesh-sm-id-pres indicates that the RTP packets contain bmesh-sm-id field.</t>
        <t><strong>Optional parameters for AC-based displacement are defined in this memo</strong></t>
        <t>vdmcd-codec-idc:</t>
        <t>vdmcd-codec-idc indicates the codec group profile component to which the CDS conforms as specified in Annex J of <xref target="ISO.IEC.23090-29"/>. It corresponds to dptl_profile_codec_group_idc defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>vdmcd-level-idc:</t>
        <t>vdmcd-level-idc indicates a level to which the CDS conforms as specified in Annex J of <xref target="ISO.IEC.23090-29"/>. The vdmcd-level-idc parameter corresponds to dptl_level_idc defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>vdmcd-lod:</t>
        <t>vdmcd-lod specifies the support for signalling and adjusting the level of detail in the stream. vdmcd-lod correspond to lod_index in <xref target="ISO.IEC.23090-10"/>.</t>
        <t>vdmcd-seq-set:</t>
        <t>vdmcd-seq-set provides an identifier for the base mesh sequence parameter set for reference by other syntax elements defined in <xref target="ISO.IEC.23090-29"/>. It corresponds to dsps_sequence_parameter_set_id defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>vdmcd-tier-flag:</t>
        <t>vdmcd-tier-flag specifies the tier context for the interpretation of dptl_level_idc as specified in Annex J of <xref target="ISO.IEC.23090-29"/>. It corresponds to dptl_tier_flag defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>vdmcd-toolset-idc:</t>
        <t>vdmcd-toolset-idc indicates the toolset combination profile component to which the CDS conforms as specified in Annex J of <xref target="ISO.IEC.23090-29"/>. It corresponds to dptl_profile_toolset_idc defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>sprop-vdmcd-sei:</t>
        <t>sprop-vdmcd-sei MAY be used to convey SEI NAL units of VDMC displacement sub bitstreams for out-of-band transmission. The value is defined in Table J.1 of <xref target="ISO.IEC.23090-29"/>.</t>
        <t>sprop-vdmcd-sd-id:</t>
        <t>sprop-vdmcd-sd-id indicates that the RTP stream contains only portion of the frame in the displacement(i.e., a sub-displacement). sprop-vdmcd-sd-id is a comma-separated (',') list of integer values, which indicate the sprop-vdmcd-sd-ids that are present in the RTP stream.</t>
        <t>sprop-vdmcd-sd-id-pres:</t>
        <t>sprop-vdmcd-sd-id-pres indicates that the RTP packets contain vdmcd-sd-id field.</t>
      </section>
    </section>
    <section anchor="congestion-control-considerations">
      <name>Congestion control considerations</name>
      <t>Congestion control for RTP SHALL be used in accordance with RTP <xref target="RFC3550"/> and with any applicable RTP profile.</t>
      <t>In case of congestion, adjusting the LoD level of each V-DMC stream can help partially mitigate the congestion issue. The substreams that make up V-DMC can independently adjust their LoD (Level of Detail) levels with high level parameters (e.g, vdmcd-lod). This parameter is linked to LoD-related parameters defined for each substream, allowing the overall LoD to be fine-tuned. During periods of congestion, a higher LoD level may overload transmitters and/or receivers, while also increasing network bandwidth consumption. To alleviate this, the LoD levels of individual substreams can be adjusted to reduce overall bandwidth usage and improve processing speed.</t>
    </section>
    <section anchor="session-descp">
      <name>Session description protocol</name>
      <t>This document complies with, and builds over, SDP mechanisms defined in <xref target="RFC10034"/>, including the "v3cfmtp" attribute and the grouping framework "v3c" type.</t>
      <section anchor="v3c-format-parameters-v3cfmtp-attribute">
        <name>V3C format parameters "v3cfmtp" attribute</name>
        <t>The "v3cfmtp" SDP attribute is used to carry V3C specific media format parameters, which were defined in <xref target="ISO.IEC.23090-05"/>. This memo defines new values for one of these parameters, v3c-unit-type. New SDP parameters defined in this memo are carried with the "fmtp" attribute.</t>
      </section>
      <section anchor="mapping-of-payload-type-parameters-to-sdp">
        <name>Mapping of Payload Type Parameters to SDP</name>
        <t>The OPTIONAL parameters, when present, MUST be included in the "a=fmtp" line of SDP.  This is expressed as a media type string, in the form of a semicolon-separated list of parameter=value pairs. Parameter values, including string values, MUST be written without quotation marks ("") in SDP.  Parameter values that are strings are not case sensitive and SHOULD be written in lowercase.</t>
        <section anchor="for-v-dmc-basemesh-components">
          <name>For V-DMC Basemesh Components</name>
          <t>The mapping of above defined payload format media type to the corresponding fields in the Session Description Protocol (SDP) is done according to <xref target="RFC8866"/>.</t>
          <ul spacing="normal">
            <li>
              <t>The media name in the "m=" line of SDP MUST be application.</t>
            </li>
            <li>
              <t>The encoding name in the "a=rtpmap" line of SDP MUST be bmesh</t>
            </li>
            <li>
              <t>The clock rate in the "a=rtpmap" line MUST be 90000.</t>
            </li>
            <li>
              <t>The OPTIONAL parameters , when present, MUST be included in the "a=fmtp" line of SDP.  This is expressed as a media type string, in the form of a semicolon-separated list of parameter=value pairs.</t>
            </li>
            <li>
              <t>The OPTIONAL parameters bmesh-codec-idc, bmesh-level-idc, bmesh-seq-set, bmesh-tier-flag, bmesh-toolset-idc, sprop-bmesh-sei, sprop-bmesh-sm-id, sprop-bmesh-sm-id-pres 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>
            </li>
          </ul>
          <t>The OPTIONAL parameters, when present in the basemesh component media line format parameters attribute, specify values that are valid for the coded V3C sequence until a new value is received in-band. Some OPTIONAL parameters, like sprop-v3c-parameter-set or sprop-v3c-unit-header, can't be carried in-band in the basemesh stream and may thus be considered static for the session. The carriage of basemesh payload format parameters in "a=fmtp" and "a=v3cfmtp" attributes is separated by logical context, where "a=fmtp" consists of basemesh level media format parameters and "a=v3cfmtp" contains V3C level media format parameters.</t>
          <t>An example of media representation corresponding to the vdmc RTP payload in SDP is as follows:</t>
          <artwork><![CDATA[
   m=application 49170 RTP/AVP 98
   a=rtpmap:98 bmesh/90000
   a=fmtp:98 sprop-bmesh-sm-id=0,1
   a=v3cfmtp:sprop-v3c-unit-header=OAAAAA==;
]]></artwork>
        </section>
        <section anchor="for-v-dmc-displacement-components">
          <name>For V-DMC Displacement Components</name>
          <ul spacing="normal">
            <li>
              <t>The media name in the "m=" line of SDP MUST be application.</t>
            </li>
            <li>
              <t>The encoding name in the "a=rtpmap" line of SDP MUST be vdmcd</t>
            </li>
            <li>
              <t>The clock rate in the "a=rtpmap" line MUST be 90000.</t>
            </li>
            <li>
              <t>The OPTIONAL parameters, when present, MUST be included in the "a=fmtp" line of SDP.  This is expressed as a media type string, in the form of a semicolon-separated list of parameter=value pairs.</t>
            </li>
            <li>
              <t>The OPTIONAL parameters vdmcd-codec-idc, vdmcd-level-idc, vdmcd-lod, vdmcd-seq-set,vdmcd-tier-flag, vdmcd-toolset-idc, sprop-vdmcd-sei, sprop-vdmcd-sd-id,sprop-vdmcd-sd-id-pres 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>
            </li>
          </ul>
          <t>The OPTIONAL parameters, when present in the displacement component media line format parameters attribute, specify values that are valid for the coded displacement sequence until a new value is received in-band. Some OPTIONAL parameters, like sprop-v3c-parameter-set or sprop-v3c-unit-header, can't be carried in-band in the displacement stream and may thus be considered static for the session. The carriage of V3C payload format parameters in "a=fmtp" and "a=v3cfmtp" attributes is separated by logical context, where "a=fmtp" consists of displacement level media format parameters and "a=v3cfmtp" contains V3C level media format parameters.</t>
          <t>An example of media representation corresponding to the vdmc RTP payload in SDP is as follows:</t>
          <artwork><![CDATA[
   m=application 49170 RTP/AVP 98
   a=rtpmap:98 vdmcd/90000
   a=fmtp:98 sprop-vdmcd-sd-id=0,1
   a=v3cfmtp:sprop-v3c-unit-header=GAAAABB==;
   
]]></artwork>
        </section>
        <section anchor="for-other-v-dmc-components">
          <name>For Other V-DMC Components</name>
          <t>The mapping of payload type parameters to SDP is described in section 9.2.1. of <xref target="RFC10034"/> for the V3C atlas components and in section 9.2.2. of <xref target="RFC10034"/> for other video V-DMC components.</t>
        </section>
        <section anchor="grouping">
          <name>Grouping Framework</name>
          <t>The grouping framework is described in section 9.3. of <xref target="RFC10034"/> can be used for V-DMC. Group attribute with VDMC type is provided to allow application to identify "m" lines that belong to the same VDMC bitstream. Grouping type VDMC MUST be used with the group attribute. The tokens that follow are mapped to 'mid'-values of individual media lines in the SDP.</t>
          <artwork><![CDATA[
 a=group:VDMC <tokens>
]]></artwork>
          <t>The following example shows an SDP including four media lines, three describing VDMC components (PT:96=attribute, PT:97=displacement, PT:98=basemesh) and one VDMC atlas component (PT:100). All the media lines are grouped under one VDMC group. V3C parameter set is provided via session level VDMC media format parameter attribute.</t>
          <artwork><![CDATA[
  ...
a=group:VDMC 1 2 3 4 
m=video 40000 RTP/AVP 96
a=rtpmap:96 H264/90000 
a=v3cfmtp:96 
  v3c-unit-header=EAAAAA==;
a=mid:1
m=application 40002 RTP/AVP 97
a=rtpmap:97 disp/90000 
a=fmtp:97 
  v3c-unit-header=GAAAABB==; 
a=mid:2
m=application 40004 RTP/AVP 98
a=rtpmap:98 bmesh/90000  
a=fmtp:98 
  v3c-unit-header=IAAAAA==;
a=mid:3
m=application 40008 RTP/AVP 100
a=rtpmap:100 v3c/90000  
a=fmtp:100
  v3c-unit-header=CAAAAA==; 


]]></artwork>
        </section>
      </section>
      <section anchor="offer-and-answer-considerations">
        <name>Offer and Answer Considerations</name>
        <t>The parameters defined in this specification describe properties of the RTP stream and its association with V-DMC components. They are not receiver capability parameters.
In SDP Offer/Answer usage, an answerer that accepts the media stream SHALL preserve the offered values of these parameters. If the offered values cannot be supported, the media stream SHALL be rejected.</t>
        <t>An example offer, which allows bundling different V-DMC components (attribute, basemesh, AC-based displacement, atlas) into one stream, based on <xref target="RFC9143"/>.</t>
        <artwork><![CDATA[
  ...
  a=group:BUNDLE 1 2 3 4
  a=group:VDMC 1 2 3 4
  m=video 40000 RTP/AVP 96
  a=rtpmap:96 H264/90000
  a=v3cfmtp:sprop-v3c-unit-type=4;sprop-v3c-vps-id=0;
  sprop-v3c-atlas-id=0
  a=mid:1
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
  m=application 40002 RTP/AVP 97
  a=rtpmap:97 bmesh /90000
  a=v3cfmtp:sprop-v3c-unit-type=7;sprop-v3c-vps-id=0;
  sprop-v3c-atlas-id=0
  a=mid:2
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
  m=application 40004 RTP/AVP 98
  a=rtpmap:98 vdmcd /90000
  a=v3cfmtp:sprop-v3c-unit-type=8;sprop-v3c-vps-id=0;
  sprop-v3c-atlas-id=0
  a=mid:3
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
  m=application 40006 RTP/AVP 99
  a=rtpmap:99 v3c/90000
  a=v3cfmtp:sprop-v3c-unit-type=1;sprop-v3c-vps-id=0;
  sprop-v3c-atlas-id=0;
  sprop-v3c-parameter-set=AQD/AAAP/zwAAAAAADwIAQ5BwAAOADjgQAADkA==
  a=mid:4
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
  
]]></artwork>
        <t>An example answer, which accepts bundling of different V-DMC components.</t>
        <artwork><![CDATA[
  a=group:BUNDLE 1 2 3 4
  a=group:VDMC 1 2 3 4
  m=video 50000 RTP/AVP 96
  a=rtpmap:96 H264/90000
  a=mid:1
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
  m=application 0 RTP/AVP 97
  a=rtpmap:97 bmesh/90000
  a=bundle-only
  a=mid:2
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
  m=application 0 RTP/AVP 98
  a=rtpmap:98 vdmcd/90000
  a=bundle-only
  a=mid:3
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
  m=application 0 RTP/AVP 99
  a=rtpmap:99 v3c/90000
  a=bundle-only
  a=mid:4
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid

]]></artwork>
      </section>
      <section anchor="declarative-sdp-considerations">
        <name>Declarative SDP Considerations</name>
        <t>When V-DMC content is offered over RTP in a declarative style, the considerations in section 9.5. of <xref target="RFC10034"/> are applicable.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document contains two IANA considerations: new media types and a new grouping type.</t>
      <section anchor="vdmc-media-type-registrations">
        <name>VDMC media type registrations</name>
        <t>IANA is requested to register the following media types in the "Media Types" registry:</t>
        <ul spacing="normal">
          <li>
            <t>application/bmesh</t>
          </li>
          <li>
            <t>application/vdmcd</t>
          </li>
        </ul>
        <t>see <xref target="media-type-bm"/> and <xref target="media-type-displ"/> for the corresponding media type registration information.</t>
      </section>
      <section anchor="vdmc-grouping-type-extension">
        <name>VDMC grouping type extension</name>
        <t>Grouping is extended to establish relationships between substreams of a VDMC representation. A new group type (VDMC) for the group attribute will be registered as defined in <xref target="grouping"/>.  This document registers the semantics in <xref target="_table-group-id"/> with IANA in the "Semantics for the 'group' SDP Attribute" registry group (under the "Session Description Protocol (SDP) Parameters" registry):</t>
        <figure anchor="_table-group-id">
          <name>Additional semantics for VDMC SDP group type</name>
          <sourcecode type="table"><![CDATA[
+==============+=======+==============+=============+
| Semantics    | Token | Mux Category | Reference   |
+==============+=======+==============+=============+
|VDMC grouping | VDMC  |   NORMAL     | "this memo" |
+--------------+-------+--------------+-------------+
]]></sourcecode>
        </figure>
        <t>NOTE: (informative) "this memo" to be replaced with the RFC number,
   once it becomes available.</t>
      </section>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <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 Protocol 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"/>.</t>
      <t>A V-DMC session can consist of multiple component substreams carried over different RTP streams. The security considerations specified in <xref target="RFC10034"/>, including those related to source authentication of constituent RTP streams, also apply to V-DMC representations.</t>
      <t>Applications SHOULD use one or more appropriate and current strong security mechanisms. In addition to the guidance provided in <xref target="RFC7201"/>, applications MAY consider current best practices such as (D)TLS-based protection <xref target="BCP195"/> or IPsec-based protection <xref target="RFC4303"/> <xref target="RFC7296"/>, as appropriate.</t>
      <t>End-to-end security with authentication, integrity, or confidentiality protection will prevent a Media-Aware Network Element (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="acknowledgments">
      <name>Acknowledgments</name>
      <t>Srinivas Gudumasu(InterDigital Canada) and Gurdeep Singh Bhullar and Olivier Mocquard(InterDigital Europe Ltd.) contributed to this draft as co-authors.</t>
      <t>Thanks to Chandok Gurtej Singh, Harald Tveit Alvestrand, Mo Zanaty, Lukasz Kondrad and Danillo Bracco Graziosi for discussions and comments about this draft.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC10034">
          <front>
            <title>RTP Payload Format for Visual Volumetric Video-Based Coding (V3C)</title>
            <author fullname="L. Ilola" initials="L." surname="Ilola"/>
            <author fullname="L. Kondrad" initials="L." surname="Kondrad"/>
            <date month="August" year="2026"/>
            <abstract>
              <t>A visual volumetric video-based coding (V3C) ISO/IEC 23090-5 bitstream is composed of V3C units that contain V3C atlas sub-bitstreams, V3C video sub-bitstreams, and a V3C parameter set. This document describes an RTP payload format for V3C atlas sub-bitstreams. The RTP payload format for V3C video sub-bitstreams is defined by relevant IETF RFCs for the applicable video codec. The V3C RTP payload format allows for the packetization of one or more V3C atlas Network Abstraction Layer (NAL) units in an RTP packet payload as well as the fragmentation of a V3C atlas NAL unit into multiple RTP packets. The document also describes the mechanisms for grouping RTP streams of V3C component sub-bitstreams, providing a complete solution for streaming V3C-encoded content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="10034"/>
          <seriesInfo name="DOI" value="10.17487/RFC10034"/>
        </reference>
        <reference anchor="ISO.IEC.23090-29" target="https://www.iso.org/standard/85254.html">
          <front>
            <title>Information technology - Coded representation of immersive media - Part 29: Video-based dynamic mesh coding (V-DMC)</title>
            <author>
              <organization>ISO/IEC</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-29"/>
        </reference>
        <reference anchor="ISO.IEC.23090-05" target="https://www.iso.org/standard/91546.html">
          <front>
            <title>Information technology - Coded representation of immersive media - Part 5: Visual volumetric video-based coding (V3C) and video-based point cloud compression (V-PCC)</title>
            <author>
              <organization>ISO/IEC</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-05"/>
        </reference>
        <reference anchor="ISO.IEC.23090-12" target="https://www.iso.org/standard/87643.html">
          <front>
            <title>Information technology - Coded representation of immersive media - Part 12: MPEG Immersive video (MIV)</title>
            <author>
              <organization>ISO/IEC</organization>
            </author>
            <date year="2025"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-12"/>
        </reference>
        <reference anchor="ISO.IEC.23090-10" target="https://www.iso.org/standard/78991.html">
          <front>
            <title>Information technology - Coded representation of immersive media - Part 10: Carriage of visual volumetric video-based coding data</title>
            <author>
              <organization>ISO/IEC</organization>
            </author>
            <date year="2022"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-10"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <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="RFC2736">
          <front>
            <title>Guidelines for Writers of RTP Payload Format Specifications</title>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <date month="December" year="1999"/>
            <abstract>
              <t>This document provides general guidelines aimed at assisting the authors of RTP Payload Format specifications in deciding on good formats. 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="36"/>
          <seriesInfo name="RFC" value="2736"/>
          <seriesInfo name="DOI" value="10.17487/RFC2736"/>
        </reference>
        <reference anchor="RFC8088">
          <front>
            <title>How to Write an RTP Payload Format</title>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>This document contains information on how best to write an RTP payload format specification. It provides reading tips, design practices, and practical tips on how to produce an RTP payload format specification quickly and with good results. A template is also included with instructions.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8088"/>
          <seriesInfo name="DOI" value="10.17487/RFC8088"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <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="RFC3550">
          <front>
            <title>RTP: A Transport Protocol for Real-Time Applications</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="S. Casner" initials="S." surname="Casner"/>
            <author fullname="R. Frederick" initials="R." surname="Frederick"/>
            <author fullname="V. Jacobson" initials="V." surname="Jacobson"/>
            <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="RFC7798">
          <front>
            <title>RTP Payload Format for High Efficiency Video Coding (HEVC)</title>
            <author fullname="Y.-K. Wang" initials="Y.-K." surname="Wang"/>
            <author fullname="Y. Sanchez" initials="Y." surname="Sanchez"/>
            <author fullname="T. Schierl" initials="T." surname="Schierl"/>
            <author fullname="S. Wenger" initials="S." surname="Wenger"/>
            <author fullname="M. M. Hannuksela" initials="M. M." surname="Hannuksela"/>
            <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="RFC8866">
          <front>
            <title>SDP: Session Description Protocol</title>
            <author fullname="A. Begen" initials="A." surname="Begen"/>
            <author fullname="P. Kyzivat" initials="P." surname="Kyzivat"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <date month="January" year="2021"/>
            <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. This document obsoletes RFC 4566.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8866"/>
          <seriesInfo name="DOI" value="10.17487/RFC8866"/>
        </reference>
        <reference anchor="RFC9143">
          <front>
            <title>Negotiating Media Multiplexing Using the Session Description Protocol (SDP)</title>
            <author fullname="C. Holmberg" initials="C." surname="Holmberg"/>
            <author fullname="H. Alvestrand" initials="H." surname="Alvestrand"/>
            <author fullname="C. Jennings" initials="C." surname="Jennings"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>This specification defines a new Session Description Protocol (SDP) Grouping Framework extension called 'BUNDLE'. The extension can be used with the SDP offer/answer mechanism to negotiate the usage of a single transport (5-tuple) for sending and receiving media described by multiple SDP media descriptions ("m=" sections). Such transport is referred to as a "BUNDLE transport", and the media is referred to as "bundled media". The "m=" sections that use the BUNDLE transport form a BUNDLE group.</t>
              <t>This specification defines a new RTP Control Protocol (RTCP) Source Description (SDES) item and a new RTP header extension.</t>
              <t>This specification updates RFCs 3264, 5888, and 7941.</t>
              <t>This specification obsoletes RFC 8843.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9143"/>
          <seriesInfo name="DOI" value="10.17487/RFC9143"/>
        </reference>
        <reference anchor="RFC3551">
          <front>
            <title>RTP Profile for Audio and Video Conferences with Minimal Control</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="S. Casner" initials="S." surname="Casner"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>This document describes a profile called "RTP/AVP" 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="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"/>
            <author fullname="S. Wenger" initials="S." surname="Wenger"/>
            <author fullname="N. Sato" initials="N." surname="Sato"/>
            <author fullname="C. Burmeister" initials="C." surname="Burmeister"/>
            <author fullname="J. Rey" initials="J." surname="Rey"/>
            <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="RFC3711">
          <front>
            <title>The Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="M. Baugher" initials="M." surname="Baugher"/>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="M. Naslund" initials="M." surname="Naslund"/>
            <author fullname="E. Carrara" initials="E." surname="Carrara"/>
            <author fullname="K. Norrman" initials="K." surname="Norrman"/>
            <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="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"/>
            <author fullname="E. Carrara" initials="E." surname="Carrara"/>
            <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="RFC7201">
          <front>
            <title>Options for Securing RTP Sessions</title>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <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">
          <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"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <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="RFC9328">
          <front>
            <title>RTP Payload Format for Versatile Video Coding (VVC)</title>
            <author fullname="S. Zhao" initials="S." surname="Zhao"/>
            <author fullname="S. Wenger" initials="S." surname="Wenger"/>
            <author fullname="Y. Sanchez" initials="Y." surname="Sanchez"/>
            <author fullname="Y.-K. Wang" initials="Y.-K." surname="Wang"/>
            <author fullname="M. M Hannuksela" initials="M. M" surname="Hannuksela"/>
            <date month="December" year="2022"/>
            <abstract>
              <t>This memo describes an RTP payload format for the Versatile Video Coding (VVC) specification, which was published as both ITU-T Recommendation H.266 and ISO/IEC International Standard 23090-3. VVC was 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>
          <seriesInfo name="RFC" value="9328"/>
          <seriesInfo name="DOI" value="10.17487/RFC9328"/>
        </reference>
        <referencegroup anchor="BCP195" target="https://www.rfc-editor.org/info/bcp195">
          <reference anchor="RFC8996" target="https://www.rfc-editor.org/info/rfc8996">
            <front>
              <title>Deprecating TLS 1.0 and TLS 1.1</title>
              <author fullname="K. Moriarty" initials="K." surname="Moriarty"/>
              <author fullname="S. Farrell" initials="S." surname="Farrell"/>
              <date month="March" year="2021"/>
              <abstract>
                <t>This document formally deprecates Transport Layer Security (TLS) versions 1.0 (RFC 2246) and 1.1 (RFC 4346). Accordingly, those documents have been moved to Historic status. These versions lack support for current and recommended cryptographic algorithms and mechanisms, and various government and industry profiles of applications using TLS now mandate avoiding these old TLS versions. TLS version 1.2 became the recommended version for IETF protocols in 2008 (subsequently being obsoleted by TLS version 1.3 in 2018), providing sufficient time to transition away from older versions. Removing support for older versions from implementations reduces the attack surface, reduces opportunity for misconfiguration, and streamlines library and product maintenance.</t>
                <t>This document also deprecates Datagram TLS (DTLS) version 1.0 (RFC 4347) but not DTLS version 1.2, and there is no DTLS version 1.1.</t>
                <t>This document updates many RFCs that normatively refer to TLS version 1.0 or TLS version 1.1, as described herein. This document also updates the best practices for TLS usage in RFC 7525; hence, it is part of BCP 195.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="195"/>
            <seriesInfo name="RFC" value="8996"/>
            <seriesInfo name="DOI" value="10.17487/RFC8996"/>
          </reference>
          <reference anchor="RFC9325" target="https://www.rfc-editor.org/info/rfc9325">
            <front>
              <title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
              <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
              <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
              <author fullname="T. Fossati" initials="T." surname="Fossati"/>
              <date month="November" year="2022"/>
              <abstract>
                <t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are used to protect data exchanged over a wide range of application protocols and can also form the basis for secure transport protocols. Over the years, the industry has witnessed several serious attacks on TLS and DTLS, including attacks on the most commonly used cipher suites and their modes of operation. This document provides the latest recommendations for ensuring the security of deployed services that use TLS and DTLS. These recommendations are applicable to the majority of use cases.</t>
                <t>RFC 7525, an earlier version of the TLS recommendations, was published when the industry was transitioning to TLS 1.2. Years later, this transition is largely complete, and TLS 1.3 is widely available. This document updates the guidance given the new environment and obsoletes RFC 7525. In addition, this document updates RFCs 5288 and 6066 in view of recent attacks.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="195"/>
            <seriesInfo name="RFC" value="9325"/>
            <seriesInfo name="DOI" value="10.17487/RFC9325"/>
          </reference>
        </referencegroup>
        <reference anchor="RFC4303">
          <front>
            <title>IP Encapsulating Security Payload (ESP)</title>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="December" year="2005"/>
            <abstract>
              <t>This document describes an updated version of the Encapsulating Security Payload (ESP) protocol, which is designed to provide a mix of security services in IPv4 and IPv6. ESP is used to provide confidentiality, data origin authentication, connectionless integrity, an anti-replay service (a form of partial sequence integrity), and limited traffic flow confidentiality. This document obsoletes RFC 2406 (November 1998). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4303"/>
          <seriesInfo name="DOI" value="10.17487/RFC4303"/>
        </reference>
        <reference anchor="RFC7296">
          <front>
            <title>Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="C. Kaufman" initials="C." surname="Kaufman"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <date month="October" year="2014"/>
            <abstract>
              <t>This document describes version 2 of the Internet Key Exchange (IKE) protocol. IKE is a component of IPsec used for performing mutual authentication and establishing and maintaining Security Associations (SAs). This document obsoletes RFC 5996, and includes all of the errata for it. It advances IKEv2 to be an Internet Standard.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="79"/>
          <seriesInfo name="RFC" value="7296"/>
          <seriesInfo name="DOI" value="10.17487/RFC7296"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
T739cU6j3dW9+hI6mWPL2Xt2icpXQbtuTe71b1YIC3Xmu0JYd4WwblMIy+ab
NyqE5d09eIOKWM6HN66KZQG86qpYNVxcW59gzhffqCqW5k615blpdSz8CVbI
MmbLtyuQ1burj7X6+lj737I+Vm0bfb36WPQtLzyp6X+C+rRzz+rsN2z9LKxB
39XJWh4S5+ePoB27myVU8iGkGw9rujFzwD9M1az932fVrN53VTSr9xvVzKrN
WoNslcy6nRa8SAOOQghnkb+0Mvv1tdK7qlm/36pZAaWpBuCiqlm4ZJT+Pvwz
FAtdqnTWPC/iXems23RyVzorpE7JLRdSpip19Hihm/GuktZdJS0pC+4qad1V
0vpNK2kt1FdXV0nrWpV3dZW0ltKV7ypp1Ua8SSWtBbW07IyUu2Jaf7hiWne1
tFZaS+vLK2k9WmUlLeSdDutcYSEtRICyTMWfsI7Wo29dR2tBSs1dHa0vgoN+
llyXhT+/UR0tMdeglZv0mkJadSNWSoRwov9dQa3vrqAWeQFuU07rrpjW91ZM
6/uqpMXWw4qqafW+g2JavVvW0vILafW+kzpavevKaPVuW0Wrd00RrT9tBa1i
hSW07opo/cmKaP2Zamj9KUpo/f4raN0V0Lq2gNZTPo92qlSSYkElLK/cVTaV
bETrMwXWwwC+OZ3SaqnjWuotryY+O4uZLHvU95SzePOszAbZWKyf9U4bjONH
j/b2uGBENC4y5ZCWtQ64CBTbI2TlYNUI+LYtnvynSmDL8wFQPfpAqQgqZTQe
F/EVihrqD78m1kFlcQCOqQRIGXUZHTZQg+jCUyfxMInEa2QzQAcJ+ZVwPnYh
Z/HxwQSbtZAbtfoTnZqmD/IS10lGKaUSpjNLR7QTYVVVLDwiKU9P47gpNO3Y
CKFXZ1W/NG+pODkTK2AHqdpCTUe8eNjFly/rayo/pXJqg1YyHDTlg3F8GY/t
ByDT4H+l+rNMQIScj6ORfpABMuOSP3HuR4kT7wHWUA88osjPHDgBObCWCWWk
o3oKu66jYkfbAxYVyunoPUY02Q8vp4U1Pj6JynFUf1bm8OhD7RnqCP4L2BS1
ttWHFu12iSTzRk+K0WlelMk49qCQjwgzdYiZzZinwIAmwL3DL2kZaPxybK+u
emQtqHpkEYVuZa+yephzK+JSdUGCK/oklUxeVaPjnd3hUi2kMwMPrnI8Fes3
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

-->

</rfc>
