<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-payload-rtp-jpegxs-18" number="9134" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" category="std" consensus="true" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" version="3">

 <front>
    <title abbrev="RTP Payload Format for JPEG XS">
     RTP Payload Format for ISO/IEC 21122 (JPEG XS)
    </title>
    <seriesInfo name="RFC" value="9134"/>
    <author fullname="Sébastien Lugan" initials="S" surname="Lugan">
      <organization abbrev="intoPIX">intoPIX S.A.</organization>
      <address>
        <postal>
          <street>Rue Emile Francqui, 9</street>
          <city>Mont-Saint-Guibert</city>
	  <code>1435</code>
          <country>Belgium</country>
        </postal>
        <phone>+32 10 23 84 70</phone>
        <email>rtp@intopix.com</email>
        <uri>https://www.intopix.com/</uri>
      </address>
    </author>
    <author fullname="Antonin Descampe" initials="A" surname="Descampe">
      <organization abbrev="UCL">Université catholique de Louvain</organization>
      <address>
        <postal>
          <extaddr>Place du Levant</extaddr>
          <street>3 - bte L5.03.02</street>
          <city>Louvain-la-Neuve</city>
          <code>1348</code>
          <country>Belgium</country>
        </postal>
        <phone>+32 10 47 25 97</phone>
        <email>antonin.descampe@uclouvain.be</email>
        <uri>https://uclouvain.be/en/research-institutes/icteam</uri>
      </address>
    </author>
    <author fullname="Corentin Damman" initials="C" surname="Damman">
      <organization abbrev="intoPIX">intoPIX S.A.</organization>
      <address>
        <postal>
          <street>Rue Emile Francqui, 9</street>
          <city>Mont-Saint-Guibert</city>
          <code>1435</code>
          <country>Belgium</country>
        </postal>
        <phone>+32 10 23 84 70</phone>
        <email>c.damman@intopix.com</email>
        <uri>https://www.intopix.com/</uri>
      </address>
    </author>
    <author fullname="Thomas Richter" initials="T" surname="Richter">
      <organization abbrev="IIS">Fraunhofer IIS</organization>
      <address>
        <postal>
          <street>Am Wolfsmantel 33</street>
          <city>Erlangen</city>
          <code>91048</code>
          <country>Germany</country>
        </postal>
        <phone>+49 9131 776 5126</phone>
        <email>thomas.richter@iis.fraunhofer.de</email>
        <uri>https://www.iis.fraunhofer.de/</uri>
      </address>
    </author>
    <author fullname="Tim Bruylants" initials="T" surname="Bruylants">
      <organization abbrev="intoPIX">intoPIX S.A.</organization>
      <address>
        <postal>
          <street>Rue Emile Francqui, 9</street>
          <city>Mont-Saint-Guibert</city>
          <code>1435</code>
          <country>Belgium</country>
        </postal>
        <phone>+32 10 23 84 70</phone>
        <email>t.bruylants@intopix.com</email>
        <uri>https://www.intopix.com/</uri>
      </address>
    </author>
    <date year="2021" month="September" />

   <area>General</area>
    <workgroup>avtcore</workgroup>

<!-- [rfced] Please insert any keywords (beyond those that appear in
     the title) for use on https://www.rfc-editor.org/search. -->

<keyword>example</keyword>

   <abstract>

<!-- [rfced] FYI: To avoid the use of a hyphen between parentheses and
     the word "encoded", we've updated the following sentence. Please
     let us know any objections.

Original: 
   This document specifies a Real-Time Transport Protocol (RTP)
   payload format to be used for transporting JPEG XS (ISO/IEC 21122)
   encoded video.

Updated:
   This document specifies a Real-Time Transport Protocol (RTP)
   payload format to be used for transporting video encoded in JPEG XS
   (ISO/IEC 21122).
-->
      <t>
       This document specifies a Real-Time Transport Protocol (RTP) payload
       format to be used for transporting video encoded with JPEG XS (ISO/IEC 21122).
       JPEG XS is a low-latency, lightweight image coding system. Compared to an
       uncompressed video use case, it allows higher resolutions and video frame
       rates while offering visually lossless quality, reduced power
       consumption, and encoding-decoding latency confined to a fraction of a video frame.
      </t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>
       This document specifies a payload format for packetization of video
       signals encoded with <xref target="ISO21122-1" format="default">JPEG
       XS</xref> into the <xref target="RFC3550" format="default">Real-time
       Transport Protocol (RTP)</xref>.
      </t>
      <t>
       The JPEG XS coding system offers compression and recompression of image
       sequences with very moderate computational resources while remaining
       robust under multiple compression and decompression cycles as well as mixing of
       content sources, e.g., embedding of subtitles, overlays, or logos. Typical
       target compression ratios ensuring visually lossless quality are in the
       range of 2:1 to 10:1 depending on the nature of the source material. The
       latency that is introduced by the encoding-decoding process can be confined
       to a fraction of a video frame, typically between a small number of lines
       down to below a single line.
      </t>
    </section>
    <section numbered="true" toc="default">
      <name>Conventions, Definitions, and Abbreviations</name>
      <t>
         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&nbsp;14 <xref target="RFC2119"
         format="default"/> <xref target="RFC8174" format="default"/> when,
         and only when, they appear in all capitals, as shown here.
      </t>

      <dl newline="true" spacing="normal">
        <dt>Application Data Unit (ADU):</dt>
        <dd>
           The unit of source data provided as payload to the transport layer.
           In this RTP payload definition, it corresponds to a single JPEG
           XS video frame.
         </dd>
        <dt>Color Specification (CS) box:</dt>
        <dd>
           An ISO color specification box defined in <xref target="ISO21122-3"
           format="default"/> (JPEG XS Part 3) that includes color-related
           metadata required to correctly display JPEG XS video frames, such
           as color primaries, transfer characteristics, and matrix
           coefficients.
         </dd>
        <dt>End of Codestream (EOC) marker:</dt>
        <dd>
	  A marker that consists of the two bytes 0xff11 indicating the end of
	  a JPEG XS codestream.
         </dd>
        <dt>JPEG XS codestream:</dt>
        <dd>
           A sequence of bytes representing a compressed image formatted
           according to <xref target="ISO21122-1" format="default"/> (JPEG XS Part 1).
         </dd>
        <dt>JPEG XS codestream header:</dt>
        <dd>
           A sequence of bytes, starting with an SOC marker, at the beginning of
           each JPEG XS codestream encoded in multiple markers and marker
           segments that does not carry entropy coded data, but metadata such as
           the video frame dimension and component precision.
         </dd>
        <dt>JPEG XS frame:</dt>
        <dd>
           In the case of progressive video, a single JPEG XS picture segment. In
           the case of interlaced video, the concatenation of two JPEG XS
           picture segments.
         </dd>
        <dt>JPEG XS header segment:</dt>
        <dd>
           The concatenation of a <xref target="ISO21122-3"
           format="default">video support box</xref>, a <xref
           target="ISO21122-3" format="default">color specification
           box</xref>, and a JPEG XS codestream header.
         </dd>
        <dt>JPEG XS picture segment:</dt>
        <dd>
           The concatenation of a <xref target="ISO21122-3"
           format="default">video support box</xref>, a <xref
           target="ISO21122-3" format="default">color specification
           box</xref>, and a JPEG XS codestream.
         </dd>
        <dt>JPEG XS stream:</dt>
        <dd>
           A sequence of JPEG XS frames.
         </dd>
        <dt>Marker:</dt>
        <dd>
           A two-byte functional sequence that is part of a JPEG XS
           codestream starting with a 0xff byte and a subsequent byte
           defining its function.
         </dd>
        <dt>Marker segment:</dt>
        <dd>
           A marker along with a 16-bit marker size and payload data
           following the size.
         </dd>
        <dt>Packetization unit:</dt>
        <dd>
           A portion of an ADU whose boundaries coincide
           with boundaries of RTP packet payloads (excluding payload header),
           i.e., the first (or respectively, last) byte of a packetization unit is the
           first (or respectively, last) byte of an RTP packet payload (excluding its
           payload header).
         </dd>
         <dt>SLH marker:</dt>
<!--[rfced] Is "SLH" an initialism?  We would assume "Slice ___
     Header".  Let us know if this should be updated and how we may
     fill in the blank if so.
     

