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

<!DOCTYPE rfc SYSTEM "rfc2629.dtd">

<rfc category="std" updates="3984" ipr="full3978" docName="draft-ietf-avt-rtp-h264-params-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="New H.264 RTP parameters">Parameters for Static Macroblocks and Aspect Ratio in the RTP Payload Format for H.264 Video</title>


  <author initials="T.K." surname="Kristensen" fullname="Tom Kristensen" role="editor">
   <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>

  <author initials="R.E." surname="Even" fullname="Roni Even">
   <organization>Polycom</organization>
   <address>
    <postal>
     <street>94 Derech Em Hamoshavot</street>
     <city>Petach Tikva 49130</city>
     <country>Israel</country>
    </postal>
    <email>roni.even@polycom.co.il</email>
    <uri>http://www.polycom.com</uri>
   </address>
  </author>


  <date year="2008"/>


  <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>
  <keyword>media type</keyword>


  <abstract>
   <t>This document updates RFC 3984. It defines new optional parameters addressing recent extensions currently supported in H.323 systems: The signalling of the maximum rate of static macroblocks a decoder is able to process. The signalling of the sample aspect ratio supported by the sender or the receiver.</t>
  </abstract>
 </front>


 <middle>
  <section anchor="intro" title="Introduction and Overview">
   <t>The ITU-T H.264 <xref target="ITU.H264.2005"/> codec and the extended video procedures and control signals for H.300 series terminals in ITU-T H.241 <xref target="ITU.H241.2006"/>, 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"/>. This document describes new parameters used to signal maximal number of static macroblocks per second and the sample aspect ratio of the H.264 video stream.</t>
   <t>The new parameters are already defined in the latest version of H.241 <xref target="ITU.H241.2006"/>. This proposal defines media type parameters for them and allows their use in SDP based systems.</t>

  <section anchor="smbpsintro" title="Static macroblocks">
   <t>Running H.264 encode and decode operations require large amounts of video processing power. The challenge being to sustain high frame rate (e.g. 30 frames/sec) with the large frame sizes that stems from recent demand for HD resolution. In practice, a certain amount of macroblocks in the video stream, which do not change in a frame, can be defined as static and, this way, free up additional processing cycles for the handling of non-static macroblocks.</t>
   <t>Based on a given amount of video processing resources and a given resolution, a higher number of static macroblocks enables a correspondingly higher frame rate. A new parameter MaxStaticMBPS (maximum static macroblocks per second) was introduced in H.241 to address this issue.     The MaxStaticMBPS parameter is specified in Section 8.3.2.8 of H.241 <xref target="ITU.H241.2006"/>.</t>
  </section>

  <section anchor="sarintro" title="Sample aspect ratio">
   <t>Sample Aspect Ratio (SAR) is the intended ratio of the horizontal distance between the columns to the vertical distance between the rows of the luma sample array in a frame. SAR is expressed as h:v, where h is horizontal width and v is vertical height (in arbitrary units of spatial distance). A sample is an individual luma picture element ("pixel") making up the complete displayed image (including both fields in the case of interlaced-scan video).    For example, the sample aspect ratio for a CIF picture with a 4:3 Picture Aspect Ratio (PAR) is 12:11. For a CIF picture with a 16:9 PAR, the sample aspect ratio is 16:11.</t>
   <t>All systems which send H.264 video should indicate the sample aspect ratio in the VUI parameters specified in Annex E of H.264  <xref target="ITU.H264.2005"/>. </t>
   <t>In the absence of a H.264 VUI parameter aspect_ratio_idc value in the received H.264 bitstream, and in the case of an aspect_ratio_idc value equal to 0, the sample aspect ratio may be assumed to have a value according to Table 1b in H.241 <xref target="ITU.H241.2006"/>. </t>
   <t>This draft enables the receiver to indicate what sample aspect ratio it can support without distortion. This may help an encoder to support the different monitors being used today, which support different PAR such as 4:3 and 16:9.</t>
  </section>
  </section>

  <section title="Requirements notation">  <!-- Or "Conventions, Definitions and Acronyms" as in draft-ietf-avt-rtp-howto. Change if we add other acronyms/defs here. -->
   <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="formatparam" title="Payload Format Parameters">
    <t>The optional H264 media subtype parameters max-smbps, sar and esar specified below comes in addition to the list of optional H264 media subtype parameters defined in Section 8.1 of RFC 3984 <xref target="RFC3984"/>. </t>

   <section anchor="registration" title="Media Type Registration">
    <t>New optional parameters:</t>

    <t><list style="hanging">
      <t hangText="max-smbps:">The value of max-smbps is an integer indicating the maximum static macroblock processing rate in units of static macroblocks per second, under the hypothetical assumption that all macroblocks are static macroblocks. 
