<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-hsyang-avtcore-rtp-avatar-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title abbrev="RTP-Payload-avatar">RTP Payload Format for Avatar</title>
    <seriesInfo name="Internet-Draft" value="draft-hsyang-avtcore-rtp-avatar-00"/>
    <author initials="" surname="HS Yang" fullname="Hyunsik Yang">
      <organization>InterDigital</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>hyunsik.yang@interdigital.com</email>
      </address>
    </author>
    <author initials="X." surname="de Foy" fullname="Xavier de Foy">
      <organization>InterDigital</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>xavier.defoy@interdigital.com</email>
      </address>
    </author>
    <author initials="A." surname="Hamza" fullname="Ahmed Hamza">
      <organization>InterDigital</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>ahmed.hamza@interdigital.com</email>
      </address>
    </author>
    <author initials="I." surname="Bouazizi" fullname="Imed Bouazizi">
      <organization>Qualcomm</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>BOUAZIZI@qti.qualcomm.com</email>
      </address>
    </author>
    <date/>
    <area>Transport</area>
    <workgroup>avtcore</workgroup>
    <abstract>
      <?line 69?>

<t>This memo outlines RTP payload formats for the MPEG-I Avatar data. A Avatar Stream format (ASF) is composed of Avatar animation unit (AAU) including a AAU header and zero or more AAU packets. The RTP Payload header format allows for packetization of a AAU unit in an RTP packet payload as well as fragmentation of a AAU into multiple RTP packets.</t>
    </abstract>
  </front>
  <middle>
    <?line 73?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Avatars are digital representations of users in the metaverse, a set of virtual worlds where people can interact with each other in real-time. Users can customize different aspects of their avatars, such as clothing, accessories, and even physical attributes. Avatars allow users to express themselves and create a unique digital identity within the metaverse. The integration, animation, and representation of avatars in real-time communication services is essential to enable immersive experiences.</t>
      <t><xref target="ISO.IEC.23090-39"/> specifies the Avatar Representation Format (ARF) to offer an interoperable exchange format for the storage, carriage and animation of 3D avatars. It defines the "Avatar animation Unit" as a unit of packetization suitable for Avatar animation streaming, and similar in essence to the NAL unit defined in some video specifications. This document describes how Avatar data (Avatar animation Unit) can be transmitted using the RTP protocol. This document followed recommendations in <xref target="RFC8088"/> and <xref target="RFC2736"/> for RTP payload format writers.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
    </section>
    <section anchor="definition-and-abbreviations">
      <name>Definition, and abbreviations</name>
      <section anchor="general">
        <name>General</name>
        <t>This document uses the definitions of the Avatar Representation Format <xref target="ISO.IEC.23090-39"/>. Some of these terms are provided here for convenience.</t>
      </section>
      <section anchor="definitions">
        <name>Definitions</name>
        <t>Animation Streams: timed data used to animate the base avatar.</t>
      </section>
      <section anchor="abbreviation">
        <name>Abbreviation</name>
        <t>ARF Avatar Representation Format</t>
        <t>ASF Avatar Stream Format</t>
        <t>AAU Avatar Animation Unit</t>
        <t>LoD Level of Detail</t>
      </section>
    </section>
    <section anchor="avatar-format">
      <name>Avatar Representation Format</name>
      <section anchor="overview-of-avatar-representation-format-informative">
        <name>Overview of Avatar Representation Format (informative)</name>
        <t>The Avatar Representation Format (ARF) defines two key components of an avatar animation system: the Base Avatar Format and the Animation Stream Format.</t>
        <t>The Base Avatar Format defines a standardized structure for avatar models, allowing them to be stored in digital asset repositories. This ensures that core avatar assets can be reliably accessed and animated by receiving systems.