-->
	 
        <dd>
           A marker that represents a slice header, as defined in <xref target="ISO21122-1" format="default"/>.
         </dd>
        <dt>Slice:</dt>
        <dd>
           The smallest independently decodable unit of a JPEG XS codestream,
           bearing in mind that it decodes to wavelet coefficients, which
           still require inverse wavelet filtering to give an image.
         </dd>
        <dt>Start of a Codestream (SOC) marker:</dt>
        <dd>
           A marker that consists of the two bytes 0xff10 indicating the
           start of a JPEG XS codestream. The SOC marker is considered an
           integral part of the JPEG XS codestream header.
         </dd>
        <dt>Video Support (VS) box:</dt>
        <dd>
           An ISO video support box, as defined in <xref target="ISO21122-3" format="default"/>,
           that includes metadata required to play back a JPEG XS
           stream; such metadata could include its maximum bit rate, its subsampling structure, its
           buffer model, and its frame rate.
         </dd>
      </dl>
    </section>
    <section numbered="true" toc="default">
      <name>Media Format Description</name>
      <t>
       This section explains the terminology and concepts used in this memo specific to JPEG XS
       as specified in <xref target="ISO21122-1" format="default"/>, <xref target="ISO21122-2" format="default"/>, and <xref target="ISO21122-3" format="default"/>.
      </t>
      <section numbered="true" toc="default">
        <name>Image Data Structures</name>

       <t>
         JPEG XS is a low-latency, lightweight image coding system for coding
         continuous-tone grayscale or continuous-tone color digital images.
        </t>
        <t>
         This coding system provides an efficient representation of image
         signals through the mathematical tool of wavelet analysis. The wavelet
         filter process separates each component into multiple bands, where
         each band consists of multiple coefficients describing the image
         signal of a given component within a frequency domain specific to the
         wavelet filter type, i.e., the particular filter corresponding to the
         band.
        </t>
        <t>
         Wavelet coefficients are grouped into precincts, where each precinct
         includes all coefficients over all bands that contribute to a spatial
         region of the image.
        </t>
        <t>
         One or multiple precincts are furthermore combined into slices
         consisting of an integer number of precincts. Precincts do not
         cross slice boundaries, and wavelet coefficients in precincts that
         are part of different slices can be decoded independently of each
         other. However, note that the wavelet transformation runs across
         slice boundaries. A slice always extends over the full width of the
         image but may only cover parts of its height.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Codestream</name>
        <t>
         A JPEG XS codestream is formed by (in the given order):
        </t>
        <ul spacing="normal">
          <li>a JPEG XS codestream header, which starts with a Start of Codestream (SOC) marker,</li>
          <li>one or more slices,</li>
          <li>an EOC marker to signal the end of the codestream.</li>
        </ul>
        <t>
         The JPEG XS codestream format, including the definition of all
         markers, is further defined in <xref target="ISO21122-1" format="default"/>.
         It represents sample values of a single image, without any interpretation
         relative to a color space.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Video Support Box and Color Specification Box</name>
        <t>
         While the information defined in the codestream is sufficient to
         reconstruct the sample values of one image, the interpretation of
         the samples remains undefined by the codestream itself. This
         interpretation is given by the video support box and the color
         specification box, which contain significant information to correctly
         play the JPEG XS stream. The layout and syntax of these boxes, together
         with their content, are defined in <xref target="ISO21122-3" format="default"/>.
        </t>
        <t>
         The video support box provides information on the maximum bit rate,
         the frame rate, the interlaced mode (progressive or interlaced), the
         subsampling image format, the informative timecode of the current
         JPEG XS frame, the profile, the level/sublevel used, and optionally 
         the buffer model and the mastering display metadata.
        </t>
        <t>
         Note that the profile and level/sublevel, specified respectively by
         the <xref target="ISO21122-2" format="default">Ppih and Plev
         fields</xref>, specify limits on the capabilities needed to decode
         the codestream and handle the output. Profiles represent a limit on
         the required algorithmic features and parameter ranges used in the
         codestream.  The combination of level and sublevel defines a lower
         bound on the required throughput for a decoder in the
         image (or decoded) domain and the codestream (or coded) domain, respectively. The
         actual defined profiles and levels/sublevels, along with the
         associated values for the Ppih and Plev fields, are defined in <xref
         target="ISO21122-2" format="default"/>.
        </t>
        <t>
         The color specification box indicates the color primaries, transfer
         characteristics, matrix coefficients, and video full range flag needed
         to specify the color space of the video stream.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>JPEG XS Frame</name>
        <t>
         The concatenation of a video support box, a color specification box,
         and a JPEG XS codestream forms a JPEG XS picture segment.
        </t>
        <t>
       	 In the case of a progressive video stream, each JPEG XS frame consists of one single
         JPEG XS picture segment.
        </t>
        <t>
         In the case of an interlaced video stream, each JPEG XS frame is made
         of two concatenated JPEG XS picture segments. The codestream of each
         picture segment corresponds exclusively to one of the two fields of
         the interlaced frame. Both picture segments <bcp14>SHALL</bcp14>
         contain identical boxes (i.e., concatenation of the video support box
         and the color specification box is byte exact the same for both
         picture segments of the frame).
        </t>
<!-- [rfced] In the following sentence, what is meant by "byte exact
     the same for both picture segments"? How can this be made
     clearer?

Original: 
...(i.e. concatenation of the video support box and the color
specification box is byte exact the same for both picture segments of
the frame)

Perhaps: 
...(i.e., concatenation of the video support box and the color
specification box is exactly the same for both picture segments of the
frame)
-->
        <t>
         Note that the interlaced mode, as signaled by the <xref target="ISO21122-3" format="default">frat field</xref>
         in the video support box, indicates either progressive interlaced top-field-first or
         interlaced bottom-field-first mode. Thus, in the case of interlaced content, its value
         <bcp14>SHALL</bcp14> also be identical in both picture segments.
        </t>
      </section>
    </section>



    <section numbered="true" toc="default">
      <name>RTP Payload Format</name>
      <t>
       This section specifies the payload format for JPEG XS streams over the
       <xref target="RFC3550" format="default">Real-time Transport Protocol
       (RTP)</xref>.
      </t>
      <t>
       In order to be transported over RTP, each JPEG XS stream is
       transported in a distinct RTP stream, identified by a distinct <xref target="RFC3550" format="default">synchronization source (SSRC)</xref>.
      </t>
      <t>
       A JPEG XS stream is divided into Application Data Units (ADUs), each ADU
       corresponding to a single JPEG XS frame.
      </t>
      <section anchor="rtp_packet" numbered="true" toc="default">
        <name>RTP Packetization</name>


        <t>
        An ADU is made of several packetization units. If a packetization unit
        is bigger than the maximum size of an RTP packet payload, the unit is
        split into multiple RTP packet payloads, as illustrated in <xref
        target="rtp_packetization" format="default"/>. As seen there, each
        packet <bcp14>SHALL</bcp14> contain (part of) one, and only one,
        packetization unit. A packetization unit may extend over multiple
        packets. The payload of every packet <bcp14>SHALL</bcp14> have the
        same size (based, e.g., on the Maximum Transfer Unit of the network)
        with the possible exception of the last packet of a packetization unit. The
        boundaries of a packetization unit <bcp14>SHALL</bcp14> coincide with
        the boundaries of the payload of a packet (excluding the payload
        header), i.e., the first (or, respectively, last) byte of the
        packetization unit <bcp14>SHALL</bcp14> be the first (or, respectively,
        last) byte of the payload (excluding its header).
        </t>

        <figure anchor="rtp_packetization">
          <name>Example of ADU Packetization</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
RTP        +-----+------------------------+
Packet #1  | Hdr | Packetization unit #1  |
           +-----+------------------------+
RTP        +-----+--------------------------------------+
Packet #2  | Hdr | Packetization unit #2                |
           +-----+--------------------------------------+
RTP        +-----+--------------------------------------------------+
Packet #3  | Hdr | Packetization unit #3  (part 1/3)                |
           +-----+--------------------------------------------------+
RTP        +-----+--------------------------------------------------+
Packet #4  | Hdr | Packetization unit #3  (part 2/3)                |
           +-----+--------------------------------------------------+
RTP        +-----+----------------------------------------------+
Packet #5  | Hdr | Packetization unit #3  (part 3/3)            |
           +-----+----------------------------------------------+
             ...
RTP        +-----+-----------------------------------------+
Packet #P  | Hdr | Packetization unit #N  (part q/q)       |
           +-----+-----------------------------------------+
       ]]></artwork>
        </figure>
        <t>
        There are two different packetization modes defined for this RTP payload format.
        </t>

<dl newline="true">
<dt>Codestream packetization mode:
</dt>
<dd>In this mode, the packetization unit <bcp14>SHALL</bcp14> be the entire
JPEG XS picture segment (i.e., codestream preceded by boxes). This means that
a progressive frame will have a single packetization unit, while an interlaced
frame will have two. The progressive case is illustrated in <xref
target="cs_packetization" format="default"/>.
</dd>

