<?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.19 (Ruby 3.0.2) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-hsyang-avtcore-rtp-vdmc-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.2 -->
  <front>
    <title abbrev="RTP-Payload-VDMC">RTP Payload for V-DMC</title>
    <seriesInfo name="Internet-Draft" value="draft-hsyang-avtcore-rtp-vdmc-00"/>
    <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 88?>

<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 base mesh, a set of displacements, 2D representations of attributes, and an atlas. New RTP payload formats are described for the base mesh and displacement components. The RTP payload header formats enable the packetization of a video stream packet within an RTP packet payload, as well as the fragmentation of a video stream packet into multiple RTP packets.</t>
    </abstract>
  </front>
  <middle>
    <?line 92?>

<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>This document describes how V-DMC data can be transmitted using the RTP protocol, in line with, and using mechanisms described in <xref target="I-D.ietf-avtcore-rtp-v3c"/> for V3C. Especially, this memo describes RTP payload headers for base mesh and displacement codecs defined by MPEG in <xref target="ISO.IEC.23090-29"/> (appendix H and J, respectively). They are provided in this memo, to ensure that at least one format is available for each V-DMC sub-stream. However, V-DMC is designed to support different base mesh and/or displacement codecs, when they become available.</t>
      <t>Furthermore, the base mesh and displacement RTP payload format defined in this memo, and its codec defined in <xref target="ISO.IEC.23090-29"/> appendix H and J, 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>base mesh: 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 base mesh</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 Base mesh Data</t>
        <t>LOD Level Of Detail</t>
        <t>V-DMC Video-based Dynamic Mesh Coding</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 video 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 V3C video components used in V-DMC are a base mesh, a set of displacements, and attributes providing additional properties such as texture or material information. <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 base mesh component represents a simplified version of the detailed mesh describing the object and it 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 displacement component provides displacement vectors which should be applied to the base mesh to obtain the 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 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   |