In contrast, the Animation Stream Format specifies how animation data is organized and transmitted between sender and receiver. It defines the encoding of facial and body animation, enabling data captured from input devices such as head-mounted displays (HMDs) and sensors to be consistently interpreted across different systems for animating associated avatars. <xref target="_figure-avatar-architecture"/> describe an Avatar reference architecture.</t>
        <figure anchor="_figure-avatar-architecture">
          <name>Avatar reference architecture</name>
          <artwork><![CDATA[
+---------+
|Reference|
|  Model  |
+----+----+
     |                +-------------+                       
     +--------------->|Digital Asset|Base Avatar Format(BAF)
     |                |    Repo     +--------------------+
     |                +-------------+                    |
     |                                                   |
+----+---+                                               |     
|Tracking|    +------+ Animation Stream Format(ASF) +----v---+
| System |--->|Sender|----------------------------->|receiver|
+--------+    +------+                              +--------+  
]]></artwork>
        </figure>
      </section>
      <section anchor="avatar-stream">
        <name>Avatar Animation Streams</name>
        <t>Animation streams are timed data used to animate an avatar. This data includes skeletal, blend shape set, and other animation-related information. Animation stream format defines how animation data is structured and carried between senders and receivers. This format defines how facial and body animation information is encoded, allowing data captured from input devices like Head-Mounted Displays (HMDs) and sensors to be consistently interpreted across different systems for the animation of associated avatars.</t>
        <t>Avatar animation data may be stored as samples in an avatar container, such as the MPEG Avatar Representation Format container <xref target="ISO.IEC.23090-39"/>, along with the avatar model representation. This data may also be generated on-the-fly as cameras and sensor capture a person's motion and generate corresponding commands to mimic this movement for an avatar that represent the user. Avatar animation samples may be structured into a bitstream comprising a sequence of Avatar Animation Units (AAUs), whose general structure is provided in <xref target="figure1"/>.</t>
        <t>Each AAU includes an Avatar ID that indicates the target avatar to which the animation data applies. In addition, it may also include parameters such as a Level of Detail (LoD), which indicates the quality of the avatar animation, and an Avatar Part ID, which indicates which specific part of the avatar is animated.</t>
        <t>Avatar animation content can be transmitted over one or more streams, depending on applications. For example, an application may transmit animations for a single avatar in different streams or may transmit animations for multiple avatars in a single stream. In some cases, an application may choose to stream a single level of detail for all avatar animations, while in some other cases, an application could associate different avatars or avatar parts with different levels of details, depending on the position of the avatar, and possibly changing the level of detail over time. An application could even stream different avatar parts in different streams. In all cases, the receiver should be aware of the avatar IDs, levels of detail and/or avatar part IDs that are transmitted in a stream, to make sure it has the necessary assets to render the avatar animation. The receiver can use the avatar ID or level of detail associated with an AAU to transmit the AAU to an animation player instance that has the proper assets.</t>
        <figure anchor="figure1">
          <name>The structure of AAU Header(a) and Payload(b)</name>
          <artwork><![CDATA[
   +---------+-----------+  +----------+-----------------+
   |Unit_type|Unit_length|  |time stamp|data of unit_type|
   +---------+-----------+  +----------+-----------------+
   (a) AAU Header           (b) AAU Payload
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="section5">
      <name>Payload format for Avatar stream Format</name>
      <section anchor="general-1">
        <name>General</name>
        <t>This section describes details related to the RTP payload format definitions for the Avatar codec defined in <xref target="ISO.IEC.23090-39"/>. Aspects related to RTP header, RTP payload header and general payload structure are considered.</t>
      </section>
      <section anchor="rtp-header-usage">
        <name>RTP header Usage</name>
        <t>The RTP header is defined in <xref target="RFC3550"/> and represented in <xref target="_figure-rtpheader"/>. Some of the header field values are interpreted as follows.</t>
        <figure anchor="_figure-rtpheader">
          <name>RTP header for Avatar Animation Unit</name>
          <artwork><![CDATA[
   0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |V=2|P|X|  CC   |M|     PT      |       sequence number         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           timestamp                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           synchronization source (SSRC) identifier            |
   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
   |            contributing source (CSRC) identifiers             |
   |                             ....                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   
]]></artwork>
        </figure>
        <t>Marker bit (M): 1 bit.</t>
        <t>The marker bit SHOULD be set to one in the first RTP packet after an any idle period. 
   This can for example be used for jitter buffer adaptation. The marker bit in all other packets MUST be set to zero.</t>
        <t>Payload type (PT): 7 bits</t>
        <t>The assignment of a payload type MUST be performed either through the profile used or in a dynamic way.</t>
        <t>Sequence Number (SN): 16 bits</t>
        <t>Set and used in accordance with <xref target="RFC3550"/></t>
        <t>Timestamp: 32 bits</t>
        <t>A timestamp representing the sampling time. The AAU (Avatar Animation Unit) defines aau_timestamp in its payload. The timestamp in seconds can be calculated as: timestamp / timescale.</t>
        <t>Synchronization source (SSRC): 32 bits</t>
        <t>Used to identify the source of the RTP packets. By definition a single SSRC is used for all parts of a single bitstream. The remaining RTP header fields are used as specified in <xref target="RFC3550"/>.</t>
      </section>
      <section anchor="payload-header">
        <name>RTP payload header for Avatar Animation Unit</name>
        <t>The RTP Payload Header follows the RTP header. <xref target="_figure-rtpheader-aau"/> describes RTP Payload Header.</t>
        <figure anchor="_figure-rtpheader-aau">
          <name>RTP Payload header for Avatar Animation</name>
          <artwork><![CDATA[
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 
+-+-------+-----+---------------+
|D|   UT  |  L  |      Av ID    |
+-+-------+-----+---------------+

]]></artwork>
        </figure>
        <t>D (Sync Type, 1 bit): this field indicates whether an AAU included in the avatar animation packet payload is a sync AAU (D=0) or not (D=1). If D=1, the AAU is dependent on other AAUs for decoding. If D=0, the AAU can be decoded independently.</t>
        <t>UT (Unit Type, 4 bits): this field indicates the type of the payload, which can be the type of the AAU for single unit payload, or the type of the payload otherwise, as shown in <xref target="_figure-transmission-type"/>.</t>
        <t>L (Layer or Level of Detail, 3 bits): this field indicates the layer or level of detail of the avatar to which the AAU applies.</t>
        <t>AvID (Avatar ID, 8 bits): this field identifies the avatar to which the animation data in the payload of the packet applies. The avatar corresponds to the digital assets to be animated.</t>
      </section>
      <section anchor="payload-structures">
        <name>Payload structures</name>
        <section anchor="general-2">
          <name>General</name>
          <t>Three different types of RTP packet payload structures are specified. A single unit packet contains a single AAU in the payload. A fragmentation unit contains a subset of a AAU.  An aggregation packet contains multiple Avatar animation units in the payload. The unit type (UT) field of the RTP payload header, as shown in <xref target="_figure-transmission-type"/>, identifies both the payload structure and, in the case of a single-unit structure, also identifies the type of Avatar animation unit present in the payload.</t>
          <figure anchor="_figure-transmission-type">
            <name>Payload structure type for Avatar</name>
            <artwork><![CDATA[
Unit     Payload   Name
Type     Structure
----------------------------------------
0        N/A       Reserved
1        Single    Configuration AAU
2        Single    Animation AAU
3        Single    Joint AAU
4        Single    Landmark AAU
13       Aggr      Aggregation Packet (STAP)
14       Aggr      Aggregation Packet (MTAP)
15       Frag      Fragmentation Unit
]]></artwork>
          </figure>
          <t>The payload structures are represented in <xref target="_figure-transmission-style"/>.  The single unit payload structure is specified in <xref target="single"/>. The fragmented unit payload structure is specified in <xref target="fragmented"/>. The aggregation unit payload structure is specified in <xref target="aggregated"/>.</t>
          <figure anchor="_figure-transmission-style">
            <name>RTP Transmission mode</name>
            <artwork><![CDATA[
                                            +-------------------+
                                            |     RTP Header    |
                                            +-------------------+
                                            | RTP Payload Header|
                      +-------------------+ |   (Aggregation)   |
                      |    RTP Header     | +-------------------+
+-------------------+ +-------------------+ |     AAU 1 Size    |
|     RTP Header    | | RTP Payload Header| +-------------------+
+-------------------+ |  (Fragmentation)  | |       AAU 1       |
| RTP Payload Header| +-------------------+ +-------------------+
+-------------------+ |     FU Header     | |     AAU 2 Size    |
|    RTP Payload    | +-------------------+ +-------------------+
|   (Single AAU)|   | |   RTP Payload     | |      ...          |
+-------------------+ +-------------------+ +-------------------+
(a) single unit      (b)fragmentation unit (c) aggregation packet

]]></artwork>
          </figure>
        </section>
        <section anchor="single">
          <name>Single Unit Payload Structure</name>
          <t>In a single unit payload structure, as described in <xref target="_figure-transmission-single"/>, the RTP packet contains the RTP header, followed by the Payload Header and one single AAU. The Payload Header follows the structure described in <xref target="payload-header"/>. The  payload contains an AAU as defined in <xref target="ISO.IEC.23090-39"/>.</t>
          <figure anchor="_figure-transmission-single">
            <name>Single AAU payload structure</name>
            <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          RTP Header                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Payload Header |                                               |
+---------------+                                               |
|                           AAU  Data                           |
|                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               :...OPTIONAL RTP padding        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
        </section>
        <section anchor="fragmented">
          <name>Fragmented Unit Payload Structure</name>
          <t>In a fragmented unit payload structure, as described in <xref target="_figure-fragment-structure"/>, the RTP packet contains the RTP header, followed by the Payload Header, a Fragmented Unit (FU) header, and an AAU fragment. The Payload Header follows the structure described in <xref target="payload-header"/>. The value of the UT field of the Payload Header is 15. The FU header follows the structure described in <xref target="_figure-fragment-header"/>.</t>
          <figure anchor="_figure-fragment-structure">
            <name>Fragmentation unit header</name>
            <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          RTP Header                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Payload Header | FU Header     |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
|                          AAU Fragment                         |
|                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               :...OPTIONAL RTP padding        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>FU headers are used to enable fragmenting a single AAU into multiple RTP packets. Fragments of the same AAU MUST be sent in consecutive order with ascending RTP sequence numbers (with no other RTP packets within the same RTP stream being sent between the first and last fragment). FUs MUST NOT be nested, i.e., an FU MUST NOT contain a subset of another FU.</t>
          <t><xref target="_figure-fragment-header"/> describes a FU header, including the following fields:</t>
          <figure anchor="_figure-fragment-header">
            <name>Fragmentation unit header</name>
            <artwork><![CDATA[
+-------------------------------+
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
+---+---+---+---+---+---+---+---+
|FUS|FUE|  RSV  |       UT      |
+---+---+-------+---------------+
]]></artwork>
          </figure>
          <t>FUS (Fragmented Unit Start, 1 bit): this field MUST be set to 1 for the first fragment, and 0 for the other fragments.</t>
          <t>FUE (Fragmented Unit End, 1 bit): this field MUST be set to 1 for the last fragment, and 0 for the other fragments.</t>
          <t>RSV (Reserved, 3 bits): these bits MUST be set to 0 by the sender and ignored by the receiver.</t>
          <t>UT (Unit Type, 4 bits): this field indicates the type of the AAU this fragment belongs to, using values defined in <xref target="_figure-transmission-type"/>.</t>
        </section>
        <section anchor="aggregated">
          <name>Aggregation Packet Payload Structure</name>
          <t>In an aggregation packet, as described in <xref target="_figure-aggre-structure"/>, the RTP packet contains an RTP header, followed by a Payload Header, and, for each aggregated AAU, an AAU size followed by the AAU. The Payload Header follows the structure described in <xref target="payload-header"/>.</t>
          <figure anchor="_figure-aggre-structure">
            <name>Single-Time Aggregation Packet</name>
            <artwork><![CDATA[
     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                          RTP Header                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |        RTP Payload Header     |           AAU 1 Size          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                              AAU 1                            |
    |                                                               |
    :                                                               :
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |            AAU 2 Size       |                                 |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                                 |
    |                              AAU 2                            |
    |                                                               |
    |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                               :...OPTIONAL RTP padding        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t><xref target="_figure-aggre-structure"/> shows a Single-Time Aggregation Packet (STAP), which can be used to transmit multiple avatar animation units that correspond to the same timestamp. For example, if two different AAUs are used for different animations for different parts of the avatar, they can be transmitted together in a single STAP. The default sizes of the avatar animation unit length field is 16 bits. The value of the UT field of the Payload Header is 13.</t>
          <figure anchor="_figure-aggremtap-structure">
            <name>Multiple-time aggregation packet</name>
            <artwork><![CDATA[
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                          RTP Header                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |        RTP Payload Header     |          AAU 1 Size           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                           TS offset           |               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               |
    |                               AAU 1                           |
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |             AAU 2 Size        |            TS offset          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |   TS offset   |                                               |
    |-+-+-+-+-+-+-+-+                                               |
    |                              AAU 2                            |
    |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                               :...OPTIONAL RTP padding        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   
]]></artwork>
          </figure>
          <t><xref target="_figure-aggremtap-structure"/> shows a multi-time aggregation packet. It is used to transmit multiple Avatar animation units with different timestamps, in one RTP packet. Multi-time aggregation can help reduce the number of packets, in environments where some delay is acceptable. The default sizes of the TS offset and the AAU length fields are 16 bits each. The value of the UT field of the Payload Header is 14. In case of MTAP, the timestamp offset field MUST be set to the value of (AAU-time of the animation unit - RTP timestamp of the packet). The timestamp offset of the earliest aggregation unit MUST always be zero. Therefore, the RTP timestamp of the MTAP is identical to the earliest AAU-time.</t>
        </section>
      </section>
    </section>
    <section anchor="transmission-consdier">
      <name>AAU Transmission Considerations</name>
      <t>The following considerations apply for the streaming of avatar animation units over RTP:</t>
      <t>In some multimedia conference scenarios using an RTP video mixer (e.g., when adding or selecting a new source), it is recommended to use Full Intra Request (FIR) feedback <xref target="RFC5104"/> messages with avatar animation. The purpose of the FIR message is to cause an encoder to send a decoder refresh point at the earliest opportunity. In the context of avatar animation, an appropriate decoder refresh point is a configuration AAU. The configuration AAU point enables a decoder to be reset to a known state and be able decode all AAUs following it.</t>
    </section>
    <section anchor="payload-format-parameters">
      <name>Payload Format Parameters</name>
      <t>This section describes payload formant optional parameters. A mapping of the parameters into the Session Description Protocol (SDP) <xref target="RFC8866"/> is also provided for applications that use SDP. Equivalent parameters could be defined elsewhere for use with control protocols that do not use SDP.</t>
      <section anchor="format-param">
        <name>Media Type Registration Update</name>
        <t>The receiver MUST ignore any parameter unspecified in this memo.</t>
        <t>Type name: application</t>
        <t>Subtype name: ampg</t>
        <t>Required parameters: N/A</t>
        <t>Optional parameters are defined in the following section.</t>
      </section>
      <section anchor="optional-param">
        <name>Optional Parameters Definition</name>
        <t><em>version</em> provides the year of the edition and amendment of the specifications followed by this RTP payload type.</t>
        <t><em>profile</em> name of the profile used to generate the encoded stream.</t>
        <t><em>avatar-id</em> identifies the avatars which are the target of the avatar animation stream. This parameter is a comma-separated list of integers.</t>
        <t><em>avatar-lod</em> indicates which levels of detail are used in the avatar animation stream. This parameter is a comma-separated list of integers.</t>
        <t><em>avatar-part-id</em> identifies which specific parts of the avatar are associated with the avatar animation stream. This parameter is a comma-separated list of integers.</t>
      </section>
    </section>
    <section anchor="congestion-control-consideration">
      <name>Congestion Control Consideration</name>
      <t>General congestion control considerations for RTP transmission, as described in <xref target="RFC3550"/>, also apply to avatar streaming over RTP. By adjusting the SDP 'avatar-lod' parameter, it is possible to reduce processing load and optimize bandwidth usage, thereby partially mitigating congestion issues. The ability to adapt the level of detail dynamically allows senders or receivers to manage computational complexity and network resource consumption based on system constraints or user context. Moreover, in use cases such as video conferencing, different levels of detail may be applied to different parts of the avatar and transmitted via separate streams.</t>
    </section>
    <section anchor="sdp-considerations">
      <name>SDP Considerations</name>
      <t>The mapping of above defined payload format media type to the corresponding fields in the Session Description Protocol (SDP) is done according to <xref target="RFC8866"/>.</t>
      <t>The media name in the "m=" line of SDP MUST be application.</t>
      <t>The encoding name in the "a=rtpmap" line of SDP MUST be ampg</t>
      <t>The clock rate in the "a=rtpmap" line may be any sampling rate.</t>
      <t>The OPTIONAL parameters (defined in <xref target="optional-param"/>), when present, MUST be included in the "a=fmtp" line of SDP. This is expressed as a media type string, in the form of a semicolon-separated list of parameter=value pairs.</t>
      <t>An example of media representation corresponding to the avatar animation RTP payload in SDP is as follows:</t>
      <artwork><![CDATA[
m=application 43291 UDP/TLS/RTP/SAVPF 120
a=rtpmap:120 ampg/8000
a=fmtp:120 profile=1;version=2025
]]></artwork>
      <section anchor="sdp-offeranswer-consideration">
        <name>SDP Offer/Answer Consideration</name>
        <t>When using the offer/answer procedure described in [RFC3264] to negotiate the use of avatar animations, the following considerations apply:</t>
        <t>When used for a unidirectional stream, the SDP parameters represent the properties of the sender (on the sending side) and of the receiver (on the receiving side). When used for a sendrecv stream, the SDP parameters represent the properties of the receiver.</t>
        <t>The avatar animation signal can be sampled at different rates. The Avatar Animation standard does not mandate a specific frequency.</t>
        <t>The receiver properties expressed using the SDP parameters 'version', 'profile' have a mandatory character, since they represent implementation capabilities. The version and profile parameters MUST be used symmetrically in SDP offer and answer. That is, their values in the answer MUST match those in the offer, either explicitly signaled or implicitly inferred. In the same session, version and profile MUST NOT be changed in subsequent offers or answers.</t>
        <t>The parameter 'version' indicates the version of the avatar animation standard specification. If it is not specified, the initial version of the avatar animation specification SHOULD be assumed, although the sender and receiver MAY use a specific value based on an out-of-band agreement. The parameter 'profile' is used to restrict the number of tools used. If it is not specified, the most general profile "main" SHOULD be assumed, although the sender and receiver MAY use a specific value based on an out-of-band agreement.</t>
        <t>Any receiver compliant with <xref target="ISO.IEC.23090-39"/> must accept any stream with a compatible version and profile. A receiver supporting a more general profile will accept a stream corresponding to a same or less general profile (e.g., "main" is more general than other profiles).</t>
        <t>The properties expressed using SDP parameters other than 'version' and 'profile' are provided as recommendations for efficient data transmission and are not binding, meaning that a sender is encouraged but not required to conform to the parameters specified by the receiver. These properties may be set to different values in offers and answers. These properties may be updated in subsequent offers or answers.</t>
        <t>The parameters 'avatar-id', 'avatar-lod', and 'avatar-part-id' can be sent by a sender to reflect the characteristics of bitstreams and can be set by a receiver to reflect the capabilities and configurations of the local player device, or a preferred set of bitstream properties.</t>
        <t>The parameter avatar-id indicates that the AAUs of the stream correspond to the one or more avatar IDs signalled with this parameter. The receiver, to be able to render the animations, needs to have loaded the corresponding animation models.</t>
        <t>The parameter avatar-part-id indicates that the AAUs of the stream corresponds to the one or more avatar part IDs signalled with this parameter. The receiver, to be able to render the animations, needs to have loaded parts of the animation models corresponding to the part IDs.</t>
        <t>The parameter avatar-lod indicates that the AAUs of the stream correspond to the one or more level of details signalled by this parameter. The receiver, to be able to render the animations, needs to have loaded parts of the animation  models including the assets corresponding to the signalled level of details.</t>
        <t>A receiver may ignore any part of a received stream, e.g., that it does not have support for rendering.</t>
      </section>
      <section anchor="declarative-sdp-consideration">
        <name>Declarative SDP Consideration</name>
        <t>When avatar animation over RTP is offered with SDP in a declarative style, the parameters capable of indicating both bitstream properties as well as receiver capabilities are used to indicate only bitstream properties. For example, in this case, the parameters avatar-id, avatar-lod, and avatar-part-id declare the values used by the bitstream, not the capabilities and configurations for receiving bitstreams. A receiver of the SDP is required to support all parameters and values of the parameters provided; otherwise, the receiver MUST reject or not participate in the session. It falls on the creator of the session to use values that are expected to be supported by the receiving application.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="avatar-animation-media-registration">
        <name>Avatar animation media registration</name>
        <t>New media types will be registered with IANA; see <xref target="format-param"/>.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>RTP packets using the payload format defined in this specification are subject to the security considerations discussed in the RTP specification <xref target="RFC3550"/>, and in any applicable RTP profile such as RTP/AVP <xref target="RFC3551"/>, RTP/AVPF <xref target="RFC4585"/>, RTP/SAVP <xref target="RFC3711"/>, or RTP/SAVPF <xref target="RFC5124"/>.</t>
      <t>For example, an avatar may contain sensitive information derived from a user's personal data, and thus requires protection against leakage or tampering during transmission. When avatar data is delivered over a network or downloaded from a server, it is critical to ensure its integrity and confidentiality to prevent unauthorized access, modification, or confidentiality.</t>
      <t>However, as "Securing the RTP Protocol Framework: Why RTP Does Not Mandate a Single Media Security Solution" <xref target="RFC7202"/> discusses, it is not an RTP payload format's responsibility to discuss or mandate what solutions are used to meet the basic security goals like confidentiality, integrity, and source authenticity for RTP in general. This responsibility lays on anyone using RTP in an application. They can find guidance on available security mechanisms and important considerations in "Options for Securing RTP Sessions" <xref target="RFC7201"/>. Applications SHOULD use one or more appropriate strong security mechanisms. The rest of this Security Considerations section discusses the security impacting properties of the payload format itself.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="ISO.IEC.23090-39" target="https://www.mpeg.org/standards/MPEG-I/39/">
          <front>
            <title>Information technology - Coded representation of immersive media - Part 39: Avatar Representation Format</title>
            <author>
              <organization>ISO/IEC</organization>
            </author>
            <date year="2025"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-39"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC2736">
          <front>
            <title>Guidelines for Writers of RTP Payload Format Specifications</title>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <date month="December" year="1999"/>
            <abstract>
              <t>This document provides general guidelines aimed at assisting the authors of RTP Payload Format specifications in deciding on good formats. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="36"/>
          <seriesInfo name="RFC" value="2736"/>
          <seriesInfo name="DOI" value="10.17487/RFC2736"/>
        </reference>
        <reference anchor="RFC8088">
          <front>
            <title>How to Write an RTP Payload Format</title>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>This document contains information on how best to write an RTP payload format specification. It provides reading tips, design practices, and practical tips on how to produce an RTP payload format specification quickly and with good results. A template is also included with instructions.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8088"/>
          <seriesInfo name="DOI" value="10.17487/RFC8088"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC3550">
          <front>
            <title>RTP: A Transport Protocol for Real-Time Applications</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="S. Casner" initials="S." surname="Casner"/>
            <author fullname="R. Frederick" initials="R." surname="Frederick"/>
            <author fullname="V. Jacobson" initials="V." surname="Jacobson"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>This memorandum describes RTP, the real-time transport protocol. RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services. RTP does not address resource reservation and does not guarantee quality-of- service for real-time services. The data transport is augmented by a control protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide minimal control and identification functionality. RTP and RTCP are designed to be independent of the underlying transport and network layers. The protocol supports the use of RTP-level translators and mixers. Most of the text in this memorandum is identical to RFC 1889 which it obsoletes. There are no changes in the packet formats on the wire, only changes to the rules and algorithms governing how the protocol is used. The biggest change is an enhancement to the scalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess of the intended rate when many participants join a session simultaneously. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="64"/>
          <seriesInfo name="RFC" value="3550"/>
          <seriesInfo name="DOI" value="10.17487/RFC3550"/>
        </reference>
        <reference anchor="RFC8866">
          <front>
            <title>SDP: Session Description Protocol</title>
            <author fullname="A. Begen" initials="A." surname="Begen"/>
            <author fullname="P. Kyzivat" initials="P." surname="Kyzivat"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>This memo defines the Session Description Protocol (SDP). SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. This document obsoletes RFC 4566.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8866"/>
          <seriesInfo name="DOI" value="10.17487/RFC8866"/>
        </reference>
        <reference anchor="RFC3551">
          <front>
            <title>RTP Profile for Audio and Video Conferences with Minimal Control</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="S. Casner" initials="S." surname="Casner"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>This document describes a profile called "RTP/AVP" for the use of the real-time transport protocol (RTP), version 2, and the associated control protocol, RTCP, within audio and video multiparticipant conferences with minimal control. It provides interpretations of generic fields within the RTP specification suitable for audio and video conferences. In particular, this document defines a set of default mappings from payload type numbers to encodings. This document also describes how audio and video data may be carried within RTP. It defines a set of standard encodings and their names when used within RTP. The descriptions provide pointers to reference implementations and the detailed standards. This document is meant as an aid for implementors of audio, video and other real-time multimedia applications. This memorandum obsoletes RFC 1890. It is mostly backwards-compatible except for functions removed because two interoperable implementations were not found. The additions to RFC 1890 codify existing practice in the use of payload formats under this profile and include new payload formats defined since RFC 1890 was published. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="65"/>
          <seriesInfo name="RFC" value="3551"/>
          <seriesInfo name="DOI" value="10.17487/RFC3551"/>
        </reference>
        <reference anchor="RFC4585">
          <front>
            <title>Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF)</title>
            <author fullname="J. Ott" initials="J." surname="Ott"/>
            <author fullname="S. Wenger" initials="S." surname="Wenger"/>
            <author fullname="N. Sato" initials="N." surname="Sato"/>
            <author fullname="C. Burmeister" initials="C." surname="Burmeister"/>
            <author fullname="J. Rey" initials="J." surname="Rey"/>
            <date month="July" year="2006"/>
            <abstract>
              <t>Real-time media streams that use RTP are, to some degree, resilient against packet losses. Receivers may use the base mechanisms of the Real-time Transport Control Protocol (RTCP) to report packet reception statistics and thus allow a sender to adapt its transmission behavior in the mid-term. This is the sole means for feedback and feedback-based error repair (besides a few codec-specific mechanisms). This document defines an extension to the Audio-visual Profile (AVP) that enables receivers to provide, statistically, more immediate feedback to the senders and thus allows for short-term adaptation and efficient feedback-based repair mechanisms to be implemented. This early feedback profile (AVPF) maintains the AVP bandwidth constraints for RTCP and preserves scalability to large groups. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4585"/>
          <seriesInfo name="DOI" value="10.17487/RFC4585"/>
        </reference>
        <reference anchor="RFC3711">
          <front>
            <title>The Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="M. Baugher" initials="M." surname="Baugher"/>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="M. Naslund" initials="M." surname="Naslund"/>
            <author fullname="E. Carrara" initials="E." surname="Carrara"/>
            <author fullname="K. Norrman" initials="K." surname="Norrman"/>
            <date month="March" year="2004"/>
            <abstract>
              <t>This document describes the Secure Real-time Transport Protocol (SRTP), a profile of the Real-time Transport Protocol (RTP), which can provide confidentiality, message authentication, and replay protection to the RTP traffic and to the control traffic for RTP, the Real-time Transport Control Protocol (RTCP). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3711"/>
          <seriesInfo name="DOI" value="10.17487/RFC3711"/>
        </reference>
        <reference anchor="RFC5124">
          <front>
            <title>Extended Secure RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/SAVPF)</title>
            <author fullname="J. Ott" initials="J." surname="Ott"/>
            <author fullname="E. Carrara" initials="E." surname="Carrara"/>
            <date month="February" year="2008"/>
            <abstract>
              <t>An RTP profile (SAVP) for secure real-time communications and another profile (AVPF) to provide timely feedback from the receivers to a sender are defined in RFC 3711 and RFC 4585, respectively. This memo specifies the combination of both profiles to enable secure RTP communications with feedback. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5124"/>
          <seriesInfo name="DOI" value="10.17487/RFC5124"/>
        </reference>
        <reference anchor="RFC7201">
          <front>
            <title>Options for Securing RTP Sessions</title>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <date month="April" year="2014"/>
            <abstract>
              <t>The Real-time Transport Protocol (RTP) is used in a large number of different application domains and environments. This heterogeneity implies that different security mechanisms are needed to provide services such as confidentiality, integrity, and source authentication of RTP and RTP Control Protocol (RTCP) packets suitable for the various environments. The range of solutions makes it difficult for RTP-based application developers to pick the most suitable mechanism. This document provides an overview of a number of security solutions for RTP and gives guidance for developers on how to choose the appropriate security mechanism.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7201"/>
          <seriesInfo name="DOI" value="10.17487/RFC7201"/>
        </reference>
        <reference anchor="RFC7202">
          <front>
            <title>Securing the RTP Framework: Why RTP Does Not Mandate a Single Media Security Solution</title>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <date month="April" year="2014"/>
            <abstract>
              <t>This memo discusses the problem of securing real-time multimedia sessions. It also explains why the Real-time Transport Protocol (RTP) and the associated RTP Control Protocol (RTCP) do not mandate a single media security mechanism. This is relevant for designers and reviewers of future RTP extensions to ensure that appropriate security mechanisms are mandated and that any such mechanisms are specified in a manner that conforms with the RTP architecture.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7202"/>
          <seriesInfo name="DOI" value="10.17487/RFC7202"/>
        </reference>
        <reference anchor="RFC5104">
          <front>
            <title>Codec Control Messages in the RTP Audio-Visual Profile with Feedback (AVPF)</title>
            <author fullname="S. Wenger" initials="S." surname="Wenger"/>
            <author fullname="U. Chandra" initials="U." surname="Chandra"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <author fullname="B. Burman" initials="B." surname="Burman"/>
            <date month="February" year="2008"/>
            <abstract>
              <t>This document specifies a few extensions to the messages defined in the Audio-Visual Profile with Feedback (AVPF). They are helpful primarily in conversational multimedia scenarios where centralized multipoint functionalities are in use. However, some are also usable in smaller multicast environments and point-to-point calls.</t>
              <t>The extensions discussed are messages related to the ITU-T Rec. H.271 Video Back Channel, Full Intra Request, Temporary Maximum Media Stream Bit Rate, and Temporal-Spatial Trade-off. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5104"/>
          <seriesInfo name="DOI" value="10.17487/RFC5104"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