<dt>Slice packetization mode:
</dt>
<dd>In this mode, the packetization unit <bcp14>SHALL</bcp14> be the slice,
i.e., there <bcp14>SHALL</bcp14> be data from no more than one slice per RTP
packet. The first packetization unit <bcp14>SHALL</bcp14> be made of the JPEG
XS header segment (i.e., the concatenation of the VS box, the CS box, and the
JPEG XS codestream header). This first unit is then followed by successive
units, each containing one and only one slice.  The packetization unit
containing the last slice of a JPEG XS codestream <bcp14>SHALL</bcp14> also
contain the EOC marker immediately following this last slice. This is
illustrated in <xref target="slice_packetization" format="default"/>. In the
case of an interlaced frame, the JPEG XS header segment of the second field
<bcp14>SHALL</bcp14> be in its own packetization unit.
</dd>

</dl>

        <figure anchor="cs_packetization">
          <name>Example of Codestream Packetization Mode</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
RTP        +-----+--------------------------------------------------+
Packet #1  | Hdr | VS box + CS box + JPEG XS codestream (part 1/q)  |
           +-----+--------------------------------------------------+
RTP        +-----+--------------------------------------------------+
Packet #2  | Hdr | JPEG XS codestream (part 2/q)                    |
           +-----+--------------------------------------------------+
             ...
RTP        +-----+--------------------------------------+
Packet #P  | Hdr | JPEG XS codestream (part q/q)        |
           +-----+--------------------------------------+
       ]]></artwork>
        </figure>
        <figure anchor="slice_packetization">
          <name>Example of Slice Packetization Mode</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
RTP        +-----+----------------------------+
Packet #1  | Hdr | JPEG XS header segment     |
           +-----+----------------------------+
RTP        +-----+--------------------------------------------------+
Packet #2  | Hdr | Slice #1  (part 1/2)                             |
           +-----+--------------------------------------------------+
RTP        +-----+-------------------------------------------+
Packet #3  | Hdr | Slice #1  (part 2/2)                      |
           +-----+-------------------------------------------+
RTP        +-----+--------------------------------------------------+
Packet #4  | Hdr | Slice #2  (part 1/3)                             |
           +-----+--------------------------------------------------+
             ...
RTP        +-----+---------------------------------------+
Packet #P  | Hdr | Slice #N  (part q/q) + EOC marker     |
           +-----+---------------------------------------+
       ]]></artwork>
        </figure>
        <t>
        In a constant bitrate (CBR) scenario of JPEG XS, the codestream packetization
        mode guarantees that a JPEG XS RTP stream will produce both a constant number
        of bytes per video frame and a constant number of RTP packets per video frame.
        However, to provide similar guarantees with JPEG XS in a variable bitrate (VBR)
        mode or when using the slice packetization mode (for either CBR or VBR), additional
        mechanisms are needed. This can involve a constraint at the rate allocation
        stage in the JPEG XS encoder to impose a CBR at the slice level,
        the usage of padding data, or the insertion of empty RTP packets (i.e., an RTP
        packet whose payload data is empty). But, management of the amount of produced
        packets per video frame is application dependent and not a strict requirement of
        this RTP payload specification.
        </t>
      </section>
      <section anchor="rtp_hdr" numbered="true" toc="default">
        <name>RTP Header Usage</name>
        <t>
        The format of the RTP header is specified in <xref target="RFC3550" format="default"/> and
        reprinted in <xref target="rtp_header" format="default"/> for
        convenience. This RTP payload format uses the fields of the header in a
        manner consistent with that specification.
        </t>
        <t>
        The RTP payload (and the settings for some RTP header bits) for
        packetization units are specified in <xref target="payload_hdr" format="default"/>.
        </t>
<!--[rfced] We note the Figure 4 is slightly different in this
     document than it appears in Section 5.1 of RFC 3550.  In the
     latter, we see "V=2".  May we do one of the following?

a) Update this figure to exactly match RFC 3550.

or

b) Update the wording in the text above to indicate that this is not
an exact replica (i.e., avoid the term "reprint")?  If so, please let
us know how you would to update.

-->

	
        <figure anchor="rtp_header">
          <name>RTP Header According to RFC 3550</name>
          <artwork name="" type="" align="left" alt=""><![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 |P|X|  CC   |M|     PT      |       sequence number         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           timestamp                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           synchronization source (SSRC) identifier            |
   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
   |            contributing source (CSRC) identifiers             |
   |                             ....                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       ]]></artwork>
        </figure>
        <t>
        The version (V), padding (P), extension (X), CSRC count (CC),
        sequence number, synchronization source (SSRC), and contributing
        source (CSRC) fields follow their respective definitions in
        <xref target="RFC3550" format="default"/>.
        </t>
        <t>
        The remaining RTP header information to be set according to this RTP
        payload format is set as follows:
        </t>
        <dl newline="true" spacing="normal">
          <dt>Marker (M) [1 bit]:</dt>
          <dd>
            <t>
         If progressive scan video is being transmitted, the marker bit
         denotes the end of a video frame. If interlaced video is being
         transmitted, it denotes the end of the field. The marker bit <bcp14>SHALL</bcp14>
         be set to 1 for the last packet of the video frame/field. It <bcp14>SHALL</bcp14>
         be set to 0 for all other packets.
            </t>
          </dd>
          <dt>Payload Type (PT) [7 bits]:</dt>
          <dd>
            <t>
         The payload type is a dynamically allocated payload type field that
         designates the payload as JPEG XS video.
            </t>
          </dd>
          <dt>Timestamp [32 bits]:</dt>
          <dd>
            <t>
         The RTP timestamp is set to the sampling timestamp of the content.
         A 90 kHz clock rate <bcp14>SHALL</bcp14> be used.</t>
            <t>
         
         As specified in <xref target="RFC3550" format="default"/> and
         <xref target="RFC4175" format="default"/>, the RTP timestamp designates the
         sampling instant of the first octet of the video frame to which the RTP
         packet belongs. Packets <bcp14>SHALL NOT</bcp14> include data from multiple video frames, and
         all packets belonging to the same video frame <bcp14>SHALL</bcp14> have the same timestamp.
         Several successive RTP packets will consequently have equal timestamps
         if they belong to the same video frame (that is until the marker bit is set
         to 1, marking the last packet of the video frame), and the timestamp is only
         increased when a new video frame begins.</t>
            <t>
         
         If the sampling instant does not correspond to an integer value of
         the clock, the value <bcp14>SHALL</bcp14> be truncated to the next lowest integer,
         with no ambiguity.
            </t>
          </dd>
        </dl>
      </section>
      <section anchor="payload_hdr" numbered="true" toc="default">
        <name>Payload Header Usage</name>

        <t>
         The first four bytes of the payload of an RTP packet in this RTP
         payload format are referred to as the "payload header". <xref target="payload_header" format="default"/> illustrates the structure of this
         payload header.
        </t>
        <figure anchor="payload_header">
          <name>Payload Header</name>
          <artwork name="" type="" align="left" alt=""><![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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |T|K|L| I |F counter|     SEP counter     |     P counter       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        ]]></artwork>
        </figure>
        <t>
         The payload header consists of the following fields:
        </t>
        <dl newline="true" spacing="normal">
          <dt>Transmission mode (T) [1 bit]:</dt>
          <dd>
            <t>
         The T bit is set to indicate that packets are sent sequentially by the
         transmitter. This information allows a receiver to dimension its
         input buffer(s) accordingly. If T=0, nothing can be assumed about the
         transmission order and packets may be sent out of order by the
         transmitter. If T=1, packets <bcp14>SHALL</bcp14> be sent sequentially by the
         transmitter. The T-bit value <bcp14>SHALL</bcp14> be identical for all packets of
         the RTP stream.
            </t>
          </dd>
          <dt>pacKetization mode (K) [1 bit]:</dt>
          <dd>
            <t>
         The K bit is set to indicate which packetization mode is used. K=0
         indicates codestream packetization mode, while K=1 indicates slice
         packetization mode. In the case that the Transmission mode (T) is
         set to 0 (out of order), the slice packetization mode <bcp14>SHALL</bcp14> be used
         and K <bcp14>SHALL</bcp14> be set to 1. This is required because only the slice
         packetization mode supports out-of-order packet transmission. The
         K-bit value <bcp14>SHALL</bcp14> be identical for all packets of the RTP stream.
            </t>
          </dd>
          <dt>Last (L) [1 bit]:</dt>
          <dd>
            <t>
         The L bit is set to indicate the last packet of a packetization unit.
         As the end of the video frame also ends the packet containing the last unit
         of the video frame, the L bit is set whenever the M bit is set. In
         the codestream packetization mode, the L bit and M bit get an equivalent
         meaning, so they <bcp14>SHALL</bcp14> have identical values in each packet.
            </t>
          </dd>
          <dt>Interlaced information (I) [2 bits]:</dt>
          <dd>
            <t>
         These two I bits are used to indicate how the JPEG XS frame is scanned
         (progressive or interlaced). In case of an interlaced frame, they also
         indicate which JPEG XS picture segment the payload is part of (first
         or second).
            </t>
            <dl newline="false" spacing="normal" indent='6'>
              <dt>00:</dt>
              <dd>
             The payload is progressively scanned.
           </dd>
              <dt>01:</dt>
              <dd>
             This value is reserved for future use.
           </dd>
              <dt>10:</dt>
              <dd>
             The payload is part of the first JPEG XS picture segment of
             an interlaced video frame. The height specified in the included
             JPEG XS codestream header is half of the height of the entire
             displayed image.
            </dd>
              <dt>11:</dt>
              <dd>
             The payload is part of the second JPEG XS picture segment of
             an interlaced video frame. The height specified in the included
             JPEG XS codestream header is half of the height of the entire
             displayed image.
           </dd>
            </dl>
          </dd>
          <dt>F counter [5 bits]:</dt>
          <dd>
            <t>
         The Frame (F) counter identifies the video frame number modulo 32 to which a
         packet belongs. Frame numbers are incremented by 1 for each video frame
         transmitted. The frame number, in addition to the timestamp, may help
         the decoder manage its input buffer and bring packets back into their
         natural order.
            </t>
          </dd>
          <dt>Slice and Extended Packet (SEP) counter [11 bits]:</dt>
          <dd>
            <t>
         The SEP counter is used differently
         depending on the packetization mode.
            </t>
            <ul spacing="normal">
              <li>In the case of codestream packetization mode (K=0), this
              counter resets whenever the Packet counter resets (see <xref
              target="rtp_payload_data" format="default"/>) and increments by
              1 whenever the Packet counter overruns.
          </li>
              <li>In the case of slice packetization mode (K=1), this counter
          identifies the slice modulo 2047 to which the packet contributes. If
          the data belongs to the JPEG XS header segment, this field <bcp14>SHALL</bcp14> have
          its maximal value, namely 2047 = 0x07ff. Otherwise, it is the slice
          index modulo 2047. Slice indices are counted from 0 (corresponding to
          the top of the video frame).
          </li>
            </ul>
          </dd>
          <dt>P counter [11 bits]:</dt>
          <dd>
            <t>
         The Packet (P) counter identifies the packet number modulo 2048
         within the current packetization unit. It is set to 0 at the start of
         the packetization unit and incremented by 1 for every subsequent
         packet (if any) belonging to the same unit. Practically, if
         codestream packetization mode is enabled, this field counts the
         packets within a JPEG XS picture segment and is extended by the SEP
         counter when it overruns. If slice packetization mode is enabled,
         this field counts the packets within a slice or within the JPEG XS
         header segment.
            </t>
          </dd>
        </dl>
      </section>
      <section anchor="rtp_payload_data" numbered="true" toc="default">
        <name>Payload Data</name>