+------------+              +------------+
+------------+ Base Mesh    +------------+
|  Base Mesh | sub-bitstream|  Base Mesh |
|  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 components, 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 atlas components or a V3C parameter set. V3C components, i.e., base mesh, displacement, or attribute components, correspond to video data units (e.g., NAL units defined in <xref target="ISO.IEC.23090-29"/>) that could be decoded by an appropriate video decoder. An example of V-DMC bitstream consisting of a V3C parameter set, atlas bitstream and three video component bitstreams (base mesh, displacement, attribute) 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_GVD) | V3C Unit(V3C_AVD)| V3C Unit(V3C_AD)  | ...
  +-------------------+------------------+-------------------+ 
]]></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 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 and 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, V3C_AVD, V3C_BMD. The base mesh information is present in a video component identified by V3C_BMD, which consists of base mesh NAL units that define header and payload pairs, see <xref target="basemesh-nal"/>. The displacement information is present in a video component identified by V3C_GVD. The component identified by V3C_GVD consists of displacement NAL units that define header and payload pairs, see <xref target="displ-nal"/>. V3C video components 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"/>. 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) {
      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) {
       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) {
       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 |Geometry information  |
|        |          |                    |(Displacement when    |
|        |          |                    |using a video-based   |
|        |          |                    |codec)                |
+--------+----------+--------------------+----------------------+
|   4    | V3C_AVD  |Attribute video data|Attribute information |
+--------+----------+--------------------+----------------------+
|   5    | V3C_PVD  |Packed video data   |(Not used in V-DMC)   |
+--------+----------+--------------------+----------------------+
|   6    |          |Common atlas data   |Information that is   |
|        |          |                    |common for atlases    |
|        | V3C_CAD  |                    |in a CVS(Specified in |
|        |          |                    |ISO/IEC 23090-12)     |
+--------+----------+--------------------+----------------------+
|   7    | V3C_BMD  |   Base Mesh data   |Base mesh information |
+--------+----------+--------------------+----------------------+
]]></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 base mesh, how to apply the displacement vectors 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="base-mesh-nal-units">
          <name>Base Mesh NAL units</name>
          <t>The base mesh component is a simplified low-resolution approximation of the original mesh. The base mesh component can be encoded using any mesh codec, including the base mesh codec described in <xref target="ISO.IEC.23090-29"/>. When employing the base mesh 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 base mesh 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 base mesh 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 base mesh 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 base mesh NAL unit types supported are specified in Table H-11 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="displacement-nal-units">
          <name>Displacement NAL units</name>
          <t>The displacement component provides displacement vectors, 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 displacement NAL unit types supported are specified in Table J-11 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 Base Mesh</name>
      <section anchor="general-1">
        <name>General</name>
        <t>This section describes details related to the RTP payload format definitions for the V-DMC base mesh 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. As discussed in <xref target="section4"/>, a V-DMC stream may alternatively use another base mesh codec, in which case  the RTP payload described in this section would not be applicable.</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 Base Mesh</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 Base Mesh</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 base mesh NAL unit types supported are specified in Table H-11 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 vdmc-sm-id. The rest of the payload data contain 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-11 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 Base Mesh</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)       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |       vdmc-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 vdmc-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-vdmc-sm-id-pres is equal to 1 and RTP payload header NUT is in range 0-29, inclusive, the vdmc-sm-id field MUST be present. Otherwise, the vdmc-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 contain a conditional vdmc-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 Base Mesh</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)  |       vdmc-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 vdmc-sm-id field, when present, specifies the 16-bit basemehs identifier for all BMCL NAL units in the AP. If sprop-vdmc-sm-id-pres is equal to 1, the vdmc-sm-id field MUST be present. Otherwise, the vdmc-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 vdmc-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 Base Mesh</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)  |       vdmc-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-vdmc-sm-id-pres is equal to 2 and the AU NAL unit header type is in range 0-29, inclusive, the 16-bit vdmc-sm-id field MUST be present in the aggregation unit after the conditional DOND/DONL field. Otherwise vdmc-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 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.</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 vdmc-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 Base Mesh</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)  |    vdmc-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 the 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 depends 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 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 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 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 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 base mesh NAL unit types supported are specified in Table J-11 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 BMCL NAL unit belongs or the identifier of a layer to which a non-BMCL 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 vdmc-disp-id. The rest of the payload data contain 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-11 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 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)       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |     vdmc-disp-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 vdmc-disp-id field, when present, specifies the 16-bit displacement identifier for the NAL unit, as signaled in displacement header defined in <xref target="ISO.IEC.23090-29"/>. If sprop-vdmc-disp -id-pres is equal to 1 and RTP payload header NUT is in range 0-29, inclusive, the vdmc-disp-id field MUST be present. Otherwise, the vdmc-disp-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 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 contain a conditional vdmc-disp-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 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)  |       vdmc-disp-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 vdmc-disp-id field, when present, specifies the 16-bit displacement identifier for all DCL NAL units in the AP. If sprop-vdmc-disp-id-pres is equal to 1, the vdmc-disp-id field MUST be present. Otherwise, the vdmc-disp-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 vdmc-disp-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 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)  |      vdmc-disp-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-vdmc-disp-id-pres is equal to 2 and the AU NAL unit header type is in range 0-29, inclusive, the 16-bit vdmc-disp-id field MUST be present in the aggregation unit after the conditional DOND/DONL field. Otherwise vdmc-disp-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-disp-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)  |    vdmc-disp-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 Base Mesh</name>
        <t>The receiver MUST ignore any parameter unspecified in this memo.</t>
        <t>Type name: application</t>
        <t>Subtype name: mpgbm</t>
        <t>Required parameters : N/A</t>
        <t>Optional parameters: 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-max-don-diff, sprop-v3c-parameter-set,sprop-vdmc-sm-id-pres, v3c-ptl-level-idc, v3c-ptl-tier-flag, v3c-ptl-codec-idc, v3c-ptl-toolset-idc, v3c-ptl-rec-idc, vdmc-lod, bmesh-seq-set, bmesh-intra-codec, bmesh-inter-codec, bmesh-level-idc, bmesh-tier-flag, bmesh-codec-idc, bmesh-toolset-idc.</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: mpgdisp</t>
        <t>Required parameters : N/A</t>
        <t>Optional parameters: 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-max-don-diff, sprop-v3c-parameter-set,sprop-vdmc-sm-id-pres, v3c-ptl-level-idc, v3c-ptl-tier-flag, v3c-ptl-codec-idc, v3c-ptl-toolset-idc, v3c-ptl-rec-idc, vdmc-lod, bmesh-seq-set, bmesh-intra-codec, bmesh-inter-codec, bmesh-level-idc, bmesh-tier-flag, bmesh-codec-idc, bmesh-toolset-idc.</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>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-max-don-diff, sprop-v3c-parameter-set, v3c-ptl-level-idc, v3c-ptl-tier-flag, v3c-ptl-codec-idc, v3c-ptl-toolset-idc, v3c-ptl-rec-idc.</t>
        <t>The possible values of sprop-v3c-unit-type are updated by this memo. sprop-v3c-unit-type provides a V3C unit type value corresponding to  vuh_unit_type defined in <xref target="ISO.IEC.23090-29"/>, i.e., defines V3C sub- bitstream type. <xref target="ISO.IEC.23090-29"/> only adds new values and does not modify the values previously defined in <xref target="ISO.IEC.23090-05"/>.</t>
        <t><strong>New optional parameters defined in this memo</strong></t>
        <t>bmesh-seq-set:</t>
        <t>bmesh-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 bmsps_sequence_parameter_set_id defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>bmesh-intra-codec:</t>
        <t>bmesh-intra-codec indicates a mapping index of a codec identifier of the static mesh decoder used to decode the static base mesh sub bitstream. bmesh-intra-codec shall be in the range of 0 to 255, inclusive defined in <xref target="ISO.IEC.23090-29"/>. It corresponds to bmsps_intra_mesh_codec_id defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>bmesh-inter-codec:</t>
        <t>bmesh-inter-codec indicates a mapping index of a codec identifier of the decoder used to decode the motion data. bmesh-inter-codec shall be in the range of 0 to 255, inclusive defined in <xref target="ISO.IEC.23090-29"/>. It corresponds to bmsps_inter_mesh_codec_id 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-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-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-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>vdmc-lod:</t>
        <t>vdmc-lod specifies the support for signalling and adjusting the level of detail in the stream, and for example indicate the maximum value for the LoD index in the Atlas, basemesh, displacement, Attribute and any other V-DMC components. vdmc-lod correspond to lod_index in <xref target="ISO.IEC.23090-10"/>.</t>
        <t>sprop-vdmc-sm-id-pres:</t>
        <t>sprop-vdmc-sm-id-pres indicates that the RTP packets contain vdmc-sm-id field.</t>
        <t>disp-seq-set:</t>
        <t>disp-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>disp-codec:</t>
        <t>disp-codec indicates the identifier of the codec used to compress the displacement. disp-codec shall be in the range of 0 to 255, inclusive. It corresponds to dsps_coded_id defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>disp-level-idc:</t>
        <t>disp_level_idc indicates a level to which the CDS conforms as specified in Annex J of <xref target="ISO.IEC.23090-29"/>. The disp_level_idc parameter corresponds to dptl_level_idc defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>disp-tier-flag:</t>
        <t>disp_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>disp-codec-idc:</t>
        <t>dptl_profile_codec_group_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>disp-toolset-idc:</t>
        <t>disp-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>disp-level-idc:</t>
        <t>disp-level-idc indicates a level to which the CDS conforms as specified in Annex J of <xref target="ISO.IEC.23090-29"/>. It corresponds to dptl_level_idc defined in <xref target="ISO.IEC.23090-29"/>.</t>
      </section>
    </section>
    <section anchor="congestion-control-considerations">
      <name>Congestion control considerations</name>
      <t>In a 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, vdmc-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" typ</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, including new media format parameters specific to V-DMC and introduced in this memo.</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-base-mesh-components">
          <name>For V-DMC Base Mesh 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 MPGBM</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 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-max-don-diff, sprop-v3c-parameter-set, v3c-ptl-level-idc, v3c-ptl-tier-flag, v3c-ptl-codec-idc, v3c-ptl-toolset-idc, v3c-ptl-rec-idc, bmesh-seq-set, bmesh-intra-codec, bmesh-inter-codec, bmesh-level-idc, bmesh-tier-flag, bmesh-codec-idc, bmesh-toolset-idc , vdmc-lod, sprop-vdmc-sm-id-pres when present, MUST be included in the "a=v3cfmtp" 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 V3C base mesh 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 base mesh 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 base mesh 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 MPGBM/90000
   a=fmtp:98 sprop-vdmc-sm-id=0,1
   a=v3cfmtp:sprop-v3c-unit-header=OAAAAA==;
    spatial_scalability_enabled_flag=CAAAAA==
]]></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 VDMCDISP</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 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-max-don-diff, sprop-v3c-parameter-set, v3c-ptl-level-idc, v3c-ptl-tier-flag, v3c-ptl-codec-idc, v3c-ptl-toolset-idc, v3c-ptl-rec-idc, disp-seq-set, disp-codec, disp-level-idc, disp-tier-flag, disp-codec-idc, disp-toolset-idc, disp-level-idc, vdmc-lod, when present, MUST be included in the "a=v3cfmtp" 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 V3C displacement 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 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 VDMCDISP/90000
   a=fmtp:98 sprop-vdmc-sm-id=0,1
   a=v3cfmtp:sprop-v3c-unit-header=GAAAAA==;
    spatial_scalability_enabled_flag=CAAAAA==
]]></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-framework">
          <name>Grouping Framework</name>
          <t>The grouping framework 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=Basemesh, PT:97=geometry, PT:98=attribute) 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
  a=v3cfmtp:sprop-v3c-parameter-set=AQD/AAAP/zwAAAAAADwIAQ5BwAAOADjgQ
    AADkA==
  m=application 40000 RTP/AVP 96
  a=rtpmap:96 MPGBM/90000
  a=v3cfmtp:sprop-v3c-unit-header=OAAAAA==
  a=mid:1
  m=application 40002 RTP/AVP 97
  a=rtpmap:97 VDMCDISP/90000
  a=v3cfmtp:sprop-v3c-unit-header=GAAAAA==
  a=mid:2
  m=video 40004 RTP/AVP 98
  a=rtpmap:98 H264/90000
  a=v3cfmtp:sprop-v3c-unit-header=IAAAAA==
  a=mid:3
  m=application 40008 RTP/AVP 100
  a=rtpmap:100 v3c/90000
  a=v3cfmtp:sprop-v3c-unit-header=CAAAAA==;
  a=mid:4
]]></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, base mesh, 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 MPGBM /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 MPGDISP /90000
  a=v3cfmtp:sprop-v3c-unit-type=3;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 MPGBM/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 MPGDISP/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>
      <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="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>Thanks to Srinivas Gudumasu and Gurdeep Bhullar 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="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="19" month="September" year="2024"/>
            <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 Internet Standards 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-07"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
