<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" ipr="trust200902" docName="draft-ietf-avtcore-rtp-v3c-17" number="10034" updates="" obsoletes="" xml:lang="en" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" prepTime="2026-08-28T15:49:15" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-avtcore-rtp-v3c-17" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc10034" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="RTP Payload Format for V3C">RTP Payload Format for Visual Volumetric Video-Based Coding (V3C)</title>
    <seriesInfo name="RFC" value="10034" stream="IETF"/>
    <author initials="L." surname="Ilola" fullname="Lauri Ilola">
      <organization showOnFrontPage="true">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 showOnFrontPage="true">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 month="08" year="2026"/>
    <area>WIT</area>
    <workgroup>avtcore</workgroup>
    <keyword>volumetric video</keyword>
    <keyword>V-PCC</keyword>
    <keyword>MIV</keyword>
    <keyword>point cloud</keyword>
    <keyword>immersive</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">A visual volumetric video-based coding (V3C) ISO/IEC 23090-5 bitstream is composed of V3C units that contain V3C atlas sub-bitstreams, V3C video sub-bitstreams, and a V3C parameter set. This document describes an RTP payload format for V3C atlas sub-bitstreams. The RTP payload format for V3C video sub-bitstreams is defined by relevant IETF RFCs for the applicable video codec. The V3C RTP payload format allows for the packetization of one or more V3C atlas Network Abstraction Layer (NAL) units in an RTP packet payload as well as the fragmentation of a V3C atlas NAL unit into multiple RTP packets. The document also describes the mechanisms for grouping RTP streams of V3C component sub-bitstreams, providing a complete solution for streaming V3C-encoded content.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc10034" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2026 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conventions">Conventions</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-definitions-and-abbreviatio">Definitions and Abbreviations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-abbreviations">Abbreviations</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-definitions">Definitions</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.2.2">
                  <li pn="section-toc.1-1.3.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.1.1"><xref derivedContent="3.2.1" format="counter" sectionFormat="of" target="section-3.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-general">General</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.2.1"><xref derivedContent="3.2.2" format="counter" sectionFormat="of" target="section-3.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-definitions-from-the-v3c-sp">Definitions from the V3C Specification</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-media-format-description">Media Format Description</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-overview-of-the-v3c-codec-i">Overview of the V3C Codec (Informative)</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-v3c-parameter-set-informati">V3C Parameter Set (Informative)</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-v3c-atlas-and-video-compone">V3C Atlas and Video Components (Informative)</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.3.2">
                  <li pn="section-toc.1-1.4.2.3.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.3.2.1.1"><xref derivedContent="4.3.1" format="counter" sectionFormat="of" target="section-4.3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-general-2">General</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.3.2.2">
                    <t indent="0" pn="section-toc.1-1.4.2.3.2.2.1"><xref derivedContent="4.3.2" format="counter" sectionFormat="of" target="section-4.3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-atlas-nal-units">Atlas NAL Units</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.4.2.4">
                <t indent="0" pn="section-toc.1-1.4.2.4.1"><xref derivedContent="4.4" format="counter" sectionFormat="of" target="section-4.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-systems-and-transport-inter">Systems and Transport Interfaces (Informative)</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-v3c-atlas-rtp-payload-forma">V3C Atlas RTP Payload Format</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-general-3">General</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-rtp-header">RTP Header</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-rtp-payload-header">RTP Payload Header</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.4">
                <t indent="0" pn="section-toc.1-1.5.2.4.1"><xref derivedContent="5.4" format="counter" sectionFormat="of" target="section-5.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-payload-structures">Payload Structures</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2.4.2">
                  <li pn="section-toc.1-1.5.2.4.2.1">
                    <t indent="0" pn="section-toc.1-1.5.2.4.2.1.1"><xref derivedContent="5.4.1" format="counter" sectionFormat="of" target="section-5.4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-general-4">General</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.4.2.2">
                    <t indent="0" pn="section-toc.1-1.5.2.4.2.2.1"><xref derivedContent="5.4.2" format="counter" sectionFormat="of" target="section-5.4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-single-nal-unit-packet">Single NAL Unit Packet</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.4.2.3">
                    <t indent="0" pn="section-toc.1-1.5.2.4.2.3.1"><xref derivedContent="5.4.3" format="counter" sectionFormat="of" target="section-5.4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-aggregation-packet">Aggregation Packet</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.4.2.4">
                    <t indent="0" pn="section-toc.1-1.5.2.4.2.4.1"><xref derivedContent="5.4.4" format="counter" sectionFormat="of" target="section-5.4.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-fragmentation-unit">Fragmentation Unit</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.4.2.5">
                    <t indent="0" pn="section-toc.1-1.5.2.4.2.5.1"><xref derivedContent="5.4.5" format="counter" sectionFormat="of" target="section-5.4.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-example-of-fragmentation-un">Example of Fragmentation Unit (Informative)</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.5.2.5">
                <t indent="0" pn="section-toc.1-1.5.2.5.1"><xref derivedContent="5.5" format="counter" sectionFormat="of" target="section-5.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-decoding-order-number">Decoding Order Number</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-packetization-and-de-packet">Packetization and De-Packetization Rules</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-payload-format-parameters">Payload Format Parameters</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-media-type-registration">Media Type Registration</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-required-parameters-definit">Required Parameters Definition</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.3">
                <t indent="0" pn="section-toc.1-1.7.2.3.1"><xref derivedContent="7.3" format="counter" sectionFormat="of" target="section-7.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-definitions-of-optional-par">Definitions of Optional Parameters</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.4">
                <t indent="0" pn="section-toc.1-1.7.2.4.1"><xref derivedContent="7.4" format="counter" sectionFormat="of" target="section-7.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mapping-of-parameters-to-v3">Mapping of Parameters to V3C Syntax</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-congestion-control-consider">Congestion Control Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-session-description-protoco">Session Description Protocol</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-v3c-format-parameters-v3cfm">V3C Format Parameters "v3cfmtp" Attribute</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mapping-of-payload-type-par">Mapping of Payload Type Parameters to SDP</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2.2.2">
                  <li pn="section-toc.1-1.9.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.9.2.2.2.1.1"><xref derivedContent="9.2.1" format="counter" sectionFormat="of" target="section-9.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-for-v3c-atlas-components">For V3C Atlas Components</xref></t>
                  </li>
                  <li pn="section-toc.1-1.9.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.9.2.2.2.2.1"><xref derivedContent="9.2.2" format="counter" sectionFormat="of" target="section-9.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-for-v3c-video-components">For V3C Video Components</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.9.2.3">
                <t indent="0" pn="section-toc.1-1.9.2.3.1"><xref derivedContent="9.3" format="counter" sectionFormat="of" target="section-9.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-grouping-framework">Grouping Framework</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.4">
                <t indent="0" pn="section-toc.1-1.9.2.4.1"><xref derivedContent="9.4" format="counter" sectionFormat="of" target="section-9.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-offer-and-answer-considerat">Offer and Answer Considerations</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2.4.2">
                  <li pn="section-toc.1-1.9.2.4.2.1">
                    <t indent="0" pn="section-toc.1-1.9.2.4.2.1.1"><xref derivedContent="9.4.1" format="counter" sectionFormat="of" target="section-9.4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-unicast">Unicast</xref></t>
                  </li>
                  <li pn="section-toc.1-1.9.2.4.2.2">
                    <t indent="0" pn="section-toc.1-1.9.2.4.2.2.1"><xref derivedContent="9.4.2" format="counter" sectionFormat="of" target="section-9.4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multicast">Multicast</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.9.2.5">
                <t indent="0" pn="section-toc.1-1.9.2.5.1"><xref derivedContent="9.5" format="counter" sectionFormat="of" target="section-9.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-declarative-sdp-considerati">Declarative SDP Considerations</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="10.1" format="counter" sectionFormat="of" target="section-10.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-v3c-media-type-registration">V3C Media Type Registration</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="10.2" format="counter" sectionFormat="of" target="section-10.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-v3c-format-parameters-sdp-a">V3C Format Parameters SDP Attribute</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.3">
                <t indent="0" pn="section-toc.1-1.10.2.3.1"><xref derivedContent="10.3" format="counter" sectionFormat="of" target="section-10.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-v3c-grouping-type-extension">V3C Grouping Type Extension</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="11" format="counter" sectionFormat="of" target="section-11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="12" format="counter" sectionFormat="of" target="section-12"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.12.2">
              <li pn="section-toc.1-1.12.2.1">
                <t indent="0" pn="section-toc.1-1.12.2.1.1"><xref derivedContent="12.1" format="counter" sectionFormat="of" target="section-12.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.12.2.2">
                <t indent="0" pn="section-toc.1-1.12.2.2.1"><xref derivedContent="12.2" format="counter" sectionFormat="of" target="section-12.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">Volumetric video, similar to conventional 2D video, when uncompressed, is represented by a large amount of data. It enables the three-dimensional (3D) capture and playback of an object or scene, independent from the original capture position(s) or orientation(s). The visual volumetric video-based coding (V3C) specification <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="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" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>, and immersive video with depth (MPEG Immersive Video (MIV)) <xref target="ISO.IEC.23090-12" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-12"/>.</t>
      <t indent="0" pn="section-1-2">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" format="default" sectionFormat="of" derivedContent="ISO.IEC.14496-10"/>, ISO/IEC International Standard 23008-2 (High Efficiency Video Coding, HEVC/H.265) <xref target="ISO.IEC.23008-2" format="default" sectionFormat="of" derivedContent="ISO.IEC.23008-2"/>, or ISO/IEC International Standard 23090-3 (Versatile Video Coding, VVC/H.266) <xref target="ISO.IEC.23090-3" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-3"/>. The atlas data is coded with mechanisms specified in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>.</t>
      <t indent="0" pn="section-1-3">V3C utilizes a high-level syntax (HLS) design, familiar from conventional 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, the RTP payload format for V3C atlas data described in this document 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" format="default" sectionFormat="of" derivedContent="RFC6184"/>, <xref target="RFC6190" format="default" sectionFormat="of" derivedContent="RFC6190"/>, and <xref target="RFC7798" format="default" sectionFormat="of" derivedContent="RFC7798"/>.</t>
    </section>
    <section anchor="conventions" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-conventions">Conventions</name>
      <t indent="0" pn="section-2-1">
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
      </t>
      <t indent="0" pn="section-2-2">All fields defined in this specification related to RTP payload structures <bcp14>SHALL</bcp14> be considered in network order.</t>
    </section>
    <section anchor="definitions-and-abbreviations" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-definitions-and-abbreviatio">Definitions and Abbreviations</name>
      <section anchor="abbreviations" numbered="true" removeInRFC="false" toc="include" pn="section-3.1">
        <name slugifiedName="name-abbreviations">Abbreviations</name>
        <dl spacing="normal" newline="false" indent="8" pn="section-3.1-1">
          <dt pn="section-3.1-1.1">ACL:</dt>
          <dd pn="section-3.1-1.2">atlas coding layer</dd>
          <dt pn="section-3.1-1.3">AP:</dt>
          <dd pn="section-3.1-1.4">aggregation packet</dd>
          <dt pn="section-3.1-1.5">AU:</dt>
          <dd pn="section-3.1-1.6">aggregation unit</dd>
          <dt pn="section-3.1-1.7">CVS:</dt>
          <dd pn="section-3.1-1.8">coded V3C sequence</dd>
          <dt pn="section-3.1-1.9">DON:</dt>
          <dd pn="section-3.1-1.10">decoding order number</dd>
          <dt pn="section-3.1-1.11">DOND:</dt>
          <dd pn="section-3.1-1.12">decoding order number difference</dd>
          <dt pn="section-3.1-1.13">DONL:</dt>
          <dd pn="section-3.1-1.14">decoding order number least significant bits</dd>
          <dt pn="section-3.1-1.15">IRAP:</dt>
          <dd pn="section-3.1-1.16">intra random access point</dd>
          <dt pn="section-3.1-1.17">MTU:</dt>
          <dd pn="section-3.1-1.18">maximum transmission unit</dd>
          <dt pn="section-3.1-1.19">NAL:</dt>
          <dd pn="section-3.1-1.20">network abstraction layer</dd>
          <dt pn="section-3.1-1.21">NALU:</dt>
          <dd pn="section-3.1-1.22">NAL unit</dd>
          <dt pn="section-3.1-1.23">RBSP:</dt>
          <dd pn="section-3.1-1.24">raw byte sequence payload</dd>
          <dt pn="section-3.1-1.25">V3C:</dt>
          <dd pn="section-3.1-1.26">visual volumetric video-based coding</dd>
          <dt pn="section-3.1-1.27">VPS:</dt>
          <dd pn="section-3.1-1.28">V3C parameter set</dd>
        </dl>
      </section>
      <section anchor="definitions" numbered="true" removeInRFC="false" toc="include" pn="section-3.2">
        <name slugifiedName="name-definitions">Definitions</name>
        <section anchor="general" numbered="true" removeInRFC="false" toc="include" pn="section-3.2.1">
          <name slugifiedName="name-general">General</name>
          <t indent="0" pn="section-3.2.1-1">This document uses the definitions of <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. <xref target="v3c-definitions" format="default" sectionFormat="of" derivedContent="Section 3.2.2"/> lists relevant definitions from <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/> for convenience.</t>
        </section>
        <section anchor="v3c-definitions" numbered="true" removeInRFC="false" toc="include" pn="section-3.2.2">
          <name slugifiedName="name-definitions-from-the-v3c-sp">Definitions from the V3C Specification</name>
          <dl spacing="normal" newline="false" indent="3" pn="section-3.2.2-1">
            <dt pn="section-3.2.2-1.1">atlas:</dt>
            <dd pn="section-3.2.2-1.2">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.</dd>
            <dt pn="section-3.2.2-1.3">atlas bitstream:</dt>
            <dd pn="section-3.2.2-1.4">Sequence of bits that forms the representation of atlas frames and associated data forming one or more coded atlas sequences.</dd>
            <dt pn="section-3.2.2-1.5">atlas coding layer NAL unit:</dt>
            <dd pn="section-3.2.2-1.6">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.</dd>
            <dt pn="section-3.2.2-1.7">atlas frame:</dt>
            <dd pn="section-3.2.2-1.8">2D rectangular array of atlas samples onto which patches are projected and additional information related to the patches, corresponding to a volumetric frame.</dd>
            <dt pn="section-3.2.2-1.9">attribute:</dt>
            <dd pn="section-3.2.2-1.10">Scalar or vector property optionally associated with each point in a volumetric frame such as color, reflectance, surface normal, timestamps, material ID, etc.</dd>
            <dt pn="section-3.2.2-1.11">coded atlas sequence:</dt>
            <dd pn="section-3.2.2-1.12">Sequence of coded atlas access units that consists, 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.</dd>
            <dt pn="section-3.2.2-1.13">coded atlas access unit:</dt>
            <dd pn="section-3.2.2-1.14">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.</dd>
            <dt pn="section-3.2.2-1.15">coded V3C sequence:</dt>
            <dd pn="section-3.2.2-1.16">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.</dd>
            <dt pn="section-3.2.2-1.17">network abstraction layer unit:</dt>
            <dd pn="section-3.2.2-1.18">Syntax structure containing an indication of the type of data to follow and bytes containing that data in the form of an RBSP.</dd>
            <dt pn="section-3.2.2-1.19">patch:</dt>
            <dd pn="section-3.2.2-1.20">Rectangular region within an atlas associated with volumetric information.</dd>
            <dt pn="section-3.2.2-1.21">raw byte sequence payload:</dt>
            <dd pn="section-3.2.2-1.22">Syntax structure containing an integer number of bytes that is encapsulated in a NAL unit and that either is 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.</dd>
            <dt pn="section-3.2.2-1.23">tile:</dt>
            <dd pn="section-3.2.2-1.24">Independently decodable rectangular region of an atlas frame.</dd>
            <dt pn="section-3.2.2-1.25">V3C atlas sub-bitstream:</dt>
            <dd pn="section-3.2.2-1.26">Extracted sub-bitstream from the V3C bitstream containing a whole or portion of an atlas bitstream.</dd>
            <dt pn="section-3.2.2-1.27">V3C video sub-bitstream:</dt>
            <dd pn="section-3.2.2-1.28">Extracted sub-bitstream from the V3C bitstream containing a whole or portion of a video bitstream.</dd>
            <dt pn="section-3.2.2-1.29">V3C component:</dt>
            <dd pn="section-3.2.2-1.30">Atlas, occupancy, geometry, or attribute of a particular type that is associated with a V3C volumetric content representation.</dd>
            <dt pn="section-3.2.2-1.31">V3C parameter set:</dt>
            <dd pn="section-3.2.2-1.32">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.</dd>
            <dt pn="section-3.2.2-1.33">volumetric frame:</dt>
            <dd pn="section-3.2.2-1.34">Set of 3D points specified by their Cartesian coordinates and zero or more corresponding sets of attributes at a particular time instance.</dd>
          </dl>
        </section>
      </section>
    </section>
    <section anchor="media-format-description" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-media-format-description">Media Format Description</name>
      <section anchor="overview-of-the-v3c-codec-informative" numbered="true" removeInRFC="false" toc="include" pn="section-4.1">
        <name slugifiedName="name-overview-of-the-v3c-codec-i">Overview of the V3C Codec (Informative)</name>
        <t indent="0" pn="section-4.1-1">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 indent="0" pn="section-4.1-2">2D representations, known as V3C video components, of a volumetric frame are encoded using conventional 2D video codecs. A 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., color or material information. A voxel is the smallest discrete addressable element in a 3D space, analogous to a pixel in 2D.</t>
        <t indent="0" pn="section-4.1-3">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 a 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 a 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 indent="0" pn="section-4.1-4">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 indent="0" pn="section-4.1-5">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. The 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" format="default" sectionFormat="of" derivedContent="ISO.IEC.23008-2"/>) that could be decoded by an appropriate video decoder. An example of a 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" format="default" sectionFormat="of" derivedContent="Figure 1"/>.</t>
        <figure anchor="fig-V3C-bitstream" align="left" suppress-title="false" pn="figure-1">
          <name slugifiedName="name-example-of-a-v3c-bitstream">Example of a V3C Bitstream</name>
          <artwork align="left" pn="section-4.1-6.1">
  +-------------------+------------------+-------------------+
  | 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" numbered="true" removeInRFC="false" toc="include" pn="section-4.2">
        <name slugifiedName="name-v3c-parameter-set-informati">V3C Parameter Set (Informative)</name>
        <t indent="0" pn="section-4.2-1">This document specifies an encapsulation of V3C atlas data. Aspects related to signaling of V3C parameter set, defined in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>, are also considered. A 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" format="default" sectionFormat="of" derivedContent="Section 9"/> of this document specifies how a V3C parameter set can be signaled using the Session Description Protocol (SDP).</t>
        <t indent="0" pn="section-4.2-2">Generally, it is useful to signal a V3C parameter set out of band, because it describes what overall resources are needed to decode and reconstruct the associated V3C bitstream. Signaling it dynamically as part of an RTP stream might result in undefined behavior when the 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" numbered="true" removeInRFC="false" toc="include" pn="section-4.3">
        <name slugifiedName="name-v3c-atlas-and-video-compone">V3C Atlas and Video Components (Informative)</name>
        <section anchor="general-1" numbered="true" removeInRFC="false" toc="include" pn="section-4.3.1">
          <name slugifiedName="name-general-2">General</name>
          <t indent="0" pn="section-4.3.1-1">In the V3C bitstream, the atlas component is identified by vuh_unit_type equal to V3C_AD, or V3C_CAD in the 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" format="default" sectionFormat="of" derivedContent="Section 4.3.2"/>. 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., color.</t>
          <t indent="0" pn="section-4.3.1-2">The information supplied by a V3C unit header should be provided in one form or another to a V3C decoder, e.g., as part of SDP as described in <xref target="Session-Description-Protocol" format="default" sectionFormat="of" derivedContent="Section 9"/>. The four-byte V3C unit header syntax and semantics are copied below as defined in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="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" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. The syntax of four-byte V3C unit header is provided here for informative purposes only. The integers in the parentheses, e.g., unsigned int(5), indicate the number of bits used by the syntax element.</t>
          <sourcecode type="pseudocode" markers="false" pn="section-4.3.1-3">
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;
  }
}</sourcecode>
          <t indent="0" pn="section-4.3.1-4">vuh_unit_type indicates the V3C unit type for the V3C component as specified in  <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. For convenience, the mapping table from vuh_unit_type values to semantics is shown in <xref target="_table-sprop-v3c-unit-type-descriptions" format="default" sectionFormat="of" derivedContent="Table 1"/>.</t>
          <table anchor="_table-sprop-v3c-unit-type-descriptions" align="center" pn="table-1">
            <name slugifiedName="name-v3c-unit-type-semantics">V3C Unit Type Semantics</name>
            <thead>
              <tr>
                <th align="left" colspan="1" rowspan="1">vuh_unit_type</th>
                <th align="left" colspan="1" rowspan="1">Identifier</th>
                <th align="left" colspan="1" rowspan="1">V3C unit type</th>
                <th align="left" colspan="1" rowspan="1">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left" colspan="1" rowspan="1">0</td>
                <td align="left" colspan="1" rowspan="1">V3C_VPS</td>
                <td align="left" colspan="1" rowspan="1">V3C parameter set</td>
                <td align="left" colspan="1" rowspan="1">V3C level parameters</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">1</td>
                <td align="left" colspan="1" rowspan="1">V3C_AD</td>
                <td align="left" colspan="1" rowspan="1">Atlas data</td>
                <td align="left" colspan="1" rowspan="1">Atlas information</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">2</td>
                <td align="left" colspan="1" rowspan="1">V3C_OVD</td>
                <td align="left" colspan="1" rowspan="1">Occupancy video data</td>
                <td align="left" colspan="1" rowspan="1">Occupancy information</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">3</td>
                <td align="left" colspan="1" rowspan="1">V3C_GVD</td>
                <td align="left" colspan="1" rowspan="1">Geometry video data</td>
                <td align="left" colspan="1" rowspan="1">Geometry information</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">4</td>
                <td align="left" colspan="1" rowspan="1">V3C_AVD</td>
                <td align="left" colspan="1" rowspan="1">Attribute video data</td>
                <td align="left" colspan="1" rowspan="1">Attribute information</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">5</td>
                <td align="left" colspan="1" rowspan="1">V3C_PVD</td>
                <td align="left" colspan="1" rowspan="1">Packed video data</td>
                <td align="left" colspan="1" rowspan="1">Packing information</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">6</td>
                <td align="left" colspan="1" rowspan="1">V3C_CAD</td>
                <td align="left" colspan="1" rowspan="1">Common atlas data</td>
                <td align="left" colspan="1" rowspan="1">Information that is common for atlases in a CVS. Specified in ISO/IEC 23090-12.</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">7...31</td>
                <td align="left" colspan="1" rowspan="1">V3C_RSVD</td>
                <td align="left" colspan="1" rowspan="1">Reserved</td>
                <td align="left" colspan="1" rowspan="1">-</td>
              </tr>
            </tbody>
          </table>
          <t indent="0" pn="section-4.3.1-6">vuh_v3c_parameter_set_id specifies the value of vps_v3c_parameter_set_id for the active V3C VPS.</t>
          <t indent="0" pn="section-4.3.1-7">vuh_atlas_id specifies the ID of the atlas that corresponds to the current V3C unit.</t>
          <t indent="0" pn="section-4.3.1-8">vuh_attribute_index indicates the index of the attribute data carried in the Attribute Video Data unit.</t>
          <t indent="0" pn="section-4.3.1-9">vuh_attribute_partition_index indicates the index of the attribute dimension group carried in the attribute video data unit.</t>
          <t indent="0" pn="section-4.3.1-10">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 indent="0" pn="section-4.3.1-11">vuh_auxiliary_video_flag equal to 1 indicates that the associated geometry or attribute video sub-bitstream contains only RAW and/or enhanced occupancy map (EOM) coded points.</t>
        </section>
        <section anchor="Atlas-NAL-units" numbered="true" removeInRFC="false" toc="include" pn="section-4.3.2">
          <name slugifiedName="name-atlas-nal-units">Atlas NAL Units</name>
          <t indent="0" pn="section-4.3.2-1">The atlas NAL unit (nal_unit(NumBytesInNalUnit)) is a byte-aligned syntax structure defined by <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/> to carry atlas data. The atlas NAL unit always contains a 16-bit NAL unit header (nal_unit_header()), which indicates the type of the NAL unit (nal_unit_type) among other things. 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" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>.</t>
          <sourcecode type="pseudocode" markers="false" pn="section-4.3.2-2">
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 &lt; NumBytesInNalUnit; i++ )
      bit(8) rbsp_byte[ NumBytesInRbsp++ ];
}</sourcecode>
          <t indent="0" pn="section-4.3.2-3">nal_forbidden_zero_bit provides means for indicating errors in NAL units.</t>
          <t indent="0" pn="section-4.3.2-4">nal_unit_type indicates the type of the RBSP data structure contained in the NAL unit.</t>
          <t indent="0" pn="section-4.3.2-5">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 indent="0" pn="section-4.3.2-6">nal_temporal_id_plus1 minus 1 indicates a temporal identifier for the NAL unit.</t>
        </section>
      </section>
      <section anchor="systems-and-transport-interfaces-informative" numbered="true" removeInRFC="false" toc="include" pn="section-4.4">
        <name slugifiedName="name-systems-and-transport-inter">Systems and Transport Interfaces (Informative)</name>
        <t indent="0" pn="section-4.4-1">In addition to releasing specifications on V3C applications <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/> and <xref target="ISO.IEC.23090-12" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-12"/>, MPEG conducted further systems-level work on file formats to encapsulate compressed V3C content. The seventh edition of the ISO Base Media File Format (ISOBMFF) specification <xref target="ISO.IEC.14496-12" format="default" sectionFormat="of" derivedContent="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 indent="0" pn="section-4.4-2">One of such derived specifications is <xref target="ISO.IEC.23090-10" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-10"/>, which defines how V3C content can be stored in a file and streamed over DASH <xref target="ISO.IEC.23009-1" format="default" sectionFormat="of" derivedContent="ISO.IEC.23009-1"/>. 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" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-v3c-atlas-rtp-payload-forma">V3C Atlas RTP Payload Format</name>
      <section anchor="general-2" numbered="true" removeInRFC="false" toc="include" pn="section-5.1">
        <name slugifiedName="name-general-3">General</name>
        <t indent="0" pn="section-5.1-1">This section describes details related to V3C atlas RTP payload format definitions. Aspects related to the RTP header, RTP payload header, and general payload structure are considered. RTP payload format(s) for video components is defined in its respective RTP payload format specifications depending on the video codec used.</t>
      </section>
      <section anchor="rtp-header" numbered="true" removeInRFC="false" toc="include" pn="section-5.2">
        <name slugifiedName="name-rtp-header">RTP Header</name>
        <t indent="0" pn="section-5.2-1">The format of the RTP header is specified in <xref target="RFC3550" format="default" sectionFormat="of" derivedContent="RFC3550"/> and replicated in <xref target="fig-RTP-header" format="default" sectionFormat="of" derivedContent="Figure 2"/> for convenience. V3C RTP payload format uses the fields of the RTP header in a manner consistent with <xref target="RFC3550" format="default" sectionFormat="of" derivedContent="RFC3550"/>. Unless contextualized below, the meaning of the fields depicted in <xref target="fig-RTP-header" format="default" sectionFormat="of" derivedContent="Figure 2"/> is the same as in <xref section="5.1" target="RFC3550" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc3550#section-5.1" derivedContent="RFC3550"/>.</t>
        <figure anchor="fig-RTP-header" align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-rtp-header-2">RTP Header</name>
          <artwork align="left" pn="section-5.2-2.1">
   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>
        <dl spacing="normal" newline="true" indent="3" pn="section-5.2-3">
          <dt pn="section-5.2-3.1">Marker bit (M): 1 bit</dt>
          <dd pn="section-5.2-3.2">Set for the last packet of the access unit and 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.</dd>
          <dt pn="section-5.2-3.3">Payload Type (PT): 7 bits</dt>
          <dd pn="section-5.2-3.4">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 <bcp14>MUST</bcp14> be performed either through the profile used or in a dynamic way.</dd>
          <dt pn="section-5.2-3.5">Timestamp: 32 bits</dt>
          <dd pn="section-5.2-3.6">The RTP timestamp is set to the sampling timestamp of the content. A 90 kHz clock rate <bcp14>MUST</bcp14> be used.</dd>
        </dl>
        <t indent="0" pn="section-5.2-4">If the NAL unit has no timing properties of its own (e.g., parameter set and Supplemental Enhancement Information (SEI) NAL units), the RTP timestamp <bcp14>MUST</bcp14> 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" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>) is included.</t>
        <t indent="0" pn="section-5.2-5">Receivers <bcp14>MUST</bcp14> 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" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>.</t>
        <t indent="0" pn="section-5.2-6">The remaining RTP header fields are used as specified in <xref target="RFC3550" format="default" sectionFormat="of" derivedContent="RFC3550"/>.</t>
      </section>
      <section anchor="rtp-payload-header" numbered="true" removeInRFC="false" toc="include" pn="section-5.3">
        <name slugifiedName="name-rtp-payload-header">RTP Payload Header</name>
        <t indent="0" pn="section-5.3-1">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" format="default" sectionFormat="of" derivedContent="Section 4.3.2"/>, irrespective of the type of the payload structure. For convenience, the structure of RTP payload header is shown in <xref target="fig-RTP-payload-header" format="default" sectionFormat="of" derivedContent="Figure 3"/>.</t>
        <figure anchor="fig-RTP-payload-header" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-rtp-payload-header-2">RTP Payload Header</name>
          <artwork align="left" pn="section-5.3-2.1">
   0                   1
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |F|    NUT    |    NLI    | TID |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <dl spacing="normal" newline="false" indent="3" pn="section-5.3-3">
          <dt pn="section-5.3-3.1">F:</dt>
          <dd pn="section-5.3-3.2">
            <t indent="0" pn="section-5.3-3.2.1">The nal_forbidden_zero_bit as specified in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/> is equal to 0. A value equal to 1 indicates that the payload may contain errors or syntax violations.</t>
            <t indent="0" pn="section-5.3-3.2.2">Media processing elements in the network that are capable of deep packet inspection <bcp14>SHOULD</bcp14> set the F bit to 1 to indicate detected bit errors in the NAL unit(s). A receiver reaction to an RTP payload header in which the F bit is equal to 1 is to discard such RTP packet and to conceal the lost data in the discarded NAL unit(s).</t>
          </dd>
          <dt pn="section-5.3-3.3">NUT:</dt>
          <dd pn="section-5.3-3.4">The nal_unit_type as specified in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="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.</dd>
          <dt pn="section-5.3-3.5">NLI:</dt>
          <dd pn="section-5.3-3.6">The nal_layer_id as specified in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="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.</dd>
          <dt pn="section-5.3-3.7">TID:</dt>
          <dd pn="section-5.3-3.8">The nal_temporal_id_plus1 minus 1 as specified in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/> defines a temporal identifier for the NAL unit. The value of nal_temporal_id_plus1 <bcp14>MUST NOT</bcp14> be equal to 0.</dd>
        </dl>
      </section>
      <section anchor="payload-structures" numbered="true" removeInRFC="false" toc="include" pn="section-5.4">
        <name slugifiedName="name-payload-structures">Payload Structures</name>
        <section anchor="general-3" numbered="true" removeInRFC="false" toc="include" pn="section-5.4.1">
          <name slugifiedName="name-general-4">General</name>
          <t indent="0" pn="section-5.4.1-1">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 indent="0" pn="section-5.4.1-2">The three different payload structures are as follows:</t>
          <dl spacing="normal" indent="3" newline="false" pn="section-5.4.1-3">
            <dt pn="section-5.4.1-3.1">Single NAL Unit Packet:</dt>
            <dd pn="section-5.4.1-3.2">Contains a single NAL unit in the payload. This payload structure is specified in <xref target="Single-NAL-unit-packet" format="default" sectionFormat="of" derivedContent="Section 5.4.2"/>.</dd>
            <dt pn="section-5.4.1-3.3">Aggregation Packet:</dt>
            <dd pn="section-5.4.1-3.4">Contains multiple NAL units in a single RTP payload. This payload structure is specified in <xref target="Aggregation-packet" format="default" sectionFormat="of" derivedContent="Section 5.4.3"/>.</dd>
            <dt pn="section-5.4.1-3.5">Fragmentation Unit (FU):</dt>
            <dd pn="section-5.4.1-3.6">Contains a subset of a single NAL unit. This payload structure is specified in <xref target="Fragmentation-unit" format="default" sectionFormat="of" derivedContent="Section 5.4.4"/>.</dd>
          </dl>
          <aside pn="section-5.4.1-4">
            <t indent="0" pn="section-5.4.1-4.1">NOTE (informative): This document does not limit the size of NAL units encapsulated in NAL unit packets and fragmentation units. <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="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>
            <t indent="0" pn="section-5.4.1-4.2">NOTE (informative): Some of the fields described in the payload structures are conditional and their presence is indicated through the relevant parameters as defined in <xref target="Optional-parameters-definition" format="default" sectionFormat="of" derivedContent="Section 7.3"/>. These parameters are assumed to be made available prior to sending any RTP packets.</t>
          </aside>
        </section>
        <section anchor="Single-NAL-unit-packet" numbered="true" removeInRFC="false" toc="include" pn="section-5.4.2">
          <name slugifiedName="name-single-nal-unit-packet">Single NAL Unit Packet</name>
          <t indent="0" pn="section-5.4.2-1">A 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 <bcp14>MUST</bcp14> only contain atlas NAL units of the types defined in Table 4 of <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. The structure of the single NAL unit packet is shown in <xref target="fig-single-nal-unit-packet" format="default" sectionFormat="of" derivedContent="Figure 4"/>.</t>
          <figure anchor="fig-single-nal-unit-packet" align="left" suppress-title="false" pn="figure-4">
            <name slugifiedName="name-single-nal-unit-packet-2">Single NAL Unit Packet</name>
            <artwork align="left" pn="section-5.4.2-2.1">
   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 indent="0" pn="section-5.4.2-3">The RTP payload header <bcp14>MUST</bcp14> be an exact copy of the NAL unit header of the contained NAL unit.</t>
          <t indent="0" pn="section-5.4.2-4">A NAL unit stream composed by de-packetizing single NAL unit packets in RTP sequence number order <bcp14>MUST</bcp14> conform to the NAL unit decoding order when DONL is not present.</t>
          <t indent="0" pn="section-5.4.2-5">The DONL field, when present, specifies the value of the 16-bit decoding order number of the contained NAL unit. The decoding order number indicates the order in which the received NAL units should be reordered to form a bitstream that can be successfully decoded. If sprop-max-don-diff is greater than 0 for any of the RTP streams, the DONL field <bcp14>MUST</bcp14> be present; otherwise, the DONL field <bcp14>MUST NOT</bcp14> be present.</t>
          <t indent="0" pn="section-5.4.2-6">The v3c-tile-id field, when present, specifies the 16-bit tile identifier for the NAL unit as signaled in the V3C atlas tile header defined in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. If sprop-v3c-tile-id-pres is equal to 1 and the RTP payload header NUT is in range 0-35 inclusive, the v3c-tile-id field <bcp14>MUST</bcp14> be present. Otherwise, the v3c-tile-id field <bcp14>MUST NOT</bcp14> be present.</t>
          <aside pn="section-5.4.2-7">
            <t indent="0" pn="section-5.4.2-7.1">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" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>.</t>
          </aside>
          <t indent="0" pn="section-5.4.2-8">The presence of the "<bcp14>OPTIONAL</bcp14> RTP padding" is indicated by the padding (P) bit in the RTP header. As defined in <xref target="RFC3550" format="default" sectionFormat="of" derivedContent="RFC3550"/>, the last octet of the padding contains a count of how many padding octets should be ignored, including itself.</t>
        </section>
        <section anchor="Aggregation-packet" numbered="true" removeInRFC="false" toc="include" pn="section-5.4.3">
          <name slugifiedName="name-aggregation-packet">Aggregation Packet</name>
          <t indent="0" pn="section-5.4.3-1">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 indent="0" pn="section-5.4.3-2">APs <bcp14>MAY</bcp14> 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 <bcp14>MUST</bcp14> contain the RTP payload header. The NAL unit type (NUT) for the NAL unit header contained in the RTP payload header <bcp14>MUST</bcp14> be equal to 56, which falls in the unspecified range of the NAL unit types defined in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. An AP <bcp14>MAY</bcp14> contain a conditional v3c-tile-id field. An AP <bcp14>MUST</bcp14> contain two or more AUs. The structure of an AP is shown in <xref target="fig-aggregation-packet" format="default" sectionFormat="of" derivedContent="Figure 5"/>.</t>
          <figure anchor="fig-aggregation-packet" align="left" suppress-title="false" pn="figure-5">
            <name slugifiedName="name-aggregation-packet-ap">Aggregation Packet (AP)</name>
            <artwork align="left" pn="section-5.4.3-3.1">
   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 indent="0" pn="section-5.4.3-4">The fields in the payload header are set as follows. The F bit <bcp14>MUST</bcp14> be equal to 0 if the F bit of each aggregated NAL unit is equal to zero; otherwise, it <bcp14>MUST</bcp14> be equal to 1. The NUT field <bcp14>MUST</bcp14> be equal to 56. The value of NLI <bcp14>MUST</bcp14> be equal to the lowest value of NLI of all the aggregated NAL units. The value of TID <bcp14>MUST</bcp14> be the lowest value of TID of all the aggregated NAL units.</t>
          <t indent="0" pn="section-5.4.3-5">All ACL NAL units in an aggregation packet have the same TID value since they belong to the same access unit. However, the packet <bcp14>MAY</bcp14> contain non-ACL NAL units for which the TID value in the NAL unit header <bcp14>MAY</bcp14> be different than the TID value of the ACL NAL units in the same AP.</t>
          <t indent="0" pn="section-5.4.3-6">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 <bcp14>MUST</bcp14> be present. Otherwise, the v3c-tile-id field <bcp14>MUST NOT</bcp14> be present.</t>
          <t indent="0" pn="section-5.4.3-7">The presence of the "<bcp14>OPTIONAL</bcp14> RTP padding" is indicated by the padding (P) bit in the RTP header. As defined in <xref target="RFC3550" format="default" sectionFormat="of" derivedContent="RFC3550"/> the last octet of the padding contains a count of how many padding octets should be ignored, including itself.</t>
          <t indent="0" pn="section-5.4.3-8">An AP <bcp14>MUST</bcp14> carry at least two AUs and can carry as many AUs as necessary. However, the total amount of data in an AP <bcp14>MUST</bcp14> fit into an IP packet, and the size <bcp14>SHOULD</bcp14> be chosen so that the resulting IP packet is smaller than the local 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" format="default" sectionFormat="of" derivedContent="Figure 6"/>.</t>
          <figure anchor="fig-aggregation-unit" align="left" suppress-title="false" pn="figure-6">
            <name slugifiedName="name-aggregation-unit-au">Aggregation Unit (AU)</name>
            <artwork align="left" pn="section-5.4.3-9.1">
   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 indent="0" pn="section-5.4.3-10">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 <bcp14>MUST</bcp14> 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 indent="0" pn="section-5.4.3-11">When sprop-max-don-diff is equal to 0 for all the RTP streams, DOND/DONL fields <bcp14>MUST NOT</bcp14> be present in an aggregation unit. The aggregation units <bcp14>MUST</bcp14> 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 <bcp14>SHOULD</bcp14> contain the NAL unit that <bcp14>SHOULD</bcp14> be decoded first.</t>
          <t indent="0" pn="section-5.4.3-12">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 <bcp14>MUST</bcp14> be present in the aggregation unit after the conditional DOND/DONL field; otherwise, the v3c-tile-id field <bcp14>MUST NOT</bcp14> be present in the aggregation unit.</t>
          <t indent="0" pn="section-5.4.3-13">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 <bcp14>SHOULD</bcp14> contain the NAL unit (including the unmodified NAL unit header).</t>
        </section>
        <section anchor="Fragmentation-unit" numbered="true" removeInRFC="false" toc="include" pn="section-5.4.4">
          <name slugifiedName="name-fragmentation-unit">Fragmentation Unit</name>
          <t indent="0" pn="section-5.4.4-1">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 <bcp14>MUST</bcp14> 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 indent="0" pn="section-5.4.4-2">When a NAL unit is fragmented and conveyed within FUs, it is referred to as a fragmented NAL unit. Aggregation packets <bcp14>MUST NOT</bcp14> be fragmented. FUs <bcp14>MUST NOT</bcp14> be nested; i.e., an FU <bcp14>MUST NOT</bcp14> 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 indent="0" pn="section-5.4.4-3">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" format="default" sectionFormat="of" derivedContent="Figure 7"/>.</t>
          <figure anchor="fig-fragmentation-unit" align="left" suppress-title="false" pn="figure-7">
            <name slugifiedName="name-fragmentation-unit-2">Fragmentation Unit</name>
            <artwork align="left" pn="section-5.4.4-4.1">
   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 indent="0" pn="section-5.4.4-5">The fields in the RTP payload header are set as follows. The NUT field <bcp14>MUST</bcp14> be equal to 57. The rest of the fields <bcp14>MUST</bcp14> be equal to the fragmented NAL unit.</t>
          <t indent="0" pn="section-5.4.4-6">The presence of the "<bcp14>OPTIONAL</bcp14> RTP padding" is indicated by the padding (P) bit in the RTP header. As defined in <xref target="RFC3550" format="default" sectionFormat="of" derivedContent="RFC3550"/>, the last octet of the padding contains a count of how many padding octets should be ignored, including itself.</t>
          <t indent="0" pn="section-5.4.4-7">The FU header consists of an S bit, an E bit, and a 6-bit fragmentation unit type (FUT) field. The structure of FU header is illustrated in <xref target="fig-fragmentation-unit-header" format="default" sectionFormat="of" derivedContent="Figure 8"/>.</t>
          <figure anchor="fig-fragmentation-unit-header" align="left" suppress-title="false" pn="figure-8">
            <name slugifiedName="name-fragmentation-unit-header">Fragmentation Unit Header</name>
            <artwork align="left" pn="section-5.4.4-8.1">
   0 1 2 3 4 5 6 7
  +-+-+-+-+-+-+-+-+
  |S|E|    FUT    |
  +-+-+-----------+</artwork>
          </figure>
          <t indent="0" pn="section-5.4.4-9">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 <bcp14>MUST</bcp14> be set to 0.</t>
          <t indent="0" pn="section-5.4.4-10">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 <bcp14>MUST</bcp14> be set to 0.</t>
          <t indent="0" pn="section-5.4.4-11">The field FUT <bcp14>MUST</bcp14> be equal to the nal_unit_type of the fragmented NAL unit.</t>
          <t indent="0" pn="section-5.4.4-12">A non-fragmented NAL unit <bcp14>MUST NOT</bcp14> be transmitted in one FU; i.e., the Start bit and End bit <bcp14>MUST NOT</bcp14> both be set to 1 in the same FU header.</t>
          <t indent="0" pn="section-5.4.4-13">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 <bcp14>MUST</bcp14> 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 <bcp14>MUST NOT</bcp14> be present in the FU.</t>
          <t indent="0" pn="section-5.4.4-14">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 <bcp14>MUST</bcp14> be present after the conditional DONL field. Otherwise, the v3c-tile-id field <bcp14>MUST NOT</bcp14> be present.</t>
          <t indent="0" pn="section-5.4.4-15">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 indent="0" pn="section-5.4.4-16">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 the F, NLI, and TID fields of the RTP payload headers of the FUs and the FUT field of the FU header. An FU payload <bcp14>MUST NOT</bcp14> be empty.</t>
          <t indent="0" pn="section-5.4.4-17">If an FU is lost, the receiver <bcp14>SHOULD</bcp14> 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" numbered="true" removeInRFC="false" toc="include" pn="section-5.4.5">
          <name slugifiedName="name-example-of-fragmentation-un">Example of Fragmentation Unit (Informative)</name>
          <t indent="0" pn="section-5.4.5-1">This example illustrates how a fragmentation unit may be used to divide one NAL unit into two RTP packets. <xref target="fig-fragmentation-unit-packet-1" format="default" sectionFormat="of" derivedContent="Figure 9"/> depicts the structure of the first packet with the first part of the fragmented NAL unit.</t>
          <figure anchor="fig-fragmentation-unit-packet-1" align="left" suppress-title="false" pn="figure-9">
            <name slugifiedName="name-first-packet-of-fragmented-">First Packet of Fragmented NAL Unit</name>
            <artwork align="left" pn="section-5.4.5-2.1">
   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 indent="0" pn="section-5.4.5-3"><xref target="fig-fragmentation-unit-packet-2" format="default" sectionFormat="of" derivedContent="Figure 10"/> depicts the structure of the second packet with the rest of the fragmented NAL unit.</t>
          <figure anchor="fig-fragmentation-unit-packet-2" align="left" suppress-title="false" pn="figure-10">
            <name slugifiedName="name-second-packet-of-fragmented">Second Packet of Fragmented NAL Unit</name>
            <artwork align="left" pn="section-5.4.5-4.1">
   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" numbered="true" removeInRFC="false" toc="include" pn="section-5.5">
        <name slugifiedName="name-decoding-order-number">Decoding Order Number</name>
        <t indent="0" pn="section-5.5-1">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 indent="0" pn="section-5.5-2">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 indent="0" pn="section-5.5-3">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>
        <sourcecode type="pseudocode" markers="false" pn="section-5.5-4">
  If (n == 0)
    AbsDon[n] = DON[0]
  Else
    If (DON[n] == DON[n-1])
      AbsDon[n] = AbsDon[n-1]
    If (DON[n] &gt; DON[n-1] and DON[n] - DON[n-1] &lt; 32768)
      AbsDon[n] = AbsDon[n-1] + DON[n] - DON[n-1]
    If (DON[n] &lt; DON[n-1] and DON[n-1] - DON[n] &gt;= 32768)
      AbsDon[n] = AbsDon[n-1] + 65536 - DON[n-1] + DON[n]
    If (DON[n] &gt; DON[n-1] and DON[n] - DON[n-1] &gt;= 32768)
      AbsDon[n] = AbsDon[n-1] - (DON[n-1] + 65536 - DON[n])
    If (DON[n] &lt; DON[n-1] and DON[n-1] - DON[n] &lt; 32768)
      AbsDon[n] = AbsDon[n-1] - (DON[n-1] - DON[n])</sourcecode>
        <t indent="0" pn="section-5.5-5">For any two NAL units m and n, the following applies:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.5-6">
          <li pn="section-5.5-6.1">
            <t indent="0" pn="section-5.5-6.1.1">AbsDon[n] greater than AbsDon[m] indicates that NAL unit n follows NAL unit m in NAL unit decoding order.</t>
          </li>
          <li pn="section-5.5-6.2">
            <t indent="0" pn="section-5.5-6.2.1">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 pn="section-5.5-6.3">
            <t indent="0" pn="section-5.5-6.3.1">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" numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-packetization-and-de-packet">Packetization and De-Packetization Rules</name>
      <t indent="0" pn="section-6-1">The following packetization rules apply for V3C atlas data:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-6-2">
        <li pn="section-6-2.1">
          <t indent="0" pn="section-6-2.1.1">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 <bcp14>MAY</bcp14> 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 <bcp14>MUST</bcp14> be the same as the NAL unit decoding order.</t>
        </li>
        <li pn="section-6-2.2">
          <t indent="0" pn="section-6-2.2.1">A NAL unit of a small size <bcp14>SHOULD</bcp14> 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 pn="section-6-2.3">
          <t indent="0" pn="section-6-2.3.1">Each non-ACL NAL unit <bcp14>SHOULD</bcp14>, 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 pn="section-6-2.4">
          <t indent="0" pn="section-6-2.4.1">For carrying exactly one NAL unit in an RTP packet, a single NAL unit packet (<xref target="Single-NAL-unit-packet" format="default" sectionFormat="of" derivedContent="Section 5.4.2"/>) <bcp14>MUST</bcp14> be used.</t>
        </li>
      </ul>
      <t indent="0" pn="section-6-3">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 indent="0" pn="section-6-4">The de-packetization process is implementation dependent. Therefore, the following de-packetization rules <bcp14>SHOULD</bcp14> be taken as an example.</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-6-5">
        <li pn="section-6-5.1">
          <t indent="0" pn="section-6-5.1.1">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 pn="section-6-5.2">
          <t indent="0" pn="section-6-5.2.1">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 <bcp14>MUST NOT</bcp14> be passed to the decoder.</t>
        </li>
        <li pn="section-6-5.3">
          <t indent="0" pn="section-6-5.3.1">When sprop-max-don-diff is equal to 0 for the received RTP stream, the NAL units carried in the RTP stream <bcp14>MAY</bcp14> be directly passed to the decoder in their transmission order, which is identical to their decoding order.</t>
        </li>
        <li pn="section-6-5.4">
          <t indent="0" pn="section-6-5.4.1">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 pn="section-6-5.5">
          <t indent="0" pn="section-6-5.5.1">For further de-packetization examples, the reader is referred to <xref section="6" target="RFC7798" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc7798#section-6" derivedContent="RFC7798"/>.</t>
        </li>
      </ul>
      <t indent="0" pn="section-6-6">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" numbered="true" removeInRFC="false" toc="include" pn="section-7">
      <name slugifiedName="name-payload-format-parameters">Payload Format Parameters</name>
      <t indent="0" pn="section-7-1">This section specifies the optional parameters. A mapping of the parameters into the Session Description Protocol (SDP) <xref target="RFC8866" format="default" sectionFormat="of" derivedContent="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>
      <t indent="0" pn="section-7-2">The receiver <bcp14>MUST</bcp14> ignore any parameter unspecified in this section.</t>
      <section anchor="Media-type-definition" numbered="true" removeInRFC="false" toc="include" pn="section-7.1">
        <name slugifiedName="name-media-type-registration">Media Type Registration</name>
        <t indent="0" pn="section-7.1-1">See <xref target="Media-type-registration" format="default" sectionFormat="of" derivedContent="Section 10.1"/> for information related to media type registration.</t>
      </section>
      <section anchor="Required-parameters-definition" numbered="true" removeInRFC="false" toc="include" pn="section-7.2">
        <name slugifiedName="name-required-parameters-definit">Required Parameters Definition</name>
        <dl spacing="normal" newline="true" indent="8" pn="section-7.2-1">
          <dt pn="section-7.2-1.1">sprop-v3c-parameter-set:</dt>
          <dd pn="section-7.2-1.2">
            <t indent="0" pn="section-7.2-1.2.1">sprop-v3c-parameter-set provides V3C parameter set bytes as defined in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. The value contains a base64-encoded <xref target="RFC4648" format="default" sectionFormat="of" derivedContent="RFC4648"/> representation of the v3c_parameter_set() syntax element.</t>
          </dd>
        </dl>
      </section>
      <section anchor="Optional-parameters-definition" numbered="true" removeInRFC="false" toc="include" pn="section-7.3">
        <name slugifiedName="name-definitions-of-optional-par">Definitions of Optional Parameters</name>
        <dl spacing="normal" newline="true" indent="8" pn="section-7.3-1">
          <dt pn="section-7.3-1.1">sprop-v3c-unit-header:</dt>
          <dd pn="section-7.3-1.2">
            <t indent="0" pn="section-7.3-1.2.1">sprop-v3c-unit-header provides bytes corresponding to a V3C unit header as defined in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. The value contains a base64-encoded <xref target="RFC4648" format="default" sectionFormat="of" derivedContent="RFC4648"/> representation of the 4 bytes of V3C unit header. V3C unit header indicates the details of which V3C component the media corresponds to.</t>
            <t indent="0" pn="section-7.3-1.2.2">sprop-v3c-unit-header contains the same information as 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, and sprop-v3c-aux-video-flag combined. To avoid the potential of signaling conflicting information, the separate parameters <bcp14>MUST NOT</bcp14> be present when sprop-v3c-unit-header is present.</t>
          </dd>
          <dt pn="section-7.3-1.3">sprop-v3c-unit-type:</dt>
          <dd pn="section-7.3-1.4">
            <t indent="0" pn="section-7.3-1.4.1">sprop-v3c-unit-type provides a V3C unit type value corresponding to vuh_unit_type defined in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>, i.e., defines a V3C sub-bitstream type such as geometry, occupancy, atlas data, or attribute.</t>
            <t indent="0" pn="section-7.3-1.4.2">When sprop-v3c-unit-header is present, sprop-v3c-unit-type <bcp14>MUST NOT</bcp14> be present. When present, the value of sprop-v3c-unit-type <bcp14>SHALL</bcp14> be in the range of 1 to 31 inclusive.</t>
          </dd>
          <dt pn="section-7.3-1.5">sprop-v3c-vps-id:</dt>
          <dd pn="section-7.3-1.6">
            <t indent="0" pn="section-7.3-1.6.1">sprop-v3c-vps-id provides a value corresponding to active vuh_v3c_parameter_set_id defined in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>, i.e., defines the value of the active V3C parameter set id.</t>
            <t indent="0" pn="section-7.3-1.6.2">When sprop-v3c-unit-header is present, sprop-v3c-vps-id <bcp14>MUST NOT</bcp14> be present. When present, the value of sprop-v3c-vps-id <bcp14>SHALL</bcp14> be in the range of 0 to 15 inclusive.</t>
          </dd>
          <dt pn="section-7.3-1.7">sprop-v3c-atlas-id:</dt>
          <dd pn="section-7.3-1.8">
            <t indent="0" pn="section-7.3-1.8.1">sprop-v3c-atlas-id provides a value corresponding to vuh_atlas_id defined in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. When a V3C bitstream consists of multiple atlases, this parameter indicates the atlas id for the media component.</t>
            <t indent="0" pn="section-7.3-1.8.2">When sprop-v3c-unit-header is present, sprop-v3c-atlas-id <bcp14>MUST NOT</bcp14> be present. When present, the value of sprop-v3c-atlas-id <bcp14>SHALL</bcp14> be in the range of 0 to 63 inclusive.</t>
          </dd>
          <dt pn="section-7.3-1.9">sprop-v3c-attr-idx:</dt>
          <dd pn="section-7.3-1.10">
            <t indent="0" pn="section-7.3-1.10.1">sprop-v3c-attr-idx provides a value corresponding to vuh_attribute_index defined in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. An attribute in V3C determines a feature of a reconstructed volumetric primitive; for example, this could be texture (color), transparency, reflectance, or normal. The attribute index defines which type of attribute the media corresponds to.</t>
            <t indent="0" pn="section-7.3-1.10.2">When sprop-v3c-unit-header is present, sprop-v3c-attr-idx <bcp14>MUST NOT</bcp14> be present. When present, the value of sprop-v3c-attr-idx <bcp14>SHALL</bcp14> be in the range of 0 to 127 inclusive.</t>
          </dd>
          <dt pn="section-7.3-1.11">sprop-v3c-attr-part-idx:</dt>
          <dd pn="section-7.3-1.12">
            <t indent="0" pn="section-7.3-1.12.1">sprop-v3c-attr-part-idx provides a value corresponding to vuh_attribute_partition_index defined in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. In V3C, an attribute can be partitioned into multiple components. This may for example be useful, when an attribute consists of four dimensions but the video codec only supports coding three channels of data.</t>
            <t indent="0" pn="section-7.3-1.12.2">When sprop-v3c-unit-header is present, sprop-v3c-attr-part-idx <bcp14>MUST NOT</bcp14> be present. When present, the value of sprop-v3c-attr-part-idx <bcp14>SHALL</bcp14> be in the range of 0 to 31 inclusive.</t>
          </dd>
          <dt pn="section-7.3-1.13">sprop-v3c-map-idx:</dt>
          <dd pn="section-7.3-1.14">
            <t indent="0" pn="section-7.3-1.14.1">sprop-v3c-map-idx provides a value corresponding to vuh_map_index defined in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. Maps in V3C allow storing multiple layers of projected volumetric data.</t>
            <t indent="0" pn="section-7.3-1.14.2">When sprop-v3c-unit-header is present, sprop-v3c-map-idx <bcp14>MUST NOT</bcp14> be present. When present, the value of sprop-v3c-map-idx <bcp14>SHALL</bcp14> be in the range of 0 to 15 inclusive.</t>
          </dd>
          <dt pn="section-7.3-1.15">sprop-v3c-aux-video-flag:</dt>
          <dd pn="section-7.3-1.16">
            <t indent="0" pn="section-7.3-1.16.1">sprop-v3c-aux-video-flag provides a value corresponding to vuh_auxiliary_video_flag defined in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. Auxiliary video in V3C can be used to pack volumetric data directly in a video frame without projecting it into a 2D plane first.</t>
            <t indent="0" pn="section-7.3-1.16.2">When sprop-v3c-unit-header is present, sprop-v3c-aux-video-flag <bcp14>MUST NOT</bcp14> be present. When present, the value of sprop-v3c-aux-video-flag <bcp14>SHALL</bcp14> be either 0 or 1.</t>
          </dd>
          <dt pn="section-7.3-1.17">sprop-v3c-tile-id:</dt>
          <dd pn="section-7.3-1.18">
            <t indent="0" pn="section-7.3-1.18.1">sprop-v3c-tile-id indicates that the RTP stream contains only portion of the tiles in an atlas. The value of sprop-v3c-tile-id contains a comma-separated (',') list of integer values, which indicate the tile ids that are present in the corresponding RTP stream.</t>
            <t indent="0" pn="section-7.3-1.18.2">When sprop-v3c-tile-id is not present, the RTP stream is expected to contain all tiles or only consist of a single tile.</t>
          </dd>
          <dt pn="section-7.3-1.19">sprop-v3c-tile-id-pres:</dt>
          <dd pn="section-7.3-1.20">
            <t indent="0" pn="section-7.3-1.20.1">sprop-v3c-tile-id-pres indicates that the RTP packets contain v3c-tile-id field.</t>
            <t indent="0" pn="section-7.3-1.20.2">When present, the value of sprop-v3c-tile-id-pres <bcp14>SHALL</bcp14> be either 0 or 1. When not present, the default value of sprop-v3c-tile-id-pres is 0.</t>
          </dd>
          <dt pn="section-7.3-1.21">sprop-v3c-atlas-data:</dt>
          <dd pn="section-7.3-1.22">
            <t indent="0" pn="section-7.3-1.22.1">sprop-v3c-atlas-data <bcp14>MAY</bcp14> be used to convey any atlas data NAL units of the V3C atlas sub-bitstream for out-of-band transmission. The value contains a comma-separated (',') list of base64-encoded <xref target="RFC4648" format="default" sectionFormat="of" derivedContent="RFC4648"/> representations of the atlas NAL units as specified in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>.</t>
            <t indent="0" pn="section-7.3-1.22.2">When present, the atlas NAL units stored in the sprop-v3c-atlas-data shall be applied for duration of the entire stream until an in-band atlas NAL unit with the same NAL unit type overrides it.</t>
          </dd>
          <dt pn="section-7.3-1.23">sprop-v3c-common-atlas-data:</dt>
          <dd pn="section-7.3-1.24">
            <t indent="0" pn="section-7.3-1.24.1">sprop-v3c-common-atlas-data <bcp14>MAY</bcp14> be used to convey common atlas data NAL units of the V3C common atlas sub-bitstream for out-of-band transmission. The value contains a comma-separated (',') list of base64-encoded <xref target="RFC4648" format="default" sectionFormat="of" derivedContent="RFC4648"/> representations of the common atlas NAL units (i.e., NAL_CASPS and NAL_CAF_IDR) as specified in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>.</t>
            <t indent="0" pn="section-7.3-1.24.2">When present, the common atlas NAL units stored in the sprop-v3c-common-atlas-data shall be applied for duration of the entire stream until an in-band common atlas NAL unit with the same NAL unit type overrides it.</t>
          </dd>
          <dt pn="section-7.3-1.25">sprop-v3c-sei:</dt>
          <dd pn="section-7.3-1.26">
            <t indent="0" pn="section-7.3-1.26.1">sprop-v3c-sei <bcp14>MAY</bcp14> 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 base64-encoded <xref target="RFC4648" format="default" sectionFormat="of" derivedContent="RFC4648"/> 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" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>.</t>
            <t indent="0" pn="section-7.3-1.26.2">When present, the SEI NAL units stored in the sprop-v3c-sei shall be applied for duration of the entire stream until an in-band SEI NAL unit with the same SEI payload type overrides it.</t>
          </dd>
          <dt pn="section-7.3-1.27">v3c-ptl-level-idc:</dt>
          <dd pn="section-7.3-1.28">
            <t indent="0" pn="section-7.3-1.28.1">v3c-ptl-level-idc provides a value corresponding to ptl_level_idc defined in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. The value of v3c-ptl-level-idc indicates the level to which the V3C bitstream conforms.</t>
            <t indent="0" pn="section-7.3-1.28.2">When present, the value of v3c-ptl-level-idc <bcp14>SHALL NOT</bcp14> conflict the corresponding value in the sprop-v3c-parameter-set. The value of v3c-ptl-level-idc <bcp14>SHALL</bcp14> be in the range of 0 to 255 inclusive.</t>
          </dd>
          <dt pn="section-7.3-1.29">v3c-ptl-tier-flag:</dt>
          <dd pn="section-7.3-1.30">
            <t indent="0" pn="section-7.3-1.30.1">v3c-ptl-tier-flag provides a value corresponding to ptl_tier_flag defined in  <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. The value of v3c-ptl-tier-flag indicates the tier context necessary to interpret the value of v3c-ptl-level-idc.</t>
            <t indent="0" pn="section-7.3-1.30.2">When present, the value of v3c-ptl-tier-flag <bcp14>SHALL NOT</bcp14> conflict the corresponding value in the sprop-v3c-parameter-set. The value of v3c-ptl-tier-flag <bcp14>SHALL</bcp14> be either 0 or 1.</t>
          </dd>
          <dt pn="section-7.3-1.31">v3c-ptl-codec-idc:</dt>
          <dd pn="section-7.3-1.32">
            <t indent="0" pn="section-7.3-1.32.1">v3c-ptl-codec-idc provides a value corresponding to ptl_profile_codec_group_idc defined in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. The value of v3c-ptl-codec-idc indicates the codec group profile component to which the V3C bitstream conforms.</t>
            <t indent="0" pn="section-7.3-1.32.2">When present, the value of v3c-ptl-codec-idc <bcp14>SHALL NOT</bcp14> conflict the corresponding value in the sprop-v3c-parameter-set. The value of v3c-ptl-codec-idc <bcp14>SHALL</bcp14> be in the range of 0 to 127 inclusive.</t>
          </dd>
          <dt pn="section-7.3-1.33">v3c-ptl-toolset-idc:</dt>
          <dd pn="section-7.3-1.34">
            <t indent="0" pn="section-7.3-1.34.1">v3c-ptl-toolset-idc provides a value corresponding to ptl_profile_toolset_idc defined in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. The value of v3c-ptl-toolset-idc indicates the toolset combination profile component to which the V3C bitstream conforms.</t>
            <t indent="0" pn="section-7.3-1.34.2">When present, the value of v3c-ptl-toolset-idc <bcp14>SHALL NOT</bcp14> conflict the corresponding value in the sprop-v3c-parameter-set. The value of v3c-ptl-toolset-idc <bcp14>SHALL</bcp14> be in the range of 0 to 255 inclusive.</t>
          </dd>
          <dt pn="section-7.3-1.35">v3c-ptl-rec-idc:</dt>
          <dd pn="section-7.3-1.36">
            <t indent="0" pn="section-7.3-1.36.1">v3c-ptl-rec-idc provides a value corresponding to ptl_profile_reconstruction_idc as defined in <xref target="ISO.IEC.23090-5" format="default" sectionFormat="of" derivedContent="ISO.IEC.23090-5"/>. The value of v3c-ptl-rec-idc indicates the reconstruction profile component to which the V3C bitstream is recommended to conform.</t>
            <t indent="0" pn="section-7.3-1.36.2">When present, the value of v3c-ptl-rec-idc <bcp14>SHALL NOT</bcp14> conflict the corresponding value in the sprop-v3c-parameter-set. The value of v3c-ptl-rec-idc <bcp14>SHALL</bcp14> be in the range of 0 to 255 inclusive.</t>
          </dd>
          <dt pn="section-7.3-1.37">sprop-max-don-diff:</dt>
          <dd pn="section-7.3-1.38">
            <t indent="0" pn="section-7.3-1.38.1">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 indent="0" pn="section-7.3-1.38.2">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 <bcp14>MUST</bcp14> be equal to 1.</t>
            <t indent="0" pn="section-7.3-1.38.3">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 indent="0" pn="section-7.3-1.38.4">The value of sprop-max-don-diff <bcp14>MUST</bcp14> be an integer in the range of 0 to 32767 inclusive.</t>
            <t indent="0" pn="section-7.3-1.38.5">When not present, the value of sprop-max-don-diff is inferred to be equal to 0.</t>
          </dd>
        </dl>
      </section>
      <section anchor="mapping-of-parameters-to-v3c-syntax" numbered="true" removeInRFC="false" toc="include" pn="section-7.4">
        <name slugifiedName="name-mapping-of-parameters-to-v3">Mapping of Parameters to V3C Syntax</name>
        <table anchor="mapping-of-parameters" align="center" pn="table-2">
          <name slugifiedName="name-mapping-of-parameters-to-v3c">Mapping of Parameters to V3C Syntax</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Parameter</th>
              <th align="left" colspan="1" rowspan="1">Required</th>
              <th align="left" colspan="1" rowspan="1">V3C Syntax Counterpart</th>
              <th align="left" colspan="1" rowspan="1">ISO/IEC 23090-5 Section Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">sprop-v3c-parameter-set</td>
              <td align="left" colspan="1" rowspan="1">YES</td>
              <td align="left" colspan="1" rowspan="1">v3c_parameter_set()</td>
              <td align="left" colspan="1" rowspan="1">8.3.4.1</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">sprop-v3c-unit-header</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">v3c_unit_header()</td>
              <td align="left" colspan="1" rowspan="1">8.3.2.2</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">sprop-v3c-unit-type</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">vuh_unit_type</td>
              <td align="left" colspan="1" rowspan="1">8.4.2.2</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">sprop-v3c-vps-id</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">vuh_v3c_parameter_set_id</td>
              <td align="left" colspan="1" rowspan="1">8.4.2.2</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">sprop-v3c-atlas-id</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">vuh_atlas_id</td>
              <td align="left" colspan="1" rowspan="1">8.4.2.2</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">sprop-v3c-attr-idx</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">vuh_attribute_index</td>
              <td align="left" colspan="1" rowspan="1">8.4.2.2</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">sprop-v3c-attr-part-idx</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">vuh_attribute_partition_index</td>
              <td align="left" colspan="1" rowspan="1">8.4.2.2</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">sprop-v3c-map-idx</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">vuh_map_index</td>
              <td align="left" colspan="1" rowspan="1">8.4.2.2</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">sprop-v3c-aux-video-flag</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">vuh_auxiliary_video_flag</td>
              <td align="left" colspan="1" rowspan="1">8.4.2.2</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">sprop-v3c-tile-id</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">-</td>
              <td align="left" colspan="1" rowspan="1">-</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">sprop-v3c-tile-id-pres</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">-</td>
              <td align="left" colspan="1" rowspan="1">-</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">sprop-v3c-atlas-data</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">nal_unit()</td>
              <td align="left" colspan="1" rowspan="1">8.3.5.1</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">sprop-v3c-common-atlas-data</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">nal_unit()</td>
              <td align="left" colspan="1" rowspan="1">8.3.5.1</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">sprop-v3c-sei</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">nal_unit()</td>
              <td align="left" colspan="1" rowspan="1">8.3.5.1</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">v3c-ptl-level-idc</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">ptl_level_idc</td>
              <td align="left" colspan="1" rowspan="1">8.4.4.2</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">v3c-ptl-tier-flag</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">ptl_tier_flag</td>
              <td align="left" colspan="1" rowspan="1">8.4.4.2</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">v3c-ptl-codec-idc</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">ptl_profile_codec_group_idc</td>
              <td align="left" colspan="1" rowspan="1">8.4.4.2</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">v3c-ptl-toolset-idc</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">ptl_profile_toolset_idc</td>
              <td align="left" colspan="1" rowspan="1">8.4.4.2</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">v3c-ptl-rec-idc</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">ptl_profile_reconstruction_idc</td>
              <td align="left" colspan="1" rowspan="1">8.4.4.2</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">sprop-max-don-diff</td>
              <td align="left" colspan="1" rowspan="1">NO</td>
              <td align="left" colspan="1" rowspan="1">-</td>
              <td align="left" colspan="1" rowspan="1">-</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="congestion-control-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-8">
      <name slugifiedName="name-congestion-control-consider">Congestion Control Considerations</name>
      <t indent="0" pn="section-8-1">Congestion control for RTP <bcp14>SHALL</bcp14> be used in accordance with RTP <xref target="RFC3550" format="default" sectionFormat="of" derivedContent="RFC3550"/> and with any applicable RTP profile, e.g., AVP <xref target="RFC3551" format="default" sectionFormat="of" derivedContent="RFC3551"/>. This section only applies for unicast streaming, leaving considerations for multicast streaming out of scope.</t>
      <t indent="0" pn="section-8-2">Users of this payload format <bcp14>MUST</bcp14> 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 <xref section="10" target="RFC3550" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc3550#section-10" derivedContent="RFC3550"/>).</t>
      <t indent="0" pn="section-8-3">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 parameters can be adaptively tuned. Video coding specifications <bcp14>MAY</bcp14> define further adaptation techniques.</t>
      <t indent="0" pn="section-8-4">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" format="default" sectionFormat="of" derivedContent="RFC8083"/> that defines criteria for when one the RTP flow must stop sending RTP Packet Streams.</t>
      <t indent="0" pn="section-8-5">As an example, both the sender and the receiver may have their own definition for an acceptable packet loss rate. In such a case, the receiver may decide to quit a stream when it finds the packet loss rate too high. Similarly, the sender may decide to drop a receiver when the reports it receives indicate packet loss rates that are too high from its perspective. These decisions can be made independently by either the receiver or the sender.</t>
      <t indent="0" pn="section-8-6">As an example of a bitrate adaptation technique, a sender or a receiver may adapt bitrates of specific sub-streams. The adaptation should be done in a manner that considers the effects on the quality of the experience as a whole, keeping the subjective quality of experience as high as possible. In an implementation this could mean dropping less important sub-streams fully or reducing the bitrates of the most important sub-streams throughout the session.</t>
    </section>
    <section anchor="Session-Description-Protocol" numbered="true" removeInRFC="false" toc="include" pn="section-9">
      <name slugifiedName="name-session-description-protoco">Session Description Protocol</name>
      <t indent="0" pn="section-9-1">A new attribute "v3cfmtp" is defined for carrying V3C format media type parameters in the corresponding fields of SDP <xref target="RFC8866" format="default" sectionFormat="of" derivedContent="RFC8866"/>. Grouping framework <xref target="RFC5888" format="default" sectionFormat="of" derivedContent="RFC5888"/> is used to indicate which media lines (video and application) in the SDP constitute a V3C representation.</t>
      <section anchor="v3cfmtp-attribute" numbered="true" removeInRFC="false" toc="include" pn="section-9.1">
        <name slugifiedName="name-v3c-format-parameters-v3cfm">V3C Format Parameters "v3cfmtp" Attribute</name>
        <t indent="0" pn="section-9.1-1">This document 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 <bcp14>SHALL</bcp14> be used without the fmt-token and that it can be used also on a session level. The attribute allows V3C-specific media format parameters to be associated with any media line in SDP. The detailed information on the new attribute (a=v3cfmtp) is provided in <xref target="v3cfmtp-attribute-registration" format="default" sectionFormat="of" derivedContent="Section 10.2"/>.</t>
        <t indent="0" pn="section-9.1-2">The value of the v3cfmtp attribute is a byte-string, as defined in <xref target="RFC8866" format="default" sectionFormat="of" derivedContent="RFC8866"/>, which contains at least one V3C-specific media format parameter as a "parameter=value" pair as defined in this document. Multiple semicolon-separated V3C media "parameter=value" pairs can be stored in the byte-string to be conveyed by SDP and given unchanged to the media tool that will use this format. Whitespace in the byte-string is ignored.</t>
        <t indent="0" pn="section-9.1-3">An example of the usage of the new attribute is shown below. The first line describes session-level usage of the attribute, signaling a V3C parameter set. The second line describes a media-level attribute, signaling a V3C unit header and profile tier level flag for the associated media line.</t>
        <sourcecode type="sdp" markers="false" pn="section-9.1-4">
  a=v3cfmtp:sprop-v3c-parameter-set=AUH/AAAP/zwAAAAAACgIAtEAgQLAIAAUQ
  BACWAM5QEDgQCAIAAAAABP8CzwAAAAAAAAAQAAAtAE/wLPAAAAAAAg=;

  a=v3cfmtp:sprop-v3c-unit-header=CAAAAA==;v3c-ptl-tier-flag=1;</sourcecode>
      </section>
      <section anchor="mapping-of-payload-type-parameters-to-sdp" numbered="true" removeInRFC="false" toc="include" pn="section-9.2">
        <name slugifiedName="name-mapping-of-payload-type-par">Mapping of Payload Type Parameters to SDP</name>
        <section anchor="for-v3c-atlas-components" numbered="true" removeInRFC="false" toc="include" pn="section-9.2.1">
          <name slugifiedName="name-for-v3c-atlas-components">For V3C Atlas Components</name>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.2.1-1">
            <li pn="section-9.2.1-1.1">
              <t indent="0" pn="section-9.2.1-1.1.1">The media name in the "m=" line of SDP <bcp14>MUST</bcp14> be application.</t>
            </li>
            <li pn="section-9.2.1-1.2">
              <t indent="0" pn="section-9.2.1-1.2.1">The encoding name in the "a=rtpmap" line of SDP <bcp14>MUST</bcp14> be v3c.</t>
            </li>
            <li pn="section-9.2.1-1.3">
              <t indent="0" pn="section-9.2.1-1.3.1">The clock rate in the "a=rtpmap" line <bcp14>MUST</bcp14> be 90000.</t>
            </li>
            <li pn="section-9.2.1-1.4">
              <t indent="0" pn="section-9.2.1-1.4.1">The <bcp14>OPTIONAL</bcp14> parameters sprop-v3c-atlas-data, sprop-v3c-common-atlas-data, sprop-v3c-sei, sprop-v3c-tile-id, sprop-v3c-tile-id-pres, when present, <bcp14>MUST</bcp14> 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 pn="section-9.2.1-1.5">
              <t indent="0" pn="section-9.2.1-1.5.1">The <bcp14>OPTIONAL</bcp14> 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, and v3c-ptl-rec-idc, when present, <bcp14>MUST</bcp14> 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 indent="0" pn="section-9.2.1-2">The <bcp14>OPTIONAL</bcp14> 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 <bcp14>OPTIONAL</bcp14> parameters, like sprop-v3c-parameter-set or sprop-v3c-unit-header, can't be carried in-band in the atlas stream and thus may 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 indent="0" pn="section-9.2.1-3">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>
          <sourcecode type="sdp" markers="false" pn="section-9.2.1-4">
  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==</sourcecode>
        </section>
        <section anchor="v3c-video-components" numbered="true" removeInRFC="false" toc="include" pn="section-9.2.2">
          <name slugifiedName="name-for-v3c-video-components">For V3C Video Components</name>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.2.2-1">
            <li pn="section-9.2.2-1.1">
              <t indent="0" pn="section-9.2.2-1.1.1">The media name in the "m=" line of SDP <bcp14>MUST</bcp14> be video.</t>
            </li>
            <li pn="section-9.2.2-1.2">
              <t indent="0" pn="section-9.2.2-1.2.1">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 pn="section-9.2.2-1.3">
              <t indent="0" pn="section-9.2.2-1.3.1">The clock rate in the "a=rtpmap" line <bcp14>MUST</bcp14> be 90000.</t>
            </li>
            <li pn="section-9.2.2-1.4">
              <t indent="0" pn="section-9.2.2-1.4.1">The <bcp14>OPTIONAL</bcp14> 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, and v3c-ptl-rec-idc, when present, <bcp14>MUST</bcp14> 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 indent="0" pn="section-9.2.2-2">The <bcp14>OPTIONAL</bcp14> parameters, when present in the video media line V3C format parameters ("v3cfmtp") attribute, specify values that are  considered static for the session.</t>
          <t indent="0" pn="section-9.2.2-3">An example of media representation corresponding to occupancy video component (V3C_OVD) in SDP is as follows:</t>
          <sourcecode type="sdp" markers="false" pn="section-9.2.2-4">
  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==</sourcecode>
          <t indent="0" pn="section-9.2.2-5">Below is an example of media representation corresponding to packed video component (V3C_PVD), where the 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>
          <sourcecode type="sdp" markers="false" pn="section-9.2.2-6">
  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==</sourcecode>
        </section>
      </section>
      <section anchor="grouping-framework" numbered="true" removeInRFC="false" toc="include" pn="section-9.3">
        <name slugifiedName="name-grouping-framework">Grouping Framework</name>
        <t indent="0" pn="section-9.3-1">Different V3C components <bcp14>MAY</bcp14> 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 document, whereas the video component RTP payload formats are defined for example in <xref target="RFC6184" format="default" sectionFormat="of" derivedContent="RFC6184"/> or <xref target="RFC7798" format="default" sectionFormat="of" derivedContent="RFC7798"/>. A grouping tool, as defined in <xref target="RFC5888" format="default" sectionFormat="of" derivedContent="RFC5888"/>, is extended to indicate which media lines constitute a V3C representation. Further details on the new grouping type provided in <xref target="v3c-group-type-registration" format="default" sectionFormat="of" derivedContent="Section 10.3"/>.</t>
        <t indent="0" pn="section-9.3-2">The group attribute with V3C type is provided to allow application to identify "m" lines that belong to the same V3C bitstream. Grouping type V3C <bcp14>MUST</bcp14> be used with the group attribute. The tokens that follow are mapped to 'mid'-values of individual media lines in the SDP.</t>
        <sourcecode type="sdp" markers="false" pn="section-9.3-3">
    a=group:V3C &lt;tokens&gt;</sourcecode>
        <t indent="0" pn="section-9.3-4">The following example shows an SDP including four media lines: three describing V3C video components (PT:96=occupancy, PT:97=geometry, and PT:98=attribute) and one describing a V3C atlas component (PT:100). All of these media lines are grouped under one V3C group. The V3C parameter set is provided via a session-level V3C media format parameter attribute.</t>
        <sourcecode type="sdp" markers="false" pn="section-9.3-5">
  ...
  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</sourcecode>
        <t indent="0" pn="section-9.3-6">The example below describes how content with two atlases can be signaled as separate streams. The 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 values 96, 97, 98, and 100 correspond to the occupancy, geometry, and attribute video components, as well as the atlas data component, for atlas zero. PT values 101, 102, 103, and 104 correspond to the respective components for atlas one.</t>
        <sourcecode type="sdp" markers="false" pn="section-9.3-7">
  ...
  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</sourcecode>
      </section>
      <section anchor="offer-and-answer-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-9.4">
        <name slugifiedName="name-offer-and-answer-considerat">Offer and Answer Considerations</name>
        <section anchor="unicast" numbered="true" removeInRFC="false" toc="include" pn="section-9.4.1">
          <name slugifiedName="name-unicast">Unicast</name>
          <t indent="0" pn="section-9.4.1-1">This section describes the negotiation of unicast streaming using the offer/answer model as described in <xref target="RFC3264" format="default" sectionFormat="of" derivedContent="RFC3264"/>. V3C-coded content consists of an atlas bitstream and one or more video coded bitstreams, together known as V3C components. Atlas and video bitstreams are represented as separate media lines in the SDP.</t>
          <t indent="0" pn="section-9.4.1-2">During the session negotiation the offerer lists all V3C components available and informs the answerer which media lines <bcp14>SHOULD</bcp14> be consumed together. The answerer CAN select V3C components as suggested by the offerer, or select a subset of the V3C components by setting the port to zero for the undesired media lines in the answer. This allows the answerer to consume a subset of the V3C components in scenarios where it is fully or partially ignorant of the V3C coding scheme.</t>
          <t indent="0" pn="section-9.4.1-3">The following limitations and rules pertaining to the V3C atlas component media configuration apply:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.4.1-4">
            <li pn="section-9.4.1-4.1">
              <t indent="0" pn="section-9.4.1-4.1.1">The parameters identifying the V3C atlas component media configuration is identified by v3c-ptl-level-idc, v3c-ptl-tier-flag, v3c-ptl-codec-idc, and v3c-ptl-toolset-idc. These media configuration parameters, except level-id, <bcp14>MUST</bcp14> be used symmetrically.</t>
            </li>
            <li pn="section-9.4.1-4.2">
              <t indent="0" pn="section-9.4.1-4.2.1">Send only properties, identified by sprop-prefix, are considered declarative and <bcp14>SHOULD</bcp14> be omitted in the answers.</t>
            </li>
          </ul>
          <t indent="0" pn="section-9.4.1-5">The answerer <bcp14>MUST</bcp14> structure its answer according to one of the following two options:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.4.1-6">
            <li pn="section-9.4.1-6.1">
              <t indent="0" pn="section-9.4.1-6.1.1">maintain all configuration parameters with the values remaining the same as in the offer for the media format (payload type), with the exception that the value of v3c-ptl-level-idc is changeable as long as the highest level indicated by the answer is not higher than that indicated by the offer, or</t>
            </li>
            <li pn="section-9.4.1-6.2">
              <t indent="0" pn="section-9.4.1-6.2.1">reject media line in which one or more of the parameter values are not supported by setting the port to zero in the answer.</t>
            </li>
          </ul>
          <t indent="0" pn="section-9.4.1-7">The following limitations and rules pertaining to the V3C video component media configuration apply:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.4.1-8">
            <li pn="section-9.4.1-8.1">
              <t indent="0" pn="section-9.4.1-8.1.1">The parameters identifying a video-coded V3C component media configuration format are according to the respective RTP video payload specification.</t>
            </li>
          </ul>
          <t indent="0" pn="section-9.4.1-9">The answerer <bcp14>MUST</bcp14> structure its answer according to one of the following two options:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.4.1-10">
            <li pn="section-9.4.1-10.1">
              <t indent="0" pn="section-9.4.1-10.1.1">maintain all configuration parameters with the values remaining the same as in the offer for the media format (payload type), with the exceptions specified in the respective RTP video payload specification, or</t>
            </li>
            <li pn="section-9.4.1-10.2">
              <t indent="0" pn="section-9.4.1-10.2.1">reject the video coded V3C component media line completely when one or more of the parameter values are not supported by setting the port to zero in the answer.</t>
            </li>
          </ul>
          <t indent="0" pn="section-9.4.1-11">To simplify handling and matching of these configurations, the same RTP payload type number used in the offer <bcp14>SHOULD</bcp14> also be used in the answer as specified in <xref target="RFC3264" format="default" sectionFormat="of" derivedContent="RFC3264"/>.</t>
          <t indent="0" pn="section-9.4.1-12">Below is an example of an offer that only sends V3C content. This example contains video components as three different versions (H.264, H.265, and 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>
          <sourcecode type="sdp" markers="false" pn="section-9.4.1-13">
  ...
  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</sourcecode>
          <t indent="0" pn="section-9.4.1-14">This is an example of an answer that only receives V3C data with the selected versions:</t>
          <sourcecode type="sdp" markers="false" pn="section-9.4.1-15">
  ...
  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</sourcecode>
          <t indent="0" pn="section-9.4.1-16">This is an example of an offer that allows bundling different V3C components into one stream, based on <xref target="RFC9143" format="default" sectionFormat="of" derivedContent="RFC9143"/>:</t>
          <sourcecode type="sdp" markers="false" pn="section-9.4.1-17">
  ...
  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</sourcecode>
          <t indent="0" pn="section-9.4.1-18">This is an example of an answer that accepts the bundling of different V3C components:</t>
          <sourcecode type="sdp" markers="false" pn="section-9.4.1-19">
  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</sourcecode>
        </section>
        <section anchor="multicast" numbered="true" removeInRFC="false" toc="include" pn="section-9.4.2">
          <name slugifiedName="name-multicast">Multicast</name>
          <t indent="0" pn="section-9.4.2-1">For bitstreams being delivered over multicast, the following rules apply:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.4.2-2">
            <li pn="section-9.4.2-2.1">
              <t indent="0" pn="section-9.4.2-2.1.1">The atlas V3C component media configuration is identified by v3c-ptl-level-idc, v3c-ptl-tier-flag, v3c-ptl-codec-idc, and v3c-ptl-toolset-idc. These atlas format configuration parameters <bcp14>MUST</bcp14> be used symmetrically; that is, the answerer <bcp14>MUST</bcp14> either maintain all configuration parameters or reject the media line, including any associated video coded V3C component media lines. This implies that v3c-ptl-level-idc for offer/answer in multicast is not changeable.</t>
            </li>
            <li pn="section-9.4.2-2.2">
              <t indent="0" pn="section-9.4.2-2.2.1">The video-coded V3C component media configuration format is according to the respective RTP video payload specification.</t>
            </li>
            <li pn="section-9.4.2-2.3">
              <t indent="0" pn="section-9.4.2-2.3.1">To simplify the handling and matching of these configurations, the same RTP payload type number used in the offer <bcp14>MUST</bcp14> also be used in the answer.</t>
            </li>
            <li pn="section-9.4.2-2.4">
              <t indent="0" pn="section-9.4.2-2.4.1">Parameter sets received <bcp14>MUST</bcp14> be associated with the originating source and <bcp14>MUST</bcp14> only be used in decoding the incoming bitstream from the same source.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="declarative-sdp-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-9.5">
        <name slugifiedName="name-declarative-sdp-considerati">Declarative SDP Considerations</name>
        <t indent="0" pn="section-9.5-1">When V3C content over RTP is offered with SDP in a declarative style, the parameters capable of indicating both bitstream properties as well as answerer 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 indent="0" pn="section-9.5-2">An answerer of the SDP is required to support all parameters and values of the parameters provided; otherwise, the answerer <bcp14>MUST</bcp14> 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" numbered="true" removeInRFC="false" toc="include" pn="section-10">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-10-1">This document contains three IANA considerations: a new media type, a new SDP attribute, and a new grouping type.</t>
      <section anchor="Media-type-registration" numbered="true" removeInRFC="false" toc="include" pn="section-10.1">
        <name slugifiedName="name-v3c-media-type-registration">V3C Media Type Registration</name>
        <t indent="0" pn="section-10.1-1">IANA has registered the following media type in the "Media Types" registry.</t>
        <dl spacing="normal" newline="false" indent="3" pn="section-10.1-2">
          <dt pn="section-10.1-2.1">Type name:</dt>
          <dd pn="section-10.1-2.2">application</dd>
          <dt pn="section-10.1-2.3">Subtype name:</dt>
          <dd pn="section-10.1-2.4">v3c</dd>
          <dt pn="section-10.1-2.5">Required parameters:</dt>
          <dd pn="section-10.1-2.6">sprop-v3c-parameter-set</dd>
          <dt pn="section-10.1-2.7">Optional parameters:</dt>
          <dd pn="section-10.1-2.8">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-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.</dd>
          <dt pn="section-10.1-2.9">Encoding considerations:</dt>
          <dd pn="section-10.1-2.10">framed</dd>
          <dt pn="section-10.1-2.11">Security considerations:</dt>
          <dd pn="section-10.1-2.12">See <xref target="Security-considerations" format="default" sectionFormat="of" derivedContent="Section 11"/> of RFC 10034.</dd>
          <dt pn="section-10.1-2.13">Interoperability considerations:</dt>
          <dd pn="section-10.1-2.14">N/A</dd>
          <dt pn="section-10.1-2.15">Published specification:</dt>
          <dd pn="section-10.1-2.16">RFC 10034</dd>
          <dt pn="section-10.1-2.17">Applications that use this media type:</dt>
          <dd pn="section-10.1-2.18">Any application that relies on V3C-based media services over RTP.</dd>
          <dt pn="section-10.1-2.19">Fragment identifier considerations:</dt>
          <dd pn="section-10.1-2.20">N/A</dd>
          <dt pn="section-10.1-2.21">Additional information:</dt>
          <dd pn="section-10.1-2.22">N/A</dd>
          <dt pn="section-10.1-2.23">Person &amp; email address to contact for further information:</dt>
          <dd pn="section-10.1-2.24">
            <t indent="0" pn="section-10.1-2.24.1">Lauri Ilola (lauri.ilola@nokia.com) or Lukasz Kondrad (lukasz.kondrad@nokia.com)</t>
          </dd>
          <dt pn="section-10.1-2.25">Intended usage:</dt>
          <dd pn="section-10.1-2.26">COMMON</dd>
          <dt pn="section-10.1-2.27">Restrictions on usage:</dt>
          <dd pn="section-10.1-2.28">This media type depends on RTP framing and, hence, is only defined for transfer via RTP <xref target="RFC3550" format="default" sectionFormat="of" derivedContent="RFC3550"/>. Transport within other framing protocols is not defined at this time.</dd>
          <dt pn="section-10.1-2.29">Author:</dt>
          <dd pn="section-10.1-2.30">See the Authors' Addresses section of RFC 10034.</dd>
          <dt pn="section-10.1-2.31">Change controller:</dt>
          <dd pn="section-10.1-2.32">IETF</dd>
        </dl>
      </section>
      <section anchor="v3cfmtp-attribute-registration" numbered="true" removeInRFC="false" toc="include" pn="section-10.2">
        <name slugifiedName="name-v3c-format-parameters-sdp-a">V3C Format Parameters SDP Attribute</name>
        <t indent="0" pn="section-10.2-1">IANA has registered the following SDP attribute in the "attribute-name (formerly 'att-field')" registry under the "Session Description Protocol (SDP) Parameters" registry group.</t>
        <dl spacing="normal" newline="false" indent="3" pn="section-10.2-2">
          <dt pn="section-10.2-2.1">Contact name:</dt>
          <dd pn="section-10.2-2.2">See the Authors' Addresses section of RFC 10034.</dd>
          <dt pn="section-10.2-2.3">Contact email address:</dt>
          <dd pn="section-10.2-2.4">See the Authors' Addresses section of RFC 10034.</dd>
          <dt pn="section-10.2-2.5">Attribute name:</dt>
          <dd pn="section-10.2-2.6">v3cfmtp</dd>
          <dt pn="section-10.2-2.7">Attribute syntax:</dt>
          <dd pn="section-10.2-2.8">
            <t indent="0" pn="section-10.2-2.8.1"><br/></t>
            <sourcecode type="abnf" markers="false" pn="section-10.2-2.8.2">
  v3cfmtp-value = byte-string</sourcecode>
            <t indent="0" pn="section-10.2-2.8.3">Notes:</t>
            <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-10.2-2.8.4">
              <li pn="section-10.2-2.8.4.1">The V3C format parameters are V3C media type parameters and need to reflect their syntax.</li>
              <li pn="section-10.2-2.8.4.2">"byte-string" is as defined in <xref target="RFC8866" format="default" sectionFormat="of" derivedContent="RFC8866"/>.</li>
              <li pn="section-10.2-2.8.4.3">ABNF grammar is as defined in <xref target="RFC5234" format="default" sectionFormat="of" derivedContent="RFC5234"/>.</li>
            </ul>
          </dd>
          <dt pn="section-10.2-2.9">Attribute semantics:</dt>
          <dd pn="section-10.2-2.10">"v3cfmtp-value" is a byte-string, as defined in <xref target="RFC8866" format="default" sectionFormat="of" derivedContent="RFC8866"/>, that contains at least one V3C-specific media format parameter as a "parameter=value" pair, as defined in this document. Multiple semicolon-separated V3C media "parameter=value" pairs can be stored in the byte-string to be conveyed by SDP and given unchanged to the media tool that will use this format. Whitespace in the byte-string is ignored.</dd>
          <dt pn="section-10.2-2.11">Attribute value:</dt>
          <dd pn="section-10.2-2.12">v3cfmtp-value</dd>
          <dt pn="section-10.2-2.13">Usage level:</dt>
          <dd pn="section-10.2-2.14">session, media</dd>
          <dt pn="section-10.2-2.15">Charset dependent:</dt>
          <dd pn="section-10.2-2.16">No</dd>
          <dt pn="section-10.2-2.17">Purpose:</dt>
          <dd pn="section-10.2-2.18">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 associating V3C-specific parameters with a session or with any media line. Parameters signaled as part of session-level attributes take effect when conflicting parameters are signaled as media-level attributes.</dd>
          <dt pn="section-10.2-2.19">O/A procedures:</dt>
          <dd pn="section-10.2-2.20">The v3cfmtp attribute can be present both in offers and answers.</dd>
          <dt pn="section-10.2-2.21">Mux Category:</dt>
          <dd pn="section-10.2-2.22">NORMAL</dd>
          <dt pn="section-10.2-2.23">Reference:</dt>
          <dd pn="section-10.2-2.24">RFC 10034</dd>
        </dl>
        <table anchor="_table-v3cfmtp-attribute" align="center" pn="table-3">
          <name slugifiedName="name-the-attribute-name-formerly">The attribute-name (formerly 'att-field') Registry</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Type</th>
              <th align="left" colspan="1" rowspan="1">SDP Name</th>
              <th align="left" colspan="1" rowspan="1">Usage Level</th>
              <th align="left" colspan="1" rowspan="1">Mux Category</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">attribute</td>
              <td align="left" colspan="1" rowspan="1">v3cfmtp</td>
              <td align="left" colspan="1" rowspan="1">session, media</td>
              <td align="left" colspan="1" rowspan="1">NORMAL</td>
              <td align="left" colspan="1" rowspan="1">RFC 10034</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="v3c-group-type-registration" numbered="true" removeInRFC="false" toc="include" pn="section-10.3">
        <name slugifiedName="name-v3c-grouping-type-extension">V3C Grouping Type Extension</name>
        <t indent="0" pn="section-10.3-1">The SDP Group attribute is extended to establish relationships between sub-streams of a V3C representation. IANA has registered the following 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" align="center" pn="table-4">
          <name slugifiedName="name-the-semantics-for-the-group">The Semantics for the 'group' SDP Attribute Registry</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Semantics</th>
              <th align="left" colspan="1" rowspan="1">Token</th>
              <th align="left" colspan="1" rowspan="1">Mux Category</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">V3C grouping</td>
              <td align="left" colspan="1" rowspan="1">V3C</td>
              <td align="left" colspan="1" rowspan="1">NORMAL</td>
              <td align="left" colspan="1" rowspan="1">RFC 10034</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="Security-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-11">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-11-1">RTP packets using the payload format defined in this specification are subject to the security considerations discussed in the RTP specification <xref target="RFC3550" format="default" sectionFormat="of" derivedContent="RFC3550"/> and in any applicable RTP profile such as RTP/AVP <xref target="RFC3551" format="default" sectionFormat="of" derivedContent="RFC3551"/>, RTP/AVPF <xref target="RFC4585" format="default" sectionFormat="of" derivedContent="RFC4585"/>, RTP/SAVP <xref target="RFC3711" format="default" sectionFormat="of" derivedContent="RFC3711"/>, or RTP/SAVPF <xref target="RFC5124" format="default" sectionFormat="of" derivedContent="RFC5124"/>. However, as <xref target="RFC7202" format="default" sectionFormat="of" derivedContent="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 lies with anyone using RTP in an application. They can find guidance on available security mechanisms and important considerations in <xref target="RFC7201" format="default" sectionFormat="of" derivedContent="RFC7201"/>.</t>
      <t indent="0" pn="section-11-2">This document does not mandate a specific security mechanism. Instead, applications are responsible for selecting mechanisms that follow current best practices for confidentiality, integrity, and source authentication and that reflect the evolving security landscape beyond what is covered in <xref target="RFC7201" format="default" sectionFormat="of" derivedContent="RFC7201"/>. For modern best practices, applications can consider the following options:</t>
      <dl indent="3" newline="false" spacing="normal" pn="section-11-3">
        <dt pn="section-11-3.1">(D)TLS-based protection:</dt>
        <dd pn="section-11-3.2">For guidance on using TLS 1.3 and DTLS, applications should refer to <xref target="BCP195" format="default" sectionFormat="of" derivedContent="BCP195"/>, which provides up-to-date recommendations.</dd>
        <dt pn="section-11-3.3">IPsec-based protection:</dt>
        <dd pn="section-11-3.4">Relevant and current protocol specifications include <xref target="RFC4303" format="default" sectionFormat="of" derivedContent="RFC4303"/> (ESP) and <xref target="RFC7296" format="default" sectionFormat="of" derivedContent="RFC7296"/> (IKEv2).</dd>
      </dl>
      <t indent="0" pn="section-11-4">The rest of the Security Considerations section discusses the security impacting properties of the payload format itself.</t>
      <t indent="0" pn="section-11-5">A V3C session can consist of multiple sub-streams carried over different RTP streams. Security considerations such as source authentication <bcp14>SHOULD</bcp14> be applied to all its constituent sub-streams. All receivers of V3C data <bcp14>SHOULD</bcp14> exercise source caution and only receive data from senders that they can trust. Furthermore, this RTP payload format supports multiple RTP streams for different components necessary to produce the decoded output; thus, it depends on all RTP streams and signaling components, e.g., SDP and RTCP, being authentic to what the sender intended.</t>
      <t indent="0" pn="section-11-6">This RTP payload format and its media decoder do not exhibit 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. Furthermore, this payload format contains no active content.</t>
      <t indent="0" pn="section-11-7">Components of a system using this media type <bcp14>SHALL NOT</bcp14> construct RTP payloads that contain executable content. The implementer of the RTP payload format <bcp14>SHALL</bcp14> guarantee that the received content is properly de-packetized 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" pn="section-12">
      <name slugifiedName="name-references">References</name>
      <references anchor="sec-normative-references" pn="section-12.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="ISO.IEC.23090-5" target="https://www.iso.org/standard/91546.html" quoteTitle="true" derivedAnchor="ISO.IEC.23090-5">
          <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 showOnFrontPage="true">ISO/IEC</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-5:2026"/>
        </reference>
        <reference anchor="ISO.IEC.23090-12" target="https://www.iso.org/standard/87643.html" quoteTitle="true" derivedAnchor="ISO.IEC.23090-12">
          <front>
            <title>Information technology -- Coded representation of immersive media -- Part 12: MPEG Immersive video (MIV)</title>
            <author>
              <organization showOnFrontPage="true">ISO/IEC</organization>
            </author>
            <date year="2025"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-12:2025"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t indent="0">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="RFC3264" target="https://www.rfc-editor.org/info/rfc3264" quoteTitle="true" derivedAnchor="RFC3264">
          <front>
            <title>An Offer/Answer Model with Session Description Protocol (SDP)</title>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <date month="July" year="2002"/>
            <abstract>
              <t indent="0">This document defines a mechanism by which two entities can make use of the Session Description Protocol (SDP) to arrive at a common view of a multimedia session between them. In the model, one participant offers the other a description of the desired session from their perspective, and the other participant answers with the desired session from their perspective. This offer/answer model is most useful in unicast sessions where information from both participants is needed for the complete view of the session. The offer/answer model is used by protocols like the Session Initiation Protocol (SIP). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3264"/>
          <seriesInfo name="DOI" value="10.17487/RFC3264"/>
        </reference>
        <reference anchor="RFC3550" target="https://www.rfc-editor.org/info/rfc3550" quoteTitle="true" derivedAnchor="RFC3550">
          <front>
            <title>RTP: A Transport Protocol for Real-Time Applications</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="S. Casner" initials="S." surname="Casner"/>
            <author fullname="R. Frederick" initials="R." surname="Frederick"/>
            <author fullname="V. Jacobson" initials="V." surname="Jacobson"/>
            <date month="July" year="2003"/>
            <abstract>
              <t indent="0">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" quoteTitle="true" derivedAnchor="RFC4648">
          <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 indent="0">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="RFC5234" target="https://www.rfc-editor.org/info/rfc5234" quoteTitle="true" derivedAnchor="RFC5234">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
            <author fullname="P. Overell" initials="P." surname="Overell"/>
            <date month="January" year="2008"/>
            <abstract>
              <t indent="0">Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo name="DOI" value="10.17487/RFC5234"/>
        </reference>
        <reference anchor="RFC5888" target="https://www.rfc-editor.org/info/rfc5888" quoteTitle="true" derivedAnchor="RFC5888">
          <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 indent="0">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" quoteTitle="true" derivedAnchor="RFC8083">
          <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 indent="0">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 indent="0">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="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8866" target="https://www.rfc-editor.org/info/rfc8866" quoteTitle="true" derivedAnchor="RFC8866">
          <front>
            <title>SDP: Session Description Protocol</title>
            <author fullname="A. Begen" initials="A." surname="Begen"/>
            <author fullname="P. Kyzivat" initials="P." surname="Kyzivat"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <date month="January" year="2021"/>
            <abstract>
              <t indent="0">This memo defines the Session Description Protocol (SDP). SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. This document obsoletes RFC 4566.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8866"/>
          <seriesInfo name="DOI" value="10.17487/RFC8866"/>
        </reference>
        <reference anchor="RFC9143" target="https://www.rfc-editor.org/info/rfc9143" quoteTitle="true" derivedAnchor="RFC9143">
          <front>
            <title>Negotiating Media Multiplexing Using the Session Description Protocol (SDP)</title>
            <author fullname="C. Holmberg" initials="C." surname="Holmberg"/>
            <author fullname="H. Alvestrand" initials="H." surname="Alvestrand"/>
            <author fullname="C. Jennings" initials="C." surname="Jennings"/>
            <date month="February" year="2022"/>
            <abstract>
              <t indent="0">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 indent="0">This specification defines a new RTP Control Protocol (RTCP) Source Description (SDES) item and a new RTP header extension.</t>
              <t indent="0">This specification updates RFCs 3264, 5888, and 7941.</t>
              <t indent="0">This specification obsoletes RFC 8843.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9143"/>
          <seriesInfo name="DOI" value="10.17487/RFC9143"/>
        </reference>
      </references>
      <references anchor="sec-informative-references" pn="section-12.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <referencegroup anchor="BCP195" target="https://www.rfc-editor.org/info/bcp195" derivedAnchor="BCP195">
          <reference anchor="RFC8996" target="https://www.rfc-editor.org/info/rfc8996" quoteTitle="true">
            <front>
              <title>Deprecating TLS 1.0 and TLS 1.1</title>
              <author fullname="K. Moriarty" initials="K." surname="Moriarty"/>
              <author fullname="S. Farrell" initials="S." surname="Farrell"/>
              <date month="March" year="2021"/>
              <abstract>
                <t indent="0">This document formally deprecates Transport Layer Security (TLS) versions 1.0 (RFC 2246) and 1.1 (RFC 4346). Accordingly, those documents have been moved to Historic status. These versions lack support for current and recommended cryptographic algorithms and mechanisms, and various government and industry profiles of applications using TLS now mandate avoiding these old TLS versions. TLS version 1.2 became the recommended version for IETF protocols in 2008 (subsequently being obsoleted by TLS version 1.3 in 2018), providing sufficient time to transition away from older versions. Removing support for older versions from implementations reduces the attack surface, reduces opportunity for misconfiguration, and streamlines library and product maintenance.</t>
                <t indent="0">This document also deprecates Datagram TLS (DTLS) version 1.0 (RFC 4347) but not DTLS version 1.2, and there is no DTLS version 1.1.</t>
                <t indent="0">This document updates many RFCs that normatively refer to TLS version 1.0 or TLS version 1.1, as described herein. This document also updates the best practices for TLS usage in RFC 7525; hence, it is part of BCP 195.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="195"/>
            <seriesInfo name="RFC" value="8996"/>
            <seriesInfo name="DOI" value="10.17487/RFC8996"/>
          </reference>
          <reference anchor="RFC9325" target="https://www.rfc-editor.org/info/rfc9325" quoteTitle="true">
            <front>
              <title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
              <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
              <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
              <author fullname="T. Fossati" initials="T." surname="Fossati"/>
              <date month="November" year="2022"/>
              <abstract>
                <t indent="0">Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are used to protect data exchanged over a wide range of application protocols and can also form the basis for secure transport protocols. Over the years, the industry has witnessed several serious attacks on TLS and DTLS, including attacks on the most commonly used cipher suites and their modes of operation. This document provides the latest recommendations for ensuring the security of deployed services that use TLS and DTLS. These recommendations are applicable to the majority of use cases.</t>
                <t indent="0">RFC 7525, an earlier version of the TLS recommendations, was published when the industry was transitioning to TLS 1.2. Years later, this transition is largely complete, and TLS 1.3 is widely available. This document updates the guidance given the new environment and obsoletes RFC 7525. In addition, this document updates RFCs 5288 and 6066 in view of recent attacks.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="195"/>
            <seriesInfo name="RFC" value="9325"/>
            <seriesInfo name="DOI" value="10.17487/RFC9325"/>
          </reference>
        </referencegroup>
        <reference anchor="ISO.IEC.14496-10" target="https://www.iso.org/standard/87574.html" quoteTitle="true" derivedAnchor="ISO.IEC.14496-10">
          <front>
            <title>Information technology - Coding of audio-visual objects - Part 10: Advanced video coding</title>
            <author>
              <organization showOnFrontPage="true">ISO/IEC</organization>
            </author>
            <date year="2025"/>
          </front>
          <seriesInfo name="ISO/IEC" value="14496-10:2025"/>
        </reference>
        <reference anchor="ISO.IEC.14496-12" target="https://www.iso.org/standard/85596.html" quoteTitle="true" derivedAnchor="ISO.IEC.14496-12">
          <front>
            <title>Information technology - Coding of audio-visual objects - Part 12: ISO base media file format</title>
            <author>
              <organization showOnFrontPage="true">ISO/IEC</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="ISO/IEC" value="14496-12:2026"/>
        </reference>
        <reference anchor="ISO.IEC.23008-2" target="https://www.iso.org/standard/90502.html" quoteTitle="true" derivedAnchor="ISO.IEC.23008-2">
          <front>
            <title>Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 2: High efficiency video coding</title>
            <author>
              <organization showOnFrontPage="true">ISO/IEC</organization>
            </author>
            <date year="2025"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23008-2:2025"/>
        </reference>
        <reference anchor="ISO.IEC.23009-1" target="https://www.iso.org/standard/83314.html" quoteTitle="true" derivedAnchor="ISO.IEC.23009-1">
          <front>
            <title>Information technology - Dynamic adaptive streaming over HTTP (DASH) - Part 1: Media presentation description and segment formats</title>
            <author>
              <organization showOnFrontPage="true">ISO/IEC</organization>
            </author>
            <date year="2022"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23009-1:2022"/>
        </reference>
        <reference anchor="ISO.IEC.23090-3" target="https://www.iso.org/standard/86516.html" quoteTitle="true" derivedAnchor="ISO.IEC.23090-3">
          <front>
            <title>Information technology - Coded representation of immersive media - Part 3: Versatile video coding</title>
            <author>
              <organization showOnFrontPage="true">ISO/IEC</organization>
            </author>
            <date year="2024"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-3:2024"/>
        </reference>
        <reference anchor="ISO.IEC.23090-10" target="https://www.iso.org/standard/78991.html" quoteTitle="true" derivedAnchor="ISO.IEC.23090-10">
          <front>
            <title>Information technology - Coded representation of immersive media - Part 10: Carriage of visual volumetric video-based coding data</title>
            <author>
              <organization showOnFrontPage="true">ISO/IEC</organization>
            </author>
            <date year="2022"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-10:2022"/>
        </reference>
        <reference anchor="RFC3551" target="https://www.rfc-editor.org/info/rfc3551" quoteTitle="true" derivedAnchor="RFC3551">
          <front>
            <title>RTP Profile for Audio and Video Conferences with Minimal Control</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="S. Casner" initials="S." surname="Casner"/>
            <date month="July" year="2003"/>
            <abstract>
              <t indent="0">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" quoteTitle="true" derivedAnchor="RFC3711">
          <front>
            <title>The Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="M. Baugher" initials="M." surname="Baugher"/>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="M. Naslund" initials="M." surname="Naslund"/>
            <author fullname="E. Carrara" initials="E." surname="Carrara"/>
            <author fullname="K. Norrman" initials="K." surname="Norrman"/>
            <date month="March" year="2004"/>
            <abstract>
              <t indent="0">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="RFC4303" target="https://www.rfc-editor.org/info/rfc4303" quoteTitle="true" derivedAnchor="RFC4303">
          <front>
            <title>IP Encapsulating Security Payload (ESP)</title>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="December" year="2005"/>
            <abstract>
              <t indent="0">This document describes an updated version of the Encapsulating Security Payload (ESP) protocol, which is designed to provide a mix of security services in IPv4 and IPv6. ESP is used to provide confidentiality, data origin authentication, connectionless integrity, an anti-replay service (a form of partial sequence integrity), and limited traffic flow confidentiality. This document obsoletes RFC 2406 (November 1998). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4303"/>
          <seriesInfo name="DOI" value="10.17487/RFC4303"/>
        </reference>
        <reference anchor="RFC4585" target="https://www.rfc-editor.org/info/rfc4585" quoteTitle="true" derivedAnchor="RFC4585">
          <front>
            <title>Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF)</title>
            <author fullname="J. Ott" initials="J." surname="Ott"/>
            <author fullname="S. Wenger" initials="S." surname="Wenger"/>
            <author fullname="N. Sato" initials="N." surname="Sato"/>
            <author fullname="C. Burmeister" initials="C." surname="Burmeister"/>
            <author fullname="J. Rey" initials="J." surname="Rey"/>
            <date month="July" year="2006"/>
            <abstract>
              <t indent="0">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" quoteTitle="true" derivedAnchor="RFC5124">
          <front>
            <title>Extended Secure RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/SAVPF)</title>
            <author fullname="J. Ott" initials="J." surname="Ott"/>
            <author fullname="E. Carrara" initials="E." surname="Carrara"/>
            <date month="February" year="2008"/>
            <abstract>
              <t indent="0">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" quoteTitle="true" derivedAnchor="RFC6184">
          <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 indent="0">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 indent="0">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" quoteTitle="true" derivedAnchor="RFC6190">
          <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 indent="0">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" quoteTitle="true" derivedAnchor="RFC7201">
          <front>
            <title>Options for Securing RTP Sessions</title>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <date month="April" year="2014"/>
            <abstract>
              <t indent="0">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" quoteTitle="true" derivedAnchor="RFC7202">
          <front>
            <title>Securing the RTP Framework: Why RTP Does Not Mandate a Single Media Security Solution</title>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <date month="April" year="2014"/>
            <abstract>
              <t indent="0">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="RFC7296" target="https://www.rfc-editor.org/info/rfc7296" quoteTitle="true" derivedAnchor="RFC7296">
          <front>
            <title>Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="C. Kaufman" initials="C." surname="Kaufman"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <date month="October" year="2014"/>
            <abstract>
              <t indent="0">This document describes version 2 of the Internet Key Exchange (IKE) protocol. IKE is a component of IPsec used for performing mutual authentication and establishing and maintaining Security Associations (SAs). This document obsoletes RFC 5996, and includes all of the errata for it. It advances IKEv2 to be an Internet Standard.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="79"/>
          <seriesInfo name="RFC" value="7296"/>
          <seriesInfo name="DOI" value="10.17487/RFC7296"/>
        </reference>
        <reference anchor="RFC7798" target="https://www.rfc-editor.org/info/rfc7798" quoteTitle="true" derivedAnchor="RFC7798">
          <front>
            <title>RTP Payload Format for High Efficiency Video Coding (HEVC)</title>
            <author fullname="Y.-K. Wang" initials="Y.-K." surname="Wang"/>
            <author fullname="Y. Sanchez" initials="Y." surname="Sanchez"/>
            <author fullname="T. Schierl" initials="T." surname="Schierl"/>
            <author fullname="S. Wenger" initials="S." surname="Wenger"/>
            <author fullname="M. M. Hannuksela" initials="M. M." surname="Hannuksela"/>
            <date month="March" year="2016"/>
            <abstract>
              <t indent="0">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>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="L." surname="Ilola" fullname="Lauri Ilola">
        <organization showOnFrontPage="true">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 showOnFrontPage="true">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>
    </section>
  </back>
</rfc>