<!-- [rfced] This document uses both "pacKetization mode" (to
     emphasize the K bit) and "packetization mode". Please review to
     ensure instances beyond the initial definition are used as
     intended (with the "K" capitalized).
-->
        <t>
       The payload data of a JPEG XS RTP stream consists of a concatenation of
       multiple JPEG XS frames. Within the RTP stream, all of the video support boxes
       and all of the color specification boxes <bcp14>SHALL</bcp14> retain their respective layouts
       for each JPEG XS frame. Thus, each video support box in the RTP stream <bcp14>SHALL</bcp14>
       define the same sub boxes. The effective values in the boxes are allowed to
       change under the condition that their relative byte offsets <bcp14>SHALL NOT</bcp14> change.
        </t>
        <t>
       Each JPEG XS frame is the concatenation of one or more packetization
       unit(s), as explained in <xref target="rtp_packet" format="default"/>.
       <xref target="rtp_cs_progressive_packet_data" format="default"/> depicts this
       layout for a progressive video frame in the codestream packetization mode,
       <xref target="rtp_cs_interlaced_packet_data" format="default"/> depicts this
       layout for an interlaced video frame in the codestream packetization mode, 
       <xref target="rtp_slice_progressive_packet_data" format="default"/> depicts this
       layout for a progressive video frame in the slice packetization mode, and
       <xref target="rtp_slice_interlaced_packet_data" format="default"/> depicts this
       layout for an interlaced video frame in the slice packetization mode. The Frame
       counter value is not indicated because the value is constant for all
       packetization units of a given video frame.
        </t>
        <figure anchor="rtp_cs_progressive_packet_data">
          <name>Example of JPEG XS Payload Data (Codestream Packetization
          Mode, Progressive Video Frame)</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
+=====[ Packetization unit (PU) #1 ]====+
|           Video support box           |  SEP counter=0
|  +---------------------------------+  |  P counter=0
|  :      Sub boxes of the VS box    :  |
|  +---------------------------------+  |
+- - - - - - - - - - - - - - - - - - - -+
|        Color specification box        |
|  +---------------------------------+  |
|  :      Fields of the CS box       :  |
|  +---------------------------------+  |
+- - - - - - - - - - - - - - - - - - - -+
|          JPEG XS codestream           |
:             (part 1/q)                :  M=0, K=0, L=0, I=00
+---------------------------------------+
|          JPEG XS codestream           |  SEP counter=0
|             (part 2/q)                |  P counter=1
:                                       :  M=0, K=0, L=0, I=00
+---------------------------------------+
|          JPEG XS codestream           |  SEP counter=0
|             (part 3/q)                |  P counter=2
:                                       :  M=0, K=0, L=0, I=00
+---------------------------------------+
:                                       :
+---------------------------------------+
|          JPEG XS codestream           |  SEP counter=1
|            (part 2049/q)              |  P counter=0
:                                       :  M=0, K=0, L=0, I=00
+---------------------------------------+
:                                       :
+---------------------------------------+
|          JPEG XS codestream           |  SEP counter=(q-1) div 2048
|             (part q/q)                |  P counter=(q-1) mod 2048
:                                       :  M=1, K=0, L=1, I=00
+=======================================+
        ]]></artwork>
        </figure>
        <t/>
        <figure anchor="rtp_cs_interlaced_packet_data">
          <name>Example of JPEG XS Payload Data (Codestream Packetization Mode, Interlaced Video Frame)</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
+=====[ Packetization unit (PU) #1 ]====+
|           Video support box           |  SEP counter=0
+- - - - - - - - - - - - - - - - - - - -+  P counter=0
|        Color specification box        |
+- - - - - - - - - - - - - - - - - - - -+
|     JPEG XS codestream (1st field)    |
:             (part 1/q)                :  M=0, K=0, L=0, I=10
+---------------------------------------+
|     JPEG XS codestream (1st field)    |  SEP counter=0
|             (part 2/q)                |  P counter=1
:                                       :  M=0, K=0, L=0, I=10
+---------------------------------------+
:                                       :
+---------------------------------------+
|     JPEG XS codestream (1st field)    |  SEP counter=1
|            (part 2049/q)              |  P counter=0
:                                       :  M=0, K=0, L=0, I=10
+---------------------------------------+
:                                       :
+---------------------------------------+
|     JPEG XS codestream (1st field)    |  SEP counter=(q-1) div 2048
|             (part q/q)                |  P counter=(q-1) mod 2048
:                                       :  M=1, K=0, L=1, I=10
+===============[ PU #2 ]===============+
|           Video support box           |  SEP counter=0
+- - - - - - - - - - - - - - - - - - - -+  P counter=0
|        Color specification box        |
+- - - - - - - - - - - - - - - - - - - -+
|     JPEG XS codestream (2nd field)    |
|             (part 1/q)                |
:                                       :  M=0, K=0, L=0, I=11
+---------------------------------------+
|     JPEG XS codestream (2nd field)    |  SEP counter=0
|             (part 2/q)                |  P counter=1
:                                       :  M=0, K=0, L=0, I=11
+---------------------------------------+
:                                       :
+---------------------------------------+
|     JPEG XS codestream (2nd field)    |  SEP counter=(q-1) div 2048
|             (part q/q)                |  P counter=(q-1) mod 2048
:                                       :  M=1, K=0, L=1, I=11
+=======================================+
        ]]></artwork>
        </figure>
        <t/>
        <figure anchor="rtp_slice_progressive_packet_data">
          <name>Example of JPEG XS Payload Data (Slice Packetization Mode, Progressive Video Frame)</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
