<?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.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-avtcore-rtp-v3c-12" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="RTP payload format for V3C">RTP Payload Format for Visual Volumetric Video-based Coding (V3C)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rtp-v3c-12"/>
    <author initials="L." surname="Ilola" fullname="Lauri Ilola">
      <organization>Nokia Technologies</organization>
      <address>
        <postal>
          <street>Hatanpaeaen valtatie 30</street>
          <city>Tampere</city>
          <code>33100</code>
          <country>Finland</country>
        </postal>
        <email>lauri.ilola@nokia.com</email>
      </address>
    </author>
    <author initials="L." surname="Kondrad" fullname="Lukasz Kondrad">
      <organization>Nokia Technologies</organization>
      <address>
        <postal>
          <street>Werinherstrasse 91</street>
          <city>Munich</city>
          <code>D-81541</code>
          <country>Germany</country>
        </postal>
        <email>lukasz.kondrad@nokia.com</email>
      </address>
    </author>
    <date year="2025" month="October" day="15"/>
    <area>Application</area>
    <workgroup>avtcore</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 121?>

<t>A visual volumetric video-based coding (V3C) <xref target="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>
  <middle>
    <?line 125?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Volumetric video, similar to traditional 2D video, when uncompressed, is represented by a large amount of data. The Visual Volumetric Video-based Coding (V3C) specification <xref target="ISO.IEC.23090-5"/> leverages the compression efficiency of existing 2D video codecs to reduce the amount of data needed for storage and transmission of volumetric video. V3C is a generic mechanism for volumetric video coding, and it can be used by applications targeting volumetric content, such as point clouds, Video-based Point Cloud Compression (V-PCC) <xref target="ISO.IEC.23090-5"/>, and  immersive video with depth, MPEG Immersive Video (MIV) <xref target="ISO.IEC.23090-12"/>.</t>
      <t>A V3C encoder converts volumetric frames, i.e., 3D volumetric information, into a collection of 2D frames and associated data, known as atlas data. The converted 2D frames are subsequently coded using any video or image codec, e.g., ISO/IEC International Standard 14496-10 (Advanced Video Coding, AVC/H.264) <xref target="ISO.IEC.14496-10"/>, ISO/IEC International Standard 23008-2 (High Efficiency Video Coding, HEVC/H.265) <xref target="ISO.IEC.23008-2"/> or ISO/IEC International Standard 23090-3 (Versatile Video Coding, VVC/H.266) <xref target="ISO.IEC.23090-3"/>. The atlas data is coded with mechanisms specified in <xref target="ISO.IEC.23090-5"/>.</t>
      <t>V3C utilizes high level syntax (HLS) design, familiar from traditional 2D video codecs, to represent the associated coded data, i.e., atlas data. The coded atlas data is represented by Network Abstraction Layer (NAL) units. Consequently, RTP payload format for V3C atlas data described in this memo shares design philosophy, security, congestion control, and overall implementation complexity with the other NAL unit-based RTP payload formats such as the ones defined in <xref target="RFC6184"/>, <xref target="RFC6190"/>, and <xref target="RFC7798"/>.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target="RFC2119"/>.</t>
      <t>All fields defined in this specification related to RTP payload structures SHALL be considered in network order.</t>
    </section>
    <section anchor="definitions-and-abbreviations">
      <name>Definitions, and abbreviations</name>
      <section anchor="definitions">
        <name>Definitions</name>
        <section anchor="general">
          <name>General</name>
          <t>This document uses the definitions of <xref target="ISO.IEC.23090-5"/>. <xref target="v3c-definitions"/> below lists relevant definitions from <xref target="ISO.IEC.23090-5"/> for convenience.</t>
        </section>
        <section anchor="v3c-definitions">
          <name>Definitions from the V3C specification</name>
          <t>atlas: collection of 2D bounding boxes and their associated information placed onto a rectangular frame and corresponding to a volume in 3D space on which volumetric data is rendered.</t>
          <t>atlas bitstream: sequence of bits that forms the representation of atlas frames and associated data forming one or more coded atlas sequences.</t>
          <t>atlas coding layer NAL unit: collective term for coded atlas tile layer NAL units and the subset of NAL units that have reserved values of nal_unit_type that are classified as being of type class equal to ACL in this document.</t>
          <t>atlas frame: 2D rectangular array of atlas samples onto which patches are projected and additional information related to the patches, corresponding to a volumetric frame.</t>
          <t>attribute: scalar or vector property optionally associated with each point in a volumetric frame such as colour, reflectance, surface normal, timestamps, material ID, etc.</t>
          <t>coded atlas sequence: sequence of coded atlas access units, in decoding order, of an IRAP coded atlas access unit, followed by zero or more coded atlas access units that are not IRAP coded atlas access units, including all subsequent access units up to but not including any subsequent coded atlas access unit that is an IRAP coded atlas access unit.</t>
          <t>coded atlas access unit: set of atlas NAL units that are associated with each other according to a specified classification rule, are consecutive in decoding order, and contain all atlas NAL units pertaining to one particular output time.</t>
          <t>coded visual volumetric video-based coding (V3C) sequence: sequence of V3C atlas and video sub-bitstream(s) identified and separated by appropriate delimiters, required to start with a VPS, included in at least one V3C unit or provided through external means.</t>
          <t>network abstraction layer unit: syntax structure containing an indication of the type of data to follow and bytes containing that data in the form of an RBSP.</t>
          <t>patch: rectangular region within an atlas associated with volumetric information.</t>
          <t>raw byte sequence payload: syntax structure containing an integer number of bytes that is encapsulated in a NAL unit and that is either empty or has the form of a string of data bits containing syntax elements followed by an RBSP stop bit and zero or more subsequent bits equal to 0.</t>
          <t>tile: independently decodable rectangular region of an atlas frame.</t>
          <t>visual volumetric video-based coding (V3C) atlas sub-bitstream: extracted sub-bitstream from the V3C bitstream containing whole or portion of an atlas bitstream.</t>
          <t>visual volumetric video-based coding (V3C) video sub-bitstream: extracted sub-bitstream from the V3C bitstream containing whole or portion of a video bitstream.</t>
          <t>visual volumetric video-based coding (V3C) component: atlas, occupancy, geometry, or attribute of a particular type that is associated with a V3C volumetric content representation.</t>
          <t>visual volumetric video-based coding (V3C) parameter set: syntax structure containing syntax elements that apply to zero or more entire CVSs and may be referred to by syntax elements found in the V3C unit header.</t>
          <t>volumetric frame: set of 3D points specified by their cartesian coordinates and zero or more corresponding sets of attributes at a particular time instance.</t>
        </section>
      </section>
      <section anchor="abbreviations">
        <name>Abbreviations</name>
        <t>ACL     atlas coding layer</t>
        <t>AP      aggregation packet</t>
        <t>AU      aggregation unit</t>
        <t>CVS     coded V3C sequence</t>
        <t>DON     decoding order number</t>
        <t>IRAP    intra random access point</t>
        <t>MTU     maximum transmission unit</t>
        <t>NAL     network abstraction layer</t>
        <t>NALU    NAL unit</t>
        <t>RBSP    raw byte sequence payload</t>
        <t>V3C     visual volumetric video-based coding</t>
        <t>VPS     V3C parameter set</t>
      </section>
    </section>
    <section anchor="media-format-description">
      <name>Media format description</name>
      <section anchor="overview-of-the-v3c-codec-informative">
        <name>Overview of the V3C codec (informative)</name>
        <t>V3C encoding of a volumetric frame is achieved through a conversion of the volumetric frame from its 3D representation into multiple 2D representations and a generation of associated data documenting such conversions and transformations. The associated data, also known as the atlas data, provides information on how to reproject the 2D representations back into the 3D volumetric frame.</t>
        <t>2D representations, known as V3C video components, of volumetric frame are encoded using traditional 2D video codecs. V3C video component may, for example, include occupancy, geometry, or attribute data. The occupancy data informs a V3C decoder which pixels in other V3C video components contribute to reconstructed 3D representation. The geometry data describes information on the position of the reconstructed voxels, while attribute data provides additional properties for the voxels, e.g., colour or material information.</t>
        <t>Atlas data, known as V3C atlas component, provides information to interpret V3C video components and enables the reconstruction from a 2D representation back into a 3D representation of volumetric frame. Atlas data is composed of a collection of patches. Each patch identifies a region in the V3C video components and provides information necessary to perform the appropriate inverse projection of the indicated region back into 3D space. The shape of the patch region is determined by a 2D bounding box associated with each patch as well as their coding order. The shape of these patches is also further refined based on occupancy data.</t>
        <t>To enable parallelization, random access, as well as a variety of other functionalities, an atlas frame can be divided into one or more rectangular partitions referred to as tiles. Tiles are not allowed to overlap and should be independently decodable. An atlas frame may contain regions that are not associated with any tile or patch.</t>
        <t>The binary form of V3C video components, i.e., video bitstream, and V3C atlas components, i.e., atlas bitstream, can be grouped and represented by a single V3C bitstream. The V3C 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 video components, i.e., occupancy, geometry, or attribute components, correspond to video data units (e.g., NAL units defined in <xref target="ISO.IEC.23008-2"/>) that could be decoded by an appropriate video decoder. An example of V3C bitstream consisting of a V3C parameter set, atlas bitstream and three video component bitstreams (geometry, occupancy, attribute) is provided in <xref target="fig-V3C-bitstream"/>.</t>
        <figure anchor="fig-V3C-bitstream">
          <name>Example of V3C bitstream</name>
          <artwork><![CDATA[
  +-------------------+------------------+-------------------+
  | V3C Unit(V3C_VPS) | V3C Unit(V3C_AD) | V3C Unit(V3C_GVD) | 
  +------------------++------------------+-----------------+-+---
  |V3C Unit(V3C_OVD) | V3C Unit(V3C_AVD) | V3C Unit(V3C_AD)| ...
  +------------------+-------------------+-----------------+-----
]]></artwork>
        </figure>
      </section>
      <section anchor="v3c-parameter-set-informative">
        <name>V3C parameter set (informative)</name>
        <t>This document specifies an encapsulation of V3C atlas data. Aspects related to signalling of V3C parameter set, defined in <xref target="ISO.IEC.23090-5"/>, are also considered. V3C parameter set is encapsulated in its own V3C unit, which allows decoupling the transmission of V3C parameter set from the V3C video and atlas components. The V3C parameter set can be transmitted by external means (e.g., as a result of the capability exchange) or through a (reliable or unreliable) control protocol. <xref target="Session-Description-Protocol"/> of this document specifies how a V3C parameter set can be signalled using the session description protocol.</t>
        <t>Generally, it is useful to signal V3C parameter set out-of-band, because it describes what overall resources are needed to decode and reconstruct the associated V3C bitstream. Signalling it dynamically as part of an RTP stream might result in undefined behaviour when receiver does not have the required capabilities to decode the received V3C video component sub-bitstreams or when reconstruction process relies on information that the receiver does not support.</t>
      </section>
      <section anchor="v3c-atlas-and-video-components-informative">
        <name>V3C atlas and video components (informative)</name>
        <section anchor="general-1">
          <name>General</name>
          <t>In the V3C bitstream the atlas component is identified by vuh_unit_type equal to V3C_AD, or V3C_CAD in case of common atlas data, in the V3C unit header. The V3C atlas component consists of atlas NAL units that define header and payload pairs, see <xref target="Atlas-NAL-units"/>. V3C video components are identified by vuh_unit_type equal to V3C_OVD, V3C_GVD, V3C_AVD, and V3C_PVD. V3C video components can be further differentiated by other values in the V3C unit header such as vuh_attribute_index, vuh_attribute_partition_index, vuh_map_index, and vuh_auxiliary_video_flag. By mapping the V3C parameter set information to vuh_attribute_index, a V3C decoder identifies which attribute a given V3C video component contains, e.g., colour.</t>
          <t>The information supplied by 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-Description-Protocol"/>. The four-byte V3C unit header syntax and semantics are copied below as defined in <xref target="ISO.IEC.23090-5"/>, but the syntax is subject to change. Implementations should always refer to the latest specification of <xref target="ISO.IEC.23090-5"/>. 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 ) {     
   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 ) {
    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) {       
    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-5"/>. As a convenience, the mapping table from vuh_unit_type values to semantics is copied below in <xref target="_table-sprop-v3c-unit-type-descriptions"/>.</t>
          <table anchor="_table-sprop-v3c-unit-type-descriptions">
            <name>V3C unit type semantics</name>
            <thead>
              <tr>
                <th align="left">vuh_unit_type</th>
                <th align="left">Identifier</th>
                <th align="left">V3C unit type</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">0</td>
                <td align="left">V3C_VPS</td>
                <td align="left">V3C parameter set</td>
                <td align="left">V3C level parameters</td>
              </tr>
              <tr>
                <td align="left">1</td>
                <td align="left">V3C_AD</td>
                <td align="left">Atlas data</td>
                <td align="left">Atlas information</td>
              </tr>
              <tr>
                <td align="left">2</td>
                <td align="left">V3C_OVD</td>
                <td align="left">Occupancy video data</td>
                <td align="left">Occupancy information</td>
              </tr>
              <tr>
                <td align="left">3</td>
                <td align="left">V3C_GVD</td>
                <td align="left">Geometry video data</td>
                <td align="left">Geometry information</td>
              </tr>
              <tr>
                <td align="left">4</td>
                <td align="left">V3C_AVD</td>
                <td align="left">Attribute video data</td>
                <td align="left">Attribute information</td>
              </tr>
              <tr>
                <td align="left">5</td>
                <td align="left">V3C_PVD</td>
                <td align="left">Packed video data</td>
                <td align="left">Packing information</td>
              </tr>
              <tr>
                <td align="left">6</td>
                <td align="left">V3C_CAD</td>
                <td align="left">Common atlas data</td>
                <td align="left">Information that is common for atlases in a CVS. Specified in ISO/IEC 23090-12</td>
              </tr>
              <tr>
                <td align="left">7...31</td>
                <td align="left">V3C_RSVD</td>
                <td align="left">Reserved</td>
                <td align="left">-</td>
              </tr>
            </tbody>
          </table>
          <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>
        <section anchor="Atlas-NAL-units">
          <name>Atlas NAL units</name>
          <t>Atlas NAL unit (nal_unit(NumBytesInNalUnit)) is a byte-aligned syntax structure defined by <xref target="ISO.IEC.23090-5"/> to carry atlas data. Atlas NAL unit always contains a 16-bit NAL unit header (nal_unit_header()), which indicates among other things the type of the NAL unit (nal_unit_type). The payload of a NAL unit refers to the NAL unit excluding the NAL unit header. The Atlas NAL unit syntax and semantics are copied here as defined in <xref target="ISO.IEC.23090-5"/>.</t>
          <artwork><![CDATA[
nal_unit_header(){
    bit(1) nal_forbidden_zero_bit;
    bit(6) nal_unit_type;
    bit(6) nal_layer_id;
    bit(3) nal_temporal_id_plus1;
}
nal_unit(NumBytesInNalUnit){
    nal_unit_header();
    NumBytesInRbsp = 0;
    for( i = 2; i < NumBytesInNalUnit; i++ )
      bit(8) rbsp_byte[ NumBytesInRbsp++ ];
}
]]></artwork>
          <t>nal_forbidden_zero_bit MUST be equal to 0.</t>
          <t>nal_unit_type indicates the type of the RBSP data structure contained in the NAL unit.</t>
          <t>nal_layer_id indicates the identifier of the layer to which an ACL NAL unit belongs or the identifier of a layer to which a non-ACL NAL unit applies.</t>
          <t>nal_temporal_id_plus1 minus 1 indicates a temporal identifier for the NAL unit. The value of nal_temporal_id_plus1 MUST NOT be equal to 0.</t>
        </section>
      </section>
      <section anchor="systems-and-transport-interfaces-informative">
        <name>Systems and transport interfaces (informative)</name>
        <t>In addition to releasing specifications on V3C applications <xref target="ISO.IEC.23090-5"/> and <xref target="ISO.IEC.23090-12"/>, MPEG conducted further systems level work on file formats to encapsulate compressed V3C content. The seventh edition of the ISOBMFF specification <xref target="ISO.IEC.14496-12"/> introduces a new media handler 'volv', intended to support volumetric visual media. It also specifies other structures to enable development of derived specifications detailing how various volumetric visual media may be stored in ISOBMFF.</t>
        <t>One of such derived specifications is <xref target="ISO.IEC.23090-10"/>, which defines how V3C content can be stored in a file and streamed over DASH. To a large extent ISO/IEC 23090-10 focuses on describing how ISOBMFF boxes and syntax elements may be used to store volumetric media, but in some cases new boxes and syntax elements are introduced to accommodate the fundamentally different type of new media. While the specification is not directly relevant for defining RTP payload format for V3C atlas data, it is a useful resource that may be considered especially when designing ingestion of encoded V3C content into RTP streaming pipelines.</t>
      </section>
    </section>
    <section anchor="v3c-atlas-rtp-payload-format">
      <name>V3C atlas RTP payload format</name>
      <section anchor="general-2">
        <name>General</name>
        <t>This section describes details related to V3C atlas RTP payload format definitions. Aspects related to RTP header, RTP payload header and general payload structure are considered. RTP payload format(s) for video components is defined in their respective RTP payload format specifications depending on the video codec used.</t>
      </section>
      <section anchor="rtp-header">
        <name>RTP header</name>
        <t>The format of the RTP header is specified in <xref target="RFC3550"/> and replicated below in <xref target="fig-RTP-header"/> for convenience. This payload format uses the fields of the header in a manner consistent with that specification.</t>
        <figure anchor="fig-RTP-header">
          <name>RTP Header</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>The RTP header information to be set according to this RTP payload format is set as follows:</t>
        <t>Marker bit (M): 1 bit</t>
        <t>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 an RTP payload type for this new packet format is outside the scope of this document and will not be specified here. The assignment of a payload type 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., parameter set and SEI NAL units), the RTP timestamp MUST be set to the RTP timestamp of the coded atlas of the access unit in which the NAL unit (according to Section 8.4.5.3 of <xref target="ISO.IEC.23090-5"/>) is included.</t>
        <t>Receivers MUST use the RTP timestamp for the display process, even when the bitstream contains atlas frame timing SEI messages as specified in <xref target="ISO.IEC.23090-5"/>.</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.</t>
        <t>The remaining RTP header fields are used as specified in <xref target="RFC3550"/>.</t>
      </section>
      <section anchor="rtp-payload-header">
        <name>RTP payload header</name>
        <t>The first two bytes of the payload of an RTP packet are referred to as the payload header. The payload header consists of the same fields (F, NUT, NLI, and TID) as the NAL unit header as shown in <xref target="Atlas-NAL-units"/>, irrespective of the type of the payload structure. For convenience, the structure of RTP payload header is described below in <xref target="fig-RTP-payload-header"/>.</t>
        <figure anchor="fig-RTP-payload-header">
          <name>RTP Payload Header</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: the nal_forbidden_zero_bit as specified in <xref target="ISO.IEC.23090-5"/> MUST be equal to 0.</t>
        <t>NUT: the nal_unit_type as specified in <xref target="ISO.IEC.23090-5"/> defines the type of the RBSP data structure contained in the NAL unit payload. The NUT value could carry other meaning depending on the RTP packet type.</t>
        <t>NLI: the nal_layer_id as specified in <xref target="ISO.IEC.23090-5"/> defines the identifier of the layer to which an ACL NAL unit belongs or the identifier of a layer to which a non-ACL NAL unit applies.</t>
        <t>TID: the nal_temporal_id_plus1 minus 1 as specified in <xref target="ISO.IEC.23090-5"/> defines a temporal identifier for the NAL unit. The value of nal_temporal_id_plus1 MUST NOT be equal to 0.</t>
      </section>
      <section anchor="payload-structures">
        <name>Payload structures</name>
        <section anchor="general-3">
          <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>
          <ul spacing="normal">
            <li>
              <t>Single NAL Unit Packet: Contains a single NAL unit in the payload. This payload structure is specified in <xref target="Single-NAL-unit-packet"/>.</t>
            </li>
            <li>
              <t>Aggregation Packet: Contains multiple NAL units in a single RTP payload. This payload structure is specified in <xref target="Aggregation-packet"/>.</t>
            </li>
            <li>
              <t>Fragmentation Unit: Contains a subset of a single NAL unit. This payload structure is specified in <xref target="Fragmentation-unit"/>.</t>
            </li>
          </ul>
          <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-5"/> 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="Single-NAL-unit-packet">
          <name>Single NAL unit packet</name>
          <t>Single NAL unit packet contains exactly one NAL unit, and consists of an RTP payload header and the following conditional fields: 16-bit DONL and 16-bit v3c-tile-id. The rest of the payload data contains the NAL unit payload data (excluding the NAL unit header). A single NAL unit packet MUST only contain atlas NAL units of the types defined in Table 4 of <xref target="ISO.IEC.23090-5"/>. The structure of the single NAL unit packet is shown below in <xref target="fig-single-nal-unit-packet"/>.</t>
          <figure anchor="fig-single-nal-unit-packet">
            <name>Single NAL unit packet</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)       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
  |      v3c-tile-id (cond)       |                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
  |                                                               |
  |                        NAL unit data                          |
  |                                                               |
  |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               :...OPTIONAL RTP padding        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>The 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 v3c-tile-id field, when present, specifies the 16-bit tile identifier for the NAL unit, as signalled in V3C atlas tile header defined in <xref target="ISO.IEC.23090-5"/>. If sprop-v3c-tile-id-pres is equal to 1 and RTP payload header NUT is in range 0-35, inclusive, the v3c-tile-id field MUST be present. Otherwise, the v3c-tile-id field MUST NOT be present.</t>
          <t>NOTE: (informative) Only values for NAL unit type (NUT) in range 0-35, inclusive, are allocated for atlas tile layer data in <xref target="ISO.IEC.23090-5"/>.</t>
        </section>
        <section anchor="Aggregation-packet">
          <name>Aggregation packet</name>
          <t>Aggregation Packets (APs) enable the reduction of packetization overhead for small NAL units, such as most of the non-ACL NAL units, which are often only a few octets in size.</t>
          <t>Aggregation packets MAY be used to wrap multiple NAL units belonging to the same access unit in a single RTP payload. The first two bytes of an AP MUST contain the RTP payload header. The NAL unit type (NUT) for the NAL unit header contained in the RTP payload header MUST be equal to 56, which falls in the unspecified range of the NAL unit types defined in <xref target="ISO.IEC.23090-5"/>. An AP MAY contain a conditional v3c-tile-id field. An AP MUST contain two or more aggregation units. The structure of an AP is shown in <xref target="fig-aggregation-packet"/>.</t>
          <figure anchor="fig-aggregation-packet">
            <name>Aggregation Packet (AP)</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=56)  |      v3c-tile-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 56. 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 ACL 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-ACL NAL units for which the TID value in the NAL unit header MAY be different than the TID value of the ACL NAL units in the same AP.</t>
          <t>The v3c-tile-id field, when present, specifies the 16-bit tile identifier for all ACL NAL units in the AP. If sprop-v3c-tile-id-pres is equal to 1, the v3c-tile-id field MUST be present. Otherwise, the v3c-tile-id field MUST NOT be present.</t>
          <t>An 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 v3c-tile-id field. The structure of an AU is shown in <xref target="fig-aggregation-unit"/>.</t>
          <figure anchor="fig-aggregation-unit">
            <name>Aggregation Unit (AU)</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)  |      v3c-tile-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-v3c-tile-id-pres is equal to 2 and the AU NAL unit header type is in range 0-35, inclusive, the 16-bit v3c-tile-id field MUST be present in the aggregation unit after the conditional DOND/DONL field. Otherwise v3c-tile-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="Fragmentation-unit">
          <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>An FU consists of an RTP payload header with NUT equal to 57, an 8-bit FU header, a conditional 16-bit DONL field, a conditional 16-bit v3c-tile-id field, and an FU payload. The structure of an FU is illustrated below in <xref target="fig-fragmentation-unit"/>.</t>
          <figure anchor="fig-fragmentation-unit">
            <name>Fragmentation Unit</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=57)  |   FU header   |  DONL (cond)  |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
  |  DONL (cond)  |    v3c-tile-id (cond)         |               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               |
  |                                                               |
  |                          FU payload                           |
  |                                                               |
  |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               :...OPTIONAL RTP padding        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>The fields in the RTP payload header are set as follows. The NUT field MUST be equal to 57. The rest of the fields MUST be equal to the fragmented NAL unit.</t>
          <t>The FU header consists of an S bit, an E bit, and a 6-bit FUT field. The structure of FU header is illustrated below in <xref target="fig-fragmentation-unit-header"/>.</t>
          <figure anchor="fig-fragmentation-unit-header">
            <name>Fragmentation unit header</name>
            <artwork><![CDATA[
   0 1 2 3 4 5 6 7
  +-+-+-+-+-+-+-+-+
  |S|E|    FUT    |
  +-+-+-----------+
]]></artwork>
          </figure>
          <t>When set to 1, the S bit indicates the start of a fragmented NAL unit, i.e., the first byte of the FU payload is also the first byte of the payload of the fragmented NAL unit. When the FU payload is not the start of the fragmented NAL unit payload, the S bit MUST be set to 0.</t>
          <t>When set to 1, the E bit indicates the end of a fragmented NAL unit, i.e., the last byte of the payload is also the last byte of the fragmented NAL unit. When the FU payload is not the last fragment of a fragmented NAL unit, the E bit MUST be set to 0.</t>
          <t>The field FUT MUST be equal to the nal_unit_type field of the fragmented NAL unit.</t>
          <t>A non-fragmented NAL unit MUST NOT be transmitted in one FU; i.e., the Start bit and End bit MUST NOT both be set to 1 in the same FU header.</t>
          <t>The DONL field, when present, specifies the value of the 16-bit decoding order number of the fragmented NAL unit. If sprop-max-don-diff is greater than 0 for any of the RTP streams, and the S bit is equal to 1, the DONL field MUST be present in the FU, and the variable DON for the fragmented NAL unit is derived as equal to the value of the DONL field. Otherwise (sprop-max-don-diff is equal to 0 for all the RTP streams, or the S bit is equal to 0), the DONL field MUST NOT be present in the FU.</t>
          <t>The v3c-tile-id field, when present, specifies the 16-bit tile identifier for the fragmented NAL unit. If sprop-v3c-tile-id-pres is equal to 1, FUT is in range 0-35, and the S bit is equal to 1, the v3c-tile-id field MUST be present after the conditional DONL field. Otherwise, the v3c-tile-id field MUST NOT be present.</t>
          <t>The FU payload consists of fragments of the payload of the fragmented NAL unit so that if the FU payloads of consecutive FUs, starting with an FU with the S bit equal to 1 and ending with an FU with the E bit equal to 1, are sequentially concatenated, the payload of the fragmented NAL unit can be reconstructed.</t>
          <t>The NAL unit header of the fragmented NAL unit is not included as such in the FU payload, but rather the information of the NAL unit header of the fragmented NAL unit is conveyed in F, NLI, and TID fields of the RTP payload headers of the FUs and the FUT field of the FU header. An FU payload MUST NOT be empty.</t>
          <t>If an FU is lost, the receiver SHOULD discard all following fragmentation units in transmission order corresponding to the same fragmented NAL unit, unless the decoder in the receiver is known to be prepared to gracefully handle incomplete NAL units.</t>
        </section>
        <section anchor="example-of-fragmentation-unit-informative">
          <name>Example of fragmentation unit (informative)</name>
          <t>This example illustrates how fragmentation unit may be used to divide one NAL unit into two RTP packets. The <xref target="fig-fragmentation-unit-packet-1"/> depicts the structure of the first packet with the first part of the fragmented NAL unit.</t>
          <figure anchor="fig-fragmentation-unit-packet-1">
            <name>First packet of fragmented NAL unit</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             |
  |                             ....                              |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  RTP payload header (NUT=57)  |1|0|    FUT    |               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               |
  |                                                               |
  |                          FU payload                           |
  |                                                               |
  |                                                               |
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>The <xref target="fig-fragmentation-unit-packet-2"/> visualizes the structure of the second packet with the rest of the fragmented NAL unit.</t>
          <figure anchor="fig-fragmentation-unit-packet-2">
            <name>Second packet of fragmented NAL unit</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             |
  |                             ....                              |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  RTP payload header (NUT=57)  |0|1|    FUT    |               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               |
  |                                                               |
  |                          FU payload                           |
  |                                                               |
  |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               :...OPTIONAL RTP padding        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
        </section>
      </section>
      <section anchor="decoding-order-number">
        <name>Decoding order number</name>
        <t>For each atlas NAL unit, the variable AbsDon is derived, representing the decoding order number that is indicative of the NAL unit decoding order. Let NAL unit n be the n-th NAL unit in transmission order within an RTP stream.</t>
        <t>If sprop-max-don-diff is equal to 0 for all the RTP streams carrying the atlas bitstream, AbsDon[n], the value of AbsDon for NAL unit n, is derived as equal to n.</t>
        <t>Otherwise (sprop-max-don-diff is greater than 0 for any of the RTP streams), AbsDon[n] is derived as follows, where DON[n] is the value of the variable DON for NAL unit n:</t>
        <artwork><![CDATA[
  If (n == 0)
    AbsDon[n] = DON[0]
  Else
    If (DON[n] == DON[n-1]) 
      AbsDon[n] = AbsDon[n-1]
    If (DON[n] > DON[n-1] and DON[n] - DON[n-1] < 32768) 
      AbsDon[n] = AbsDon[n-1] + DON[n] - DON[n-1]
    If (DON[n] < DON[n-1] and DON[n-1] - DON[n] >= 32768) 
      AbsDon[n] = AbsDon[n-1] + 65536 - DON[n-1] + DON[n]
    If (DON[n] > DON[n-1] and DON[n] - DON[n-1] >= 32768) 
      AbsDon[n] = AbsDon[n-1] - (DON[n-1] + 65536 - DON[n])
    If (DON[n] < DON[n-1] and DON[n-1] - DON[n] < 32768)
      AbsDon[n] = AbsDon[n-1] - (DON[n-1] - DON[n])
]]></artwork>
        <t>For any two NAL units m and n, the following applies:</t>
        <ul spacing="normal">
          <li>
            <t>AbsDon[n] greater than AbsDon[m] indicates that NAL unit n follows NAL unit m in NAL unit decoding order.</t>
          </li>
          <li>
            <t>When AbsDon[n] is equal to AbsDon[m], the NAL unit decoding order of the two NAL units can be in either order.</t>
          </li>
          <li>
            <t>AbsDon[n] less than AbsDon[m] indicates that NAL unit n precedes NAL unit m in decoding order.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="packetization-and-de-packetization-rules">
      <name>Packetization and de-packetization rules</name>
      <t>The following packetization rules apply for V3C atlas 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-ACL NAL units such as access unit delimiters, parameter sets, or SEI NAL units are typically small and can often be aggregated with ACL NAL units without violating MTU size constraints.</t>
        </li>
        <li>
          <t>Each non-ACL NAL unit SHOULD, when possible, from an MTU size perspective, be encapsulated in an aggregation packet together with its associated ACL NAL unit, as typically a non-ACL NAL unit would be meaningless without the associated ACL NAL unit being available.</t>
        </li>
        <li>
          <t>For carrying exactly one NAL unit in an RTP packet, a single NAL unit packet (<xref target="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.</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 55, inclusive, may be passed to the decoder. NAL-unit-like structures with NAL unit type values in the range of 56 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 anchor="payload-format-parameters">
      <name>Payload format parameters</name>
      <t>This section specifies the 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-definition">
        <name>Media type registration</name>
        <t>The receiver MUST ignore any parameter unspecified in this memo.</t>
        <t>Type name: application</t>
        <t>Subtype name: v3c</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-v3c-parameter-set, sprop-v3c-tile-id, sprop-v3c-tile-id-pres, sprop-v3c-atlas-data, sprop-v3c-common-atlas-data, sprop-v3c-sei, v3c-ptl-level-idc, v3c-ptl-tier-flag, v3c-ptl-codec-idc, v3c-ptl-toolset-idc, v3c-ptl-rec-idc and sprop-max-don-diff.</t>
        <t>Encoding considerations: framed</t>
        <t>Security considerations: Please see <xref target="Security-considerations"/>.</t>
        <t>Interoperability considerations: N/A</t>
        <t>Published specification: Please refer to <xref target="ISO.IEC.23090-5"/></t>
        <t>Applications that use this media type: Any application that relies on V3C-based media services over RTP</t>
        <t>Additional information: N/A</t>
        <t>Person &amp; email address to contact for further information: Lauri Ilola (lauri.ilola@nokia.com) or Lukasz Kondrad (lukasz.kondrad@nokia.com)</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 <eref target="mailto:avtcore@ietf.org">avtcore@ietf.org</eref></t>
        <t>Provisional registration? (standards tree only): No</t>
      </section>
      <section anchor="optional-parameters-definition">
        <name>Optional parameters definition</name>
        <artwork><![CDATA[
    sprop-v3c-unit-header: 
]]></artwork>
        <t>provides bytes corresponding to a V3C unit header as defined in <xref target="ISO.IEC.23090-5"/>. The value contains base64 encoded <xref target="RFC4648"/> representation of the 4 bytes of V3C unit header.</t>
        <artwork><![CDATA[
    sprop-v3c-unit-type: 
]]></artwork>
        <t>sprop-v3c-unit-type provides a V3C unit type value corresponding to vuh_unit_type defined in <xref target="ISO.IEC.23090-5"/>, i.e., defines V3C sub-bitstream type.</t>
        <artwork><![CDATA[
    sprop-v3c-vps-id:
]]></artwork>
        <t>sprop-v3c-vps-id provides a value corresponding to vuh_v3c_parameter_set_id defined in <xref target="ISO.IEC.23090-5"/>.</t>
        <artwork><![CDATA[
    sprop-v3c-atlas-id:
]]></artwork>
        <t>sprop-v3c-atlas-id provides a value corresponding to vuh_atlas_id defined in <xref target="ISO.IEC.23090-5"/>.</t>
        <artwork><![CDATA[
    sprop-v3c-attr-idx: 
]]></artwork>
        <t>sprop-v3c-attr-idx provides a value corresponding to vuh_attribute_index defined in <xref target="ISO.IEC.23090-5"/>.</t>
        <artwork><![CDATA[
    sprop-v3c-attr-part-idx: 
]]></artwork>
        <t>sprop-v3c-attr-part-idx provides a value corresponding to vuh_attribute_partition_index defined in <xref target="ISO.IEC.23090-5"/>.</t>
        <artwork><![CDATA[
    sprop-v3c-map-idx:
]]></artwork>
        <t>sprop-v3c-map-idx provides a value corresponding to vuh_map_index defined in <xref target="ISO.IEC.23090-5"/>.</t>
        <artwork><![CDATA[
    sprop-v3c-aux-video-flag: 
]]></artwork>
        <t>sprop-v3c-aux-video-flag provides a value corresponding to vuh_auxiliary_video_flag defined in <xref target="ISO.IEC.23090-5"/>.</t>
        <artwork><![CDATA[
    sprop-v3c-parameter-set: 
]]></artwork>
        <t>sprop-v3c-parameter-set provides V3C parameter set bytes as defined in <xref target="ISO.IEC.23090-5"/>. The value contains base64 encoded <xref target="RFC4648"/> representation of the V3C parameter set bytes.</t>
        <artwork><![CDATA[
    sprop-v3c-tile-id:
]]></artwork>
        <t>sprop-v3c-tile-id indicates that the RTP stream contains only portion of the tiles in the atlas. sprop-v3c-tile-id is a comma-separated (',') list of integer values, which indicate the sprop-v3c-tile-ids that are present in the RTP stream.</t>
        <artwork><![CDATA[
    sprop-v3c-tile-id-pres:
]]></artwork>
        <t>sprop-v3c-tile-id-pres indicates that the RTP packets contain v3c-tile-id field.</t>
        <artwork><![CDATA[
    sprop-v3c-atlas-data:
]]></artwork>
        <t>sprop-v3c-atlas-data MAY be used to convey any atlas data NAL units of the V3C atlas sub bitstream for out-of-band transmission. The value is a comma-separated (',') list of encoded representations of the atlas NAL units as specified in <xref target="ISO.IEC.23090-5"/>. 
The NAL units SHOULD be encoded as base64 <xref target="RFC4648"/> representations.</t>
        <artwork><![CDATA[
    sprop-v3c-common-atlas-data:
]]></artwork>
        <t>sprop-v3c-common-atlas-data MAY be used to convey common atlas data NAL units of the V3C common atlas sub bitstream for out-of-band transmission. The value is a comma-separated (',') list of encoded representations of the common atlas NAL units (i.e., NAL_CASPS and NAL_CAF_IDR) as specified in <xref target="ISO.IEC.23090-5"/>. The NAL units SHOULD be encoded as base64 <xref target="RFC4648"/> representations.</t>
        <artwork><![CDATA[
    sprop-v3c-sei:
]]></artwork>
        <t>sprop-v3c-sei MAY be used to convey SEI NAL units of V3C atlas and common atlas sub bitstreams for out-of-band transmission. The value is a comma-separated (',') list of encoded representations of SEI NAL units (i.e., NAL_PREFIX_NSEI and NAL_SUFFIX_NSEI, NAL_PREFIX_ESEI, NAL_SUFFIX_ESEI) as specified in  <xref target="ISO.IEC.23090-5"/>. The SEI NAL units SHOULD be encoded as base64 <xref target="RFC4648"/> representations.</t>
        <artwork><![CDATA[
    v3c-ptl-level-idc: 
]]></artwork>
        <t>v3c-ptl-level-idc provides a value corresponding to ptl_level_idc defined in <xref target="ISO.IEC.23090-5"/>.</t>
        <artwork><![CDATA[
    v3c-ptl-tier-flag: 
]]></artwork>
        <t>v3c-ptl-tier-flag provides a value corresponding to ptl_tier_flag defined in  <xref target="ISO.IEC.23090-5"/>.</t>
        <artwork><![CDATA[
    v3c-ptl-codec-idc: 
]]></artwork>
        <t>v3c-ptl-codec-idc provides a value corresponding to ptl_profile_codec_group_idc defined in  <xref target="ISO.IEC.23090-5"/>.</t>
        <artwork><![CDATA[
    v3c-ptl-toolset-idc:
]]></artwork>
        <t>v3c-ptl-toolset-idc provides a value corresponding to ptl_profile_toolset_idc defined in <xref target="ISO.IEC.23090-5"/>.</t>
        <artwork><![CDATA[
    v3c-ptl-rec-idc: 
]]></artwork>
        <t>v3c-ptl-rec-idc provides a value corresponding to ptl_profile_reconstruction_idc
defined in <xref target="ISO.IEC.23090-5"/>.</t>
        <artwork><![CDATA[
    sprop-max-don-diff:
]]></artwork>
        <t>If the transmission order of NAL units in the RTP stream(s) is the same as the decoding and NAL unit output order, this parameter must be equal to 0.</t>
        <t>Otherwise, if the decoding order of the NAL units of the RTP stream(s) is the same as the NAL unit transmission order but not the same as NAL unit output order, the value of this parameter MUST be equal to 1.</t>
        <t>Otherwise, this parameter specifies the maximum absolute difference between the decoding order number (i.e., AbsDon) values of any two NAL units naluA and naluB, where naluA follows naluB in decoding order and precedes naluB in transmission order.</t>
        <t>The value of sprop-max-don-diff MUST be an integer in the range of 0 to 32767, inclusive.</t>
        <t>When not present, the value of sprop-max-don-diff is inferred to be equal to 0.</t>
      </section>
    </section>
    <section anchor="congestion-control-considerations">
      <name>Congestion control considerations</name>
      <t>Congestion control for RTP SHALL be used in accordance with RTP <xref target="RFC3550"/> and with any applicable RTP profile, e.g., AVP <xref target="RFC3551"/>.</t>
      <t>If a best-effort service is being used, users of this payload format MUST monitor packet loss to ensure that the packet loss rate is within an acceptable range. Packet loss is considered acceptable if a TCP flow across the same network path, and experiencing the same network conditions, would achieve an average throughput, measured on a reasonable timescale, that is not less than that of the RTP flow (see section 10 of <xref target="RFC3550"/>).</t>
      <t>This condition can be satisfied by implementing congestion-control mechanisms to adapt the transmission rate. A simple bitrate adaptation for congestion control can be achieved when real-time coding is used for V3C video components, where quality parameter can be adaptively tuned. Video coding specifications MAY define further adaptation techniques.</t>
      <t>An alternative method is to arrange for a receiver to leave the session if the loss rate is unacceptably high, for example using a Circuit Breaker <xref target="RFC8083"/> that defines criteria for when one the RTP flow must stop sending RTP Packet Streams.</t>
    </section>
    <section anchor="Session-Description-Protocol">
      <name>Session description protocol</name>
      <t>A new attribute "v3cfmtp" is defined for carrying V3C format media type parameters in the corresponding fields of the Session Description Protocol (SDP). Grouping framework <xref target="RFC5888"/> is used to indicate which media lines (video and application) in the SDP constitute a V3C representation.</t>
      <section anchor="v3cfmtp-attribute">
        <name>V3C format parameters "v3cfmtp" attribute</name>
        <t>This memo defines a new attribute for SDP, intended to carry V3C specific media format parameters. Its functionality is similar to "a=fmtp", with the exception that it SHALL be used without the fmt-token and that it can be used also on a session level. The attribute allows to associate V3C specific media format parameters with any media line in SDP.</t>
        <t>Contact name: See Authors' Addresses section of this memo.</t>
        <t>Contact email address: See Authors' Addresses section of this memo.</t>
        <t>Attribute name: v3cfmtp</t>
        <t>Attribute value: v3cfmtp-value</t>
        <t>Attribute syntax:</t>
        <artwork><![CDATA[
  v3cfmtp-value = byte-string
  ; Notes:
  ; - The V3C format parameters are V3C media type parameters and
  ;   need to reflect their syntax.
]]></artwork>
        <t>Attribute semantics: "v3cfmtp-value" is a byte-string, which MUST contain at least one V3C specific media format parameter as defined in this memo. Multiple semicolon-separated V3C media parameters MAY be stored in "v3c-format-specific-params" to be conveyed by SDP and given unchanged to the media tool that will use this format.</t>
        <t>Usage level: session, media</t>
        <t>Charset dependent: no</t>
        <t>Purpose: This attribute allows parameters that are specific to a V3C format to be conveyed in a way that SDP does not have to understand them. It allows to associate V3C specific parameters with the session or with any media line. Parameters signalled as part of session level attribute take effect when conflicting parameters are signalled as media level attribute.</t>
        <t>O/A procedures: v3cfmtp attribute MAY be present both in offers and answers</t>
        <t>Mux Category: NORMAL</t>
        <t>Reference: "this memo"</t>
        <t>RFC-EDITOR: Please replace "this memo" with the published RFC number</t>
        <t>Example: First line describes session level usage of the attribute, signaling a V3C parameter set. Second line describes media level attribute, signaling V3C unit header and profile tier level flag for the associated media line.</t>
        <artwork><![CDATA[
  a=v3cfmtp:sprop-v3c-parameter-set=AUH/AAAP/zwAAAAAACgIAtEAgQLAIAAUQ
  BACWAM5QEDgQCAIAAAAABP8CzwAAAAAAAAAQAAAtAE/wLPAAAAAAAg=;
  
  a=v3cfmtp:sprop-v3c-unit-header=CAAAAA==;v3c-ptl-tier-flag=1;
]]></artwork>
      </section>
      <section anchor="mapping-of-payload-type-parameters-to-sdp">
        <name>Mapping of payload type parameters to SDP</name>
        <section anchor="for-v3c-atlas-components">
          <name>For V3C atlas 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 v3c</t>
            </li>
            <li>
              <t>The clock rate in the "a=rtpmap" line MUST be 90000.</t>
            </li>
            <li>
              <t>The OPTIONAL parameters sprop-v3c-atlas-data, sprop-v3c-common-atlas-data, sprop-v3c-sei, sprop-v3c-tile-id, sprop-v3c-tile-id-pres, when present, MUST be included in the "a=fmtp" line of SDP. This parameter is expressed as a media type string, in the form of a semicolon-separated list of parameter=value pairs.</t>
            </li>
            <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, 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 atlas 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 atlas 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 atlas level media format parameters and "a=v3cfmtp" contains V3C level media format parameters.</t>
          <t>An example of media representation corresponding to atlas data component (V3C_AD), where static V3C parameter set and V3C unit header is carried out-of-band in SDP, is as follows:</t>
          <artwork><![CDATA[
  m=application 49170 RTP/AVP 98
  a=rtpmap:98 v3c/90000
  a=fmtp:98 sprop-v3c-tile-id=0,1
  a=v3cfmtp:sprop-v3c-unit-header=CAAAAA==;v3c-ptl-tier-flag=1;
    sprop-v3c-parameter-set=AQD/AAAP/zwAAAAAADwIAQ5BwAAOADjgQAADkA==
]]></artwork>
        </section>
        <section anchor="v3c-video-components">
          <name>For V3C video components</name>
          <ul spacing="normal">
            <li>
              <t>The media name in the "m=" line of SDP MUST be video.</t>
            </li>
            <li>
              <t>The encoding name in the "a=rtpmap" line of SDP can be any video subtype, e.g., H.264, H.265, H.266 etc.</t>
            </li>
            <li>
              <t>The clock rate in the "a=rtpmap" line MUST be 90000.</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, sprop-v3c-atlas-data, sprop-v3c-common-atlas-data, sprop-v3c-sei, sprop-v3c-tile-id, sprop-v3c-tile-id-pres, v3c-ptl-level-idc, v3c-ptl-tier-flag, v3c-ptl-codec-idc, v3c-ptl-toolset-idc, v3c-ptl-rec-idc, 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 video media line V3C format parameters ("v3cfmtp") attribute, specify values that are  considered static for the session.</t>
          <t>An example of media representation corresponding to occupancy video component (V3C_OVD) in SDP is as follows:</t>
          <artwork><![CDATA[
  m=video 49170 RTP/AVP 99
  a=rtpmap:99 H265/90000
  a=fmtp:99 sprop-max-don-diff=0;
  a=v3cfmtp:sprop-v3c-unit-header=EAAAAA==
]]></artwork>
          <t>Below is an example of media representation corresponding to packed video component (V3C_PVD), where static V3C parameter set, atlas data and common atlas data are carried out-of-band in SDP. The values are considered static for the session, as they can't be signaled in-band in the video stream.</t>
          <artwork><![CDATA[
  m=video 49170 RTP/AVP 99
  a=rtpmap:99 H265/90000
  a=v3cfmtp:sprop-v3c-unit-header=KAAAAA==;
    sprop-v3c-parameter-set=AUH/AAAP/zwAAAAAACgIAtEAgQLAIAAUQBACWAM5Q
    EDgQCAIAAAAABP8CzwAAAAAAAAAQAAAtAE/wLPAAAAAAAg=;
    sprop-v3c-atlas-data=SAGAFAQBaKjuXgABQEKA,SgHmIA==,LgFoDOAFAABaAA
    AAAAA+;
    sprop-v3c-common-atlas-data=YAEHgFA=,YgEAMAAAC/B0qcvv/Dbr/pTvb8oq
    fhC5JQVS9jn7kAQT/As9EFyrjRBcmxEQe+j5DuGbTT9mZmZAQAAAoA==
]]></artwork>
        </section>
      </section>
      <section anchor="grouping-framework">
        <name>Grouping framework</name>
        <t>Different V3C components MAY be represented by their own respective RTP streams, whose payload formats are defined in the respective specifications. V3C atlas data RTP payload format is defined in this memo, whereas the video component RTP payload formats are defined for example in <xref target="RFC6184"/> or <xref target="RFC7798"/>. A grouping tool, as defined in <xref target="RFC5888"/>, is extended to indicate which media lines constitute a V3C representation.</t>
        <t>Group attribute with V3C type is provided to allow application to identify "m" lines that belong to the same V3C bitstream. Grouping type V3C 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:V3C <tokens>
]]></artwork>
        <t>The following example shows an SDP including four media lines, three describing V3C video components (PT:96=occupancy, PT:97=geometry, PT:98=attribute) and one V3C atlas component (PT:100). All the media lines are grouped under one V3C group. V3C parameter set is provided via session level V3C media format parameter attribute.</t>
        <artwork><![CDATA[
  ...
  a=group:V3C 1 2 3 4
  a=v3cfmtp:sprop-v3c-parameter-set=AQD/AAAP/zwAAAAAADwIAQ5BwAAOADjgQ
    AADkA== 
  m=video 40000 RTP/AVP 96
  a=rtpmap:96 H264/90000
  a=v3cfmtp:sprop-v3c-unit-header=EAAAAA==
  a=mid:1
  m=video 40002 RTP/AVP 97 
  a=rtpmap:97 H264/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>
        <t>The example below describes how content with two atlases can be signalled as separate streams. V3C parameter set is carried in a session level V3C media format parameter attribute and common atlas data are carried as part of the media level V3C media format parameter attribute corresponding to atlas zero. PT equal to 96, 97, 98 and 100 correspond to occupancy, geometry, and attribute video component as well as atlas data component for atlas zero. PT equal to 101, 102, 103 and 104 correspond to respective components for atlas one.</t>
        <artwork><![CDATA[
  ...
  a=group:V3C 1 2 3 4 5 6 7 8
  a=v3cfmtp:sprop-v3c-parameter-set=AAUH/AAAP/zwAAABAADwIAWhBwAAOADjg
    QAADgAA8CAFoQcAADgA44EAAA6AkAgABRIA=;
  m=video 40000 RTP/AVP 96
  a=rtpmap:96 H264/90000
  a=v3cfmtp:sprop-v3c-unit-header=EAAAAA==
  a=mid:1
  m=video 40002 RTP/AVP 97 
  a=rtpmap:97 H264/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=fmtp:100
    sprop-v3c-common-atlas-data=YAEHgFA=,YgEAMAAAa+96Z5v6VP1D+P7LzRsb
    WDJ/yz+ALzMZNfvCg2389Kjd+d6fZyM6QZBfhrDW3K0vaP2Rr8L+gLAq/ny3wAzs9
    veiXEjjS67MfH+H4xV/RgW4fkl/YkINe/OsWCOBwPAVLACCf4FnogwYZKIME6oiD9
    UCodqjLwCCf4FnogxqBiIMZNwiEBpJIduBUoCCf4FnogwOeSIMCaGiEA9VIdtGwwC
    Cf4FnogvB+aILvWIiEBB6IdqobKfmZmZoCmZmefmZmZoCmZmefmZmZoCmZmefmZmZ
    oCmZmdA=
  a=v3cfmtp:sprop-v3c-unit-header=CAAAAA==;
  a=mid:4
  m=video 40010 RTP/AVP 101
  a=rtpmap:101 H264/90000
  a=v3cfmtp:sprop-v3c-unit-header=EAIAAA==
  a=mid:5
  m=video 40012 RTP/AVP 102
  a=rtpmap:102 H264/90000
  a=v3cfmtp:sprop-v3c-unit-header=GAIAAA==
  a=mid:6
  m=video 40014 RTP/AVP 103 
  a=rtpmap:103 H264/90000
  a=v3cfmtp:sprop-v3c-unit-header=IAIAAA==
  a=mid:7
  m=application 40018 RTP/AVP 104 
  a=rtpmap:104 v3c/90000 
  a=v3cfmtp:sprop-v3c-unit-header=CAIAAA==
  a=mid:8
]]></artwork>
      </section>
      <section anchor="offer-and-answer-considerations">
        <name>Offer and answer considerations</name>
        <t>V3C coded content consists of metadata, i.e. atlas data and the video coded bitstreams represented as separate media lines in the SDP (unless packed video is used <xref target="v3c-video-components"/>). During the session negotiation the offerer lists different V3C components (video &amp; metadata) and informs the receiver which media lines SHOULD be consumed together. The receiver CAN select media components as suggested by the offer or select subset of the components and formulate the answer accordingly. This freedom allows the receiver to consume a subset of the V3C coded media in scenarios where it is fully or partially ignorant of the V3C coding scheme.</t>
        <t>An example of an offer which only sends V3C content. The following example contains video components as three different versions (H.264, H.265, H.266). Further differences between the alternatives would be signaled as part of the media attribute parameters, as is the practice with regular video streams.</t>
        <artwork><![CDATA[
  ...
  a=group:v3c 1 2 3 4 
  a=v3cfmtp:v3c-ptl-level-idc=60;
    sprop-v3c-parameter-set=AQD/AAAP/zwAAAAAADwIAQ5BwAAOADjgQAADkA==
  m=video 40000 RTP/AVP 96 97 98
  a=rtpmap:96 H264/90000
  a=rtpmap:97 H265/90000
  a=rtpmap:98 H266/90000
  a=v3cfmtp:sprop-v3c-unit-type=2;sprop-v3c-vps-id=0;
    sprop-v3c-atlas-id=0
  a=sendonly
  a=mid:1
  m=video 40002 RTP/AVP 99 100 101
  a=rtpmap:99 H264/90000
  a=rtpmap:100 H265/90000
  a=rtpmap:101 H266/90000
  a=v3cfmtp:sprop-v3c-unit-type=3;sprop-v3c-vps-id=0;
    sprop-v3c-atlas-id=0
  a=mid:2
  a=sendonly
  m=video 40004 RTP/AVP 102 103 104
  a=rtpmap:102 H264/90000
  a=rtpmap:103 H265/90000
  a=rtpmap:104 H266/90000
  a=v3cfmtp:sprop-v3c-unit-type=4;sprop-v3c-vps-id=0;
    sprop-v3c-atlas-id=0
  a=mid:3
  a=sendonly
  m=application 40006 RTP/AVP 105
  a=rtpmap:105 v3c/90000 
  a=v3cfmtp:sprop-v3c-unit-type=1;sprop-v3c-vps-id=0;
    sprop-v3c-atlas-id=0;
  a=mid:4
  a=sendonly
]]></artwork>
        <t>An example of an answer that only receives V3C data with the selected versions.</t>
        <artwork><![CDATA[
  ...
  a=group:v3c 1 2 3 4
  m=video 50000 RTP/AVP 96
  a=rtpmap:96 H264/90000
  a=recvonly
  a=mid:1
  m=video 50002 RTP/AVP 100
  a=rtpmap:100 H265/90000
  a=recvonly
  a=mid:2
  m=video 50004 RTP/AVP 104
  a=rtpmap:104 H266/90000
  a=recvonly
  a=mid:3
  m=application 50006 RTP/AVP 105
  a=rtpmap:105 v3c/90000 
  a=recvonly
  a=mid:4
]]></artwork>
        <t>An example offer, which allows bundling different V3C components into one stream, based on <xref target="RFC9143"/>.</t>
        <artwork><![CDATA[
  ...
  a=group:BUNDLE 1 2 3 4
  a=group:v3c 1 2 3 4 
  m=video 40000 RTP/AVP 96
  a=rtpmap:96 H264/90000
  a=v3cfmtp:sprop-v3c-unit-type=2;sprop-v3c-vps-id=0;
    sprop-v3c-atlas-id=0
  a=mid:1
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
  m=video 40002 RTP/AVP 97 
  a=rtpmap:97 H264/90000
  a=v3cfmtp:sprop-v3c-unit-type=3;sprop-v3c-vps-id=0;
    sprop-v3c-atlas-id=0;
  a=mid:2
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
  m=video 40004 RTP/AVP 98 
  a=rtpmap:98 H264/90000
  a=v3cfmtp:sprop-v3c-unit-type=4;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 V3C components.</t>
        <artwork><![CDATA[
  a=group:BUNDLE 1 2 3 4
  a=group:v3c 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=video 0 RTP/AVP 97
  a=rtpmap:97 H264/90000
  a=bundle-only
  a=mid:2
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
  m=video 0 RTP/AVP 98
  a=rtpmap:98 H264/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 V3C content over RTP is offered with SDP in a declarative style, the parameters capable of indicating both bitstream properties as well as receiver capabilities are used to indicate only bitstream properties. For example, in this case, the parameters v3c-ptl-level-idc, v3c-ptl-tier-flag, v3c-ptl-codec-idc, v3c-ptl-toolset-idc and v3c-ptl-rec-idc declare the values used by the bitstream, not the capabilities for receiving bitstreams.</t>
        <t>A receiver of the SDP is required to support all parameters and values of the parameters provided; otherwise, the receiver MUST reject or not participate in the session. It falls on the creator of the session to use values that are expected to be supported by the receiving application.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA considerations</name>
      <t>This memo contains three considerations to IANA: new media type, new SDP attribute and new grouping type.</t>
      <section anchor="v3c-media-type-registration">
        <name>V3C media type registration</name>
        <t>A new media type will be registered with IANA; see Section <xref target="Media-type-definition"/>.</t>
      </section>
      <section anchor="v3c-format-parameters-sdp-attribute">
        <name>V3C format parameters SDP attribute</name>
        <t>This document defines a new session and media level SDP attribute: "v3cfmtp". This attribute will be registered by IANA under attribute-field names (&lt;attribute-name&gt;) registry in Session Description Protocol (SDP). The "v3cfmtp" attribute is used to convey V3C specific media format parameters for any media line. Its format is defined in Section <xref target="v3cfmtp-attribute"/>. Further semantics are provided in <xref target="_table-v3cfmtp-attribute"/>.</t>
        <table anchor="_table-v3cfmtp-attribute">
          <name>Additional details for &lt;attribute-name&gt; Registry</name>
          <thead>
            <tr>
              <th align="left">Type</th>
              <th align="left">SDP Name</th>
              <th align="left">Usage Level</th>
              <th align="left">Mux Category</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">attribute</td>
              <td align="left">v3cfmtp</td>
              <td align="left">session, media</td>
              <td align="left">NORMAL</td>
              <td align="left">"this memo"</td>
            </tr>
          </tbody>
        </table>
        <t>RFC-EDITOR: Please replace "this memo" with the published RFC number.</t>
      </section>
      <section anchor="v3c-grouping-type-extension">
        <name>V3C grouping type extension</name>
        <t>Grouping is extended to establish relationships between substreams of a V3C representation. A new group type (V3C) for the group attribute will be registered as defined in <xref target="grouping-framework"/>. This document registers the semantics in <xref target="_table-v3c-group-type"/> with IANA in the "Semantics for the 'group' SDP Attribute" registry (under the "Session Description Protocol (SDP) Parameters" registry group):</t>
        <table anchor="_table-v3c-group-type">
          <name>Additional semantics for V3C SDP group type</name>
          <thead>
            <tr>
              <th align="left">Semantics</th>
              <th align="left">Token</th>
              <th align="left">Mux Category</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">V3C grouping</td>
              <td align="left">V3C</td>
              <td align="left">NORMAL</td>
              <td align="left">"this memo"</td>
            </tr>
          </tbody>
        </table>
        <t>RFC-EDITOR: Please replace "this memo" with the published RFC number.</t>
      </section>
    </section>
    <section anchor="Security-considerations">
      <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>
      <t>This RTP payload format and its media decoder do not exhibit any significant non-uniformity in the receiver-side computational complexity for packet processing, and thus are unlikely to pose a denial-of-service threat due to the receipt of pathological data. Nor does the RTP payload format contain any active content.</t>
      <t>Components of a system using this media type SHALL NOT construct RTP payloads that contain executable content. The implementer of the RTP payload format SHALL guarantee that the received content is properly depacketized and fed to a V3C standard compliant decoder. What the receiver does with the decoded bitstream is unspecified.</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-5" target="https://www.iso.org/standard/89030.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="2025"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-5"/>
        </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="2022"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-12"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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="RFC3550" target="https://www.rfc-editor.org/info/rfc3550" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3550.xml">
          <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="RFC4648" target="https://www.rfc-editor.org/info/rfc4648" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4648.xml">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC5888" target="https://www.rfc-editor.org/info/rfc5888" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5888.xml">
          <front>
            <title>The Session Description Protocol (SDP) Grouping Framework</title>
            <author fullname="G. Camarillo" initials="G." surname="Camarillo"/>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>In this specification, we define a framework to group "m" lines in the Session Description Protocol (SDP) for different purposes. This framework uses the "group" and "mid" SDP attributes, both of which are defined in this specification. Additionally, we specify how to use the framework for two different purposes: for lip synchronization and for receiving a media flow consisting of several media streams on different transport addresses. This document obsoletes RFC 3388. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5888"/>
          <seriesInfo name="DOI" value="10.17487/RFC5888"/>
        </reference>
        <reference anchor="RFC8083" target="https://www.rfc-editor.org/info/rfc8083" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8083.xml">
          <front>
            <title>Multimedia Congestion Control: Circuit Breakers for Unicast RTP Sessions</title>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="V. Singh" initials="V." surname="Singh"/>
            <date month="March" year="2017"/>
            <abstract>
              <t>The Real-time Transport Protocol (RTP) is widely used in telephony, video conferencing, and telepresence applications. Such applications are often run on best-effort UDP/IP networks. If congestion control is not implemented in these applications, then network congestion can lead to uncontrolled packet loss and a resulting deterioration of the user's multimedia experience. The congestion control algorithm acts as a safety measure by stopping RTP flows from using excessive resources and protecting the network from overload. At the time of this writing, however, while there are several proprietary solutions, there is no standard algorithm for congestion control of interactive RTP flows.</t>
              <t>This document does not propose a congestion control algorithm. It instead defines a minimal set of RTP circuit breakers: conditions under which an RTP sender needs to stop transmitting media data to protect the network from excessive congestion. It is expected that, in the absence of long-lived excessive congestion, RTP applications running on best-effort IP networks will be able to operate without triggering these circuit breakers. To avoid triggering the RTP circuit breaker, any Standards Track congestion control algorithms defined for RTP will need to operate within the envelope set by these RTP circuit breaker algorithms.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8083"/>
          <seriesInfo name="DOI" value="10.17487/RFC8083"/>
        </reference>
        <reference anchor="RFC9143" target="https://www.rfc-editor.org/info/rfc9143" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9143.xml">
          <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="RFC8866" target="https://www.rfc-editor.org/info/rfc8866" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8866.xml">
          <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="ISO.IEC.14496-10" target="https://www.iso.org/standard/75400.html">
          <front>
            <title>Information technology - Coding of audio-visual objects - Part 10: Advanced video coding</title>
            <author>
              <organization>ISO/IEC</organization>
            </author>
            <date year="2020"/>
          </front>
          <seriesInfo name="ISO/IEC" value="14496-10"/>
        </reference>
        <reference anchor="ISO.IEC.14496-12" target="https://www.iso.org/standard/74428.html">
          <front>
            <title>Information technology --- Coding of audio-visual objects --- Part 12: ISO base media file format</title>
            <author>
              <organization>ISO/IEC</organization>
            </author>
            <date year="2020"/>
          </front>
          <seriesInfo name="ISO/IEC" value="14496-12"/>
        </reference>
        <reference anchor="ISO.IEC.23008-2" target="https://www.iso.org/standard/75484.html">
          <front>
            <title>Information technology --- High efficiency coding and media delivery in heterogeneous environments --- Part 2: High efficiency video coding</title>
            <author>
              <organization>ISO/IEC</organization>
            </author>
            <date year="2020"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23008-2"/>
        </reference>
        <reference anchor="ISO.IEC.23090-3" target="https://www.iso.org/standard/73022.html">
          <front>
            <title>Information technology --- Coded representation of immersive media --- Part 3: Versatile video coding</title>
            <author>
              <organization>ISO/IEC</organization>
            </author>
            <date year="2021"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-3"/>
        </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="FDIS 23090-10"/>
        </reference>
        <reference anchor="RFC3551" target="https://www.rfc-editor.org/info/rfc3551" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3551.xml">
          <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="RFC3711" target="https://www.rfc-editor.org/info/rfc3711" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3711.xml">
          <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="RFC4585" target="https://www.rfc-editor.org/info/rfc4585" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4585.xml">
          <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="RFC5124" target="https://www.rfc-editor.org/info/rfc5124" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5124.xml">
          <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="RFC6184" target="https://www.rfc-editor.org/info/rfc6184" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6184.xml">
          <front>
            <title>RTP Payload Format for H.264 Video</title>
            <author fullname="Y.-K. Wang" initials="Y.-K." surname="Wang"/>
            <author fullname="R. Even" initials="R." surname="Even"/>
            <author fullname="T. Kristensen" initials="T." surname="Kristensen"/>
            <author fullname="R. Jesup" initials="R." surname="Jesup"/>
            <date month="May" year="2011"/>
            <abstract>
              <t>This memo describes an RTP Payload format for the ITU-T Recommendation H.264 video codec and the technically identical ISO/IEC International Standard 14496-10 video codec, excluding the Scalable Video Coding (SVC) extension and the Multiview Video Coding extension, for which the RTP payload formats are defined elsewhere. The RTP payload format allows for packetization of one or more Network Abstraction Layer Units (NALUs), produced by an H.264 video encoder, in each RTP payload. The payload format has wide applicability, as it supports applications from simple low bitrate conversational usage, to Internet video streaming with interleaved transmission, to high bitrate video-on-demand.</t>
              <t>This memo obsoletes RFC 3984. Changes from RFC 3984 are summarized in Section 14. Issues on backward compatibility to RFC 3984 are discussed in Section 15. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6184"/>
          <seriesInfo name="DOI" value="10.17487/RFC6184"/>
        </reference>
        <reference anchor="RFC6190" target="https://www.rfc-editor.org/info/rfc6190" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6190.xml">
          <front>
            <title>RTP Payload Format for Scalable Video Coding</title>
            <author fullname="S. Wenger" initials="S." surname="Wenger"/>
            <author fullname="Y.-K. Wang" initials="Y.-K." surname="Wang"/>
            <author fullname="T. Schierl" initials="T." surname="Schierl"/>
            <author fullname="A. Eleftheriadis" initials="A." surname="Eleftheriadis"/>
            <date month="May" year="2011"/>
            <abstract>
              <t>This memo describes an RTP payload format for Scalable Video Coding (SVC) as defined in Annex G of ITU-T Recommendation H.264, which is technically identical to Amendment 3 of ISO/IEC International Standard 14496-10. The RTP payload format allows for packetization of one or more Network Abstraction Layer (NAL) units in each RTP packet payload, as well as fragmentation of a NAL unit in multiple RTP packets. Furthermore, it supports transmission of an SVC stream over a single as well as multiple RTP sessions. The payload format defines a new media subtype name "H264-SVC", but is still backward compatible to RFC 6184 since the base layer, when encapsulated in its own RTP stream, must use the H.264 media subtype name ("H264") and the packetization method specified in RFC 6184. The payload format has wide applicability in videoconferencing, Internet video streaming, and high-bitrate entertainment-quality video, among others. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6190"/>
          <seriesInfo name="DOI" value="10.17487/RFC6190"/>
        </reference>
        <reference anchor="RFC7201" target="https://www.rfc-editor.org/info/rfc7201" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7201.xml">
          <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" target="https://www.rfc-editor.org/info/rfc7202" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7202.xml">
          <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="RFC7798" target="https://www.rfc-editor.org/info/rfc7798" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7798.xml">
          <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>
      </references>
    </references>
    <?line 1215?>

<!-- Nothing here -->



  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1923LbSJbguyPqH7CuiClxTNKibpboVu/QupQ1JdmyJbv6
Mh0OiAQplEmABYCSVbY75iP2Eyb2R+ZP5kv23PKKJEW55Oqe2VbPuCQgkXny
5Mlzz5OtVuubB1VajZNu9Pr8NDqNb8Z5PIgO82ISV9EwL6K3aTmLx9HbfDyb
JFWR9uHJIMlbF3GZDKK9fJBmo2jl7fpe45sH8cVFkVxxV1Ppamh1tb73zYNB
3s/iCYw3KOJh1UqTatiKr6p+XiStopq2rtb7rc4atIsraLS2urbZ6qy2Opvf
PPjmQTotulFVzMpqbXV1ZxVaxUUSd6PedDpO+3GV5tk3D65H3Ug6/ObB++tu
dJRVSZElVWsfR/zmQTm7mKRlCY3Pb6YwxtHB+eE3D+DzblRWAxynT7PqRrOy
FZf9NP3mwTTtRvDzzYMoqvJ+N7pJSvy9zIuqSIaleXAzsf4G+GbVZV508VUL
/4miNIO3x+3oaJyPY37E+DiOZ0VqP84LAOFF/j6No/Okf5nl43yU8jAwEIyb
AMTP4yrOpv/5H//5H1l0FY8rQEISra9yo35a3XSj83gyTRAZ9CgfwFiHR631
9c6qapbPsqqAlodpNo6zAT9NJnE67kZjBKudIlj/kiEw7X4+CcznhzyDFR04
M5q9j8tf3DdLTerHpEizy6SAv+OyTKKdjj2fk1mW9i/t6ey3tjubGx1vNt8n
QHnZjTsbAqn9nkGyJ/TNg2+j18kQEJX1EZ6M6Da9gu6xh6Ozl+2jg7322joQ
Xmuzy73K1nl4lDGZA01FlZrWTfRf//5/cIfAPimSaZGUSVZxm3wYpZMJTBD6
jybJALCBbU/jooo2u2rPXZk9d2Xtub615yJYLuflNE+zKuqP8xk2nOCoSOnQ
unW6t9d4yHALWUb8l6zKQ5jjY5ijtDEbUBYHFiUpU5hpV30mH0ArxoogJS5G
uIqXVTUtu48fX19ft9Myb8Mgj0ug1kFcDB5v76yur7Yvq8m4jt3O2ldEL3Qe
nZwefB8d6RaEv2jl5OjtF+FnbVn8dNZcBD1ciKEnO53OOmGIBnx9uLfW6ex0
5ff1zc1V9fvG1sa2+n1ze3ub4YY/tle319WLnc6G/n17e2urSwxVIRbI3F6H
zsbGzhbw3eXWoaXEAOA9ng3SvHXFBJxf/JT0qxIaMOpXgVUPrmLYYEK0Qstf
gvXV27GuZnEnrG9urK4arHsIuRthLkKJQ48wSoTbV2h1mI4TkZtfFzN3o8eN
jbXtOmaAtFe3W3dAzPN0dBklw2HaT4HV3ih2hoyMpz9IxkCPxQ2IlugyAdmd
j5IsyWdllGRXaZFnE9joFgYBgX6fvwFxybzvSFvbG0EMAnNY/4o8bx1ECryB
huPkV+Omsyy7W78TbtaBkc7DzbKM6MsEAnClvbgo0niUYMOrZYQvYCP+SrLi
cP/oTAmMu7Gu7Z2djiMwQEh0tMB40tG/b2xub2qB0VnbUL9vdbat33e0gHmy
ttqxfl/Tvz/ZYcGDsgSQjeqZmk8UnR0cHwLMf4aGf4CfvzzEVq1WK4ovULHr
V/h3bzl8s7Lz8aOnhn3+HF2kFaqN8SRKS9J4cvwM1hG+iEBTBE5RXYIB0s+B
GICj4OO4GsdlBHZAS39dNukNbw7/DfKmmN5P4wJUW+BJsIRVOzq/hEEnySQH
plX2i/QiKaHxAvsnODT2kyz6KAQVTneQDNMMZntxAwQ/TkCyVtraic6ELkrq
poIRYjaTLmwmkPR5dBwmAEE8HufX3MM07r9PqvQXvaPyDPZLEU3A0LKm9iKp
rvPifdSTRcbGx/ENYGzlRe+4IUsCC6HxhN3qcaGH62Q8xv8Oi3g0sbdwbA/T
O6auoKcqjyazcZVOx4nVo2CVFicel/YKVfS8fxlnaTnhyY2KfDZFQsMOFIaF
iIioMgCkRhfTIgdEkvSiVmOgDLAJxzOCGPvlptgCewLZRNwJaRH6a0dqR0zS
wWCcsBECC1jkg1mfrdlvHrz1NkYzKtNJOo5hTXMwhuNBii1hB63tqwbXl0kG
2FH6fzJoIrVonsgUE4NpB2wliidoMOFkkakJNSxt9EflNOmnQ7G+gzsUCDOB
pRTE20aJJbFh+ORDWlbYsZoI02eJ8ywSwEjCVOzAG2VJgihlZOc4Dm1XQExW
iplPXN3DYpsWBLASR6hd4HNNEtSZ/4FwImYGQHd9oN+LJJqVgk3jgiiFX+NU
rF5k0WH5Zv1LpG/LVEPuYyH4lN7skRG3VzfiQlhmuCwpx0Bfp9UlUP60umz6
Vs9bY/XUOuysff7cZvZs6LbAKcBSwva1pjVEhgjwp+2k3YzW9+13qRHTTd6o
uE/G46SvtjQsNXfAPLYs834aI4Hi2jaj91l+nSGueNMbAhVIoKHVA/Ah2KFl
8vMM8DwmzRIazEpWL5VWCGubTpBMiLqaUdIeAeAifoV9xrKlFA/VpkS0og0Y
xt+eUEXv7d7j5+21rQ0bmeorXJ5bBhB1MlohVfbAbAx3mOcHMs6mt2j4Mew1
mNztA6FuBrSkNUJ3iLcywladLNaBKgj9ZjlY6iKeidQstiqMAd6kQb5A9EVC
GoBIf4EFvMSpI7cYR+UN8P0PgI3jswZy7nQEFDQETjpOgfENi3wSZH3CMZrM
MoTdMdcwpMXgMoEx1dapC1u4k/S451Jirg1IzTQ9Nm/XC2gwJagIcZXWMMpL
IPBSkBFNL9NxXubTS+i2TPqzAnSvJm4L4LMEDLKbIh8zX8iRA4NUTVFGGZnK
MusDfMqrh4jK4Z9Ci1dhSHXAS83G6KMsMdoILbdok0j58sfOquJS9AB1RyGC
bxFNV6g/ArbwAa7B+wSAylF9eXjy5uz8YZP/G714Sb+/Pnj15uj1wT7+fva8
d3ysf1Etzp6/fHO8b34zX+69PDk5eLHPH5/0/viQwXr48vT86CXM/KFG/CDv
zxBdxFuApoDhp7itgBSQDuLSXSyaGHppFPcElMMOGA8c5FDPrtgE7Y1IE4aw
UQ2kBXrADJedp3ZBnK8EUi+4r0zIEBCVFILMfRyKdoZSXcktn8Yav986jfjJ
t9H3KAfjMS+APXmQcbzMA/MRMu/QpoaH6MG3WqKOnoAWGY1BvJdGUbU7ow0d
0h1wexCvz5AbJm0F677/cSU6rKeOfOsDQ0553GvduiS6AMWCNJuL/INIJOg2
LWzmYYm0aDqOURDkLNgK6CvORrMxMSiQSNRBPy9g+UB/pI6pIQtIXD2QliVo
q7h/QGdLYT9ZwtMwnoyWu61BNzZPN2Lu0ifL9UIbOwgjL1ndEOYu5ktd+phc
V5Z+b3NENWRpQSRm2pg4oGIeBsWgbsCumchymq5I/LgfabyzLCdFz7yj2V3G
VzgxMKKv0JEYj2cJ0SNIgnfY7F11M024Ke7bPoxUsiRC3CXilqNG9C6CCYEQ
gcXp7R3X9r41S0JaF0nFXuy4KOIbg9kyRqZaMlnwqk7jqn8pGgrYDOgBRGAQ
9wMtw2zKsvgBYkK+b86nJqOKCbjw4GKGToeyHyOQqNHCsGjHFfkUVCeAeMoj
g6ZkkQAJgiRGqEkLRUutNohm/rDA+axoAsDDMaGkn6CCWwyRqimEAhKoSoHU
KkALzAAmCMo2TPdoH1Svqt+WeFuNulzStlvEfaC9kgkC1UrgJEJ+xAWbtBRZ
dPS6dzrvO9AlcrRsWZb/khR5kNLtkQw9ZXm1sHMCqj+esWEIIsAopW6PsynJ
lFlFXVrfgK5qfTNnGAYoLW+baw3D1jtEcmVI19tnONkgZbCOAP0AwjUhGn1P
bTgl3GZjIAraiagN9WfEDwLrxvyS3TSINx8oJFt4JyMie5rGRZX2aRfms2oK
mERas2Z8B+dSmPCMbqYjba4bYKVsRPAUlBfmMNCqTNBNpMzsKW64AlFInu1J
ChugxB3z8ywteI/D5igqxm8cvT09UwTEMh5WYpzEZUUzVl6tiHcyAoTcsshn
6AH/QCr/GBRGsH7b5IVDXCgtIbaUVea6QgSsbWt1Q60CEyPAMFBriXwTGBLx
TmWBwwR4N9HkL26qpLQ7IFJiYZbRx8jmZI++fnZ2SqtFHK7rsNUiGeGIiBX2
FskyeAQZNjep0yK+JnDMgopitcSMq2QE6Mlmkwv4D8pWmpbactBZPC1nY1EJ
YNW0P4qllzRLaaMkkymy2wIEV+liAAEQcUQYIglugSJgJqy0lw7XEvSh12OK
H9LIDiuzeAh1rMXcKqEHhW8XFzeZoopBJjNtSfIQBpaC18wShdTNHbZYwPnZ
RaJFmoS2zgtXrTOPLexcX+ZjUlGmeVH5AOov7gpkYI/fO5AyyBfDqF2SXZ4t
yLx+fzYF8QtG4CjJ8Xv4DUbVmgCPazFMoySl9V3Frta698rTJ+8Kt+M+X7wL
fdJniTSdApECBTt0jswX/rP39oy59ATUsQuk4GFSCIeF/VLfS7NsoHiSZquX
SawsKV/p0cIS1HbSjWwfBwzAtkIfMAwmeozWNYnHuBI921MzbE0OOi5ZDMtq
ocfLW66UbIaSdCyxg6KebdmBteNYemTroEZLUaqamk5vTzlUE49GsMfFqiH3
Ob19U3+LSMJ3gGx6x2KWLC9hsvh2/+ULeutKeGGn2IAUlgizh2BfRQWgB/aR
KCaEW2x0cs4ATOIP6WQ2cX26ChBkvPgzV8ZJI+pKcWl8RswTfuZKCeWfwp9l
aJzanzJaarEiNs1POL7Prh92HZASHsl6vrwCmyZNrpWc5fADYDFasVI1Ggoy
8suqLIO6ko77un+ZJleWihCL67S0pHntQ+JqKDHW930D0g23rPnvxaJkn7ox
OT0LU5lWRPpoSRiYSuO918JcQjk17zCFdbSLuHL8kio4k5SOYQX/dwmKirgH
yRKjDwMTuYB9wNPFBq5jm6UfrVr9S8ttbYJ3mmOXTS8cIb4C4mO2x3qBf7Md
6hjZXpMs7OQDmaBai1xCOBjfp26rdDb2JbBAoP0MBC1mbfohGVMsjw2C0GzZ
D8mDENbRBiB+DxOtkReDoGB03aG1hSTLOC9TWzF1+7/KEUCMh6GfwZ2toQ/L
BhfbOE1M0FT1wWECtneJiytD1tY6iSJ6FhE6lKB4sOBmDokClrSPMYxS3CFJ
hlpa6U+a4o64e+M6SVsUHQd2doAq21HPc/Sb8LofyREfRTs6iJXHw9hFJfnH
RsxANGcLTiyIkyxByRAXJPthhUiBlpC2tq5S4iHaw2JRhRgwlBcycjGhXHBM
eeVlzIaN9rposNGFiz4sFXCPfY/hHCcKdWJFtUVLsMRifehSu3yIhyObG84K
2mOFCvmT4MEpOvuVKfA8F/ogGQSrNJawfdMVtU0bMBAgcZEmFbmyeEMPZ1mf
d0aKe6Lpqf8qBjpI2QwlhNpeQ9uGIFWGOautmIkTEFk8/kc7WGIxdLBHWNZx
PGXT+jKfjQfshw/aLUCyLoyoDCqnAq+l58qpqb7ZDfslKecBVkFwCmt0Adoc
0KAy38LcnUNKnoLPzo0AEyjdGJT1gSCXMhPEsVCL4KOgGHvGh8nnmJsaEytN
VufIyLY1anCsWL6lFVt5MPRU9CQzoN3WTbfQb8nqULxVd+B3qVZsngQNIZIE
WihJZ9Ey3S4Z7W+M0o50yX0Sb2T/1ArLCOOwciJitWBtQyUmCUWzcFW2vc3Z
ZCQWvkThIuLVGjqWZylpFDpjxsFHjdLEY1EkSU2jsLKNViz0GJxpNDWQxLQ/
iuY7TEctGN0YyxIU++tf/4o5Yo9a9Z/As2Az/P4TTe0N4BlNy3egeDf8Z739
2qPv39KzOQA8WgqAR/SMYHD6fvm2Pl4v9Gy/8Slqt9vzgFgKMfxEsPmxG31b
QzcnS+4+PJhDKg8/i9FRI5G6seHGA5XVS65n4woTgetGs4FasTkH/lRMAyPY
wOCFSAMkOm/j6FwX9EyjWDTR0HZgHgFPHW5LVMkUx2mKLiuJbrjHZtMx+y2T
WhZRfQjHAcT7h7ikx5wMj3Q/FyYv41TC2F0/ruIrMWtRMJlKqSgwt/giHWMA
P/mAmRcj2InEXJW1twJoT0kVyNHbq/5qqPwA3LRVDqocRm7POM+otW8s09ap
vMfkkqEXFTeEgEZVgNmo+cmCG9sGFR5JarLNYAMMUp0EpDFzIqXFnJXJcDY2
FBQYMJ9VrXwIdnk2aMLI/Ri+wa+NOLpGpqsSIgCdoM/3leLBuWSV4rUidLV2
7WeSeHL3zJA1jniTxRNQOzm+RvqP8nrrHMNoko4uK7WoKXo1dE5nchlfpWhs
UDYfQJFgVjwgH4BFvYWioKz+SyRBUwOuiJmEmAj4+SBoOHqJpbkZ0jYrYG3I
PYMkROFN12pBrFojWYCWsyn6PtuRxW/8kIolxmvMx8tNODIGhMXrtPFvpgUE
YwVmYFtdzS6t+LD2hjNPJrGPv+719nEl+ngegyKPk0meOZ6FOT5DvcV9QEQm
l3MDbbzmtpal9KBpnGKwqATh/PEjGWMt+LZF32K2RdiMAlJeeuYgtUifQtHI
v/TwF1FX352+3Z8zimxtZZgM0iEdnqtSFfliG0LC82Gc6TgyAqiViXeo239o
eg+1AWG/nsRT9ScRE34x+0BZYjfvCOR3w3E8akfPbsASmE4V8wnICtcEDwLk
OkEs61ZkiFYa42gE1JsFd5tSbV2XQlvZGDYcuHPGsoQ1zGlLyFa70Ppi8wTp
iFeA7H0LcDWwxZTO9k9ryUwm84yk8GLZwMQ/hIm0yJdag5ad7xwdncSAt34p
IeEpTZAyhOL5KrOS/BgtJ+nBHaYUTmI3HiCZJGA7OnLS3EqFq3h8Hd+I+alS
K1AxKCsvbWhebtO5GRiazJ+trQvDCrDBY7G1aDor0BhDLjq+YcZIitzVep/3
KXe0EjWij6AmzjKUd2xhr2w23O38FBqkwxVvj+/uqr0cffoUfvc9vaPzGsH3
Lxd821v86V5v/qfAUXBaEpyGf5zZbfDsEBF6f76D/fkuHeBEo8/4z6+d7q+Z
78JJcQtnQlsN4SXAu/Uk9OQXzkRhKQp0+6QRYlFPAy03/ZYeIw19I6uguWuo
Tacxl93KJPHfZIz617xZfi+z/EogRKghrHTWuJnKGHuHgbh3nTXUHpaG9Fbi
0Oe/5tGHXs3IAu1JELQnBrTbIcO9pkkPO11bD3W6th7o1P4qCMqaA8pnYVPA
qBxIlH91ka/HPUkTe/nhYX7bK1W8itM/m3x0R8lxMmvIAHPBEZUDzQQta8gD
Zokaki/UQ6tERwvVnaCMZ+yiZRklpfgt/MX/FB0pBaAQE9/M+lNkycnoE369
Cg8pMIi+Cvo9GCiUN/icU+H125L76eh+kO5sD736w1Yh6JM1/QmRsQz9UnuO
LU/WJ+txrZ913c/3Vj/fq3CN0431vNbPhpnCW56DUpycLszjWg+buodTC5JT
DF0PfDj4OVllfjdbuhuSWHjYxlX26f2Rb+ewO3UiZ7yoNau4MSYhgCFok7Y6
j6FO1vDIT/7r3//veofp5t3rMz2J1yqt9VPUwpbo2lmOTJW/xyVEvQPY3TNP
tlqmPAW9cAdRRGhahtvrM4Wc3YuDAlmzKmPLO6/jo33lupAEYPaAKrdqqdSy
/qxAW0LvKrtjR+J5vIef6SGcgF8fD/kmOuXDUBeff9lXjtzQWJ7MXHLUFHRQ
8nGQE98HIA5RvQuAln5skasDLe7o0MiFQCFPx1Edh7byVvyIPaJ9Lr02v6gz
JxuKgmQF+Rl0fMpOF5Ss7pblM9GoDshwMVTNbNOh74EJQ+Xhk4/5ve79iPbH
Y2h58PJEElckj0dOhoEy7sGn/A89z2z/+K1vjJvIr04FXFEJ6SsvZpNnmEB4
lL2Ix+gIbjQYKDQfWvGYVZpaOpR1vjd0OAItHiCpG9fd6sIgNo+Op8RRZwvn
Z1qIzaKBVbZHo6F8o2YBYuB5IzHsMS1zVNbWtz57EpcNtp6UX4NiE7opWWR6
7+vHyQeVEe08tt0t3mxvMzPJGLvVyjRhihpOLIUJlE98DYzwIh2AJsAKE7yx
VM+thnsoof6KUpSUXcBv1vlNlYCyVMAv6eDddDwrO09JAVtAUx9V8SUPaOnb
fPD6opxGu9GqvIAprEQpPFh7Cv/5XVTrGR4/ehQ1lIaLQG43ogJ6eYcE/Gev
a2j7l6e2thjGU0TnuS4SPy/VPcbh8jqb0iiBizZ5LYHQMFlFGrpnhXCfhRtd
TrrnBGl9hiPO6HSIJjVUI5H+RQ6638e1r4HTZi2nAzoxLIdogusdTdJsVoK+
Z+2/SLWyB1SyWM+VtoaW4eHO1WG6wAIAvzu7KeETKxkLPbicl4JHOwJe2qNM
J9Jwog/mrFOCl+1aIb8x+Ujt89Ih5sYHBevHkuUcMyz0gJN8lAOyFJBZa+ZT
cZldS4cYjBUPisz5eLFO5FQ+uXkSPJB4GSUDJ78I4Hl2cng499S7KqwDE0jl
HD8tW5ZcS92RS5jYGMD97iofX31Hx6Ixi4HjYuwpd9MMKfGQvm1HRxWHvYxS
xbzYOihY6dyPASIin1KkBhPMRTJ76zFIYMNQzAJjOJgCgpV25kCgUmvxpL3W
bhEhRDcvM6I38unOGS2tLzYfj+ZtwnyZw0nWkugwkh5WiiQRoydJnfAh12i/
d/YcVjDX5Q0wloZlMVwtfBVooj9jD5xyeyocqDU2pwD91GHBAp39p+MbmOxi
oYxwxb5KgLXMKVUGB0MymN8t+e0V1XB2TJ/sDCwfwwcHZtkgJscmRpW0y12z
RU1mqN4hgkjjcmg15aDMIMXknLFVOAS5CJ+UlDIYt55UVmG5WAXmVDSN1XrB
knVgNSFQCHbSZ/ksM1tm6twyFoLITFaxogDKLTKBM/xmmk6TMZKLnHs1wNWh
F7bmH3EtJU/MRAd5OzjR6kX92qdYg6Fu/ITlsHv824r1cK7suH7qV5+ZUhHu
+vh4+oiqVfjRmdQ7coxJZwXhn+y1wExqfAGzq/gcKNuEJgGVKF/H88wUVQxD
elRyWr+P0lpZACllJwy/SFgquG4aTG2ATlrcSeBUMNfh8eajTy3LCWyBRkGC
PAQ0xIzLWmB8DslMjsH76LATV6LVqP7TCTxbCzxblx468HY92og2o63oSbQd
7dzlGSeO/Mr/cf7K7tqn009/+BRFe5jn/ulE/CXnDK3yq+jMeDkPpX4+3R8k
AVypH318dEGbrwMJMOj+ZZFnquiRcLeVs7PXew1bA6tBsvsr/1fDiU6jJpVK
4Njz4CjrOFmE2AizkNoLG9wbYp08JbOZldMKecRzesJ+qnOPb7jBWVQFkso9
gErhygBbIy5PDmc+PFdS4cuTuHgP/aIVsnLS6MI+u+BTIWdJpfXpMR66lPpU
yrljnyH2/DnKU2KklDCmlHyDKKpMmQ0+G41MSnV9QtBAQ2a0ls4ay+FKXS+p
wtIDNzmoFxczVAFYqQREEJ9SRZyxunG0cnoO03tCqRJsvzFy8YTuKFO6oVez
zHLcp6y0CBYMTmFwFEusYIB1ndSzg5ChX6fjMekbF4nF+dEM12c6bDBcCJR9
KAnfqECk4nrg9CbKIS1yUgVJGcuFsUvuTXQd37R5VYWBvWAGtnL2Ahd9S9DC
y47wUi/YBZEWHrXiJbMlFYfqFVPqRutrfLzSRi9i0/AtoUHxb1CBAKJa3UD5
2pQF0ot2VqP3z3/B6lD99xEeJtbYINlLFpfncMGc3SzHXkk7MkcZsPqhpL1J
KpkbccCJnx0cGfdWo6kFt4FRjW/NxG2gJ2GOmtd3DSKXdX3XWeTs5TNRy7bb
G+3N9vqceHyDNxYflCaMvJbco5KBxc1VB1Pt7kFa4i5SeU3NCC0+1ksryvX2
DnOWTlq5YBnRNsGjCVjezA9qBWNaRG2L5IomKGz5RkwM4fE3TEDc3FKvdMm7
ZzeWRto0GeLYs2TQse8ek9/QqV1KPjg3cx2f55TONYmNSSDsWDQqVE+pw/rE
3c0iSqKn+378Fuu9y0Ol3GkVMi2A+VbXuZy81mcyjP/QqR8YF0ntXIHV3vYZ
emDY2VmyPbXOuHLYjF68OYd/jo84w+j8aL+hOvddqDFlmlxnjIJathaYS4Wl
gntH6W1otQXQxkr89QiosRDgwwBmUzuVJ6BIezj/fDf1dikVdim1gRSUQ1JR
AMukbtDvx0f8OyB7SQUkoGC4k7QVDSUgbYXjsMtiOeypXGJnz/NmwsRM18at
uUyPyhvyqxyf7ikNRDM7BvnYAccP2ImEycZU29a3/KxthmDwtI6PzLS0T/Wu
s/rbel2BvMwc5rtf7zKp38xBe1orERYs44WnOlw3UWl4hlN41XIhUiFFNWNU
RnROL/rhHFFU91nwQfh5/Ls+sHL99fMWRb5LxV3rfI3QhjJd98rnACjCpSEY
cKJ8MFykH7KGi0ze8q4zIGYqlManIq7ugSUlpioPw3Ow6Vkf/xydsbxFeDDA
wpkLVRcL4ak4XWmaKMXJAcHxeThAe9TKY2lJ1GL8K13kn6Oedby/Boc+6m1i
n6RhC3TWIt0BImtEAw0Dc+gU/X1D5WlspOiaYDUE3WF8ZxBCisIG7LeDrhvc
sIs8q5R2KuPDojj9JXFLlPknTixGTEoaqRFubWM5ghdkLGpIICX0LVcSpeeK
CGp0i9y1Y5dtpXZ0lJVVgvvMasQ1ytQhBLHqLK+22pT6MO4Qy0TKSRNz/ML0
h3BwOas3Ry/OtzbenfT+wHtUuQm/tWnewgeogXMIlDTl8DdaJU8+xDRZzHtW
jXQhKZN0n83zvRKrop2J8g6DSuooOGuAXRUu33/54pi+kL8xDwdPibZSkay4
Pr4ex2knCtaQVOYmKwsj3Q1kwT43EESQkKC8BV04y8tUsNRMxyV8TjGijcW5
zraeydQehCJViq+na3LzFqDT4zz/Q92pDFSA1MSXxv8hUlqxaK1xn7422+tn
ESkP2HAhmfuzHCTLdHLbSLf9LO7EcD3cRn9LSOTnLnQy96fbbrdVLVqhpgEx
BxuSe6BYx2QK71VlNoX5sOur9Whe2UNxxlwac3BuallC0thygLEV4+Rt9CxJ
o3wycpr9Ah0eLXU3ATnHg6CS2kKeWS+WwZWJCFgYnQtLeHlIfp1C8hHRLpZg
qmiJRi2klyRBmk7mXnNeniX+IZIlWDNpAYKio2HEuaGgFbQGoNCgOoqggZKF
RUownpVFq+z2yW5sVVzfZFA5QBvPqwJbyUrMDyDBwY3FrqlDZacCxlbludqk
zaDt6CUqLNcpaPgr4QkZM0j7sLyZNMJTETNKrZNaJps/LrFaskBUHGKBdUcn
q8yJV+fOEfpWV0hYmIRm1tUCs4WgOajo0NoE9h+a+hx5KPBUVLTaWt+UkkBY
/58RVcOAv/TWqiz8wsPwXGX6JeoqkqCPiHMtshUAurEAZLb3xjmHiHXytV1H
WFWanJfXR9mctXJnmNBZN0qI99SsozJa6Z2WDZVmU5HyJxd2cCUc56IUsJtx
RfiGignSrFbOzF0Qk9xoj77PotRn1EkRq5KMNb44GmKlsH4l3A2V8LYPsuJ+
J70/2ikr10U8Ddl27F/RITXxhnr++3nWX9DqRw/OqeavpKIusO6D9OBvMMtz
6/q8FkghvV82txQ6h7AW+mDqLDM2IhOfL6lqGnT4yApPF7CtFXLHrKhtH/2J
g6FrUynQr75XBnRzRnLq+J9RqMfzDO2/G+V7OUfxklpVYP2RgnY3txpL6MS/
STLDMj/zNM3zRVSxbCf3Aonz899X561vD6Xv1rk+Mv3GQys+RQEi1ymnPQtF
4iUd8J49jMJpz+pgA7/HDDgsxqSg89Qq/RlGJ56y757Fc6jvjvH7u/LdYoie
OxrDL7VW5JvPr9HJ4TRE5iNqWADe0usaAzqq61CP53w+aGGP6mINR0RGUiK6
Lth1mQySZDgAjwYijC+UuhGhN0/itaPnAOUVKv681Ox4sTh8TWCTxDJRbjOo
H5tRQoqFs+WoR43d/VTEUW3WGuTe6VfQa+MQogmO06UV1K+raRI5WBJUDsRI
yXQUpHVWudJ7wzcnYzxDvsCsXjCO6o0xq0KVH/RoocormKN3IRlTooJnqK6o
wyr9KvZh7ClynMr9NJgrewlGLeYDRFY9FawNg5xQf06CHjVJZdthOyyWS73h
xzDcVQ5og09YK3b8zXOce703EvoDNRC4ii6xSYg2+QZB+1Ti0rpwfmEZ9dCv
Jho9cbvXgE4U1HDe3KLhiCP/f65+A2btvlZaHtuexN9Kv6krBFRamQhP//xP
8S7ij2bVf3NIonvStL4oocLfZiE9iQKZyFpZS7oPtxTv+otkhPETnTtJ2+Cx
4zoyxqfDbXTsxXXIUZg3JAIdUbvQERdQTZSuYzxk5pR0WJW7s4es594m03tj
yWPXggTMrWzjnBqMrgVzV2oHMOOLpLpOJAEuPH1z2xI5/iTlNTQ/i9P3E77X
JoQFV4O5NxTipyoadwcAIsy9CK6BoJAbdMAIG8zGebS1ubm+RRKHjlN/qduy
WafpMqTtBNRcQ3l11UWnbOpzU5XXThQKW+Hw1t11PONzSxeUBAksWKAvQ45V
gV2TBuJDtgAS0YVsV5HxwGCvRllS9VJpjLbDchYqpGuaNIFX+Ko4nzm9zW1a
DwKHddrQRHlzDJkDJo5zCIngcdgjvpQyPG84bRjUA9w+PzMQFioyrooNm4Pj
IvAdnqJTBeysCGf5VgA6cgs25sIpkXRMObVoz748qAbnIoJZMXdqsY8Pdi27
+GohduUaPqwlZkQfvw3ki1DOYC1XBTNG38D86if5xFms9HC+M7qe4jPnLusm
Frov04sxX9SJmf/9vIUJ3uJkLqjS/DgZGMelXNqLyQNqVC9VxEuRqF96ZN/X
JX5m6jyuLKGnsOAm0OpBTNo406fTJ3EYrrpd9iXpMBCkA7RSoyyXVEULNeqC
KD2yVV2T7/qjkW3JJkwJmACd8FDYMWw8dkSMei9FuCkb90aqhcPAsODqIKSX
gBzbnxqEBd3z1mY2H7Wxc+ddlpTw/KmqGY6jm/fG42ylSUkRwMM35pZ5nRFr
Ze672dRkE8tdWIdvvPMLyABadB2NLHholmKWw8e3J+LQ2qKHyvikntDkSIHB
PtQJSteXbqfmCC8KNgi4Q6hGL4HnxC98k5Pnno6B91dF6FjicG4m2b1YoPLf
v7csl7l+9idih+oli5Tdatmp92mH1i3gufZv3TL6MkhCnXxt68/Q6a/o5F4g
oZ97sUP/Jh7/+n5VlmxdmM9z9odSCec4/Be53Z/U8wZtxd93vs9jshRXeBM6
zAL86wwDCsRKD9RveIPDlvDV87nuNtPjXfnfvEMlDlMKLi0RzdmnAyKcQzkP
Ylo69f9vWVTv0EdAqbu0zn6w6cYCTrzVZ3IY0y4Rw7d0kgoVWAx1o4RRMKg0
rKystYHVjS7hhtYBp3mrzpW76r1iJpID55wOTOa9mal3uG+1PQcvBwG8JNlg
KayQshWaq42RWqMvwYCj1i2AzcwoOH+99Ykag7vSPdTDjW/TiiheFFoXW9Gz
bwSQus6Hb55a2DyjVVb3fh7gzatOF+jBNxPqOH4OvbvbXz1hLbh89+MaHNg7
tR5wmp/OpnBx+Cac2KZ9TqFF+hsltjXVkaf6fFeXSnozk/5K6W+LV/q2EOFh
MFvt1kW+3QMz19NSX527hh3PXQZky96hbxTfzte1Ey71RUbp2+JkchKbpxtm
+dYq/EC7yBlhXpKgGNih9gde+6aoNORn5oo9AADyfLzPdNBcdk5SuMm5ls+k
yc7JAp6z7cwl6XLkeEa1CT1kcdklUFYuZdmdWwMXZh/PGVcb/Gjsu0eBPSda
XTMsjQJQamrWipelHagcuJ5tlLpnAPEWaeXm1LbpOC9FkOlDeuIRG6QlmPED
YibmiEvg4BHh0LnopmBV0r6h1k6OCMrSWTbGjAntQeYaOw5gAC7fh8glPGAr
TWPxloyKuI8lpIDOuEAarnSOh5QqKz1Re+msO43qE5pzfZG6Mstos1xnLNCB
V9+L77dzzhixqw6zC5zj90jUcxVjbtXq0HHRadqvlFrpxeFZKRRPjN6h6ulC
1e7vK/b9jzpFtZ+/tzpF946T/+51ipbwb3U+rTom6r1AEurk/zOv0m/XyT3Q
yW0OCMXstQvCZuqW2LKYt/E33SZCsLwol+VMf0nmSJESVa5BTYw47qaQxv4P
CfIPCfIPCfJrp7NYgqyCDMEh/yFB7g0S+rk7sQV+/k7iEprX6yO4DkNfJELA
QNoP+eQoZyEv5HSBUyeg6TrBehflvrr0nHxdTXP3tMqmCLv91P0o4iK2Cl3N
OU7bjo4T6zaCTB0NyFoYFLaztOomqkTgnSs1WYLN9TDe7mkzwW/KN/Gv5WbU
/Nufs78onInTT3DmHGrMmvP8hVxS9lbH4NIO0YYNmTeohKTIu1eQn1A1qnkt
a25QM5WupRkAelcyvIBqVS4F4LGx11389M+rf8HnB+My4ff4AT7HBtwia3X+
0tCXZtnfq9+hQe3j3+tvyZsiT1vm6e+i9bUnW9u39hw9qn9cG+13gdHwj5b6
9ve7yw9HqYI2qAqCu09y+WFb0mkAhL807j5fhd27DGsNJ9dBHAoVo/vEJBPy
ReSZRNC0w0oKdkndJIvGna2hnk/+4gSnYoezyD4wjyZOfR6PL+FwFGdy95Xe
wWbI5iL+pguwOJMVvygMLyVNzZjWcOJRW3Z+nOia+BOszQuLpZ86h5QR81YZ
BX5YzMZcVezcWZBAI1qkm0CFeFm1+6pQEBABTuklryCvlQk2/4TVvGVTzlr9
Pp9V01mlhNb91Sr4FZOyTtLxqbVyoaQl6rImREW06ES6dwzJL2EVPllX5aOE
aJeMS/SOqsOpnHLmnBnjiemDSRWlY+pzVXc4M88lMcWZ2wycvVNH6u1D64OE
KnYleJeyU/uW42pO8VuKfFQ3U7m6m4dXh8X4+P2Fk45O03dhUEmaV2kOSMQV
0MezOBAS47VTtCAHqIzVyhTyWqh4HOd+wmzpskMAQ/c2hSlJQdHml64cH3LT
V2rZcFApC4OLQD3Fa3ULsVSPJJalpk8KVLhnyc2Mr+J0jAoH4YKKnSrtK1Ta
KzLanj5JN68o1cr8yneNejFl5HHqIgaMdCVTBBG0ywBjTKkq9yipnN1GNbED
RXkjX0PlJBwgKlvp9La2OoiHRXxTDPfcNOVecI6x6CI1Xqxl/tbnKdbmom51
R5XduTVZQFAX4hQJ7MXEF85hmWFxkip+j/m0pVQBwhGk0F+PCoNTEXSc9yTB
y5vTcuLcniHlzSdxFo8SLiqOkgaL2lEoJO0DqRfNaDDT90YACcE6DOh3exVW
Ym2UcEK7xrjn8lGM36ka3ZACw5OcjzrkeFFIUkywpjvlwFCFI0qK5XtUGPuw
Y+F5XlhcSe9mvvlH4tHAoOIbU+sd++AC3nznUkvIwnfTTGYllVbnUWjL00Zy
OZFXVMO9kV0Xu1ilrDT3rIMEwpDqeEEskmtHel+N0/eWB/Iug25uYa9b686o
Trw9OLTWzZaSvVYQcmBtsqa3fZfQHqS0YhAoc89KXaLrm/RK8WH1ddZIWsxV
PL9EZwrMs2y6b8yMs0S2GV41Q2sy4MCmpwtd0OanyKzYxRO+bSmwLMjD1ZVc
NfYgLEBDpDIM7cR5Vfx9i0sTvj7ce/JkZ1vyCV+DJCv0gQ5PaxiS9uldhSM3
FYnv277/hhvqeqH2fS94rQ5XeqEQ8fR2ZVmumL9IJH490Hq2cxuFucy3dgeR
m2yTT4UzmC/wJIe6+1hnlei7gTkgjakfCROefQHxaZFXeT8fRytn+6cNxur2
9tYWXlMmyXf6wnoiKPt2NjIzsJY+fNuODn6epbCZuditHr2vZq/q4+D10uxu
wP7wa2IK5NwFOKYCkPQ+yCm7Qw0iTqwTunKM2AdoMCkF7em6tW/pjboCV5W7
1+ETnXBAjCQdZVQwJbuxVD+73A/tWynxyoISR8ygZddGBJUjnV1U5uXVep9p
ElCCxGvw0Y1ePO6Rg6e+jN3Iu8lXHW4IXPBrP7yalq10YD8hO6v2rCrg0Yfa
MxSX/gugplrb2YcWbYwW3sBqv9EzaJVJ1ayndQUeUaZXHWLekeYp36U852WZ
pE3KyZpW4xbd7Qcd982jKgWIGFb1iO6o8lrlQGtJ5T4suBXfxVbjtexIPMiE
E6p7uHhTdPkaiAHfHdKfFVgY129yijUoMBKHET3VquW2Er52hFKeznNJkV2/
L6Gn09nFOC0v/Yv19FjESJGLBopTUfJpcGML+avd1o16WAnDNOWWoJelibrA
scUX/PJHeAI0xYsOSSgAb6WhBjrbzkrBMjOBrQBd/VOEp/3GeHdkQd6OnI8x
9fkaHiVJnB6OY8BkdDQG2ypaGeMf7RT/+Jcsf5/GbSCnBqqBx7P3cflL9EOe
DQrgwCtj+rv9nv+2GqsFoGsYZ3iXRzfae3ly8vIFb28uvKxur5QGMo3eDEyd
ogtcN4n49/K7qMeTSQxzV5fjII/Bz/YuSQMSdjhOoIejg/PD6HfxVdUHdvUv
aVIN23kx+j3hCnlzybi0OeH/jlZAO80GIBIBc1iJHAvDNQC4XFhogP9YF4TY
sd4wV+pG2munD3hyabdaelisL+u27sO4rVzauXZA66P6SFhbG/oSQJJVG1sb
oAGYGISTzbdhis15ELQXTZApXU8v8NacabXmZrTZOgrwImuTDb547iozXt0c
gAO4t2nruxYCM2Bh0A1Az29s0BcAG7zafdnLkV2IlDAKwaTeLQmVvjv+SyFh
ERhcXPVyaVDc2+Zvo+dFICkJPB8u1eLOwPnX038Z4kQdCK2gvFoSMHNt/Reu
oKOEhPHlNFkWYaFL5r8MREcbCkLotDAA4j53r9+Sqyx+G2Y5Z/h50xRFLkQS
Kkfei0d4prOGlEqW4u3GFjDYhfYJ0K5v18fmG2ZRR4wBkwg7OnBWvmt+14hA
FyKXmzq6zl4G/956dpD7/Qq86NfxjkhYweTFaCH9dgFu5KRDGEHKMaVObder
YC3ktBJemcNrqWSCV/OV89jJEDIRmvpNASaCA+LIugZtyJ61Vj4E3U9dCy5e
Dps2l1guRa4uiZpaFN4VBkveq3bueHOcaEYuRwZku8zfJnM3Qs1GCeG+1mjO
EnC7W1fBafa3WgwHCAPmCmsv8ODdXu/s9IyMKP7r8N3R/uvGcqv2VdcMTMfQ
KsHjOevixoFEn+SZc+WHeetR/kYL4gJorcHp64PDoz+8e4EN1EqcvTlUz5xG
B/qBtMAH9fWav2AuFPeyaDUD3xKptXdLSHto/47av8P2d9Laao6FACj63ZKg
YPuatnG7ulFzaARA0e+WBEXuS31H370bFfls6uNoecAst0q3jiTz8o6wyZfL
rF0QrGIutoovwpV1fI107EH/mwd3Vxtt55LBltzielsWQE01QRe1ZHDZsX/t
uRcuUM9daLInwiiBKojkXTJnHYtMgwXxvLy+sp62MQdGExmqTxoP7+mD7PLN
3Gk4yWvOnAJ1kL05eR+43nd1v1Z8UeZjMLDuViNP+DLn7DSsknn1pKcM3vU4
8Ql+e6ZS9PixyleiV/VMHg4Iq5wf3aiOVHPgUqMrEFqy7mtR6nQwRIgZYE+s
eJ0pFWBdheKtTjiSlWYm6hO45BDvfRslJRkMKm7gukXJk1ZvhLIYifDsee/4
WIv5wK3O2Mi6q1ZurKbTsdr/eaEqcTEvaEZ8g3Lvrfm0o5y4mFBzAcC0kiHA
UCm/KM6V0x34bjX4Vx0MtS6skwgRLQOoGWmFMWBOZRjn7BlNshJPeGgzwn5N
d0SnpZUTiwkw04omQCvYVpXMqT0fbCVkosg2bTHdIDrfO42GdOt4v8hLawtn
QP158R6Gri45JSH5ME0KvJxWReWcdvrQNVplFCSK+5cpSGaC8ApWckS3KOJ9
3rC3m5hHUtItjqhpYYiwzOWeDYzF9+Mx7d1Ynwg2OXL01OJBBP8Ket+VF7az
qmOKvOKNtg7DaUBVbl4JNFaSMnRxY3IjJBQgJNdSJGelL6ArdBBPqzpbxyXi
u9zoICpoj7Ro1JqN9CHf9lujeoZIMDfgrCBAzZjLcAlTsK93DgRCdf4vbjMM
MRjmp/pHQGBHg6FezTLMc3grXVD/TsSBbxSRGKny0lszqQAhWfrzTFwLPVjM
MQyVcUo4DHuZDySRRkLPHHg0wTt4M0508XYJaookcih+lmnqvYku0xHQ5dCk
iAFOuNjeXlr0ZyBEngHi3uP10xQEXd1eh43PQUjxxPYLzBRLY6ninnD1DYeq
SGSWVT7F4nK6ap1srzM2CYSJqXDswArHqugn3n3Ir1tWtLalorWfpVxIAttQ
ufqih6DKDCfV9CEnebMSMrQTp3Dt1ZWOJoLqhIrFsrNVHvck++1B5Hb0PeqO
cqZ8ktBuJ5xubm9vc2BZmVfaEcN+GYZqTMheYSqllCgTcNIVImEkzphLK5w8
++FdS0JdMGnP25qswZfB4cdv5WFLP/usGQHf9Knv83Wxj4gGmJqcvDMQ65Eq
yJMDX7aITLEGTTs6wtsBZlmfwzK4DTEFIJ2k45hI/mG8S9A2zZG95ANStw7D
UXagLdjsbDv4FvRuyrmiNCZuL/ub72rHYD/xVrWnyE6SErJ6ojGrHlTIUBL4
lpqhkZ9mlXExVVh/T4J7HEG/Q9TM+dqJGd69m56epg7kI9LdV6S86Hct+tNt
Ud4ANOTO17q+0zraJecqJm/BNsHXT6MXeUUuQ/y9RTgPky26JfFNeAfD4nIX
kc7hKZLhOOHrYdNCQGsTXH/1oAbkYQYS4O2hA+5Ddk5YICtHqltZWt2tgFxx
CZLwPNtmJaITVekUQEqBsQDrMz4RM3lr3uK2MfWMcQYtHrGl4GDPe/lQ1Epd
vgPEOLIT3BgjkDBY66F/yUlPkjojyAbrk7fOdToemwA5D0ME9AZjwLxxumof
Nflzie4W6FrXKZRdUFU4fF/gtYVdrpVc223WTLVvWmNXh1gFwd7sqO7nNSYR
UpVkmKi+OpivQMlhvliRpJIExwkyo9v3ub+1bWmcF6Htjnqm/sbcgxeXunqF
w3ksNGC2aAS6M9IxCV68kXGMsXc6d+BsDqdjGdztji2+xz3OcR1gZqLeztag
QlMqBkCFszBhHQ2+UgqFlteSsXUy+xDtAY5GeXHTjV68fH3SO+YkATEPYVNp
Cn9Ibw73Wgf7R+cvX1tJGtNxDGaB1dLgdqozPOBL6+CelDzpRnySnPgq6xQX
xOpsjFKKgvGmy0ybgjNWh2qBoHYkJwy9roO4tfuqhf3JLCVrKULHl3xL7i9d
zd1khduEY3HSeFeWqjsnpLbbe/P8ca/XO338y3WPfvZGR73qoDd6ddw76vXe
vMJunvX2fuydbL462B+92sPH8PPsdHtPfQM/r+D/q97B4+vjU3ky2n2K384D
w8qP2N2jD3Z3n9Zcg7udp9rJg8lsJnNPWXw+V8fkx/1TXYnaOU1j1HhOnz7X
7ApFmFKXHk52H/L6obN4/9QY9Ua3aqvPE5Xa5PQQ7xbVdBJPw/1Qyht/3h/n
/feihIe/VR/trMKPHlafrbVm/uszxO6QjubWOFNA6spSZjKsNlpo0FfMq21D
ZYWmpG4MOLvbktdKhkqHdLUsn7kJiDvl/Nd977IKMY1huy+Ju/8u2YS2H2hB
huFXTfq7AxloA+LvgxLYkxegBHdKarAAC7FV84DmafF4UgL0fa1aJ4G/04F1
++9A9DV9lGIGCuZYjCcd99IJ6GlGMTIQOPlkzkz4RMGcXAo8FBYmejB0viNf
tsnl53CcnWNgH8OZkMI0K0WVUu6wEk3Lvp6hSFe2kahrka8sROdkeJN+qrgI
DmbTksZyydXV1eqDkjrOR3Q+ABXu5EOl3Da6K6fGL02IBew8i8wfWqdkIPQL
P1Wum8SUW+OWXm5JPRfQRLYN1a3AeO96+w01IUFyPSMFAfaVitScz7DDrGxZ
0il7c9DdPqk+2bXzWDd2Ok9W0VfzGP23O9ss4VlodXe2kUk8JmnFL0juw+Oa
JNldbXbuQTtYkFK023u172o3+9dHvVebz+Cvl739n0agtey/h64tHcPoDL7r
jz0eworN489fpEtQL1+kRSg/I5gLDGHJ+fTKqf68vba1wf/Z5P9sRUnVb39d
leN/mNj8TXWpf8jo+5DRvBksqRz2Ca1oX2ZjGSm9hED7Uv6e9/uzaZz1b2qn
rYjJv3y73xDWvIgz87ceT95xefJO9ByYQZ0p7wQ2xe7q02WY8oEwZc05n3FN
e/uQ6vKooBjcIIyH07e3S7umLSxrWUb8tEgWCD8ru4g9I7cue1MC8TdGX2Jr
vq4wCZuuJUN+6eItXpkflLi8RTTeZvgro5+7+RLTP5xvuXvW+7532Hv1LP7h
p9kfRr1nrw5+6DXPRs8nRwB183h0mO+/hAa9Z3GvJ4Vx8OdRrc8aE979Y+/g
+eiwt9v84+igd4KTevxs9ef+1dXj/Yvi8fT86mI7/5m7GV7ubf7rq7dnOz9l
T973Xp0/7pU7B4c3xU+vn/UnHw5eJY9+2tyffX9xfr4z+dPkTzTL3FUVgsGb
b0fysKUfkoawr6tmSFai0irEdaa3iD5YnRYR1vn1Dlzq46jXeM2tpzgz7TqO
YufEpht9bHuFRpyCa8I507DfWTak5KL4+7bejwuYHVmk1J/Xh3tbne2Nz5/R
LLGPq0a9SOGTXMrNWoq3jpU1WTSZiNKCgNlt0TBcMFpcy8VJzkVsq26304c9
9Ylz57RXrirt3YAW+FAGJrkSuCob+9WJkFZUkMbCl3atBePnHLkwMhej0JUM
xSKDkI+nXhnY7ybp4LuWyahBRMFMMHHERpKJHnrJffEujdtFuH7Ho/1eb4tz
p7aBWmW8cJhEA0kzfaHcMJ8V9piYlYAnsMRxqhyjNU185fS8u7O1qyVoM8IH
T3ZHCRjDVSF/b+9qzPBN1SrY4pvy2F1ndbXBd4OaIAbjAZFHE8aDbXylnvRD
T9sB48umjqvUixJaUZl6mMcspYXydrvNnN/gXSp9Lunkvc0MUmyWjKHIkU0o
doxs2nJl0xbKpo3lZZPRGrAtkGG34w+2ZgZ7ErmjPbnjaN/XRlvzR9uw7NjI
N2TvNtpRbbT1gO0MnW3rMYHm3EHxgTaf7+Y6N8NuOHtR7UC+c8hEJPBIPjlH
MlXY9lpcDomurOWEh5TiriTQHLq3CkB8Cd0vob1ZMTBrqy4/whxHyy9Jkbex
lq1OodvZagIRNpE0ECpcHPOto8E3I8N5KNhlAuCeaISBrhOshVSG/TuUvzMH
ns5qpwn/rOE/6wLShgeSJewtfml6zbNlWYsqIrwki3H1yWfMY3681DyGWQw6
XEa93vZe7zB/1ac/NjaQK2z13vdAF3wNOuDTf/Cfvyf+Q0N2GIY7at/xo52t
P21ebb097ew/On1y/Mvr8oK7+XH/Xx/f/PKod/zLyZ9eDK/2Rmvr2zs//DR4
NNga/unmZOvVn54NL4v9H9d/WL2KT9deF9vHj0bHvZ8fZzfr171fyh3JVU/S
Pxz89NPZ1pOT4fNHzzc+vH38evTjxvD9+PEf3x+9SB6/LH/ce/ns+rT39ri3
tzfcOMzy0fUf//TD0cnBVp7uSzdv9vLBzz8dX6sWH35+lh4BYNfpwbPpvx4N
Zs/e5Prrl8nZ0cle/H160Nt5ezSovr++3uNupMXVs0fx0fHVj0fw9bOto8HP
+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

-->

</rfc>
