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

<!DOCTYPE rfc SYSTEM "rfc2629.dtd">

<rfc category="std" ipr="full3978" docName="draft-ietf-avt-rtp-h264-rcdo-01">


<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<?rfc symrefs="no" ?>
<?rfc sortrefs="yes"?>
<?rfc strict="yes" ?>
<?rfc compact="yes" ?>
<?rfc toc="yes" ?>


 <front>
  <title abbrev="H.264 RCDO RTP Payload">RTP Payload Format for H.264 RCDO Video</title>

  <author initials="T.K." surname="Kristensen" fullname="Tom Kristensen">
   <organization>TANDBERG</organization>
   <address>
    <postal>
     <street>Philip Pedersens vei 22</street>
     <city>N-1366 Lysaker</city> 
     <country>Norway</country>
    </postal>
    <phone>+47 67125125</phone>
    <email>tom.kristensen@tandberg.com, tomkri@ifi.uio.no</email>
    <uri>http://www.tandberg.com</uri>
   </address>
  </author>

  <date/>

  <area>Real-time Applications and Infrastructure Area</area>
  <workgroup>Audio/Video Transport WG</workgroup>
  <keyword>I-D</keyword>
  <keyword>Internet-Draft</keyword>
  <keyword>H.264</keyword>
  <keyword>H.241</keyword>
  <keyword>RTP</keyword>
  <keyword>Video</keyword>
  <keyword>SDP</keyword>

  <abstract>
   <t>This memo describes an RTP Payload format for the Reduced-Complexity Decoding Operation (RCDO) for H.264 Baseline profile bitstreams, as specified in H.241. RCDO reduces the decoding cost and resource consumption of the video processing. The RTP Payload format is based on the description in RFC 3984. </t>
  </abstract>
 </front>


 <middle>
  <section anchor="intro" title="Introduction">
   <t>The Reduced-Complexity Decoding Operation (RCDO) for H.264 offers a solution to support higher resolutions at the same high framerates used in current implementations, but with reduced processing requirements, compared to today's needs. This is achieved by reducing the complexity and thus the decoding cost/resource consumption of the video processing.</t>
   <t>ITU-T H.264 <xref target="ITU.H264.2005"/> and ITU-T H.241 <xref target="ITU.H241.2006"/>, its associated video procedures and signalling recommendation, continue to evolve. The IETF RTP payload formats and parameters need to be updated to include important new functionalities not covered in RFC 3984 <xref target="RFC3984"/>. The RCDO approach is already addressed in the latest version of H.241 <xref target="ITU.H241.2006"/>. This proposal defines media type parameters, a new H.264 media subtype for RCDO and allows use in SDP.</t>
  <!-- Usikker på om jeg virkelig, egentlig vil inkludere så mye verbatim?!  ;-)   
   <t><list style="empty">
    <t>Editorial note: This memo refers to RFC 3984 <xref target="RFC3984"/> content in several sections. As the H264-RCDO RTP Payload format description (probably) should be a self-contained in one document, some text will be included verbatim from RFC 3984 in a later phase and thus reduce the number of references to RFC 3984 from this document.</t> 
   </list></t>
  -->
  </section>


  <section title="Conventions, Definitions and Acronyms">
   <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target="RFC2119"/>.</t>
  </section>


  <section anchor="mfback" title="Media Format Background">
   <t>The Reduced-Complexity Decoding Operation (RCDO) for H.264 Baseline profile bitstreams is specified in Annex B of H.241 <xref target="ITU.H241.2006"/>. RCDO is specified as a separate H.264 mode, and is distinct from any profile defined in H.264.  An RCDO bitstream obey to all the constraints of the Baseline profile. </t>

   <t>The media format is based on the H.264 RTP Payload format as specified in RFC 3984 <xref target="RFC3984"/>. Therefore, RFC 3984 is referred to several times in this memo.</t>
   <t>In order to signal H.264 additional modes the parameter AdditionalModesSupported is specified in Table 9f of H.241 <xref target="ITU.H241.2006"/>. Currently, the only mode defined is RCDO. </t>
     <t><list style="empty">
      <t>Informational note: Other additional modes may be defined in the future. However, as H.264 additional modes may or may not be distinct from the Profiles in H.264 - these modes would require separate extensions to RFC 3984 <xref target="RFC3984"/>.</t>
     </list></t>
   <t>To maintain backward compatibility with existing H.264 implementations, this memo proposes a separate media subtype for RCDO named H264-RCDO. </t>
  </section>


  <section anchor="pf" title="Payload Format">
   <t>Section 5 of RFC 3984 <xref target="RFC3984"/> applies.</t>

   <section title="RTP Header Usage">
    <t><list style="empty">
     <t>Editorial note: Refer to RFC 3984 or include verbatim/sligthly modified version from Section 5 of RFC 3984 <xref target="RFC3984"/> in final version.</t> 
    </list></t>
   </section>

   <section title="Payload Header">
    <t><list style="empty">
     <t>Editorial note: Refer to RFC 3984 or include verbatim/sligthly modified version from Section 5 of RFC 3984 <xref target="RFC3984"/> in final version.</t> 
    </list></t>
   </section>
  </section>


  <section title="Payload Examples">
   <t>TBD or refer to RFC3984.</t>
  </section>


  <section title="Congestion Control Considerations">
   <!-- Initial text from rtp-howto -->   
   <t>Congestion control for RTP SHALL be used in accordance with RFC 3550 <xref target="RFC3550"/>, and with any applicable RTP profile; e.g., RFC 3551 <xref target="RFC3551"/>.  An additional requirement if best-effort service is being used is: users of this payload format MUST monitor packet loss to ensure that the packet loss rate is within acceptable parameters. </t>
  </section>

  
  <section title="Payload Format Parameters">
   <t>This RTP payload format is identified using the H264-RCDO media type which is registered in accordance with RFC 4855 <xref target="RFC4855"/> and using the template of RFC 4288 <xref target="RFC4288"/>.</t>

   <section anchor="mtd" title="Media Type Definition">
    <t><list style="empty">
     <t>Editorial note: For now we describe the changes and differences to the H264 media type. Copy unchanged parts verbatim from RFC 3984 in the final version and for IANA registration.</t>
    </list></t>

    <t>The media subtype for the ITU-T H.264 | ISO/IEC 14496-10 codec is allocated from the IETF tree.</t>
    <t>The receiver MUST ignore any unspecified parameter.</t>

    <t></t>
    <t>Type name:     video</t>

    <t>Subtype name:  H264-RCDO</t>

    <t>Required parameters:</t>
     <t><list style="hanging">
      <t hangText="rate:">Indicates the RTP timestamp clock rate. The rate value MUST be 90000.</t>
     </list></t>

    <t>Optional parameters: </t>
    <t>The optional media type parameters specified in RFC 3984 <xref target="RFC3984"/> apply, with the following constraints:</t>
    <t><list style="hanging">
      <t hangText="profile-level-id:">RCDO is distinct from any profile, this implies that the profile value 0 (no profile) and the profile_idc byte of the profile-level-id parameter are equal to 0. An RCDO bitstream MUST obey to all the constraints of the Baseline profile. Therefore, only constraint_set0_flag is equal to 1 in the profile-iop part of the profile-level-id parameter, the remaining bits are set to 0.</t>
       <t></t>
      <t>For example, if a codec supports level 2.1, the profile-level-id becomes 00800d, in which 00 indicates the "no profile" value, 80 indicates the constraints of the Baseline profile and 0d indicates level 1.3. When level 2.1 is supported, the profile-level-id becomes 008015.</t>
      <t></t>
      <t>If no profile-level-id is present, level 1 MUST be implied, i.e. equivalent to profile-level-id 00800a.</t>
    </list></t>
      <t></t>

    <t><list style="hanging">
     <t hangText="Encoding considerations:">This type is only defined for transfer via RTP (RFC 3550).</t>
    </list></t>

    <t><list style="hanging">
      <t hangText="Security considerations:">See section X of RFC YYYY. (TBD. Update when this memo becomes an RFC)</t>
    </list></t>

    <t><list style="hanging">
      <t hangText="Interoperability considerations:">None</t>
    </list></t>

    <t><list style="hanging">
      <t hangText="Published specification:"> (TBD. Update when this memo becomes an RFC. Also refer to H.264 and H.241 in an IANA way.)</t>
    </list></t>

    <t><list style="hanging">
      <t hangText="Applications that use this media type:">None</t>
    </list></t>

    <t><list style="hanging">
      <t hangText="Additional information:">None</t>
    </list></t>

    <t><list style="hanging">
      <t hangText="Magic number(s):">None</t>
    </list></t>

    <t><list style="hanging">
      <t hangText="File extension(s):">None</t>
    </list></t>

    <t><list style="hanging">
      <t hangText="Macintosh file type code(s):">None</t>
    </list></t>

    <t><list style="hanging">
      <t hangText="Person & email address to contact for further information:"></t>
      <t>Tom Kristensen &lt;tom.kristensen@tandberg.com&gt;</t>
    </list></t>

    <t><list style="hanging">
      <t hangText="Intended usage:">COMMON</t>
    </list></t>

    <t><list style="hanging">
      <t hangText="Restrictions on usage:">This media type depends on RTP framing, and hence is only defined for transfer via RTP, ref RFC3550. Transport within other framing protocols is not defined at this time.</t>
    </list></t>

    <t><list style="hanging">
      <t hangText="Author:">Tom Kristensen</t>
    </list></t>

    <t><list style="hanging">
      <t hangText="Change controller:">IETF Audio/Video Transport working group delegated from the IESG.</t>
    </list></t>

    <!-- Any additional information/comments may be included here at bottom. -->
   </section>
  </section>

  <section title="Mapping to SDP">
   <t>The mapping of the above defined payload format media type and its parameters SHALL be done according to Section 3 of RFC 4855 <xref target="RFC4855"/>.</t>

   <t>An example of media representation of a level 2 bitstream is as follows:</t>
   <t><list style="empty">
     <t>m=video 54321 RTP/AVP 101</t>
     <t>a=rtpmap:101 H264-RCDO/90000</t>
     <t>a=fmtp:101 profile-level-id=008014;max-mbps=60000</t>
   </list></t>

   <section title="Offer/Answer Considerations">
    <t>When H264-RCDO is offered over RTP using SDP in an Offer/Answer model <xref target="RFC3264"/> for unicast and multicast usage, the limitations and rules described in Section 8.2.2 of RFC 3984 <xref target="RFC3984"/> apply. Note that the H264-RCDO profile-level-id parameter can only take the value 0 (no profile) for the profile part.</t>
   </section>

   <section title="Declarative SDP Considerations">
    <t>When H264-RCDO over RTP is offered with SDP in a declarative style, as in
   RTSP <xref target="RFC2326"/> or SAP <xref target="RFC2974"/>, the considerations in Section 8.2.3 of RFC 3984 <xref target="RFC3984"/> apply. Note that the H264-RCDO profile-level-id parameter can only take the value 0 (no profile) for the profile part.</t>
   </section>
  </section>


  <section title="IANA Considerations">
   <t>This memo requests that IANA registers H264-RCDO as specified in Section <xref target="mtd"/>.  The media type is also requested to be added to the IANA registry for "RTP Payload Format MIME types" (http://www.iana.org/assignments/rtp-parameters).</t>
  </section>


  <section title="Security Considerations">
   <!-- General text from draft-ietf-avt-rtp-howo-01 -->
   <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. The main security considerations for the RTP packet carrying the RTP payload format defined within this memo are confidentiality, integrity and source authenticity.  Confidentiality is achieved by encryption of the RTP payload.  Integrity of the RTP packets through suitable cryptographic integrity protection mechanism.  Cryptographic system may also allow the authentication of the source of the payload.  A suitable security mechanism for this RTP payload format should provide confidentiality, integrity protection and at least source authentication capable of determining if an RTP packet is from a member of the RTP session or not. </t>
   <t>Note that the appropriate mechanism to provide security to RTP and payloads following this memo may vary.  It is dependent on the application, the transport, and the signalling protocol employed. Therefore a single mechanism is not sufficient, although if suitable the usage of SRTP <xref target="RFC3711"/> is recommended.  Other mechanism that may be used are IPsec <xref target="RFC4301"/> and TLS <xref target="RFC4346"/> (RTP over TCP), but also other alternatives may exist. </t>
   <!-- Refer also to RFC3984's security considerations -->
   <t>Refer also to section 9 of RFC 3984 <xref target="RFC3984"/>, as no reasons for separate considerations are introduced in this document.</t>
  </section>


  <section title="Acknowledgements">
   <t>The RTP Payload Formats HOWTO <xref target="I-D.ietf-avt-rtp-howto"/> was used for guidance and proved helpful in the process.</t>
  </section>
 </middle>


 <back>
  <references title="Normative References">
   <?rfc include="reference.RFC.2119" ?>
   <?rfc include="reference.RFC.3264" ?>
   <?rfc include="reference.RFC.3984" ?>
   <?rfc include="reference.ITU.H264.2005" ?>
   <?rfc include="reference.ITU.H241.2006" ?>
   <?rfc include="reference.RFC.3550" ?>
   <?rfc include="reference.RFC.3551" ?>
   <?rfc include="reference.RFC.4855" ?>
  </references>

  <references title="Informative references">
   <?rfc include="reference.RFC.4288" ?>
   <?rfc include="reference.RFC.3711" ?>
   <?rfc include="reference.RFC.4301" ?>
   <?rfc include="reference.RFC.4346" ?>
   <?rfc include="reference.RFC.2326" ?>
   <?rfc include="reference.RFC.2974" ?>
   <?rfc include="reference.I-D.ietf-avt-rtp-howto" ?>
  </references>
 </back>


</rfc>