+===[ PU #1: JPEG XS Header segment ]===+
|           Video support box           |  SEP counter=0x07FF
+- - - - - - - - - - - - - - - - - - - -+  P counter=0
|        Color specification box        |
+- - - - - - - - - - - - - - - - - - - -+
|      JPEG XS codestream header        |
|  +---------------------------------+  |
|  :  Markers and marker segments    :  |
|  +---------------------------------+  |  M=0, T=0, K=1, L=1, I=00
+==========[ PU #2: Slice #1 ]==========+
|  +---------------------------------+  |  SEP counter=0
|  |           SLH Marker            |  |  P counter=0
|  +---------------------------------+  |
|  :       Entropy Coded Data        :  |
|  +---------------------------------+  |  M=0, T=0, K=1, L=1, I=00
+==========[ PU #3: Slice #2 ]==========+
|               Slice #2                |  SEP counter=1
|              (part 1/q)               |  P counter=0
:                                       :  M=0, T=0, K=1, L=0, I=00
+---------------------------------------+
|               Slice #2                |  SEP counter=1
|              (part 2/q)               |  P counter=1
:                                       :  M=0, T=0, K=1, L=0, I=00
+---------------------------------------+
:                                       :
+---------------------------------------+
|               Slice #2                |  SEP counter=1
|              (part q/q)               |  P counter=q-1
:                                       :  M=0, T=0, K=1, L=1, I=00
+=======================================+
:                                       :
+========[ PU #N: Slice #(N-1) ]========+
|             Slice #(N-1)              |  SEP counter=N-2
|              (part 1/r)               |  P counter=0
:                                       :  M=0, T=0, K=1, L=0, I=00
+---------------------------------------+
:                                       :
+---------------------------------------+
|             Slice #(N-1)              |  SEP counter=N-2
|              (part r/r)               |  P counter=r-1
:             + EOC marker              :  M=1, T=0, K=1, L=1, I=00
+=======================================+
        ]]></artwork>
        </figure>
        <t/>
        <figure anchor="rtp_slice_interlaced_packet_data">
          <name>Example of JPEG XS Payload Data (Slice Packetization Mode, Interlaced Video Frame)</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
+====[ PU #1: JPEG XS Hdr segment 1 ]===+
|           Video support box           |  SEP counter=0x07FF
+- - - - - - - - - - - - - - - - - - - -+  P counter=0
|        Color specification box        |
+- - - - - - - - - - - - - - - - - - - -+
|      JPEG XS codestream header 1      |
|  +---------------------------------+  |
|  :   Markers and marker segments   :  |
|  +---------------------------------+  |  M=0, T=0, K=1, L=1, I=10
+====[ PU #2: Slice #1 (1st field) ]====+
|  +---------------------------------+  |  SEP counter=0
|  |           SLH Marker            |  |  P counter=0
|  +---------------------------------+  |
|  :       Entropy Coded Data        :  |
|  +---------------------------------+  |  M=0, T=0, K=1, L=1, I=10
+====[ PU #3: Slice #2 (1st field) ]====+
|              Slice #2                 |  SEP counter=1
|             (part 1/q)                |  P counter=0
:                                       :  M=0, T=0, K=1, L=0, I=10
+---------------------------------------+
|              Slice #2                 |  SEP counter=1
|             (part 2/q)                |  P counter=1
:                                       :  M=0, T=0, K=1, L=0, I=10
+---------------------------------------+
:                                       :
+---------------------------------------+
|              Slice #2                 |  SEP counter=1
|             (part q/q)                |  P counter=q-1
:                                       :  M=0, T=0, K=1, L=1, I=10
+=======================================+
:                                       :
+==[ PU #N: Slice #(N-1) (1st field) ]==+
|            Slice #(N-1)               |  SEP counter=N-2
|             (part 1/r)                |  P counter=0
:                                       :  M=0, T=0, K=1, L=0, I=10
+---------------------------------------+
:                                       :
+---------------------------------------+
|            Slice #(N-1)               |  SEP counter=N-2
|             (part r/r)                |  P counter=r-1
:            + EOC marker               :  M=1, T=0, K=1, L=1, I=10
+=======================================+
+===[ PU #N+1: JPEG XS Hdr segment 2 ]==+
|           Video support box           |  SEP counter=0x07FF
+- - - - - - - - - - - - - - - - - - - -+  P counter=0
|        Color specification box        |
+- - - - - - - - - - - - - - - - - - - -+
|       JPEG XS codestream header 2     |
|  +---------------------------------+  |
|  :  Markers and marker segments    :  |
|  +---------------------------------+  |  M=0, T=0, K=1, L=1, I=11
+===[ PU #N+2: Slice #1 (2nd field) ]===+
|  +---------------------------------+  |  SEP counter=0
|  |           SLH Marker            |  |  P counter=0
|  +---------------------------------+  |
|  :      Entropy Coded Data         :  |
|  +---------------------------------+  |  M=0, T=0, K=1, L=1, I=11
+===[ PU #N+3: Slice #2 (2nd field) ]===+
|               Slice #2                |  SEP counter=1
|              (part 1/s)               |  P counter=0
:                                       :  M=0, T=0, K=1, L=0, I=11
+---------------------------------------+
|               Slice #2                |  SEP counter=1
|              (part 2/s)               |  P counter=1
:                                       :  M=0, T=0, K=1, L=0, I=11
+---------------------------------------+
:                                       :
+---------------------------------------+
|               Slice #2                |  SEP counter=1
|              (part s/s)               |  P counter=s-1
:                                       :  M=0, T=0, K=1, L=1, I=11
+=======================================+
:                                       :
+==[ PU #2N: Slice #(N-1) (2nd field) ]=+
|             Slice #(N-1)              |  SEP counter=N-2
|              (part 1/t)               |  P counter=0
:                                       :  M=0, T=0, K=1, L=0, I=11
+---------------------------------------+
:                                       :
+---------------------------------------+
|             Slice #(N-1)              |  SEP counter=N-2
|              (part t/t)               |  P counter=t-1
:             + EOC marker              :  M=1, T=0, K=1, L=1, I=11
+=======================================+
        ]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="tsdt" numbered="true" toc="default">
      <name>Traffic Shaping and Delivery Timing</name>
      <t>
       In order to facilitate proper synchronization between senders and
       receivers, it is <bcp14>RECOMMENDED</bcp14> to implement traffic
       shaping and delivery timing in accordance with the Network
       Compatibility Model compliance definitions specified in <xref
       target="SMPTE-ST2110-21" format="default"/>. In such a case, the session
       description <bcp14>SHALL</bcp14> signal the compliance with the media
       type parameter TP. The actual applied traffic shaping and
       timing delivery mechanism is outside the scope of this memo and does
       not influence the payload packetization.
      </t>
    </section>
    <section numbered="true" toc="default">
      <name>Congestion Control Considerations</name>
      <t>
       Congestion control for RTP <bcp14>SHALL</bcp14> be used in accordance with
       <xref target="RFC3550" format="default"/> and with any applicable
       RTP profile, e.g., <xref target="RFC3551" format="default">RTP/AVP</xref> or
       <xref target="RFC4585" format="default">RTP/AVPF</xref>.
      </t>
      <t>
       While JPEG XS is mainly designed to be used in controlled network
       environments, it can also be employed in best-effort network
       environments, like the Internet. However, in this case, the users of
       this payload format <bcp14>SHALL</bcp14> monitor packet loss to ensure
       that the packet loss rate is within acceptable parameters. This can be
       achieved, for example, by means of <xref target="RFC8888"
       format="default">RTP Control Protocol (RTCP) Feedback for Congestion
       Control</xref>.
      </t>
      <t>
       In addition, <xref target="RFC8083" format="default"/> is an update to
       <xref target="RFC3550" format="default"/> that defines criteria for
       when one is required to stop sending RTP Packet Streams and for when
       applications implementing this standard <bcp14>SHALL</bcp14> comply
       with it.
      </t>

<!-- [rfced] FYI: We've updated the sentence as follows for
     clarity. Note that we've truncated the sliced titles of the
     referenced RFCs and have clarified that the update denotes when
     applications shall comply with it. Please let us know if this is
     incorrect.

Original: 
   In addition, Circuit Breakers [RFC8083] is an update to RTP
   [RFC3550] that defines criteria for when one is required to stop
   sending RTP Packet Streams and applications implementing this
   standard SHALL comply with it.

Updated: 
   In addition, [RFC8083] is an update to [RFC3550] that defines
   criteria for when one is required to stop sending RTP Packet
   Streams and for when applications implementing this standard SHALL
   comply with it.
-->
      <t>
       <xref target="RFC8085" format="default"/> provides additional information
       on the best practices for applying congestion control to UDP streams.
      </t>
    </section>
    <section numbered="true" toc="default">
      <name>Payload Format Parameters</name>
      <t>
      This section specifies the required and optional parameters of the payload format and/or
      the RTP stream. All parameters are declarative, meaning that the information signaled by
      the parameters is also present in the payload data, namely in the payload header (see <xref target="payload_hdr" format="default"/>) or in the JPEG XS header segment <xref target="ISO21122-1" format="default"/> <xref target="ISO21122-3" format="default"/>. When provided, their respective values <bcp14>SHALL</bcp14> be consistent with the payload.
      </t>
      <section anchor="media_type_def" numbered="true" toc="default">
        <name>Media Type Registration</name>

         <t>
          This registration is done using the template defined in <xref
          target="RFC6838" format="default"/> and following <xref
          target="RFC4855" format="default"/>.

<!--[rfced] Section 7.1: We had the following question/comment about the
     Media Type Registration:


a) Please confirm the placement of "Clock rate" in the media type
registration template.  In looking at the referenced RFCs (6838 and
4855), we only see "clock rate" mentioned under "Required parameters".
In looking at RFC 7655, we also see "clock rate" as a subentry to
"Required parameters".  We also note that this document lists the
value (90000) under "rate" as well, making this information redundant.

b) We will communicate with IANA to make corresponding changes to
https://www.iana.org/assignments/media-types/video/jxsv once AUTH48 is
complete.

-->
	  
	 </t>
          
<t> The receiver <bcp14>SHALL</bcp14> ignore any unrecognized parameter.</t>
        <dl newline="true" spacing="normal">
          <dt>Type name:</dt>
          <dd>video</dd>
          <dt>Subtype name:</dt>
          <dd>jxsv</dd>
          <dt>Clock rate:</dt>
          <dd>90000</dd>
          <dt>Required parameters:</dt>
          <dd>
            <dl newline="false" spacing="normal">
              <dt>rate:</dt>
              <dd>
               	 The RTP timestamp clock rate. Applications using this payload format <bcp14>SHALL</bcp14> use a value of 90000.
               </dd>
              <dt>packetmode:</dt>
              <dd>
                 This parameter specifies the configured packetization mode as defined
                 by the pacKetization mode (K) bit in the payload header of <xref target="payload_hdr" format="default"/>.
                 This value <bcp14>SHALL</bcp14> be equal to the K-bit value configured in the RTP stream (i.e., 0 for codestream or 1 for slice).
               </dd>
            </dl>
          </dd>
          <dt>Optional parameters:</dt>
          <dd>
            <dl newline="false" spacing="normal">
              <dt>transmode:</dt>
              <dd>
               	  This parameter specifies the configured transmission mode as
               	  defined by the Transmission mode (T) bit in the payload
               	  header of <xref target="payload_hdr" format="default"/>.  If
               	  specified, this value <bcp14>SHALL</bcp14> be equal to the
               	  T-bit value configured in the RTP stream (i.e., 0 for
               	  out-of-order-allowed or 1 for sequential-only). If not
               	  specified, a value 1 (sequential-only) <bcp14>SHALL</bcp14>
               	  be assumed and the T bit <bcp14>SHALL</bcp14> be set to 1.
               </dd>
              <dt>profile:</dt>
              <dd>
                 The <xref target="ISO21122-2" format="default">JPEG XS profile</xref> in use.
                 Any white space in the profile name <bcp14>SHALL</bcp14> be omitted.
                 Examples of valid profile names are 'Main444.12' or 'High444.12'. 
               </dd>
              <dt>level:</dt>
              <dd>
                 The <xref target="ISO21122-2" format="default">JPEG XS level</xref> in use.
                 Any white space in the level name <bcp14>SHALL</bcp14> be omitted.
                 Examples of valid levels are '2k-1' or '4k-2'.
               </dd>
              <dt>sublevel:</dt>
              <dd>
                 The <xref target="ISO21122-2" format="default">JPEG XS sublevel</xref> in use.
                 Any white space in the sublevel name <bcp14>SHALL</bcp14> be omitted.
                 Examples of valid sublevels are 'Sublev3bpp' or 'Sublev6bpp'.
               </dd>
              <dt>depth:</dt>
              <dd>
                 Determines the number of bits per sample. This is an
                 integer with typical values including 8, 10, 12, and 16.
               </dd>
              <dt>width:</dt>
              <dd>
                 Determines the number of pixels per line. This is an
                 integer between 1 and 32767, inclusive.
               </dd>
              <dt>height:</dt>
              <dd>
                 Determines the number of lines per video frame. This is an
                 integer between 1 and 32767, inclusive.
               </dd>
              <dt>exactframerate:</dt>
              <dd>
                 Signals the video frame rate in frames per second.
                 Integer frame rates <bcp14>SHALL</bcp14> be signaled as a single decimal
                 number (e.g., "25") whilst non-integer frame rates <bcp14>SHALL</bcp14> be
                 signaled as a ratio of two integer decimal numbers separated
                 by a "forward-slash" character (e.g., "30000/1001"), utilizing
                 the numerically smallest numerator value possible.
               </dd>
              <dt>interlace:</dt>
              <dd>
                 If this parameter name is present, it indicates
                 that the video is interlaced, or that the video is
                 Progressive segmented Frame (PsF). If this parameter name is
                 not present, the progressive video format <bcp14>SHALL</bcp14> be assumed.
               </dd>
              <dt>segmented:</dt>
              <dd>
                 If this parameter name is present, and the
                 interlace parameter name is also present, then the video is a
                 Progressive segmented Frame (PsF). Signaling of this
                 parameter without the interlace parameter is forbidden.
               </dd>
              <dt>sampling:</dt>
              <dd>
                <t>
                 Signals the color difference signal sub-sampling
                 structure.
                </t>
                <t>
                 Signals utilizing the non-constant luminance
                 Y'C'B C'R signal format of Recommendation ITU-R BT.601-7,
                 Recommendation ITU-R BT.709-6, Recommendation ITU-R BT.2020-2,
                 or Recommendation ITU-R BT.2100 <bcp14>SHALL</bcp14> use the appropriate one
                 of the following values for the Media Type Parameter
                 "sampling":

                </t>

<t><strong>Option 1: spacing=compact </strong></t>

<dl spacing="compact" indent="15">
<dt>YCbCr-4:4:4</dt><dd>(4:4:4 sampling)</dd>
<dt>YCbCr-4:2:2</dt><dd>(4:2:2 sampling)</dd>
<dt>YCbCr-4:2:0</dt><dd>(4:2:0 sampling)</dd>
</dl>

            <t>
                 Signals utilizing the Constant Luminance Y'C C'BC C'RC signal
                 format of Recommendation ITU-R BT.2020-2 <bcp14>SHALL</bcp14> use the
                 appropriate one of the following values for the Media Type
                 Parameter "sampling":
                </t>

            <t>                                                                                           
blah blah blah blah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blahblah blah blah                 Signals utilizing the Constant Luminance Y'C C'BC C'RC signal                            
                 format of Recommendation ITU-R BT.2020-2 <bcp14>SHALL</bcp14> use the                    
                 appropriate one of the following values for the Media Type                               
                 Parameter "sampling": 
            </t>

<t><strong>Option 2: spacing=compact and empty &lt;t&gt;</strong></t>
<dl spacing="compact" indent="15">
<dt>CLYCbCr-4:4:4</dt><dd>(4:4:4 sampling)</dd>
<dt>CLYCbCr-4:2:2</dt><dd>(4:2:2 sampling)</dd>
<dt>CLYCbCr-4:2:0</dt><dd>(4:2:0 sampling)</dd>
</dl>
<t></t>

            <t>
                 Signals utilizing the constant intensity I CT CP signal format
                 of Recommendation ITU-R BT.2100 <bcp14>SHALL</bcp14> use the appropriate one
                 of the following values for the Media Type Parameter
                 "sampling":
                </t>


<t><strong>Option 3: spacing=compact and &lt;br&gt;</strong></t>
<dl spacing="compact" indent="15">
<dt>ICtCp-4:4:4</dt><dd>(4:4:4 sampling)</dd>
<dt>ICtCp-4:2:2</dt><dd>(4:2:2 sampling)</dd>
<dt>ICtCp-4:2:0</dt><dd>(4:2:0 sampling)<br/></dd>
</dl>

            <t>
                 Signals utilizing the 4:4:4 R' G' B' or RGB signal format
                 (such as that of Recommendation ITU-R BT.601, Recommendation
                 ITU-R BT.709, Recommendation ITU-R BT.2020, Recommendation
                 ITU-R BT.2100, SMPTE ST 2065-1, or ST 2065-3) <bcp14>SHALL</bcp14> use the
                 following value for the Media Type Parameter "sampling":
                </t>
   

<dl indent="15">
<dt>RGB</dt><dd>(RGB or R' G' B' samples)</dd>
</dl>
    
            <t>
                 Signals utilizing the 4:4:4 X' Y' Z' signal format (such as
                 defined in SMPTE ST 428-1) <bcp14>SHALL</bcp14> use the following value for
                 the Media Type Parameter "sampling":
                </t>



<dl indent="15">
<dt>XYZ</dt><dd>(X' Y' Z' samples)</dd>
</dl>
            <t>
             Key signals as defined in SMPTE RP 157 <bcp14>SHALL</bcp14> use
             the value key for the Media Type Parameter "sampling". The key
             signal is represented as a single component:
            </t>


<dl indent="15">
<dt>KEY</dt><dd>(Samples of the key signal)</dd>
</dl>
            <t>
                 Signals utilizing a color sub-sampling other than what is
                 defined here <bcp14>SHALL</bcp14> use the following value for
                 the Media Type Parameter "sampling":
              </t>


<dl indent="15">
<dt>UNSPECIFIED</dt><dd>(Sampling signaled by the payload)</dd>
</dl>

       </dd>
              <dt>colorimetry:</dt>
              <dd>
                <t>
                 Specifies the system colorimetry used by the image
                 samples. Valid values and their specification are the
                 following:
                </t>




<dl spacing="compact" indent="15">

<dt>BT601-5:</dt><dd>ITU-R Recommendation BT.601-5.</dd>
<dt>BT709-2:</dt><dd>ITU-R Recommendation BT.709-2.</dd>
<dt>SMPTE240M:</dt><dd>SMPTE ST 240M.</dd>
<dt>BT601:</dt><dd>ITU-R Recommendation BT.601-7.</dd>
<dt>BT709:</dt><dd>ITU-R Recommendation BT.709-6.</dd>
<dt>BT2020:</dt><dd>ITU-R Recommendation BT.2020-2.</dd>
<dt>BT2100:</dt><dd>ITU-R Recommendation BT.2100, Table 2 titled "System colorimetry".</dd>
<dt>ST2065-1:</dt><dd>SMPTE ST 2065-1 Academy Color Encoding Specification (ACES).</dd>
<dt>ST2065-3:</dt><dd>SMPTE ST 2065-3 Academy Density Exchange Encoding (ADX).</dd>
<dt>XYZ:</dt><dd>ISO/IEC 11664-1, section titled "1931 Observer".</dd>
<dt>UNSPECIFIED:</dt><dd>Colorimetry is signaled in the payload by the color specification box of
<xref target="ISO21122-3"/>, or it must be manually coordinated between sender
and receiver.</dd>
</dl>


            <t>
                 Signals utilizing the Recommendation ITU-R BT.2100 colorimetry
                 <bcp14>SHOULD</bcp14> also signal the representational range using the
                 optional parameter RANGE defined below. Signals utilizing the
                 UNSPECIFIED colorimetry might require manual coordination between
                 the sender and the receiver.
                </t>
              </dd>
              <dt>TCS:</dt>
              <dd>
                <t>
                 Transfer Characteristic System. This parameter specifies
                 the transfer characteristic system of the image samples.
                 Valid values and their specification are the following:
                </t>
   



<dl spacing="compact" indent="15">

<dt>SDR:</dt><dd>Standard Dynamic Range video streams that utilize the Optical Electrical
Transfer Function (OETF) of ITU-R Recommendation BT.709 or ITU-R
Recommendation BT.2020. Such streams <bcp14>SHALL</bcp14> be assumed to target
the Electro-Optical Transfer Function (EOTF) specified in ITU-R Recommendation
BT.1886.</dd>

<dt>PQ:</dt><dd>High dynamic range video streams that utilize the Perceptual Quantization system of ITU-R Recommendation BT.2100. </dd>


<dt>HLG:</dt><dd>High dynamic range video streams that utilize the Hybrid Log-Gamma system
of ITU-R Recommendation BT.2100.</dd>

<dt>UNSPECIFIED:</dt><dd>Video streams whose transfer characteristics are signaled by the payload
as specified in <xref target="ISO21122-3"/>, or that must be manually
coordinated between sender and receiver.</dd>

</dl>

            </dd>
              <dt>RANGE:</dt>
              <dd>
                 This parameter <bcp14>SHOULD</bcp14> be used to signal the encoding
                 range of the sample values within the stream. When paired with
                 ITU Rec BT.2100 colorimetry, this parameter has two allowed
                 values, NARROW and FULL, corresponding to the ranges specified
                 in TABLE 9 of ITU Rec BT.2100. In any other context, this
                 parameter has three allowed values: NARROW, FULLPROTECT, and
                 FULL, which correspond to the ranges specified in
                 SMPTE RP 2077. In the absence of this parameter, and for all
                 but the UNSPECIFIED colorimetry, NARROW <bcp14>SHALL</bcp14> be the assumed
                 value. When paired with the UNSPECIFIED colorimetry, FULL
                 <bcp14>SHALL</bcp14> be the default assumed value.
               </dd>
            </dl>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
             This media type is framed in RTP and contains binary data; see
             <xref target="RFC6838" sectionFormat="of" section="4.8"
             format="default"/>.
           </dd>
          <dt>Security considerations:</dt>
          <dd>
             See the <xref target="security" format="none">Security
             Considerations</xref> section of RFC 9134.
           </dd>
          <dt>Interoperability considerations:</dt>
          <dd>None</dd>
          <dt>Published specification:</dt>
          <dd>
             See the <xref target="references" format="none">References</xref>
             section of RFC 9134.
           </dd>
          <dt>Applications that use this media type:</dt>
          <dd>Any application that transmits video over RTP (like SMPTE ST 2110).</dd>
          <dt>Fragment identifier considerations:</dt>
          <dd>N/A</dd>
          <dt>Additional information:</dt>
          <dd>None</dd>
          <dt>Person &amp; email address to contact for further information:</dt>
          <dd>S. Lugan &lt;rtp@intopix.com&gt; and T. Richter &lt;jpeg-xs-techsupport@iis.fraunhofer.de&gt;.</dd>
          <dt>Intended usage:</dt>
          <dd>COMMON</dd>
          <dt>Restrictions on usage:</dt>
          <dd>
             This media type depends on RTP framing; hence, it is only defined for transfer via <xref target="RFC3550" format="default">RTP</xref>.</dd>
          <dt>Author:</dt>
          <dd>See the Authors' Addresses section of RFC 9134.</dd>
          <dt>Change controller:</dt>
          <dd>IETF Audio/Video Transport Working Group delegated from the IESG.
           </dd>
        </dl>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>SDP Parameters</name>
      <t>
      A mapping of the parameters into the <xref target="RFC8866" format="default">Session Description Protocol (SDP)</xref>
      is provided for applications that use SDP.
      </t>
      <section numbered="true" toc="default">
        <name>Mapping of Payload Type Parameters to SDP</name>
        <t>
         The media type video/jxsv string is mapped to fields in the <xref target="RFC8866" format="default">Session
         Description Protocol (SDP)</xref> as follows:
        </t>
        <dl newline="false" spacing="normal">
          <dt/>
          <dd>        
             The media type ("video") goes in SDP "m=" as the media name.
           </dd>
          <dt/>
          <dd>
             The media subtype ("jxsv") goes in SDP "a=rtpmap" as the encoding
             name, followed by a slash ("/") and the required parameter "rate"
             corresponding to the RTP timestamp clock rate (which for the payload
             format defined in this document <bcp14>SHALL</bcp14> be 90000).
           </dd>
          <dt/>
          <dd>
             The required parameter "packetmode" and any of the additional
             optional parameters, as described in <xref
             target="media_type_def" format="default"/>, go in the SDP media
             format description, being the "a=fmtp" attribute (Format
             Parameters), by copying them directly from the media type string
             as a semicolon-separated list of parameter=value pairs.
           </dd>
        </dl>
        <t>
         All parameters of the media format <bcp14>SHALL</bcp14> correspond to the
         parameters of the payload. In case of discrepancies between
         payload parameter values and SDP fields, the values from the
         payload data <bcp14>SHALL</bcp14> prevail.
        </t>
        <t>
         The receiver <bcp14>SHALL</bcp14> ignore any parameter that is not defined in <xref target="media_type_def" format="default"/>.
        </t>
        <t>
         An example SDP mapping for JPEG XS video is as follows:
        </t>
	
<!-- [rfced] FYI: We've given the sourcecode element in Section 8.1
     the type attribute "sdp". Please let us know if this is not
     preferred.
-->


        <sourcecode type="sdp"><![CDATA[
   m=video 30000 RTP/AVP 112
   a=rtpmap:112 jxsv/90000
   a=fmtp:112 packetmode=0;sampling=YCbCr-4:2:2;
              width=1920;height=1080;depth=10;
              colorimetry=BT709;TCS=SDR;RANGE=FULL;TP=2110TPNL
       ]]></sourcecode>
        <t>
         In this example, a JPEG XS RTP stream is to be sent to UDP destination
         port 30000, with an RTP dynamic payload type of 112 and a media clock
         rate of 90000 Hz. Note that the "a=fmtp:" line has been wrapped to fit
         this page and will be a single long line in the SDP file. This example
         includes the TP parameter (as specified in <xref target="tsdt" format="default"/>).
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Usage with SDP Offer/Answer Model</name>
        <t>
         When JPEG XS is offered over RTP using <xref target="RFC3264" format="default">SDP in an
         offer/answer model</xref> for negotiation for unicast usage, the following
         limitations and rules apply:
        </t>
        <dl newline="false" spacing="normal">
          <dt/>
          <dd>
             The "a=fmtp" attribute <bcp14>SHALL</bcp14> be present specifying the required
             parameter "packetmode" and <bcp14>MAY</bcp14> specify any of the
             optional parameters, as described in <xref target="media_type_def" format="default"/>.
           </dd>
          <dt/>
          <dd>
             All parameters in the "a=fmtp" attribute indicate sending capabilities (i.e., properties of the payload).
           </dd>
          <dt/>
          <dd>
             An answerer of the SDP is required to support all parameters and
             values of the parameters provided by the offerer; otherwise, the
             answerer <bcp14>SHALL</bcp14> reject the session. It falls on the
             offerer to use values that are expected to be supported by the
             answerer. If the answerer accepts the session, it
             <bcp14>SHALL</bcp14> reply with the exact same parameters values
             in the "a=fmtp" attribute as it was offered.
           </dd>
<!-- [rfced] In the following sentence, should "parameters values" be
     "parameter values"? Also, should "as it was offered" be "that it
     was offered"?

Original:
   If the answerer accepts the session, it SHALL reply with the exact
   same parameters values in the "a=fmtp" attribute as it was offered.

Perhaps:
   If the answerer accepts the session, it SHALL reply with the exact
   same parameter values in the "a=fmtp" attribute that it was offered.

Or perhaps:
   If the answerer accepts the session, it SHALL reply with the exact
   same parameter values in the "a=fmtp" attribute as they were
   initially offered.
-->

          <dt/>
          <dd>
             The same RTP payload type number used in the offer
             <bcp14>SHOULD</bcp14> be used in the answer, as specified in
             <xref target="RFC3264" format="default"/>.
           </dd>
        </dl>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>
       IANA has registered the media type registration "video/jxsv"
       as specified in <xref target="media_type_def" format="default"/>.  The
       media type has also been added to the IANA registry for "RTP
       Payload Format Media Types" <eref brackets ="angle"
       target="https://www.iana.org/assignments/rtp-parameters"/>.

      </t>
    </section>
    <section anchor="security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
       RTP packets using the payload format defined in this memo
       are subject to the security considerations discussed in <xref target="RFC3550" format="default"/>
       and in any applicable RTP profile such as <xref target="RFC3551" format="default">RTP/AVP</xref>,
       <xref target="RFC4585" format="default">RTP/AVPF</xref>,
       <xref target="RFC3711" format="default">RTP/SAVP</xref>, or
       <xref target="RFC5124" format="default">RTP/SAVPF</xref>. This implies
       that confidentiality of the media streams is achieved by encryption.
      </t>
      <t>
       However, as <xref target="RFC7202" format="default">"Securing the RTP Framework: Why RTP
       Does Not Mandate a Single Media Security Solution"</xref>
       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 on anyone using RTP in an
       application. They can find guidance on available security mechanisms
       and important considerations in
       <xref target="RFC7201" format="default">"Options for Securing RTP Sessions"</xref>.
       Applications <bcp14>SHOULD</bcp14> use one or more appropriate strong
       security mechanisms.
      </t>
      <t>
       Implementations of this RTP payload format need to take appropriate
       security considerations into account.  It is important for the decoder
       to be robust against malicious or malformed payloads and	ensure that
       they do not cause the decoder to overrun its allocated memory or otherwise
       misbehave. An overrun in allocated memory could lead to arbitrary code
       execution by an attacker. The same applies to the encoder, even though
       problems in encoders are typically rarer.
      </t>
      <t>
       This payload format and the JPEG XS encoding do not exhibit any
       substantial non-uniformity, either in output or in complexity to perform
       the decoding operation; thus, they are unlikely to pose a denial-of-service
       threat due to the receipt of pathological datagrams.
      </t>
      <t>
       This payload format and the JPEG XS encoding do not contain code that is executable.
      </t>
      <t>
<!--[rfced] Is it possible to rephrase this text to avoid hyphenation
     issues and expand the abbreviation?


Original: 
It is important to note that HD or UHDTV JPEG XS-encoded
video can...

Perhaps:
It is important to note that HD or Ultra-High-Definition Television
(UHDTV) video that is JPEG XS encoded can...

-->
	
       It is important to note that HD or UHDTV JPEG XS-encoded video can have
       significant bandwidth requirements (typically more than 1 Gbps for
       ultra-high-definition video, especially if using high framerate).
       This is sufficient to cause potential for denial of service if
       transmitted onto most currently available Internet paths.
      </t>
      <t>
       Accordingly, if best-effort service is being used, users of this
       payload format <bcp14>SHALL</bcp14> monitor packet loss to ensure that the packet
       loss rate is within acceptable parameters. 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
       the RTP flow is achieving. This condition can be satisfied by
       implementing congestion control mechanisms to adapt the transmission
       rate (or the number of layers subscribed for a layered multicast
       session) or by arranging for a receiver to leave the session if the
       loss rate is unacceptably high.
      </t>
      <t>
       This payload format may also be used in networks that provide
       quality-of-service guarantees. If enhanced service is being used,
       receivers <bcp14>SHOULD</bcp14> monitor packet loss to ensure that the service that
       was requested is actually being delivered. If it is not, then they
       <bcp14>SHOULD</bcp14> assume that they are receiving best-effort service and behave
       accordingly.
      </t>
    </section>

  </middle>

 

 <back>

   <references anchor="references">
      <name>References</name>
      <references>
        <name>Normative References</name>

	<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3264.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3550.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3551.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4855.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6838.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8083.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8085.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8866.xml"/>

        <reference anchor="ISO21122-1">
          <front>
            <title>
           Information technology - JPEG XS low-latency lightweight image coding
           system - Part 1: Core coding system
            </title>
            <author>
              <organization>International Organization for Standardization (ISO) -
           International Electrotechnical Commission (IEC)</organization>
            </author>
            <date/>
          </front>
          <seriesInfo name="ISO/IEC" value="IS 21122-1"/>
        </reference>

        <reference anchor="ISO21122-2">
          <front>
            <title>
           Information technology - JPEG XS low-latency lightweight image coding
           system - Part 2: Profiles and buffer models
            </title>
            <author>
              <organization>International Organization for Standardization (ISO) -
           International Electrotechnical Commission (IEC)</organization>
            </author>
            <date/>
          </front>
          <seriesInfo name="ISO/IEC" value="IS 21122-2"/>
        </reference>

        <reference anchor="ISO21122-3">
          <front>
            <title>
           Information technology - JPEG XS low-latency lightweight image coding
           system - Part 3: Transport and container formats
            </title>
            <author>
              <organization>International Organization for Standardization (ISO) -
           International Electrotechnical Commission (IEC)</organization>
            </author>
            <date/>
          </front>
          <seriesInfo name="ISO/IEC" value="IS 21122-3"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3711.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4175.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4585.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5124.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7201.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7202.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8888.xml"/>

        <reference anchor="SMPTE-ST2110-21" target="https://doi.org/10.5594/SMPTE.ST2110-21.2017">
          <front>
            <title>
           SMPTE Standard - Professional Media Over Managed IP Networks: Traffic Shaping and Delivery Timing for Video
            </title>
            <author>
              <organization>Society of Motion Picture and Television Engineers</organization>
            </author>
            <date year="2017" month="November"/>
          </front>
          <seriesInfo name="SMPTE" value="ST 2110-21:2017"/>
        </reference>
      </references>
    </references>

    <section numbered="false" toc="default">
      <name>Acknowledgments</name>
      <t>
       The authors would like to thank the following people for their
       valuable contributions to this memo: <contact fullname="Arnaud Germain"/>,
       <contact fullname="Alexandre Willeme"/>, <contact fullname="Gael Rouvroy"/>, <contact fullname="Siegfried Foessel"/>, and <contact fullname="Jean-Baptise Lorent"/>.
      </t>
    </section>

  </back>

<!-- [rfced] Terminology

The following terms are inconsistent throughout this document. We have
implemented the term on the right. Please let us know of any
oppositiion.

a. Key signal vs. key signal

b. Media Type Parameter sampling vs. Media Type Parameter "sampling"  
-->

<!-- [rfced] Please review the "Inclusive Language" portion of the
     online Style Guide
     <https://www.rfc-editor.org/styleguide/part2/#inclusive_language>
     and let us know if any changes are needed.

For example, please consider whether the following should be updated:

"White space"
-->



</rfc>