When max-smbps is signalled the MaxMBPS value in Table A-1 of H.264 <xref target="ITU.H264.2005"/> should be replaced with the result of the following computation:</t>
      <t><list style="numbers">
       <t>If the parameter max-mbps is signalled, set a variable MaxMacroblocksPerSecond to the value of max-mbps. Otherwise, set MaxMacroblocksPerSecond equal to the value of MaxMBPS for the level in Table A-1 of H.264 <xref target="ITU.H264.2005"/>.</t>
       <t>Set a variable P_non-static to the proportion of non-static macroblocks in picture n.</t>
       <t>Set a variable P_static to the proportion of static macroblocks in picture n.

<!-- tki hack for keeping formula on same page -->
<vspace blankLines="100"/>

       </t>
       <t>The value of MaxMBPS in Table A-1 of H.264 <xref target="ITU.H264.2005"/> should be considered by the encoder to be equal to: 
           <figure><artwork><![CDATA[
                               1 
           -----------------------------------------
                   P_non-static          P_static
            ------------------------- + -----------
             MaxMacroblocksPerSecond     max-smbps
           ]]></artwork></figure>
      The encoder should recompute this value for each picture.</t>
      </list></t>
      <t></t>
      <t>The value of max-smbps MUST be greater than the value of MaxMBPS for the level given in Table A-1 of H.264 <xref target="ITU.H264.2005"/>.   Senders MAY use this knowledge to send pictures of a given size at a higher picture rate than is indicated in the signalled level.</t>
      <t></t>
      <t hangText="sar:">The value of this parameter is an integer that indicates support of sample aspect ratios corresponding to H.264 aspect_ratio_idc values in the range from 1 to N inclusive, where N is the value of this parameter (see Table E-1 of H.264  <xref target="ITU.H264.2005"/>).</t>
      <t></t>
      <t hangText="esar:">The value of this parameter is 1 or 0. 1 indicates support for all sample aspect ratios which are expressible using the H.264 aspect_ratio_idc value of 255 (Extended_SAR, see Table E-1 of H.264  <xref target="ITU.H264.2005"/>). If the parameter does not exist, its value is 0.</t>
    </list></t>
   </section>
   </section>


   <section title="SDP Parameters">
   <section title="Mapping of the optional parameters to SDP">
    <t>The optional parameters max-smbps, sar and esar when present, MUST be included in the "a=fmtp" line of SDP. These parameters are expressed as a media type string, in the form of a semicolon separated list of paremeter=value pairs.</t>
   </section>

   <section title="Usage with SDP offer/answer">
    <t>When H.264 is offered over RTP using SDP in an offer/answer exchange <xref target="RFC3264"/> for negotiation of unicast streams, the following limitations and rules applies:</t>
    <t>The optional parameter max-smbps is treated the same way as max-mbps, when used in both the SDP offer/answer model <xref target="RFC3264"/> and declarative session descriptions. Its interpretation depends on the direction attribute. When the direction attribute is sendonly, then the parameters describe the limits of the RTP packets and the NAL unit stream that the sender is capable of producing. When the direction attribute is sendrecv or recvonly, the parameters describe the limitations of what the receiver accepts. The profile-level-id parameter MUST be present in the same receiver capability description that contains this parameter.</t>
    <t>The interpretation of the optional parameter sar depends on the direction attribute. When the direction attribute is sendonly, then it indicates the range of sample aspect ratios the stream will contain. When the direction attribute is sendrecv or recvonly, the value of this parameter indicates the range of sample ratios that the receiver is able to display without geometric (shape) distortion. The receiver shall still display pictures encoded at other sample aspect ratios (though perhaps with geometric distortion).</t>
    <t>H.264 compliant encoders should choose to send a SAR which can be displayed without geometric distortion. However, H.264 compliant encoders may choose to send pictures using any SAR.</t>
    <t>The optional parameter esar is a receiver capability that permits a terminal to signal additional abilities to display any decoded video expressible using the H.264 aspect_ratio_idc value of 255 (Extended_SAR, see Table E-1 of H.264  <xref target="ITU.H264.2005"/>). The actual extended aspect ratio is conveyed using H.264 VUI.</t>
   </section>

   <section title="Examples">
    <t>TBD</t>
   </section>
  </section>



  <section title="IANA Considerations">
   <t>This draft updates RFC 3984 by adding three new optional parameters to the H264 media subtype. The parameters are specified in Section <xref target="formatparam"/> of this document.</t>
  </section>

  <section title="Security Considerations">
   <t>No separate considerations introduced in this document. Refer to section 9 of RFC 3984 <xref target="RFC3984"/>.</t>
  </section>
 </middle>


 <back>
  <references title="Normative References">
