<?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.36 (Ruby 3.2.3) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-avtcore-rtp-vdmc-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="RTP-Payload-VDMC">RTP Payload Format for V-DMC</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rtp-vdmc-01"/>
    <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/>
    <area>Transport</area>
    <workgroup>avtcore</workgroup>
    <abstract>
      <?line 89?>

<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>
    <?line 93?>

<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="I-D.ietf-avtcore-rtp-v3c"/>. 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="I-D.ietf-avtcore-rtp-v3c"/>, 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>
    </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="I-D.ietf-avtcore-rtp-v3c"/>.</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="I-D.ietf-avtcore-rtp-v3c"/>.</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="I-D.ietf-avtcore-rtp-v3c"/>. 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="I-D.ietf-avtcore-rtp-v3c"/> 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="I-D.ietf-avtcore-rtp-v3c"/> 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="I-D.ietf-avtcore-rtp-v3c"/> 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 atlas 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 NUT equal to a 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>
        </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_MAXUINT64_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 atlas 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 NUT equal to a  63, 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=46)  |   FU header   |  DONL (cond)  |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |  DONL (cond)  |      vdmcd-sd-id (cond)       |               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               |
 |                                                               |
 |                          FU payload                           |
 |                                                               |
 |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                               :...OPTIONAL RTP padding        |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 
]]></artwork>
          </figure>
        </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-lod, 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: This type is only defined for transfer via RTP <xref target="RFC3550"/>.</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>Additional information: N/A</t>
        <t>Person &amp; email address to contact for further information:</t>
        <t>Intended usage: COMMON</t>
        <t>Restrictions on usage: N/A</t>
        <t>Author: See Authors' Addresses section of this memo.</t>
        <t>Change controller: IETF avtcore@ietf.org</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: This type is only defined for transfer via RTP <xref target="RFC3550"/>.</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>Additional information: N/A</t>
        <t>Person &amp; email address to contact for further information:</t>
        <t>Intended usage: COMMON</t>
        <t>Restrictions on usage: N/A</t>
        <t>Author: See Authors' Addresses section of this memo.</t>
        <t>Change controller: IETF avtcore@ietf.org</t>
        <t>Provisional registration? (standards tree only): No</t>
      </section>
      <section anchor="optional-param">
        <name>Optional Parameters Definition</name>
        <t>Optional parameters definition in section 7.2. of <xref target="I-D.ietf-avtcore-rtp-v3c"/> are applicable, unless updated in this section, which describes new and updated optional parameters definitions.</t>
        <t><strong>Parameters defined in <xref target="I-D.ietf-avtcore-rtp-v3c"/></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-lod:</t>
        <t>bmesh-lod specifies the support for signalling and adjusting the level of detail in the stream. bmesh-lod correspond to lod_index in <xref target="ISO.IEC.23090-10"/>.</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>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, bmesh-lod, 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="I-D.ietf-avtcore-rtp-v3c"/>, 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>
        <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-lod, 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 vmdcd</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="I-D.ietf-avtcore-rtp-v3c"/> for the V3C atlas components and in section 9.2.2. of <xref target="I-D.ietf-avtcore-rtp-v3c"/> 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="I-D.ietf-avtcore-rtp-v3c"/> 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=fmtp: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>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="I-D.ietf-avtcore-rtp-v3c"/> are applicable.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="vdmc-media-type-registration">
        <name>VDMC media type registration</name>
        <t>New media types will be registered with IANA; see <xref target="media-type-bm"/> and <xref target="media-type-displ"/>.</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"/>. Applications SHOULD use one or more appropriate strong security mechanisms. The rest of this Security Considerations section discusses the security impacting properties of the payload format itself.</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="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="2024"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-29"/>
        </reference>
        <reference anchor="ISO.IEC.23090-05" target="https://www.iso.org/standard/83535.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="2023"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-05"/>
        </reference>
        <reference anchor="ISO.IEC.23090-12" target="https://www.iso.org/standard/79113.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="2023"/>
          </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>
        <reference anchor="I-D.ietf-avtcore-rtp-v3c">
          <front>
            <title>RTP Payload Format for Visual Volumetric Video-based Coding (V3C)</title>
            <author fullname="Lauri Ilola" initials="L." surname="Ilola">
              <organization>Nokia Technologies</organization>
            </author>
            <author fullname="Lukasz Kondrad" initials="L." surname="Kondrad">
              <organization>Nokia Technologies</organization>
            </author>
            <date day="11" month="February" 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
   memo describes an RTP payload format for V3C atlas sub-bitstreams.
   The RTP payload format for V3C video sub-bitstreams is defined by
   relevant IETF RFC for the applicable video codec.  The V3C RTP
   payload format allows for packetization of one or more V3C atlas
   Network Abstraction Layer (NAL) units in an RTP packet payload as
   well as fragmentation of a V3C atlas NAL unit into multiple RTP
   packets.  The memo 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="Internet-Draft" value="draft-ietf-avtcore-rtp-v3c-17"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