<!-- references included verbatim in total below ------------------------------------>
<reference anchor='RFC2119'>
<front>
<title abbrev='RFC Key Words'>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='S.' surname='Bradner' fullname='Scott Bradner'>
<organization>Harvard University</organization>
<address>
<postal>
<street>1350 Mass. Ave.</street>
<street>Cambridge</street>
<street>MA 02138</street></postal>
<phone>- +1 617 495 3864</phone>
<email>sob@harvard.edu</email></address></author>
<date year='1997' month='March' />
<area>General</area>
<keyword>keyword</keyword>
</front>
<seriesInfo name='BCP' value='14' />
<seriesInfo name='RFC' value='2119' />
<format type='TXT' octets='4723' target='ftp://ftp.isi.edu/in-notes/rfc2119.txt' />
<format type='HTML' octets='16553' target='http://xml.resource.org/public/rfc/html/rfc2119.html' />
<format type='XML' octets='5703' target='http://xml.resource.org/public/rfc/xml/rfc2119.xml' />
</reference>

<reference anchor='RFC3264'>
<front>
<title>An Offer/Answer Model with Session Description Protocol (SDP)</title>
<author initials='J.' surname='Rosenberg' fullname='J. Rosenberg'>
<organization /></author>
<author initials='H.' surname='Schulzrinne' fullname='H. Schulzrinne'>
<organization /></author>
<date year='2002' month='June' />
</front>
<seriesInfo name='RFC' value='3264' />
<format type='TXT' octets='60854' target='ftp://ftp.isi.edu/in-notes/rfc3264.txt' />
</reference>

<reference anchor='RFC3984'>
<front>
<title>RTP Payload Format for H.264 Video</title>
<author initials='S.' surname='Wenger' fullname='S. Wenger'>
<organization /></author>
<author initials='M.M.' surname='Hannuksela' fullname='M.M. Hannuksela'>
<organization /></author>
<author initials='T.' surname='Stockhammer' fullname='T. Stockhammer'>
<organization /></author>
<author initials='M.' surname='Westerlund' fullname='M. Westerlund'>
<organization /></author>
<author initials='D.' surname='Singer' fullname='D. Singer'>
<organization /></author>
<date year='2005' month='February' />
</front>
<seriesInfo name='RFC' value='3984' />
<format type='TXT' octets='205093' target='ftp://ftp.isi.edu/in-notes/rfc3984.txt' />
</reference>

<reference anchor="ITU.H264.2005">
<front>
<title>Advanced video coding for generic audiovisual services</title>
<author>
<organization>International Telecommunications Union</organization>
</author>
<date month="March" year="2005" />
</front>
<seriesInfo name="ITU-T" value="Recommendation H.264" />
</reference>

<reference anchor="ITU.H241.2006">
<front>
<title>Extended video procedures and control signals for H.300-series terminals</title>
<author>
<organization>International Telecommunications Union</organization>
</author>
<date month="May" year="2006" />
</front>
<seriesInfo name="ITU-T" value="Recommendation H.241" />
</reference>

  </references>

  <section title="Change Log">
    <t>draft-kristensen-avt-rtp-h264-params-00:</t>
      <t>- 2007-06-19: Based on static macroblocks part of draft-kristensen-avt-rtp-h264-extension-00, restructured. Added sample aspect ratio parameter from H.241.</t>

    <t>draft-ietf-avt-rtp-h264-params-00:</t>
      <t>- 2007-06-30: Editorial changes. Input from G. Sullivan's review considered.</t>
      <t>- 2007-07-01: Better descriptions, tightened text. Introduced the term PAR to explicitly distuingish it from SAR.</t>

    <t>draft-ietf-avt-rtp-h264-params-00 to -01:</t>
      <t>- 2007-07-03: Moved requirement/acronyms sections to after Introduction.</t>
      <t>- 2008-01-30: Mainly a keep-alive-submission. Adding missing PAR for the first example with 12:11 SAR in Section 2.2.</t>
  </section>

  </back>
</rfc>
